mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
27594 lines
1.4 MiB
Plaintext
27594 lines
1.4 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_02774144 @ 0x2774144
|
|
void Gambit_fn_02774144(CPUState* cpu) {
|
|
L_02774144: ; // 0x2774144
|
|
/* 02774144 */ return;
|
|
}
|
|
|
|
// fn_02774148 @ 0x2774148
|
|
void Gambit_fn_02774148(CPUState* cpu) {
|
|
L_02774148: ; // 0x2774148
|
|
/* 02774148 */ return;
|
|
}
|
|
|
|
// fn_0277414C @ 0x277414c
|
|
void Gambit_fn_0277414C(CPUState* cpu) {
|
|
L_0277414C: ; // 0x277414c
|
|
/* 0277414C */ return;
|
|
}
|
|
|
|
// fn_02774150 @ 0x2774150
|
|
void Gambit_fn_02774150(CPUState* cpu) {
|
|
L_02774150: ; // 0x2774150
|
|
/* 02774150 */ return;
|
|
}
|
|
|
|
// fn_02774154 @ 0x2774154
|
|
void Gambit_fn_02774154(CPUState* cpu) {
|
|
L_02774154: ; // 0x2774154
|
|
/* 02774154 */ cpu->r[3] = 0x00000001u;
|
|
/* 02774158 */ return;
|
|
}
|
|
|
|
// fn_0277415C @ 0x277415c
|
|
void Gambit_fn_0277415C(CPUState* cpu) {
|
|
L_0277415C: ; // 0x277415c
|
|
/* 0277415C */ cpu->r[3] = 0x00000000u;
|
|
/* 02774160 */ return;
|
|
}
|
|
|
|
// fn_02774164 @ 0x2774164
|
|
void Gambit_fn_02774164(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02774164: ; // 0x2774164
|
|
/* 02774164 */ cpu->r[0] = cpu->lr;
|
|
/* 02774168 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774168 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774168 */ cpu->r[1] = _t0;
|
|
/* 0277416C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277416C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02774170 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774170 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02774174 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02774174 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02774178 */ cpu->r[4] = 0x00000000u;
|
|
/* 0277417C */ cpu->r[3] = cpu->r[31];
|
|
/* 02774180 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02774184 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02774184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277418C */ cpu->r[11] = 0x00000000u;
|
|
/* 02774190 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774190 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02774190 */ if (_t6) goto L_0277419C; else goto L_02774194;
|
|
L_02774194: ; // 0x2774194
|
|
/* 02774194 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02774194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774198 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02774198 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_0277419C: ; // 0x277419c
|
|
/* 0277419C */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 0277419C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027741A0 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 027741A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027741A4 */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027741A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027741A8 */ cpu->ctr = cpu->r[0];
|
|
/* 027741AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027741B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027741B4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027741B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027741B8 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 027741B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027741BC */ cpu->ctr = cpu->r[0];
|
|
/* 027741C0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027741C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027741C8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027741C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027741CC */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 027741CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027741D0 */ cpu->lr = cpu->r[0];
|
|
/* 027741D4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 027741D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027741D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027741DC */ return;
|
|
}
|
|
|
|
// fn_02774168 @ 0x2774168
|
|
void Gambit_fn_02774168(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02774168: ; // 0x2774168
|
|
/* 02774168 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774168 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774168 */ cpu->r[1] = _t0;
|
|
/* 0277416C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277416C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02774170 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774170 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02774174 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02774174 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02774178 */ cpu->r[4] = 0x00000000u;
|
|
/* 0277417C */ cpu->r[3] = cpu->r[31];
|
|
/* 02774180 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02774184 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02774184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277418C */ cpu->r[11] = 0x00000000u;
|
|
/* 02774190 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774190 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02774190 */ if (_t6) goto L_0277419C; else goto L_02774194;
|
|
L_02774194: ; // 0x2774194
|
|
/* 02774194 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02774194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774198 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02774198 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
L_0277419C: ; // 0x277419c
|
|
/* 0277419C */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 0277419C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027741A0 */ _t10 = cpu->r[3] + 0x00000088u;
|
|
/* 027741A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027741A4 */ _t11 = cpu->r[12] + 0x0000002Cu;
|
|
/* 027741A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027741A8 */ cpu->ctr = cpu->r[0];
|
|
/* 027741AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027741B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027741B4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027741B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027741B8 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 027741B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027741BC */ cpu->ctr = cpu->r[0];
|
|
/* 027741C0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027741C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027741C8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027741C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027741CC */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 027741CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027741D0 */ cpu->lr = cpu->r[0];
|
|
/* 027741D4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 027741D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027741D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027741DC */ return;
|
|
}
|
|
|
|
// fn_027741E0 @ 0x27741e0
|
|
void Gambit_fn_027741E0(CPUState* cpu) {
|
|
L_027741E0: ; // 0x27741e0
|
|
/* 027741E0 */ return;
|
|
}
|
|
|
|
// fn_027741F8 @ 0x27741f8
|
|
void Gambit_fn_027741F8(CPUState* cpu) {
|
|
L_027741F8: ; // 0x27741f8
|
|
/* 027741F8 */ cpu->r[3] = 0x10100000u;
|
|
/* 027741FC */ cpu->r[3] = cpu->r[3] + 0x00001CD4u;
|
|
/* 02774200 */ return;
|
|
}
|
|
|
|
// fn_02774204 @ 0x2774204
|
|
void Gambit_fn_02774204(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02774204: ; // 0x2774204
|
|
/* 02774204 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02774208 */ _t0 = cpu->r[9] + 0xFFFFED7Cu;
|
|
/* 02774208 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277420C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02774210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02774214 */ cpu->r[11] = cpu->r[11] + 0x00001344u;
|
|
/* 02774218 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774218 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02774218 */ if (_t2) goto L_0277421C; else goto L_02774234;
|
|
L_0277421C: ; // 0x277421c
|
|
/* 0277421C */ cpu->r[9] = 0x10100000u;
|
|
/* 02774220 */ cpu->r[0] = 0x00000001u;
|
|
/* 02774224 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02774228 */ cpu->r[9] = cpu->r[9] + 0x00001CC4u;
|
|
/* 0277422C */ _t3 = cpu->r[12] + 0xFFFFED7Cu;
|
|
/* 0277422C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774230 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02774230 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02774234: ; // 0x2774234
|
|
/* 02774234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02774238 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774238 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02774238 */ if (_t6) goto L_0277423C; else goto L_02774244;
|
|
L_0277423C: ; // 0x277423c
|
|
/* 0277423C */ cpu->r[3] = 0x00000001u;
|
|
/* 02774240 */ return;
|
|
L_02774244: ; // 0x2774244
|
|
/* 02774244 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02774248 */ _t7 = cpu->r[12] + 0xFFFFDB24u;
|
|
/* 02774248 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277424C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02774250 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02774254 */ cpu->r[12] = cpu->r[12] + 0xFFFFDB28u;
|
|
/* 02774258 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774258 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02774258 */ if (_t9) goto L_0277425C; else goto L_02774274;
|
|
L_0277425C: ; // 0x277425c
|
|
/* 0277425C */ cpu->r[11] = 0x10100000u;
|
|
/* 02774260 */ cpu->r[10] = 0x00000001u;
|
|
/* 02774264 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02774268 */ cpu->r[11] = cpu->r[11] + 0x00001CB4u;
|
|
/* 0277426C */ _t10 = cpu->r[9] + 0xFFFFDB24u;
|
|
/* 0277426C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02774270 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02774270 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02774274: ; // 0x2774274
|
|
/* 02774274 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02774278 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774278 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02774278 */ if (_t13) goto L_0277427C; else goto L_02774284;
|
|
L_0277427C: ; // 0x277427c
|
|
/* 0277427C */ cpu->r[0] = 0x00000001u;
|
|
/* 02774280 */ goto L_027742F8;
|
|
L_02774284: ; // 0x2774284
|
|
/* 02774284 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02774288 */ _t14 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02774288 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02774288 */ cpu->r[10] = _t14;
|
|
/* 0277428C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02774290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02774294 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4ECu;
|
|
/* 02774298 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774298 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02774298 */ if (_t16) goto L_0277429C; else goto L_027742B0;
|
|
L_0277429C: ; // 0x277429c
|
|
/* 0277429C */ cpu->r[9] = 0x10100000u;
|
|
/* 027742A0 */ cpu->r[0] = 0x00000001u;
|
|
/* 027742A4 */ cpu->r[9] = cpu->r[9] + 0x00001CA4u;
|
|
/* 027742A8 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 027742A8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027742AC */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 027742AC */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_027742B0: ; // 0x27742b0
|
|
/* 027742B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 027742B4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027742B4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027742B4 */ if (_t20) goto L_027742B8; else goto L_027742C0;
|
|
L_027742B8: ; // 0x27742b8
|
|
/* 027742B8 */ cpu->r[0] = 0x00000001u;
|
|
/* 027742BC */ goto L_027742F8;
|
|
L_027742C0: ; // 0x27742c0
|
|
/* 027742C0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027742C4 */ _t21 = cpu->r[9] + 0xFFFFD4E0u;
|
|
/* 027742C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027742C4 */ cpu->r[9] = _t21;
|
|
/* 027742C8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027742CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027742D0 */ cpu->r[12] = cpu->r[12] + 0xFFFFD4E4u;
|
|
/* 027742D4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027742D4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 027742D4 */ if (_t23) goto L_027742D8; else goto L_027742EC;
|
|
L_027742D8: ; // 0x27742d8
|
|
/* 027742D8 */ cpu->r[0] = 0x10100000u;
|
|
/* 027742DC */ cpu->r[11] = 0x00000001u;
|
|
/* 027742E0 */ cpu->r[0] = cpu->r[0] + 0x00001C04u;
|
|
/* 027742E4 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 027742E4 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 027742E8 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 027742E8 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_027742EC: ; // 0x27742ec
|
|
/* 027742EC */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 027742F0 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 027742F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_027742F8: ; // 0x27742f8
|
|
/* 027742F8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027742FC */ return;
|
|
}
|
|
|
|
// fn_0277430C @ 0x277430c
|
|
void Gambit_fn_0277430C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0277430C: ; // 0x277430c
|
|
/* 0277430C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0277430C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277430C */ cpu->r[1] = _t0;
|
|
/* 02774310 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774310 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02774310 */ if (_t2) goto L_02774314; else goto L_02774324;
|
|
L_02774314: ; // 0x2774314
|
|
/* 02774314 */ cpu->r[3] = 0x00000008u;
|
|
/* 02774318 */ Gambit_fn_02801A78(cpu);
|
|
/* 0277431C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02774320 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774320 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02774320 */ if (_t4) goto L_02774330; else goto L_02774324;
|
|
L_02774324: ; // 0x2774324
|
|
/* 02774324 */ cpu->r[12] = 0x00000000u;
|
|
/* 02774328 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02774328 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0277432C */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 0277432C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
L_02774330: ; // 0x2774330
|
|
/* 02774330 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774330 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774334 */ cpu->lr = cpu->r[0];
|
|
/* 02774338 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0277433C */ return;
|
|
}
|
|
|
|
// fn_02774340 @ 0x2774340
|
|
void Gambit_fn_02774340(CPUState* cpu) {
|
|
L_02774340: ; // 0x2774340
|
|
/* 02774340 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02774344 */ cpu->r[3] = cpu->r[3] + 0x00001CB8u;
|
|
/* 02774348 */ return;
|
|
}
|
|
|
|
// fn_0277434C @ 0x277434c
|
|
void Gambit_fn_0277434C(CPUState* cpu) {
|
|
L_0277434C: ; // 0x277434c
|
|
/* 0277434C */ cpu->r[3] = 0x10100000u;
|
|
/* 02774350 */ cpu->r[3] = cpu->r[3] + 0x00001CE4u;
|
|
/* 02774354 */ return;
|
|
}
|
|
|
|
// fn_02774358 @ 0x2774358
|
|
void Gambit_fn_02774358(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02064F40: ; // 0x2064f40
|
|
/* 02064F40 */ cpu->r[0] = cpu->lr;
|
|
/* 02064F44 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02064F44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02064F44 */ cpu->r[1] = _t0;
|
|
/* 02064F48 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02064F48 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02064F4C */ cpu->r[31] = cpu->r[3];
|
|
/* 02064F50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02064F50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02064F54 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 02064F54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02064F58 */ cpu->r[12] = 0x00000000u;
|
|
/* 02064F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02064F60 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 02064F60 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02064F64 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02064F64 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02064F64 */ if (_t6) goto L_02064F8C; else goto L_02064F68;
|
|
L_02064F68: ; // 0x2064f68
|
|
/* 02064F68 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02064F68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02064F6C */ /* nop */
|
|
/* 02064F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02064F74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02064F74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02064F74 */ if (_t9) goto L_02064F78; else goto L_02064F8C;
|
|
L_02064F78: ; // 0x2064f78
|
|
/* 02064F78 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02064F78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02064F7C */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02064F7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02064F80 */ cpu->ctr = cpu->r[0];
|
|
/* 02064F84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02064F88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02064F8C: ; // 0x2064f8c
|
|
/* 02064F8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02064F90 */ Gambit_fn_02064EB8(cpu);
|
|
/* 02064F94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02064F98 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02064F9C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02064F9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02064FA0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02064FA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02064FA4 */ cpu->lr = cpu->r[0];
|
|
/* 02064FA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02064FAC */ return;
|
|
L_02774358: ; // 0x2774358
|
|
/* 02774358 */ cpu->r[3] = cpu->r[3] + 0x000001D0u;
|
|
/* 0277435C */ goto L_02064F40;
|
|
}
|
|
|
|
// fn_02774360 @ 0x2774360
|
|
void Gambit_fn_02774360(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02774360: ; // 0x2774360
|
|
/* 02774360 */ cpu->r[0] = cpu->lr;
|
|
/* 02774364 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02774364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774364 */ cpu->r[1] = _t0;
|
|
/* 02774368 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774368 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277436C */ cpu->r[31] = cpu->r[3];
|
|
/* 02774370 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774370 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02774374 */ _t3 = cpu->r[31] + 0x000001DEu;
|
|
/* 02774374 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02774378 */ cpu->r[3] = cpu->r[31] + 0x000001D0u;
|
|
/* 0277437C */ /* nop */
|
|
/* 02774380 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02774384 */ cpu->r[3] = cpu->r[31] + 0x000001D0u;
|
|
/* 02774388 */ Gambit_fn_02064E30(cpu);
|
|
/* 0277438C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0277438C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774390 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774390 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02774394 */ cpu->lr = cpu->r[0];
|
|
/* 02774398 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277439C */ return;
|
|
}
|
|
|
|
// fn_02774364 @ 0x2774364
|
|
void Gambit_fn_02774364(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02774364: ; // 0x2774364
|
|
/* 02774364 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02774364 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774364 */ cpu->r[1] = _t0;
|
|
/* 02774368 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774368 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277436C */ cpu->r[31] = cpu->r[3];
|
|
/* 02774370 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774370 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02774374 */ _t3 = cpu->r[31] + 0x000001DEu;
|
|
/* 02774374 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02774378 */ cpu->r[3] = cpu->r[31] + 0x000001D0u;
|
|
/* 0277437C */ /* nop */
|
|
/* 02774380 */ Gambit_fn_027FC35C(cpu);
|
|
/* 02774384 */ cpu->r[3] = cpu->r[31] + 0x000001D0u;
|
|
/* 02774388 */ Gambit_fn_02064E30(cpu);
|
|
/* 0277438C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0277438C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774390 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774390 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02774394 */ cpu->lr = cpu->r[0];
|
|
/* 02774398 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277439C */ return;
|
|
}
|
|
|
|
// fn_027743A0 @ 0x27743a0
|
|
void Gambit_fn_027743A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_027743A0: ; // 0x27743a0
|
|
/* 027743A0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 027743A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027743A0 */ cpu->r[1] = _t0;
|
|
/* 027743A4 */ /* nop */
|
|
/* 027743A8 */ cpu->r[0] = cpu->lr;
|
|
/* 027743AC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 027743AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027743B0 */ cpu->r[29] = cpu->r[6];
|
|
/* 027743B4 */ cpu->r[28] = cpu->r[3];
|
|
/* 027743B8 */ cpu->r[30] = cpu->r[5];
|
|
/* 027743BC */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 027743BC */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 027743C0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 027743C4 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 027743C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 027743C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027743CC */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 027743CC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 027743D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027743D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027743D0 */ if (_t6) goto L_02774414; else goto L_027743D4;
|
|
L_027743D4: ; // 0x27743d4
|
|
/* 027743D4 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 027743D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027743D8 */ Gambit_fn_02826F20(cpu);
|
|
/* 027743DC */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027743DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027743E0 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 027743E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027743E4 */ cpu->ctr = cpu->r[0];
|
|
/* 027743E8 */ cpu->r[5] = 0x00000004u;
|
|
/* 027743EC */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027743F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027743F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027743F8 */ cpu->r[0] = cpu->r[27];
|
|
/* 027743FC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027743FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 027743FC */ if (_t11) goto L_02774404; else goto L_02774400;
|
|
L_02774400: ; // 0x2774400
|
|
/* 02774400 */ cpu->r[0] = 0x00000001u;
|
|
L_02774404: ; // 0x2774404
|
|
/* 02774404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02774408 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774408 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02774408 */ if (_t13) goto L_02774414; else goto L_0277440C;
|
|
L_0277440C: ; // 0x277440c
|
|
/* 0277440C */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 0277440C */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02774410 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 02774410 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_02774414: ; // 0x2774414
|
|
/* 02774414 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 02774414 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02774418 */ cpu->r[0] = 0x00000000u;
|
|
/* 0277441C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02774420 */ cpu->r[12] = cpu->r[0];
|
|
/* 02774424 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02774424 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02774424 */ if (_t18) goto L_02774428; else goto L_0277444C;
|
|
L_02774428: ; // 0x2774428
|
|
/* 02774428 */ cpu->ctr = cpu->r[7];
|
|
/* 0277442C */ cpu->r[10] = 0x00000000u;
|
|
L_02774430: ; // 0x2774430
|
|
/* 02774430 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 02774430 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02774434 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 02774434 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02774438 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 0277443C */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 0277443C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02774440 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02774444 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 02774444 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 02774448 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02774448 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02774448 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02774448 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02774448 */ if (_t25) goto L_02774430; else goto L_0277444C;
|
|
L_0277444C: ; // 0x277444c
|
|
/* 0277444C */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0277444C */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02774450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02774454 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774454 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02774454 */ if (_t28) goto L_02774498; else goto L_02774458;
|
|
L_02774458: ; // 0x2774458
|
|
/* 02774458 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02774458 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0277445C */ Gambit_fn_02826F20(cpu);
|
|
/* 02774460 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02774460 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02774464 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 02774464 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02774468 */ cpu->ctr = cpu->r[0];
|
|
/* 0277446C */ cpu->r[5] = 0x00000004u;
|
|
/* 02774470 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02774474 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02774478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0277447C */ cpu->r[11] = cpu->r[27];
|
|
/* 02774480 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02774480 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02774480 */ if (_t33) goto L_02774488; else goto L_02774484;
|
|
L_02774484: ; // 0x2774484
|
|
/* 02774484 */ cpu->r[11] = 0x00000001u;
|
|
L_02774488: ; // 0x2774488
|
|
/* 02774488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277448C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277448C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0277448C */ if (_t35) goto L_02774498; else goto L_02774490;
|
|
L_02774490: ; // 0x2774490
|
|
/* 02774490 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02774490 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02774494 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02774494 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_02774498: ; // 0x2774498
|
|
/* 02774498 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 02774498 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0277449C */ cpu->r[0] = 0x00000000u;
|
|
/* 027744A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027744A4 */ cpu->r[12] = cpu->r[0];
|
|
/* 027744A8 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027744A8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 027744A8 */ if (_t40) goto L_027744AC; else goto L_027744D0;
|
|
L_027744AC: ; // 0x27744ac
|
|
/* 027744AC */ cpu->ctr = cpu->r[6];
|
|
/* 027744B0 */ cpu->r[9] = 0x00000000u;
|
|
L_027744B4: ; // 0x27744b4
|
|
/* 027744B4 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 027744B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027744B8 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 027744B8 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 027744BC */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 027744C0 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 027744C0 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 027744C4 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 027744C8 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 027744C8 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 027744CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027744CC */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027744CC */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 027744CC */ _t47 = _t46 & 0x00000001u;
|
|
/* 027744CC */ if (_t47) goto L_027744B4; else goto L_027744D0;
|
|
L_027744D0: ; // 0x27744d0
|
|
/* 027744D0 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 027744D0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 027744D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027744D8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027744D8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 027744D8 */ if (_t50) goto L_0277451C; else goto L_027744DC;
|
|
L_027744DC: ; // 0x27744dc
|
|
/* 027744DC */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 027744DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 027744E0 */ Gambit_fn_02826F20(cpu);
|
|
/* 027744E4 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027744E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 027744E8 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 027744E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 027744EC */ cpu->ctr = cpu->r[0];
|
|
/* 027744F0 */ cpu->r[5] = 0x00000004u;
|
|
/* 027744F4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027744F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027744FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02774500 */ cpu->r[10] = cpu->r[27];
|
|
/* 02774504 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02774504 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02774504 */ if (_t55) goto L_0277450C; else goto L_02774508;
|
|
L_02774508: ; // 0x2774508
|
|
/* 02774508 */ cpu->r[10] = 0x00000001u;
|
|
L_0277450C: ; // 0x277450c
|
|
/* 0277450C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02774510 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774510 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02774510 */ if (_t57) goto L_0277451C; else goto L_02774514;
|
|
L_02774514: ; // 0x2774514
|
|
/* 02774514 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 02774514 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 02774518 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 02774518 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_0277451C: ; // 0x277451c
|
|
/* 0277451C */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 0277451C */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02774520 */ cpu->r[0] = 0x00000000u;
|
|
/* 02774524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02774528 */ cpu->r[5] = cpu->r[0];
|
|
/* 0277452C */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277452C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0277452C */ if (_t62) goto L_02774530; else goto L_02774554;
|
|
L_02774530: ; // 0x2774530
|
|
/* 02774530 */ cpu->ctr = cpu->r[12];
|
|
/* 02774534 */ cpu->r[8] = 0x00000000u;
|
|
L_02774538: ; // 0x2774538
|
|
/* 02774538 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 02774538 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0277453C */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 0277453C */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 02774540 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 02774544 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 02774544 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 02774548 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 0277454C */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 0277454C */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 02774550 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02774550 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02774550 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02774550 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02774550 */ if (_t69) goto L_02774538; else goto L_02774554;
|
|
L_02774554: ; // 0x2774554
|
|
/* 02774554 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 02774554 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02774558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0277455C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277455C */ _t72 = _t71 & 0x00000001u;
|
|
/* 0277455C */ if (_t72) goto L_02774638; else goto L_02774560;
|
|
L_02774560: ; // 0x2774560
|
|
/* 02774560 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02774560 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02774564 */ Gambit_fn_02826F20(cpu);
|
|
/* 02774568 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02774568 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0277456C */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 0277456C */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02774570 */ cpu->ctr = cpu->r[12];
|
|
/* 02774574 */ cpu->r[5] = 0x00000004u;
|
|
/* 02774578 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 0277457C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02774580 */ cpu->r[24] = cpu->r[3];
|
|
/* 02774584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02774588 */ cpu->r[30] = cpu->r[25];
|
|
/* 0277458C */ cpu->r[7] = 0x00000000u;
|
|
/* 02774590 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02774590 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02774590 */ if (_t77) goto L_02774598; else goto L_02774594;
|
|
L_02774594: ; // 0x2774594
|
|
/* 02774594 */ cpu->r[30] = 0x00000001u;
|
|
L_02774598: ; // 0x2774598
|
|
/* 02774598 */ cpu->r[31] = 0x10110000u;
|
|
/* 0277459C */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 027745A0 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 027745A0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 027745A4 */ cpu->r[23] = 0x00000018u;
|
|
L_027745A8: ; // 0x27745a8
|
|
/* 027745A8 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 027745A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027745AC */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027745AC */ _t80 = _t79 & 0x00000001u;
|
|
/* 027745AC */ if (_t80) goto L_0277461C; else goto L_027745B0;
|
|
L_027745B0: ; // 0x27745b0
|
|
/* 027745B0 */ cpu->r[26] = cpu->r[27];
|
|
/* 027745B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027745B4 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027745B4 */ _t82 = _t81 & 0x00000001u;
|
|
/* 027745B4 */ if (_t82) goto L_027745B8; else goto L_027745C8;
|
|
L_027745B8: ; // 0x27745b8
|
|
/* 027745B8 */ cpu->r[3] = 0x00000024u;
|
|
/* 027745BC */ Gambit_fn_02801A78(cpu);
|
|
/* 027745C0 */ cpu->r[26] = cpu->r[3];
|
|
/* 027745C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 027745C4 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027745C4 */ _t84 = _t83 & 0x00000001u;
|
|
/* 027745C4 */ if (_t84) goto L_02774610; else goto L_027745C8;
|
|
L_027745C8: ; // 0x27745c8
|
|
/* 027745C8 */ cpu->r[11] = cpu->r[26];
|
|
/* 027745C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027745CC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027745CC */ _t86 = _t85 & 0x00000001u;
|
|
/* 027745CC */ if (_t86) goto L_027745D0; else goto L_027745E0;
|
|
L_027745D0: ; // 0x27745d0
|
|
/* 027745D0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027745D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027745D8 */ cpu->r[11] = cpu->r[3];
|
|
/* 027745D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027745DC */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027745DC */ _t88 = _t87 & 0x00000001u;
|
|
/* 027745DC */ if (_t88) goto L_027745FC; else goto L_027745E0;
|
|
L_027745E0: ; // 0x27745e0
|
|
/* 027745E0 */ cpu->r[5] = 0x10100000u;
|
|
/* 027745E4 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 027745E4 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 027745E8 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 027745EC */ cpu->r[5] = cpu->r[5] + 0x00001C2Cu;
|
|
/* 027745F0 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 027745F0 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 027745F4 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 027745F4 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 027745F8 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 027745F8 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_027745FC: ; // 0x27745fc
|
|
/* 027745FC */ cpu->r[6] = 0x10100000u;
|
|
/* 02774600 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 02774600 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02774604 */ cpu->r[6] = cpu->r[6] + 0x00001C74u;
|
|
/* 02774608 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 02774608 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 0277460C */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 0277460C */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_02774610: ; // 0x2774610
|
|
/* 02774610 */ cpu->r[0] = 0x10100000u;
|
|
/* 02774614 */ cpu->r[0] = cpu->r[0] + 0x00001C8Cu;
|
|
/* 02774618 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 02774618 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_0277461C: ; // 0x277461c
|
|
/* 0277461C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0277461C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02774620 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 02774624 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774624 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02774624 */ if (_t98) goto L_02774628; else goto L_027745A8;
|
|
L_02774628: ; // 0x2774628
|
|
/* 02774628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0277462C */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277462C */ _t100 = _t99 & 0x00000001u;
|
|
/* 0277462C */ if (_t100) goto L_02774638; else goto L_02774630;
|
|
L_02774630: ; // 0x2774630
|
|
/* 02774630 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 02774630 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 02774634 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 02774634 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_02774638: ; // 0x2774638
|
|
/* 02774638 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 02774638 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 0277463C */ /* nop */
|
|
/* 02774640 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 02774640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02774644 */ cpu->lr = cpu->r[0];
|
|
/* 02774648 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0277464C */ return;
|
|
}
|
|
|
|
// fn_02774650 @ 0x2774650
|
|
void Gambit_fn_02774650(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02774650: ; // 0x2774650
|
|
/* 02774650 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 02774650 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02774654 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 02774654 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02774658 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02774658 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0277465C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02774660 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02774660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02774664 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02774664 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02774664 */ if (_t5) goto L_02774668; else goto L_02774670;
|
|
L_02774668: ; // 0x2774668
|
|
/* 02774668 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0277466C */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_02774670: ; // 0x2774670
|
|
/* 02774670 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02774670 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02774674 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02774674 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774678 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02774678 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0277467C */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 0277467C */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02774680 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 02774680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774684 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02774688 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02774688 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277468C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277468C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0277468C */ if (_t13) goto L_02774690; else goto L_02774698;
|
|
L_02774690: ; // 0x2774690
|
|
/* 02774690 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02774694 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02774698: ; // 0x2774698
|
|
/* 02774698 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02774698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277469C */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 0277469C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027746A0 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 027746A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027746A4 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 027746A4 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 027746A8 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 027746A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 027746AC */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 027746AC */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 027746B0 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 027746B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027746B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 027746B8 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 027746B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027746BC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027746BC */ _t23 = _t22 & 0x00000001u;
|
|
/* 027746BC */ if (_t23) goto L_027746C0; else goto L_027746C8;
|
|
L_027746C0: ; // 0x27746c0
|
|
/* 027746C0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 027746C4 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_027746C8: ; // 0x27746c8
|
|
/* 027746C8 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 027746C8 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 027746CC */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 027746CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027746D0 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 027746D0 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 027746D4 */ return;
|
|
}
|
|
|
|
// fn_027746DC @ 0x27746dc
|
|
void Gambit_fn_027746DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_027746DC: ; // 0x27746dc
|
|
/* 027746DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027746DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027746DC */ cpu->r[1] = _t0;
|
|
/* 027746E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027746E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 027746E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 027746E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 027746E8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027746E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 027746EC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 027746EC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 027746F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027746F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027746F4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027746F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027746F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027746F8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027746F8 */ if (_t7) goto L_027746FC; else goto L_0277470C;
|
|
L_027746FC: ; // 0x27746fc
|
|
/* 027746FC */ cpu->r[3] = 0x00000238u;
|
|
/* 02774700 */ Gambit_fn_02801A78(cpu);
|
|
/* 02774704 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02774708 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774708 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02774708 */ if (_t9) goto L_027747C4; else goto L_0277470C;
|
|
L_0277470C: ; // 0x277470c
|
|
/* 0277470C */ cpu->r[5] = 0x00000000u;
|
|
/* 02774710 */ cpu->r[4] = 0x000000FFu;
|
|
/* 02774714 */ cpu->r[3] = cpu->r[31];
|
|
/* 02774718 */ Gambit_fn_02790BA4(cpu);
|
|
/* 0277471C */ cpu->r[12] = 0x10100000u;
|
|
/* 02774720 */ cpu->r[3] = cpu->r[31];
|
|
/* 02774724 */ cpu->r[4] = 0x00000000u;
|
|
/* 02774728 */ cpu->r[12] = cpu->r[12] + 0x000022D0u;
|
|
/* 0277472C */ cpu->r[5] = 0x00000002u;
|
|
/* 02774730 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02774730 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02774734 */ Gambit_fn_02774F0C(cpu);
|
|
/* 02774738 */ cpu->r[5] = 0x00000002u;
|
|
/* 0277473C */ cpu->r[4] = 0x00000001u;
|
|
/* 02774740 */ cpu->r[3] = cpu->r[31];
|
|
/* 02774744 */ Gambit_fn_02594AD8(cpu);
|
|
/* 02774748 */ cpu->r[29] = 0x101D0000u;
|
|
/* 0277474C */ cpu->r[28] = cpu->r[31] + 0x00000104u;
|
|
/* 02774750 */ _t11 = cpu->r[29] + 0xFFFF8E4Cu;
|
|
/* 02774750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02774754 */ _t12 = cpu->r[28] + cpu->r[0];
|
|
/* 02774754 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02774758 */ cpu->r[30] = 0x101C0000u;
|
|
/* 0277475C */ _t13 = cpu->r[30] + 0x00004424u;
|
|
/* 0277475C */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02774760 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02774764 */ _t14 = cpu->r[31] + 0x00000030u;
|
|
/* 02774764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02774768 */ _t15 = cpu->r[28] + cpu->r[6];
|
|
/* 02774768 */ cpu->r[11] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0277476C */ _t16 = cpu->r[7] + cpu->r[0];
|
|
/* 0277476C */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02774770 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02774774 */ _t17 = cpu->r[12] + cpu->r[0];
|
|
/* 02774774 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02774778 */ _t18 = cpu->r[9] + 0x00000004u;
|
|
/* 02774778 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0277477C */ _t19 = cpu->r[7] + 0x00000004u;
|
|
/* 0277477C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02774780 */ _t20 = cpu->r[10] + 0x00000000u;
|
|
/* 02774780 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02774784 */ _t21 = cpu->r[8] + 0x00000000u;
|
|
/* 02774784 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02774788 */ Gambit_fn_02772404(cpu);
|
|
/* 0277478C */ _t22 = cpu->r[30] + 0x00004424u;
|
|
/* 0277478C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02774790 */ _t23 = cpu->r[29] + 0xFFFF8E4Cu;
|
|
/* 02774790 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02774794 */ _t24 = cpu->r[28] + cpu->r[0];
|
|
/* 02774794 */ cpu->r[9] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02774798 */ _t25 = cpu->r[28] + cpu->r[10];
|
|
/* 02774798 */ cpu->r[6] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0277479C */ _t26 = cpu->r[31] + 0x00000030u;
|
|
/* 0277479C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027747A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027747A4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027747A8 */ _t27 = cpu->r[12] + cpu->r[0];
|
|
/* 027747A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027747AC */ _t28 = cpu->r[8] + cpu->r[0];
|
|
/* 027747AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027747B0 */ _t29 = cpu->r[6] + 0x00000004u;
|
|
/* 027747B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027747B4 */ _t30 = cpu->r[9] + 0x00000004u;
|
|
/* 027747B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027747B8 */ _t31 = cpu->r[7] + 0x00000004u;
|
|
/* 027747B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027747BC */ _t32 = cpu->r[10] + 0x00000004u;
|
|
/* 027747BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027747C0 */ Gambit_fn_02772404(cpu);
|
|
L_027747C4: ; // 0x27747c4
|
|
/* 027747C4 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 027747C4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027747C8 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027747C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027747CC */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027747CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027747D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027747D4 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 027747D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027747D8 */ cpu->lr = cpu->r[0];
|
|
/* 027747DC */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 027747DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027747E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027747E4 */ return;
|
|
}
|
|
|
|
// fn_027747E8 @ 0x27747e8
|
|
void Gambit_fn_027747E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027747E8: ; // 0x27747e8
|
|
/* 027747E8 */ cpu->r[0] = cpu->lr;
|
|
/* 027747EC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027747EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027747EC */ cpu->r[1] = _t0;
|
|
/* 027747F0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027747F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027747F4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027747F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027747F8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027747FC */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027747FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774800 */ _t4 = cpu->r[11] + 0xFFFF8E4Cu;
|
|
/* 02774800 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774804 */ cpu->r[30] = cpu->r[3] + 0x00000104u;
|
|
/* 02774808 */ _t5 = cpu->r[30] + cpu->r[11];
|
|
/* 02774808 */ cpu->r[4] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0277480C */ cpu->r[31] = cpu->r[3];
|
|
/* 02774810 */ Gambit_fn_02791444(cpu);
|
|
/* 02774814 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02774818 */ _t6 = cpu->r[12] + 0x00004424u;
|
|
/* 02774818 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277481C */ _t7 = cpu->r[30] + cpu->r[12];
|
|
/* 0277481C */ cpu->r[4] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02774820 */ cpu->r[3] = cpu->r[31];
|
|
/* 02774824 */ Gambit_fn_02791444(cpu);
|
|
/* 02774828 */ cpu->r[0] = 0x00000002u;
|
|
/* 0277482C */ cpu->r[9] = 0x10100000u;
|
|
/* 02774830 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02774830 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774834 */ _t9 = cpu->r[9] + 0x00002250u;
|
|
/* 02774834 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774838 */ cpu->r[9] = 0x00000004u;
|
|
/* 0277483C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774840 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02774840 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02774844 */ cpu->r[3] = cpu->r[31];
|
|
/* 02774848 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277484C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277484C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02774850 */ Gambit_fn_02791774(cpu);
|
|
/* 02774854 */ _t12 = cpu->r[31] + 0x00000230u;
|
|
/* 02774854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02774858 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 0277485C */ _t13 = cpu->r[31] + 0x00000230u;
|
|
/* 0277485C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02774860 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02774860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02774864 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02774864 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02774868 */ cpu->lr = cpu->r[0];
|
|
/* 0277486C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277486C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02774870 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02774874 */ return;
|
|
}
|
|
|
|
// fn_027747EC @ 0x27747ec
|
|
void Gambit_fn_027747EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027747EC: ; // 0x27747ec
|
|
/* 027747EC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027747EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027747EC */ cpu->r[1] = _t0;
|
|
/* 027747F0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027747F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027747F4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027747F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027747F8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027747FC */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 027747FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774800 */ _t4 = cpu->r[11] + 0xFFFF8E4Cu;
|
|
/* 02774800 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774804 */ cpu->r[30] = cpu->r[3] + 0x00000104u;
|
|
/* 02774808 */ _t5 = cpu->r[30] + cpu->r[11];
|
|
/* 02774808 */ cpu->r[4] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0277480C */ cpu->r[31] = cpu->r[3];
|
|
/* 02774810 */ Gambit_fn_02791444(cpu);
|
|
/* 02774814 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02774818 */ _t6 = cpu->r[12] + 0x00004424u;
|
|
/* 02774818 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277481C */ _t7 = cpu->r[30] + cpu->r[12];
|
|
/* 0277481C */ cpu->r[4] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02774820 */ cpu->r[3] = cpu->r[31];
|
|
/* 02774824 */ Gambit_fn_02791444(cpu);
|
|
/* 02774828 */ cpu->r[0] = 0x00000002u;
|
|
/* 0277482C */ cpu->r[9] = 0x10100000u;
|
|
/* 02774830 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02774830 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774834 */ _t9 = cpu->r[9] + 0x00002250u;
|
|
/* 02774834 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774838 */ cpu->r[9] = 0x00000004u;
|
|
/* 0277483C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774840 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02774840 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02774844 */ cpu->r[3] = cpu->r[31];
|
|
/* 02774848 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277484C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277484C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02774850 */ Gambit_fn_02791774(cpu);
|
|
/* 02774854 */ _t12 = cpu->r[31] + 0x00000230u;
|
|
/* 02774854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02774858 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 0277485C */ _t13 = cpu->r[31] + 0x00000230u;
|
|
/* 0277485C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02774860 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02774860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02774864 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02774864 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02774868 */ cpu->lr = cpu->r[0];
|
|
/* 0277486C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277486C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02774870 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02774874 */ return;
|
|
}
|
|
|
|
// fn_02774878 @ 0x2774878
|
|
void Gambit_fn_02774878(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02774878: ; // 0x2774878
|
|
/* 02774878 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277487C */ _t0 = cpu->r[10] + 0xFFFF8E4Cu;
|
|
/* 0277487C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02774880 */ cpu->r[7] = cpu->r[3] + 0x00000104u;
|
|
/* 02774884 */ _t1 = cpu->r[7] + cpu->r[10];
|
|
/* 02774884 */ cpu->r[6] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02774888 */ _t2 = cpu->r[3] + 0x00000030u;
|
|
/* 02774888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0277488C */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02774890 */ _t3 = cpu->r[8] + cpu->r[0];
|
|
/* 02774890 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02774894 */ _t4 = cpu->r[9] + 0x00000000u;
|
|
/* 02774894 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774898 */ cpu->r[12] = 0x00000000u;
|
|
/* 0277489C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[5]);
|
|
/* 027748A0 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027748A0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027748A0 */ if (_t6) goto L_027748A4; else goto L_027748E4;
|
|
L_027748A4: ; // 0x27748a4
|
|
/* 027748A4 */ _t7 = cpu->r[7] + cpu->r[10];
|
|
/* 027748A4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027748A8 */ cpu->r[11] = 0x00000000u;
|
|
L_027748AC: ; // 0x27748ac
|
|
/* 027748AC */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027748B0 */ _t8 = cpu->r[6] + cpu->r[0];
|
|
/* 027748B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027748B4 */ _t9 = cpu->r[7] + 0x00000004u;
|
|
/* 027748B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027748B8 */ _t10 = cpu->r[8] + cpu->r[11];
|
|
/* 027748B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027748BC */ _t11 = cpu->r[3] + 0x00000208u;
|
|
/* 027748BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027748C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 027748C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027748C4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027748C4 */ if (_t13) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027748C4 */ goto L_027748C8;
|
|
L_027748C8: ; // 0x27748c8
|
|
/* 027748C8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027748CC */ _t14 = cpu->r[7] + cpu->r[0];
|
|
/* 027748CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027748D0 */ _t15 = cpu->r[8] + 0x00000000u;
|
|
/* 027748D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027748D4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 027748D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[10]);
|
|
/* 027748DC */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 027748E0 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027748E0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027748E0 */ if (_t17) goto L_027748AC; else goto L_027748E4;
|
|
L_027748E4: ; // 0x27748e4
|
|
/* 027748E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 027748E8 */ return;
|
|
}
|
|
|
|
// fn_027748EC @ 0x27748ec
|
|
void Gambit_fn_027748EC(CPUState* cpu) {
|
|
L_027748EC: ; // 0x27748ec
|
|
/* 027748EC */ return;
|
|
}
|
|
|
|
// fn_027748F0 @ 0x27748f0
|
|
void Gambit_fn_027748F0(CPUState* cpu) {
|
|
L_027748F0: ; // 0x27748f0
|
|
/* 027748F0 */ return;
|
|
}
|
|
|
|
// fn_027748F4 @ 0x27748f4
|
|
void Gambit_fn_027748F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027748F4: ; // 0x27748f4
|
|
/* 027748F4 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 027748F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027748F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027748FC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027748FC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027748FC */ if (_t2) goto L_02774908; else goto L_02774900;
|
|
L_02774900: ; // 0x2774900
|
|
/* 02774900 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02774904 */ return;
|
|
L_02774908: ; // 0x2774908
|
|
/* 02774908 */ cpu->r[3] = 0x00000000u;
|
|
/* 0277490C */ return;
|
|
}
|
|
|
|
// fn_02774910 @ 0x2774910
|
|
void Gambit_fn_02774910(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02774910: ; // 0x2774910
|
|
/* 02774910 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02774910 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02774914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02774918 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774918 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02774918 */ if (_t2) goto L_02774924; else goto L_0277491C;
|
|
L_0277491C: ; // 0x277491c
|
|
/* 0277491C */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02774920 */ return;
|
|
L_02774924: ; // 0x2774924
|
|
/* 02774924 */ cpu->r[3] = 0x00000000u;
|
|
/* 02774928 */ return;
|
|
}
|
|
|
|
// fn_0277492C @ 0x277492c
|
|
void Gambit_fn_0277492C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0277492C: ; // 0x277492c
|
|
/* 0277492C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0277492C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02774930 */ _t1 = cpu->r[12] + 0x00000114u;
|
|
/* 02774930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02774934 */ cpu->ctr = cpu->r[0];
|
|
/* 02774938 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277493C @ 0x277493c
|
|
void Gambit_fn_0277493C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277493C: ; // 0x277493c
|
|
/* 0277493C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0277493C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02774940 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02774940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02774944 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774944 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02774944 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02774944 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02774944 */ goto L_02774948;
|
|
L_02774948: ; // 0x2774948
|
|
/* 02774948 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02774948 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277494C */ _t5 = cpu->r[12] + 0x00000044u;
|
|
/* 0277494C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02774950 */ cpu->ctr = cpu->r[12];
|
|
/* 02774954 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02774958 @ 0x2774958
|
|
void Gambit_fn_02774958(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02774958: ; // 0x2774958
|
|
/* 02774958 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02774958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277495C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277495C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02774960 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774960 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02774960 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02774960 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02774960 */ goto L_02774964;
|
|
L_02774964: ; // 0x2774964
|
|
/* 02774964 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02774964 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774968 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02774968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277496C */ cpu->ctr = cpu->r[0];
|
|
/* 02774970 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02774974 @ 0x2774974
|
|
void Gambit_fn_02774974(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02774974: ; // 0x2774974
|
|
/* 02774974 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02774974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02774978 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02774978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0277497C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277497C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277497C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0277497C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277497C */ goto L_02774980;
|
|
L_02774980: ; // 0x2774980
|
|
/* 02774980 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02774980 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774984 */ _t5 = cpu->r[12] + 0x00000054u;
|
|
/* 02774984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02774988 */ cpu->ctr = cpu->r[0];
|
|
/* 0277498C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02774990 @ 0x2774990
|
|
void Gambit_fn_02774990(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02774990: ; // 0x2774990
|
|
/* 02774990 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02774990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02774994 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02774994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02774998 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774998 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02774998 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02774998 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02774998 */ goto L_0277499C;
|
|
L_0277499C: ; // 0x277499c
|
|
/* 0277499C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0277499C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027749A0 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 027749A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027749A4 */ cpu->ctr = cpu->r[0];
|
|
/* 027749A8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027749AC @ 0x27749ac
|
|
void Gambit_fn_027749AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027749AC: ; // 0x27749ac
|
|
/* 027749AC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027749AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027749B0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027749B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027749B4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027749B4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027749B4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027749B4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027749B4 */ goto L_027749B8;
|
|
L_027749B8: ; // 0x27749b8
|
|
/* 027749B8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027749B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027749BC */ _t5 = cpu->r[12] + 0x00000064u;
|
|
/* 027749BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027749C0 */ cpu->ctr = cpu->r[0];
|
|
/* 027749C4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027749C8 @ 0x27749c8
|
|
void Gambit_fn_027749C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027749C8: ; // 0x27749c8
|
|
/* 027749C8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027749C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027749CC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027749CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027749D0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027749D0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027749D0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027749D0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027749D0 */ goto L_027749D4;
|
|
L_027749D4: ; // 0x27749d4
|
|
/* 027749D4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027749D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027749D8 */ _t5 = cpu->r[11] + 0x0000006Cu;
|
|
/* 027749D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027749DC */ cpu->ctr = cpu->r[0];
|
|
/* 027749E0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027749E4 @ 0x27749e4
|
|
void Gambit_fn_027749E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027749E4: ; // 0x27749e4
|
|
/* 027749E4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027749E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027749E8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027749E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027749EC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027749EC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027749EC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027749EC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027749EC */ goto L_027749F0;
|
|
L_027749F0: ; // 0x27749f0
|
|
/* 027749F0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027749F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027749F4 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 027749F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027749F8 */ cpu->ctr = cpu->r[0];
|
|
/* 027749FC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02774A00 @ 0x2774a00
|
|
void Gambit_fn_02774A00(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02774A00: ; // 0x2774a00
|
|
/* 02774A00 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02774A00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02774A04 */ _t1 = cpu->r[12] + 0x00000024u;
|
|
/* 02774A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02774A08 */ cpu->ctr = cpu->r[0];
|
|
/* 02774A0C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02774A10 @ 0x2774a10
|
|
void Gambit_fn_02774A10(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02774A10: ; // 0x2774a10
|
|
/* 02774A10 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02774A10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02774A14 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02774A14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02774A18 */ cpu->ctr = cpu->r[0];
|
|
/* 02774A1C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02774A20 @ 0x2774a20
|
|
void Gambit_fn_02774A20(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02774A20: ; // 0x2774a20
|
|
/* 02774A20 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02774A20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02774A24 */ _t1 = cpu->r[12] + 0x00000034u;
|
|
/* 02774A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02774A28 */ cpu->ctr = cpu->r[0];
|
|
/* 02774A2C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02774A30 @ 0x2774a30
|
|
void Gambit_fn_02774A30(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02774A30: ; // 0x2774a30
|
|
/* 02774A30 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02774A30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02774A34 */ _t1 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02774A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02774A38 */ cpu->ctr = cpu->r[0];
|
|
/* 02774A3C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02774A40 @ 0x2774a40
|
|
void Gambit_fn_02774A40(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02774A40: ; // 0x2774a40
|
|
/* 02774A40 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02774A40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02774A44 */ _t1 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02774A44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02774A48 */ cpu->ctr = cpu->r[0];
|
|
/* 02774A4C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02774A50 @ 0x2774a50
|
|
void Gambit_fn_02774A50(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02774A50: ; // 0x2774a50
|
|
/* 02774A50 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02774A50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02774A54 */ _t1 = cpu->r[12] + 0x00000084u;
|
|
/* 02774A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02774A58 */ cpu->ctr = cpu->r[0];
|
|
/* 02774A5C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02774A60 @ 0x2774a60
|
|
void Gambit_fn_02774A60(CPUState* cpu) {
|
|
L_02774A60: ; // 0x2774a60
|
|
/* 02774A60 */ return;
|
|
}
|
|
|
|
// fn_02774A64 @ 0x2774a64
|
|
void Gambit_fn_02774A64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02774A64: ; // 0x2774a64
|
|
/* 02774A64 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02774A68 */ _t0 = cpu->r[9] + 0xFFFFD9BCu;
|
|
/* 02774A68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02774A68 */ cpu->r[9] = _t0;
|
|
/* 02774A6C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02774A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02774A74 */ cpu->r[12] = cpu->r[12] + 0xFFFFDB18u;
|
|
/* 02774A78 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774A78 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02774A78 */ if (_t2) goto L_02774A7C; else goto L_02774A90;
|
|
L_02774A7C: ; // 0x2774a7c
|
|
/* 02774A7C */ cpu->r[7] = 0x10100000u;
|
|
/* 02774A80 */ cpu->r[0] = 0x00000001u;
|
|
/* 02774A84 */ cpu->r[7] = cpu->r[7] + 0x000022B0u;
|
|
/* 02774A88 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02774A88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774A8C */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02774A8C */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02774A90: ; // 0x2774a90
|
|
/* 02774A90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02774A94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774A94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02774A94 */ if (_t6) goto L_02774A98; else goto L_02774AA0;
|
|
L_02774A98: ; // 0x2774a98
|
|
/* 02774A98 */ cpu->r[3] = 0x00000001u;
|
|
/* 02774A9C */ return;
|
|
L_02774AA0: ; // 0x2774aa0
|
|
/* 02774AA0 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02774AA4 */ _t7 = cpu->r[7] + 0xFFFFD4E0u;
|
|
/* 02774AA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774AA4 */ cpu->r[7] = _t7;
|
|
/* 02774AA8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02774AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02774AB0 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02774AB4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774AB4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02774AB4 */ if (_t9) goto L_02774AB8; else goto L_02774ACC;
|
|
L_02774AB8: ; // 0x2774ab8
|
|
/* 02774AB8 */ cpu->r[0] = 0x10100000u;
|
|
/* 02774ABC */ cpu->r[9] = 0x00000001u;
|
|
/* 02774AC0 */ cpu->r[0] = cpu->r[0] + 0x000022A0u;
|
|
/* 02774AC4 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02774AC4 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02774AC8 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02774AC8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02774ACC: ; // 0x2774acc
|
|
/* 02774ACC */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02774AD0 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02774AD4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02774AD8 */ return;
|
|
}
|
|
|
|
// fn_02774ADC @ 0x2774adc
|
|
void Gambit_fn_02774ADC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774ADC: ; // 0x2774adc
|
|
/* 02774ADC */ cpu->r[0] = cpu->lr;
|
|
/* 02774AE0 */ cpu->r[12] = 0x10100000u;
|
|
/* 02774AE4 */ cpu->r[10] = 0x00000000u;
|
|
/* 02774AE8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774AE8 */ cpu->r[1] = _t0;
|
|
/* 02774AEC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774AF0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774AF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774AF4 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774AF8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774AF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774AFC */ cpu->r[0] = 0x00000004u;
|
|
/* 02774B00 */ _t4 = cpu->r[12] + 0x00002240u;
|
|
/* 02774B00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774B04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774B08 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774B08 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774B0C */ cpu->r[31] = cpu->r[3];
|
|
/* 02774B10 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774B10 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774B14 */ Gambit_fn_02791774(cpu);
|
|
/* 02774B18 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774B18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774B1C */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02774B20 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774B20 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774B24 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774B28 */ cpu->lr = cpu->r[0];
|
|
/* 02774B2C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774B2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774B30 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774B34 */ return;
|
|
}
|
|
|
|
// fn_02774AE8 @ 0x2774ae8
|
|
void Gambit_fn_02774AE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774AE8: ; // 0x2774ae8
|
|
/* 02774AE8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774AE8 */ cpu->r[1] = _t0;
|
|
/* 02774AEC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774AF0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774AF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774AF4 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774AF8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774AF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774AFC */ cpu->r[0] = 0x00000004u;
|
|
/* 02774B00 */ _t4 = cpu->r[12] + 0x00002240u;
|
|
/* 02774B00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774B04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774B08 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774B08 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774B0C */ cpu->r[31] = cpu->r[3];
|
|
/* 02774B10 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774B10 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774B14 */ Gambit_fn_02791774(cpu);
|
|
/* 02774B18 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774B18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774B1C */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02774B20 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774B20 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774B24 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774B28 */ cpu->lr = cpu->r[0];
|
|
/* 02774B2C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774B2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774B30 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774B34 */ return;
|
|
}
|
|
|
|
// fn_02774B38 @ 0x2774b38
|
|
void Gambit_fn_02774B38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774B38: ; // 0x2774b38
|
|
/* 02774B38 */ cpu->r[0] = cpu->lr;
|
|
/* 02774B3C */ cpu->r[12] = 0x10100000u;
|
|
/* 02774B40 */ cpu->r[10] = 0x00000001u;
|
|
/* 02774B44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774B44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774B44 */ cpu->r[1] = _t0;
|
|
/* 02774B48 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774B48 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774B4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774B4C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774B50 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774B54 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774B54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774B58 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774B5C */ _t4 = cpu->r[12] + 0x00002248u;
|
|
/* 02774B5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774B60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774B64 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774B64 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774B68 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774B6C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774B6C */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774B70 */ Gambit_fn_02791774(cpu);
|
|
/* 02774B74 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774B74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774B78 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 02774B7C */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774B7C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774B80 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774B80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774B84 */ cpu->lr = cpu->r[0];
|
|
/* 02774B88 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774B88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774B8C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774B90 */ return;
|
|
}
|
|
|
|
// fn_02774B44 @ 0x2774b44
|
|
void Gambit_fn_02774B44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774B44: ; // 0x2774b44
|
|
/* 02774B44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774B44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774B44 */ cpu->r[1] = _t0;
|
|
/* 02774B48 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774B48 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774B4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774B4C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774B50 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774B54 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774B54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774B58 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774B5C */ _t4 = cpu->r[12] + 0x00002248u;
|
|
/* 02774B5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774B60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774B64 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774B64 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774B68 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774B6C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774B6C */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774B70 */ Gambit_fn_02791774(cpu);
|
|
/* 02774B74 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774B74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774B78 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 02774B7C */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774B7C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774B80 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774B80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774B84 */ cpu->lr = cpu->r[0];
|
|
/* 02774B88 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774B88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774B8C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774B90 */ return;
|
|
}
|
|
|
|
// fn_02774B94 @ 0x2774b94
|
|
void Gambit_fn_02774B94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774B94: ; // 0x2774b94
|
|
/* 02774B94 */ cpu->r[0] = cpu->lr;
|
|
/* 02774B98 */ cpu->r[12] = 0x10100000u;
|
|
/* 02774B9C */ cpu->r[10] = 0x00000003u;
|
|
/* 02774BA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774BA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774BA0 */ cpu->r[1] = _t0;
|
|
/* 02774BA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774BA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774BA8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774BA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774BAC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774BB0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774BB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774BB4 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774BB8 */ _t4 = cpu->r[12] + 0x00002258u;
|
|
/* 02774BB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774BBC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774BC0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774BC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774BC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774BC8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774BC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774BCC */ Gambit_fn_02791774(cpu);
|
|
/* 02774BD0 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774BD4 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 02774BD8 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774BD8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774BDC */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774BE0 */ cpu->lr = cpu->r[0];
|
|
/* 02774BE4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774BE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774BE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774BEC */ return;
|
|
}
|
|
|
|
// fn_02774BA0 @ 0x2774ba0
|
|
void Gambit_fn_02774BA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774BA0: ; // 0x2774ba0
|
|
/* 02774BA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774BA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774BA0 */ cpu->r[1] = _t0;
|
|
/* 02774BA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774BA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774BA8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774BA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774BAC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774BB0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774BB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774BB4 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774BB8 */ _t4 = cpu->r[12] + 0x00002258u;
|
|
/* 02774BB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774BBC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774BC0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774BC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774BC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774BC8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774BC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774BCC */ Gambit_fn_02791774(cpu);
|
|
/* 02774BD0 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774BD4 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 02774BD8 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774BD8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774BDC */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774BE0 */ cpu->lr = cpu->r[0];
|
|
/* 02774BE4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774BE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774BE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774BEC */ return;
|
|
}
|
|
|
|
// fn_02774BF0 @ 0x2774bf0
|
|
void Gambit_fn_02774BF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774BF0: ; // 0x2774bf0
|
|
/* 02774BF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02774BF4 */ cpu->r[12] = 0x10100000u;
|
|
/* 02774BF8 */ cpu->r[10] = 0x00000006u;
|
|
/* 02774BFC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774BFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774BFC */ cpu->r[1] = _t0;
|
|
/* 02774C00 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774C00 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774C04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774C04 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774C08 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774C0C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774C0C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774C10 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774C14 */ _t4 = cpu->r[12] + 0x00002260u;
|
|
/* 02774C14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774C18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774C1C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774C1C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774C20 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774C24 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774C24 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774C28 */ Gambit_fn_02791888(cpu);
|
|
/* 02774C2C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774C2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774C30 */ cpu->r[0] = cpu->r[0] | 0x00000040u;
|
|
/* 02774C34 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774C34 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774C38 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774C3C */ cpu->lr = cpu->r[0];
|
|
/* 02774C40 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774C40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774C44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774C48 */ return;
|
|
}
|
|
|
|
// fn_02774BFC @ 0x2774bfc
|
|
void Gambit_fn_02774BFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774BFC: ; // 0x2774bfc
|
|
/* 02774BFC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774BFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774BFC */ cpu->r[1] = _t0;
|
|
/* 02774C00 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774C00 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774C04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774C04 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774C08 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774C0C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774C0C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774C10 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774C14 */ _t4 = cpu->r[12] + 0x00002260u;
|
|
/* 02774C14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774C18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774C1C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774C1C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774C20 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774C24 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774C24 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774C28 */ Gambit_fn_02791888(cpu);
|
|
/* 02774C2C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774C2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774C30 */ cpu->r[0] = cpu->r[0] | 0x00000040u;
|
|
/* 02774C34 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774C34 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774C38 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774C3C */ cpu->lr = cpu->r[0];
|
|
/* 02774C40 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774C40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774C44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774C48 */ return;
|
|
}
|
|
|
|
// fn_02774C4C @ 0x2774c4c
|
|
void Gambit_fn_02774C4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774C4C: ; // 0x2774c4c
|
|
/* 02774C4C */ cpu->r[0] = cpu->lr;
|
|
/* 02774C50 */ cpu->r[12] = 0x10100000u;
|
|
/* 02774C54 */ cpu->r[10] = 0x00000007u;
|
|
/* 02774C58 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774C58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774C58 */ cpu->r[1] = _t0;
|
|
/* 02774C5C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774C5C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774C60 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774C60 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774C64 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774C68 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774C68 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774C6C */ cpu->r[0] = 0x00000004u;
|
|
/* 02774C70 */ _t4 = cpu->r[12] + 0x00002268u;
|
|
/* 02774C70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774C74 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774C78 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774C78 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774C7C */ cpu->r[31] = cpu->r[3];
|
|
/* 02774C80 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774C80 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774C84 */ Gambit_fn_02791888(cpu);
|
|
/* 02774C88 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774C88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774C8C */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 02774C90 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774C90 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774C94 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774C98 */ cpu->lr = cpu->r[0];
|
|
/* 02774C9C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774C9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774CA0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774CA4 */ return;
|
|
}
|
|
|
|
// fn_02774C58 @ 0x2774c58
|
|
void Gambit_fn_02774C58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774C58: ; // 0x2774c58
|
|
/* 02774C58 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774C58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774C58 */ cpu->r[1] = _t0;
|
|
/* 02774C5C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774C5C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774C60 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774C60 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774C64 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774C68 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774C68 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774C6C */ cpu->r[0] = 0x00000004u;
|
|
/* 02774C70 */ _t4 = cpu->r[12] + 0x00002268u;
|
|
/* 02774C70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774C74 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774C78 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774C78 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774C7C */ cpu->r[31] = cpu->r[3];
|
|
/* 02774C80 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774C80 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774C84 */ Gambit_fn_02791888(cpu);
|
|
/* 02774C88 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774C88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774C8C */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 02774C90 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774C90 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774C94 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774C98 */ cpu->lr = cpu->r[0];
|
|
/* 02774C9C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774C9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774CA0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774CA4 */ return;
|
|
}
|
|
|
|
// fn_02774CA8 @ 0x2774ca8
|
|
void Gambit_fn_02774CA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774CA8: ; // 0x2774ca8
|
|
/* 02774CA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02774CAC */ cpu->r[12] = 0x10100000u;
|
|
/* 02774CB0 */ cpu->r[10] = 0x00000008u;
|
|
/* 02774CB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774CB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774CB4 */ cpu->r[1] = _t0;
|
|
/* 02774CB8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774CB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774CBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774CBC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774CC0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774CC4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774CC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774CC8 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774CCC */ _t4 = cpu->r[12] + 0x00002270u;
|
|
/* 02774CCC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774CD0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774CD4 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774CD4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774CD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774CDC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774CDC */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774CE0 */ Gambit_fn_02791888(cpu);
|
|
/* 02774CE4 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774CE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774CE8 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 02774CEC */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774CEC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774CF0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774CF4 */ cpu->lr = cpu->r[0];
|
|
/* 02774CF8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774CF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774CFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774D00 */ return;
|
|
}
|
|
|
|
// fn_02774CB4 @ 0x2774cb4
|
|
void Gambit_fn_02774CB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774CB4: ; // 0x2774cb4
|
|
/* 02774CB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774CB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774CB4 */ cpu->r[1] = _t0;
|
|
/* 02774CB8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774CB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774CBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774CBC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774CC0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774CC4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774CC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774CC8 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774CCC */ _t4 = cpu->r[12] + 0x00002270u;
|
|
/* 02774CCC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774CD0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774CD4 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774CD4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774CD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774CDC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774CDC */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774CE0 */ Gambit_fn_02791888(cpu);
|
|
/* 02774CE4 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774CE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774CE8 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 02774CEC */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774CEC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774CF0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774CF4 */ cpu->lr = cpu->r[0];
|
|
/* 02774CF8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774CF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774CFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774D00 */ return;
|
|
}
|
|
|
|
// fn_02774D04 @ 0x2774d04
|
|
void Gambit_fn_02774D04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774D04: ; // 0x2774d04
|
|
/* 02774D04 */ cpu->r[0] = cpu->lr;
|
|
/* 02774D08 */ cpu->r[12] = 0x10100000u;
|
|
/* 02774D0C */ cpu->r[10] = 0x00000009u;
|
|
/* 02774D10 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774D10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774D10 */ cpu->r[1] = _t0;
|
|
/* 02774D14 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774D14 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774D18 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774D18 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774D1C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774D20 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774D20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774D24 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774D28 */ _t4 = cpu->r[12] + 0x00002278u;
|
|
/* 02774D28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774D2C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774D30 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774D30 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774D34 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774D38 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774D38 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774D3C */ Gambit_fn_02791888(cpu);
|
|
/* 02774D40 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774D44 */ cpu->r[0] = cpu->r[0] | 0x00000200u;
|
|
/* 02774D48 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774D48 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774D4C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774D50 */ cpu->lr = cpu->r[0];
|
|
/* 02774D54 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774D54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774D58 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774D5C */ return;
|
|
}
|
|
|
|
// fn_02774D10 @ 0x2774d10
|
|
void Gambit_fn_02774D10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774D10: ; // 0x2774d10
|
|
/* 02774D10 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774D10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774D10 */ cpu->r[1] = _t0;
|
|
/* 02774D14 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774D14 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774D18 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774D18 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774D1C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774D20 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774D20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774D24 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774D28 */ _t4 = cpu->r[12] + 0x00002278u;
|
|
/* 02774D28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774D2C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774D30 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774D30 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774D34 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774D38 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774D38 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774D3C */ Gambit_fn_02791888(cpu);
|
|
/* 02774D40 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774D44 */ cpu->r[0] = cpu->r[0] | 0x00000200u;
|
|
/* 02774D48 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774D48 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774D4C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774D50 */ cpu->lr = cpu->r[0];
|
|
/* 02774D54 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774D54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774D58 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774D5C */ return;
|
|
}
|
|
|
|
// fn_02774D60 @ 0x2774d60
|
|
void Gambit_fn_02774D60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774D60: ; // 0x2774d60
|
|
/* 02774D60 */ cpu->r[0] = cpu->lr;
|
|
/* 02774D64 */ cpu->r[12] = 0x10100000u;
|
|
/* 02774D68 */ cpu->r[10] = 0x0000000Au;
|
|
/* 02774D6C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774D6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774D6C */ cpu->r[1] = _t0;
|
|
/* 02774D70 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774D70 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774D74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774D74 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774D78 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774D7C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774D7C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774D80 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774D84 */ _t4 = cpu->r[12] + 0x00002280u;
|
|
/* 02774D84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774D88 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774D8C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774D8C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774D90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774D94 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774D94 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774D98 */ Gambit_fn_02791888(cpu);
|
|
/* 02774D9C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774DA0 */ cpu->r[0] = cpu->r[0] | 0x00000400u;
|
|
/* 02774DA4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774DA4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774DA8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774DAC */ cpu->lr = cpu->r[0];
|
|
/* 02774DB0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774DB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774DB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774DB8 */ return;
|
|
}
|
|
|
|
// fn_02774D6C @ 0x2774d6c
|
|
void Gambit_fn_02774D6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774D6C: ; // 0x2774d6c
|
|
/* 02774D6C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774D6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774D6C */ cpu->r[1] = _t0;
|
|
/* 02774D70 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02774D70 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 02774D74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02774D74 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02774D78 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774D7C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774D7C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774D80 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774D84 */ _t4 = cpu->r[12] + 0x00002280u;
|
|
/* 02774D84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774D88 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774D8C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774D8C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774D90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774D94 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774D94 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02774D98 */ Gambit_fn_02791888(cpu);
|
|
/* 02774D9C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774DA0 */ cpu->r[0] = cpu->r[0] | 0x00000400u;
|
|
/* 02774DA4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774DA4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02774DA8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774DAC */ cpu->lr = cpu->r[0];
|
|
/* 02774DB0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774DB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774DB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774DB8 */ return;
|
|
}
|
|
|
|
// fn_02774DBC @ 0x2774dbc
|
|
void Gambit_fn_02774DBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774DBC: ; // 0x2774dbc
|
|
/* 02774DBC */ cpu->r[0] = cpu->lr;
|
|
/* 02774DC0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774DC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774DC0 */ cpu->r[1] = _t0;
|
|
/* 02774DC4 */ cpu->r[8] = 0x10100000u;
|
|
/* 02774DC8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02774DC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02774DCC */ cpu->r[12] = 0x0000000Bu;
|
|
/* 02774DD0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02774DD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02774DD4 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774DD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774DDC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774DDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774DE0 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774DE4 */ _t4 = cpu->r[8] + 0x00002288u;
|
|
/* 02774DE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774DE8 */ cpu->r[6] = cpu->r[4];
|
|
/* 02774DEC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774DEC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774DF0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774DF4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774DF4 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02774DF8 */ Gambit_fn_027919C4(cpu);
|
|
/* 02774DFC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774DFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774E00 */ cpu->r[10] = cpu->r[10] | 0x00000800u;
|
|
/* 02774E04 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774E04 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02774E08 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774E0C */ cpu->lr = cpu->r[0];
|
|
/* 02774E10 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774E10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774E14 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774E18 */ return;
|
|
}
|
|
|
|
// fn_02774DC0 @ 0x2774dc0
|
|
void Gambit_fn_02774DC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774DC0: ; // 0x2774dc0
|
|
/* 02774DC0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774DC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774DC0 */ cpu->r[1] = _t0;
|
|
/* 02774DC4 */ cpu->r[8] = 0x10100000u;
|
|
/* 02774DC8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02774DC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02774DCC */ cpu->r[12] = 0x0000000Bu;
|
|
/* 02774DD0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02774DD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02774DD4 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774DD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774DDC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774DDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774DE0 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774DE4 */ _t4 = cpu->r[8] + 0x00002288u;
|
|
/* 02774DE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774DE8 */ cpu->r[6] = cpu->r[4];
|
|
/* 02774DEC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774DEC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774DF0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774DF4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774DF4 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02774DF8 */ Gambit_fn_027919C4(cpu);
|
|
/* 02774DFC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774DFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774E00 */ cpu->r[10] = cpu->r[10] | 0x00000800u;
|
|
/* 02774E04 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774E04 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02774E08 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774E0C */ cpu->lr = cpu->r[0];
|
|
/* 02774E10 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774E10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774E14 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774E18 */ return;
|
|
}
|
|
|
|
// fn_02774E1C @ 0x2774e1c
|
|
void Gambit_fn_02774E1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774E1C: ; // 0x2774e1c
|
|
/* 02774E1C */ cpu->r[0] = cpu->lr;
|
|
/* 02774E20 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774E20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774E20 */ cpu->r[1] = _t0;
|
|
/* 02774E24 */ cpu->r[8] = 0x10100000u;
|
|
/* 02774E28 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02774E28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02774E2C */ cpu->r[12] = 0x0000000Cu;
|
|
/* 02774E30 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02774E30 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02774E34 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774E38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774E3C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774E3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774E40 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774E44 */ _t4 = cpu->r[8] + 0x00002290u;
|
|
/* 02774E44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774E48 */ cpu->r[6] = cpu->r[4];
|
|
/* 02774E4C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774E4C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774E50 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774E54 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774E54 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02774E58 */ Gambit_fn_027919C4(cpu);
|
|
/* 02774E5C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774E5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774E60 */ cpu->r[10] = cpu->r[10] | 0x00001000u;
|
|
/* 02774E64 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774E64 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02774E68 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774E6C */ cpu->lr = cpu->r[0];
|
|
/* 02774E70 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774E70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774E74 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774E78 */ return;
|
|
}
|
|
|
|
// fn_02774E20 @ 0x2774e20
|
|
void Gambit_fn_02774E20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02774E20: ; // 0x2774e20
|
|
/* 02774E20 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774E20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774E20 */ cpu->r[1] = _t0;
|
|
/* 02774E24 */ cpu->r[8] = 0x10100000u;
|
|
/* 02774E28 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02774E28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02774E2C */ cpu->r[12] = 0x0000000Cu;
|
|
/* 02774E30 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02774E30 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02774E34 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774E38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774E3C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774E3C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774E40 */ cpu->r[0] = 0x00000004u;
|
|
/* 02774E44 */ _t4 = cpu->r[8] + 0x00002290u;
|
|
/* 02774E44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774E48 */ cpu->r[6] = cpu->r[4];
|
|
/* 02774E4C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02774E4C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02774E50 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774E54 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774E54 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02774E58 */ Gambit_fn_027919C4(cpu);
|
|
/* 02774E5C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02774E5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774E60 */ cpu->r[10] = cpu->r[10] | 0x00001000u;
|
|
/* 02774E64 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 02774E64 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02774E68 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02774E6C */ cpu->lr = cpu->r[0];
|
|
/* 02774E70 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02774E70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774E74 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774E78 */ return;
|
|
}
|
|
|
|
// fn_02774E7C @ 0x2774e7c
|
|
void Gambit_fn_02774E7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02774E7C: ; // 0x2774e7c
|
|
/* 02774E7C */ cpu->r[0] = cpu->lr;
|
|
/* 02774E80 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774E80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774E80 */ cpu->r[1] = _t0;
|
|
/* 02774E84 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02774E84 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02774E88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774E8C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774E8C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02774E90 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02774E90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02774E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02774E98 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774E98 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02774E98 */ if (_t5) goto L_02774E9C; else goto L_02774EB8;
|
|
L_02774E9C: ; // 0x2774e9c
|
|
/* 02774E9C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02774E9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02774EA0 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02774EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774EA4 */ cpu->ctr = cpu->r[0];
|
|
/* 02774EA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02774EAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02774EB0 */ cpu->r[10] = 0x00000002u;
|
|
/* 02774EB4 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02774EB4 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_02774EB8: ; // 0x2774eb8
|
|
/* 02774EB8 */ cpu->r[0] = 0x00000005u;
|
|
/* 02774EBC */ cpu->r[12] = 0x10100000u;
|
|
/* 02774EC0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02774EC0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02774EC4 */ _t10 = cpu->r[12] + 0x00002298u;
|
|
/* 02774EC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774EC4 */ cpu->r[12] = _t10;
|
|
/* 02774EC8 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 02774EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02774ECC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774ED0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774ED0 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02774ED4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774ED8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02774EDC */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02774EDC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02774EE0 */ Gambit_fn_02791888(cpu);
|
|
/* 02774EE4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774EE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02774EE8 */ cpu->lr = cpu->r[0];
|
|
/* 02774EEC */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02774EEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02774EF0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774EF4 */ return;
|
|
}
|
|
|
|
// fn_02774E80 @ 0x2774e80
|
|
void Gambit_fn_02774E80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02774E80: ; // 0x2774e80
|
|
/* 02774E80 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02774E80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774E80 */ cpu->r[1] = _t0;
|
|
/* 02774E84 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02774E84 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02774E88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774E8C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774E8C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02774E90 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02774E90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02774E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02774E98 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774E98 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02774E98 */ if (_t5) goto L_02774E9C; else goto L_02774EB8;
|
|
L_02774E9C: ; // 0x2774e9c
|
|
/* 02774E9C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02774E9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02774EA0 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02774EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02774EA4 */ cpu->ctr = cpu->r[0];
|
|
/* 02774EA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02774EAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02774EB0 */ cpu->r[10] = 0x00000002u;
|
|
/* 02774EB4 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02774EB4 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_02774EB8: ; // 0x2774eb8
|
|
/* 02774EB8 */ cpu->r[0] = 0x00000005u;
|
|
/* 02774EBC */ cpu->r[12] = 0x10100000u;
|
|
/* 02774EC0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02774EC0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02774EC4 */ _t10 = cpu->r[12] + 0x00002298u;
|
|
/* 02774EC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02774EC4 */ cpu->r[12] = _t10;
|
|
/* 02774EC8 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 02774EC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02774ECC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774ED0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774ED0 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02774ED4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02774ED8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02774EDC */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02774EDC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02774EE0 */ Gambit_fn_02791888(cpu);
|
|
/* 02774EE4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02774EE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02774EE8 */ cpu->lr = cpu->r[0];
|
|
/* 02774EEC */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02774EEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02774EF0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02774EF4 */ return;
|
|
}
|
|
|
|
// fn_02774F00 @ 0x2774f00
|
|
void Gambit_fn_02774F00(CPUState* cpu) {
|
|
L_02774F00: ; // 0x2774f00
|
|
/* 02774F00 */ cpu->r[3] = 0x10100000u;
|
|
/* 02774F04 */ cpu->r[3] = cpu->r[3] + 0x000022C0u;
|
|
/* 02774F08 */ return;
|
|
}
|
|
|
|
// fn_02774F0C @ 0x2774f0c
|
|
void Gambit_fn_02774F0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02774F0C: ; // 0x2774f0c
|
|
/* 02774F0C */ cpu->r[0] = cpu->lr;
|
|
/* 02774F10 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02774F14 */ cpu->r[7] = 0x02770000u;
|
|
/* 02774F18 */ cpu->r[6] = 0x02770000u;
|
|
/* 02774F1C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02774F20 */ cpu->r[7] = cpu->r[7] + 0x00004EF8u;
|
|
/* 02774F24 */ cpu->r[6] = cpu->r[6] + 0x00004EF8u;
|
|
/* 02774F28 */ cpu->r[10] = cpu->r[10] + 0xFFFF8E50u;
|
|
/* 02774F2C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02774F2C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02774F30 */ cpu->r[0] = 0x101D0000u;
|
|
/* 02774F34 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02774F34 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02774F34 */ cpu->r[1] = _t1;
|
|
/* 02774F38 */ cpu->r[0] = cpu->r[0] + 0xFFFF8E4Cu;
|
|
/* 02774F3C */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02774F3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02774F40 */ cpu->r[8] = 0x00000000u;
|
|
/* 02774F44 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02774F44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02774F48 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774F4C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774F4C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02774F50 */ Gambit_fn_02791B10(cpu);
|
|
/* 02774F54 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02774F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02774F58 */ cpu->lr = cpu->r[0];
|
|
/* 02774F5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02774F60 */ return;
|
|
}
|
|
|
|
// fn_02774F34 @ 0x2774f34
|
|
void Gambit_fn_02774F34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02774F34: ; // 0x2774f34
|
|
/* 02774F34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02774F34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774F34 */ cpu->r[1] = _t0;
|
|
/* 02774F38 */ cpu->r[0] = cpu->r[0] + 0xFFFF8E4Cu;
|
|
/* 02774F3C */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 02774F3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02774F40 */ cpu->r[8] = 0x00000000u;
|
|
/* 02774F44 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02774F44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02774F48 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774F4C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02774F4C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02774F50 */ Gambit_fn_02791B10(cpu);
|
|
/* 02774F54 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02774F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02774F58 */ cpu->lr = cpu->r[0];
|
|
/* 02774F5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02774F60 */ return;
|
|
}
|
|
|
|
// fn_02774F64 @ 0x2774f64
|
|
void Gambit_fn_02774F64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _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;
|
|
|
|
L_02774F64: ; // 0x2774f64
|
|
/* 02774F64 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02774F64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02774F64 */ cpu->r[1] = _t0;
|
|
/* 02774F68 */ /* nop */
|
|
/* 02774F6C */ cpu->r[0] = cpu->lr;
|
|
/* 02774F70 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02774F70 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02774F74 */ cpu->r[29] = cpu->r[3];
|
|
/* 02774F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02774F78 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774F78 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02774F78 */ if (_t3) goto L_02774F7C; else goto L_02774F8C;
|
|
L_02774F7C: ; // 0x2774f7c
|
|
/* 02774F7C */ cpu->r[3] = 0x00000100u;
|
|
/* 02774F80 */ Gambit_fn_02801A78(cpu);
|
|
/* 02774F84 */ cpu->r[29] = cpu->r[3];
|
|
/* 02774F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02774F88 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774F88 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02774F88 */ if (_t5) goto L_02775428; else goto L_02774F8C;
|
|
L_02774F8C: ; // 0x2774f8c
|
|
/* 02774F8C */ cpu->r[3] = cpu->r[29];
|
|
/* 02774F90 */ Gambit_fn_02000020(cpu);
|
|
/* 02774F94 */ cpu->r[6] = 0x10100000u;
|
|
/* 02774F98 */ cpu->r[31] = cpu->r[29] + 0x00000050u;
|
|
/* 02774F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02774F9C */ cpu->r[6] = cpu->r[6] + 0x00002570u;
|
|
/* 02774FA0 */ cpu->r[28] = 0x00000000u;
|
|
/* 02774FA4 */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 02774FA4 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 02774FA8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774FA8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02774FA8 */ if (_t8) goto L_02774FAC; else goto L_02774FBC;
|
|
L_02774FAC: ; // 0x2774fac
|
|
/* 02774FAC */ cpu->r[3] = 0x00000038u;
|
|
/* 02774FB0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02774FB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02774FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02774FB8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02774FB8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02774FB8 */ if (_t10) goto L_02774FEC; else goto L_02774FBC;
|
|
L_02774FBC: ; // 0x2774fbc
|
|
/* 02774FBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02774FC0 */ Gambit_fn_027FC29C(cpu);
|
|
/* 02774FC4 */ cpu->r[8] = 0x10100000u;
|
|
/* 02774FC8 */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 02774FC8 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 02774FCC */ cpu->r[8] = cpu->r[8] + 0x0000064Cu;
|
|
/* 02774FD0 */ _t12 = cpu->r[31] + 0x00000034u;
|
|
/* 02774FD0 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02774FD4 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02774FD4 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 02774FD8 */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 02774FD8 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 02774FDC */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 02774FDC */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 02774FE0 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02774FE0 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 02774FE4 */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02774FE4 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02774FE8 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 02774FE8 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
L_02774FEC: ; // 0x2774fec
|
|
/* 02774FEC */ _t19 = cpu->r[29] + 0x00000094u;
|
|
/* 02774FEC */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 02774FF0 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02774FF4 */ _t20 = cpu->r[29] + 0x00000090u;
|
|
/* 02774FF4 */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
/* 02774FF8 */ _t21 = cpu->r[29] + 0x00000088u;
|
|
/* 02774FF8 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02774FFC */ cpu->r[31] = cpu->r[29] + 0x00000098u;
|
|
/* 02774FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02775000 */ _t22 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02775000 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[28]);
|
|
/* 02775004 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775004 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02775004 */ if (_t24) goto L_02775008; else goto L_02775018;
|
|
L_02775008: ; // 0x2775008
|
|
/* 02775008 */ cpu->r[3] = 0x00000024u;
|
|
/* 0277500C */ Gambit_fn_02801A78(cpu);
|
|
/* 02775010 */ cpu->r[31] = cpu->r[3];
|
|
/* 02775010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02775014 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775014 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02775014 */ if (_t26) goto L_02775048; else goto L_02775018;
|
|
L_02775018: ; // 0x2775018
|
|
/* 02775018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0277501C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277501C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0277501C */ if (_t28) goto L_02775020; else goto L_02775028;
|
|
L_02775020: ; // 0x2775020
|
|
/* 02775020 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02775024 */ Gambit_fn_02801A78(cpu);
|
|
L_02775028: ; // 0x2775028
|
|
/* 02775028 */ cpu->r[10] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02775028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0277502C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277502C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0277502C */ if (_t30) goto L_02775030; else goto L_02775038;
|
|
L_02775030: ; // 0x2775030
|
|
/* 02775030 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02775034 */ Gambit_fn_02801A78(cpu);
|
|
L_02775038: ; // 0x2775038
|
|
/* 02775038 */ cpu->r[0] = cpu->r[31] + 0x00000018u;
|
|
/* 02775038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277503C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277503C */ _t32 = _t31 & 0x00000001u;
|
|
/* 0277503C */ if (_t32) goto L_02775040; else goto L_02775048;
|
|
L_02775040: ; // 0x2775040
|
|
/* 02775040 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02775044 */ Gambit_fn_02801A78(cpu);
|
|
L_02775048: ; // 0x2775048
|
|
/* 02775048 */ cpu->r[12] = cpu->r[29] + 0x00000098u;
|
|
/* 0277504C */ cpu->r[5] = cpu->r[12] + 0x00000024u;
|
|
/* 0277504C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02775050 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775050 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02775050 */ if (_t34) goto L_02775054; else goto L_0277505C;
|
|
L_02775054: ; // 0x2775054
|
|
/* 02775054 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02775058 */ Gambit_fn_02801A78(cpu);
|
|
L_0277505C: ; // 0x277505c
|
|
/* 0277505C */ _t35 = cpu->r[29] + 0x000000D8u;
|
|
/* 0277505C */ rbrew_write32(cpu->mem, _t35, cpu->r[28]);
|
|
/* 02775060 */ cpu->r[7] = 0x10100000u;
|
|
/* 02775064 */ _t36 = cpu->r[29] + 0x000000DCu;
|
|
/* 02775064 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[28]);
|
|
/* 02775068 */ cpu->r[6] = 0x00000001u;
|
|
/* 0277506C */ _t37 = cpu->r[7] + 0x000024F0u;
|
|
/* 0277506C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02775070 */ cpu->r[5] = 0x10100000u;
|
|
/* 02775074 */ _t38 = cpu->r[29] + 0x000000DDu;
|
|
/* 02775074 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[6]);
|
|
/* 02775078 */ _t39 = cpu->r[5] + 0x000024ECu;
|
|
/* 02775078 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 0277507C */ _t40 = cpu->r[29] + 0x000000E0u;
|
|
/* 0277507C */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 02775080 */ _t41 = cpu->r[29] + 0x000000E4u;
|
|
/* 02775080 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 02775084 */ _t42 = cpu->r[29] + 0x000000ECu;
|
|
/* 02775084 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[28]);
|
|
/* 02775088 */ _t43 = cpu->r[29] + 0x000000D0u;
|
|
/* 02775088 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 0277508C */ _t44 = cpu->r[29] + 0x000000D4u;
|
|
/* 0277508C */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[28]);
|
|
/* 02775090 */ _t45 = cpu->r[29] + 0x000000E8u;
|
|
/* 02775090 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
|
|
/* 02775094 */ _t46 = cpu->r[29] + 0x000000C8u;
|
|
/* 02775094 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
/* 02775098 */ cpu->r[3] = cpu->r[29] + 0x000000F0u;
|
|
/* 02775098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277509C */ _t47 = cpu->r[29] + 0x000000CCu;
|
|
/* 0277509C */ rbrew_write_f32(cpu->mem, _t47, cpu->f[13]);
|
|
/* 027750A0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027750A0 */ _t49 = _t48 & 0x00000001u;
|
|
/* 027750A0 */ if (_t49) goto L_027750A4; else goto L_027750B4;
|
|
L_027750A4: ; // 0x27750a4
|
|
/* 027750A4 */ cpu->r[3] = 0x00000008u;
|
|
/* 027750A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027750AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027750B0 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027750B0 */ _t51 = _t50 & 0x00000001u;
|
|
/* 027750B0 */ if (_t51) goto L_027750C4; else goto L_027750B4;
|
|
L_027750B4: ; // 0x27750b4
|
|
/* 027750B4 */ cpu->r[7] = 0x10100000u;
|
|
/* 027750B8 */ _t52 = cpu->r[3] + 0x00000004u;
|
|
/* 027750B8 */ rbrew_write32(cpu->mem, _t52, cpu->r[29]);
|
|
/* 027750BC */ cpu->r[7] = cpu->r[7] + 0x00002478u;
|
|
/* 027750C0 */ _t53 = cpu->r[3] + 0x00000000u;
|
|
/* 027750C0 */ rbrew_write32(cpu->mem, _t53, cpu->r[7]);
|
|
L_027750C4: ; // 0x27750c4
|
|
/* 027750C4 */ cpu->r[3] = cpu->r[29] + 0x000000F8u;
|
|
/* 027750C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027750C8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027750C8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 027750C8 */ if (_t55) goto L_027750CC; else goto L_027750DC;
|
|
L_027750CC: ; // 0x27750cc
|
|
/* 027750CC */ cpu->r[3] = 0x00000008u;
|
|
/* 027750D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027750D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027750D8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027750D8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 027750D8 */ if (_t57) goto L_027750EC; else goto L_027750DC;
|
|
L_027750DC: ; // 0x27750dc
|
|
/* 027750DC */ cpu->r[0] = 0x10100000u;
|
|
/* 027750E0 */ _t58 = cpu->r[3] + 0x00000004u;
|
|
/* 027750E0 */ rbrew_write32(cpu->mem, _t58, cpu->r[29]);
|
|
/* 027750E4 */ cpu->r[0] = cpu->r[0] + 0x000024A0u;
|
|
/* 027750E8 */ _t59 = cpu->r[3] + 0x00000000u;
|
|
/* 027750E8 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
L_027750EC: ; // 0x27750ec
|
|
/* 027750EC */ cpu->r[0] = 0x00000003u;
|
|
/* 027750F0 */ cpu->r[3] = cpu->r[29] + 0x00000050u;
|
|
/* 027750F4 */ cpu->r[4] = cpu->r[29];
|
|
/* 027750F8 */ cpu->r[6] = 0x00000000u;
|
|
/* 027750FC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02775100 */ _t60 = cpu->r[1] + 0x00000008u;
|
|
/* 02775100 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[0]);
|
|
/* 02775104 */ Gambit_fn_0277643C(cpu);
|
|
/* 02775108 */ cpu->r[3] = cpu->r[29];
|
|
/* 0277510C */ cpu->r[4] = cpu->r[29] + 0x00000050u;
|
|
/* 02775110 */ Gambit_fn_02000834(cpu);
|
|
/* 02775114 */ cpu->r[25] = 0x10100000u;
|
|
/* 02775118 */ cpu->r[27] = 0x02770000u;
|
|
/* 0277511C */ cpu->r[25] = cpu->r[25] + 0x000023F8u;
|
|
/* 02775120 */ cpu->r[9] = 0x10100000u;
|
|
/* 02775124 */ cpu->r[27] = cpu->r[27] + 0x00006100u;
|
|
/* 02775128 */ cpu->r[9] = cpu->r[9] + 0x000024F4u;
|
|
/* 0277512C */ cpu->ctr = cpu->r[27];
|
|
/* 02775130 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775130 */ rbrew_write32(cpu->mem, _t61, cpu->r[9]);
|
|
/* 02775134 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 02775134 */ rbrew_write32(cpu->mem, _t62, cpu->r[25]);
|
|
/* 02775138 */ _t63 = cpu->r[29] + 0x00000068u;
|
|
/* 02775138 */ cpu->r[24] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0277513C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775140 */ _t64 = cpu->r[24] + 0x00000000u;
|
|
/* 02775140 */ cpu->r[26] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02775144 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775148 */ cpu->r[31] = 0x10110000u;
|
|
/* 0277514C */ _t65 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277514C */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02775150 */ _t66 = cpu->r[31] + 0x00007399u;
|
|
/* 02775150 */ cpu->r[31] = rbrew_read8(cpu->mem, _t66);
|
|
/* 02775154 */ _t67 = cpu->r[12] + 0x00000000u;
|
|
/* 02775154 */ cpu->r[10] = rbrew_read8(cpu->mem, _t67);
|
|
/* 02775158 */ cpu->r[30] = 0x00000000u;
|
|
/* 0277515C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02775160 */ cpu->r[8] = 0x00080000u;
|
|
/* 02775164 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775164 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02775164 */ if (_t69) goto L_0277518C; else goto L_02775168;
|
|
L_02775168: ; // 0x2775168
|
|
/* 02775168 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0277516C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 02775170 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02775174 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02775174 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02775174 */ if (_t71) goto L_02775188; else goto L_02775178;
|
|
L_02775178: ; // 0x2775178
|
|
/* 02775178 */ _t72 = cpu->r[12] + 0x00000000u;
|
|
/* 02775178 */ cpu->r[11] = rbrew_read8(cpu->mem, _t72);
|
|
/* 0277517C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02775180 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775180 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02775180 */ if (_t74) goto L_02775184; else goto L_02775168;
|
|
L_02775184: ; // 0x2775184
|
|
/* 02775184 */ goto L_0277518C;
|
|
L_02775188: ; // 0x2775188
|
|
/* 02775188 */ cpu->r[30] = 0x00000000u;
|
|
L_0277518C: ; // 0x277518c
|
|
/* 0277518C */ _t75 = cpu->r[24] + 0x00000008u;
|
|
/* 0277518C */ cpu->r[11] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02775190 */ _t76 = cpu->r[1] + 0x00000010u;
|
|
/* 02775190 */ cpu->r[12] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02775194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 02775198 */ _t77 = cpu->r[12] + 0x00000014u;
|
|
/* 02775198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0277519C */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277519C */ _t79 = _t78 & 0x00000001u;
|
|
/* 0277519C */ if (_t79) goto L_027751A4; else goto L_027751A0;
|
|
L_027751A0: ; // 0x27751a0
|
|
/* 027751A0 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_027751A4: ; // 0x27751a4
|
|
/* 027751A4 */ cpu->ctr = cpu->r[0];
|
|
/* 027751A8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027751AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027751B0 */ _t80 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027751B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027751B4 */ cpu->r[6] = 0x00000000u;
|
|
/* 027751B8 */ cpu->r[5] = cpu->r[30];
|
|
/* 027751BC */ cpu->r[3] = cpu->r[26];
|
|
/* 027751C0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027751C4 */ _t81 = cpu->r[26] + cpu->r[30];
|
|
/* 027751C4 */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[31]);
|
|
/* 027751C8 */ cpu->r[7] = 0x02770000u;
|
|
/* 027751CC */ _t82 = cpu->r[1] + 0x00000014u;
|
|
/* 027751CC */ rbrew_write16(cpu->mem, _t82, (uint16_t)cpu->r[28]);
|
|
/* 027751D0 */ cpu->r[7] = cpu->r[7] + 0x00005E40u;
|
|
/* 027751D4 */ _t83 = cpu->r[1] + 0x00000028u;
|
|
/* 027751D4 */ rbrew_write32(cpu->mem, _t83, cpu->r[28]);
|
|
/* 027751D8 */ cpu->r[5] = 0x02770000u;
|
|
/* 027751DC */ _t84 = cpu->r[1] + 0x00000024u;
|
|
/* 027751DC */ rbrew_write16(cpu->mem, _t84, (uint16_t)cpu->r[28]);
|
|
/* 027751E0 */ cpu->r[5] = cpu->r[5] + 0x000063C0u;
|
|
/* 027751E4 */ _t85 = cpu->r[1] + 0x00000020u;
|
|
/* 027751E4 */ rbrew_write32(cpu->mem, _t85, cpu->r[7]);
|
|
/* 027751E8 */ _t86 = cpu->r[1] + 0x00000026u;
|
|
/* 027751E8 */ rbrew_write16(cpu->mem, _t86, (uint16_t)cpu->r[28]);
|
|
/* 027751EC */ cpu->r[10] = 0x00000000u;
|
|
/* 027751F0 */ _t87 = cpu->r[1] + 0x00000018u;
|
|
/* 027751F0 */ rbrew_write32(cpu->mem, _t87, cpu->r[5]);
|
|
/* 027751F4 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 027751F8 */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 027751F8 */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[10]);
|
|
/* 027751FC */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02775200 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02775204 */ _t89 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02775204 */ rbrew_write16(cpu->mem, _t89, (uint16_t)cpu->r[11]);
|
|
/* 02775208 */ cpu->r[3] = cpu->r[29] + 0x00000050u;
|
|
/* 0277520C */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02775210 */ _t90 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02775210 */ rbrew_write16(cpu->mem, _t90, (uint16_t)cpu->r[28]);
|
|
/* 02775214 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02775218 */ _t91 = cpu->r[1] + 0x00000016u;
|
|
/* 02775218 */ rbrew_write16(cpu->mem, _t91, (uint16_t)cpu->r[11]);
|
|
/* 0277521C */ Gambit_fn_027766EC(cpu);
|
|
/* 02775220 */ cpu->r[11] = 0x10100000u;
|
|
/* 02775224 */ _t92 = cpu->r[1] + 0x00000010u;
|
|
/* 02775224 */ rbrew_write32(cpu->mem, _t92, cpu->r[25]);
|
|
/* 02775228 */ cpu->r[11] = cpu->r[11] + 0x00002500u;
|
|
/* 0277522C */ _t93 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277522C */ rbrew_write32(cpu->mem, _t93, cpu->r[11]);
|
|
/* 02775230 */ _t94 = cpu->r[29] + 0x00000064u;
|
|
/* 02775230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02775234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02775238 */ _t95 = cpu->r[29] + 0x00000068u;
|
|
/* 02775238 */ cpu->r[26] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0277523C */ _t96 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277523C */ _t97 = _t96 & 0x00000001u;
|
|
/* 0277523C */ if (_t97) goto L_02775240; else goto L_02775244;
|
|
L_02775240: ; // 0x2775240
|
|
/* 02775240 */ cpu->r[26] = cpu->r[26] + 0x00000024u;
|
|
L_02775244: ; // 0x2775244
|
|
/* 02775244 */ cpu->ctr = cpu->r[27];
|
|
/* 02775248 */ _t98 = cpu->r[26] + 0x00000000u;
|
|
/* 02775248 */ cpu->r[24] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0277524C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775250 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775254 */ _t99 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775254 */ cpu->r[8] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02775258 */ _t100 = cpu->r[8] + 0x00000000u;
|
|
/* 02775258 */ cpu->r[0] = rbrew_read8(cpu->mem, _t100);
|
|
/* 0277525C */ cpu->r[30] = 0x00000000u;
|
|
/* 02775260 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02775264 */ cpu->r[10] = 0x00080000u;
|
|
/* 02775268 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775268 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02775268 */ if (_t102) goto L_02775290; else goto L_0277526C;
|
|
L_0277526C: ; // 0x277526c
|
|
/* 0277526C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02775270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 02775274 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02775278 */ _t103 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02775278 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02775278 */ if (_t104) goto L_0277528C; else goto L_0277527C;
|
|
L_0277527C: ; // 0x277527c
|
|
/* 0277527C */ _t105 = cpu->r[8] + 0x00000000u;
|
|
/* 0277527C */ cpu->r[0] = rbrew_read8(cpu->mem, _t105);
|
|
/* 02775280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02775284 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775284 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02775284 */ if (_t107) goto L_02775288; else goto L_0277526C;
|
|
L_02775288: ; // 0x2775288
|
|
/* 02775288 */ goto L_02775290;
|
|
L_0277528C: ; // 0x277528c
|
|
/* 0277528C */ cpu->r[30] = 0x00000000u;
|
|
L_02775290: ; // 0x2775290
|
|
/* 02775290 */ _t108 = cpu->r[26] + 0x00000008u;
|
|
/* 02775290 */ cpu->r[6] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02775294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 02775298 */ _t109 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775298 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02775298 */ if (_t110) goto L_027752A0; else goto L_0277529C;
|
|
L_0277529C: ; // 0x277529c
|
|
/* 0277529C */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_027752A0: ; // 0x27752a0
|
|
/* 027752A0 */ _t111 = cpu->r[1] + 0x00000010u;
|
|
/* 027752A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t111);
|
|
/* 027752A4 */ _t112 = cpu->r[6] + 0x00000014u;
|
|
/* 027752A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t112);
|
|
/* 027752A8 */ cpu->ctr = cpu->r[7];
|
|
/* 027752AC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027752B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027752B4 */ _t113 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027752B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t113);
|
|
/* 027752B8 */ cpu->r[6] = 0x00000000u;
|
|
/* 027752BC */ cpu->r[5] = cpu->r[30];
|
|
/* 027752C0 */ cpu->r[3] = cpu->r[24];
|
|
/* 027752C4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027752C8 */ _t114 = cpu->r[24] + cpu->r[30];
|
|
/* 027752C8 */ rbrew_write8(cpu->mem, _t114, (uint8_t)cpu->r[31]);
|
|
/* 027752CC */ cpu->r[10] = 0x00000001u;
|
|
/* 027752D0 */ _t115 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027752D0 */ rbrew_write16(cpu->mem, _t115, (uint16_t)cpu->r[28]);
|
|
/* 027752D4 */ cpu->r[9] = 0x02770000u;
|
|
/* 027752D8 */ _t116 = cpu->r[1] + 0x00000024u;
|
|
/* 027752D8 */ rbrew_write16(cpu->mem, _t116, (uint16_t)cpu->r[28]);
|
|
/* 027752DC */ cpu->r[9] = cpu->r[9] + 0x000063C8u;
|
|
/* 027752E0 */ _t117 = cpu->r[1] + 0x00000008u;
|
|
/* 027752E0 */ rbrew_write8(cpu->mem, _t117, (uint8_t)cpu->r[10]);
|
|
/* 027752E4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 027752E8 */ _t118 = cpu->r[1] + 0x00000026u;
|
|
/* 027752E8 */ rbrew_write16(cpu->mem, _t118, (uint16_t)cpu->r[28]);
|
|
/* 027752EC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 027752F0 */ _t119 = cpu->r[1] + 0x00000016u;
|
|
/* 027752F0 */ rbrew_write16(cpu->mem, _t119, (uint16_t)cpu->r[0]);
|
|
/* 027752F4 */ cpu->r[12] = 0x02770000u;
|
|
/* 027752F8 */ _t120 = cpu->r[1] + 0x00000014u;
|
|
/* 027752F8 */ rbrew_write16(cpu->mem, _t120, (uint16_t)cpu->r[28]);
|
|
/* 027752FC */ cpu->r[12] = cpu->r[12] + 0x000063C4u;
|
|
/* 02775300 */ _t121 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02775300 */ rbrew_write16(cpu->mem, _t121, (uint16_t)cpu->r[0]);
|
|
/* 02775304 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02775308 */ _t122 = cpu->r[1] + 0x00000018u;
|
|
/* 02775308 */ rbrew_write32(cpu->mem, _t122, cpu->r[9]);
|
|
/* 0277530C */ cpu->r[3] = cpu->r[29] + 0x00000050u;
|
|
/* 02775310 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02775314 */ _t123 = cpu->r[1] + 0x00000020u;
|
|
/* 02775314 */ rbrew_write32(cpu->mem, _t123, cpu->r[12]);
|
|
/* 02775318 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0277531C */ _t124 = cpu->r[1] + 0x00000028u;
|
|
/* 0277531C */ rbrew_write32(cpu->mem, _t124, cpu->r[28]);
|
|
/* 02775320 */ Gambit_fn_027766EC(cpu);
|
|
/* 02775324 */ cpu->r[11] = 0x10100000u;
|
|
/* 02775328 */ _t125 = cpu->r[1] + 0x00000010u;
|
|
/* 02775328 */ rbrew_write32(cpu->mem, _t125, cpu->r[25]);
|
|
/* 0277532C */ cpu->r[11] = cpu->r[11] + 0x0000250Cu;
|
|
/* 02775330 */ _t126 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775330 */ rbrew_write32(cpu->mem, _t126, cpu->r[11]);
|
|
/* 02775334 */ _t127 = cpu->r[29] + 0x00000064u;
|
|
/* 02775334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02775338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0277533C */ _t128 = cpu->r[29] + 0x00000068u;
|
|
/* 0277533C */ cpu->r[30] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02775340 */ _t129 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02775340 */ _t130 = _t129 & 0x00000001u;
|
|
/* 02775340 */ if (_t130) goto L_02775344; else goto L_02775348;
|
|
L_02775344: ; // 0x2775344
|
|
/* 02775344 */ cpu->r[30] = cpu->r[30] + 0x00000048u;
|
|
L_02775348: ; // 0x2775348
|
|
/* 02775348 */ cpu->ctr = cpu->r[27];
|
|
/* 0277534C */ _t131 = cpu->r[30] + 0x00000000u;
|
|
/* 0277534C */ cpu->r[26] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02775350 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775354 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775358 */ _t132 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775358 */ cpu->r[8] = rbrew_read32(cpu->mem, _t132);
|
|
/* 0277535C */ _t133 = cpu->r[8] + 0x00000000u;
|
|
/* 0277535C */ cpu->r[9] = rbrew_read8(cpu->mem, _t133);
|
|
/* 02775360 */ cpu->r[27] = 0x00000000u;
|
|
/* 02775364 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02775368 */ cpu->r[0] = 0x00080000u;
|
|
/* 0277536C */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277536C */ _t135 = _t134 & 0x00000001u;
|
|
/* 0277536C */ if (_t135) goto L_02775394; else goto L_02775370;
|
|
L_02775370: ; // 0x2775370
|
|
/* 02775370 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02775374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]);
|
|
/* 02775378 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0277537C */ _t136 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277537C */ _t137 = _t136 & 0x00000001u;
|
|
/* 0277537C */ if (_t137) goto L_02775390; else goto L_02775380;
|
|
L_02775380: ; // 0x2775380
|
|
/* 02775380 */ _t138 = cpu->r[8] + 0x00000000u;
|
|
/* 02775380 */ cpu->r[10] = rbrew_read8(cpu->mem, _t138);
|
|
/* 02775384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02775388 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775388 */ _t140 = _t139 & 0x00000001u;
|
|
/* 02775388 */ if (_t140) goto L_0277538C; else goto L_02775370;
|
|
L_0277538C: ; // 0x277538c
|
|
/* 0277538C */ goto L_02775394;
|
|
L_02775390: ; // 0x2775390
|
|
/* 02775390 */ cpu->r[27] = 0x00000000u;
|
|
L_02775394: ; // 0x2775394
|
|
/* 02775394 */ _t141 = cpu->r[30] + 0x00000008u;
|
|
/* 02775394 */ cpu->r[8] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02775398 */ _t142 = cpu->r[1] + 0x00000010u;
|
|
/* 02775398 */ cpu->r[12] = rbrew_read32(cpu->mem, _t142);
|
|
/* 0277539C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[8]);
|
|
/* 027753A0 */ _t143 = cpu->r[12] + 0x00000014u;
|
|
/* 027753A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t143);
|
|
/* 027753A4 */ _t144 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027753A4 */ _t145 = _t144 & 0x00000001u;
|
|
/* 027753A4 */ if (_t145) goto L_027753AC; else goto L_027753A8;
|
|
L_027753A8: ; // 0x27753a8
|
|
/* 027753A8 */ cpu->r[27] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_027753AC: ; // 0x27753ac
|
|
/* 027753AC */ cpu->ctr = cpu->r[0];
|
|
/* 027753B0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027753B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027753B8 */ _t146 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027753B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t146);
|
|
/* 027753BC */ cpu->r[3] = cpu->r[26];
|
|
/* 027753C0 */ cpu->r[5] = cpu->r[27];
|
|
/* 027753C4 */ cpu->r[6] = 0x00000000u;
|
|
/* 027753C8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 027753CC */ _t147 = cpu->r[26] + cpu->r[27];
|
|
/* 027753CC */ rbrew_write8(cpu->mem, _t147, (uint8_t)cpu->r[31]);
|
|
/* 027753D0 */ cpu->r[9] = 0x02770000u;
|
|
/* 027753D4 */ _t148 = cpu->r[1] + 0x00000014u;
|
|
/* 027753D4 */ rbrew_write16(cpu->mem, _t148, (uint16_t)cpu->r[28]);
|
|
/* 027753D8 */ cpu->r[0] = 0x00000002u;
|
|
/* 027753DC */ _t149 = cpu->r[1] + 0x00000028u;
|
|
/* 027753DC */ rbrew_write32(cpu->mem, _t149, cpu->r[28]);
|
|
/* 027753E0 */ cpu->r[9] = cpu->r[9] + 0x00005E88u;
|
|
/* 027753E4 */ _t150 = cpu->r[1] + 0x00000008u;
|
|
/* 027753E4 */ rbrew_write8(cpu->mem, _t150, (uint8_t)cpu->r[0]);
|
|
/* 027753E8 */ cpu->r[0] = 0x02770000u;
|
|
/* 027753EC */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 027753F0 */ _t151 = cpu->r[1] + 0x00000020u;
|
|
/* 027753F0 */ rbrew_write32(cpu->mem, _t151, cpu->r[9]);
|
|
/* 027753F4 */ cpu->r[0] = cpu->r[0] + 0x00005EF4u;
|
|
/* 027753F8 */ _t152 = cpu->r[1] + 0x00000016u;
|
|
/* 027753F8 */ rbrew_write16(cpu->mem, _t152, (uint16_t)cpu->r[5]);
|
|
/* 027753FC */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02775400 */ _t153 = cpu->r[1] + 0x00000018u;
|
|
/* 02775400 */ rbrew_write32(cpu->mem, _t153, cpu->r[0]);
|
|
/* 02775404 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 02775408 */ _t154 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02775408 */ rbrew_write16(cpu->mem, _t154, (uint16_t)cpu->r[28]);
|
|
/* 0277540C */ _t155 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277540C */ rbrew_write16(cpu->mem, _t155, (uint16_t)cpu->r[5]);
|
|
/* 02775410 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02775414 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02775418 */ _t156 = cpu->r[1] + 0x00000026u;
|
|
/* 02775418 */ rbrew_write16(cpu->mem, _t156, (uint16_t)cpu->r[28]);
|
|
/* 0277541C */ cpu->r[3] = cpu->r[29] + 0x00000050u;
|
|
/* 02775420 */ _t157 = cpu->r[1] + 0x00000024u;
|
|
/* 02775420 */ rbrew_write16(cpu->mem, _t157, (uint16_t)cpu->r[28]);
|
|
/* 02775424 */ Gambit_fn_027766EC(cpu);
|
|
L_02775428: ; // 0x2775428
|
|
/* 02775428 */ cpu->r[3] = cpu->r[29];
|
|
/* 0277542C */ /* nop */
|
|
/* 02775430 */ _t158 = cpu->r[1] + 0x00000054u;
|
|
/* 02775430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02775434 */ cpu->lr = cpu->r[0];
|
|
/* 02775438 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0277543C */ return;
|
|
}
|
|
|
|
// fn_02775440 @ 0x2775440
|
|
void Gambit_fn_02775440(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94;
|
|
|
|
L_02775440: ; // 0x2775440
|
|
/* 02775440 */ cpu->r[0] = cpu->lr;
|
|
/* 02775444 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02775444 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775444 */ cpu->r[1] = _t0;
|
|
/* 02775448 */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 02775448 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0277544C */ /* nop */
|
|
/* 02775450 */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 02775450 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02775454 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02775454 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02775458 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277545C */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 0277545C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02775460 */ _t5 = cpu->r[1] + 0x00000040u;
|
|
/* 02775460 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02775464 */ _t6 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02775464 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02775468 */ _t7 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02775468 */ cpu->r[8] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0277546C */ cpu->r[12] = 0x10100000u;
|
|
/* 02775470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02775474 */ _t8 = cpu->r[12] + 0x000024F0u;
|
|
/* 02775474 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02775478 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775478 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02775478 */ if (_t10) goto L_027754F4; else goto L_0277547C;
|
|
L_0277547C: ; // 0x277547c
|
|
/* 0277547C */ cpu->r[11] = 0x10100000u;
|
|
/* 02775480 */ cpu->r[4] = 0x101F0000u;
|
|
/* 02775484 */ _t11 = cpu->r[11] + 0x0000251Cu;
|
|
/* 02775484 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02775488 */ cpu->r[4] = cpu->r[4] + 0x00006350u;
|
|
/* 0277548C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02775490 */ Gambit_fn_0204E138(cpu);
|
|
/* 02775494 */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 02775494 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02775498 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 02775498 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0277549C */ _t14 = cpu->r[31] + 0x000000B8u;
|
|
/* 0277549C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 027754A0 */ _t15 = cpu->r[31] + 0x000000B4u;
|
|
/* 027754A0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 027754A4 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 027754A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027754A8 */ _t17 = cpu->r[31] + 0x0000008Cu;
|
|
/* 027754A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 027754AC */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027754AC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027754B0 */ _t19 = cpu->r[31] + 0x000000A4u;
|
|
/* 027754B0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 027754B4 */ _t20 = cpu->r[31] + 0x00000098u;
|
|
/* 027754B4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 027754B8 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027754B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027754BC */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 027754BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027754C0 */ _t23 = cpu->r[31] + 0x000000A0u;
|
|
/* 027754C0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 027754C4 */ _t24 = cpu->r[31] + 0x0000009Cu;
|
|
/* 027754C4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 027754C8 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 027754C8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027754CC */ _t26 = cpu->r[1] + 0x00000030u;
|
|
/* 027754CC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 027754D0 */ _t27 = cpu->r[31] + 0x000000A8u;
|
|
/* 027754D0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 027754D4 */ cpu->r[9] = 0x101F0000u;
|
|
/* 027754D8 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027754D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027754DC */ cpu->r[9] = cpu->r[9] + 0x00006338u;
|
|
/* 027754E0 */ _t29 = cpu->r[31] + 0x000000ACu;
|
|
/* 027754E0 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 027754E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027754E8 */ _t30 = cpu->r[31] + 0x000000B0u;
|
|
/* 027754E8 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 027754EC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027754EC */ _t32 = _t31 & 0x00000001u;
|
|
/* 027754EC */ if (_t32) goto L_0277556C; else goto L_027754F0;
|
|
L_027754F0: ; // 0x27754f0
|
|
/* 027754F0 */ goto L_02775564;
|
|
L_027754F4: ; // 0x27754f4
|
|
/* 027754F4 */ cpu->f[1] = cpu->f[31];
|
|
/* 027754F8 */ cpu->r[4] = 0x101F0000u;
|
|
/* 027754FC */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02775500 */ cpu->r[4] = cpu->r[4] + 0x00006350u;
|
|
/* 02775504 */ Gambit_fn_0204E138(cpu);
|
|
/* 02775508 */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 02775508 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0277550C */ _t34 = cpu->r[1] + 0x00000028u;
|
|
/* 0277550C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02775510 */ _t35 = cpu->r[31] + 0x000000B8u;
|
|
/* 02775510 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 02775514 */ _t36 = cpu->r[31] + 0x000000B4u;
|
|
/* 02775514 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 02775518 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02775518 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 0277551C */ _t38 = cpu->r[31] + 0x0000008Cu;
|
|
/* 0277551C */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02775520 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02775520 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02775524 */ _t40 = cpu->r[31] + 0x000000A4u;
|
|
/* 02775524 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 02775528 */ _t41 = cpu->r[31] + 0x00000098u;
|
|
/* 02775528 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 0277552C */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0277552C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02775530 */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 02775530 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02775534 */ _t44 = cpu->r[31] + 0x000000A0u;
|
|
/* 02775534 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
/* 02775538 */ _t45 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02775538 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
|
|
/* 0277553C */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 0277553C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02775540 */ _t47 = cpu->r[1] + 0x00000030u;
|
|
/* 02775540 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02775544 */ _t48 = cpu->r[31] + 0x000000A8u;
|
|
/* 02775544 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]);
|
|
/* 02775548 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0277554C */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277554C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02775550 */ cpu->r[9] = cpu->r[9] + 0x00006338u;
|
|
/* 02775554 */ _t50 = cpu->r[31] + 0x000000ACu;
|
|
/* 02775554 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[13]);
|
|
/* 02775558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277555C */ _t51 = cpu->r[31] + 0x000000B0u;
|
|
/* 0277555C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[0]);
|
|
/* 02775560 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775560 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02775560 */ if (_t53) goto L_0277556C; else goto L_02775564;
|
|
L_02775564: ; // 0x2775564
|
|
/* 02775564 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02775568 */ cpu->r[9] = cpu->r[9] + 0x00001D94u;
|
|
L_0277556C: ; // 0x277556c
|
|
/* 0277556C */ _t54 = cpu->r[9] + 0x00000000u;
|
|
/* 0277556C */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02775570 */ _t55 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02775570 */ cpu->r[0] = rbrew_read8(cpu->mem, _t55);
|
|
/* 02775574 */ _t56 = cpu->r[31] + 0x000000BCu;
|
|
/* 02775574 */ rbrew_write32(cpu->mem, _t56, cpu->r[10]);
|
|
/* 02775578 */ _t57 = cpu->r[9] + 0x00000004u;
|
|
/* 02775578 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0277557C */ cpu->r[8] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02775580 */ _t58 = cpu->r[31] + 0x000000C0u;
|
|
/* 02775580 */ rbrew_write32(cpu->mem, _t58, cpu->r[12]);
|
|
/* 02775584 */ _t59 = cpu->r[9] + 0x00000008u;
|
|
/* 02775584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02775588 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0277558C */ _t60 = cpu->r[31] + 0x000000DDu;
|
|
/* 0277558C */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[8]);
|
|
/* 02775590 */ cpu->r[30] = cpu->r[30] + 0xFFFF8E5Cu;
|
|
/* 02775594 */ _t61 = cpu->r[31] + 0x000000C4u;
|
|
/* 02775594 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 02775598 */ _t62 = cpu->r[30] + 0x00000004u;
|
|
/* 02775598 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0277559C */ _t63 = cpu->r[12] + 0x00000014u;
|
|
/* 0277559C */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027755A0 */ _t64 = cpu->r[31] + 0x000000D8u;
|
|
/* 027755A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027755A4 */ cpu->ctr = cpu->r[7];
|
|
/* 027755A8 */ _t65 = cpu->r[11] + 0x000000A4u;
|
|
/* 027755A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027755AC */ cpu->r[3] = cpu->r[30];
|
|
/* 027755B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027755B4 */ cpu->r[0] = 0x10100000u;
|
|
/* 027755B8 */ _t66 = cpu->r[30] + 0x00000000u;
|
|
/* 027755B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027755BC */ cpu->r[0] = cpu->r[0] + 0x000023F8u;
|
|
/* 027755C0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027755C4 */ cpu->r[30] = 0x00000000u;
|
|
/* 027755C8 */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 027755C8 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 027755CC */ cpu->r[3] = cpu->r[29];
|
|
/* 027755D0 */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027755D0 */ rbrew_write32(cpu->mem, _t68, cpu->r[10]);
|
|
/* 027755D4 */ Gambit_fn_02983BC4(cpu);
|
|
/* 027755D8 */ cpu->r[4] = cpu->r[30];
|
|
/* 027755DC */ _t69 = cpu->r[1] + 0x00000038u;
|
|
/* 027755DC */ rbrew_write32(cpu->mem, _t69, cpu->r[3]);
|
|
/* 027755E0 */ cpu->r[6] = cpu->r[4];
|
|
/* 027755E4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027755E8 */ _t70 = cpu->r[1] + 0x00000008u;
|
|
/* 027755E8 */ rbrew_write32(cpu->mem, _t70, cpu->r[3]);
|
|
/* 027755EC */ cpu->r[3] = cpu->r[29];
|
|
/* 027755F0 */ Gambit_fn_02983954(cpu);
|
|
/* 027755F4 */ _t71 = cpu->r[31] + 0x000000D8u;
|
|
/* 027755F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027755F8 */ _t72 = cpu->r[31] + 0x000000D4u;
|
|
/* 027755F8 */ rbrew_write8(cpu->mem, _t72, (uint8_t)cpu->r[30]);
|
|
/* 027755FC */ _t73 = cpu->r[31] + 0x000000C8u;
|
|
/* 027755FC */ rbrew_write_f32(cpu->mem, _t73, cpu->f[31]);
|
|
/* 02775600 */ _t74 = cpu->r[11] + 0x000000A4u;
|
|
/* 02775600 */ cpu->r[11] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02775604 */ _t75 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02775604 */ cpu->r[9] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02775608 */ _t76 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02775608 */ cpu->r[29] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0277560C */ _t77 = cpu->r[29] + 0x00000010u;
|
|
/* 0277560C */ cpu->r[7] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02775610 */ _t78 = cpu->r[29] + 0x00000008u;
|
|
/* 02775610 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 02775614 */ cpu->ctr = cpu->r[7];
|
|
/* 02775618 */ _t79 = cpu->r[29] + 0x00000014u;
|
|
/* 02775618 */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0277561C */ cpu->f[1] = cpu->f[31];
|
|
/* 02775620 */ _t80 = cpu->r[29] + 0x00000004u;
|
|
/* 02775620 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02775624 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775628 */ _t81 = cpu->r[29] + 0x00000000u;
|
|
/* 02775628 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[1]);
|
|
/* 0277562C */ _t82 = cpu->r[31] + 0x00000094u;
|
|
/* 0277562C */ rbrew_write32(cpu->mem, _t82, cpu->r[30]);
|
|
/* 02775630 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02775634 */ cpu->r[4] = cpu->r[30];
|
|
/* 02775638 */ Gambit_fn_0276C478(cpu);
|
|
/* 0277563C */ _t83 = cpu->r[31] + 0x000000D8u;
|
|
/* 0277563C */ cpu->r[8] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02775640 */ cpu->r[11] = cpu->r[31] + 0x000000F8u;
|
|
/* 02775644 */ _t84 = cpu->r[8] + 0x000000A8u;
|
|
/* 02775644 */ rbrew_write32(cpu->mem, _t84, cpu->r[11]);
|
|
/* 02775648 */ _t85 = cpu->r[31] + 0x00000008u;
|
|
/* 02775648 */ cpu->r[10] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0277564C */ cpu->r[12] = cpu->r[31] + 0x000000F0u;
|
|
/* 02775650 */ _t86 = cpu->r[10] + 0x000000A8u;
|
|
/* 02775650 */ rbrew_write32(cpu->mem, _t86, cpu->r[12]);
|
|
/* 02775654 */ _t87 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02775654 */ cpu->r[29] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02775658 */ _t88 = cpu->r[1] + 0x00000050u;
|
|
/* 02775658 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 0277565C */ _t89 = cpu->r[1] + 0x00000040u;
|
|
/* 0277565C */ cpu->r[30] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02775660 */ _t90 = cpu->r[1] + 0x00000048u;
|
|
/* 02775660 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t90);
|
|
/* 02775664 */ _t91 = cpu->r[1] + 0x00000044u;
|
|
/* 02775664 */ cpu->r[31] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02775668 */ _t92 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775668 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02775668 */ if (_t93) goto L_0277566C; // else: addr-0 trap, fall-through
|
|
L_0277566C: ; // 0x277566c
|
|
/* 0277566C */ _t94 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0277566C */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02775670 */ cpu->lr = cpu->r[0];
|
|
/* 02775674 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02775678 */ return;
|
|
}
|
|
|
|
// fn_02775444 @ 0x2775444
|
|
void Gambit_fn_02775444(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94;
|
|
|
|
L_02775444: ; // 0x2775444
|
|
/* 02775444 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02775444 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775444 */ cpu->r[1] = _t0;
|
|
/* 02775448 */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 02775448 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0277544C */ /* nop */
|
|
/* 02775450 */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 02775450 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02775454 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02775454 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02775458 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277545C */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 0277545C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02775460 */ _t5 = cpu->r[1] + 0x00000040u;
|
|
/* 02775460 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02775464 */ _t6 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02775464 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02775468 */ _t7 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02775468 */ cpu->r[8] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0277546C */ cpu->r[12] = 0x10100000u;
|
|
/* 02775470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02775474 */ _t8 = cpu->r[12] + 0x000024F0u;
|
|
/* 02775474 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02775478 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775478 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02775478 */ if (_t10) goto L_027754F4; else goto L_0277547C;
|
|
L_0277547C: ; // 0x277547c
|
|
/* 0277547C */ cpu->r[11] = 0x10100000u;
|
|
/* 02775480 */ cpu->r[4] = 0x101F0000u;
|
|
/* 02775484 */ _t11 = cpu->r[11] + 0x0000251Cu;
|
|
/* 02775484 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02775488 */ cpu->r[4] = cpu->r[4] + 0x00006350u;
|
|
/* 0277548C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02775490 */ Gambit_fn_0204E138(cpu);
|
|
/* 02775494 */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 02775494 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02775498 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 02775498 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0277549C */ _t14 = cpu->r[31] + 0x000000B8u;
|
|
/* 0277549C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 027754A0 */ _t15 = cpu->r[31] + 0x000000B4u;
|
|
/* 027754A0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 027754A4 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 027754A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 027754A8 */ _t17 = cpu->r[31] + 0x0000008Cu;
|
|
/* 027754A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 027754AC */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 027754AC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027754B0 */ _t19 = cpu->r[31] + 0x000000A4u;
|
|
/* 027754B0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 027754B4 */ _t20 = cpu->r[31] + 0x00000098u;
|
|
/* 027754B4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
/* 027754B8 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027754B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 027754BC */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 027754BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 027754C0 */ _t23 = cpu->r[31] + 0x000000A0u;
|
|
/* 027754C0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 027754C4 */ _t24 = cpu->r[31] + 0x0000009Cu;
|
|
/* 027754C4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 027754C8 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 027754C8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 027754CC */ _t26 = cpu->r[1] + 0x00000030u;
|
|
/* 027754CC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 027754D0 */ _t27 = cpu->r[31] + 0x000000A8u;
|
|
/* 027754D0 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 027754D4 */ cpu->r[9] = 0x101F0000u;
|
|
/* 027754D8 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027754D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 027754DC */ cpu->r[9] = cpu->r[9] + 0x00006338u;
|
|
/* 027754E0 */ _t29 = cpu->r[31] + 0x000000ACu;
|
|
/* 027754E0 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 027754E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027754E8 */ _t30 = cpu->r[31] + 0x000000B0u;
|
|
/* 027754E8 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 027754EC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027754EC */ _t32 = _t31 & 0x00000001u;
|
|
/* 027754EC */ if (_t32) goto L_0277556C; else goto L_027754F0;
|
|
L_027754F0: ; // 0x27754f0
|
|
/* 027754F0 */ goto L_02775564;
|
|
L_027754F4: ; // 0x27754f4
|
|
/* 027754F4 */ cpu->f[1] = cpu->f[31];
|
|
/* 027754F8 */ cpu->r[4] = 0x101F0000u;
|
|
/* 027754FC */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02775500 */ cpu->r[4] = cpu->r[4] + 0x00006350u;
|
|
/* 02775504 */ Gambit_fn_0204E138(cpu);
|
|
/* 02775508 */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 02775508 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0277550C */ _t34 = cpu->r[1] + 0x00000028u;
|
|
/* 0277550C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02775510 */ _t35 = cpu->r[31] + 0x000000B8u;
|
|
/* 02775510 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 02775514 */ _t36 = cpu->r[31] + 0x000000B4u;
|
|
/* 02775514 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 02775518 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02775518 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 0277551C */ _t38 = cpu->r[31] + 0x0000008Cu;
|
|
/* 0277551C */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02775520 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02775520 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02775524 */ _t40 = cpu->r[31] + 0x000000A4u;
|
|
/* 02775524 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 02775528 */ _t41 = cpu->r[31] + 0x00000098u;
|
|
/* 02775528 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 0277552C */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0277552C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02775530 */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 02775530 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02775534 */ _t44 = cpu->r[31] + 0x000000A0u;
|
|
/* 02775534 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
/* 02775538 */ _t45 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02775538 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
|
|
/* 0277553C */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 0277553C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02775540 */ _t47 = cpu->r[1] + 0x00000030u;
|
|
/* 02775540 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02775544 */ _t48 = cpu->r[31] + 0x000000A8u;
|
|
/* 02775544 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]);
|
|
/* 02775548 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0277554C */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277554C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02775550 */ cpu->r[9] = cpu->r[9] + 0x00006338u;
|
|
/* 02775554 */ _t50 = cpu->r[31] + 0x000000ACu;
|
|
/* 02775554 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[13]);
|
|
/* 02775558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277555C */ _t51 = cpu->r[31] + 0x000000B0u;
|
|
/* 0277555C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[0]);
|
|
/* 02775560 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775560 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02775560 */ if (_t53) goto L_0277556C; else goto L_02775564;
|
|
L_02775564: ; // 0x2775564
|
|
/* 02775564 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02775568 */ cpu->r[9] = cpu->r[9] + 0x00001D94u;
|
|
L_0277556C: ; // 0x277556c
|
|
/* 0277556C */ _t54 = cpu->r[9] + 0x00000000u;
|
|
/* 0277556C */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02775570 */ _t55 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02775570 */ cpu->r[0] = rbrew_read8(cpu->mem, _t55);
|
|
/* 02775574 */ _t56 = cpu->r[31] + 0x000000BCu;
|
|
/* 02775574 */ rbrew_write32(cpu->mem, _t56, cpu->r[10]);
|
|
/* 02775578 */ _t57 = cpu->r[9] + 0x00000004u;
|
|
/* 02775578 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0277557C */ cpu->r[8] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02775580 */ _t58 = cpu->r[31] + 0x000000C0u;
|
|
/* 02775580 */ rbrew_write32(cpu->mem, _t58, cpu->r[12]);
|
|
/* 02775584 */ _t59 = cpu->r[9] + 0x00000008u;
|
|
/* 02775584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02775588 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0277558C */ _t60 = cpu->r[31] + 0x000000DDu;
|
|
/* 0277558C */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[8]);
|
|
/* 02775590 */ cpu->r[30] = cpu->r[30] + 0xFFFF8E5Cu;
|
|
/* 02775594 */ _t61 = cpu->r[31] + 0x000000C4u;
|
|
/* 02775594 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 02775598 */ _t62 = cpu->r[30] + 0x00000004u;
|
|
/* 02775598 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0277559C */ _t63 = cpu->r[12] + 0x00000014u;
|
|
/* 0277559C */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027755A0 */ _t64 = cpu->r[31] + 0x000000D8u;
|
|
/* 027755A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
|
|
/* 027755A4 */ cpu->ctr = cpu->r[7];
|
|
/* 027755A8 */ _t65 = cpu->r[11] + 0x000000A4u;
|
|
/* 027755A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t65);
|
|
/* 027755AC */ cpu->r[3] = cpu->r[30];
|
|
/* 027755B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027755B4 */ cpu->r[0] = 0x10100000u;
|
|
/* 027755B8 */ _t66 = cpu->r[30] + 0x00000000u;
|
|
/* 027755B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 027755BC */ cpu->r[0] = cpu->r[0] + 0x000023F8u;
|
|
/* 027755C0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027755C4 */ cpu->r[30] = 0x00000000u;
|
|
/* 027755C8 */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 027755C8 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 027755CC */ cpu->r[3] = cpu->r[29];
|
|
/* 027755D0 */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027755D0 */ rbrew_write32(cpu->mem, _t68, cpu->r[10]);
|
|
/* 027755D4 */ Gambit_fn_02983BC4(cpu);
|
|
/* 027755D8 */ cpu->r[4] = cpu->r[30];
|
|
/* 027755DC */ _t69 = cpu->r[1] + 0x00000038u;
|
|
/* 027755DC */ rbrew_write32(cpu->mem, _t69, cpu->r[3]);
|
|
/* 027755E0 */ cpu->r[6] = cpu->r[4];
|
|
/* 027755E4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027755E8 */ _t70 = cpu->r[1] + 0x00000008u;
|
|
/* 027755E8 */ rbrew_write32(cpu->mem, _t70, cpu->r[3]);
|
|
/* 027755EC */ cpu->r[3] = cpu->r[29];
|
|
/* 027755F0 */ Gambit_fn_02983954(cpu);
|
|
/* 027755F4 */ _t71 = cpu->r[31] + 0x000000D8u;
|
|
/* 027755F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 027755F8 */ _t72 = cpu->r[31] + 0x000000D4u;
|
|
/* 027755F8 */ rbrew_write8(cpu->mem, _t72, (uint8_t)cpu->r[30]);
|
|
/* 027755FC */ _t73 = cpu->r[31] + 0x000000C8u;
|
|
/* 027755FC */ rbrew_write_f32(cpu->mem, _t73, cpu->f[31]);
|
|
/* 02775600 */ _t74 = cpu->r[11] + 0x000000A4u;
|
|
/* 02775600 */ cpu->r[11] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02775604 */ _t75 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02775604 */ cpu->r[9] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02775608 */ _t76 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02775608 */ cpu->r[29] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0277560C */ _t77 = cpu->r[29] + 0x00000010u;
|
|
/* 0277560C */ cpu->r[7] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02775610 */ _t78 = cpu->r[29] + 0x00000008u;
|
|
/* 02775610 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 02775614 */ cpu->ctr = cpu->r[7];
|
|
/* 02775618 */ _t79 = cpu->r[29] + 0x00000014u;
|
|
/* 02775618 */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0277561C */ cpu->f[1] = cpu->f[31];
|
|
/* 02775620 */ _t80 = cpu->r[29] + 0x00000004u;
|
|
/* 02775620 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02775624 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775628 */ _t81 = cpu->r[29] + 0x00000000u;
|
|
/* 02775628 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[1]);
|
|
/* 0277562C */ _t82 = cpu->r[31] + 0x00000094u;
|
|
/* 0277562C */ rbrew_write32(cpu->mem, _t82, cpu->r[30]);
|
|
/* 02775630 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02775634 */ cpu->r[4] = cpu->r[30];
|
|
/* 02775638 */ Gambit_fn_0276C478(cpu);
|
|
/* 0277563C */ _t83 = cpu->r[31] + 0x000000D8u;
|
|
/* 0277563C */ cpu->r[8] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02775640 */ cpu->r[11] = cpu->r[31] + 0x000000F8u;
|
|
/* 02775644 */ _t84 = cpu->r[8] + 0x000000A8u;
|
|
/* 02775644 */ rbrew_write32(cpu->mem, _t84, cpu->r[11]);
|
|
/* 02775648 */ _t85 = cpu->r[31] + 0x00000008u;
|
|
/* 02775648 */ cpu->r[10] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0277564C */ cpu->r[12] = cpu->r[31] + 0x000000F0u;
|
|
/* 02775650 */ _t86 = cpu->r[10] + 0x000000A8u;
|
|
/* 02775650 */ rbrew_write32(cpu->mem, _t86, cpu->r[12]);
|
|
/* 02775654 */ _t87 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02775654 */ cpu->r[29] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02775658 */ _t88 = cpu->r[1] + 0x00000050u;
|
|
/* 02775658 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 0277565C */ _t89 = cpu->r[1] + 0x00000040u;
|
|
/* 0277565C */ cpu->r[30] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02775660 */ _t90 = cpu->r[1] + 0x00000048u;
|
|
/* 02775660 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t90);
|
|
/* 02775664 */ _t91 = cpu->r[1] + 0x00000044u;
|
|
/* 02775664 */ cpu->r[31] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02775668 */ _t92 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775668 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02775668 */ if (_t93) goto L_0277566C; // else: addr-0 trap, fall-through
|
|
L_0277566C: ; // 0x277566c
|
|
/* 0277566C */ _t94 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0277566C */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02775670 */ cpu->lr = cpu->r[0];
|
|
/* 02775674 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02775678 */ return;
|
|
}
|
|
|
|
// fn_0277567C @ 0x277567c
|
|
void Gambit_fn_0277567C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_0277567C: ; // 0x277567c
|
|
/* 0277567C */ cpu->r[0] = cpu->lr;
|
|
/* 02775680 */ cpu->r[12] = 0x00000002u;
|
|
/* 02775684 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02775684 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775684 */ cpu->r[1] = _t0;
|
|
/* 02775688 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02775688 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0277568C */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 0277568C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02775690 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02775690 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02775694 */ _t4 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02775694 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02775698 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02775698 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277569C */ _t6 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0277569C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027756A0 */ _t7 = cpu->r[10] + 0x00000204u;
|
|
/* 027756A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027756A4 */ cpu->ctr = cpu->r[12];
|
|
/* 027756A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027756AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027756B0 */ cpu->r[5] = 0x00000000u;
|
|
/* 027756B4 */ cpu->r[30] = 0x101F0000u;
|
|
/* 027756B8 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 027756BC */ cpu->r[6] = cpu->r[5];
|
|
/* 027756C0 */ cpu->r[4] = cpu->r[30] + 0x00001D60u;
|
|
/* 027756C4 */ Gambit_fn_027C6980(cpu);
|
|
/* 027756C8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027756CC */ Gambit_fn_02982574(cpu);
|
|
/* 027756D0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027756D4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027756D8 */ _t8 = cpu->r[12] + 0xFFFF97D0u;
|
|
/* 027756D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027756DC */ _t9 = cpu->r[10] + 0xFFFF97D8u;
|
|
/* 027756DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 027756E0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027756E4 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 027756E4 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 027756E8 */ _t11 = cpu->r[10] + 0xFFFF97D4u;
|
|
/* 027756E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027756EC */ cpu->r[12] = 0x101D0000u;
|
|
/* 027756F0 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 027756F0 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
/* 027756F4 */ _t13 = cpu->r[12] + 0xFFFF97D9u;
|
|
/* 027756F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 027756F8 */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 027756F8 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 027756FC */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02775700 */ _t15 = cpu->r[1] + 0x00000025u;
|
|
/* 02775700 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 02775704 */ Gambit_fn_02984F3C(cpu);
|
|
/* 02775708 */ cpu->r[3] = cpu->r[30] + 0x00001D60u;
|
|
/* 0277570C */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02775710 */ cpu->r[10] = 0x00000006u;
|
|
/* 02775714 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02775714 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02775718 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277571C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02775720 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02775720 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02775724 */ cpu->r[8] = 0x00000000u;
|
|
/* 02775728 */ cpu->r[6] = cpu->r[1] + 0x00000030u;
|
|
/* 0277572C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0277572C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02775730 */ Gambit_fn_023C9758(cpu);
|
|
/* 02775734 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02775738 */ _t19 = cpu->r[31] + 0x000000D8u;
|
|
/* 02775738 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 0277573C */ _t20 = cpu->r[30] + 0xFFFF8FC4u;
|
|
/* 0277573C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02775740 */ _t21 = cpu->r[31] + 0x00000008u;
|
|
/* 02775740 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02775744 */ _t22 = cpu->r[11] + 0x00000248u;
|
|
/* 02775744 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02775748 */ Gambit_fn_0297FD44(cpu);
|
|
/* 0277574C */ _t23 = cpu->r[30] + 0xFFFF8FC4u;
|
|
/* 0277574C */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02775750 */ _t24 = cpu->r[31] + 0x000000D8u;
|
|
/* 02775750 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02775754 */ _t25 = cpu->r[11] + 0x00000248u;
|
|
/* 02775754 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02775758 */ Gambit_fn_0297FD44(cpu);
|
|
/* 0277575C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02775760 */ _t26 = cpu->r[12] + 0x00001358u;
|
|
/* 02775760 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02775764 */ _t27 = cpu->r[31] + 0x00000088u;
|
|
/* 02775764 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02775768 */ _t28 = cpu->r[12] + 0x00000288u;
|
|
/* 02775768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0277576C */ cpu->r[11] = cpu->r[0] ^ cpu->r[11];
|
|
/* 02775770 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02775774 */ cpu->r[0] = cpu->r[11] - cpu->r[0];
|
|
/* 02775778 */ _t29 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02775778 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
/* 0277577C */ _t30 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0277577C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02775780 */ _t31 = cpu->r[1] + 0x00000040u;
|
|
/* 02775780 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02775784 */ cpu->lr = cpu->r[0];
|
|
/* 02775788 */ _t32 = cpu->r[1] + 0x00000044u;
|
|
/* 02775788 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0277578C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02775790 */ return;
|
|
}
|
|
|
|
// fn_02775684 @ 0x2775684
|
|
void Gambit_fn_02775684(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02775684: ; // 0x2775684
|
|
/* 02775684 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02775684 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775684 */ cpu->r[1] = _t0;
|
|
/* 02775688 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02775688 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0277568C */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 0277568C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02775690 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02775690 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02775694 */ _t4 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02775694 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02775698 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02775698 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277569C */ _t6 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0277569C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027756A0 */ _t7 = cpu->r[10] + 0x00000204u;
|
|
/* 027756A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027756A4 */ cpu->ctr = cpu->r[12];
|
|
/* 027756A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027756AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027756B0 */ cpu->r[5] = 0x00000000u;
|
|
/* 027756B4 */ cpu->r[30] = 0x101F0000u;
|
|
/* 027756B8 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 027756BC */ cpu->r[6] = cpu->r[5];
|
|
/* 027756C0 */ cpu->r[4] = cpu->r[30] + 0x00001D60u;
|
|
/* 027756C4 */ Gambit_fn_027C6980(cpu);
|
|
/* 027756C8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027756CC */ Gambit_fn_02982574(cpu);
|
|
/* 027756D0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027756D4 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027756D8 */ _t8 = cpu->r[12] + 0xFFFF97D0u;
|
|
/* 027756D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027756DC */ _t9 = cpu->r[10] + 0xFFFF97D8u;
|
|
/* 027756DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 027756E0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027756E4 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 027756E4 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 027756E8 */ _t11 = cpu->r[10] + 0xFFFF97D4u;
|
|
/* 027756E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027756EC */ cpu->r[12] = 0x101D0000u;
|
|
/* 027756F0 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 027756F0 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
/* 027756F4 */ _t13 = cpu->r[12] + 0xFFFF97D9u;
|
|
/* 027756F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 027756F8 */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 027756F8 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 027756FC */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02775700 */ _t15 = cpu->r[1] + 0x00000025u;
|
|
/* 02775700 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 02775704 */ Gambit_fn_02984F3C(cpu);
|
|
/* 02775708 */ cpu->r[3] = cpu->r[30] + 0x00001D60u;
|
|
/* 0277570C */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02775710 */ cpu->r[10] = 0x00000006u;
|
|
/* 02775714 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02775714 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02775718 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277571C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02775720 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02775720 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02775724 */ cpu->r[8] = 0x00000000u;
|
|
/* 02775728 */ cpu->r[6] = cpu->r[1] + 0x00000030u;
|
|
/* 0277572C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0277572C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02775730 */ Gambit_fn_023C9758(cpu);
|
|
/* 02775734 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02775738 */ _t19 = cpu->r[31] + 0x000000D8u;
|
|
/* 02775738 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 0277573C */ _t20 = cpu->r[30] + 0xFFFF8FC4u;
|
|
/* 0277573C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02775740 */ _t21 = cpu->r[31] + 0x00000008u;
|
|
/* 02775740 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02775744 */ _t22 = cpu->r[11] + 0x00000248u;
|
|
/* 02775744 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02775748 */ Gambit_fn_0297FD44(cpu);
|
|
/* 0277574C */ _t23 = cpu->r[30] + 0xFFFF8FC4u;
|
|
/* 0277574C */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02775750 */ _t24 = cpu->r[31] + 0x000000D8u;
|
|
/* 02775750 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02775754 */ _t25 = cpu->r[11] + 0x00000248u;
|
|
/* 02775754 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02775758 */ Gambit_fn_0297FD44(cpu);
|
|
/* 0277575C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02775760 */ _t26 = cpu->r[12] + 0x00001358u;
|
|
/* 02775760 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02775764 */ _t27 = cpu->r[31] + 0x00000088u;
|
|
/* 02775764 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02775768 */ _t28 = cpu->r[12] + 0x00000288u;
|
|
/* 02775768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0277576C */ cpu->r[11] = cpu->r[0] ^ cpu->r[11];
|
|
/* 02775770 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02775774 */ cpu->r[0] = cpu->r[11] - cpu->r[0];
|
|
/* 02775778 */ _t29 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02775778 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
/* 0277577C */ _t30 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0277577C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02775780 */ _t31 = cpu->r[1] + 0x00000040u;
|
|
/* 02775780 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02775784 */ cpu->lr = cpu->r[0];
|
|
/* 02775788 */ _t32 = cpu->r[1] + 0x00000044u;
|
|
/* 02775788 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0277578C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02775790 */ return;
|
|
}
|
|
|
|
// fn_02775794 @ 0x2775794
|
|
void Gambit_fn_02775794(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100;
|
|
|
|
L_02775794: ; // 0x2775794
|
|
/* 02775794 */ cpu->r[0] = cpu->lr;
|
|
/* 02775798 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02775798 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775798 */ cpu->r[1] = _t0;
|
|
/* 0277579C */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 0277579C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027757A0 */ /* nop */
|
|
/* 027757A4 */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 027757A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027757A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027757AC */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027757AC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027757B0 */ cpu->r[10] = 0x10100000u;
|
|
/* 027757B4 */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 027757B4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027757B8 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 027757B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 027757BC */ _t6 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027757BC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027757C0 */ _t7 = cpu->r[30] + 0x000000D4u;
|
|
/* 027757C0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027757C4 */ _t8 = cpu->r[10] + 0x000024F0u;
|
|
/* 027757C4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027757C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027757CC */ cpu->r[29] = 0x00000000u;
|
|
/* 027757D0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027757D0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027757D0 */ if (_t10) goto L_0277583C; else goto L_027757D4;
|
|
L_027757D4: ; // 0x27757d4
|
|
/* 027757D4 */ _t11 = cpu->r[30] + 0x000000C8u;
|
|
/* 027757D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027757D8 */ _t12 = cpu->r[30] + 0x000000CCu;
|
|
/* 027757D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 027757DC */ cpu->f[1] = cpu->f[0] + cpu->f[13];
|
|
/* 027757E0 */ _t13 = cpu->r[30] + 0x000000D0u;
|
|
/* 027757E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027757E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 027757E8 */ _t14 = cpu->r[30] + 0x000000C8u;
|
|
/* 027757E8 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[1]);
|
|
/* 027757EC */ _t15 = cpu->r[30] + 0x000000D8u;
|
|
/* 027757EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027757F0 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027757F0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027757F0 */ if (_t17) goto L_027757F4; else goto L_027757F8;
|
|
L_027757F4: ; // 0x27757f4
|
|
/* 027757F4 */ cpu->f[1] = cpu->f[0];
|
|
L_027757F8: ; // 0x27757f8
|
|
/* 027757F8 */ _t18 = cpu->r[30] + 0x000000C8u;
|
|
/* 027757F8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[1]);
|
|
/* 027757FC */ _t19 = cpu->r[11] + 0x000000A4u;
|
|
/* 027757FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02775800 */ _t20 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02775800 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02775804 */ _t21 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02775804 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02775808 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02775808 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0277580C */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 0277580C */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02775810 */ cpu->ctr = cpu->r[10];
|
|
/* 02775814 */ _t24 = cpu->r[31] + 0x00000004u;
|
|
/* 02775814 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02775818 */ _t25 = cpu->r[31] + 0x00000014u;
|
|
/* 02775818 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0277581C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775820 */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 02775820 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[1]);
|
|
/* 02775824 */ _t27 = cpu->r[30] + 0x000000C8u;
|
|
/* 02775824 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02775828 */ _t28 = cpu->r[30] + 0x000000D0u;
|
|
/* 02775828 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0277582C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 02775830 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775830 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02775830 */ if (_t30) goto L_0277583C; else goto L_02775834;
|
|
L_02775834: ; // 0x2775834
|
|
/* 02775834 */ _t31 = cpu->r[30] + 0x000000D4u;
|
|
/* 02775834 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[29]);
|
|
/* 02775838 */ _t32 = cpu->r[30] + 0x000000C8u;
|
|
/* 02775838 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
|
|
L_0277583C: ; // 0x277583c
|
|
/* 0277583C */ _t33 = cpu->r[30] + 0x000000ECu;
|
|
/* 0277583C */ cpu->r[0] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02775840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02775844 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775844 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02775844 */ if (_t35) goto L_027758C0; else goto L_02775848;
|
|
L_02775848: ; // 0x2775848
|
|
/* 02775848 */ _t36 = cpu->r[30] + 0x000000E0u;
|
|
/* 02775848 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 0277584C */ _t37 = cpu->r[30] + 0x000000E4u;
|
|
/* 0277584C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02775850 */ cpu->f[1] = cpu->f[13] + cpu->f[0];
|
|
/* 02775854 */ _t38 = cpu->r[30] + 0x000000E8u;
|
|
/* 02775854 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02775858 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 0277585C */ _t39 = cpu->r[30] + 0x000000E0u;
|
|
/* 0277585C */ rbrew_write_f32(cpu->mem, _t39, cpu->f[1]);
|
|
/* 02775860 */ _t40 = cpu->r[30] + 0x00000008u;
|
|
/* 02775860 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02775864 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02775864 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02775864 */ if (_t42) goto L_02775868; else goto L_0277586C;
|
|
L_02775868: ; // 0x2775868
|
|
/* 02775868 */ cpu->f[1] = cpu->f[0];
|
|
L_0277586C: ; // 0x277586c
|
|
/* 0277586C */ _t43 = cpu->r[30] + 0x000000E0u;
|
|
/* 0277586C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[1]);
|
|
/* 02775870 */ _t44 = cpu->r[10] + 0x000000A4u;
|
|
/* 02775870 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02775874 */ _t45 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02775874 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02775878 */ _t46 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02775878 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0277587C */ _t47 = cpu->r[31] + 0x00000010u;
|
|
/* 0277587C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02775880 */ _t48 = cpu->r[31] + 0x00000008u;
|
|
/* 02775880 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02775884 */ cpu->ctr = cpu->r[0];
|
|
/* 02775888 */ _t49 = cpu->r[31] + 0x00000004u;
|
|
/* 02775888 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 0277588C */ _t50 = cpu->r[31] + 0x00000014u;
|
|
/* 0277588C */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02775890 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775894 */ _t51 = cpu->r[31] + 0x00000000u;
|
|
/* 02775894 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[1]);
|
|
/* 02775898 */ _t52 = cpu->r[30] + 0x000000E0u;
|
|
/* 02775898 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 0277589C */ _t53 = cpu->r[30] + 0x000000E8u;
|
|
/* 0277589C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 027758A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 027758A4 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027758A4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 027758A4 */ if (_t55) goto L_027758C0; else goto L_027758A8;
|
|
L_027758A8: ; // 0x27758a8
|
|
/* 027758A8 */ _t56 = cpu->r[30] + 0x00000008u;
|
|
/* 027758A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027758AC */ _t57 = cpu->r[7] + 0x000000A4u;
|
|
/* 027758AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027758B0 */ _t58 = cpu->r[9] + 0x0000002Cu;
|
|
/* 027758B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t58);
|
|
/* 027758B4 */ _t59 = cpu->r[11] + 0x00000008u;
|
|
/* 027758B4 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[31]);
|
|
/* 027758B8 */ _t60 = cpu->r[30] + 0x000000ECu;
|
|
/* 027758B8 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[29]);
|
|
/* 027758BC */ _t61 = cpu->r[30] + 0x000000E0u;
|
|
/* 027758BC */ rbrew_write_f32(cpu->mem, _t61, cpu->f[31]);
|
|
L_027758C0: ; // 0x27758c0
|
|
/* 027758C0 */ _t62 = cpu->r[30] + 0x000000A4u;
|
|
/* 027758C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 027758C4 */ _t63 = cpu->r[30] + 0x000000A8u;
|
|
/* 027758C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 027758C8 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027758C8 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[12]);
|
|
/* 027758CC */ _t65 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027758CC */ rbrew_write_f32(cpu->mem, _t65, cpu->f[13]);
|
|
/* 027758D0 */ _t66 = cpu->r[30] + 0x000000B4u;
|
|
/* 027758D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 027758D4 */ _t67 = cpu->r[30] + 0x000000BCu;
|
|
/* 027758D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 027758D8 */ _t68 = cpu->r[1] + 0x00000020u;
|
|
/* 027758D8 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[13]);
|
|
/* 027758DC */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 027758DC */ rbrew_write_f32(cpu->mem, _t69, cpu->f[12]);
|
|
/* 027758E0 */ _t70 = cpu->r[30] + 0x000000A0u;
|
|
/* 027758E0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 027758E4 */ _t71 = cpu->r[30] + 0x00000098u;
|
|
/* 027758E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 027758E8 */ _t72 = cpu->r[1] + 0x00000028u;
|
|
/* 027758E8 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[12]);
|
|
/* 027758EC */ _t73 = cpu->r[1] + 0x00000008u;
|
|
/* 027758EC */ rbrew_write_f32(cpu->mem, _t73, cpu->f[0]);
|
|
/* 027758F0 */ _t74 = cpu->r[30] + 0x000000ACu;
|
|
/* 027758F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 027758F4 */ _t75 = cpu->r[30] + 0x000000B0u;
|
|
/* 027758F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 027758F8 */ _t76 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027758F8 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[13]);
|
|
/* 027758FC */ _t77 = cpu->r[1] + 0x00000010u;
|
|
/* 027758FC */ rbrew_write_f32(cpu->mem, _t77, cpu->f[0]);
|
|
/* 02775900 */ _t78 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02775900 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 02775904 */ _t79 = cpu->r[30] + 0x000000B8u;
|
|
/* 02775904 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02775908 */ _t80 = cpu->r[1] + 0x00000018u;
|
|
/* 02775908 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[0]);
|
|
/* 0277590C */ _t81 = cpu->r[30] + 0x000000C0u;
|
|
/* 0277590C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02775910 */ _t82 = cpu->r[30] + 0x000000D8u;
|
|
/* 02775910 */ cpu->r[31] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02775914 */ _t83 = cpu->r[1] + 0x00000024u;
|
|
/* 02775914 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[0]);
|
|
/* 02775918 */ _t84 = cpu->r[30] + 0x000000C4u;
|
|
/* 02775918 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 0277591C */ _t85 = cpu->r[1] + 0x00000030u;
|
|
/* 0277591C */ rbrew_write_f32(cpu->mem, _t85, cpu->f[13]);
|
|
/* 02775920 */ _t86 = cpu->r[1] + 0x00000034u;
|
|
/* 02775920 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[0]);
|
|
/* 02775924 */ _t87 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02775924 */ cpu->r[9] = rbrew_read8(cpu->mem, _t87);
|
|
/* 02775928 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0277592C */ cpu->r[9] = cpu->r[9] | 0x00000001u;
|
|
/* 02775930 */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 02775934 */ _t88 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02775934 */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[9]);
|
|
/* 02775938 */ Gambit_fn_02C69510(cpu);
|
|
/* 0277593C */ cpu->r[3] = cpu->r[31];
|
|
/* 02775940 */ cpu->r[4] = 0x00000003u;
|
|
/* 02775944 */ Gambit_fn_02980304(cpu);
|
|
/* 02775948 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277594C */ Gambit_fn_02980318(cpu);
|
|
/* 02775950 */ _t89 = cpu->r[30] + 0x000000DDu;
|
|
/* 02775950 */ cpu->r[0] = rbrew_read8(cpu->mem, _t89);
|
|
/* 02775954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02775958 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775958 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02775958 */ if (_t91) goto L_02775964; else goto L_0277595C;
|
|
L_0277595C: ; // 0x277595c
|
|
/* 0277595C */ _t92 = cpu->r[30] + 0x00000008u;
|
|
/* 0277595C */ cpu->r[3] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02775960 */ Gambit_fn_02980318(cpu);
|
|
L_02775964: ; // 0x2775964
|
|
/* 02775964 */ _t93 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02775964 */ cpu->r[29] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02775968 */ _t94 = cpu->r[1] + 0x00000050u;
|
|
/* 02775968 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 0277596C */ _t95 = cpu->r[1] + 0x00000040u;
|
|
/* 0277596C */ cpu->r[30] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02775970 */ _t96 = cpu->r[1] + 0x00000048u;
|
|
/* 02775970 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 02775974 */ _t97 = cpu->r[1] + 0x00000044u;
|
|
/* 02775974 */ cpu->r[31] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02775978 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775978 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02775978 */ if (_t99) goto L_0277597C; // else: addr-0 trap, fall-through
|
|
L_0277597C: ; // 0x277597c
|
|
/* 0277597C */ _t100 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0277597C */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02775980 */ cpu->lr = cpu->r[0];
|
|
/* 02775984 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02775988 */ return;
|
|
}
|
|
|
|
// fn_02775798 @ 0x2775798
|
|
void Gambit_fn_02775798(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100;
|
|
|
|
L_02775798: ; // 0x2775798
|
|
/* 02775798 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02775798 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775798 */ cpu->r[1] = _t0;
|
|
/* 0277579C */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 0277579C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027757A0 */ /* nop */
|
|
/* 027757A4 */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 027757A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 027757A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027757AC */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027757AC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027757B0 */ cpu->r[10] = 0x10100000u;
|
|
/* 027757B4 */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 027757B4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 027757B8 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 027757B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 027757BC */ _t6 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027757BC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027757C0 */ _t7 = cpu->r[30] + 0x000000D4u;
|
|
/* 027757C0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t7);
|
|
/* 027757C4 */ _t8 = cpu->r[10] + 0x000024F0u;
|
|
/* 027757C4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 027757C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027757CC */ cpu->r[29] = 0x00000000u;
|
|
/* 027757D0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027757D0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027757D0 */ if (_t10) goto L_0277583C; else goto L_027757D4;
|
|
L_027757D4: ; // 0x27757d4
|
|
/* 027757D4 */ _t11 = cpu->r[30] + 0x000000C8u;
|
|
/* 027757D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027757D8 */ _t12 = cpu->r[30] + 0x000000CCu;
|
|
/* 027757D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 027757DC */ cpu->f[1] = cpu->f[0] + cpu->f[13];
|
|
/* 027757E0 */ _t13 = cpu->r[30] + 0x000000D0u;
|
|
/* 027757E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027757E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 027757E8 */ _t14 = cpu->r[30] + 0x000000C8u;
|
|
/* 027757E8 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[1]);
|
|
/* 027757EC */ _t15 = cpu->r[30] + 0x000000D8u;
|
|
/* 027757EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027757F0 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027757F0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027757F0 */ if (_t17) goto L_027757F4; else goto L_027757F8;
|
|
L_027757F4: ; // 0x27757f4
|
|
/* 027757F4 */ cpu->f[1] = cpu->f[0];
|
|
L_027757F8: ; // 0x27757f8
|
|
/* 027757F8 */ _t18 = cpu->r[30] + 0x000000C8u;
|
|
/* 027757F8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[1]);
|
|
/* 027757FC */ _t19 = cpu->r[11] + 0x000000A4u;
|
|
/* 027757FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02775800 */ _t20 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02775800 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02775804 */ _t21 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02775804 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02775808 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02775808 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0277580C */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 0277580C */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02775810 */ cpu->ctr = cpu->r[10];
|
|
/* 02775814 */ _t24 = cpu->r[31] + 0x00000004u;
|
|
/* 02775814 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02775818 */ _t25 = cpu->r[31] + 0x00000014u;
|
|
/* 02775818 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0277581C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775820 */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 02775820 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[1]);
|
|
/* 02775824 */ _t27 = cpu->r[30] + 0x000000C8u;
|
|
/* 02775824 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02775828 */ _t28 = cpu->r[30] + 0x000000D0u;
|
|
/* 02775828 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0277582C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 02775830 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775830 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02775830 */ if (_t30) goto L_0277583C; else goto L_02775834;
|
|
L_02775834: ; // 0x2775834
|
|
/* 02775834 */ _t31 = cpu->r[30] + 0x000000D4u;
|
|
/* 02775834 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[29]);
|
|
/* 02775838 */ _t32 = cpu->r[30] + 0x000000C8u;
|
|
/* 02775838 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
|
|
L_0277583C: ; // 0x277583c
|
|
/* 0277583C */ _t33 = cpu->r[30] + 0x000000ECu;
|
|
/* 0277583C */ cpu->r[0] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02775840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02775844 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775844 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02775844 */ if (_t35) goto L_027758C0; else goto L_02775848;
|
|
L_02775848: ; // 0x2775848
|
|
/* 02775848 */ _t36 = cpu->r[30] + 0x000000E0u;
|
|
/* 02775848 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 0277584C */ _t37 = cpu->r[30] + 0x000000E4u;
|
|
/* 0277584C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02775850 */ cpu->f[1] = cpu->f[13] + cpu->f[0];
|
|
/* 02775854 */ _t38 = cpu->r[30] + 0x000000E8u;
|
|
/* 02775854 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02775858 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 0277585C */ _t39 = cpu->r[30] + 0x000000E0u;
|
|
/* 0277585C */ rbrew_write_f32(cpu->mem, _t39, cpu->f[1]);
|
|
/* 02775860 */ _t40 = cpu->r[30] + 0x00000008u;
|
|
/* 02775860 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02775864 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02775864 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02775864 */ if (_t42) goto L_02775868; else goto L_0277586C;
|
|
L_02775868: ; // 0x2775868
|
|
/* 02775868 */ cpu->f[1] = cpu->f[0];
|
|
L_0277586C: ; // 0x277586c
|
|
/* 0277586C */ _t43 = cpu->r[30] + 0x000000E0u;
|
|
/* 0277586C */ rbrew_write_f32(cpu->mem, _t43, cpu->f[1]);
|
|
/* 02775870 */ _t44 = cpu->r[10] + 0x000000A4u;
|
|
/* 02775870 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02775874 */ _t45 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02775874 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02775878 */ _t46 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02775878 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0277587C */ _t47 = cpu->r[31] + 0x00000010u;
|
|
/* 0277587C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02775880 */ _t48 = cpu->r[31] + 0x00000008u;
|
|
/* 02775880 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02775884 */ cpu->ctr = cpu->r[0];
|
|
/* 02775888 */ _t49 = cpu->r[31] + 0x00000004u;
|
|
/* 02775888 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 0277588C */ _t50 = cpu->r[31] + 0x00000014u;
|
|
/* 0277588C */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02775890 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775894 */ _t51 = cpu->r[31] + 0x00000000u;
|
|
/* 02775894 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[1]);
|
|
/* 02775898 */ _t52 = cpu->r[30] + 0x000000E0u;
|
|
/* 02775898 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 0277589C */ _t53 = cpu->r[30] + 0x000000E8u;
|
|
/* 0277589C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 027758A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 027758A4 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027758A4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 027758A4 */ if (_t55) goto L_027758C0; else goto L_027758A8;
|
|
L_027758A8: ; // 0x27758a8
|
|
/* 027758A8 */ _t56 = cpu->r[30] + 0x00000008u;
|
|
/* 027758A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 027758AC */ _t57 = cpu->r[7] + 0x000000A4u;
|
|
/* 027758AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 027758B0 */ _t58 = cpu->r[9] + 0x0000002Cu;
|
|
/* 027758B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t58);
|
|
/* 027758B4 */ _t59 = cpu->r[11] + 0x00000008u;
|
|
/* 027758B4 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[31]);
|
|
/* 027758B8 */ _t60 = cpu->r[30] + 0x000000ECu;
|
|
/* 027758B8 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[29]);
|
|
/* 027758BC */ _t61 = cpu->r[30] + 0x000000E0u;
|
|
/* 027758BC */ rbrew_write_f32(cpu->mem, _t61, cpu->f[31]);
|
|
L_027758C0: ; // 0x27758c0
|
|
/* 027758C0 */ _t62 = cpu->r[30] + 0x000000A4u;
|
|
/* 027758C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 027758C4 */ _t63 = cpu->r[30] + 0x000000A8u;
|
|
/* 027758C4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 027758C8 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027758C8 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[12]);
|
|
/* 027758CC */ _t65 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027758CC */ rbrew_write_f32(cpu->mem, _t65, cpu->f[13]);
|
|
/* 027758D0 */ _t66 = cpu->r[30] + 0x000000B4u;
|
|
/* 027758D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 027758D4 */ _t67 = cpu->r[30] + 0x000000BCu;
|
|
/* 027758D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 027758D8 */ _t68 = cpu->r[1] + 0x00000020u;
|
|
/* 027758D8 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[13]);
|
|
/* 027758DC */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 027758DC */ rbrew_write_f32(cpu->mem, _t69, cpu->f[12]);
|
|
/* 027758E0 */ _t70 = cpu->r[30] + 0x000000A0u;
|
|
/* 027758E0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 027758E4 */ _t71 = cpu->r[30] + 0x00000098u;
|
|
/* 027758E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 027758E8 */ _t72 = cpu->r[1] + 0x00000028u;
|
|
/* 027758E8 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[12]);
|
|
/* 027758EC */ _t73 = cpu->r[1] + 0x00000008u;
|
|
/* 027758EC */ rbrew_write_f32(cpu->mem, _t73, cpu->f[0]);
|
|
/* 027758F0 */ _t74 = cpu->r[30] + 0x000000ACu;
|
|
/* 027758F0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 027758F4 */ _t75 = cpu->r[30] + 0x000000B0u;
|
|
/* 027758F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 027758F8 */ _t76 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027758F8 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[13]);
|
|
/* 027758FC */ _t77 = cpu->r[1] + 0x00000010u;
|
|
/* 027758FC */ rbrew_write_f32(cpu->mem, _t77, cpu->f[0]);
|
|
/* 02775900 */ _t78 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02775900 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 02775904 */ _t79 = cpu->r[30] + 0x000000B8u;
|
|
/* 02775904 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02775908 */ _t80 = cpu->r[1] + 0x00000018u;
|
|
/* 02775908 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[0]);
|
|
/* 0277590C */ _t81 = cpu->r[30] + 0x000000C0u;
|
|
/* 0277590C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02775910 */ _t82 = cpu->r[30] + 0x000000D8u;
|
|
/* 02775910 */ cpu->r[31] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02775914 */ _t83 = cpu->r[1] + 0x00000024u;
|
|
/* 02775914 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[0]);
|
|
/* 02775918 */ _t84 = cpu->r[30] + 0x000000C4u;
|
|
/* 02775918 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 0277591C */ _t85 = cpu->r[1] + 0x00000030u;
|
|
/* 0277591C */ rbrew_write_f32(cpu->mem, _t85, cpu->f[13]);
|
|
/* 02775920 */ _t86 = cpu->r[1] + 0x00000034u;
|
|
/* 02775920 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[0]);
|
|
/* 02775924 */ _t87 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02775924 */ cpu->r[9] = rbrew_read8(cpu->mem, _t87);
|
|
/* 02775928 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0277592C */ cpu->r[9] = cpu->r[9] | 0x00000001u;
|
|
/* 02775930 */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 02775934 */ _t88 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02775934 */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[9]);
|
|
/* 02775938 */ Gambit_fn_02C69510(cpu);
|
|
/* 0277593C */ cpu->r[3] = cpu->r[31];
|
|
/* 02775940 */ cpu->r[4] = 0x00000003u;
|
|
/* 02775944 */ Gambit_fn_02980304(cpu);
|
|
/* 02775948 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277594C */ Gambit_fn_02980318(cpu);
|
|
/* 02775950 */ _t89 = cpu->r[30] + 0x000000DDu;
|
|
/* 02775950 */ cpu->r[0] = rbrew_read8(cpu->mem, _t89);
|
|
/* 02775954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02775958 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775958 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02775958 */ if (_t91) goto L_02775964; else goto L_0277595C;
|
|
L_0277595C: ; // 0x277595c
|
|
/* 0277595C */ _t92 = cpu->r[30] + 0x00000008u;
|
|
/* 0277595C */ cpu->r[3] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02775960 */ Gambit_fn_02980318(cpu);
|
|
L_02775964: ; // 0x2775964
|
|
/* 02775964 */ _t93 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02775964 */ cpu->r[29] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02775968 */ _t94 = cpu->r[1] + 0x00000050u;
|
|
/* 02775968 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 0277596C */ _t95 = cpu->r[1] + 0x00000040u;
|
|
/* 0277596C */ cpu->r[30] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02775970 */ _t96 = cpu->r[1] + 0x00000048u;
|
|
/* 02775970 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 02775974 */ _t97 = cpu->r[1] + 0x00000044u;
|
|
/* 02775974 */ cpu->r[31] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02775978 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775978 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02775978 */ if (_t99) goto L_0277597C; // else: addr-0 trap, fall-through
|
|
L_0277597C: ; // 0x277597c
|
|
/* 0277597C */ _t100 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0277597C */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02775980 */ cpu->lr = cpu->r[0];
|
|
/* 02775984 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02775988 */ return;
|
|
}
|
|
|
|
// fn_0277598C @ 0x277598c
|
|
void Gambit_fn_0277598C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _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_0277598C: ; // 0x277598c
|
|
/* 0277598C */ cpu->r[0] = cpu->lr;
|
|
/* 02775990 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02775990 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775990 */ cpu->r[1] = _t0;
|
|
/* 02775994 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02775994 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02775998 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02775998 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0277599C */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 0277599C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027759A0 */ cpu->r[5] = 0x10100000u;
|
|
/* 027759A4 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 027759A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027759A8 */ _t5 = cpu->r[5] + 0x000024F0u;
|
|
/* 027759A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027759AC */ cpu->r[30] = cpu->r[3];
|
|
/* 027759B0 */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027759B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027759B4 */ _t7 = cpu->r[30] + 0x000000D8u;
|
|
/* 027759B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027759B8 */ cpu->r[10] = 0x00000001u;
|
|
/* 027759BC */ _t8 = cpu->r[30] + 0x000000C8u;
|
|
/* 027759BC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 027759C0 */ cpu->r[28] = 0x10100000u;
|
|
/* 027759C4 */ _t9 = cpu->r[30] + 0x000000DCu;
|
|
/* 027759C4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t9);
|
|
/* 027759C8 */ cpu->r[28] = cpu->r[28] + 0x000023F8u;
|
|
/* 027759CC */ _t10 = cpu->r[30] + 0x000000D4u;
|
|
/* 027759CC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[10]);
|
|
/* 027759D0 */ _t11 = cpu->r[11] + 0x000000A4u;
|
|
/* 027759D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027759D4 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027759D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027759DC */ cpu->r[29] = cpu->r[29] + 0xFFFF8E5Cu;
|
|
/* 027759E0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027759E0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027759E0 */ if (_t13) goto L_02775A50; else goto L_027759E4;
|
|
L_027759E4: ; // 0x27759e4
|
|
/* 027759E4 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 027759E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027759E8 */ _t15 = cpu->r[6] + 0x00000014u;
|
|
/* 027759E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027759EC */ cpu->ctr = cpu->r[8];
|
|
/* 027759F0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027759F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027759F8 */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 027759F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027759FC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775A00 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02775A00 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02775A04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02775A08 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775A08 */ rbrew_write32(cpu->mem, _t18, cpu->r[6]);
|
|
/* 02775A0C */ Gambit_fn_02983BC4(cpu);
|
|
/* 02775A10 */ cpu->r[4] = 0x00000000u;
|
|
/* 02775A14 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02775A18 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02775A18 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 02775A1C */ cpu->r[6] = cpu->r[4];
|
|
/* 02775A20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02775A24 */ Gambit_fn_02983954(cpu);
|
|
/* 02775A28 */ _t20 = cpu->r[30] + 0x000000D8u;
|
|
/* 02775A28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02775A2C */ _t21 = cpu->r[12] + 0x000000A4u;
|
|
/* 02775A2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02775A30 */ _t22 = cpu->r[6] + 0x0000002Cu;
|
|
/* 02775A30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02775A34 */ _t23 = cpu->r[7] + 0x00000000u;
|
|
/* 02775A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02775A38 */ /* nop */
|
|
/* 02775A3C */ _t24 = cpu->r[6] + 0x00000038u;
|
|
/* 02775A3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02775A40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02775A44 */ _t25 = cpu->r[6] + 0x0000003Cu;
|
|
/* 02775A44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02775A48 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775A48 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02775A48 */ if (_t27) goto L_02775AB8; else goto L_02775A4C;
|
|
L_02775A4C: ; // 0x2775a4c
|
|
/* 02775A4C */ goto L_02775AC4;
|
|
L_02775A50: ; // 0x2775a50
|
|
/* 02775A50 */ _t28 = cpu->r[29] + 0x00000010u;
|
|
/* 02775A50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02775A54 */ _t29 = cpu->r[10] + 0x00000014u;
|
|
/* 02775A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02775A58 */ cpu->ctr = cpu->r[0];
|
|
/* 02775A5C */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02775A60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775A64 */ _t30 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02775A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02775A68 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02775A6C */ _t31 = cpu->r[1] + 0x00000018u;
|
|
/* 02775A6C */ rbrew_write32(cpu->mem, _t31, cpu->r[28]);
|
|
/* 02775A70 */ cpu->r[3] = cpu->r[31];
|
|
/* 02775A74 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02775A74 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02775A78 */ Gambit_fn_02983BC4(cpu);
|
|
/* 02775A7C */ cpu->r[4] = 0x00000000u;
|
|
/* 02775A80 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02775A84 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02775A84 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
|
|
/* 02775A88 */ cpu->r[6] = cpu->r[4];
|
|
/* 02775A8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02775A90 */ Gambit_fn_02983954(cpu);
|
|
/* 02775A94 */ _t34 = cpu->r[30] + 0x000000D8u;
|
|
/* 02775A94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02775A98 */ _t35 = cpu->r[12] + 0x000000A4u;
|
|
/* 02775A98 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02775A9C */ _t36 = cpu->r[6] + 0x0000002Cu;
|
|
/* 02775A9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02775AA0 */ _t37 = cpu->r[7] + 0x00000000u;
|
|
/* 02775AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02775AA4 */ /* nop */
|
|
/* 02775AA8 */ _t38 = cpu->r[6] + 0x00000038u;
|
|
/* 02775AA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02775AAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02775AB0 */ _t39 = cpu->r[6] + 0x0000003Cu;
|
|
/* 02775AB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02775AB4 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775AB4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02775AB4 */ if (_t41) goto L_02775AB8; else goto L_02775A4C;
|
|
L_02775AB8: ; // 0x2775ab8
|
|
/* 02775AB8 */ /* nop */
|
|
/* 02775ABC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02775AC0 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02775AC4: ; // 0x2775ac4
|
|
/* 02775AC4 */ _t42 = cpu->r[12] + 0x00000000u;
|
|
/* 02775AC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02775AC8 */ _t43 = cpu->r[12] + 0x00000000u;
|
|
/* 02775AC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02775ACC */ cpu->r[8] = 0x43300000u;
|
|
/* 02775AD0 */ _t44 = cpu->r[9] + 0x00000010u;
|
|
/* 02775AD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02775AD4 */ cpu->r[12] = 0x10100000u;
|
|
/* 02775AD8 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02775AD8 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 02775ADC */ cpu->r[0] = cpu->r[9] ^ 0x80000000u;
|
|
/* 02775AE0 */ _t46 = cpu->r[12] + 0x00002520u;
|
|
/* 02775AE0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 02775AE4 */ _t47 = cpu->r[1] + 0x00000024u;
|
|
/* 02775AE4 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 02775AE8 */ _t48 = cpu->r[1] + 0x00000020u;
|
|
/* 02775AE8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t48);
|
|
/* 02775AEC */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02775AF0 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02775AF4 */ _t49 = cpu->r[30] + 0x000000D0u;
|
|
/* 02775AF4 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[0]);
|
|
/* 02775AF8 */ _t50 = cpu->r[1] + 0x00000028u;
|
|
/* 02775AF8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02775AFC */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02775AFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02775B00 */ _t52 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02775B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02775B04 */ _t53 = cpu->r[1] + 0x00000030u;
|
|
/* 02775B04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02775B08 */ cpu->lr = cpu->r[0];
|
|
/* 02775B0C */ _t54 = cpu->r[1] + 0x00000034u;
|
|
/* 02775B0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02775B10 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02775B14 */ return;
|
|
}
|
|
|
|
// fn_02775990 @ 0x2775990
|
|
void Gambit_fn_02775990(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _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_02775990: ; // 0x2775990
|
|
/* 02775990 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02775990 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775990 */ cpu->r[1] = _t0;
|
|
/* 02775994 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02775994 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02775998 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02775998 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0277599C */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 0277599C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027759A0 */ cpu->r[5] = 0x10100000u;
|
|
/* 027759A4 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 027759A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027759A8 */ _t5 = cpu->r[5] + 0x000024F0u;
|
|
/* 027759A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027759AC */ cpu->r[30] = cpu->r[3];
|
|
/* 027759B0 */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027759B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027759B4 */ _t7 = cpu->r[30] + 0x000000D8u;
|
|
/* 027759B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027759B8 */ cpu->r[10] = 0x00000001u;
|
|
/* 027759BC */ _t8 = cpu->r[30] + 0x000000C8u;
|
|
/* 027759BC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 027759C0 */ cpu->r[28] = 0x10100000u;
|
|
/* 027759C4 */ _t9 = cpu->r[30] + 0x000000DCu;
|
|
/* 027759C4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t9);
|
|
/* 027759C8 */ cpu->r[28] = cpu->r[28] + 0x000023F8u;
|
|
/* 027759CC */ _t10 = cpu->r[30] + 0x000000D4u;
|
|
/* 027759CC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[10]);
|
|
/* 027759D0 */ _t11 = cpu->r[11] + 0x000000A4u;
|
|
/* 027759D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027759D4 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027759D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027759DC */ cpu->r[29] = cpu->r[29] + 0xFFFF8E5Cu;
|
|
/* 027759E0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027759E0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027759E0 */ if (_t13) goto L_02775A50; else goto L_027759E4;
|
|
L_027759E4: ; // 0x27759e4
|
|
/* 027759E4 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 027759E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027759E8 */ _t15 = cpu->r[6] + 0x00000014u;
|
|
/* 027759E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027759EC */ cpu->ctr = cpu->r[8];
|
|
/* 027759F0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027759F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027759F8 */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 027759F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027759FC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775A00 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02775A00 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02775A04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02775A08 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775A08 */ rbrew_write32(cpu->mem, _t18, cpu->r[6]);
|
|
/* 02775A0C */ Gambit_fn_02983BC4(cpu);
|
|
/* 02775A10 */ cpu->r[4] = 0x00000000u;
|
|
/* 02775A14 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02775A18 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02775A18 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 02775A1C */ cpu->r[6] = cpu->r[4];
|
|
/* 02775A20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02775A24 */ Gambit_fn_02983954(cpu);
|
|
/* 02775A28 */ _t20 = cpu->r[30] + 0x000000D8u;
|
|
/* 02775A28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02775A2C */ _t21 = cpu->r[12] + 0x000000A4u;
|
|
/* 02775A2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02775A30 */ _t22 = cpu->r[6] + 0x0000002Cu;
|
|
/* 02775A30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02775A34 */ _t23 = cpu->r[7] + 0x00000000u;
|
|
/* 02775A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02775A38 */ /* nop */
|
|
/* 02775A3C */ _t24 = cpu->r[6] + 0x00000038u;
|
|
/* 02775A3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02775A40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02775A44 */ _t25 = cpu->r[6] + 0x0000003Cu;
|
|
/* 02775A44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02775A48 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775A48 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02775A48 */ if (_t27) goto L_02775AB8; else goto L_02775A4C;
|
|
L_02775A4C: ; // 0x2775a4c
|
|
/* 02775A4C */ goto L_02775AC4;
|
|
L_02775A50: ; // 0x2775a50
|
|
/* 02775A50 */ _t28 = cpu->r[29] + 0x00000010u;
|
|
/* 02775A50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02775A54 */ _t29 = cpu->r[10] + 0x00000014u;
|
|
/* 02775A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02775A58 */ cpu->ctr = cpu->r[0];
|
|
/* 02775A5C */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02775A60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775A64 */ _t30 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02775A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02775A68 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02775A6C */ _t31 = cpu->r[1] + 0x00000018u;
|
|
/* 02775A6C */ rbrew_write32(cpu->mem, _t31, cpu->r[28]);
|
|
/* 02775A70 */ cpu->r[3] = cpu->r[31];
|
|
/* 02775A74 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02775A74 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02775A78 */ Gambit_fn_02983BC4(cpu);
|
|
/* 02775A7C */ cpu->r[4] = 0x00000000u;
|
|
/* 02775A80 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02775A84 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02775A84 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
|
|
/* 02775A88 */ cpu->r[6] = cpu->r[4];
|
|
/* 02775A8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02775A90 */ Gambit_fn_02983954(cpu);
|
|
/* 02775A94 */ _t34 = cpu->r[30] + 0x000000D8u;
|
|
/* 02775A94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02775A98 */ _t35 = cpu->r[12] + 0x000000A4u;
|
|
/* 02775A98 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02775A9C */ _t36 = cpu->r[6] + 0x0000002Cu;
|
|
/* 02775A9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02775AA0 */ _t37 = cpu->r[7] + 0x00000000u;
|
|
/* 02775AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02775AA4 */ /* nop */
|
|
/* 02775AA8 */ _t38 = cpu->r[6] + 0x00000038u;
|
|
/* 02775AA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02775AAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02775AB0 */ _t39 = cpu->r[6] + 0x0000003Cu;
|
|
/* 02775AB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02775AB4 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775AB4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02775AB4 */ if (_t41) goto L_02775AB8; else goto L_02775A4C;
|
|
L_02775AB8: ; // 0x2775ab8
|
|
/* 02775AB8 */ /* nop */
|
|
/* 02775ABC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02775AC0 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02775AC4: ; // 0x2775ac4
|
|
/* 02775AC4 */ _t42 = cpu->r[12] + 0x00000000u;
|
|
/* 02775AC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02775AC8 */ _t43 = cpu->r[12] + 0x00000000u;
|
|
/* 02775AC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02775ACC */ cpu->r[8] = 0x43300000u;
|
|
/* 02775AD0 */ _t44 = cpu->r[9] + 0x00000010u;
|
|
/* 02775AD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02775AD4 */ cpu->r[12] = 0x10100000u;
|
|
/* 02775AD8 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02775AD8 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 02775ADC */ cpu->r[0] = cpu->r[9] ^ 0x80000000u;
|
|
/* 02775AE0 */ _t46 = cpu->r[12] + 0x00002520u;
|
|
/* 02775AE0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 02775AE4 */ _t47 = cpu->r[1] + 0x00000024u;
|
|
/* 02775AE4 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 02775AE8 */ _t48 = cpu->r[1] + 0x00000020u;
|
|
/* 02775AE8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t48);
|
|
/* 02775AEC */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02775AF0 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02775AF4 */ _t49 = cpu->r[30] + 0x000000D0u;
|
|
/* 02775AF4 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[0]);
|
|
/* 02775AF8 */ _t50 = cpu->r[1] + 0x00000028u;
|
|
/* 02775AF8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02775AFC */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02775AFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02775B00 */ _t52 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02775B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02775B04 */ _t53 = cpu->r[1] + 0x00000030u;
|
|
/* 02775B04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02775B08 */ cpu->lr = cpu->r[0];
|
|
/* 02775B0C */ _t54 = cpu->r[1] + 0x00000034u;
|
|
/* 02775B0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02775B10 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02775B14 */ return;
|
|
}
|
|
|
|
// fn_02775B18 @ 0x2775b18
|
|
void Gambit_fn_02775B18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02775B18: ; // 0x2775b18
|
|
/* 02775B18 */ cpu->r[0] = cpu->lr;
|
|
/* 02775B1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02775B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775B1C */ cpu->r[1] = _t0;
|
|
/* 02775B20 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775B20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02775B24 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02775B28 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02775B28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02775B2C */ _t3 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 02775B2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02775B30 */ cpu->r[31] = cpu->r[3];
|
|
/* 02775B34 */ _t4 = cpu->r[12] + 0x00000264u;
|
|
/* 02775B34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02775B38 */ Gambit_fn_02774878(cpu);
|
|
/* 02775B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02775B40 */ _t5 = cpu->r[31] + 0x00000094u;
|
|
/* 02775B40 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02775B44 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775B44 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02775B44 */ if (_t7) goto L_02775B50; else goto L_02775B48;
|
|
L_02775B48: ; // 0x2775b48
|
|
/* 02775B48 */ cpu->r[4] = cpu->r[31];
|
|
/* 02775B4C */ Gambit_fn_02773474(cpu);
|
|
L_02775B50: ; // 0x2775b50
|
|
/* 02775B50 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02775B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02775B54 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775B54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02775B58 */ cpu->lr = cpu->r[0];
|
|
/* 02775B5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02775B60 */ return;
|
|
}
|
|
|
|
// fn_02775B1C @ 0x2775b1c
|
|
void Gambit_fn_02775B1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02775B1C: ; // 0x2775b1c
|
|
/* 02775B1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02775B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775B1C */ cpu->r[1] = _t0;
|
|
/* 02775B20 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775B20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02775B24 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02775B28 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02775B28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02775B2C */ _t3 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 02775B2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02775B30 */ cpu->r[31] = cpu->r[3];
|
|
/* 02775B34 */ _t4 = cpu->r[12] + 0x00000264u;
|
|
/* 02775B34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02775B38 */ Gambit_fn_02774878(cpu);
|
|
/* 02775B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02775B40 */ _t5 = cpu->r[31] + 0x00000094u;
|
|
/* 02775B40 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02775B44 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775B44 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02775B44 */ if (_t7) goto L_02775B50; else goto L_02775B48;
|
|
L_02775B48: ; // 0x2775b48
|
|
/* 02775B48 */ cpu->r[4] = cpu->r[31];
|
|
/* 02775B4C */ Gambit_fn_02773474(cpu);
|
|
L_02775B50: ; // 0x2775b50
|
|
/* 02775B50 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02775B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02775B54 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775B54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02775B58 */ cpu->lr = cpu->r[0];
|
|
/* 02775B5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02775B60 */ return;
|
|
}
|
|
|
|
// fn_02775B64 @ 0x2775b64
|
|
void Gambit_fn_02775B64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02775B64: ; // 0x2775b64
|
|
/* 02775B64 */ cpu->r[0] = cpu->lr;
|
|
/* 02775B68 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02775B68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775B68 */ cpu->r[1] = _t0;
|
|
/* 02775B6C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02775B6C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02775B70 */ cpu->r[4] = 0x101F0000u;
|
|
/* 02775B74 */ cpu->r[31] = cpu->r[3];
|
|
/* 02775B78 */ cpu->r[11] = 0x10100000u;
|
|
/* 02775B7C */ cpu->r[4] = cpu->r[4] + 0x00006350u;
|
|
/* 02775B80 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02775B84 */ _t2 = cpu->r[11] + 0x0000251Cu;
|
|
/* 02775B84 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02775B88 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02775B88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02775B8C */ Gambit_fn_0204E138(cpu);
|
|
/* 02775B90 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02775B90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02775B94 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775B94 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02775B98 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02775B98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02775B9C */ _t7 = cpu->r[31] + 0x000000A4u;
|
|
/* 02775B9C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 02775BA0 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02775BA0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02775BA4 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 02775BA4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02775BA8 */ _t10 = cpu->r[31] + 0x000000B4u;
|
|
/* 02775BA8 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[11]);
|
|
/* 02775BAC */ _t11 = cpu->r[31] + 0x000000B8u;
|
|
/* 02775BAC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 02775BB0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02775BB0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02775BB4 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02775BB4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02775BB8 */ _t14 = cpu->r[31] + 0x00000098u;
|
|
/* 02775BB8 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[11]);
|
|
/* 02775BBC */ _t15 = cpu->r[31] + 0x000000A8u;
|
|
/* 02775BBC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 02775BC0 */ _t16 = cpu->r[31] + 0x000000B0u;
|
|
/* 02775BC0 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02775BC4 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02775BC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02775BC8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02775BC8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02775BCC */ _t19 = cpu->r[31] + 0x000000ACu;
|
|
/* 02775BCC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02775BD0 */ _t20 = cpu->r[1] + 0x00000020u;
|
|
/* 02775BD0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02775BD4 */ _t21 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02775BD4 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02775BD8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02775BDC */ _t22 = cpu->r[31] + 0x000000A0u;
|
|
/* 02775BDC */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 02775BE0 */ _t23 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02775BE0 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 02775BE4 */ _t24 = cpu->r[12] + 0x0000020Cu;
|
|
/* 02775BE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02775BE8 */ cpu->ctr = cpu->r[6];
|
|
/* 02775BEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02775BF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775BF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02775BF8 */ Gambit_fn_0277598C(cpu);
|
|
/* 02775BFC */ cpu->r[7] = 0x101F0000u;
|
|
/* 02775C00 */ _t25 = cpu->r[7] + 0x00006338u;
|
|
/* 02775C00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02775C00 */ cpu->r[7] = _t25;
|
|
/* 02775C04 */ _t26 = cpu->r[31] + 0x000000BCu;
|
|
/* 02775C04 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02775C08 */ _t27 = cpu->r[7] + 0x00000004u;
|
|
/* 02775C08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02775C0C */ _t28 = cpu->r[31] + 0x00000088u;
|
|
/* 02775C0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02775C10 */ _t29 = cpu->r[31] + 0x000000C0u;
|
|
/* 02775C10 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02775C14 */ cpu->r[0] = 0x00000001u;
|
|
/* 02775C18 */ _t30 = cpu->r[7] + 0x00000008u;
|
|
/* 02775C18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02775C1C */ _t31 = cpu->r[31] + 0x000000DDu;
|
|
/* 02775C1C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 02775C20 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02775C24 */ _t32 = cpu->r[31] + 0x000000C4u;
|
|
/* 02775C24 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 02775C28 */ _t33 = cpu->r[12] + 0x00001358u;
|
|
/* 02775C28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02775C2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02775C30 */ _t34 = cpu->r[12] + 0x00000288u;
|
|
/* 02775C30 */ rbrew_write32(cpu->mem, _t34, cpu->r[8]);
|
|
/* 02775C34 */ Gambit_fn_02775B18(cpu);
|
|
/* 02775C38 */ _t35 = cpu->r[1] + 0x00000034u;
|
|
/* 02775C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02775C3C */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02775C3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02775C40 */ cpu->lr = cpu->r[0];
|
|
/* 02775C44 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02775C48 */ return;
|
|
}
|
|
|
|
// fn_02775B68 @ 0x2775b68
|
|
void Gambit_fn_02775B68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02775B68: ; // 0x2775b68
|
|
/* 02775B68 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02775B68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775B68 */ cpu->r[1] = _t0;
|
|
/* 02775B6C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02775B6C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02775B70 */ cpu->r[4] = 0x101F0000u;
|
|
/* 02775B74 */ cpu->r[31] = cpu->r[3];
|
|
/* 02775B78 */ cpu->r[11] = 0x10100000u;
|
|
/* 02775B7C */ cpu->r[4] = cpu->r[4] + 0x00006350u;
|
|
/* 02775B80 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02775B84 */ _t2 = cpu->r[11] + 0x0000251Cu;
|
|
/* 02775B84 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02775B88 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02775B88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02775B8C */ Gambit_fn_0204E138(cpu);
|
|
/* 02775B90 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02775B90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02775B94 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775B94 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02775B98 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02775B98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02775B9C */ _t7 = cpu->r[31] + 0x000000A4u;
|
|
/* 02775B9C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 02775BA0 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02775BA0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02775BA4 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 02775BA4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02775BA8 */ _t10 = cpu->r[31] + 0x000000B4u;
|
|
/* 02775BA8 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[11]);
|
|
/* 02775BAC */ _t11 = cpu->r[31] + 0x000000B8u;
|
|
/* 02775BAC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 02775BB0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02775BB0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02775BB4 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02775BB4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02775BB8 */ _t14 = cpu->r[31] + 0x00000098u;
|
|
/* 02775BB8 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[11]);
|
|
/* 02775BBC */ _t15 = cpu->r[31] + 0x000000A8u;
|
|
/* 02775BBC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[13]);
|
|
/* 02775BC0 */ _t16 = cpu->r[31] + 0x000000B0u;
|
|
/* 02775BC0 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02775BC4 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02775BC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02775BC8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02775BC8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02775BCC */ _t19 = cpu->r[31] + 0x000000ACu;
|
|
/* 02775BCC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02775BD0 */ _t20 = cpu->r[1] + 0x00000020u;
|
|
/* 02775BD0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02775BD4 */ _t21 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02775BD4 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02775BD8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02775BDC */ _t22 = cpu->r[31] + 0x000000A0u;
|
|
/* 02775BDC */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 02775BE0 */ _t23 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02775BE0 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 02775BE4 */ _t24 = cpu->r[12] + 0x0000020Cu;
|
|
/* 02775BE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02775BE8 */ cpu->ctr = cpu->r[6];
|
|
/* 02775BEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02775BF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775BF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02775BF8 */ Gambit_fn_0277598C(cpu);
|
|
/* 02775BFC */ cpu->r[7] = 0x101F0000u;
|
|
/* 02775C00 */ _t25 = cpu->r[7] + 0x00006338u;
|
|
/* 02775C00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02775C00 */ cpu->r[7] = _t25;
|
|
/* 02775C04 */ _t26 = cpu->r[31] + 0x000000BCu;
|
|
/* 02775C04 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02775C08 */ _t27 = cpu->r[7] + 0x00000004u;
|
|
/* 02775C08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02775C0C */ _t28 = cpu->r[31] + 0x00000088u;
|
|
/* 02775C0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02775C10 */ _t29 = cpu->r[31] + 0x000000C0u;
|
|
/* 02775C10 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02775C14 */ cpu->r[0] = 0x00000001u;
|
|
/* 02775C18 */ _t30 = cpu->r[7] + 0x00000008u;
|
|
/* 02775C18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02775C1C */ _t31 = cpu->r[31] + 0x000000DDu;
|
|
/* 02775C1C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 02775C20 */ cpu->r[12] = 0x101C0000u;
|
|
/* 02775C24 */ _t32 = cpu->r[31] + 0x000000C4u;
|
|
/* 02775C24 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 02775C28 */ _t33 = cpu->r[12] + 0x00001358u;
|
|
/* 02775C28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02775C2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02775C30 */ _t34 = cpu->r[12] + 0x00000288u;
|
|
/* 02775C30 */ rbrew_write32(cpu->mem, _t34, cpu->r[8]);
|
|
/* 02775C34 */ Gambit_fn_02775B18(cpu);
|
|
/* 02775C38 */ _t35 = cpu->r[1] + 0x00000034u;
|
|
/* 02775C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02775C3C */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02775C3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02775C40 */ cpu->lr = cpu->r[0];
|
|
/* 02775C44 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02775C48 */ return;
|
|
}
|
|
|
|
// fn_02775C4C @ 0x2775c4c
|
|
void Gambit_fn_02775C4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _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_0277598C: ; // 0x277598c
|
|
/* 0277598C */ cpu->r[0] = cpu->lr;
|
|
/* 02775990 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02775990 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775990 */ cpu->r[1] = _t0;
|
|
/* 02775994 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02775994 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02775998 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02775998 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0277599C */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 0277599C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027759A0 */ cpu->r[5] = 0x10100000u;
|
|
/* 027759A4 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 027759A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027759A8 */ _t5 = cpu->r[5] + 0x000024F0u;
|
|
/* 027759A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027759AC */ cpu->r[30] = cpu->r[3];
|
|
/* 027759B0 */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027759B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027759B4 */ _t7 = cpu->r[30] + 0x000000D8u;
|
|
/* 027759B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027759B8 */ cpu->r[10] = 0x00000001u;
|
|
/* 027759BC */ _t8 = cpu->r[30] + 0x000000C8u;
|
|
/* 027759BC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 027759C0 */ cpu->r[28] = 0x10100000u;
|
|
/* 027759C4 */ _t9 = cpu->r[30] + 0x000000DCu;
|
|
/* 027759C4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t9);
|
|
/* 027759C8 */ cpu->r[28] = cpu->r[28] + 0x000023F8u;
|
|
/* 027759CC */ _t10 = cpu->r[30] + 0x000000D4u;
|
|
/* 027759CC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[10]);
|
|
/* 027759D0 */ _t11 = cpu->r[11] + 0x000000A4u;
|
|
/* 027759D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027759D4 */ cpu->r[29] = 0x101D0000u;
|
|
/* 027759D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 027759DC */ cpu->r[29] = cpu->r[29] + 0xFFFF8E5Cu;
|
|
/* 027759E0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027759E0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027759E0 */ if (_t13) goto L_02775A50; else goto L_027759E4;
|
|
L_027759E4: ; // 0x27759e4
|
|
/* 027759E4 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 027759E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027759E8 */ _t15 = cpu->r[6] + 0x00000014u;
|
|
/* 027759E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 027759EC */ cpu->ctr = cpu->r[8];
|
|
/* 027759F0 */ cpu->r[3] = cpu->r[29];
|
|
/* 027759F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027759F8 */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 027759F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027759FC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775A00 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02775A00 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02775A04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02775A08 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775A08 */ rbrew_write32(cpu->mem, _t18, cpu->r[6]);
|
|
/* 02775A0C */ Gambit_fn_02983BC4(cpu);
|
|
/* 02775A10 */ cpu->r[4] = 0x00000000u;
|
|
/* 02775A14 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02775A18 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02775A18 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 02775A1C */ cpu->r[6] = cpu->r[4];
|
|
/* 02775A20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02775A24 */ Gambit_fn_02983954(cpu);
|
|
/* 02775A28 */ _t20 = cpu->r[30] + 0x000000D8u;
|
|
/* 02775A28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02775A2C */ _t21 = cpu->r[12] + 0x000000A4u;
|
|
/* 02775A2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02775A30 */ _t22 = cpu->r[6] + 0x0000002Cu;
|
|
/* 02775A30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02775A34 */ _t23 = cpu->r[7] + 0x00000000u;
|
|
/* 02775A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02775A38 */ /* nop */
|
|
/* 02775A3C */ _t24 = cpu->r[6] + 0x00000038u;
|
|
/* 02775A3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02775A40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02775A44 */ _t25 = cpu->r[6] + 0x0000003Cu;
|
|
/* 02775A44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02775A48 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775A48 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02775A48 */ if (_t27) goto L_02775AB8; else goto L_02775A4C;
|
|
L_02775A4C: ; // 0x2775a4c
|
|
/* 02775A4C */ goto L_02775AC4;
|
|
L_02775A50: ; // 0x2775a50
|
|
/* 02775A50 */ _t28 = cpu->r[29] + 0x00000010u;
|
|
/* 02775A50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02775A54 */ _t29 = cpu->r[10] + 0x00000014u;
|
|
/* 02775A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02775A58 */ cpu->ctr = cpu->r[0];
|
|
/* 02775A5C */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02775A60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775A64 */ _t30 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02775A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02775A68 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02775A6C */ _t31 = cpu->r[1] + 0x00000018u;
|
|
/* 02775A6C */ rbrew_write32(cpu->mem, _t31, cpu->r[28]);
|
|
/* 02775A70 */ cpu->r[3] = cpu->r[31];
|
|
/* 02775A74 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02775A74 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02775A78 */ Gambit_fn_02983BC4(cpu);
|
|
/* 02775A7C */ cpu->r[4] = 0x00000000u;
|
|
/* 02775A80 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02775A84 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02775A84 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
|
|
/* 02775A88 */ cpu->r[6] = cpu->r[4];
|
|
/* 02775A8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02775A90 */ Gambit_fn_02983954(cpu);
|
|
/* 02775A94 */ _t34 = cpu->r[30] + 0x000000D8u;
|
|
/* 02775A94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02775A98 */ _t35 = cpu->r[12] + 0x000000A4u;
|
|
/* 02775A98 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02775A9C */ _t36 = cpu->r[6] + 0x0000002Cu;
|
|
/* 02775A9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02775AA0 */ _t37 = cpu->r[7] + 0x00000000u;
|
|
/* 02775AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02775AA4 */ /* nop */
|
|
/* 02775AA8 */ _t38 = cpu->r[6] + 0x00000038u;
|
|
/* 02775AA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02775AAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02775AB0 */ _t39 = cpu->r[6] + 0x0000003Cu;
|
|
/* 02775AB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02775AB4 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775AB4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02775AB4 */ if (_t41) goto L_02775AB8; else goto L_02775A4C;
|
|
L_02775AB8: ; // 0x2775ab8
|
|
/* 02775AB8 */ /* nop */
|
|
/* 02775ABC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02775AC0 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02775AC4: ; // 0x2775ac4
|
|
/* 02775AC4 */ _t42 = cpu->r[12] + 0x00000000u;
|
|
/* 02775AC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02775AC8 */ _t43 = cpu->r[12] + 0x00000000u;
|
|
/* 02775AC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02775ACC */ cpu->r[8] = 0x43300000u;
|
|
/* 02775AD0 */ _t44 = cpu->r[9] + 0x00000010u;
|
|
/* 02775AD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02775AD4 */ cpu->r[12] = 0x10100000u;
|
|
/* 02775AD8 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02775AD8 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 02775ADC */ cpu->r[0] = cpu->r[9] ^ 0x80000000u;
|
|
/* 02775AE0 */ _t46 = cpu->r[12] + 0x00002520u;
|
|
/* 02775AE0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 02775AE4 */ _t47 = cpu->r[1] + 0x00000024u;
|
|
/* 02775AE4 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 02775AE8 */ _t48 = cpu->r[1] + 0x00000020u;
|
|
/* 02775AE8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t48);
|
|
/* 02775AEC */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02775AF0 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02775AF4 */ _t49 = cpu->r[30] + 0x000000D0u;
|
|
/* 02775AF4 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[0]);
|
|
/* 02775AF8 */ _t50 = cpu->r[1] + 0x00000028u;
|
|
/* 02775AF8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02775AFC */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02775AFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02775B00 */ _t52 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02775B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02775B04 */ _t53 = cpu->r[1] + 0x00000030u;
|
|
/* 02775B04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02775B08 */ cpu->lr = cpu->r[0];
|
|
/* 02775B0C */ _t54 = cpu->r[1] + 0x00000034u;
|
|
/* 02775B0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02775B10 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02775B14 */ return;
|
|
L_02775C4C: ; // 0x2775c4c
|
|
/* 02775C4C */ cpu->r[12] = 0x10100000u;
|
|
/* 02775C50 */ _t55 = cpu->r[12] + 0x000024ECu;
|
|
/* 02775C50 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02775C54 */ cpu->r[12] = 0x10100000u;
|
|
/* 02775C58 */ cpu->r[0] = 0x00000001u;
|
|
/* 02775C5C */ _t56 = cpu->r[12] + 0x000024F0u;
|
|
/* 02775C5C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02775C60 */ _t57 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02775C60 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[0]);
|
|
/* 02775C64 */ _t58 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02775C64 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[0]);
|
|
/* 02775C68 */ _t59 = cpu->r[3] + 0x000000B0u;
|
|
/* 02775C68 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 02775C6C */ _t60 = cpu->r[3] + 0x00000098u;
|
|
/* 02775C6C */ rbrew_write_f32(cpu->mem, _t60, cpu->f[13]);
|
|
/* 02775C70 */ _t61 = cpu->r[3] + 0x000000B4u;
|
|
/* 02775C70 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[0]);
|
|
/* 02775C74 */ _t62 = cpu->r[3] + 0x000000A8u;
|
|
/* 02775C74 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[13]);
|
|
/* 02775C78 */ _t63 = cpu->r[3] + 0x000000A0u;
|
|
/* 02775C78 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[0]);
|
|
/* 02775C7C */ _t64 = cpu->r[3] + 0x000000B8u;
|
|
/* 02775C7C */ rbrew_write_f32(cpu->mem, _t64, cpu->f[13]);
|
|
/* 02775C80 */ _t65 = cpu->r[3] + 0x000000A4u;
|
|
/* 02775C80 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[0]);
|
|
/* 02775C84 */ _t66 = cpu->r[3] + 0x000000ACu;
|
|
/* 02775C84 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[0]);
|
|
/* 02775C88 */ goto L_0277598C;
|
|
}
|
|
|
|
// fn_02775C8C @ 0x2775c8c
|
|
void Gambit_fn_02775C8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02775C8C: ; // 0x2775c8c
|
|
/* 02775C8C */ cpu->r[0] = cpu->lr;
|
|
/* 02775C90 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02775C90 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02775C94 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02775C94 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02775C94 */ cpu->r[1] = _t1;
|
|
/* 02775C98 */ _t2 = cpu->r[3] + 0x00000090u;
|
|
/* 02775C98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02775C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02775CA0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02775CA4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775CA4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02775CA4 */ if (_t4) goto L_02775CB8; else goto L_02775CA8;
|
|
L_02775CA8: ; // 0x2775ca8
|
|
/* 02775CA8 */ cpu->r[3] = cpu->r[0];
|
|
/* 02775CAC */ Gambit_fn_0276EAC0(cpu);
|
|
/* 02775CB0 */ cpu->r[12] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02775CB4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02775CB8: ; // 0x2775cb8
|
|
/* 02775CB8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02775CBC */ cpu->lr = cpu->r[0];
|
|
/* 02775CC0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02775CC4 */ return;
|
|
}
|
|
|
|
// fn_02775C94 @ 0x2775c94
|
|
void Gambit_fn_02775C94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02775C94: ; // 0x2775c94
|
|
/* 02775C94 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02775C94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775C94 */ cpu->r[1] = _t0;
|
|
/* 02775C98 */ _t1 = cpu->r[3] + 0x00000090u;
|
|
/* 02775C98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02775C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02775CA0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02775CA4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775CA4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02775CA4 */ if (_t3) goto L_02775CB8; else goto L_02775CA8;
|
|
L_02775CA8: ; // 0x2775ca8
|
|
/* 02775CA8 */ cpu->r[3] = cpu->r[0];
|
|
/* 02775CAC */ Gambit_fn_0276EAC0(cpu);
|
|
/* 02775CB0 */ cpu->r[12] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02775CB4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_02775CB8: ; // 0x2775cb8
|
|
/* 02775CB8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02775CBC */ cpu->lr = cpu->r[0];
|
|
/* 02775CC0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02775CC4 */ return;
|
|
}
|
|
|
|
// fn_02775CC8 @ 0x2775cc8
|
|
void Gambit_fn_02775CC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02775CC8: ; // 0x2775cc8
|
|
/* 02775CC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02775CCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02775CCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775CCC */ cpu->r[1] = _t0;
|
|
/* 02775CD0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02775CD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02775CD4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775CD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02775CD8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02775CDC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02775CDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02775CE0 */ _t4 = cpu->r[30] + 0x00000090u;
|
|
/* 02775CE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02775CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02775CE8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02775CEC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775CEC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02775CEC */ if (_t6) goto L_02775CF8; else goto L_02775CF0;
|
|
L_02775CF0: ; // 0x2775cf0
|
|
/* 02775CF0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02775CF4 */ Gambit_fn_0276E530(cpu);
|
|
L_02775CF8: ; // 0x2775cf8
|
|
/* 02775CF8 */ _t7 = cpu->r[30] + 0x00000094u;
|
|
/* 02775CF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02775CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02775D00 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775D00 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02775D00 */ if (_t9) goto L_02775D0C; else goto L_02775D04;
|
|
L_02775D04: ; // 0x2775d04
|
|
/* 02775D04 */ cpu->r[4] = cpu->r[31];
|
|
/* 02775D08 */ Gambit_fn_02773530(cpu);
|
|
L_02775D0C: ; // 0x2775d0c
|
|
/* 02775D0C */ cpu->r[3] = cpu->r[30];
|
|
/* 02775D10 */ Gambit_fn_020007DC(cpu);
|
|
/* 02775D14 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02775D14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02775D18 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02775D18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02775D1C */ cpu->lr = cpu->r[0];
|
|
/* 02775D20 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775D20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02775D24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02775D28 */ return;
|
|
}
|
|
|
|
// fn_02775CCC @ 0x2775ccc
|
|
void Gambit_fn_02775CCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02775CCC: ; // 0x2775ccc
|
|
/* 02775CCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02775CCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775CCC */ cpu->r[1] = _t0;
|
|
/* 02775CD0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02775CD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02775CD4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775CD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02775CD8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02775CDC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02775CDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02775CE0 */ _t4 = cpu->r[30] + 0x00000090u;
|
|
/* 02775CE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02775CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02775CE8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02775CEC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775CEC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02775CEC */ if (_t6) goto L_02775CF8; else goto L_02775CF0;
|
|
L_02775CF0: ; // 0x2775cf0
|
|
/* 02775CF0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02775CF4 */ Gambit_fn_0276E530(cpu);
|
|
L_02775CF8: ; // 0x2775cf8
|
|
/* 02775CF8 */ _t7 = cpu->r[30] + 0x00000094u;
|
|
/* 02775CF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02775CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02775D00 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775D00 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02775D00 */ if (_t9) goto L_02775D0C; else goto L_02775D04;
|
|
L_02775D04: ; // 0x2775d04
|
|
/* 02775D04 */ cpu->r[4] = cpu->r[31];
|
|
/* 02775D08 */ Gambit_fn_02773530(cpu);
|
|
L_02775D0C: ; // 0x2775d0c
|
|
/* 02775D0C */ cpu->r[3] = cpu->r[30];
|
|
/* 02775D10 */ Gambit_fn_020007DC(cpu);
|
|
/* 02775D14 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02775D14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02775D18 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02775D18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02775D1C */ cpu->lr = cpu->r[0];
|
|
/* 02775D20 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775D20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02775D24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02775D28 */ return;
|
|
}
|
|
|
|
// fn_02775D30 @ 0x2775d30
|
|
void Gambit_fn_02775D30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02775D30: ; // 0x2775d30
|
|
/* 02775D30 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02775D30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775D30 */ cpu->r[1] = _t0;
|
|
/* 02775D34 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02775D34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02775D38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02775D3C */ cpu->r[11] = 0x101F0000u;
|
|
/* 02775D40 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02775D40 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02775D44 */ cpu->r[11] = cpu->r[11] + 0x00005E2Cu;
|
|
/* 02775D48 */ cpu->r[12] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775D4C */ _t3 = cpu->r[1] + 0x00000054u;
|
|
/* 02775D4C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02775D50 */ cpu->r[0] = 0x00000003u;
|
|
/* 02775D54 */ _t4 = cpu->r[1] + 0x00000044u;
|
|
/* 02775D54 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02775D58 */ cpu->ctr = cpu->r[0];
|
|
/* 02775D5C */ _t5 = cpu->r[1] + 0x00000040u;
|
|
/* 02775D5C */ rbrew_write32(cpu->mem, _t5, cpu->r[28]);
|
|
L_02775D60: ; // 0x2775d60
|
|
/* 02775D60 */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 02775D60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02775D64 */ _t7 = cpu->r[12] + 0x00000004u;
|
|
/* 02775D64 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02775D68 */ _t8 = cpu->r[11] + 0x00000008u;
|
|
/* 02775D68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02775D6C */ _t9 = cpu->r[12] + 0x00000008u;
|
|
/* 02775D6C */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02775D70 */ _t10 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02775D70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02775D74 */ _t11 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02775D74 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02775D78 */ _t12 = cpu->r[11] + 0x00000010u;
|
|
/* 02775D78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02775D78 */ cpu->r[11] = _t12;
|
|
/* 02775D7C */ _t13 = cpu->r[12] + 0x00000010u;
|
|
/* 02775D7C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02775D7C */ cpu->r[12] = _t13;
|
|
/* 02775D80 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02775D80 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02775D80 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 02775D80 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02775D80 */ if (_t16) goto L_02775D60; else goto L_02775D84;
|
|
L_02775D84: ; // 0x2775d84
|
|
/* 02775D84 */ cpu->r[12] = 0x10100000u;
|
|
/* 02775D88 */ _t17 = cpu->r[31] + 0x000000D8u;
|
|
/* 02775D88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02775D8C */ cpu->r[12] = cpu->r[12] + 0x000023F8u;
|
|
/* 02775D90 */ cpu->r[0] = 0x10100000u;
|
|
/* 02775D94 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775D94 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02775D98 */ cpu->r[0] = cpu->r[0] + 0x00002528u;
|
|
/* 02775D9C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02775DA0 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02775DA0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02775DA4 */ Gambit_fn_029807A8(cpu);
|
|
/* 02775DA8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02775DAC */ _t20 = cpu->r[31] + 0x000000D8u;
|
|
/* 02775DAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02775DB0 */ /* nop */
|
|
/* 02775DB4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02775DB8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02775DBC */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02775DC0 */ _t21 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02775DC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02775DC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 02775DC8 */ cpu->r[9] = 0x00000000u;
|
|
/* 02775DCC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775DCC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02775DCC */ if (_t23) goto L_02775DD0; else goto L_02775DDC;
|
|
L_02775DD0: ; // 0x2775dd0
|
|
/* 02775DD0 */ _t24 = cpu->r[29] + 0x00000024u;
|
|
/* 02775DD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02775DD4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02775DD8 */ _t25 = cpu->r[10] + cpu->r[0];
|
|
/* 02775DD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
L_02775DDC: ; // 0x2775ddc
|
|
/* 02775DDC */ _t26 = cpu->r[9] + 0x00000000u;
|
|
/* 02775DDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02775DE0 */ _t27 = cpu->r[3] + 0x00000088u;
|
|
/* 02775DE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02775DE4 */ _t28 = cpu->r[12] + 0x00000074u;
|
|
/* 02775DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02775DE8 */ cpu->ctr = cpu->r[0];
|
|
/* 02775DEC */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02775DF0 */ /* nop */
|
|
/* 02775DF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775DF8 */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 02775DF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02775DFC */ _t30 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02775DFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02775E00 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02775E04 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02775E08 */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 02775E0C */ _t31 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02775E0C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 02775E10 */ Gambit_fn_02C69510(cpu);
|
|
/* 02775E14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02775E18 */ Gambit_fn_02980378(cpu);
|
|
/* 02775E1C */ _t32 = cpu->r[1] + 0x00000040u;
|
|
/* 02775E1C */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02775E20 */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 02775E20 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02775E24 */ _t34 = cpu->r[1] + 0x00000054u;
|
|
/* 02775E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02775E28 */ _t35 = cpu->r[1] + 0x00000048u;
|
|
/* 02775E28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02775E2C */ cpu->lr = cpu->r[0];
|
|
/* 02775E30 */ _t36 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02775E30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02775E34 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02775E38 */ return;
|
|
}
|
|
|
|
// fn_02775E3C @ 0x2775e3c
|
|
void Gambit_fn_02775E3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02775D2C: ; // 0x2775d2c
|
|
/* 02775D2C */ cpu->r[0] = cpu->lr;
|
|
/* 02775D30 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02775D30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775D30 */ cpu->r[1] = _t0;
|
|
/* 02775D34 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02775D34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02775D38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02775D3C */ cpu->r[11] = 0x101F0000u;
|
|
/* 02775D40 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02775D40 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02775D44 */ cpu->r[11] = cpu->r[11] + 0x00005E2Cu;
|
|
/* 02775D48 */ cpu->r[12] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775D4C */ _t3 = cpu->r[1] + 0x00000054u;
|
|
/* 02775D4C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02775D50 */ cpu->r[0] = 0x00000003u;
|
|
/* 02775D54 */ _t4 = cpu->r[1] + 0x00000044u;
|
|
/* 02775D54 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02775D58 */ cpu->ctr = cpu->r[0];
|
|
/* 02775D5C */ _t5 = cpu->r[1] + 0x00000040u;
|
|
/* 02775D5C */ rbrew_write32(cpu->mem, _t5, cpu->r[28]);
|
|
L_02775D60: ; // 0x2775d60
|
|
/* 02775D60 */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 02775D60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02775D64 */ _t7 = cpu->r[12] + 0x00000004u;
|
|
/* 02775D64 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02775D68 */ _t8 = cpu->r[11] + 0x00000008u;
|
|
/* 02775D68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02775D6C */ _t9 = cpu->r[12] + 0x00000008u;
|
|
/* 02775D6C */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02775D70 */ _t10 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02775D70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02775D74 */ _t11 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02775D74 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02775D78 */ _t12 = cpu->r[11] + 0x00000010u;
|
|
/* 02775D78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02775D78 */ cpu->r[11] = _t12;
|
|
/* 02775D7C */ _t13 = cpu->r[12] + 0x00000010u;
|
|
/* 02775D7C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02775D7C */ cpu->r[12] = _t13;
|
|
/* 02775D80 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02775D80 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02775D80 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 02775D80 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02775D80 */ if (_t16) goto L_02775D60; else goto L_02775D84;
|
|
L_02775D84: ; // 0x2775d84
|
|
/* 02775D84 */ cpu->r[12] = 0x10100000u;
|
|
/* 02775D88 */ _t17 = cpu->r[31] + 0x000000D8u;
|
|
/* 02775D88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02775D8C */ cpu->r[12] = cpu->r[12] + 0x000023F8u;
|
|
/* 02775D90 */ cpu->r[0] = 0x10100000u;
|
|
/* 02775D94 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775D94 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02775D98 */ cpu->r[0] = cpu->r[0] + 0x00002528u;
|
|
/* 02775D9C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02775DA0 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02775DA0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02775DA4 */ Gambit_fn_029807A8(cpu);
|
|
/* 02775DA8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02775DAC */ _t20 = cpu->r[31] + 0x000000D8u;
|
|
/* 02775DAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02775DB0 */ /* nop */
|
|
/* 02775DB4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02775DB8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02775DBC */ Gambit_fn_0297FC7C(cpu);
|
|
/* 02775DC0 */ _t21 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02775DC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02775DC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 02775DC8 */ cpu->r[9] = 0x00000000u;
|
|
/* 02775DCC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02775DCC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02775DCC */ if (_t23) goto L_02775DD0; else goto L_02775DDC;
|
|
L_02775DD0: ; // 0x2775dd0
|
|
/* 02775DD0 */ _t24 = cpu->r[29] + 0x00000024u;
|
|
/* 02775DD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02775DD4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02775DD8 */ _t25 = cpu->r[10] + cpu->r[0];
|
|
/* 02775DD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
L_02775DDC: ; // 0x2775ddc
|
|
/* 02775DDC */ _t26 = cpu->r[9] + 0x00000000u;
|
|
/* 02775DDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02775DE0 */ _t27 = cpu->r[3] + 0x00000088u;
|
|
/* 02775DE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02775DE4 */ _t28 = cpu->r[12] + 0x00000074u;
|
|
/* 02775DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02775DE8 */ cpu->ctr = cpu->r[0];
|
|
/* 02775DEC */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02775DF0 */ /* nop */
|
|
/* 02775DF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02775DF8 */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 02775DF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02775DFC */ _t30 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02775DFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02775E00 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02775E04 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02775E08 */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 02775E0C */ _t31 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02775E0C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 02775E10 */ Gambit_fn_02C69510(cpu);
|
|
/* 02775E14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02775E18 */ Gambit_fn_02980378(cpu);
|
|
/* 02775E1C */ _t32 = cpu->r[1] + 0x00000040u;
|
|
/* 02775E1C */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02775E20 */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 02775E20 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02775E24 */ _t34 = cpu->r[1] + 0x00000054u;
|
|
/* 02775E24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02775E28 */ _t35 = cpu->r[1] + 0x00000048u;
|
|
/* 02775E28 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02775E2C */ cpu->lr = cpu->r[0];
|
|
/* 02775E30 */ _t36 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02775E30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02775E34 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02775E38 */ return;
|
|
L_02775E3C: ; // 0x2775e3c
|
|
/* 02775E3C */ goto L_02775D2C;
|
|
}
|
|
|
|
// fn_02775E44 @ 0x2775e44
|
|
void Gambit_fn_02775E44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02775E44: ; // 0x2775e44
|
|
/* 02775E44 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02775E44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775E44 */ cpu->r[1] = _t0;
|
|
/* 02775E48 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775E48 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02775E4C */ cpu->r[31] = cpu->r[3];
|
|
/* 02775E50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02775E50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02775E54 */ _t3 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02775E54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02775E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02775E5C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775E5C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02775E5C */ if (_t5) goto L_02775E60; else goto L_02775E68;
|
|
L_02775E60: ; // 0x2775e60
|
|
/* 02775E60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02775E64 */ Gambit_fn_02775B18(cpu);
|
|
L_02775E68: ; // 0x2775e68
|
|
/* 02775E68 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02775E6C */ cpu->r[4] = 0x00000001u;
|
|
/* 02775E70 */ Gambit_fn_0276C478(cpu);
|
|
/* 02775E74 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02775E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02775E78 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775E78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02775E7C */ cpu->lr = cpu->r[0];
|
|
/* 02775E80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02775E84 */ return;
|
|
}
|
|
|
|
// fn_02775E8C @ 0x2775e8c
|
|
void Gambit_fn_02775E8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02775E8C: ; // 0x2775e8c
|
|
/* 02775E8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02775E8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775E8C */ cpu->r[1] = _t0;
|
|
/* 02775E90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775E90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02775E94 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02775E94 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02775E98 */ _t3 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02775E98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02775E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02775EA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02775EA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775EA4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02775EA4 */ if (_t5) goto L_02775EC4; else goto L_02775EA8;
|
|
L_02775EA8: ; // 0x2775ea8
|
|
/* 02775EA8 */ Gambit_fn_02775B64(cpu);
|
|
/* 02775EAC */ _t6 = cpu->r[31] + 0x00000090u;
|
|
/* 02775EAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02775EB0 */ Gambit_fn_0276EAB4(cpu);
|
|
/* 02775EB4 */ _t7 = cpu->r[31] + 0x00000094u;
|
|
/* 02775EB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02775EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02775EBC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775EBC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02775EBC */ if (_t9) goto L_02775EE0; else goto L_02775EC0;
|
|
L_02775EC0: ; // 0x2775ec0
|
|
/* 02775EC0 */ goto L_02775EDC;
|
|
L_02775EC4: ; // 0x2775ec4
|
|
/* 02775EC4 */ Gambit_fn_02775C4C(cpu);
|
|
/* 02775EC8 */ _t10 = cpu->r[31] + 0x00000090u;
|
|
/* 02775EC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02775ECC */ Gambit_fn_0276EAB4(cpu);
|
|
/* 02775ED0 */ _t11 = cpu->r[31] + 0x00000094u;
|
|
/* 02775ED0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02775ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02775ED8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775ED8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02775ED8 */ if (_t13) goto L_02775EE0; else goto L_02775EDC;
|
|
L_02775EDC: ; // 0x2775edc
|
|
/* 02775EDC */ Gambit_fn_02773524(cpu);
|
|
L_02775EE0: ; // 0x2775ee0
|
|
/* 02775EE0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02775EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02775EE4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775EE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02775EE8 */ cpu->lr = cpu->r[0];
|
|
/* 02775EEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02775EF0 */ return;
|
|
}
|
|
|
|
// fn_02775EF8 @ 0x2775ef8
|
|
void Gambit_fn_02775EF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_02775EF8: ; // 0x2775ef8
|
|
/* 02775EF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02775EF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775EF8 */ cpu->r[1] = _t0;
|
|
/* 02775EFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775EFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02775F00 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02775F00 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02775F04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02775F08 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02775F08 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02775F0C */ _t4 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02775F0C */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02775F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02775F14 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775F14 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02775F14 */ if (_t6) goto L_02775F80; else goto L_02775F18;
|
|
L_02775F18: ; // 0x2775f18
|
|
/* 02775F18 */ _t7 = cpu->r[31] + 0x00000058u;
|
|
/* 02775F18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02775F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Bu);
|
|
/* 02775F20 */ cpu->r[30] = 0x00000000u;
|
|
/* 02775F24 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775F24 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02775F24 */ if (_t9) goto L_02775F28; else goto L_02775F58;
|
|
L_02775F28: ; // 0x2775f28
|
|
/* 02775F28 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02775F2C */ _t10 = cpu->r[12] + 0x00001D94u;
|
|
/* 02775F2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02775F2C */ cpu->r[12] = _t10;
|
|
/* 02775F30 */ _t11 = cpu->r[31] + 0x000000BCu;
|
|
/* 02775F30 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02775F34 */ _t12 = cpu->r[12] + 0x00000004u;
|
|
/* 02775F34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02775F38 */ _t13 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02775F38 */ cpu->r[10] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02775F3C */ _t14 = cpu->r[31] + 0x000000C0u;
|
|
/* 02775F3C */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02775F40 */ _t15 = cpu->r[12] + 0x00000008u;
|
|
/* 02775F40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02775F44 */ _t16 = cpu->r[31] + 0x000000DDu;
|
|
/* 02775F44 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[30]);
|
|
/* 02775F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02775F4C */ _t17 = cpu->r[31] + 0x000000C4u;
|
|
/* 02775F4C */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 02775F50 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775F50 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02775F50 */ if (_t19) goto L_02775F80; else goto L_02775F54;
|
|
L_02775F54: ; // 0x2775f54
|
|
/* 02775F54 */ _t20 = cpu->r[31] + 0x00000058u;
|
|
/* 02775F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
L_02775F58: ; // 0x2775f58
|
|
/* 02775F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Cu);
|
|
/* 02775F5C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775F5C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02775F5C */ if (_t22) goto L_02775F60; else goto L_02775FA8;
|
|
L_02775F60: ; // 0x2775f60
|
|
/* 02775F60 */ _t23 = cpu->r[31] + 0x00000094u;
|
|
/* 02775F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02775F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02775F68 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775F68 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02775F68 */ if (_t25) goto L_02775FBC; else goto L_02775F6C;
|
|
L_02775F6C: ; // 0x2775f6c
|
|
/* 02775F6C */ Gambit_fn_02772674(cpu);
|
|
/* 02775F70 */ _t26 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02775F70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02775F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02775F78 */ _t27 = cpu->r[31] + 0x00000094u;
|
|
/* 02775F78 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02775F7C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775F7C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02775F7C */ if (_t29) goto L_02775F80; else goto L_02775FA4;
|
|
L_02775F80: ; // 0x2775f80
|
|
/* 02775F80 */ _t30 = cpu->r[31] + 0x00000058u;
|
|
/* 02775F80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02775F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Cu);
|
|
/* 02775F88 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02775F88 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02775F88 */ if (_t32) goto L_02775F8C; else goto L_02775FA8;
|
|
L_02775F8C: ; // 0x2775f8c
|
|
/* 02775F8C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02775F90 */ _t33 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 02775F90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02775F94 */ _t34 = cpu->r[12] + 0x00000248u;
|
|
/* 02775F94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02775F98 */ cpu->r[3] = cpu->r[11] + 0x000043E0u;
|
|
/* 02775F9C */ Gambit_fn_029C8DCC(cpu);
|
|
/* 02775FA0 */ Gambit_fn_02917D8C(cpu);
|
|
L_02775FA4: ; // 0x2775fa4
|
|
/* 02775FA4 */ _t35 = cpu->r[31] + 0x00000058u;
|
|
/* 02775FA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
L_02775FA8: ; // 0x2775fa8
|
|
/* 02775FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000020u);
|
|
/* 02775FAC */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02775FAC */ _t37 = _t36 & 0x00000001u;
|
|
/* 02775FAC */ if (_t37) goto L_02775FB0; else goto L_02775FBC;
|
|
L_02775FB0: ; // 0x2775fb0
|
|
/* 02775FB0 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02775FB4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02775FB8 */ Gambit_fn_0276C478(cpu);
|
|
L_02775FBC: ; // 0x2775fbc
|
|
/* 02775FBC */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02775FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02775FC0 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02775FC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02775FC4 */ cpu->lr = cpu->r[0];
|
|
/* 02775FC8 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775FC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02775FCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02775FD0 */ return;
|
|
}
|
|
|
|
// fn_02775FD4 @ 0x2775fd4
|
|
void Gambit_fn_02775FD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02775FD4: ; // 0x2775fd4
|
|
/* 02775FD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02775FD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02775FD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775FD8 */ cpu->r[1] = _t0;
|
|
/* 02775FDC */ cpu->r[7] = 0xFFFFFFFDu;
|
|
/* 02775FE0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02775FE4 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02775FE8 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02775FEC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775FEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02775FF0 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02775FF4 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02775FF8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02775FF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02775FFC */ cpu->r[31] = 0x10100000u;
|
|
/* 02776000 */ _t3 = cpu->r[11] + 0x00001D70u;
|
|
/* 02776000 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02776000 */ cpu->r[11] = _t3;
|
|
/* 02776004 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02776008 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 02776008 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 0277600C */ cpu->r[11] = 0x00000002u;
|
|
/* 02776010 */ _t5 = cpu->r[9] + 0x00001D78u;
|
|
/* 02776010 */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 02776010 */ cpu->r[9] = _t5;
|
|
/* 02776014 */ _t6 = cpu->r[12] + 0x00001D68u;
|
|
/* 02776014 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02776014 */ cpu->r[12] = _t6;
|
|
/* 02776018 */ cpu->r[8] = cpu->r[8] + 0xFFFF8E5Cu;
|
|
/* 0277601C */ cpu->r[31] = cpu->r[31] + 0x000023F8u;
|
|
/* 02776020 */ _t7 = cpu->r[9] + 0x00000004u;
|
|
/* 02776020 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 02776024 */ cpu->r[9] = 0x10100000u;
|
|
/* 02776028 */ _t8 = cpu->r[8] + 0x00000004u;
|
|
/* 02776028 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0277602C */ cpu->r[9] = cpu->r[9] + 0x0000254Cu;
|
|
/* 02776030 */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02776030 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 02776034 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02776038 */ _t10 = cpu->r[8] + 0x00000000u;
|
|
/* 02776038 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0277603C */ cpu->r[9] = 0x101F0000u;
|
|
/* 02776040 */ _t11 = cpu->r[8] + 0x00000010u;
|
|
/* 02776040 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02776044 */ cpu->r[9] = cpu->r[9] + 0x00001D88u;
|
|
/* 02776048 */ _t12 = cpu->r[10] + 0x00001D80u;
|
|
/* 02776048 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 02776048 */ cpu->r[10] = _t12;
|
|
/* 0277604C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02776050 */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 02776050 */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 02776054 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02776058 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02776058 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0277605C */ cpu->r[0] = 0x00000004u;
|
|
/* 02776060 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02776060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02776064 */ cpu->r[11] = 0x10100000u;
|
|
/* 02776068 */ _t16 = cpu->r[10] + 0x00001D90u;
|
|
/* 02776068 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0277606C */ cpu->r[11] = cpu->r[11] + 0x0000255Cu;
|
|
/* 02776070 */ _t17 = cpu->r[9] + 0x00000004u;
|
|
/* 02776070 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 02776074 */ cpu->r[3] = cpu->r[3] + 0xFFFF8E74u;
|
|
/* 02776078 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 02776078 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 0277607C */ _t19 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0277607C */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 02776080 */ Gambit_fn_02C83090(cpu);
|
|
/* 02776084 */ cpu->r[12] = 0x10100000u;
|
|
/* 02776088 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0277608C */ _t20 = cpu->r[12] + 0x00002538u;
|
|
/* 0277608C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02776090 */ cpu->r[12] = 0x10100000u;
|
|
/* 02776094 */ cpu->r[9] = cpu->r[9] + 0x00001D60u;
|
|
/* 02776098 */ cpu->r[12] = cpu->r[12] + 0x0000253Cu;
|
|
/* 0277609C */ _t21 = cpu->r[9] + 0x00000004u;
|
|
/* 0277609C */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 027760A0 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027760A4 */ _t22 = cpu->r[9] + 0x00000000u;
|
|
/* 027760A4 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 027760A8 */ _t23 = cpu->r[11] + 0x00001D94u;
|
|
/* 027760A8 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 027760A8 */ cpu->r[11] = _t23;
|
|
/* 027760AC */ _t24 = cpu->r[11] + 0x00000004u;
|
|
/* 027760AC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 027760B0 */ _t25 = cpu->r[11] + 0x00000008u;
|
|
/* 027760B0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 027760B4 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 027760B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027760B8 */ cpu->lr = cpu->r[0];
|
|
/* 027760BC */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027760BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027760C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027760C4 */ return;
|
|
}
|
|
|
|
// fn_02775FD8 @ 0x2775fd8
|
|
void Gambit_fn_02775FD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02775FD8: ; // 0x2775fd8
|
|
/* 02775FD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02775FD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02775FD8 */ cpu->r[1] = _t0;
|
|
/* 02775FDC */ cpu->r[7] = 0xFFFFFFFDu;
|
|
/* 02775FE0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02775FE4 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02775FE8 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02775FEC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02775FEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02775FF0 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02775FF4 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02775FF8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02775FF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02775FFC */ cpu->r[31] = 0x10100000u;
|
|
/* 02776000 */ _t3 = cpu->r[11] + 0x00001D70u;
|
|
/* 02776000 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 02776000 */ cpu->r[11] = _t3;
|
|
/* 02776004 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02776008 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 02776008 */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 0277600C */ cpu->r[11] = 0x00000002u;
|
|
/* 02776010 */ _t5 = cpu->r[9] + 0x00001D78u;
|
|
/* 02776010 */ rbrew_write32(cpu->mem, _t5, cpu->r[6]);
|
|
/* 02776010 */ cpu->r[9] = _t5;
|
|
/* 02776014 */ _t6 = cpu->r[12] + 0x00001D68u;
|
|
/* 02776014 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02776014 */ cpu->r[12] = _t6;
|
|
/* 02776018 */ cpu->r[8] = cpu->r[8] + 0xFFFF8E5Cu;
|
|
/* 0277601C */ cpu->r[31] = cpu->r[31] + 0x000023F8u;
|
|
/* 02776020 */ _t7 = cpu->r[9] + 0x00000004u;
|
|
/* 02776020 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 02776024 */ cpu->r[9] = 0x10100000u;
|
|
/* 02776028 */ _t8 = cpu->r[8] + 0x00000004u;
|
|
/* 02776028 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0277602C */ cpu->r[9] = cpu->r[9] + 0x0000254Cu;
|
|
/* 02776030 */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 02776030 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 02776034 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02776038 */ _t10 = cpu->r[8] + 0x00000000u;
|
|
/* 02776038 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0277603C */ cpu->r[9] = 0x101F0000u;
|
|
/* 02776040 */ _t11 = cpu->r[8] + 0x00000010u;
|
|
/* 02776040 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02776044 */ cpu->r[9] = cpu->r[9] + 0x00001D88u;
|
|
/* 02776048 */ _t12 = cpu->r[10] + 0x00001D80u;
|
|
/* 02776048 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 02776048 */ cpu->r[10] = _t12;
|
|
/* 0277604C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02776050 */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 02776050 */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 02776054 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02776058 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02776058 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0277605C */ cpu->r[0] = 0x00000004u;
|
|
/* 02776060 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02776060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02776064 */ cpu->r[11] = 0x10100000u;
|
|
/* 02776068 */ _t16 = cpu->r[10] + 0x00001D90u;
|
|
/* 02776068 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0277606C */ cpu->r[11] = cpu->r[11] + 0x0000255Cu;
|
|
/* 02776070 */ _t17 = cpu->r[9] + 0x00000004u;
|
|
/* 02776070 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 02776074 */ cpu->r[3] = cpu->r[3] + 0xFFFF8E74u;
|
|
/* 02776078 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 02776078 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 0277607C */ _t19 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0277607C */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 02776080 */ Gambit_fn_02C83090(cpu);
|
|
/* 02776084 */ cpu->r[12] = 0x10100000u;
|
|
/* 02776088 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0277608C */ _t20 = cpu->r[12] + 0x00002538u;
|
|
/* 0277608C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02776090 */ cpu->r[12] = 0x10100000u;
|
|
/* 02776094 */ cpu->r[9] = cpu->r[9] + 0x00001D60u;
|
|
/* 02776098 */ cpu->r[12] = cpu->r[12] + 0x0000253Cu;
|
|
/* 0277609C */ _t21 = cpu->r[9] + 0x00000004u;
|
|
/* 0277609C */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 027760A0 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027760A4 */ _t22 = cpu->r[9] + 0x00000000u;
|
|
/* 027760A4 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 027760A8 */ _t23 = cpu->r[11] + 0x00001D94u;
|
|
/* 027760A8 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 027760A8 */ cpu->r[11] = _t23;
|
|
/* 027760AC */ _t24 = cpu->r[11] + 0x00000004u;
|
|
/* 027760AC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 027760B0 */ _t25 = cpu->r[11] + 0x00000008u;
|
|
/* 027760B0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 027760B4 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 027760B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027760B8 */ cpu->lr = cpu->r[0];
|
|
/* 027760BC */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027760BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027760C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027760C4 */ return;
|
|
}
|
|
|
|
// fn_027760C8 @ 0x27760c8
|
|
void Gambit_fn_027760C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_027760C8: ; // 0x27760c8
|
|
/* 027760C8 */ cpu->r[6] = 0x02770000u;
|
|
/* 027760CC */ cpu->r[3] = 0x101D0000u;
|
|
/* 027760D0 */ cpu->r[7] = 0x00000000u;
|
|
/* 027760D4 */ cpu->r[5] = 0x0000000Cu;
|
|
/* 027760D8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027760DC */ cpu->r[8] = cpu->r[7];
|
|
/* 027760E0 */ cpu->r[3] = cpu->r[3] + 0xFFFF8E5Cu;
|
|
/* 027760E4 */ cpu->r[6] = cpu->r[6] + 0x000062D0u;
|
|
/* 027760E8 */ goto L_02C82F38;
|
|
L_02C82F38: ; // 0x2c82f38
|
|
/* 02C82F38 */ cpu->r[0] = cpu->lr;
|
|
/* 02C82F3C */ cpu->r[8] = cpu->r[7];
|
|
/* 02C82F40 */ cpu->r[12] = cpu->r[6];
|
|
/* 02C82F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 02C82F48 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C82F48 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C82F4C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C82F50 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C82F50 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C82F50 */ cpu->r[1] = _t1;
|
|
/* 02C82F54 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C82F54 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C82F54 */ if (_t3) goto L_02C82F58; else goto L_02C82F60;
|
|
L_02C82F58: ; // 0x2c82f58
|
|
/* 02C82F58 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C82F5C */ _t4 = cpu->r[6] + 0xFFFFC3D4u;
|
|
/* 02C82F5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C82F60: ; // 0x2c82f60
|
|
/* 02C82F60 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C82F64 */ cpu->r[7] = cpu->r[12];
|
|
/* 02C82F68 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C82F6C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C82F6C */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02C82F70 */ Gambit_fn_02C82E50(cpu);
|
|
/* 02C82F74 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C82F74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C82F78 */ cpu->lr = cpu->r[0];
|
|
/* 02C82F7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C82F80 */ return;
|
|
}
|
|
|
|
// fn_027760EC @ 0x27760ec
|
|
void Gambit_fn_027760EC(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_027760EC: ; // 0x27760ec
|
|
/* 027760EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027760F0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027760F0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027760F0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027760F0 */ goto L_027760F4;
|
|
L_027760F4: ; // 0x27760f4
|
|
/* 027760F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027760F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027760F8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027760F8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027760F8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027760F8 */ goto L_027760FC;
|
|
L_027760FC: ; // 0x27760fc
|
|
/* 027760FC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02776100 @ 0x2776100
|
|
void Gambit_fn_02776100(CPUState* cpu) {
|
|
L_02776100: ; // 0x2776100
|
|
/* 02776100 */ return;
|
|
}
|
|
|
|
// fn_02776104 @ 0x2776104
|
|
void Gambit_fn_02776104(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_02776104: ; // 0x2776104
|
|
/* 02776104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02776108 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776108 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02776108 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776108 */ goto L_0277610C;
|
|
L_0277610C: ; // 0x277610c
|
|
/* 0277610C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277610C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02776110 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776110 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02776110 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776110 */ goto L_02776114;
|
|
L_02776114: ; // 0x2776114
|
|
/* 02776114 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02776118 @ 0x2776118
|
|
void Gambit_fn_02776118(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02776118: ; // 0x2776118
|
|
/* 02776118 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02776118 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277611C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0277611C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02776120 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02776124 */ cpu->r[11] = 0x10110000u;
|
|
/* 02776128 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02776128 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0277612C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0277612C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02776130 */ return;
|
|
}
|
|
|
|
// fn_02776134 @ 0x2776134
|
|
void Gambit_fn_02776134(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_02776134: ; // 0x2776134
|
|
/* 02776134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02776138 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776138 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02776138 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776138 */ goto L_0277613C;
|
|
L_0277613C: ; // 0x277613c
|
|
/* 0277613C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277613C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02776140 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776140 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02776140 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776140 */ goto L_02776144;
|
|
L_02776144: ; // 0x2776144
|
|
/* 02776144 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02776148 @ 0x2776148
|
|
void Gambit_fn_02776148(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_02776148: ; // 0x2776148
|
|
/* 02776148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277614C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277614C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0277614C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277614C */ goto L_02776150;
|
|
L_02776150: ; // 0x2776150
|
|
/* 02776150 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02776150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02776154 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776154 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02776154 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776154 */ goto L_02776158;
|
|
L_02776158: ; // 0x2776158
|
|
/* 02776158 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0277615C @ 0x277615c
|
|
void Gambit_fn_0277615C(CPUState* cpu) {
|
|
L_0277615C: ; // 0x277615c
|
|
/* 0277615C */ return;
|
|
}
|
|
|
|
// fn_02776160 @ 0x2776160
|
|
void Gambit_fn_02776160(CPUState* cpu) {
|
|
L_02776160: ; // 0x2776160
|
|
/* 02776160 */ return;
|
|
}
|
|
|
|
// fn_02776164 @ 0x2776164
|
|
void Gambit_fn_02776164(CPUState* cpu) {
|
|
L_02776164: ; // 0x2776164
|
|
/* 02776164 */ return;
|
|
}
|
|
|
|
// fn_02776168 @ 0x2776168
|
|
void Gambit_fn_02776168(CPUState* cpu) {
|
|
L_02776168: ; // 0x2776168
|
|
/* 02776168 */ return;
|
|
}
|
|
|
|
// fn_0277616C @ 0x277616c
|
|
void Gambit_fn_0277616C(CPUState* cpu) {
|
|
L_0277616C: ; // 0x277616c
|
|
/* 0277616C */ return;
|
|
}
|
|
|
|
// fn_02776170 @ 0x2776170
|
|
void Gambit_fn_02776170(CPUState* cpu) {
|
|
L_02776170: ; // 0x2776170
|
|
/* 02776170 */ return;
|
|
}
|
|
|
|
// fn_02776174 @ 0x2776174
|
|
void Gambit_fn_02776174(CPUState* cpu) {
|
|
L_02776174: ; // 0x2776174
|
|
/* 02776174 */ return;
|
|
}
|
|
|
|
// fn_02776178 @ 0x2776178
|
|
void Gambit_fn_02776178(CPUState* cpu) {
|
|
L_02776178: ; // 0x2776178
|
|
/* 02776178 */ return;
|
|
}
|
|
|
|
// fn_0277617C @ 0x277617c
|
|
void Gambit_fn_0277617C(CPUState* cpu) {
|
|
L_0277617C: ; // 0x277617c
|
|
/* 0277617C */ return;
|
|
}
|
|
|
|
// fn_02776180 @ 0x2776180
|
|
void Gambit_fn_02776180(CPUState* cpu) {
|
|
L_02776180: ; // 0x2776180
|
|
/* 02776180 */ return;
|
|
}
|
|
|
|
// fn_02776184 @ 0x2776184
|
|
void Gambit_fn_02776184(CPUState* cpu) {
|
|
L_02776184: ; // 0x2776184
|
|
/* 02776184 */ return;
|
|
}
|
|
|
|
// fn_02776188 @ 0x2776188
|
|
void Gambit_fn_02776188(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02776188: ; // 0x2776188
|
|
/* 02776188 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02776188 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277618C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02776190 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776190 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02776190 */ if (_t2) goto L_0277619C; else goto L_02776194;
|
|
L_02776194: ; // 0x2776194
|
|
/* 02776194 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02776198 */ return;
|
|
L_0277619C: ; // 0x277619c
|
|
/* 0277619C */ cpu->r[3] = 0x00000000u;
|
|
/* 027761A0 */ return;
|
|
}
|
|
|
|
// fn_027761A4 @ 0x27761a4
|
|
void Gambit_fn_027761A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027761A4: ; // 0x27761a4
|
|
/* 027761A4 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 027761A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027761A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027761AC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027761AC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027761AC */ if (_t2) goto L_027761B8; else goto L_027761B0;
|
|
L_027761B0: ; // 0x27761b0
|
|
/* 027761B0 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 027761B4 */ return;
|
|
L_027761B8: ; // 0x27761b8
|
|
/* 027761B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027761BC */ return;
|
|
}
|
|
|
|
// fn_027761C0 @ 0x27761c0
|
|
void Gambit_fn_027761C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027761C0: ; // 0x27761c0
|
|
/* 027761C0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027761C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027761C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027761C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027761C8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027761C8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027761C8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027761C8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027761C8 */ goto L_027761CC;
|
|
L_027761CC: ; // 0x27761cc
|
|
/* 027761CC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027761CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027761D0 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 027761D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027761D4 */ cpu->ctr = cpu->r[0];
|
|
/* 027761D8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027761DC @ 0x27761dc
|
|
void Gambit_fn_027761DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027761DC: ; // 0x27761dc
|
|
/* 027761DC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027761DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027761E0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027761E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027761E4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027761E4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 027761E4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 027761E4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027761E4 */ goto L_027761E8;
|
|
L_027761E8: ; // 0x27761e8
|
|
/* 027761E8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 027761E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027761EC */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 027761EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027761F0 */ cpu->ctr = cpu->r[0];
|
|
/* 027761F4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027761F8 @ 0x27761f8
|
|
void Gambit_fn_027761F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027761F8: ; // 0x27761f8
|
|
/* 027761F8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027761F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027761FC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027761FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02776200 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776200 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02776200 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02776200 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776200 */ goto L_02776204;
|
|
L_02776204: ; // 0x2776204
|
|
/* 02776204 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02776204 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02776208 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02776208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277620C */ cpu->ctr = cpu->r[0];
|
|
/* 02776210 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02776214 @ 0x2776214
|
|
void Gambit_fn_02776214(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02776214: ; // 0x2776214
|
|
/* 02776214 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02776214 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776218 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02776218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277621C */ cpu->ctr = cpu->r[0];
|
|
/* 02776220 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02776224 @ 0x2776224
|
|
void Gambit_fn_02776224(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02776224: ; // 0x2776224
|
|
/* 02776224 */ cpu->r[0] = cpu->lr;
|
|
/* 02776228 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02776228 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02776228 */ cpu->r[1] = _t0;
|
|
/* 0277622C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277622C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02776230 */ cpu->r[31] = cpu->r[3];
|
|
/* 02776234 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02776234 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02776238 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02776238 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0277623C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02776240 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776240 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02776240 */ if (_t5) goto L_02776244; else goto L_02776260;
|
|
L_02776244: ; // 0x2776244
|
|
/* 02776244 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02776244 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02776248 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02776248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277624C */ cpu->ctr = cpu->r[0];
|
|
/* 02776250 */ cpu->r[3] = cpu->r[31];
|
|
/* 02776254 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02776258 */ cpu->r[0] = 0x00000002u;
|
|
/* 0277625C */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0277625C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02776260: ; // 0x2776260
|
|
/* 02776260 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02776260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02776264 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02776268 */ cpu->lr = cpu->r[0];
|
|
/* 0277626C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02776270 */ return;
|
|
}
|
|
|
|
// fn_02776228 @ 0x2776228
|
|
void Gambit_fn_02776228(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02776228: ; // 0x2776228
|
|
/* 02776228 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02776228 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02776228 */ cpu->r[1] = _t0;
|
|
/* 0277622C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277622C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02776230 */ cpu->r[31] = cpu->r[3];
|
|
/* 02776234 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02776234 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02776238 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02776238 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0277623C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02776240 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776240 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02776240 */ if (_t5) goto L_02776244; else goto L_02776260;
|
|
L_02776244: ; // 0x2776244
|
|
/* 02776244 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02776244 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02776248 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02776248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277624C */ cpu->ctr = cpu->r[0];
|
|
/* 02776250 */ cpu->r[3] = cpu->r[31];
|
|
/* 02776254 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02776258 */ cpu->r[0] = 0x00000002u;
|
|
/* 0277625C */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0277625C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02776260: ; // 0x2776260
|
|
/* 02776260 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02776260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02776264 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02776268 */ cpu->lr = cpu->r[0];
|
|
/* 0277626C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02776270 */ return;
|
|
}
|
|
|
|
// fn_02776274 @ 0x2776274
|
|
void Gambit_fn_02776274(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02776274: ; // 0x2776274
|
|
/* 02776274 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02776274 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776278 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02776278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277627C */ cpu->ctr = cpu->r[0];
|
|
/* 02776280 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02776284 @ 0x2776284
|
|
void Gambit_fn_02776284(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02776284: ; // 0x2776284
|
|
/* 02776284 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02776284 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776288 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02776288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277628C */ cpu->ctr = cpu->r[0];
|
|
/* 02776290 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02776294 @ 0x2776294
|
|
void Gambit_fn_02776294(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02776294: ; // 0x2776294
|
|
/* 02776294 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02776294 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776298 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02776298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277629C */ cpu->ctr = cpu->r[0];
|
|
/* 027762A0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027762A4 @ 0x27762a4
|
|
void Gambit_fn_027762A4(CPUState* cpu) {
|
|
L_027762A4: ; // 0x27762a4
|
|
/* 027762A4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027762A8 */ return;
|
|
}
|
|
|
|
// fn_027762AC @ 0x27762ac
|
|
void Gambit_fn_027762AC(CPUState* cpu) {
|
|
L_027762AC: ; // 0x27762ac
|
|
/* 027762AC */ return;
|
|
}
|
|
|
|
// fn_027762B0 @ 0x27762b0
|
|
void Gambit_fn_027762B0(CPUState* cpu) {
|
|
L_027762B0: ; // 0x27762b0
|
|
/* 027762B0 */ return;
|
|
}
|
|
|
|
// fn_027762B4 @ 0x27762b4
|
|
void Gambit_fn_027762B4(CPUState* cpu) {
|
|
L_027762B4: ; // 0x27762b4
|
|
/* 027762B4 */ return;
|
|
}
|
|
|
|
// fn_027762B8 @ 0x27762b8
|
|
void Gambit_fn_027762B8(CPUState* cpu) {
|
|
L_027762B8: ; // 0x27762b8
|
|
/* 027762B8 */ return;
|
|
}
|
|
|
|
// fn_027762BC @ 0x27762bc
|
|
void Gambit_fn_027762BC(CPUState* cpu) {
|
|
L_027762BC: ; // 0x27762bc
|
|
/* 027762BC */ return;
|
|
}
|
|
|
|
// fn_027762C0 @ 0x27762c0
|
|
void Gambit_fn_027762C0(CPUState* cpu) {
|
|
L_027762C0: ; // 0x27762c0
|
|
/* 027762C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 027762C4 */ return;
|
|
}
|
|
|
|
// fn_027762C8 @ 0x27762c8
|
|
void Gambit_fn_027762C8(CPUState* cpu) {
|
|
L_027762C8: ; // 0x27762c8
|
|
/* 027762C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 027762CC */ return;
|
|
}
|
|
|
|
// fn_027762E4 @ 0x27762e4
|
|
void Gambit_fn_027762E4(CPUState* cpu) {
|
|
L_027762E4: ; // 0x27762e4
|
|
/* 027762E4 */ cpu->r[3] = 0x10100000u;
|
|
/* 027762E8 */ cpu->r[3] = cpu->r[3] + 0x000024D8u;
|
|
/* 027762EC */ return;
|
|
}
|
|
|
|
// fn_027762F0 @ 0x27762f0
|
|
void Gambit_fn_027762F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_027762F0: ; // 0x27762f0
|
|
/* 027762F0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027762F4 */ _t0 = cpu->r[12] + 0x000012DCu;
|
|
/* 027762F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027762F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027762FC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02776300 */ cpu->r[12] = cpu->r[12] + 0x00001348u;
|
|
/* 02776304 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776304 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02776304 */ if (_t2) goto L_02776308; else goto L_02776320;
|
|
L_02776308: ; // 0x2776308
|
|
/* 02776308 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277630C */ cpu->r[9] = 0x00000001u;
|
|
/* 02776310 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02776314 */ cpu->r[0] = cpu->r[0] + 0x00002468u;
|
|
/* 02776318 */ _t3 = cpu->r[8] + 0x000012DCu;
|
|
/* 02776318 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0277631C */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0277631C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_02776320: ; // 0x2776320
|
|
/* 02776320 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02776324 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776324 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02776324 */ if (_t6) goto L_02776328; else goto L_02776330;
|
|
L_02776328: ; // 0x2776328
|
|
/* 02776328 */ cpu->r[3] = 0x00000001u;
|
|
/* 0277632C */ return;
|
|
L_02776330: ; // 0x2776330
|
|
/* 02776330 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02776334 */ _t7 = cpu->r[11] + 0xFFFFD4E8u;
|
|
/* 02776334 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02776334 */ cpu->r[11] = _t7;
|
|
/* 02776338 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277633C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02776340 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 02776344 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776344 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02776344 */ if (_t9) goto L_02776348; else goto L_0277635C;
|
|
L_02776348: ; // 0x2776348
|
|
/* 02776348 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277634C */ cpu->r[9] = 0x00000001u;
|
|
/* 02776350 */ cpu->r[12] = cpu->r[12] + 0x00002458u;
|
|
/* 02776354 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02776354 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02776358 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 02776358 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_0277635C: ; // 0x277635c
|
|
/* 0277635C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02776360 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776360 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02776360 */ if (_t13) goto L_02776364; else goto L_0277636C;
|
|
L_02776364: ; // 0x2776364
|
|
/* 02776364 */ cpu->r[0] = 0x00000001u;
|
|
/* 02776368 */ goto L_027763A4;
|
|
L_0277636C: ; // 0x277636c
|
|
/* 0277636C */ cpu->r[8] = 0x101D0000u;
|
|
/* 02776370 */ _t14 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 02776370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02776370 */ cpu->r[8] = _t14;
|
|
/* 02776374 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02776378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277637C */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 02776380 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776380 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02776380 */ if (_t16) goto L_02776384; else goto L_02776398;
|
|
L_02776384: ; // 0x2776384
|
|
/* 02776384 */ cpu->r[10] = 0x10100000u;
|
|
/* 02776388 */ cpu->r[9] = 0x00000001u;
|
|
/* 0277638C */ cpu->r[10] = cpu->r[10] + 0x000023E8u;
|
|
/* 02776390 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 02776390 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02776394 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02776394 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_02776398: ; // 0x2776398
|
|
/* 02776398 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0277639C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 027763A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_027763A4: ; // 0x27763a4
|
|
/* 027763A4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027763A8 */ return;
|
|
}
|
|
|
|
// fn_027763AC @ 0x27763ac
|
|
void Gambit_fn_027763AC(CPUState* cpu) {
|
|
L_027763AC: ; // 0x27763ac
|
|
/* 027763AC */ return;
|
|
}
|
|
|
|
// fn_027763B0 @ 0x27763b0
|
|
void Gambit_fn_027763B0(CPUState* cpu) {
|
|
L_027763B0: ; // 0x27763b0
|
|
/* 027763B0 */ return;
|
|
}
|
|
|
|
// fn_027763B4 @ 0x27763b4
|
|
void Gambit_fn_027763B4(CPUState* cpu) {
|
|
L_027763B4: ; // 0x27763b4
|
|
/* 027763B4 */ return;
|
|
}
|
|
|
|
// fn_027763B8 @ 0x27763b8
|
|
void Gambit_fn_027763B8(CPUState* cpu) {
|
|
L_027763B8: ; // 0x27763b8
|
|
/* 027763B8 */ return;
|
|
}
|
|
|
|
// fn_027763BC @ 0x27763bc
|
|
void Gambit_fn_027763BC(CPUState* cpu) {
|
|
L_027763BC: ; // 0x27763bc
|
|
/* 027763BC */ return;
|
|
}
|
|
|
|
// fn_027763CC @ 0x27763cc
|
|
void Gambit_fn_027763CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0276C380: ; // 0x276c380
|
|
/* 0276C380 */ cpu->r[0] = cpu->lr;
|
|
/* 0276C384 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0276C384 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0276C384 */ cpu->r[1] = _t0;
|
|
/* 0276C388 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0276C388 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0276C38C */ cpu->r[31] = cpu->r[3];
|
|
/* 0276C390 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0276C390 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0276C394 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0276C394 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0276C398 */ cpu->r[12] = 0x00000000u;
|
|
/* 0276C39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0276C3A0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0276C3A0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0276C3A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0276C3A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0276C3A4 */ if (_t6) goto L_0276C3CC; else goto L_0276C3A8;
|
|
L_0276C3A8: ; // 0x276c3a8
|
|
/* 0276C3A8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0276C3A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0276C3AC */ /* nop */
|
|
/* 0276C3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0276C3B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0276C3B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0276C3B4 */ if (_t9) goto L_0276C3B8; else goto L_0276C3CC;
|
|
L_0276C3B8: ; // 0x276c3b8
|
|
/* 0276C3B8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0276C3B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0276C3BC */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0276C3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0276C3C0 */ cpu->ctr = cpu->r[0];
|
|
/* 0276C3C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0276C3CC: ; // 0x276c3cc
|
|
/* 0276C3CC */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3D0 */ Gambit_fn_0276C2F8(cpu);
|
|
/* 0276C3D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3D8 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0276C3DC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0276C3DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0276C3E0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0276C3E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0276C3E4 */ cpu->lr = cpu->r[0];
|
|
/* 0276C3E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0276C3EC */ return;
|
|
L_027763CC: ; // 0x27763cc
|
|
/* 027763CC */ cpu->r[3] = cpu->r[3] + 0x00000050u;
|
|
/* 027763D0 */ goto L_0276C380;
|
|
}
|
|
|
|
// fn_027763D4 @ 0x27763d4
|
|
void Gambit_fn_027763D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027763D4: ; // 0x27763d4
|
|
/* 027763D4 */ cpu->r[0] = cpu->lr;
|
|
/* 027763D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027763D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027763D8 */ cpu->r[1] = _t0;
|
|
/* 027763DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027763DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027763E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027763E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027763E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027763E8 */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 027763E8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027763EC */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 027763F0 */ /* nop */
|
|
/* 027763F4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 027763F8 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 027763FC */ Gambit_fn_0276C270(cpu);
|
|
/* 02776400 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02776400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02776404 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776404 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02776408 */ cpu->lr = cpu->r[0];
|
|
/* 0277640C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02776410 */ return;
|
|
}
|
|
|
|
// fn_027763D8 @ 0x27763d8
|
|
void Gambit_fn_027763D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027763D8: ; // 0x27763d8
|
|
/* 027763D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027763D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027763D8 */ cpu->r[1] = _t0;
|
|
/* 027763DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027763DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027763E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027763E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027763E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027763E8 */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 027763E8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 027763EC */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 027763F0 */ /* nop */
|
|
/* 027763F4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 027763F8 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 027763FC */ Gambit_fn_0276C270(cpu);
|
|
/* 02776400 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02776400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02776404 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776404 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02776408 */ cpu->lr = cpu->r[0];
|
|
/* 0277640C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02776410 */ return;
|
|
}
|
|
|
|
// fn_02776414 @ 0x2776414
|
|
void Gambit_fn_02776414(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02776414: ; // 0x2776414
|
|
/* 02776414 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02776414 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776418 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02776418 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277641C */ _t2 = cpu->r[12] + 0x000001ECu;
|
|
/* 0277641C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02776420 */ cpu->ctr = cpu->r[0];
|
|
/* 02776424 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02776428 @ 0x2776428
|
|
void Gambit_fn_02776428(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02776428: ; // 0x2776428
|
|
/* 02776428 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02776428 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277642C */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 0277642C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02776430 */ _t2 = cpu->r[12] + 0x000001F4u;
|
|
/* 02776430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02776434 */ cpu->ctr = cpu->r[0];
|
|
/* 02776438 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277643C @ 0x277643c
|
|
void Gambit_fn_0277643C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_0277643C: ; // 0x277643c
|
|
/* 0277643C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0277643C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277643C */ cpu->r[1] = _t0;
|
|
/* 02776440 */ /* nop */
|
|
/* 02776444 */ cpu->r[0] = cpu->lr;
|
|
/* 02776448 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02776448 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0277644C */ cpu->r[29] = cpu->r[6];
|
|
/* 02776450 */ cpu->r[28] = cpu->r[3];
|
|
/* 02776454 */ cpu->r[30] = cpu->r[5];
|
|
/* 02776458 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02776458 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0277645C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02776460 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02776460 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02776464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02776468 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 02776468 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 0277646C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277646C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0277646C */ if (_t6) goto L_027764B0; else goto L_02776470;
|
|
L_02776470: ; // 0x2776470
|
|
/* 02776470 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02776470 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02776474 */ Gambit_fn_02826F20(cpu);
|
|
/* 02776478 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02776478 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0277647C */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 0277647C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02776480 */ cpu->ctr = cpu->r[0];
|
|
/* 02776484 */ cpu->r[5] = 0x00000004u;
|
|
/* 02776488 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0277648C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02776490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02776494 */ cpu->r[0] = cpu->r[27];
|
|
/* 02776498 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02776498 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02776498 */ if (_t11) goto L_027764A0; else goto L_0277649C;
|
|
L_0277649C: ; // 0x277649c
|
|
/* 0277649C */ cpu->r[0] = 0x00000001u;
|
|
L_027764A0: ; // 0x27764a0
|
|
/* 027764A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027764A4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027764A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027764A4 */ if (_t13) goto L_027764B0; else goto L_027764A8;
|
|
L_027764A8: ; // 0x27764a8
|
|
/* 027764A8 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 027764A8 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 027764AC */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 027764AC */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_027764B0: ; // 0x27764b0
|
|
/* 027764B0 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 027764B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027764B4 */ cpu->r[0] = 0x00000000u;
|
|
/* 027764B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 027764BC */ cpu->r[12] = cpu->r[0];
|
|
/* 027764C0 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027764C0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027764C0 */ if (_t18) goto L_027764C4; else goto L_027764E8;
|
|
L_027764C4: ; // 0x27764c4
|
|
/* 027764C4 */ cpu->ctr = cpu->r[7];
|
|
/* 027764C8 */ cpu->r[10] = 0x00000000u;
|
|
L_027764CC: ; // 0x27764cc
|
|
/* 027764CC */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 027764CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027764D0 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 027764D0 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 027764D4 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 027764D8 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 027764D8 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 027764DC */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 027764E0 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 027764E0 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 027764E4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027764E4 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027764E4 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 027764E4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027764E4 */ if (_t25) goto L_027764CC; else goto L_027764E8;
|
|
L_027764E8: ; // 0x27764e8
|
|
/* 027764E8 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 027764E8 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 027764EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 027764F0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027764F0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027764F0 */ if (_t28) goto L_02776534; else goto L_027764F4;
|
|
L_027764F4: ; // 0x27764f4
|
|
/* 027764F4 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 027764F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027764F8 */ Gambit_fn_02826F20(cpu);
|
|
/* 027764FC */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 027764FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02776500 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 02776500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02776504 */ cpu->ctr = cpu->r[0];
|
|
/* 02776508 */ cpu->r[5] = 0x00000004u;
|
|
/* 0277650C */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02776510 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02776514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02776518 */ cpu->r[11] = cpu->r[27];
|
|
/* 0277651C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277651C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0277651C */ if (_t33) goto L_02776524; else goto L_02776520;
|
|
L_02776520: ; // 0x2776520
|
|
/* 02776520 */ cpu->r[11] = 0x00000001u;
|
|
L_02776524: ; // 0x2776524
|
|
/* 02776524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02776528 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776528 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02776528 */ if (_t35) goto L_02776534; else goto L_0277652C;
|
|
L_0277652C: ; // 0x277652c
|
|
/* 0277652C */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0277652C */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 02776530 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 02776530 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_02776534: ; // 0x2776534
|
|
/* 02776534 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 02776534 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02776538 */ cpu->r[0] = 0x00000000u;
|
|
/* 0277653C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02776540 */ cpu->r[12] = cpu->r[0];
|
|
/* 02776544 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02776544 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02776544 */ if (_t40) goto L_02776548; else goto L_0277656C;
|
|
L_02776548: ; // 0x2776548
|
|
/* 02776548 */ cpu->ctr = cpu->r[6];
|
|
/* 0277654C */ cpu->r[9] = 0x00000000u;
|
|
L_02776550: ; // 0x2776550
|
|
/* 02776550 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02776550 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02776554 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 02776554 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02776558 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 0277655C */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 0277655C */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 02776560 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02776564 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 02776564 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 02776568 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02776568 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02776568 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 02776568 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02776568 */ if (_t47) goto L_02776550; else goto L_0277656C;
|
|
L_0277656C: ; // 0x277656c
|
|
/* 0277656C */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 0277656C */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02776570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02776574 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776574 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02776574 */ if (_t50) goto L_027765B8; else goto L_02776578;
|
|
L_02776578: ; // 0x2776578
|
|
/* 02776578 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 02776578 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0277657C */ Gambit_fn_02826F20(cpu);
|
|
/* 02776580 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02776580 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02776584 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 02776584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02776588 */ cpu->ctr = cpu->r[0];
|
|
/* 0277658C */ cpu->r[5] = 0x00000004u;
|
|
/* 02776590 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02776594 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02776598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0277659C */ cpu->r[10] = cpu->r[27];
|
|
/* 027765A0 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027765A0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 027765A0 */ if (_t55) goto L_027765A8; else goto L_027765A4;
|
|
L_027765A4: ; // 0x27765a4
|
|
/* 027765A4 */ cpu->r[10] = 0x00000001u;
|
|
L_027765A8: ; // 0x27765a8
|
|
/* 027765A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027765AC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027765AC */ _t57 = _t56 & 0x00000001u;
|
|
/* 027765AC */ if (_t57) goto L_027765B8; else goto L_027765B0;
|
|
L_027765B0: ; // 0x27765b0
|
|
/* 027765B0 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 027765B0 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 027765B4 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 027765B4 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_027765B8: ; // 0x27765b8
|
|
/* 027765B8 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 027765B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 027765BC */ cpu->r[0] = 0x00000000u;
|
|
/* 027765C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027765C4 */ cpu->r[5] = cpu->r[0];
|
|
/* 027765C8 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 027765C8 */ _t62 = _t61 & 0x00000001u;
|
|
/* 027765C8 */ if (_t62) goto L_027765CC; else goto L_027765F0;
|
|
L_027765CC: ; // 0x27765cc
|
|
/* 027765CC */ cpu->ctr = cpu->r[12];
|
|
/* 027765D0 */ cpu->r[8] = 0x00000000u;
|
|
L_027765D4: ; // 0x27765d4
|
|
/* 027765D4 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 027765D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027765D8 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 027765D8 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 027765DC */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 027765E0 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 027765E0 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 027765E4 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 027765E8 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 027765E8 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 027765EC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 027765EC */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 027765EC */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 027765EC */ _t69 = _t68 & 0x00000001u;
|
|
/* 027765EC */ if (_t69) goto L_027765D4; else goto L_027765F0;
|
|
L_027765F0: ; // 0x27765f0
|
|
/* 027765F0 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 027765F0 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 027765F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027765F8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027765F8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 027765F8 */ if (_t72) goto L_027766D4; else goto L_027765FC;
|
|
L_027765FC: ; // 0x27765fc
|
|
/* 027765FC */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 027765FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02776600 */ Gambit_fn_02826F20(cpu);
|
|
/* 02776604 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02776604 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02776608 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 02776608 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0277660C */ cpu->ctr = cpu->r[12];
|
|
/* 02776610 */ cpu->r[5] = 0x00000004u;
|
|
/* 02776614 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 02776618 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277661C */ cpu->r[24] = cpu->r[3];
|
|
/* 02776620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02776624 */ cpu->r[30] = cpu->r[25];
|
|
/* 02776628 */ cpu->r[7] = 0x00000000u;
|
|
/* 0277662C */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277662C */ _t77 = _t76 & 0x00000001u;
|
|
/* 0277662C */ if (_t77) goto L_02776634; else goto L_02776630;
|
|
L_02776630: ; // 0x2776630
|
|
/* 02776630 */ cpu->r[30] = 0x00000001u;
|
|
L_02776634: ; // 0x2776634
|
|
/* 02776634 */ cpu->r[31] = 0x10110000u;
|
|
/* 02776638 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 0277663C */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 0277663C */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02776640 */ cpu->r[23] = 0x00000018u;
|
|
L_02776644: ; // 0x2776644
|
|
/* 02776644 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 02776644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02776648 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776648 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02776648 */ if (_t80) goto L_027766B8; else goto L_0277664C;
|
|
L_0277664C: ; // 0x277664c
|
|
/* 0277664C */ cpu->r[26] = cpu->r[27];
|
|
/* 0277664C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02776650 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776650 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02776650 */ if (_t82) goto L_02776654; else goto L_02776664;
|
|
L_02776654: ; // 0x2776654
|
|
/* 02776654 */ cpu->r[3] = 0x00000024u;
|
|
/* 02776658 */ Gambit_fn_02801A78(cpu);
|
|
/* 0277665C */ cpu->r[26] = cpu->r[3];
|
|
/* 0277665C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02776660 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776660 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02776660 */ if (_t84) goto L_027766AC; else goto L_02776664;
|
|
L_02776664: ; // 0x2776664
|
|
/* 02776664 */ cpu->r[11] = cpu->r[26];
|
|
/* 02776664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02776668 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776668 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02776668 */ if (_t86) goto L_0277666C; else goto L_0277667C;
|
|
L_0277666C: ; // 0x277666c
|
|
/* 0277666C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02776670 */ Gambit_fn_02801A78(cpu);
|
|
/* 02776674 */ cpu->r[11] = cpu->r[3];
|
|
/* 02776674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02776678 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776678 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02776678 */ if (_t88) goto L_02776698; else goto L_0277667C;
|
|
L_0277667C: ; // 0x277667c
|
|
/* 0277667C */ cpu->r[5] = 0x10100000u;
|
|
/* 02776680 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 02776680 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 02776684 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02776688 */ cpu->r[5] = cpu->r[5] + 0x00002410u;
|
|
/* 0277668C */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 0277668C */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02776690 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 02776690 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 02776694 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 02776694 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_02776698: ; // 0x2776698
|
|
/* 02776698 */ cpu->r[6] = 0x10100000u;
|
|
/* 0277669C */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 0277669C */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 027766A0 */ cpu->r[6] = cpu->r[6] + 0x00002428u;
|
|
/* 027766A4 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 027766A4 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 027766A8 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 027766A8 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_027766AC: ; // 0x27766ac
|
|
/* 027766AC */ cpu->r[0] = 0x10100000u;
|
|
/* 027766B0 */ cpu->r[0] = cpu->r[0] + 0x00002440u;
|
|
/* 027766B4 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 027766B4 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_027766B8: ; // 0x27766b8
|
|
/* 027766B8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 027766B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027766BC */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 027766C0 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027766C0 */ _t98 = _t97 & 0x00000001u;
|
|
/* 027766C0 */ if (_t98) goto L_027766C4; else goto L_02776644;
|
|
L_027766C4: ; // 0x27766c4
|
|
/* 027766C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 027766C8 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027766C8 */ _t100 = _t99 & 0x00000001u;
|
|
/* 027766C8 */ if (_t100) goto L_027766D4; else goto L_027766CC;
|
|
L_027766CC: ; // 0x27766cc
|
|
/* 027766CC */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 027766CC */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 027766D0 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 027766D0 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_027766D4: ; // 0x27766d4
|
|
/* 027766D4 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 027766D4 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 027766D8 */ /* nop */
|
|
/* 027766DC */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 027766DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027766E0 */ cpu->lr = cpu->r[0];
|
|
/* 027766E4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 027766E8 */ return;
|
|
}
|
|
|
|
// fn_027766EC @ 0x27766ec
|
|
void Gambit_fn_027766EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027766EC: ; // 0x27766ec
|
|
/* 027766EC */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 027766EC */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 027766F0 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 027766F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027766F4 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 027766F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027766F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 027766FC */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 027766FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02776700 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02776700 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02776700 */ if (_t5) goto L_02776704; else goto L_0277670C;
|
|
L_02776704: ; // 0x2776704
|
|
/* 02776704 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02776708 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_0277670C: ; // 0x277670c
|
|
/* 0277670C */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 0277670C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02776710 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02776710 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02776714 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 02776714 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02776718 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02776718 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0277671C */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 0277671C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02776720 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02776724 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02776724 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02776728 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02776728 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02776728 */ if (_t13) goto L_0277672C; else goto L_02776734;
|
|
L_0277672C: ; // 0x277672c
|
|
/* 0277672C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02776730 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_02776734: ; // 0x2776734
|
|
/* 02776734 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02776734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02776738 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 02776738 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0277673C */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 0277673C */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02776740 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 02776740 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02776744 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 02776744 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02776748 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02776748 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0277674C */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 0277674C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02776750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02776754 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 02776754 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02776758 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02776758 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02776758 */ if (_t23) goto L_0277675C; else goto L_02776764;
|
|
L_0277675C: ; // 0x277675c
|
|
/* 0277675C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02776760 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_02776764: ; // 0x2776764
|
|
/* 02776764 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 02776764 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 02776768 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 02776768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0277676C */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 0277676C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02776770 */ return;
|
|
}
|
|
|
|
// fn_02776778 @ 0x2776778
|
|
void Gambit_fn_02776778(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02776778: ; // 0x2776778
|
|
/* 02776778 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02776778 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02776778 */ cpu->r[1] = _t0;
|
|
/* 0277677C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277677C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02776780 */ cpu->r[31] = cpu->r[3];
|
|
/* 02776780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02776784 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02776784 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02776788 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776788 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02776788 */ if (_t4) goto L_0277678C; else goto L_0277679C;
|
|
L_0277678C: ; // 0x277678c
|
|
/* 0277678C */ cpu->r[3] = 0x00000100u;
|
|
/* 02776790 */ Gambit_fn_02801A78(cpu);
|
|
/* 02776794 */ cpu->r[31] = cpu->r[3];
|
|
/* 02776794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02776798 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776798 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02776798 */ if (_t6) goto L_027767BC; else goto L_0277679C;
|
|
L_0277679C: ; // 0x277679c
|
|
/* 0277679C */ cpu->r[3] = cpu->r[31];
|
|
/* 027767A0 */ Gambit_fn_02774F64(cpu);
|
|
/* 027767A4 */ cpu->r[0] = 0x10100000u;
|
|
/* 027767A8 */ cpu->r[11] = 0x00000001u;
|
|
/* 027767AC */ cpu->r[0] = cpu->r[0] + 0x00002820u;
|
|
/* 027767B0 */ _t7 = cpu->r[31] + 0x00000088u;
|
|
/* 027767B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 027767B4 */ _t8 = cpu->r[31] + 0x00000088u;
|
|
/* 027767B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027767B8 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 027767B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_027767BC: ; // 0x27767bc
|
|
/* 027767BC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027767BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027767C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027767C4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027767C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027767C8 */ cpu->lr = cpu->r[0];
|
|
/* 027767CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027767D0 */ return;
|
|
}
|
|
|
|
// fn_027767D4 @ 0x27767d4
|
|
void Gambit_fn_027767D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027767D4: ; // 0x27767d4
|
|
/* 027767D4 */ cpu->r[3] = cpu->r[4];
|
|
/* 027767D8 */ cpu->r[4] = 0x10100000u;
|
|
/* 027767DC */ cpu->r[4] = cpu->r[4] + 0x000027E4u;
|
|
/* 027767E0 */ _t0 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027767E0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027767E0 */ if (_t1) goto L_027767E4; // else: addr-0 trap, fall-through
|
|
L_027767E4: ; // 0x27767e4
|
|
/* 027767E4 */ goto L_0282A5F4;
|
|
L_0282A5F4: ; // 0x282a5f4
|
|
/* 0282A5F4 */ cpu->r[0] = cpu->lr;
|
|
/* 0282A5F8 */ _t2 = cpu->r[1] + 0x00000004u;
|
|
/* 0282A5F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0282A5FC */ _t3 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 0282A5FC */ rbrew_write32(cpu->mem, _t3, cpu->r[1]);
|
|
/* 0282A5FC */ cpu->r[1] = _t3;
|
|
/* 0282A600 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0282A600 */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 0282A604 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0282A604 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
|
|
/* 0282A608 */ _t6 = cpu->r[1] + 0x00000030u;
|
|
/* 0282A608 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0282A60C */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 0282A60C */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 0282A610 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 0282A610 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 0282A614 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 0282A614 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 0282A618 */ _t10 = cpu->r[1] + 0x00000034u;
|
|
/* 0282A618 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0282A61C */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 0282A61C */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 0282A620 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0282A620 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0282A620 */ if (_t13) goto L_0282A624; else goto L_0282A644;
|
|
L_0282A624: ; // 0x282a624
|
|
/* 0282A624 */ _t14 = cpu->r[1] + 0x00000048u;
|
|
/* 0282A624 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[3]);
|
|
/* 0282A628 */ _t15 = cpu->r[1] + 0x00000068u;
|
|
/* 0282A628 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[7]);
|
|
/* 0282A62C */ _t16 = cpu->r[1] + 0x00000060u;
|
|
/* 0282A62C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[6]);
|
|
/* 0282A630 */ _t17 = cpu->r[1] + 0x00000040u;
|
|
/* 0282A630 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[2]);
|
|
/* 0282A634 */ _t18 = cpu->r[1] + 0x00000050u;
|
|
/* 0282A634 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[4]);
|
|
/* 0282A638 */ _t19 = cpu->r[1] + 0x00000070u;
|
|
/* 0282A638 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[8]);
|
|
/* 0282A63C */ _t20 = cpu->r[1] + 0x00000058u;
|
|
/* 0282A63C */ rbrew_write_f64(cpu->mem, _t20, cpu->f[5]);
|
|
/* 0282A640 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 0282A640 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[1]);
|
|
L_0282A644: ; // 0x282a644
|
|
/* 0282A644 */ cpu->r[11] = cpu->r[1] + 0x00000080u;
|
|
/* 0282A648 */ cpu->r[10] = cpu->r[1] + 0x00000018u;
|
|
/* 0282A64C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0282A64C */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0282A650 */ cpu->r[12] = 0x00000002u;
|
|
/* 0282A654 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0282A654 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 0282A658 */ cpu->r[0] = 0x00000000u;
|
|
/* 0282A65C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0282A65C */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]);
|
|
/* 0282A660 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0282A664 */ _t25 = cpu->r[1] + 0x00000009u;
|
|
/* 0282A664 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 0282A668 */ Gambit_fn_0282A5DC(cpu);
|
|
/* 0282A66C */ _t26 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0282A66C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0282A670 */ cpu->lr = cpu->r[0];
|
|
/* 0282A674 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 0282A678 */ return;
|
|
}
|
|
|
|
// fn_027767E8 @ 0x27767e8
|
|
void Gambit_fn_027767E8(CPUState* cpu) {
|
|
uint32_t _t0, _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_027767E8: ; // 0x27767e8
|
|
/* 027767E8 */ cpu->r[0] = cpu->lr;
|
|
/* 027767EC */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 027767EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027767EC */ cpu->r[1] = _t0;
|
|
/* 027767F0 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 027767F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027767F4 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 027767F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027767F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027767FC */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027767FC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02776800 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02776804 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776808 */ cpu->r[5] = 0x00000000u;
|
|
/* 0277680C */ _t4 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0277680C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02776810 */ cpu->r[29] = 0x10100000u;
|
|
/* 02776814 */ cpu->r[31] = 0x10100000u;
|
|
/* 02776818 */ cpu->r[29] = cpu->r[29] + 0x00002790u;
|
|
/* 0277681C */ cpu->r[31] = cpu->r[31] + 0x000027F4u;
|
|
/* 02776820 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02776820 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 02776824 */ cpu->r[6] = cpu->r[5];
|
|
/* 02776828 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776828 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 0277682C */ Gambit_fn_027C6980(cpu);
|
|
/* 02776830 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02776834 */ Gambit_fn_02982574(cpu);
|
|
/* 02776838 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277683C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02776840 */ _t7 = cpu->r[10] + 0xFFFF97D4u;
|
|
/* 02776840 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02776844 */ _t8 = cpu->r[12] + 0xFFFF97D0u;
|
|
/* 02776844 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02776848 */ _t9 = cpu->r[1] + 0x00000030u;
|
|
/* 02776848 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0277684C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02776850 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 02776850 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02776854 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02776858 */ _t11 = cpu->r[11] + 0xFFFF97D8u;
|
|
/* 02776858 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0277685C */ _t12 = cpu->r[12] + 0xFFFF97D9u;
|
|
/* 0277685C */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02776860 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 02776860 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[11]);
|
|
/* 02776864 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02776868 */ _t14 = cpu->r[1] + 0x00000035u;
|
|
/* 02776868 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 0277686C */ Gambit_fn_02984F3C(cpu);
|
|
/* 02776870 */ cpu->r[0] = 0x00000006u;
|
|
/* 02776874 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02776874 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 02776878 */ cpu->r[8] = 0x00000000u;
|
|
/* 0277687C */ _t16 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0277687C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02776880 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02776884 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02776884 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02776888 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 0277688C */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02776890 */ _t18 = cpu->r[1] + 0x00000044u;
|
|
/* 02776890 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02776894 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02776898 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277689C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0277689C */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 027768A0 */ Gambit_fn_023C9758(cpu);
|
|
/* 027768A4 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 027768A4 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 027768A8 */ _t21 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027768A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027768AC */ _t22 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027768AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027768B0 */ _t23 = cpu->r[1] + 0x00000054u;
|
|
/* 027768B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027768B4 */ cpu->lr = cpu->r[0];
|
|
/* 027768B8 */ _t24 = cpu->r[1] + 0x00000050u;
|
|
/* 027768B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027768BC */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 027768C0 */ return;
|
|
}
|
|
|
|
// fn_027767EC @ 0x27767ec
|
|
void Gambit_fn_027767EC(CPUState* cpu) {
|
|
uint32_t _t0, _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_027767EC: ; // 0x27767ec
|
|
/* 027767EC */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 027767EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027767EC */ cpu->r[1] = _t0;
|
|
/* 027767F0 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 027767F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027767F4 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 027767F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027767F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027767FC */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027767FC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02776800 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02776804 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776808 */ cpu->r[5] = 0x00000000u;
|
|
/* 0277680C */ _t4 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0277680C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02776810 */ cpu->r[29] = 0x10100000u;
|
|
/* 02776814 */ cpu->r[31] = 0x10100000u;
|
|
/* 02776818 */ cpu->r[29] = cpu->r[29] + 0x00002790u;
|
|
/* 0277681C */ cpu->r[31] = cpu->r[31] + 0x000027F4u;
|
|
/* 02776820 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02776820 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 02776824 */ cpu->r[6] = cpu->r[5];
|
|
/* 02776828 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776828 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 0277682C */ Gambit_fn_027C6980(cpu);
|
|
/* 02776830 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02776834 */ Gambit_fn_02982574(cpu);
|
|
/* 02776838 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277683C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02776840 */ _t7 = cpu->r[10] + 0xFFFF97D4u;
|
|
/* 02776840 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02776844 */ _t8 = cpu->r[12] + 0xFFFF97D0u;
|
|
/* 02776844 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02776848 */ _t9 = cpu->r[1] + 0x00000030u;
|
|
/* 02776848 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0277684C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02776850 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 02776850 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02776854 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02776858 */ _t11 = cpu->r[11] + 0xFFFF97D8u;
|
|
/* 02776858 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0277685C */ _t12 = cpu->r[12] + 0xFFFF97D9u;
|
|
/* 0277685C */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02776860 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 02776860 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[11]);
|
|
/* 02776864 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02776868 */ _t14 = cpu->r[1] + 0x00000035u;
|
|
/* 02776868 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 0277686C */ Gambit_fn_02984F3C(cpu);
|
|
/* 02776870 */ cpu->r[0] = 0x00000006u;
|
|
/* 02776874 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02776874 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 02776878 */ cpu->r[8] = 0x00000000u;
|
|
/* 0277687C */ _t16 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0277687C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02776880 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02776884 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02776884 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02776888 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 0277688C */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02776890 */ _t18 = cpu->r[1] + 0x00000044u;
|
|
/* 02776890 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02776894 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02776898 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277689C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0277689C */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 027768A0 */ Gambit_fn_023C9758(cpu);
|
|
/* 027768A4 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 027768A4 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 027768A8 */ _t21 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027768A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027768AC */ _t22 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027768AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027768B0 */ _t23 = cpu->r[1] + 0x00000054u;
|
|
/* 027768B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 027768B4 */ cpu->lr = cpu->r[0];
|
|
/* 027768B8 */ _t24 = cpu->r[1] + 0x00000050u;
|
|
/* 027768B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 027768BC */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 027768C0 */ return;
|
|
}
|
|
|
|
// fn_027768C4 @ 0x27768c4
|
|
void Gambit_fn_027768C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_027768C4: ; // 0x27768c4
|
|
/* 027768C4 */ cpu->r[0] = cpu->lr;
|
|
/* 027768C8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027768C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027768C8 */ cpu->r[1] = _t0;
|
|
/* 027768CC */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 027768CC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027768D0 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027768D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027768D4 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 027768D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027768D8 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 027768D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027768DC */ cpu->r[30] = cpu->r[3];
|
|
/* 027768E0 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027768E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027768E4 */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 027768E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027768E8 */ cpu->r[29] = 0x10100000u;
|
|
/* 027768EC */ cpu->r[28] = 0x10100000u;
|
|
/* 027768F0 */ cpu->r[29] = cpu->r[29] + 0x00002790u;
|
|
/* 027768F4 */ cpu->r[28] = cpu->r[28] + 0x00002810u;
|
|
/* 027768F8 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 027768F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 027768FC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027768FC */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 02776900 */ _t9 = cpu->r[11] + 0x000000A4u;
|
|
/* 02776900 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02776904 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776908 */ Gambit_fn_02983BC4(cpu);
|
|
/* 0277690C */ /* nop */
|
|
/* 02776910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02776914 */ cpu->r[11] = 0x00000000u;
|
|
/* 02776918 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776918 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02776918 */ if (_t11) goto L_0277692C; else goto L_0277691C;
|
|
L_0277691C: ; // 0x277691c
|
|
/* 0277691C */ /* nop */
|
|
/* 02776920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 02776924 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776924 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02776924 */ if (_t13) goto L_0277692C; else goto L_02776928;
|
|
L_02776928: ; // 0x2776928
|
|
/* 02776928 */ cpu->r[11] = 0x00000001u;
|
|
L_0277692C: ; // 0x277692c
|
|
/* 0277692C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277692C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02776930 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776930 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02776930 */ if (_t15) goto L_027769E4; else goto L_02776934;
|
|
L_02776934: ; // 0x2776934
|
|
/* 02776934 */ cpu->r[10] = 0x10100000u;
|
|
/* 02776938 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 02776938 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277693C */ _t17 = cpu->r[10] + 0x00002804u;
|
|
/* 0277693C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02776940 */ _t18 = cpu->r[30] + 0x000000E0u;
|
|
/* 02776940 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02776944 */ _t19 = cpu->r[11] + 0x000000A4u;
|
|
/* 02776944 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02776948 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277694C */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 0277694C */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 02776950 */ cpu->r[3] = cpu->r[31];
|
|
/* 02776954 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02776954 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02776958 */ Gambit_fn_02983BC4(cpu);
|
|
/* 0277695C */ cpu->r[4] = 0x00000000u;
|
|
/* 02776960 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02776960 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02776964 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02776968 */ cpu->r[6] = cpu->r[4];
|
|
/* 0277696C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277696C */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 02776970 */ cpu->r[3] = cpu->r[31];
|
|
/* 02776974 */ Gambit_fn_02983954(cpu);
|
|
/* 02776978 */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 02776978 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0277697C */ _t25 = cpu->r[11] + 0x000000A4u;
|
|
/* 0277697C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02776980 */ _t26 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02776980 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02776984 */ _t27 = cpu->r[9] + 0x00000000u;
|
|
/* 02776984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02776988 */ /* nop */
|
|
/* 0277698C */ _t28 = cpu->r[10] + 0x00000038u;
|
|
/* 0277698C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02776990 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02776994 */ _t29 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02776994 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02776998 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02776998 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02776998 */ if (_t31) goto L_0277699C; else goto L_027769A8;
|
|
L_0277699C: ; // 0x277699c
|
|
/* 0277699C */ /* nop */
|
|
/* 027769A0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 027769A4 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_027769A8: ; // 0x27769a8
|
|
/* 027769A8 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 027769A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027769AC */ _t33 = cpu->r[10] + 0x00000000u;
|
|
/* 027769AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027769B0 */ cpu->r[12] = 0x43300000u;
|
|
/* 027769B4 */ _t34 = cpu->r[10] + 0x00000010u;
|
|
/* 027769B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027769B8 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 027769B8 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 027769BC */ cpu->r[12] = 0x10100000u;
|
|
/* 027769C0 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 027769C4 */ _t36 = cpu->r[12] + 0x00002808u;
|
|
/* 027769C4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 027769C8 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 027769C8 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 027769CC */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 027769CC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 027769D0 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 027769D4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027769D8 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 027769DC */ _t39 = cpu->r[30] + 0x000000ECu;
|
|
/* 027769DC */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 027769E0 */ _t40 = cpu->r[30] + 0x000000E8u;
|
|
/* 027769E0 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
L_027769E4: ; // 0x27769e4
|
|
/* 027769E4 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 027769E4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027769E8 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027769E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027769EC */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027769EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027769F0 */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 027769F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027769F4 */ cpu->lr = cpu->r[0];
|
|
/* 027769F8 */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 027769F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027769FC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02776A00 */ return;
|
|
}
|
|
|
|
// fn_027768C8 @ 0x27768c8
|
|
void Gambit_fn_027768C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_027768C8: ; // 0x27768c8
|
|
/* 027768C8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027768C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027768C8 */ cpu->r[1] = _t0;
|
|
/* 027768CC */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 027768CC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027768D0 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027768D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027768D4 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 027768D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027768D8 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 027768D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027768DC */ cpu->r[30] = cpu->r[3];
|
|
/* 027768E0 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027768E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027768E4 */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 027768E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027768E8 */ cpu->r[29] = 0x10100000u;
|
|
/* 027768EC */ cpu->r[28] = 0x10100000u;
|
|
/* 027768F0 */ cpu->r[29] = cpu->r[29] + 0x00002790u;
|
|
/* 027768F4 */ cpu->r[28] = cpu->r[28] + 0x00002810u;
|
|
/* 027768F8 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 027768F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 027768FC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027768FC */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 02776900 */ _t9 = cpu->r[11] + 0x000000A4u;
|
|
/* 02776900 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02776904 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776908 */ Gambit_fn_02983BC4(cpu);
|
|
/* 0277690C */ /* nop */
|
|
/* 02776910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02776914 */ cpu->r[11] = 0x00000000u;
|
|
/* 02776918 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776918 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02776918 */ if (_t11) goto L_0277692C; else goto L_0277691C;
|
|
L_0277691C: ; // 0x277691c
|
|
/* 0277691C */ /* nop */
|
|
/* 02776920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 02776924 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776924 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02776924 */ if (_t13) goto L_0277692C; else goto L_02776928;
|
|
L_02776928: ; // 0x2776928
|
|
/* 02776928 */ cpu->r[11] = 0x00000001u;
|
|
L_0277692C: ; // 0x277692c
|
|
/* 0277692C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277692C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02776930 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776930 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02776930 */ if (_t15) goto L_027769E4; else goto L_02776934;
|
|
L_02776934: ; // 0x2776934
|
|
/* 02776934 */ cpu->r[10] = 0x10100000u;
|
|
/* 02776938 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 02776938 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277693C */ _t17 = cpu->r[10] + 0x00002804u;
|
|
/* 0277693C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02776940 */ _t18 = cpu->r[30] + 0x000000E0u;
|
|
/* 02776940 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02776944 */ _t19 = cpu->r[11] + 0x000000A4u;
|
|
/* 02776944 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02776948 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277694C */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 0277694C */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 02776950 */ cpu->r[3] = cpu->r[31];
|
|
/* 02776954 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02776954 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02776958 */ Gambit_fn_02983BC4(cpu);
|
|
/* 0277695C */ cpu->r[4] = 0x00000000u;
|
|
/* 02776960 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02776960 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02776964 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02776968 */ cpu->r[6] = cpu->r[4];
|
|
/* 0277696C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277696C */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 02776970 */ cpu->r[3] = cpu->r[31];
|
|
/* 02776974 */ Gambit_fn_02983954(cpu);
|
|
/* 02776978 */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 02776978 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0277697C */ _t25 = cpu->r[11] + 0x000000A4u;
|
|
/* 0277697C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02776980 */ _t26 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02776980 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02776984 */ _t27 = cpu->r[9] + 0x00000000u;
|
|
/* 02776984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02776988 */ /* nop */
|
|
/* 0277698C */ _t28 = cpu->r[10] + 0x00000038u;
|
|
/* 0277698C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02776990 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02776994 */ _t29 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02776994 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02776998 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02776998 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02776998 */ if (_t31) goto L_0277699C; else goto L_027769A8;
|
|
L_0277699C: ; // 0x277699c
|
|
/* 0277699C */ /* nop */
|
|
/* 027769A0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 027769A4 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_027769A8: ; // 0x27769a8
|
|
/* 027769A8 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 027769A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027769AC */ _t33 = cpu->r[10] + 0x00000000u;
|
|
/* 027769AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027769B0 */ cpu->r[12] = 0x43300000u;
|
|
/* 027769B4 */ _t34 = cpu->r[10] + 0x00000010u;
|
|
/* 027769B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027769B8 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 027769B8 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 027769BC */ cpu->r[12] = 0x10100000u;
|
|
/* 027769C0 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 027769C4 */ _t36 = cpu->r[12] + 0x00002808u;
|
|
/* 027769C4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 027769C8 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 027769C8 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 027769CC */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 027769CC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 027769D0 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 027769D4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027769D8 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 027769DC */ _t39 = cpu->r[30] + 0x000000ECu;
|
|
/* 027769DC */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 027769E0 */ _t40 = cpu->r[30] + 0x000000E8u;
|
|
/* 027769E0 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
L_027769E4: ; // 0x27769e4
|
|
/* 027769E4 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 027769E4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027769E8 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027769E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027769EC */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027769EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027769F0 */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 027769F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027769F4 */ cpu->lr = cpu->r[0];
|
|
/* 027769F8 */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 027769F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027769FC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02776A00 */ return;
|
|
}
|
|
|
|
// fn_02776A04 @ 0x2776a04
|
|
void Gambit_fn_02776A04(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_02776A04: ; // 0x2776a04
|
|
/* 02776A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02776A08 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776A08 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02776A08 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776A08 */ goto L_02776A0C;
|
|
L_02776A0C: ; // 0x2776a0c
|
|
/* 02776A0C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02776A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02776A10 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776A10 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02776A10 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776A10 */ goto L_02776A14;
|
|
L_02776A14: ; // 0x2776a14
|
|
/* 02776A14 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02776A18 @ 0x2776a18
|
|
void Gambit_fn_02776A18(CPUState* cpu) {
|
|
L_02776A18: ; // 0x2776a18
|
|
/* 02776A18 */ return;
|
|
}
|
|
|
|
// fn_02776A1C @ 0x2776a1c
|
|
void Gambit_fn_02776A1C(CPUState* cpu) {
|
|
L_02776A1C: ; // 0x2776a1c
|
|
/* 02776A1C */ return;
|
|
}
|
|
|
|
// fn_02776A20 @ 0x2776a20
|
|
void Gambit_fn_02776A20(CPUState* cpu) {
|
|
L_02776A20: ; // 0x2776a20
|
|
/* 02776A20 */ return;
|
|
}
|
|
|
|
// fn_02776A24 @ 0x2776a24
|
|
void Gambit_fn_02776A24(CPUState* cpu) {
|
|
L_02776A24: ; // 0x2776a24
|
|
/* 02776A24 */ return;
|
|
}
|
|
|
|
// fn_02776A28 @ 0x2776a28
|
|
void Gambit_fn_02776A28(CPUState* cpu) {
|
|
L_02776A28: ; // 0x2776a28
|
|
/* 02776A28 */ return;
|
|
}
|
|
|
|
// fn_02776A2C @ 0x2776a2c
|
|
void Gambit_fn_02776A2C(CPUState* cpu) {
|
|
L_02776A2C: ; // 0x2776a2c
|
|
/* 02776A2C */ return;
|
|
}
|
|
|
|
// fn_02776A30 @ 0x2776a30
|
|
void Gambit_fn_02776A30(CPUState* cpu) {
|
|
L_02776A30: ; // 0x2776a30
|
|
/* 02776A30 */ return;
|
|
}
|
|
|
|
// fn_02776A34 @ 0x2776a34
|
|
void Gambit_fn_02776A34(CPUState* cpu) {
|
|
L_02776A34: ; // 0x2776a34
|
|
/* 02776A34 */ return;
|
|
}
|
|
|
|
// fn_02776A38 @ 0x2776a38
|
|
void Gambit_fn_02776A38(CPUState* cpu) {
|
|
L_02776A38: ; // 0x2776a38
|
|
/* 02776A38 */ return;
|
|
}
|
|
|
|
// fn_02776A3C @ 0x2776a3c
|
|
void Gambit_fn_02776A3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02776A3C: ; // 0x2776a3c
|
|
/* 02776A3C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02776A3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02776A44 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776A44 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02776A44 */ if (_t2) goto L_02776A50; else goto L_02776A48;
|
|
L_02776A48: ; // 0x2776a48
|
|
/* 02776A48 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02776A4C */ return;
|
|
L_02776A50: ; // 0x2776a50
|
|
/* 02776A50 */ cpu->r[3] = 0x00000000u;
|
|
/* 02776A54 */ return;
|
|
}
|
|
|
|
// fn_02776A58 @ 0x2776a58
|
|
void Gambit_fn_02776A58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02776A58: ; // 0x2776a58
|
|
/* 02776A58 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02776A58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02776A60 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776A60 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02776A60 */ if (_t2) goto L_02776A6C; else goto L_02776A64;
|
|
L_02776A64: ; // 0x2776a64
|
|
/* 02776A64 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02776A68 */ return;
|
|
L_02776A6C: ; // 0x2776a6c
|
|
/* 02776A6C */ cpu->r[3] = 0x00000000u;
|
|
/* 02776A70 */ return;
|
|
}
|
|
|
|
// fn_02776A74 @ 0x2776a74
|
|
void Gambit_fn_02776A74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02776A74: ; // 0x2776a74
|
|
/* 02776A74 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02776A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776A78 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02776A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02776A7C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776A7C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02776A7C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02776A7C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776A7C */ goto L_02776A80;
|
|
L_02776A80: ; // 0x2776a80
|
|
/* 02776A80 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02776A80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02776A84 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02776A84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02776A88 */ cpu->ctr = cpu->r[0];
|
|
/* 02776A8C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02776A90 @ 0x2776a90
|
|
void Gambit_fn_02776A90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02776A90: ; // 0x2776a90
|
|
/* 02776A90 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02776A90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776A94 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02776A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02776A98 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776A98 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02776A98 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02776A98 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776A98 */ goto L_02776A9C;
|
|
L_02776A9C: ; // 0x2776a9c
|
|
/* 02776A9C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02776A9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02776AA0 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02776AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02776AA4 */ cpu->ctr = cpu->r[0];
|
|
/* 02776AA8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02776AAC @ 0x2776aac
|
|
void Gambit_fn_02776AAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02776AAC: ; // 0x2776aac
|
|
/* 02776AAC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02776AAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776AB0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02776AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02776AB4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776AB4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02776AB4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02776AB4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776AB4 */ goto L_02776AB8;
|
|
L_02776AB8: ; // 0x2776ab8
|
|
/* 02776AB8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02776AB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02776ABC */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02776ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02776AC0 */ cpu->ctr = cpu->r[0];
|
|
/* 02776AC4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02776AC8 @ 0x2776ac8
|
|
void Gambit_fn_02776AC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02776AC8: ; // 0x2776ac8
|
|
/* 02776AC8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02776AC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776ACC */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02776ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02776AD0 */ cpu->ctr = cpu->r[0];
|
|
/* 02776AD4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02776AD8 @ 0x2776ad8
|
|
void Gambit_fn_02776AD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02776AD8: ; // 0x2776ad8
|
|
/* 02776AD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02776ADC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02776ADC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02776ADC */ cpu->r[1] = _t0;
|
|
/* 02776AE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776AE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02776AE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02776AE8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02776AE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02776AEC */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02776AEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02776AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02776AF4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776AF4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02776AF4 */ if (_t5) goto L_02776AF8; else goto L_02776B14;
|
|
L_02776AF8: ; // 0x2776af8
|
|
/* 02776AF8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02776AF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02776AFC */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02776AFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02776B00 */ cpu->ctr = cpu->r[0];
|
|
/* 02776B04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02776B08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02776B0C */ cpu->r[0] = 0x00000002u;
|
|
/* 02776B10 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02776B10 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02776B14: ; // 0x2776b14
|
|
/* 02776B14 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02776B14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02776B18 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776B18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02776B1C */ cpu->lr = cpu->r[0];
|
|
/* 02776B20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02776B24 */ return;
|
|
}
|
|
|
|
// fn_02776ADC @ 0x2776adc
|
|
void Gambit_fn_02776ADC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02776ADC: ; // 0x2776adc
|
|
/* 02776ADC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02776ADC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02776ADC */ cpu->r[1] = _t0;
|
|
/* 02776AE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776AE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02776AE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02776AE8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02776AE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02776AEC */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02776AEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02776AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02776AF4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776AF4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02776AF4 */ if (_t5) goto L_02776AF8; else goto L_02776B14;
|
|
L_02776AF8: ; // 0x2776af8
|
|
/* 02776AF8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02776AF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02776AFC */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02776AFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02776B00 */ cpu->ctr = cpu->r[0];
|
|
/* 02776B04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02776B08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02776B0C */ cpu->r[0] = 0x00000002u;
|
|
/* 02776B10 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02776B10 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02776B14: ; // 0x2776b14
|
|
/* 02776B14 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02776B14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02776B18 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776B18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02776B1C */ cpu->lr = cpu->r[0];
|
|
/* 02776B20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02776B24 */ return;
|
|
}
|
|
|
|
// fn_02776B28 @ 0x2776b28
|
|
void Gambit_fn_02776B28(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02776B28: ; // 0x2776b28
|
|
/* 02776B28 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02776B28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776B2C */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02776B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02776B30 */ cpu->ctr = cpu->r[0];
|
|
/* 02776B34 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02776B38 @ 0x2776b38
|
|
void Gambit_fn_02776B38(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02776B38: ; // 0x2776b38
|
|
/* 02776B38 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02776B38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776B3C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02776B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02776B40 */ cpu->ctr = cpu->r[0];
|
|
/* 02776B44 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02776B48 @ 0x2776b48
|
|
void Gambit_fn_02776B48(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02776B48: ; // 0x2776b48
|
|
/* 02776B48 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02776B48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776B4C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02776B4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02776B50 */ cpu->ctr = cpu->r[0];
|
|
/* 02776B54 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02776B58 @ 0x2776b58
|
|
void Gambit_fn_02776B58(CPUState* cpu) {
|
|
L_02776B58: ; // 0x2776b58
|
|
/* 02776B58 */ cpu->r[3] = 0x00000001u;
|
|
/* 02776B5C */ return;
|
|
}
|
|
|
|
// fn_02776B60 @ 0x2776b60
|
|
void Gambit_fn_02776B60(CPUState* cpu) {
|
|
L_02776B60: ; // 0x2776b60
|
|
/* 02776B60 */ return;
|
|
}
|
|
|
|
// fn_02776B64 @ 0x2776b64
|
|
void Gambit_fn_02776B64(CPUState* cpu) {
|
|
L_02776B64: ; // 0x2776b64
|
|
/* 02776B64 */ return;
|
|
}
|
|
|
|
// fn_02776B68 @ 0x2776b68
|
|
void Gambit_fn_02776B68(CPUState* cpu) {
|
|
L_02776B68: ; // 0x2776b68
|
|
/* 02776B68 */ return;
|
|
}
|
|
|
|
// fn_02776B6C @ 0x2776b6c
|
|
void Gambit_fn_02776B6C(CPUState* cpu) {
|
|
L_02776B6C: ; // 0x2776b6c
|
|
/* 02776B6C */ return;
|
|
}
|
|
|
|
// fn_02776B70 @ 0x2776b70
|
|
void Gambit_fn_02776B70(CPUState* cpu) {
|
|
L_02776B70: ; // 0x2776b70
|
|
/* 02776B70 */ return;
|
|
}
|
|
|
|
// fn_02776B74 @ 0x2776b74
|
|
void Gambit_fn_02776B74(CPUState* cpu) {
|
|
L_02776B74: ; // 0x2776b74
|
|
/* 02776B74 */ cpu->r[3] = 0x00000001u;
|
|
/* 02776B78 */ return;
|
|
}
|
|
|
|
// fn_02776B7C @ 0x2776b7c
|
|
void Gambit_fn_02776B7C(CPUState* cpu) {
|
|
L_02776B7C: ; // 0x2776b7c
|
|
/* 02776B7C */ cpu->r[3] = 0x00000000u;
|
|
/* 02776B80 */ return;
|
|
}
|
|
|
|
// fn_02776B84 @ 0x2776b84
|
|
void Gambit_fn_02776B84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0276C380: ; // 0x276c380
|
|
/* 0276C380 */ cpu->r[0] = cpu->lr;
|
|
/* 0276C384 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0276C384 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0276C384 */ cpu->r[1] = _t0;
|
|
/* 0276C388 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0276C388 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0276C38C */ cpu->r[31] = cpu->r[3];
|
|
/* 0276C390 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0276C390 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0276C394 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0276C394 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0276C398 */ cpu->r[12] = 0x00000000u;
|
|
/* 0276C39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0276C3A0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0276C3A0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0276C3A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0276C3A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0276C3A4 */ if (_t6) goto L_0276C3CC; else goto L_0276C3A8;
|
|
L_0276C3A8: ; // 0x276c3a8
|
|
/* 0276C3A8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0276C3A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0276C3AC */ /* nop */
|
|
/* 0276C3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0276C3B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0276C3B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0276C3B4 */ if (_t9) goto L_0276C3B8; else goto L_0276C3CC;
|
|
L_0276C3B8: ; // 0x276c3b8
|
|
/* 0276C3B8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0276C3B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0276C3BC */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0276C3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0276C3C0 */ cpu->ctr = cpu->r[0];
|
|
/* 0276C3C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0276C3CC: ; // 0x276c3cc
|
|
/* 0276C3CC */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3D0 */ Gambit_fn_0276C2F8(cpu);
|
|
/* 0276C3D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3D8 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0276C3DC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0276C3DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0276C3E0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0276C3E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0276C3E4 */ cpu->lr = cpu->r[0];
|
|
/* 0276C3E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0276C3EC */ return;
|
|
L_02776B84: ; // 0x2776b84
|
|
/* 02776B84 */ cpu->r[3] = cpu->r[3] + 0x00000050u;
|
|
/* 02776B88 */ goto L_0276C380;
|
|
}
|
|
|
|
// fn_02776B8C @ 0x2776b8c
|
|
void Gambit_fn_02776B8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02776B8C: ; // 0x2776b8c
|
|
/* 02776B8C */ cpu->r[0] = cpu->lr;
|
|
/* 02776B90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02776B90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02776B90 */ cpu->r[1] = _t0;
|
|
/* 02776B94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776B94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02776B98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02776B9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02776B9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02776BA0 */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 02776BA0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02776BA4 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02776BA8 */ /* nop */
|
|
/* 02776BAC */ Gambit_fn_027FC35C(cpu);
|
|
/* 02776BB0 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02776BB4 */ Gambit_fn_0276C270(cpu);
|
|
/* 02776BB8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02776BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02776BBC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776BBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02776BC0 */ cpu->lr = cpu->r[0];
|
|
/* 02776BC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02776BC8 */ return;
|
|
}
|
|
|
|
// fn_02776B90 @ 0x2776b90
|
|
void Gambit_fn_02776B90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02776B90: ; // 0x2776b90
|
|
/* 02776B90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02776B90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02776B90 */ cpu->r[1] = _t0;
|
|
/* 02776B94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776B94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02776B98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02776B9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02776B9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02776BA0 */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 02776BA0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02776BA4 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02776BA8 */ /* nop */
|
|
/* 02776BAC */ Gambit_fn_027FC35C(cpu);
|
|
/* 02776BB0 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02776BB4 */ Gambit_fn_0276C270(cpu);
|
|
/* 02776BB8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02776BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02776BBC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776BBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02776BC0 */ cpu->lr = cpu->r[0];
|
|
/* 02776BC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02776BC8 */ return;
|
|
}
|
|
|
|
// fn_02776BCC @ 0x2776bcc
|
|
void Gambit_fn_02776BCC(CPUState* cpu) {
|
|
L_02776BCC: ; // 0x2776bcc
|
|
/* 02776BCC */ cpu->r[3] = 0x10100000u;
|
|
/* 02776BD0 */ cpu->r[3] = cpu->r[3] + 0x000027D8u;
|
|
/* 02776BD4 */ return;
|
|
}
|
|
|
|
// fn_02776BD8 @ 0x2776bd8
|
|
void Gambit_fn_02776BD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02776BD8: ; // 0x2776bd8
|
|
/* 02776BD8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02776BDC */ _t0 = cpu->r[9] + 0x000012E0u;
|
|
/* 02776BDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776BE0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02776BE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02776BE8 */ cpu->r[11] = cpu->r[11] + 0x0000134Cu;
|
|
/* 02776BEC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776BEC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02776BEC */ if (_t2) goto L_02776BF0; else goto L_02776C08;
|
|
L_02776BF0: ; // 0x2776bf0
|
|
/* 02776BF0 */ cpu->r[9] = 0x10100000u;
|
|
/* 02776BF4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02776BF8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02776BFC */ cpu->r[9] = cpu->r[9] + 0x000027C8u;
|
|
/* 02776C00 */ _t3 = cpu->r[12] + 0x000012E0u;
|
|
/* 02776C00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02776C04 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02776C04 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02776C08: ; // 0x2776c08
|
|
/* 02776C08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02776C0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776C0C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02776C0C */ if (_t6) goto L_02776C10; else goto L_02776C18;
|
|
L_02776C10: ; // 0x2776c10
|
|
/* 02776C10 */ cpu->r[3] = 0x00000001u;
|
|
/* 02776C14 */ return;
|
|
L_02776C18: ; // 0x2776c18
|
|
/* 02776C18 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02776C1C */ _t7 = cpu->r[12] + 0x000012DCu;
|
|
/* 02776C1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02776C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02776C24 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02776C28 */ cpu->r[12] = cpu->r[12] + 0x00001348u;
|
|
/* 02776C2C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776C2C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02776C2C */ if (_t9) goto L_02776C30; else goto L_02776C48;
|
|
L_02776C30: ; // 0x2776c30
|
|
/* 02776C30 */ cpu->r[11] = 0x10100000u;
|
|
/* 02776C34 */ cpu->r[10] = 0x00000001u;
|
|
/* 02776C38 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02776C3C */ cpu->r[11] = cpu->r[11] + 0x000027B8u;
|
|
/* 02776C40 */ _t10 = cpu->r[9] + 0x000012DCu;
|
|
/* 02776C40 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02776C44 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02776C44 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02776C48: ; // 0x2776c48
|
|
/* 02776C48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02776C4C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776C4C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02776C4C */ if (_t13) goto L_02776C50; else goto L_02776C58;
|
|
L_02776C50: ; // 0x2776c50
|
|
/* 02776C50 */ cpu->r[0] = 0x00000001u;
|
|
/* 02776C54 */ goto L_02776CCC;
|
|
L_02776C58: ; // 0x2776c58
|
|
/* 02776C58 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02776C5C */ _t14 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02776C5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02776C5C */ cpu->r[10] = _t14;
|
|
/* 02776C60 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02776C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02776C68 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4ECu;
|
|
/* 02776C6C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776C6C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02776C6C */ if (_t16) goto L_02776C70; else goto L_02776C84;
|
|
L_02776C70: ; // 0x2776c70
|
|
/* 02776C70 */ cpu->r[9] = 0x10100000u;
|
|
/* 02776C74 */ cpu->r[0] = 0x00000001u;
|
|
/* 02776C78 */ cpu->r[9] = cpu->r[9] + 0x000027A8u;
|
|
/* 02776C7C */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 02776C7C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02776C80 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02776C80 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_02776C84: ; // 0x2776c84
|
|
/* 02776C84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02776C88 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776C88 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02776C88 */ if (_t20) goto L_02776C8C; else goto L_02776C94;
|
|
L_02776C8C: ; // 0x2776c8c
|
|
/* 02776C8C */ cpu->r[0] = 0x00000001u;
|
|
/* 02776C90 */ goto L_02776CCC;
|
|
L_02776C94: ; // 0x2776c94
|
|
/* 02776C94 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02776C98 */ _t21 = cpu->r[9] + 0xFFFFD4E0u;
|
|
/* 02776C98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02776C98 */ cpu->r[9] = _t21;
|
|
/* 02776C9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02776CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02776CA4 */ cpu->r[12] = cpu->r[12] + 0xFFFFD4E4u;
|
|
/* 02776CA8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776CA8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02776CA8 */ if (_t23) goto L_02776CAC; else goto L_02776CC0;
|
|
L_02776CAC: ; // 0x2776cac
|
|
/* 02776CAC */ cpu->r[0] = 0x10100000u;
|
|
/* 02776CB0 */ cpu->r[11] = 0x00000001u;
|
|
/* 02776CB4 */ cpu->r[0] = cpu->r[0] + 0x00002780u;
|
|
/* 02776CB8 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02776CB8 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02776CBC */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02776CBC */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02776CC0: ; // 0x2776cc0
|
|
/* 02776CC0 */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 02776CC4 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 02776CC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02776CCC: ; // 0x2776ccc
|
|
/* 02776CCC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02776CD0 */ return;
|
|
}
|
|
|
|
// fn_02776CD8 @ 0x2776cd8
|
|
void Gambit_fn_02776CD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02776CD8: ; // 0x2776cd8
|
|
/* 02776CD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02776CD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02776CD8 */ cpu->r[1] = _t0;
|
|
/* 02776CDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776CDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02776CE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02776CE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02776CE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02776CE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02776CE8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776CE8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02776CE8 */ if (_t4) goto L_02776CEC; else goto L_02776CFC;
|
|
L_02776CEC: ; // 0x2776cec
|
|
/* 02776CEC */ cpu->r[3] = 0x00000100u;
|
|
/* 02776CF0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02776CF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02776CF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02776CF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776CF8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02776CF8 */ if (_t6) goto L_02776D1C; else goto L_02776CFC;
|
|
L_02776CFC: ; // 0x2776cfc
|
|
/* 02776CFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02776D00 */ Gambit_fn_02774F64(cpu);
|
|
/* 02776D04 */ cpu->r[0] = 0x10100000u;
|
|
/* 02776D08 */ cpu->r[11] = 0x00000003u;
|
|
/* 02776D0C */ cpu->r[0] = cpu->r[0] + 0x00002AD0u;
|
|
/* 02776D10 */ _t7 = cpu->r[31] + 0x00000088u;
|
|
/* 02776D10 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02776D14 */ _t8 = cpu->r[31] + 0x00000088u;
|
|
/* 02776D14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02776D18 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02776D18 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02776D1C: ; // 0x2776d1c
|
|
/* 02776D1C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02776D1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02776D20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02776D24 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776D24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02776D28 */ cpu->lr = cpu->r[0];
|
|
/* 02776D2C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02776D30 */ return;
|
|
}
|
|
|
|
// fn_02776D34 @ 0x2776d34
|
|
void Gambit_fn_02776D34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02776D34: ; // 0x2776d34
|
|
/* 02776D34 */ cpu->r[3] = cpu->r[4];
|
|
/* 02776D38 */ cpu->r[4] = 0x10100000u;
|
|
/* 02776D3C */ cpu->r[4] = cpu->r[4] + 0x00002A94u;
|
|
/* 02776D40 */ _t0 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02776D40 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02776D40 */ if (_t1) goto L_02776D44; // else: addr-0 trap, fall-through
|
|
L_02776D44: ; // 0x2776d44
|
|
/* 02776D44 */ goto L_0282A5F4;
|
|
L_0282A5F4: ; // 0x282a5f4
|
|
/* 0282A5F4 */ cpu->r[0] = cpu->lr;
|
|
/* 0282A5F8 */ _t2 = cpu->r[1] + 0x00000004u;
|
|
/* 0282A5F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0282A5FC */ _t3 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 0282A5FC */ rbrew_write32(cpu->mem, _t3, cpu->r[1]);
|
|
/* 0282A5FC */ cpu->r[1] = _t3;
|
|
/* 0282A600 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0282A600 */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 0282A604 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0282A604 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
|
|
/* 0282A608 */ _t6 = cpu->r[1] + 0x00000030u;
|
|
/* 0282A608 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0282A60C */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 0282A60C */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 0282A610 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 0282A610 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 0282A614 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 0282A614 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 0282A618 */ _t10 = cpu->r[1] + 0x00000034u;
|
|
/* 0282A618 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0282A61C */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 0282A61C */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 0282A620 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0282A620 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0282A620 */ if (_t13) goto L_0282A624; else goto L_0282A644;
|
|
L_0282A624: ; // 0x282a624
|
|
/* 0282A624 */ _t14 = cpu->r[1] + 0x00000048u;
|
|
/* 0282A624 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[3]);
|
|
/* 0282A628 */ _t15 = cpu->r[1] + 0x00000068u;
|
|
/* 0282A628 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[7]);
|
|
/* 0282A62C */ _t16 = cpu->r[1] + 0x00000060u;
|
|
/* 0282A62C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[6]);
|
|
/* 0282A630 */ _t17 = cpu->r[1] + 0x00000040u;
|
|
/* 0282A630 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[2]);
|
|
/* 0282A634 */ _t18 = cpu->r[1] + 0x00000050u;
|
|
/* 0282A634 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[4]);
|
|
/* 0282A638 */ _t19 = cpu->r[1] + 0x00000070u;
|
|
/* 0282A638 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[8]);
|
|
/* 0282A63C */ _t20 = cpu->r[1] + 0x00000058u;
|
|
/* 0282A63C */ rbrew_write_f64(cpu->mem, _t20, cpu->f[5]);
|
|
/* 0282A640 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 0282A640 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[1]);
|
|
L_0282A644: ; // 0x282a644
|
|
/* 0282A644 */ cpu->r[11] = cpu->r[1] + 0x00000080u;
|
|
/* 0282A648 */ cpu->r[10] = cpu->r[1] + 0x00000018u;
|
|
/* 0282A64C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0282A64C */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0282A650 */ cpu->r[12] = 0x00000002u;
|
|
/* 0282A654 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0282A654 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 0282A658 */ cpu->r[0] = 0x00000000u;
|
|
/* 0282A65C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0282A65C */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]);
|
|
/* 0282A660 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0282A664 */ _t25 = cpu->r[1] + 0x00000009u;
|
|
/* 0282A664 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 0282A668 */ Gambit_fn_0282A5DC(cpu);
|
|
/* 0282A66C */ _t26 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0282A66C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0282A670 */ cpu->lr = cpu->r[0];
|
|
/* 0282A674 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 0282A678 */ return;
|
|
}
|
|
|
|
// fn_02776D48 @ 0x2776d48
|
|
void Gambit_fn_02776D48(CPUState* cpu) {
|
|
uint32_t _t0, _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_02776D48: ; // 0x2776d48
|
|
/* 02776D48 */ cpu->r[0] = cpu->lr;
|
|
/* 02776D4C */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02776D4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02776D4C */ cpu->r[1] = _t0;
|
|
/* 02776D50 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 02776D50 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02776D54 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02776D54 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02776D58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02776D5C */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02776D5C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02776D60 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02776D64 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776D68 */ cpu->r[5] = 0x00000000u;
|
|
/* 02776D6C */ _t4 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02776D6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02776D70 */ cpu->r[29] = 0x10100000u;
|
|
/* 02776D74 */ cpu->r[31] = 0x10100000u;
|
|
/* 02776D78 */ cpu->r[29] = cpu->r[29] + 0x00002A40u;
|
|
/* 02776D7C */ cpu->r[31] = cpu->r[31] + 0x00002AA4u;
|
|
/* 02776D80 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02776D80 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 02776D84 */ cpu->r[6] = cpu->r[5];
|
|
/* 02776D88 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776D88 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02776D8C */ Gambit_fn_027C6980(cpu);
|
|
/* 02776D90 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02776D94 */ Gambit_fn_02982574(cpu);
|
|
/* 02776D98 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02776D9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02776DA0 */ _t7 = cpu->r[10] + 0xFFFF97D4u;
|
|
/* 02776DA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02776DA4 */ _t8 = cpu->r[12] + 0xFFFF97D0u;
|
|
/* 02776DA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02776DA8 */ _t9 = cpu->r[1] + 0x00000030u;
|
|
/* 02776DA8 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02776DAC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02776DB0 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 02776DB0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02776DB4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02776DB8 */ _t11 = cpu->r[11] + 0xFFFF97D8u;
|
|
/* 02776DB8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02776DBC */ _t12 = cpu->r[12] + 0xFFFF97D9u;
|
|
/* 02776DBC */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02776DC0 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 02776DC0 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[11]);
|
|
/* 02776DC4 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02776DC8 */ _t14 = cpu->r[1] + 0x00000035u;
|
|
/* 02776DC8 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 02776DCC */ Gambit_fn_02984F3C(cpu);
|
|
/* 02776DD0 */ cpu->r[0] = 0x00000006u;
|
|
/* 02776DD4 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02776DD4 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 02776DD8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02776DDC */ _t16 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02776DDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02776DE0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02776DE4 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02776DE4 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02776DE8 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 02776DEC */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02776DF0 */ _t18 = cpu->r[1] + 0x00000044u;
|
|
/* 02776DF0 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02776DF4 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02776DF8 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02776DFC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02776DFC */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02776E00 */ Gambit_fn_023C9758(cpu);
|
|
/* 02776E04 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 02776E04 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 02776E08 */ _t21 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02776E08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02776E0C */ _t22 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02776E0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02776E10 */ _t23 = cpu->r[1] + 0x00000054u;
|
|
/* 02776E10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02776E14 */ cpu->lr = cpu->r[0];
|
|
/* 02776E18 */ _t24 = cpu->r[1] + 0x00000050u;
|
|
/* 02776E18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02776E1C */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02776E20 */ return;
|
|
}
|
|
|
|
// fn_02776D4C @ 0x2776d4c
|
|
void Gambit_fn_02776D4C(CPUState* cpu) {
|
|
uint32_t _t0, _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_02776D4C: ; // 0x2776d4c
|
|
/* 02776D4C */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02776D4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02776D4C */ cpu->r[1] = _t0;
|
|
/* 02776D50 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 02776D50 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02776D54 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02776D54 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02776D58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02776D5C */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02776D5C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02776D60 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02776D64 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776D68 */ cpu->r[5] = 0x00000000u;
|
|
/* 02776D6C */ _t4 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02776D6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02776D70 */ cpu->r[29] = 0x10100000u;
|
|
/* 02776D74 */ cpu->r[31] = 0x10100000u;
|
|
/* 02776D78 */ cpu->r[29] = cpu->r[29] + 0x00002A40u;
|
|
/* 02776D7C */ cpu->r[31] = cpu->r[31] + 0x00002AA4u;
|
|
/* 02776D80 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02776D80 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 02776D84 */ cpu->r[6] = cpu->r[5];
|
|
/* 02776D88 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776D88 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02776D8C */ Gambit_fn_027C6980(cpu);
|
|
/* 02776D90 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02776D94 */ Gambit_fn_02982574(cpu);
|
|
/* 02776D98 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02776D9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02776DA0 */ _t7 = cpu->r[10] + 0xFFFF97D4u;
|
|
/* 02776DA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02776DA4 */ _t8 = cpu->r[12] + 0xFFFF97D0u;
|
|
/* 02776DA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02776DA8 */ _t9 = cpu->r[1] + 0x00000030u;
|
|
/* 02776DA8 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02776DAC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02776DB0 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 02776DB0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02776DB4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02776DB8 */ _t11 = cpu->r[11] + 0xFFFF97D8u;
|
|
/* 02776DB8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02776DBC */ _t12 = cpu->r[12] + 0xFFFF97D9u;
|
|
/* 02776DBC */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02776DC0 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 02776DC0 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[11]);
|
|
/* 02776DC4 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02776DC8 */ _t14 = cpu->r[1] + 0x00000035u;
|
|
/* 02776DC8 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 02776DCC */ Gambit_fn_02984F3C(cpu);
|
|
/* 02776DD0 */ cpu->r[0] = 0x00000006u;
|
|
/* 02776DD4 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02776DD4 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 02776DD8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02776DDC */ _t16 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02776DDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02776DE0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02776DE4 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02776DE4 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02776DE8 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 02776DEC */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02776DF0 */ _t18 = cpu->r[1] + 0x00000044u;
|
|
/* 02776DF0 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02776DF4 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02776DF8 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02776DFC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02776DFC */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02776E00 */ Gambit_fn_023C9758(cpu);
|
|
/* 02776E04 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 02776E04 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 02776E08 */ _t21 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02776E08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02776E0C */ _t22 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02776E0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02776E10 */ _t23 = cpu->r[1] + 0x00000054u;
|
|
/* 02776E10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02776E14 */ cpu->lr = cpu->r[0];
|
|
/* 02776E18 */ _t24 = cpu->r[1] + 0x00000050u;
|
|
/* 02776E18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02776E1C */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02776E20 */ return;
|
|
}
|
|
|
|
// fn_02776E24 @ 0x2776e24
|
|
void Gambit_fn_02776E24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02776E24: ; // 0x2776e24
|
|
/* 02776E24 */ cpu->r[0] = cpu->lr;
|
|
/* 02776E28 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02776E28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02776E28 */ cpu->r[1] = _t0;
|
|
/* 02776E2C */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02776E2C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02776E30 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02776E30 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02776E34 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02776E34 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02776E38 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02776E38 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02776E3C */ cpu->r[30] = cpu->r[3];
|
|
/* 02776E40 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02776E40 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02776E44 */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 02776E44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02776E48 */ cpu->r[29] = 0x10100000u;
|
|
/* 02776E4C */ cpu->r[28] = 0x10100000u;
|
|
/* 02776E50 */ cpu->r[29] = cpu->r[29] + 0x00002A40u;
|
|
/* 02776E54 */ cpu->r[28] = cpu->r[28] + 0x00002AC0u;
|
|
/* 02776E58 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02776E58 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 02776E5C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776E5C */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 02776E60 */ _t9 = cpu->r[11] + 0x000000A4u;
|
|
/* 02776E60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02776E64 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776E68 */ Gambit_fn_02983BC4(cpu);
|
|
/* 02776E6C */ /* nop */
|
|
/* 02776E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02776E74 */ cpu->r[11] = 0x00000000u;
|
|
/* 02776E78 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776E78 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02776E78 */ if (_t11) goto L_02776E8C; else goto L_02776E7C;
|
|
L_02776E7C: ; // 0x2776e7c
|
|
/* 02776E7C */ /* nop */
|
|
/* 02776E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 02776E84 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776E84 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02776E84 */ if (_t13) goto L_02776E8C; else goto L_02776E88;
|
|
L_02776E88: ; // 0x2776e88
|
|
/* 02776E88 */ cpu->r[11] = 0x00000001u;
|
|
L_02776E8C: ; // 0x2776e8c
|
|
/* 02776E8C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02776E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02776E90 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776E90 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02776E90 */ if (_t15) goto L_02776F44; else goto L_02776E94;
|
|
L_02776E94: ; // 0x2776e94
|
|
/* 02776E94 */ cpu->r[10] = 0x10100000u;
|
|
/* 02776E98 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 02776E98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02776E9C */ _t17 = cpu->r[10] + 0x00002AB4u;
|
|
/* 02776E9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02776EA0 */ _t18 = cpu->r[30] + 0x000000E0u;
|
|
/* 02776EA0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02776EA4 */ _t19 = cpu->r[11] + 0x000000A4u;
|
|
/* 02776EA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02776EA8 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02776EAC */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02776EAC */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 02776EB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02776EB4 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02776EB4 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02776EB8 */ Gambit_fn_02983BC4(cpu);
|
|
/* 02776EBC */ cpu->r[4] = 0x00000000u;
|
|
/* 02776EC0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02776EC0 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02776EC4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02776EC8 */ cpu->r[6] = cpu->r[4];
|
|
/* 02776ECC */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02776ECC */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 02776ED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02776ED4 */ Gambit_fn_02983954(cpu);
|
|
/* 02776ED8 */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 02776ED8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02776EDC */ _t25 = cpu->r[11] + 0x000000A4u;
|
|
/* 02776EDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02776EE0 */ _t26 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02776EE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02776EE4 */ _t27 = cpu->r[9] + 0x00000000u;
|
|
/* 02776EE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02776EE8 */ /* nop */
|
|
/* 02776EEC */ _t28 = cpu->r[10] + 0x00000038u;
|
|
/* 02776EEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02776EF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02776EF4 */ _t29 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02776EF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02776EF8 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02776EF8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02776EF8 */ if (_t31) goto L_02776EFC; else goto L_02776F08;
|
|
L_02776EFC: ; // 0x2776efc
|
|
/* 02776EFC */ /* nop */
|
|
/* 02776F00 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02776F04 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_02776F08: ; // 0x2776f08
|
|
/* 02776F08 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 02776F08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02776F0C */ _t33 = cpu->r[10] + 0x00000000u;
|
|
/* 02776F0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02776F10 */ cpu->r[12] = 0x43300000u;
|
|
/* 02776F14 */ _t34 = cpu->r[10] + 0x00000010u;
|
|
/* 02776F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02776F18 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02776F18 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 02776F1C */ cpu->r[12] = 0x10100000u;
|
|
/* 02776F20 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02776F24 */ _t36 = cpu->r[12] + 0x00002AB8u;
|
|
/* 02776F24 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 02776F28 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02776F28 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02776F2C */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 02776F2C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 02776F30 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02776F34 */ cpu->r[0] = 0x00000001u;
|
|
/* 02776F38 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02776F3C */ _t39 = cpu->r[30] + 0x000000ECu;
|
|
/* 02776F3C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 02776F40 */ _t40 = cpu->r[30] + 0x000000E8u;
|
|
/* 02776F40 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
L_02776F44: ; // 0x2776f44
|
|
/* 02776F44 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 02776F44 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02776F48 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02776F48 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02776F4C */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02776F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02776F50 */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 02776F50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02776F54 */ cpu->lr = cpu->r[0];
|
|
/* 02776F58 */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 02776F58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02776F5C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02776F60 */ return;
|
|
}
|
|
|
|
// fn_02776E28 @ 0x2776e28
|
|
void Gambit_fn_02776E28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02776E28: ; // 0x2776e28
|
|
/* 02776E28 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02776E28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02776E28 */ cpu->r[1] = _t0;
|
|
/* 02776E2C */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02776E2C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02776E30 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02776E30 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02776E34 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02776E34 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02776E38 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02776E38 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02776E3C */ cpu->r[30] = cpu->r[3];
|
|
/* 02776E40 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02776E40 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02776E44 */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 02776E44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02776E48 */ cpu->r[29] = 0x10100000u;
|
|
/* 02776E4C */ cpu->r[28] = 0x10100000u;
|
|
/* 02776E50 */ cpu->r[29] = cpu->r[29] + 0x00002A40u;
|
|
/* 02776E54 */ cpu->r[28] = cpu->r[28] + 0x00002AC0u;
|
|
/* 02776E58 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02776E58 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 02776E5C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776E5C */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 02776E60 */ _t9 = cpu->r[11] + 0x000000A4u;
|
|
/* 02776E60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02776E64 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02776E68 */ Gambit_fn_02983BC4(cpu);
|
|
/* 02776E6C */ /* nop */
|
|
/* 02776E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02776E74 */ cpu->r[11] = 0x00000000u;
|
|
/* 02776E78 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776E78 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02776E78 */ if (_t11) goto L_02776E8C; else goto L_02776E7C;
|
|
L_02776E7C: ; // 0x2776e7c
|
|
/* 02776E7C */ /* nop */
|
|
/* 02776E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 02776E84 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776E84 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02776E84 */ if (_t13) goto L_02776E8C; else goto L_02776E88;
|
|
L_02776E88: ; // 0x2776e88
|
|
/* 02776E88 */ cpu->r[11] = 0x00000001u;
|
|
L_02776E8C: ; // 0x2776e8c
|
|
/* 02776E8C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02776E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02776E90 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776E90 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02776E90 */ if (_t15) goto L_02776F44; else goto L_02776E94;
|
|
L_02776E94: ; // 0x2776e94
|
|
/* 02776E94 */ cpu->r[10] = 0x10100000u;
|
|
/* 02776E98 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 02776E98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02776E9C */ _t17 = cpu->r[10] + 0x00002AB4u;
|
|
/* 02776E9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02776EA0 */ _t18 = cpu->r[30] + 0x000000E0u;
|
|
/* 02776EA0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02776EA4 */ _t19 = cpu->r[11] + 0x000000A4u;
|
|
/* 02776EA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02776EA8 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02776EAC */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02776EAC */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 02776EB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02776EB4 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02776EB4 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02776EB8 */ Gambit_fn_02983BC4(cpu);
|
|
/* 02776EBC */ cpu->r[4] = 0x00000000u;
|
|
/* 02776EC0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02776EC0 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02776EC4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02776EC8 */ cpu->r[6] = cpu->r[4];
|
|
/* 02776ECC */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02776ECC */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 02776ED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02776ED4 */ Gambit_fn_02983954(cpu);
|
|
/* 02776ED8 */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 02776ED8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02776EDC */ _t25 = cpu->r[11] + 0x000000A4u;
|
|
/* 02776EDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02776EE0 */ _t26 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02776EE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02776EE4 */ _t27 = cpu->r[9] + 0x00000000u;
|
|
/* 02776EE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02776EE8 */ /* nop */
|
|
/* 02776EEC */ _t28 = cpu->r[10] + 0x00000038u;
|
|
/* 02776EEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02776EF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02776EF4 */ _t29 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02776EF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02776EF8 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02776EF8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02776EF8 */ if (_t31) goto L_02776EFC; else goto L_02776F08;
|
|
L_02776EFC: ; // 0x2776efc
|
|
/* 02776EFC */ /* nop */
|
|
/* 02776F00 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02776F04 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_02776F08: ; // 0x2776f08
|
|
/* 02776F08 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 02776F08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02776F0C */ _t33 = cpu->r[10] + 0x00000000u;
|
|
/* 02776F0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02776F10 */ cpu->r[12] = 0x43300000u;
|
|
/* 02776F14 */ _t34 = cpu->r[10] + 0x00000010u;
|
|
/* 02776F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02776F18 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02776F18 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 02776F1C */ cpu->r[12] = 0x10100000u;
|
|
/* 02776F20 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02776F24 */ _t36 = cpu->r[12] + 0x00002AB8u;
|
|
/* 02776F24 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 02776F28 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02776F28 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02776F2C */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 02776F2C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 02776F30 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02776F34 */ cpu->r[0] = 0x00000001u;
|
|
/* 02776F38 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02776F3C */ _t39 = cpu->r[30] + 0x000000ECu;
|
|
/* 02776F3C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 02776F40 */ _t40 = cpu->r[30] + 0x000000E8u;
|
|
/* 02776F40 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
L_02776F44: ; // 0x2776f44
|
|
/* 02776F44 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 02776F44 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02776F48 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02776F48 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02776F4C */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02776F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02776F50 */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 02776F50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02776F54 */ cpu->lr = cpu->r[0];
|
|
/* 02776F58 */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 02776F58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02776F5C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02776F60 */ return;
|
|
}
|
|
|
|
// fn_02776F64 @ 0x2776f64
|
|
void Gambit_fn_02776F64(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_02776F64: ; // 0x2776f64
|
|
/* 02776F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02776F68 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776F68 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02776F68 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776F68 */ goto L_02776F6C;
|
|
L_02776F6C: ; // 0x2776f6c
|
|
/* 02776F6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02776F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02776F70 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776F70 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02776F70 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776F70 */ goto L_02776F74;
|
|
L_02776F74: ; // 0x2776f74
|
|
/* 02776F74 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02776F78 @ 0x2776f78
|
|
void Gambit_fn_02776F78(CPUState* cpu) {
|
|
L_02776F78: ; // 0x2776f78
|
|
/* 02776F78 */ return;
|
|
}
|
|
|
|
// fn_02776F7C @ 0x2776f7c
|
|
void Gambit_fn_02776F7C(CPUState* cpu) {
|
|
L_02776F7C: ; // 0x2776f7c
|
|
/* 02776F7C */ return;
|
|
}
|
|
|
|
// fn_02776F80 @ 0x2776f80
|
|
void Gambit_fn_02776F80(CPUState* cpu) {
|
|
L_02776F80: ; // 0x2776f80
|
|
/* 02776F80 */ return;
|
|
}
|
|
|
|
// fn_02776F84 @ 0x2776f84
|
|
void Gambit_fn_02776F84(CPUState* cpu) {
|
|
L_02776F84: ; // 0x2776f84
|
|
/* 02776F84 */ return;
|
|
}
|
|
|
|
// fn_02776F88 @ 0x2776f88
|
|
void Gambit_fn_02776F88(CPUState* cpu) {
|
|
L_02776F88: ; // 0x2776f88
|
|
/* 02776F88 */ return;
|
|
}
|
|
|
|
// fn_02776F8C @ 0x2776f8c
|
|
void Gambit_fn_02776F8C(CPUState* cpu) {
|
|
L_02776F8C: ; // 0x2776f8c
|
|
/* 02776F8C */ return;
|
|
}
|
|
|
|
// fn_02776F90 @ 0x2776f90
|
|
void Gambit_fn_02776F90(CPUState* cpu) {
|
|
L_02776F90: ; // 0x2776f90
|
|
/* 02776F90 */ return;
|
|
}
|
|
|
|
// fn_02776F94 @ 0x2776f94
|
|
void Gambit_fn_02776F94(CPUState* cpu) {
|
|
L_02776F94: ; // 0x2776f94
|
|
/* 02776F94 */ return;
|
|
}
|
|
|
|
// fn_02776F98 @ 0x2776f98
|
|
void Gambit_fn_02776F98(CPUState* cpu) {
|
|
L_02776F98: ; // 0x2776f98
|
|
/* 02776F98 */ return;
|
|
}
|
|
|
|
// fn_02776F9C @ 0x2776f9c
|
|
void Gambit_fn_02776F9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02776F9C: ; // 0x2776f9c
|
|
/* 02776F9C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02776F9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776FA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02776FA4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776FA4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02776FA4 */ if (_t2) goto L_02776FB0; else goto L_02776FA8;
|
|
L_02776FA8: ; // 0x2776fa8
|
|
/* 02776FA8 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02776FAC */ return;
|
|
L_02776FB0: ; // 0x2776fb0
|
|
/* 02776FB0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02776FB4 */ return;
|
|
}
|
|
|
|
// fn_02776FB8 @ 0x2776fb8
|
|
void Gambit_fn_02776FB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02776FB8: ; // 0x2776fb8
|
|
/* 02776FB8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02776FB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776FBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02776FC0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776FC0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02776FC0 */ if (_t2) goto L_02776FCC; else goto L_02776FC4;
|
|
L_02776FC4: ; // 0x2776fc4
|
|
/* 02776FC4 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02776FC8 */ return;
|
|
L_02776FCC: ; // 0x2776fcc
|
|
/* 02776FCC */ cpu->r[3] = 0x00000000u;
|
|
/* 02776FD0 */ return;
|
|
}
|
|
|
|
// fn_02776FD4 @ 0x2776fd4
|
|
void Gambit_fn_02776FD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02776FD4: ; // 0x2776fd4
|
|
/* 02776FD4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02776FD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776FD8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02776FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02776FDC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776FDC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02776FDC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02776FDC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776FDC */ goto L_02776FE0;
|
|
L_02776FE0: ; // 0x2776fe0
|
|
/* 02776FE0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02776FE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02776FE4 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02776FE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02776FE8 */ cpu->ctr = cpu->r[0];
|
|
/* 02776FEC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02776FF0 @ 0x2776ff0
|
|
void Gambit_fn_02776FF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02776FF0: ; // 0x2776ff0
|
|
/* 02776FF0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02776FF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02776FF4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02776FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02776FF8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02776FF8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02776FF8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02776FF8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02776FF8 */ goto L_02776FFC;
|
|
L_02776FFC: ; // 0x2776ffc
|
|
/* 02776FFC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02776FFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02777000 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02777000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02777004 */ cpu->ctr = cpu->r[0];
|
|
/* 02777008 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277700C @ 0x277700c
|
|
void Gambit_fn_0277700C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277700C: ; // 0x277700c
|
|
/* 0277700C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0277700C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777010 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02777010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02777014 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777014 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02777014 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02777014 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02777014 */ goto L_02777018;
|
|
L_02777018: ; // 0x2777018
|
|
/* 02777018 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02777018 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277701C */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 0277701C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02777020 */ cpu->ctr = cpu->r[0];
|
|
/* 02777024 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777028 @ 0x2777028
|
|
void Gambit_fn_02777028(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02777028: ; // 0x2777028
|
|
/* 02777028 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02777028 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277702C */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0277702C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02777030 */ cpu->ctr = cpu->r[0];
|
|
/* 02777034 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777038 @ 0x2777038
|
|
void Gambit_fn_02777038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02777038: ; // 0x2777038
|
|
/* 02777038 */ cpu->r[0] = cpu->lr;
|
|
/* 0277703C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277703C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277703C */ cpu->r[1] = _t0;
|
|
/* 02777040 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777040 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02777044 */ cpu->r[31] = cpu->r[3];
|
|
/* 02777048 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02777048 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277704C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0277704C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02777050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02777054 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777054 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02777054 */ if (_t5) goto L_02777058; else goto L_02777074;
|
|
L_02777058: ; // 0x2777058
|
|
/* 02777058 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02777058 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277705C */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0277705C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02777060 */ cpu->ctr = cpu->r[0];
|
|
/* 02777064 */ cpu->r[3] = cpu->r[31];
|
|
/* 02777068 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277706C */ cpu->r[0] = 0x00000002u;
|
|
/* 02777070 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02777070 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02777074: ; // 0x2777074
|
|
/* 02777074 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02777074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02777078 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777078 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277707C */ cpu->lr = cpu->r[0];
|
|
/* 02777080 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02777084 */ return;
|
|
}
|
|
|
|
// fn_0277703C @ 0x277703c
|
|
void Gambit_fn_0277703C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277703C: ; // 0x277703c
|
|
/* 0277703C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277703C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277703C */ cpu->r[1] = _t0;
|
|
/* 02777040 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777040 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02777044 */ cpu->r[31] = cpu->r[3];
|
|
/* 02777048 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02777048 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277704C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0277704C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02777050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02777054 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777054 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02777054 */ if (_t5) goto L_02777058; else goto L_02777074;
|
|
L_02777058: ; // 0x2777058
|
|
/* 02777058 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02777058 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277705C */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0277705C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02777060 */ cpu->ctr = cpu->r[0];
|
|
/* 02777064 */ cpu->r[3] = cpu->r[31];
|
|
/* 02777068 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277706C */ cpu->r[0] = 0x00000002u;
|
|
/* 02777070 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02777070 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02777074: ; // 0x2777074
|
|
/* 02777074 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02777074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02777078 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777078 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277707C */ cpu->lr = cpu->r[0];
|
|
/* 02777080 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02777084 */ return;
|
|
}
|
|
|
|
// fn_02777088 @ 0x2777088
|
|
void Gambit_fn_02777088(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02777088: ; // 0x2777088
|
|
/* 02777088 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02777088 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277708C */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 0277708C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02777090 */ cpu->ctr = cpu->r[0];
|
|
/* 02777094 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777098 @ 0x2777098
|
|
void Gambit_fn_02777098(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02777098: ; // 0x2777098
|
|
/* 02777098 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02777098 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277709C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0277709C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027770A0 */ cpu->ctr = cpu->r[0];
|
|
/* 027770A4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027770A8 @ 0x27770a8
|
|
void Gambit_fn_027770A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027770A8: ; // 0x27770a8
|
|
/* 027770A8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027770A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027770AC */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 027770AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027770B0 */ cpu->ctr = cpu->r[0];
|
|
/* 027770B4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027770B8 @ 0x27770b8
|
|
void Gambit_fn_027770B8(CPUState* cpu) {
|
|
L_027770B8: ; // 0x27770b8
|
|
/* 027770B8 */ cpu->r[3] = 0x00000001u;
|
|
/* 027770BC */ return;
|
|
}
|
|
|
|
// fn_027770C0 @ 0x27770c0
|
|
void Gambit_fn_027770C0(CPUState* cpu) {
|
|
L_027770C0: ; // 0x27770c0
|
|
/* 027770C0 */ return;
|
|
}
|
|
|
|
// fn_027770C4 @ 0x27770c4
|
|
void Gambit_fn_027770C4(CPUState* cpu) {
|
|
L_027770C4: ; // 0x27770c4
|
|
/* 027770C4 */ return;
|
|
}
|
|
|
|
// fn_027770C8 @ 0x27770c8
|
|
void Gambit_fn_027770C8(CPUState* cpu) {
|
|
L_027770C8: ; // 0x27770c8
|
|
/* 027770C8 */ return;
|
|
}
|
|
|
|
// fn_027770CC @ 0x27770cc
|
|
void Gambit_fn_027770CC(CPUState* cpu) {
|
|
L_027770CC: ; // 0x27770cc
|
|
/* 027770CC */ return;
|
|
}
|
|
|
|
// fn_027770D0 @ 0x27770d0
|
|
void Gambit_fn_027770D0(CPUState* cpu) {
|
|
L_027770D0: ; // 0x27770d0
|
|
/* 027770D0 */ return;
|
|
}
|
|
|
|
// fn_027770D4 @ 0x27770d4
|
|
void Gambit_fn_027770D4(CPUState* cpu) {
|
|
L_027770D4: ; // 0x27770d4
|
|
/* 027770D4 */ cpu->r[3] = 0x00000001u;
|
|
/* 027770D8 */ return;
|
|
}
|
|
|
|
// fn_027770DC @ 0x27770dc
|
|
void Gambit_fn_027770DC(CPUState* cpu) {
|
|
L_027770DC: ; // 0x27770dc
|
|
/* 027770DC */ cpu->r[3] = 0x00000000u;
|
|
/* 027770E0 */ return;
|
|
}
|
|
|
|
// fn_027770E4 @ 0x27770e4
|
|
void Gambit_fn_027770E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0276C380: ; // 0x276c380
|
|
/* 0276C380 */ cpu->r[0] = cpu->lr;
|
|
/* 0276C384 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0276C384 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0276C384 */ cpu->r[1] = _t0;
|
|
/* 0276C388 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0276C388 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0276C38C */ cpu->r[31] = cpu->r[3];
|
|
/* 0276C390 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0276C390 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0276C394 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0276C394 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0276C398 */ cpu->r[12] = 0x00000000u;
|
|
/* 0276C39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0276C3A0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0276C3A0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0276C3A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0276C3A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0276C3A4 */ if (_t6) goto L_0276C3CC; else goto L_0276C3A8;
|
|
L_0276C3A8: ; // 0x276c3a8
|
|
/* 0276C3A8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0276C3A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0276C3AC */ /* nop */
|
|
/* 0276C3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0276C3B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0276C3B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0276C3B4 */ if (_t9) goto L_0276C3B8; else goto L_0276C3CC;
|
|
L_0276C3B8: ; // 0x276c3b8
|
|
/* 0276C3B8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0276C3B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0276C3BC */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0276C3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0276C3C0 */ cpu->ctr = cpu->r[0];
|
|
/* 0276C3C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0276C3CC: ; // 0x276c3cc
|
|
/* 0276C3CC */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3D0 */ Gambit_fn_0276C2F8(cpu);
|
|
/* 0276C3D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3D8 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0276C3DC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0276C3DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0276C3E0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0276C3E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0276C3E4 */ cpu->lr = cpu->r[0];
|
|
/* 0276C3E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0276C3EC */ return;
|
|
L_027770E4: ; // 0x27770e4
|
|
/* 027770E4 */ cpu->r[3] = cpu->r[3] + 0x00000050u;
|
|
/* 027770E8 */ goto L_0276C380;
|
|
}
|
|
|
|
// fn_027770EC @ 0x27770ec
|
|
void Gambit_fn_027770EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027770EC: ; // 0x27770ec
|
|
/* 027770EC */ cpu->r[0] = cpu->lr;
|
|
/* 027770F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027770F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027770F0 */ cpu->r[1] = _t0;
|
|
/* 027770F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027770F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027770F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027770FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027770FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02777100 */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 02777100 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02777104 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02777108 */ /* nop */
|
|
/* 0277710C */ Gambit_fn_027FC35C(cpu);
|
|
/* 02777110 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02777114 */ Gambit_fn_0276C270(cpu);
|
|
/* 02777118 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02777118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277711C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277711C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02777120 */ cpu->lr = cpu->r[0];
|
|
/* 02777124 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02777128 */ return;
|
|
}
|
|
|
|
// fn_027770F0 @ 0x27770f0
|
|
void Gambit_fn_027770F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_027770F0: ; // 0x27770f0
|
|
/* 027770F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 027770F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027770F0 */ cpu->r[1] = _t0;
|
|
/* 027770F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027770F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027770F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027770FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027770FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02777100 */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 02777100 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02777104 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02777108 */ /* nop */
|
|
/* 0277710C */ Gambit_fn_027FC35C(cpu);
|
|
/* 02777110 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02777114 */ Gambit_fn_0276C270(cpu);
|
|
/* 02777118 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02777118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277711C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277711C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02777120 */ cpu->lr = cpu->r[0];
|
|
/* 02777124 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02777128 */ return;
|
|
}
|
|
|
|
// fn_0277712C @ 0x277712c
|
|
void Gambit_fn_0277712C(CPUState* cpu) {
|
|
L_0277712C: ; // 0x277712c
|
|
/* 0277712C */ cpu->r[3] = 0x10100000u;
|
|
/* 02777130 */ cpu->r[3] = cpu->r[3] + 0x00002A88u;
|
|
/* 02777134 */ return;
|
|
}
|
|
|
|
// fn_02777138 @ 0x2777138
|
|
void Gambit_fn_02777138(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02777138: ; // 0x2777138
|
|
/* 02777138 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0277713C */ _t0 = cpu->r[9] + 0x000012F4u;
|
|
/* 0277713C */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777140 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02777144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02777148 */ cpu->r[11] = cpu->r[11] + 0x00001350u;
|
|
/* 0277714C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277714C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277714C */ if (_t2) goto L_02777150; else goto L_02777168;
|
|
L_02777150: ; // 0x2777150
|
|
/* 02777150 */ cpu->r[9] = 0x10100000u;
|
|
/* 02777154 */ cpu->r[0] = 0x00000001u;
|
|
/* 02777158 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277715C */ cpu->r[9] = cpu->r[9] + 0x00002A78u;
|
|
/* 02777160 */ _t3 = cpu->r[12] + 0x000012F4u;
|
|
/* 02777160 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02777164 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02777164 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02777168: ; // 0x2777168
|
|
/* 02777168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 0277716C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277716C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0277716C */ if (_t6) goto L_02777170; else goto L_02777178;
|
|
L_02777170: ; // 0x2777170
|
|
/* 02777170 */ cpu->r[3] = 0x00000001u;
|
|
/* 02777174 */ return;
|
|
L_02777178: ; // 0x2777178
|
|
/* 02777178 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277717C */ _t7 = cpu->r[12] + 0x000012DCu;
|
|
/* 0277717C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02777180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02777184 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02777188 */ cpu->r[12] = cpu->r[12] + 0x00001348u;
|
|
/* 0277718C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277718C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277718C */ if (_t9) goto L_02777190; else goto L_027771A8;
|
|
L_02777190: ; // 0x2777190
|
|
/* 02777190 */ cpu->r[11] = 0x10100000u;
|
|
/* 02777194 */ cpu->r[10] = 0x00000001u;
|
|
/* 02777198 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0277719C */ cpu->r[11] = cpu->r[11] + 0x00002A68u;
|
|
/* 027771A0 */ _t10 = cpu->r[9] + 0x000012DCu;
|
|
/* 027771A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 027771A4 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 027771A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_027771A8: ; // 0x27771a8
|
|
/* 027771A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 027771AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027771AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 027771AC */ if (_t13) goto L_027771B0; else goto L_027771B8;
|
|
L_027771B0: ; // 0x27771b0
|
|
/* 027771B0 */ cpu->r[0] = 0x00000001u;
|
|
/* 027771B4 */ goto L_0277722C;
|
|
L_027771B8: ; // 0x27771b8
|
|
/* 027771B8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027771BC */ _t14 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 027771BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027771BC */ cpu->r[10] = _t14;
|
|
/* 027771C0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027771C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027771C8 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4ECu;
|
|
/* 027771CC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027771CC */ _t16 = _t15 & 0x00000001u;
|
|
/* 027771CC */ if (_t16) goto L_027771D0; else goto L_027771E4;
|
|
L_027771D0: ; // 0x27771d0
|
|
/* 027771D0 */ cpu->r[9] = 0x10100000u;
|
|
/* 027771D4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027771D8 */ cpu->r[9] = cpu->r[9] + 0x00002A58u;
|
|
/* 027771DC */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 027771DC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 027771E0 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 027771E0 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_027771E4: ; // 0x27771e4
|
|
/* 027771E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 027771E8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027771E8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 027771E8 */ if (_t20) goto L_027771EC; else goto L_027771F4;
|
|
L_027771EC: ; // 0x27771ec
|
|
/* 027771EC */ cpu->r[0] = 0x00000001u;
|
|
/* 027771F0 */ goto L_0277722C;
|
|
L_027771F4: ; // 0x27771f4
|
|
/* 027771F4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027771F8 */ _t21 = cpu->r[9] + 0xFFFFD4E0u;
|
|
/* 027771F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027771F8 */ cpu->r[9] = _t21;
|
|
/* 027771FC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02777200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02777204 */ cpu->r[12] = cpu->r[12] + 0xFFFFD4E4u;
|
|
/* 02777208 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777208 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02777208 */ if (_t23) goto L_0277720C; else goto L_02777220;
|
|
L_0277720C: ; // 0x277720c
|
|
/* 0277720C */ cpu->r[0] = 0x10100000u;
|
|
/* 02777210 */ cpu->r[11] = 0x00000001u;
|
|
/* 02777214 */ cpu->r[0] = cpu->r[0] + 0x00002A30u;
|
|
/* 02777218 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02777218 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0277721C */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 0277721C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02777220: ; // 0x2777220
|
|
/* 02777220 */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 02777224 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 02777228 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0277722C: ; // 0x277722c
|
|
/* 0277722C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02777230 */ return;
|
|
}
|
|
|
|
// fn_02777238 @ 0x2777238
|
|
void Gambit_fn_02777238(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02777238: ; // 0x2777238
|
|
/* 02777238 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02777238 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02777238 */ cpu->r[1] = _t0;
|
|
/* 0277723C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277723C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02777240 */ cpu->r[31] = cpu->r[3];
|
|
/* 02777240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02777244 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02777244 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02777248 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777248 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02777248 */ if (_t4) goto L_0277724C; else goto L_0277725C;
|
|
L_0277724C: ; // 0x277724c
|
|
/* 0277724C */ cpu->r[3] = 0x00000100u;
|
|
/* 02777250 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777254 */ cpu->r[31] = cpu->r[3];
|
|
/* 02777254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02777258 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777258 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02777258 */ if (_t6) goto L_0277727C; else goto L_0277725C;
|
|
L_0277725C: ; // 0x277725c
|
|
/* 0277725C */ cpu->r[3] = cpu->r[31];
|
|
/* 02777260 */ Gambit_fn_02774F64(cpu);
|
|
/* 02777264 */ cpu->r[0] = 0x10100000u;
|
|
/* 02777268 */ cpu->r[11] = 0x00000002u;
|
|
/* 0277726C */ cpu->r[0] = cpu->r[0] + 0x00002D8Cu;
|
|
/* 02777270 */ _t7 = cpu->r[31] + 0x00000088u;
|
|
/* 02777270 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02777274 */ _t8 = cpu->r[31] + 0x00000088u;
|
|
/* 02777274 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02777278 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02777278 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_0277727C: ; // 0x277727c
|
|
/* 0277727C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277727C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02777280 */ cpu->r[3] = cpu->r[31];
|
|
/* 02777284 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02777288 */ cpu->lr = cpu->r[0];
|
|
/* 0277728C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02777290 */ return;
|
|
}
|
|
|
|
// fn_02777294 @ 0x2777294
|
|
void Gambit_fn_02777294(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02777294: ; // 0x2777294
|
|
/* 02777294 */ cpu->r[3] = cpu->r[4];
|
|
/* 02777298 */ cpu->r[4] = 0x10100000u;
|
|
/* 0277729C */ cpu->r[4] = cpu->r[4] + 0x00002D44u;
|
|
/* 027772A0 */ _t0 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027772A0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027772A0 */ if (_t1) goto L_027772A4; // else: addr-0 trap, fall-through
|
|
L_027772A4: ; // 0x27772a4
|
|
/* 027772A4 */ goto L_0282A5F4;
|
|
L_0282A5F4: ; // 0x282a5f4
|
|
/* 0282A5F4 */ cpu->r[0] = cpu->lr;
|
|
/* 0282A5F8 */ _t2 = cpu->r[1] + 0x00000004u;
|
|
/* 0282A5F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0282A5FC */ _t3 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 0282A5FC */ rbrew_write32(cpu->mem, _t3, cpu->r[1]);
|
|
/* 0282A5FC */ cpu->r[1] = _t3;
|
|
/* 0282A600 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0282A600 */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 0282A604 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0282A604 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
|
|
/* 0282A608 */ _t6 = cpu->r[1] + 0x00000030u;
|
|
/* 0282A608 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0282A60C */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 0282A60C */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 0282A610 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 0282A610 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 0282A614 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 0282A614 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 0282A618 */ _t10 = cpu->r[1] + 0x00000034u;
|
|
/* 0282A618 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0282A61C */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 0282A61C */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 0282A620 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0282A620 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0282A620 */ if (_t13) goto L_0282A624; else goto L_0282A644;
|
|
L_0282A624: ; // 0x282a624
|
|
/* 0282A624 */ _t14 = cpu->r[1] + 0x00000048u;
|
|
/* 0282A624 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[3]);
|
|
/* 0282A628 */ _t15 = cpu->r[1] + 0x00000068u;
|
|
/* 0282A628 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[7]);
|
|
/* 0282A62C */ _t16 = cpu->r[1] + 0x00000060u;
|
|
/* 0282A62C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[6]);
|
|
/* 0282A630 */ _t17 = cpu->r[1] + 0x00000040u;
|
|
/* 0282A630 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[2]);
|
|
/* 0282A634 */ _t18 = cpu->r[1] + 0x00000050u;
|
|
/* 0282A634 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[4]);
|
|
/* 0282A638 */ _t19 = cpu->r[1] + 0x00000070u;
|
|
/* 0282A638 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[8]);
|
|
/* 0282A63C */ _t20 = cpu->r[1] + 0x00000058u;
|
|
/* 0282A63C */ rbrew_write_f64(cpu->mem, _t20, cpu->f[5]);
|
|
/* 0282A640 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 0282A640 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[1]);
|
|
L_0282A644: ; // 0x282a644
|
|
/* 0282A644 */ cpu->r[11] = cpu->r[1] + 0x00000080u;
|
|
/* 0282A648 */ cpu->r[10] = cpu->r[1] + 0x00000018u;
|
|
/* 0282A64C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0282A64C */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0282A650 */ cpu->r[12] = 0x00000002u;
|
|
/* 0282A654 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0282A654 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 0282A658 */ cpu->r[0] = 0x00000000u;
|
|
/* 0282A65C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0282A65C */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]);
|
|
/* 0282A660 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0282A664 */ _t25 = cpu->r[1] + 0x00000009u;
|
|
/* 0282A664 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 0282A668 */ Gambit_fn_0282A5DC(cpu);
|
|
/* 0282A66C */ _t26 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0282A66C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0282A670 */ cpu->lr = cpu->r[0];
|
|
/* 0282A674 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 0282A678 */ return;
|
|
}
|
|
|
|
// fn_027772A8 @ 0x27772a8
|
|
void Gambit_fn_027772A8(CPUState* cpu) {
|
|
uint32_t _t0, _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_027772A8: ; // 0x27772a8
|
|
/* 027772A8 */ cpu->r[0] = cpu->lr;
|
|
/* 027772AC */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 027772AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027772AC */ cpu->r[1] = _t0;
|
|
/* 027772B0 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 027772B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027772B4 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 027772B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027772B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027772BC */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027772BC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027772C0 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027772C4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027772C8 */ cpu->r[5] = 0x00000000u;
|
|
/* 027772CC */ _t4 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027772CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027772D0 */ cpu->r[29] = 0x10100000u;
|
|
/* 027772D4 */ cpu->r[31] = 0x10100000u;
|
|
/* 027772D8 */ cpu->r[29] = cpu->r[29] + 0x00002CF0u;
|
|
/* 027772DC */ cpu->r[31] = cpu->r[31] + 0x00002D58u;
|
|
/* 027772E0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027772E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 027772E4 */ cpu->r[6] = cpu->r[5];
|
|
/* 027772E8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027772E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 027772EC */ Gambit_fn_027C6980(cpu);
|
|
/* 027772F0 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027772F4 */ Gambit_fn_02982574(cpu);
|
|
/* 027772F8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027772FC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02777300 */ _t7 = cpu->r[10] + 0xFFFF97D4u;
|
|
/* 02777300 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02777304 */ _t8 = cpu->r[12] + 0xFFFF97D0u;
|
|
/* 02777304 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02777308 */ _t9 = cpu->r[1] + 0x00000030u;
|
|
/* 02777308 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0277730C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02777310 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 02777310 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02777314 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02777318 */ _t11 = cpu->r[11] + 0xFFFF97D8u;
|
|
/* 02777318 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0277731C */ _t12 = cpu->r[12] + 0xFFFF97D9u;
|
|
/* 0277731C */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02777320 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 02777320 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[11]);
|
|
/* 02777324 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02777328 */ _t14 = cpu->r[1] + 0x00000035u;
|
|
/* 02777328 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 0277732C */ Gambit_fn_02984F3C(cpu);
|
|
/* 02777330 */ cpu->r[0] = 0x00000006u;
|
|
/* 02777334 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02777334 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 02777338 */ cpu->r[8] = 0x00000000u;
|
|
/* 0277733C */ _t16 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0277733C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02777340 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02777344 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02777344 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02777348 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 0277734C */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02777350 */ _t18 = cpu->r[1] + 0x00000044u;
|
|
/* 02777350 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02777354 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02777358 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277735C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0277735C */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02777360 */ Gambit_fn_023C9758(cpu);
|
|
/* 02777364 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 02777364 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 02777368 */ _t21 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02777368 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0277736C */ _t22 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0277736C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02777370 */ _t23 = cpu->r[1] + 0x00000054u;
|
|
/* 02777370 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02777374 */ cpu->lr = cpu->r[0];
|
|
/* 02777378 */ _t24 = cpu->r[1] + 0x00000050u;
|
|
/* 02777378 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0277737C */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02777380 */ return;
|
|
}
|
|
|
|
// fn_027772AC @ 0x27772ac
|
|
void Gambit_fn_027772AC(CPUState* cpu) {
|
|
uint32_t _t0, _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_027772AC: ; // 0x27772ac
|
|
/* 027772AC */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 027772AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027772AC */ cpu->r[1] = _t0;
|
|
/* 027772B0 */ _t1 = cpu->r[1] + 0x00000050u;
|
|
/* 027772B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027772B4 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 027772B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027772B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 027772BC */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 027772BC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 027772C0 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027772C4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027772C8 */ cpu->r[5] = 0x00000000u;
|
|
/* 027772CC */ _t4 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027772CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027772D0 */ cpu->r[29] = 0x10100000u;
|
|
/* 027772D4 */ cpu->r[31] = 0x10100000u;
|
|
/* 027772D8 */ cpu->r[29] = cpu->r[29] + 0x00002CF0u;
|
|
/* 027772DC */ cpu->r[31] = cpu->r[31] + 0x00002D58u;
|
|
/* 027772E0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027772E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 027772E4 */ cpu->r[6] = cpu->r[5];
|
|
/* 027772E8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027772E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 027772EC */ Gambit_fn_027C6980(cpu);
|
|
/* 027772F0 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027772F4 */ Gambit_fn_02982574(cpu);
|
|
/* 027772F8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027772FC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02777300 */ _t7 = cpu->r[10] + 0xFFFF97D4u;
|
|
/* 02777300 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02777304 */ _t8 = cpu->r[12] + 0xFFFF97D0u;
|
|
/* 02777304 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02777308 */ _t9 = cpu->r[1] + 0x00000030u;
|
|
/* 02777308 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0277730C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02777310 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 02777310 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02777314 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02777318 */ _t11 = cpu->r[11] + 0xFFFF97D8u;
|
|
/* 02777318 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0277731C */ _t12 = cpu->r[12] + 0xFFFF97D9u;
|
|
/* 0277731C */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02777320 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 02777320 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[11]);
|
|
/* 02777324 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02777328 */ _t14 = cpu->r[1] + 0x00000035u;
|
|
/* 02777328 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 0277732C */ Gambit_fn_02984F3C(cpu);
|
|
/* 02777330 */ cpu->r[0] = 0x00000006u;
|
|
/* 02777334 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02777334 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 02777338 */ cpu->r[8] = 0x00000000u;
|
|
/* 0277733C */ _t16 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0277733C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02777340 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02777344 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02777344 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02777348 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 0277734C */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02777350 */ _t18 = cpu->r[1] + 0x00000044u;
|
|
/* 02777350 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02777354 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02777358 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277735C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0277735C */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02777360 */ Gambit_fn_023C9758(cpu);
|
|
/* 02777364 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 02777364 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 02777368 */ _t21 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02777368 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0277736C */ _t22 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0277736C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02777370 */ _t23 = cpu->r[1] + 0x00000054u;
|
|
/* 02777370 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02777374 */ cpu->lr = cpu->r[0];
|
|
/* 02777378 */ _t24 = cpu->r[1] + 0x00000050u;
|
|
/* 02777378 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0277737C */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02777380 */ return;
|
|
}
|
|
|
|
// fn_02777384 @ 0x2777384
|
|
void Gambit_fn_02777384(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02777384: ; // 0x2777384
|
|
/* 02777384 */ cpu->r[0] = cpu->lr;
|
|
/* 02777388 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02777388 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02777388 */ cpu->r[1] = _t0;
|
|
/* 0277738C */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 0277738C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02777390 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02777390 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02777394 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02777394 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02777398 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02777398 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0277739C */ cpu->r[30] = cpu->r[3];
|
|
/* 027773A0 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027773A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027773A4 */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 027773A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027773A8 */ cpu->r[29] = 0x10100000u;
|
|
/* 027773AC */ cpu->r[28] = 0x10100000u;
|
|
/* 027773B0 */ cpu->r[29] = cpu->r[29] + 0x00002CF0u;
|
|
/* 027773B4 */ cpu->r[28] = cpu->r[28] + 0x00002D78u;
|
|
/* 027773B8 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 027773B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 027773BC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027773BC */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 027773C0 */ _t9 = cpu->r[11] + 0x000000A4u;
|
|
/* 027773C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027773C4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027773C8 */ Gambit_fn_02983BC4(cpu);
|
|
/* 027773CC */ /* nop */
|
|
/* 027773D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 027773D4 */ cpu->r[11] = 0x00000000u;
|
|
/* 027773D8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027773D8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027773D8 */ if (_t11) goto L_027773EC; else goto L_027773DC;
|
|
L_027773DC: ; // 0x27773dc
|
|
/* 027773DC */ /* nop */
|
|
/* 027773E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 027773E4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027773E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027773E4 */ if (_t13) goto L_027773EC; else goto L_027773E8;
|
|
L_027773E8: ; // 0x27773e8
|
|
/* 027773E8 */ cpu->r[11] = 0x00000001u;
|
|
L_027773EC: ; // 0x27773ec
|
|
/* 027773EC */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027773EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027773F0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027773F0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027773F0 */ if (_t15) goto L_027774A4; else goto L_027773F4;
|
|
L_027773F4: ; // 0x27773f4
|
|
/* 027773F4 */ cpu->r[10] = 0x10100000u;
|
|
/* 027773F8 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 027773F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027773FC */ _t17 = cpu->r[10] + 0x00002D6Cu;
|
|
/* 027773FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02777400 */ _t18 = cpu->r[30] + 0x000000E0u;
|
|
/* 02777400 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02777404 */ _t19 = cpu->r[11] + 0x000000A4u;
|
|
/* 02777404 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02777408 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277740C */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 0277740C */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 02777410 */ cpu->r[3] = cpu->r[31];
|
|
/* 02777414 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02777414 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02777418 */ Gambit_fn_02983BC4(cpu);
|
|
/* 0277741C */ cpu->r[4] = 0x00000000u;
|
|
/* 02777420 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02777420 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02777424 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02777428 */ cpu->r[6] = cpu->r[4];
|
|
/* 0277742C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277742C */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 02777430 */ cpu->r[3] = cpu->r[31];
|
|
/* 02777434 */ Gambit_fn_02983954(cpu);
|
|
/* 02777438 */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 02777438 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0277743C */ _t25 = cpu->r[11] + 0x000000A4u;
|
|
/* 0277743C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02777440 */ _t26 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02777440 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02777444 */ _t27 = cpu->r[9] + 0x00000000u;
|
|
/* 02777444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02777448 */ /* nop */
|
|
/* 0277744C */ _t28 = cpu->r[10] + 0x00000038u;
|
|
/* 0277744C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02777450 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02777454 */ _t29 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02777454 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02777458 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02777458 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02777458 */ if (_t31) goto L_0277745C; else goto L_02777468;
|
|
L_0277745C: ; // 0x277745c
|
|
/* 0277745C */ /* nop */
|
|
/* 02777460 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02777464 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_02777468: ; // 0x2777468
|
|
/* 02777468 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 02777468 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0277746C */ _t33 = cpu->r[10] + 0x00000000u;
|
|
/* 0277746C */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02777470 */ cpu->r[12] = 0x43300000u;
|
|
/* 02777474 */ _t34 = cpu->r[10] + 0x00000010u;
|
|
/* 02777474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02777478 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02777478 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 0277747C */ cpu->r[12] = 0x10100000u;
|
|
/* 02777480 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02777484 */ _t36 = cpu->r[12] + 0x00002D70u;
|
|
/* 02777484 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 02777488 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02777488 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 0277748C */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 0277748C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 02777490 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02777494 */ cpu->r[0] = 0x00000001u;
|
|
/* 02777498 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 0277749C */ _t39 = cpu->r[30] + 0x000000ECu;
|
|
/* 0277749C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 027774A0 */ _t40 = cpu->r[30] + 0x000000E8u;
|
|
/* 027774A0 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
L_027774A4: ; // 0x27774a4
|
|
/* 027774A4 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 027774A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027774A8 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027774A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027774AC */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027774AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027774B0 */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 027774B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027774B4 */ cpu->lr = cpu->r[0];
|
|
/* 027774B8 */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 027774B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027774BC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027774C0 */ return;
|
|
}
|
|
|
|
// fn_02777388 @ 0x2777388
|
|
void Gambit_fn_02777388(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02777388: ; // 0x2777388
|
|
/* 02777388 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02777388 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02777388 */ cpu->r[1] = _t0;
|
|
/* 0277738C */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 0277738C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02777390 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02777390 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02777394 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02777394 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02777398 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02777398 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0277739C */ cpu->r[30] = cpu->r[3];
|
|
/* 027773A0 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027773A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027773A4 */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 027773A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027773A8 */ cpu->r[29] = 0x10100000u;
|
|
/* 027773AC */ cpu->r[28] = 0x10100000u;
|
|
/* 027773B0 */ cpu->r[29] = cpu->r[29] + 0x00002CF0u;
|
|
/* 027773B4 */ cpu->r[28] = cpu->r[28] + 0x00002D78u;
|
|
/* 027773B8 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 027773B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 027773BC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027773BC */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 027773C0 */ _t9 = cpu->r[11] + 0x000000A4u;
|
|
/* 027773C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027773C4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027773C8 */ Gambit_fn_02983BC4(cpu);
|
|
/* 027773CC */ /* nop */
|
|
/* 027773D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 027773D4 */ cpu->r[11] = 0x00000000u;
|
|
/* 027773D8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027773D8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027773D8 */ if (_t11) goto L_027773EC; else goto L_027773DC;
|
|
L_027773DC: ; // 0x27773dc
|
|
/* 027773DC */ /* nop */
|
|
/* 027773E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 027773E4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027773E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027773E4 */ if (_t13) goto L_027773EC; else goto L_027773E8;
|
|
L_027773E8: ; // 0x27773e8
|
|
/* 027773E8 */ cpu->r[11] = 0x00000001u;
|
|
L_027773EC: ; // 0x27773ec
|
|
/* 027773EC */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027773EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 027773F0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027773F0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027773F0 */ if (_t15) goto L_027774A4; else goto L_027773F4;
|
|
L_027773F4: ; // 0x27773f4
|
|
/* 027773F4 */ cpu->r[10] = 0x10100000u;
|
|
/* 027773F8 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 027773F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027773FC */ _t17 = cpu->r[10] + 0x00002D6Cu;
|
|
/* 027773FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02777400 */ _t18 = cpu->r[30] + 0x000000E0u;
|
|
/* 02777400 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02777404 */ _t19 = cpu->r[11] + 0x000000A4u;
|
|
/* 02777404 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02777408 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277740C */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 0277740C */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 02777410 */ cpu->r[3] = cpu->r[31];
|
|
/* 02777414 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02777414 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02777418 */ Gambit_fn_02983BC4(cpu);
|
|
/* 0277741C */ cpu->r[4] = 0x00000000u;
|
|
/* 02777420 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02777420 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02777424 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02777428 */ cpu->r[6] = cpu->r[4];
|
|
/* 0277742C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277742C */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 02777430 */ cpu->r[3] = cpu->r[31];
|
|
/* 02777434 */ Gambit_fn_02983954(cpu);
|
|
/* 02777438 */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 02777438 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0277743C */ _t25 = cpu->r[11] + 0x000000A4u;
|
|
/* 0277743C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02777440 */ _t26 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02777440 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02777444 */ _t27 = cpu->r[9] + 0x00000000u;
|
|
/* 02777444 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02777448 */ /* nop */
|
|
/* 0277744C */ _t28 = cpu->r[10] + 0x00000038u;
|
|
/* 0277744C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02777450 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02777454 */ _t29 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02777454 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02777458 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02777458 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02777458 */ if (_t31) goto L_0277745C; else goto L_02777468;
|
|
L_0277745C: ; // 0x277745c
|
|
/* 0277745C */ /* nop */
|
|
/* 02777460 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02777464 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_02777468: ; // 0x2777468
|
|
/* 02777468 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 02777468 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0277746C */ _t33 = cpu->r[10] + 0x00000000u;
|
|
/* 0277746C */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02777470 */ cpu->r[12] = 0x43300000u;
|
|
/* 02777474 */ _t34 = cpu->r[10] + 0x00000010u;
|
|
/* 02777474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02777478 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02777478 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 0277747C */ cpu->r[12] = 0x10100000u;
|
|
/* 02777480 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02777484 */ _t36 = cpu->r[12] + 0x00002D70u;
|
|
/* 02777484 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 02777488 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02777488 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 0277748C */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 0277748C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 02777490 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02777494 */ cpu->r[0] = 0x00000001u;
|
|
/* 02777498 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 0277749C */ _t39 = cpu->r[30] + 0x000000ECu;
|
|
/* 0277749C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 027774A0 */ _t40 = cpu->r[30] + 0x000000E8u;
|
|
/* 027774A0 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
L_027774A4: ; // 0x27774a4
|
|
/* 027774A4 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 027774A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 027774A8 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027774A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027774AC */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027774AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 027774B0 */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 027774B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027774B4 */ cpu->lr = cpu->r[0];
|
|
/* 027774B8 */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 027774B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027774BC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 027774C0 */ return;
|
|
}
|
|
|
|
// fn_027774C4 @ 0x27774c4
|
|
void Gambit_fn_027774C4(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_027774C4: ; // 0x27774c4
|
|
/* 027774C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027774C8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027774C8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 027774C8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027774C8 */ goto L_027774CC;
|
|
L_027774CC: ; // 0x27774cc
|
|
/* 027774CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027774CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027774D0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027774D0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027774D0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027774D0 */ goto L_027774D4;
|
|
L_027774D4: ; // 0x27774d4
|
|
/* 027774D4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_027774D8 @ 0x27774d8
|
|
void Gambit_fn_027774D8(CPUState* cpu) {
|
|
L_027774D8: ; // 0x27774d8
|
|
/* 027774D8 */ return;
|
|
}
|
|
|
|
// fn_027774DC @ 0x27774dc
|
|
void Gambit_fn_027774DC(CPUState* cpu) {
|
|
L_027774DC: ; // 0x27774dc
|
|
/* 027774DC */ return;
|
|
}
|
|
|
|
// fn_027774E0 @ 0x27774e0
|
|
void Gambit_fn_027774E0(CPUState* cpu) {
|
|
L_027774E0: ; // 0x27774e0
|
|
/* 027774E0 */ return;
|
|
}
|
|
|
|
// fn_027774E4 @ 0x27774e4
|
|
void Gambit_fn_027774E4(CPUState* cpu) {
|
|
L_027774E4: ; // 0x27774e4
|
|
/* 027774E4 */ return;
|
|
}
|
|
|
|
// fn_027774E8 @ 0x27774e8
|
|
void Gambit_fn_027774E8(CPUState* cpu) {
|
|
L_027774E8: ; // 0x27774e8
|
|
/* 027774E8 */ return;
|
|
}
|
|
|
|
// fn_027774EC @ 0x27774ec
|
|
void Gambit_fn_027774EC(CPUState* cpu) {
|
|
L_027774EC: ; // 0x27774ec
|
|
/* 027774EC */ return;
|
|
}
|
|
|
|
// fn_027774F0 @ 0x27774f0
|
|
void Gambit_fn_027774F0(CPUState* cpu) {
|
|
L_027774F0: ; // 0x27774f0
|
|
/* 027774F0 */ return;
|
|
}
|
|
|
|
// fn_027774F4 @ 0x27774f4
|
|
void Gambit_fn_027774F4(CPUState* cpu) {
|
|
L_027774F4: ; // 0x27774f4
|
|
/* 027774F4 */ return;
|
|
}
|
|
|
|
// fn_027774F8 @ 0x27774f8
|
|
void Gambit_fn_027774F8(CPUState* cpu) {
|
|
L_027774F8: ; // 0x27774f8
|
|
/* 027774F8 */ return;
|
|
}
|
|
|
|
// fn_027774FC @ 0x27774fc
|
|
void Gambit_fn_027774FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027774FC: ; // 0x27774fc
|
|
/* 027774FC */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 027774FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02777504 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777504 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02777504 */ if (_t2) goto L_02777510; else goto L_02777508;
|
|
L_02777508: ; // 0x2777508
|
|
/* 02777508 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 0277750C */ return;
|
|
L_02777510: ; // 0x2777510
|
|
/* 02777510 */ cpu->r[3] = 0x00000000u;
|
|
/* 02777514 */ return;
|
|
}
|
|
|
|
// fn_02777518 @ 0x2777518
|
|
void Gambit_fn_02777518(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02777518: ; // 0x2777518
|
|
/* 02777518 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02777518 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277751C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02777520 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777520 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02777520 */ if (_t2) goto L_0277752C; else goto L_02777524;
|
|
L_02777524: ; // 0x2777524
|
|
/* 02777524 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02777528 */ return;
|
|
L_0277752C: ; // 0x277752c
|
|
/* 0277752C */ cpu->r[3] = 0x00000000u;
|
|
/* 02777530 */ return;
|
|
}
|
|
|
|
// fn_02777534 @ 0x2777534
|
|
void Gambit_fn_02777534(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02777534: ; // 0x2777534
|
|
/* 02777534 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02777534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777538 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02777538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0277753C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277753C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277753C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0277753C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277753C */ goto L_02777540;
|
|
L_02777540: ; // 0x2777540
|
|
/* 02777540 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02777540 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02777544 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02777544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02777548 */ cpu->ctr = cpu->r[0];
|
|
/* 0277754C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777550 @ 0x2777550
|
|
void Gambit_fn_02777550(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02777550: ; // 0x2777550
|
|
/* 02777550 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02777550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777554 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02777554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02777558 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777558 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02777558 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02777558 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02777558 */ goto L_0277755C;
|
|
L_0277755C: ; // 0x277755c
|
|
/* 0277755C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0277755C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02777560 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02777560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02777564 */ cpu->ctr = cpu->r[0];
|
|
/* 02777568 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277756C @ 0x277756c
|
|
void Gambit_fn_0277756C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277756C: ; // 0x277756c
|
|
/* 0277756C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0277756C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777570 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02777570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02777574 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777574 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02777574 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02777574 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02777574 */ goto L_02777578;
|
|
L_02777578: ; // 0x2777578
|
|
/* 02777578 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02777578 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277757C */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 0277757C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02777580 */ cpu->ctr = cpu->r[0];
|
|
/* 02777584 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777588 @ 0x2777588
|
|
void Gambit_fn_02777588(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02777588: ; // 0x2777588
|
|
/* 02777588 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02777588 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277758C */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0277758C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02777590 */ cpu->ctr = cpu->r[0];
|
|
/* 02777594 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777598 @ 0x2777598
|
|
void Gambit_fn_02777598(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02777598: ; // 0x2777598
|
|
/* 02777598 */ cpu->r[0] = cpu->lr;
|
|
/* 0277759C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277759C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277759C */ cpu->r[1] = _t0;
|
|
/* 027775A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027775A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027775A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027775A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027775A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027775AC */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027775AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027775B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 027775B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027775B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027775B4 */ if (_t5) goto L_027775B8; else goto L_027775D4;
|
|
L_027775B8: ; // 0x27775b8
|
|
/* 027775B8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 027775B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027775BC */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 027775BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027775C0 */ cpu->ctr = cpu->r[0];
|
|
/* 027775C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027775C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027775CC */ cpu->r[0] = 0x00000002u;
|
|
/* 027775D0 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027775D0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_027775D4: ; // 0x27775d4
|
|
/* 027775D4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027775D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027775D8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027775D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027775DC */ cpu->lr = cpu->r[0];
|
|
/* 027775E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027775E4 */ return;
|
|
}
|
|
|
|
// fn_0277759C @ 0x277759c
|
|
void Gambit_fn_0277759C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277759C: ; // 0x277759c
|
|
/* 0277759C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277759C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277759C */ cpu->r[1] = _t0;
|
|
/* 027775A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027775A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027775A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027775A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027775A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027775AC */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027775AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027775B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 027775B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027775B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027775B4 */ if (_t5) goto L_027775B8; else goto L_027775D4;
|
|
L_027775B8: ; // 0x27775b8
|
|
/* 027775B8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 027775B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 027775BC */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 027775BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027775C0 */ cpu->ctr = cpu->r[0];
|
|
/* 027775C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027775C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027775CC */ cpu->r[0] = 0x00000002u;
|
|
/* 027775D0 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 027775D0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_027775D4: ; // 0x27775d4
|
|
/* 027775D4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 027775D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027775D8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027775D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027775DC */ cpu->lr = cpu->r[0];
|
|
/* 027775E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027775E4 */ return;
|
|
}
|
|
|
|
// fn_027775E8 @ 0x27775e8
|
|
void Gambit_fn_027775E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027775E8: ; // 0x27775e8
|
|
/* 027775E8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027775E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027775EC */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 027775EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027775F0 */ cpu->ctr = cpu->r[0];
|
|
/* 027775F4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_027775F8 @ 0x27775f8
|
|
void Gambit_fn_027775F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027775F8: ; // 0x27775f8
|
|
/* 027775F8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 027775F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027775FC */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 027775FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02777600 */ cpu->ctr = cpu->r[0];
|
|
/* 02777604 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777608 @ 0x2777608
|
|
void Gambit_fn_02777608(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02777608: ; // 0x2777608
|
|
/* 02777608 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02777608 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277760C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 0277760C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02777610 */ cpu->ctr = cpu->r[0];
|
|
/* 02777614 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777618 @ 0x2777618
|
|
void Gambit_fn_02777618(CPUState* cpu) {
|
|
L_02777618: ; // 0x2777618
|
|
/* 02777618 */ cpu->r[3] = 0x00000001u;
|
|
/* 0277761C */ return;
|
|
}
|
|
|
|
// fn_02777620 @ 0x2777620
|
|
void Gambit_fn_02777620(CPUState* cpu) {
|
|
L_02777620: ; // 0x2777620
|
|
/* 02777620 */ return;
|
|
}
|
|
|
|
// fn_02777624 @ 0x2777624
|
|
void Gambit_fn_02777624(CPUState* cpu) {
|
|
L_02777624: ; // 0x2777624
|
|
/* 02777624 */ return;
|
|
}
|
|
|
|
// fn_02777628 @ 0x2777628
|
|
void Gambit_fn_02777628(CPUState* cpu) {
|
|
L_02777628: ; // 0x2777628
|
|
/* 02777628 */ return;
|
|
}
|
|
|
|
// fn_0277762C @ 0x277762c
|
|
void Gambit_fn_0277762C(CPUState* cpu) {
|
|
L_0277762C: ; // 0x277762c
|
|
/* 0277762C */ return;
|
|
}
|
|
|
|
// fn_02777630 @ 0x2777630
|
|
void Gambit_fn_02777630(CPUState* cpu) {
|
|
L_02777630: ; // 0x2777630
|
|
/* 02777630 */ return;
|
|
}
|
|
|
|
// fn_02777634 @ 0x2777634
|
|
void Gambit_fn_02777634(CPUState* cpu) {
|
|
L_02777634: ; // 0x2777634
|
|
/* 02777634 */ cpu->r[3] = 0x00000001u;
|
|
/* 02777638 */ return;
|
|
}
|
|
|
|
// fn_0277763C @ 0x277763c
|
|
void Gambit_fn_0277763C(CPUState* cpu) {
|
|
L_0277763C: ; // 0x277763c
|
|
/* 0277763C */ cpu->r[3] = 0x00000000u;
|
|
/* 02777640 */ return;
|
|
}
|
|
|
|
// fn_02777644 @ 0x2777644
|
|
void Gambit_fn_02777644(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0276C380: ; // 0x276c380
|
|
/* 0276C380 */ cpu->r[0] = cpu->lr;
|
|
/* 0276C384 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0276C384 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0276C384 */ cpu->r[1] = _t0;
|
|
/* 0276C388 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0276C388 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0276C38C */ cpu->r[31] = cpu->r[3];
|
|
/* 0276C390 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0276C390 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0276C394 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0276C394 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0276C398 */ cpu->r[12] = 0x00000000u;
|
|
/* 0276C39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0276C3A0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0276C3A0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0276C3A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0276C3A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0276C3A4 */ if (_t6) goto L_0276C3CC; else goto L_0276C3A8;
|
|
L_0276C3A8: ; // 0x276c3a8
|
|
/* 0276C3A8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0276C3A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0276C3AC */ /* nop */
|
|
/* 0276C3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0276C3B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0276C3B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0276C3B4 */ if (_t9) goto L_0276C3B8; else goto L_0276C3CC;
|
|
L_0276C3B8: ; // 0x276c3b8
|
|
/* 0276C3B8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0276C3B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0276C3BC */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0276C3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0276C3C0 */ cpu->ctr = cpu->r[0];
|
|
/* 0276C3C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0276C3CC: ; // 0x276c3cc
|
|
/* 0276C3CC */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3D0 */ Gambit_fn_0276C2F8(cpu);
|
|
/* 0276C3D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3D8 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0276C3DC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0276C3DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0276C3E0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0276C3E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0276C3E4 */ cpu->lr = cpu->r[0];
|
|
/* 0276C3E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0276C3EC */ return;
|
|
L_02777644: ; // 0x2777644
|
|
/* 02777644 */ cpu->r[3] = cpu->r[3] + 0x00000050u;
|
|
/* 02777648 */ goto L_0276C380;
|
|
}
|
|
|
|
// fn_0277764C @ 0x277764c
|
|
void Gambit_fn_0277764C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277764C: ; // 0x277764c
|
|
/* 0277764C */ cpu->r[0] = cpu->lr;
|
|
/* 02777650 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02777650 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02777650 */ cpu->r[1] = _t0;
|
|
/* 02777654 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777654 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02777658 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277765C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277765C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02777660 */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 02777660 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02777664 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02777668 */ /* nop */
|
|
/* 0277766C */ Gambit_fn_027FC35C(cpu);
|
|
/* 02777670 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02777674 */ Gambit_fn_0276C270(cpu);
|
|
/* 02777678 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02777678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277767C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277767C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02777680 */ cpu->lr = cpu->r[0];
|
|
/* 02777684 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02777688 */ return;
|
|
}
|
|
|
|
// fn_02777650 @ 0x2777650
|
|
void Gambit_fn_02777650(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02777650: ; // 0x2777650
|
|
/* 02777650 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02777650 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02777650 */ cpu->r[1] = _t0;
|
|
/* 02777654 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777654 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02777658 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277765C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277765C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02777660 */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 02777660 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02777664 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02777668 */ /* nop */
|
|
/* 0277766C */ Gambit_fn_027FC35C(cpu);
|
|
/* 02777670 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02777674 */ Gambit_fn_0276C270(cpu);
|
|
/* 02777678 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02777678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277767C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277767C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02777680 */ cpu->lr = cpu->r[0];
|
|
/* 02777684 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02777688 */ return;
|
|
}
|
|
|
|
// fn_0277768C @ 0x277768c
|
|
void Gambit_fn_0277768C(CPUState* cpu) {
|
|
L_0277768C: ; // 0x277768c
|
|
/* 0277768C */ cpu->r[3] = 0x10100000u;
|
|
/* 02777690 */ cpu->r[3] = cpu->r[3] + 0x00002D38u;
|
|
/* 02777694 */ return;
|
|
}
|
|
|
|
// fn_02777698 @ 0x2777698
|
|
void Gambit_fn_02777698(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02777698: ; // 0x2777698
|
|
/* 02777698 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0277769C */ _t0 = cpu->r[9] + 0x00001300u;
|
|
/* 0277769C */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 027776A0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 027776A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027776A8 */ cpu->r[11] = cpu->r[11] + 0x00001354u;
|
|
/* 027776AC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027776AC */ _t2 = _t1 & 0x00000001u;
|
|
/* 027776AC */ if (_t2) goto L_027776B0; else goto L_027776C8;
|
|
L_027776B0: ; // 0x27776b0
|
|
/* 027776B0 */ cpu->r[9] = 0x10100000u;
|
|
/* 027776B4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027776B8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027776BC */ cpu->r[9] = cpu->r[9] + 0x00002D28u;
|
|
/* 027776C0 */ _t3 = cpu->r[12] + 0x00001300u;
|
|
/* 027776C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027776C4 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 027776C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_027776C8: ; // 0x27776c8
|
|
/* 027776C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 027776CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027776CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027776CC */ if (_t6) goto L_027776D0; else goto L_027776D8;
|
|
L_027776D0: ; // 0x27776d0
|
|
/* 027776D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 027776D4 */ return;
|
|
L_027776D8: ; // 0x27776d8
|
|
/* 027776D8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027776DC */ _t7 = cpu->r[12] + 0x000012DCu;
|
|
/* 027776DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027776E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027776E4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 027776E8 */ cpu->r[12] = cpu->r[12] + 0x00001348u;
|
|
/* 027776EC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027776EC */ _t9 = _t8 & 0x00000001u;
|
|
/* 027776EC */ if (_t9) goto L_027776F0; else goto L_02777708;
|
|
L_027776F0: ; // 0x27776f0
|
|
/* 027776F0 */ cpu->r[11] = 0x10100000u;
|
|
/* 027776F4 */ cpu->r[10] = 0x00000001u;
|
|
/* 027776F8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 027776FC */ cpu->r[11] = cpu->r[11] + 0x00002D18u;
|
|
/* 02777700 */ _t10 = cpu->r[9] + 0x000012DCu;
|
|
/* 02777700 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02777704 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02777704 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02777708: ; // 0x2777708
|
|
/* 02777708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0277770C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277770C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0277770C */ if (_t13) goto L_02777710; else goto L_02777718;
|
|
L_02777710: ; // 0x2777710
|
|
/* 02777710 */ cpu->r[0] = 0x00000001u;
|
|
/* 02777714 */ goto L_0277778C;
|
|
L_02777718: ; // 0x2777718
|
|
/* 02777718 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277771C */ _t14 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 0277771C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277771C */ cpu->r[10] = _t14;
|
|
/* 02777720 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02777724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02777728 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4ECu;
|
|
/* 0277772C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277772C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0277772C */ if (_t16) goto L_02777730; else goto L_02777744;
|
|
L_02777730: ; // 0x2777730
|
|
/* 02777730 */ cpu->r[9] = 0x10100000u;
|
|
/* 02777734 */ cpu->r[0] = 0x00000001u;
|
|
/* 02777738 */ cpu->r[9] = cpu->r[9] + 0x00002D08u;
|
|
/* 0277773C */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 0277773C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02777740 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02777740 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_02777744: ; // 0x2777744
|
|
/* 02777744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02777748 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777748 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02777748 */ if (_t20) goto L_0277774C; else goto L_02777754;
|
|
L_0277774C: ; // 0x277774c
|
|
/* 0277774C */ cpu->r[0] = 0x00000001u;
|
|
/* 02777750 */ goto L_0277778C;
|
|
L_02777754: ; // 0x2777754
|
|
/* 02777754 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02777758 */ _t21 = cpu->r[9] + 0xFFFFD4E0u;
|
|
/* 02777758 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02777758 */ cpu->r[9] = _t21;
|
|
/* 0277775C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02777760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02777764 */ cpu->r[12] = cpu->r[12] + 0xFFFFD4E4u;
|
|
/* 02777768 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777768 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02777768 */ if (_t23) goto L_0277776C; else goto L_02777780;
|
|
L_0277776C: ; // 0x277776c
|
|
/* 0277776C */ cpu->r[0] = 0x10100000u;
|
|
/* 02777770 */ cpu->r[11] = 0x00000001u;
|
|
/* 02777774 */ cpu->r[0] = cpu->r[0] + 0x00002CE0u;
|
|
/* 02777778 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02777778 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 0277777C */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 0277777C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02777780: ; // 0x2777780
|
|
/* 02777780 */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 02777784 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 02777788 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0277778C: ; // 0x277778c
|
|
/* 0277778C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02777790 */ return;
|
|
}
|
|
|
|
// fn_02777798 @ 0x2777798
|
|
void Gambit_fn_02777798(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02777798: ; // 0x2777798
|
|
/* 02777798 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02777798 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02777798 */ cpu->r[1] = _t0;
|
|
/* 0277779C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277779C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027777A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027777A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027777A4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 027777A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027777A8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027777A8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027777A8 */ if (_t4) goto L_027777AC; else goto L_027777BC;
|
|
L_027777AC: ; // 0x27777ac
|
|
/* 027777AC */ cpu->r[3] = 0x00000100u;
|
|
/* 027777B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027777B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027777B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027777B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027777B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027777B8 */ if (_t6) goto L_027777DC; else goto L_027777BC;
|
|
L_027777BC: ; // 0x27777bc
|
|
/* 027777BC */ cpu->r[3] = cpu->r[31];
|
|
/* 027777C0 */ Gambit_fn_02774F64(cpu);
|
|
/* 027777C4 */ cpu->r[0] = 0x10100000u;
|
|
/* 027777C8 */ cpu->r[11] = 0x00000000u;
|
|
/* 027777CC */ cpu->r[0] = cpu->r[0] + 0x0000305Cu;
|
|
/* 027777D0 */ _t7 = cpu->r[31] + 0x00000088u;
|
|
/* 027777D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 027777D4 */ _t8 = cpu->r[31] + 0x00000088u;
|
|
/* 027777D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027777D8 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 027777D8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_027777DC: ; // 0x27777dc
|
|
/* 027777DC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 027777DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027777E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 027777E4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027777E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 027777E8 */ cpu->lr = cpu->r[0];
|
|
/* 027777EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027777F0 */ return;
|
|
}
|
|
|
|
// fn_027777F4 @ 0x27777f4
|
|
void Gambit_fn_027777F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_027777F4: ; // 0x27777f4
|
|
/* 027777F4 */ cpu->r[3] = cpu->r[4];
|
|
/* 027777F8 */ cpu->r[4] = 0x10100000u;
|
|
/* 027777FC */ cpu->r[4] = cpu->r[4] + 0x00003004u;
|
|
/* 02777800 */ _t0 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02777800 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02777800 */ if (_t1) goto L_02777804; // else: addr-0 trap, fall-through
|
|
L_02777804: ; // 0x2777804
|
|
/* 02777804 */ goto L_0282A5F4;
|
|
L_0282A5F4: ; // 0x282a5f4
|
|
/* 0282A5F4 */ cpu->r[0] = cpu->lr;
|
|
/* 0282A5F8 */ _t2 = cpu->r[1] + 0x00000004u;
|
|
/* 0282A5F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0282A5FC */ _t3 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 0282A5FC */ rbrew_write32(cpu->mem, _t3, cpu->r[1]);
|
|
/* 0282A5FC */ cpu->r[1] = _t3;
|
|
/* 0282A600 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0282A600 */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 0282A604 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0282A604 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
|
|
/* 0282A608 */ _t6 = cpu->r[1] + 0x00000030u;
|
|
/* 0282A608 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0282A60C */ _t7 = cpu->r[1] + 0x00000020u;
|
|
/* 0282A60C */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 0282A610 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 0282A610 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 0282A614 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 0282A614 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 0282A618 */ _t10 = cpu->r[1] + 0x00000034u;
|
|
/* 0282A618 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0282A61C */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 0282A61C */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 0282A620 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0282A620 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0282A620 */ if (_t13) goto L_0282A624; else goto L_0282A644;
|
|
L_0282A624: ; // 0x282a624
|
|
/* 0282A624 */ _t14 = cpu->r[1] + 0x00000048u;
|
|
/* 0282A624 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[3]);
|
|
/* 0282A628 */ _t15 = cpu->r[1] + 0x00000068u;
|
|
/* 0282A628 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[7]);
|
|
/* 0282A62C */ _t16 = cpu->r[1] + 0x00000060u;
|
|
/* 0282A62C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[6]);
|
|
/* 0282A630 */ _t17 = cpu->r[1] + 0x00000040u;
|
|
/* 0282A630 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[2]);
|
|
/* 0282A634 */ _t18 = cpu->r[1] + 0x00000050u;
|
|
/* 0282A634 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[4]);
|
|
/* 0282A638 */ _t19 = cpu->r[1] + 0x00000070u;
|
|
/* 0282A638 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[8]);
|
|
/* 0282A63C */ _t20 = cpu->r[1] + 0x00000058u;
|
|
/* 0282A63C */ rbrew_write_f64(cpu->mem, _t20, cpu->f[5]);
|
|
/* 0282A640 */ _t21 = cpu->r[1] + 0x00000038u;
|
|
/* 0282A640 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[1]);
|
|
L_0282A644: ; // 0x282a644
|
|
/* 0282A644 */ cpu->r[11] = cpu->r[1] + 0x00000080u;
|
|
/* 0282A648 */ cpu->r[10] = cpu->r[1] + 0x00000018u;
|
|
/* 0282A64C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0282A64C */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0282A650 */ cpu->r[12] = 0x00000002u;
|
|
/* 0282A654 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0282A654 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 0282A658 */ cpu->r[0] = 0x00000000u;
|
|
/* 0282A65C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0282A65C */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]);
|
|
/* 0282A660 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0282A664 */ _t25 = cpu->r[1] + 0x00000009u;
|
|
/* 0282A664 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 0282A668 */ Gambit_fn_0282A5DC(cpu);
|
|
/* 0282A66C */ _t26 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0282A66C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0282A670 */ cpu->lr = cpu->r[0];
|
|
/* 0282A674 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 0282A678 */ return;
|
|
}
|
|
|
|
// fn_02777808 @ 0x2777808
|
|
void Gambit_fn_02777808(CPUState* cpu) {
|
|
uint32_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_02777808: ; // 0x2777808
|
|
/* 02777808 */ cpu->r[0] = cpu->lr;
|
|
/* 0277780C */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 0277780C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277780C */ cpu->r[1] = _t0;
|
|
/* 02777810 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02777810 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02777814 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 02777814 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02777818 */ cpu->r[30] = 0x10100000u;
|
|
/* 0277781C */ cpu->r[31] = cpu->r[3];
|
|
/* 02777820 */ cpu->r[30] = cpu->r[30] + 0x00002FB0u;
|
|
/* 02777824 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02777828 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277782C */ cpu->r[5] = 0x00000000u;
|
|
/* 02777830 */ _t3 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02777830 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02777834 */ cpu->r[0] = 0x10100000u;
|
|
/* 02777838 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02777838 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0277783C */ cpu->r[0] = cpu->r[0] + 0x00003028u;
|
|
/* 02777840 */ cpu->r[6] = cpu->r[5];
|
|
/* 02777844 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777844 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02777848 */ Gambit_fn_027C6980(cpu);
|
|
/* 0277784C */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02777850 */ Gambit_fn_02982574(cpu);
|
|
/* 02777854 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02777858 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0277785C */ _t6 = cpu->r[12] + 0xFFFF97D0u;
|
|
/* 0277785C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02777860 */ _t7 = cpu->r[11] + 0xFFFF97D8u;
|
|
/* 02777860 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02777864 */ _t8 = cpu->r[1] + 0x00000020u;
|
|
/* 02777864 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02777868 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277786C */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 0277786C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
/* 02777870 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02777874 */ _t10 = cpu->r[12] + 0xFFFF97D4u;
|
|
/* 02777874 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02777878 */ _t11 = cpu->r[11] + 0xFFFF97D9u;
|
|
/* 02777878 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0277787C */ _t12 = cpu->r[1] + 0x00000030u;
|
|
/* 0277787C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02777880 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02777884 */ _t13 = cpu->r[1] + 0x00000035u;
|
|
/* 02777884 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 02777888 */ Gambit_fn_02984F3C(cpu);
|
|
/* 0277788C */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 0277788C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02777890 */ cpu->r[0] = 0x00000006u;
|
|
/* 02777894 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02777898 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277789C */ _t15 = cpu->r[1] + 0x00000044u;
|
|
/* 0277789C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027778A0 */ cpu->r[8] = 0x00000000u;
|
|
/* 027778A4 */ cpu->r[12] = cpu->r[12] + 0x00003018u;
|
|
/* 027778A8 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027778A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027778AC */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 027778B0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027778B4 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027778B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 027778B8 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027778BC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 027778C0 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 027778C0 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 027778C4 */ Gambit_fn_023C9758(cpu);
|
|
/* 027778C8 */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 027778C8 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 027778CC */ _t20 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027778CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027778D0 */ _t21 = cpu->r[1] + 0x00000054u;
|
|
/* 027778D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027778D4 */ cpu->lr = cpu->r[0];
|
|
/* 027778D8 */ _t22 = cpu->r[1] + 0x00000050u;
|
|
/* 027778D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027778DC */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 027778E0 */ return;
|
|
}
|
|
|
|
// fn_0277780C @ 0x277780c
|
|
void Gambit_fn_0277780C(CPUState* cpu) {
|
|
uint32_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_0277780C: ; // 0x277780c
|
|
/* 0277780C */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 0277780C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277780C */ cpu->r[1] = _t0;
|
|
/* 02777810 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02777810 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02777814 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 02777814 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02777818 */ cpu->r[30] = 0x10100000u;
|
|
/* 0277781C */ cpu->r[31] = cpu->r[3];
|
|
/* 02777820 */ cpu->r[30] = cpu->r[30] + 0x00002FB0u;
|
|
/* 02777824 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02777828 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277782C */ cpu->r[5] = 0x00000000u;
|
|
/* 02777830 */ _t3 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02777830 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02777834 */ cpu->r[0] = 0x10100000u;
|
|
/* 02777838 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02777838 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0277783C */ cpu->r[0] = cpu->r[0] + 0x00003028u;
|
|
/* 02777840 */ cpu->r[6] = cpu->r[5];
|
|
/* 02777844 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777844 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02777848 */ Gambit_fn_027C6980(cpu);
|
|
/* 0277784C */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02777850 */ Gambit_fn_02982574(cpu);
|
|
/* 02777854 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02777858 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0277785C */ _t6 = cpu->r[12] + 0xFFFF97D0u;
|
|
/* 0277785C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02777860 */ _t7 = cpu->r[11] + 0xFFFF97D8u;
|
|
/* 02777860 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02777864 */ _t8 = cpu->r[1] + 0x00000020u;
|
|
/* 02777864 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02777868 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277786C */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 0277786C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[0]);
|
|
/* 02777870 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02777874 */ _t10 = cpu->r[12] + 0xFFFF97D4u;
|
|
/* 02777874 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02777878 */ _t11 = cpu->r[11] + 0xFFFF97D9u;
|
|
/* 02777878 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0277787C */ _t12 = cpu->r[1] + 0x00000030u;
|
|
/* 0277787C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02777880 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02777884 */ _t13 = cpu->r[1] + 0x00000035u;
|
|
/* 02777884 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 02777888 */ Gambit_fn_02984F3C(cpu);
|
|
/* 0277788C */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 0277788C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02777890 */ cpu->r[0] = 0x00000006u;
|
|
/* 02777894 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02777898 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277789C */ _t15 = cpu->r[1] + 0x00000044u;
|
|
/* 0277789C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 027778A0 */ cpu->r[8] = 0x00000000u;
|
|
/* 027778A4 */ cpu->r[12] = cpu->r[12] + 0x00003018u;
|
|
/* 027778A8 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 027778A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027778AC */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 027778B0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027778B4 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 027778B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 027778B8 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 027778BC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 027778C0 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 027778C0 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 027778C4 */ Gambit_fn_023C9758(cpu);
|
|
/* 027778C8 */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 027778C8 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 027778CC */ _t20 = cpu->r[1] + 0x0000005Cu;
|
|
/* 027778CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 027778D0 */ _t21 = cpu->r[1] + 0x00000054u;
|
|
/* 027778D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 027778D4 */ cpu->lr = cpu->r[0];
|
|
/* 027778D8 */ _t22 = cpu->r[1] + 0x00000050u;
|
|
/* 027778D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027778DC */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 027778E0 */ return;
|
|
}
|
|
|
|
// fn_027778E4 @ 0x27778e4
|
|
void Gambit_fn_027778E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_027778E4: ; // 0x27778e4
|
|
/* 027778E4 */ cpu->r[0] = cpu->lr;
|
|
/* 027778E8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027778E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027778E8 */ cpu->r[1] = _t0;
|
|
/* 027778EC */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 027778EC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027778F0 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027778F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027778F4 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 027778F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027778F8 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 027778F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027778FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02777900 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02777900 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02777904 */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 02777904 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02777908 */ cpu->r[29] = 0x10100000u;
|
|
/* 0277790C */ cpu->r[28] = 0x10100000u;
|
|
/* 02777910 */ cpu->r[29] = cpu->r[29] + 0x00002FB0u;
|
|
/* 02777914 */ cpu->r[28] = cpu->r[28] + 0x00003048u;
|
|
/* 02777918 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02777918 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0277791C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277791C */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 02777920 */ _t9 = cpu->r[11] + 0x000000A4u;
|
|
/* 02777920 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02777924 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777928 */ Gambit_fn_02983BC4(cpu);
|
|
/* 0277792C */ /* nop */
|
|
/* 02777930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02777934 */ cpu->r[11] = 0x00000000u;
|
|
/* 02777938 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777938 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02777938 */ if (_t11) goto L_0277794C; else goto L_0277793C;
|
|
L_0277793C: ; // 0x277793c
|
|
/* 0277793C */ /* nop */
|
|
/* 02777940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 02777944 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777944 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02777944 */ if (_t13) goto L_0277794C; else goto L_02777948;
|
|
L_02777948: ; // 0x2777948
|
|
/* 02777948 */ cpu->r[11] = 0x00000001u;
|
|
L_0277794C: ; // 0x277794c
|
|
/* 0277794C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277794C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02777950 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777950 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02777950 */ if (_t15) goto L_02777A04; else goto L_02777954;
|
|
L_02777954: ; // 0x2777954
|
|
/* 02777954 */ cpu->r[10] = 0x10100000u;
|
|
/* 02777958 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 02777958 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277795C */ _t17 = cpu->r[10] + 0x0000303Cu;
|
|
/* 0277795C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02777960 */ _t18 = cpu->r[30] + 0x000000E0u;
|
|
/* 02777960 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02777964 */ _t19 = cpu->r[11] + 0x000000A4u;
|
|
/* 02777964 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02777968 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277796C */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 0277796C */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 02777970 */ cpu->r[3] = cpu->r[31];
|
|
/* 02777974 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02777974 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02777978 */ Gambit_fn_02983BC4(cpu);
|
|
/* 0277797C */ cpu->r[4] = 0x00000000u;
|
|
/* 02777980 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02777980 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02777984 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02777988 */ cpu->r[6] = cpu->r[4];
|
|
/* 0277798C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277798C */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 02777990 */ cpu->r[3] = cpu->r[31];
|
|
/* 02777994 */ Gambit_fn_02983954(cpu);
|
|
/* 02777998 */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 02777998 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0277799C */ _t25 = cpu->r[11] + 0x000000A4u;
|
|
/* 0277799C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027779A0 */ _t26 = cpu->r[10] + 0x0000002Cu;
|
|
/* 027779A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027779A4 */ _t27 = cpu->r[9] + 0x00000000u;
|
|
/* 027779A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027779A8 */ /* nop */
|
|
/* 027779AC */ _t28 = cpu->r[10] + 0x00000038u;
|
|
/* 027779AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027779B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 027779B4 */ _t29 = cpu->r[10] + 0x0000003Cu;
|
|
/* 027779B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027779B8 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027779B8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027779B8 */ if (_t31) goto L_027779BC; else goto L_027779C8;
|
|
L_027779BC: ; // 0x27779bc
|
|
/* 027779BC */ /* nop */
|
|
/* 027779C0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 027779C4 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_027779C8: ; // 0x27779c8
|
|
/* 027779C8 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 027779C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027779CC */ _t33 = cpu->r[10] + 0x00000000u;
|
|
/* 027779CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027779D0 */ cpu->r[12] = 0x43300000u;
|
|
/* 027779D4 */ _t34 = cpu->r[10] + 0x00000010u;
|
|
/* 027779D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027779D8 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 027779D8 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 027779DC */ cpu->r[12] = 0x10100000u;
|
|
/* 027779E0 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 027779E4 */ _t36 = cpu->r[12] + 0x00003040u;
|
|
/* 027779E4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 027779E8 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 027779E8 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 027779EC */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 027779EC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 027779F0 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 027779F4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027779F8 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 027779FC */ _t39 = cpu->r[30] + 0x000000ECu;
|
|
/* 027779FC */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 02777A00 */ _t40 = cpu->r[30] + 0x000000E8u;
|
|
/* 02777A00 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
L_02777A04: ; // 0x2777a04
|
|
/* 02777A04 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 02777A04 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02777A08 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02777A08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02777A0C */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02777A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02777A10 */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 02777A10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02777A14 */ cpu->lr = cpu->r[0];
|
|
/* 02777A18 */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 02777A18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02777A1C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02777A20 */ return;
|
|
}
|
|
|
|
// fn_027778E8 @ 0x27778e8
|
|
void Gambit_fn_027778E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_027778E8: ; // 0x27778e8
|
|
/* 027778E8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 027778E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027778E8 */ cpu->r[1] = _t0;
|
|
/* 027778EC */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 027778EC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 027778F0 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 027778F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 027778F4 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 027778F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 027778F8 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 027778F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 027778FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02777900 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02777900 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02777904 */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 02777904 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02777908 */ cpu->r[29] = 0x10100000u;
|
|
/* 0277790C */ cpu->r[28] = 0x10100000u;
|
|
/* 02777910 */ cpu->r[29] = cpu->r[29] + 0x00002FB0u;
|
|
/* 02777914 */ cpu->r[28] = cpu->r[28] + 0x00003048u;
|
|
/* 02777918 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02777918 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 0277791C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277791C */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 02777920 */ _t9 = cpu->r[11] + 0x000000A4u;
|
|
/* 02777920 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02777924 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777928 */ Gambit_fn_02983BC4(cpu);
|
|
/* 0277792C */ /* nop */
|
|
/* 02777930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02777934 */ cpu->r[11] = 0x00000000u;
|
|
/* 02777938 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777938 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02777938 */ if (_t11) goto L_0277794C; else goto L_0277793C;
|
|
L_0277793C: ; // 0x277793c
|
|
/* 0277793C */ /* nop */
|
|
/* 02777940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 02777944 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777944 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02777944 */ if (_t13) goto L_0277794C; else goto L_02777948;
|
|
L_02777948: ; // 0x2777948
|
|
/* 02777948 */ cpu->r[11] = 0x00000001u;
|
|
L_0277794C: ; // 0x277794c
|
|
/* 0277794C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277794C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02777950 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777950 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02777950 */ if (_t15) goto L_02777A04; else goto L_02777954;
|
|
L_02777954: ; // 0x2777954
|
|
/* 02777954 */ cpu->r[10] = 0x10100000u;
|
|
/* 02777958 */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 02777958 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277795C */ _t17 = cpu->r[10] + 0x0000303Cu;
|
|
/* 0277795C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02777960 */ _t18 = cpu->r[30] + 0x000000E0u;
|
|
/* 02777960 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02777964 */ _t19 = cpu->r[11] + 0x000000A4u;
|
|
/* 02777964 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02777968 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277796C */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 0277796C */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 02777970 */ cpu->r[3] = cpu->r[31];
|
|
/* 02777974 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02777974 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02777978 */ Gambit_fn_02983BC4(cpu);
|
|
/* 0277797C */ cpu->r[4] = 0x00000000u;
|
|
/* 02777980 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02777980 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02777984 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02777988 */ cpu->r[6] = cpu->r[4];
|
|
/* 0277798C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277798C */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 02777990 */ cpu->r[3] = cpu->r[31];
|
|
/* 02777994 */ Gambit_fn_02983954(cpu);
|
|
/* 02777998 */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 02777998 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0277799C */ _t25 = cpu->r[11] + 0x000000A4u;
|
|
/* 0277799C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027779A0 */ _t26 = cpu->r[10] + 0x0000002Cu;
|
|
/* 027779A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027779A4 */ _t27 = cpu->r[9] + 0x00000000u;
|
|
/* 027779A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027779A8 */ /* nop */
|
|
/* 027779AC */ _t28 = cpu->r[10] + 0x00000038u;
|
|
/* 027779AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027779B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 027779B4 */ _t29 = cpu->r[10] + 0x0000003Cu;
|
|
/* 027779B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027779B8 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027779B8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027779B8 */ if (_t31) goto L_027779BC; else goto L_027779C8;
|
|
L_027779BC: ; // 0x27779bc
|
|
/* 027779BC */ /* nop */
|
|
/* 027779C0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 027779C4 */ cpu->r[12] = cpu->r[12] + cpu->r[9];
|
|
L_027779C8: ; // 0x27779c8
|
|
/* 027779C8 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 027779C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027779CC */ _t33 = cpu->r[10] + 0x00000000u;
|
|
/* 027779CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 027779D0 */ cpu->r[12] = 0x43300000u;
|
|
/* 027779D4 */ _t34 = cpu->r[10] + 0x00000010u;
|
|
/* 027779D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 027779D8 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 027779D8 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 027779DC */ cpu->r[12] = 0x10100000u;
|
|
/* 027779E0 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 027779E4 */ _t36 = cpu->r[12] + 0x00003040u;
|
|
/* 027779E4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 027779E8 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 027779E8 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 027779EC */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 027779EC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 027779F0 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 027779F4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027779F8 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 027779FC */ _t39 = cpu->r[30] + 0x000000ECu;
|
|
/* 027779FC */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 02777A00 */ _t40 = cpu->r[30] + 0x000000E8u;
|
|
/* 02777A00 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
L_02777A04: ; // 0x2777a04
|
|
/* 02777A04 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 02777A04 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02777A08 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02777A08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02777A0C */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02777A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02777A10 */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 02777A10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02777A14 */ cpu->lr = cpu->r[0];
|
|
/* 02777A18 */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 02777A18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02777A1C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02777A20 */ return;
|
|
}
|
|
|
|
// fn_02777A24 @ 0x2777a24
|
|
void Gambit_fn_02777A24(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_02777A24: ; // 0x2777a24
|
|
/* 02777A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777A28 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777A28 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02777A28 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02777A28 */ goto L_02777A2C;
|
|
L_02777A2C: ; // 0x2777a2c
|
|
/* 02777A2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02777A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02777A30 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777A30 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02777A30 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02777A30 */ goto L_02777A34;
|
|
L_02777A34: ; // 0x2777a34
|
|
/* 02777A34 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02777A38 @ 0x2777a38
|
|
void Gambit_fn_02777A38(CPUState* cpu) {
|
|
L_02777A38: ; // 0x2777a38
|
|
/* 02777A38 */ return;
|
|
}
|
|
|
|
// fn_02777A3C @ 0x2777a3c
|
|
void Gambit_fn_02777A3C(CPUState* cpu) {
|
|
L_02777A3C: ; // 0x2777a3c
|
|
/* 02777A3C */ return;
|
|
}
|
|
|
|
// fn_02777A40 @ 0x2777a40
|
|
void Gambit_fn_02777A40(CPUState* cpu) {
|
|
L_02777A40: ; // 0x2777a40
|
|
/* 02777A40 */ return;
|
|
}
|
|
|
|
// fn_02777A44 @ 0x2777a44
|
|
void Gambit_fn_02777A44(CPUState* cpu) {
|
|
L_02777A44: ; // 0x2777a44
|
|
/* 02777A44 */ return;
|
|
}
|
|
|
|
// fn_02777A48 @ 0x2777a48
|
|
void Gambit_fn_02777A48(CPUState* cpu) {
|
|
L_02777A48: ; // 0x2777a48
|
|
/* 02777A48 */ return;
|
|
}
|
|
|
|
// fn_02777A4C @ 0x2777a4c
|
|
void Gambit_fn_02777A4C(CPUState* cpu) {
|
|
L_02777A4C: ; // 0x2777a4c
|
|
/* 02777A4C */ return;
|
|
}
|
|
|
|
// fn_02777A50 @ 0x2777a50
|
|
void Gambit_fn_02777A50(CPUState* cpu) {
|
|
L_02777A50: ; // 0x2777a50
|
|
/* 02777A50 */ return;
|
|
}
|
|
|
|
// fn_02777A54 @ 0x2777a54
|
|
void Gambit_fn_02777A54(CPUState* cpu) {
|
|
L_02777A54: ; // 0x2777a54
|
|
/* 02777A54 */ return;
|
|
}
|
|
|
|
// fn_02777A58 @ 0x2777a58
|
|
void Gambit_fn_02777A58(CPUState* cpu) {
|
|
L_02777A58: ; // 0x2777a58
|
|
/* 02777A58 */ return;
|
|
}
|
|
|
|
// fn_02777A5C @ 0x2777a5c
|
|
void Gambit_fn_02777A5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02777A5C: ; // 0x2777a5c
|
|
/* 02777A5C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02777A5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02777A64 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777A64 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02777A64 */ if (_t2) goto L_02777A70; else goto L_02777A68;
|
|
L_02777A68: ; // 0x2777a68
|
|
/* 02777A68 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 02777A6C */ return;
|
|
L_02777A70: ; // 0x2777a70
|
|
/* 02777A70 */ cpu->r[3] = 0x00000000u;
|
|
/* 02777A74 */ return;
|
|
}
|
|
|
|
// fn_02777A78 @ 0x2777a78
|
|
void Gambit_fn_02777A78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02777A78: ; // 0x2777a78
|
|
/* 02777A78 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02777A78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02777A80 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777A80 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02777A80 */ if (_t2) goto L_02777A8C; else goto L_02777A84;
|
|
L_02777A84: ; // 0x2777a84
|
|
/* 02777A84 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 02777A88 */ return;
|
|
L_02777A8C: ; // 0x2777a8c
|
|
/* 02777A8C */ cpu->r[3] = 0x00000000u;
|
|
/* 02777A90 */ return;
|
|
}
|
|
|
|
// fn_02777A94 @ 0x2777a94
|
|
void Gambit_fn_02777A94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02777A94: ; // 0x2777a94
|
|
/* 02777A94 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02777A94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777A98 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02777A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02777A9C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777A9C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02777A9C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02777A9C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02777A9C */ goto L_02777AA0;
|
|
L_02777AA0: ; // 0x2777aa0
|
|
/* 02777AA0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02777AA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02777AA4 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02777AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02777AA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02777AAC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777AB0 @ 0x2777ab0
|
|
void Gambit_fn_02777AB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02777AB0: ; // 0x2777ab0
|
|
/* 02777AB0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02777AB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777AB4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02777AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02777AB8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777AB8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02777AB8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02777AB8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02777AB8 */ goto L_02777ABC;
|
|
L_02777ABC: ; // 0x2777abc
|
|
/* 02777ABC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02777ABC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02777AC0 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02777AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02777AC4 */ cpu->ctr = cpu->r[0];
|
|
/* 02777AC8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777ACC @ 0x2777acc
|
|
void Gambit_fn_02777ACC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02777ACC: ; // 0x2777acc
|
|
/* 02777ACC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02777ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777AD0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02777AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02777AD4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777AD4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02777AD4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02777AD4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02777AD4 */ goto L_02777AD8;
|
|
L_02777AD8: ; // 0x2777ad8
|
|
/* 02777AD8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02777AD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02777ADC */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02777ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02777AE0 */ cpu->ctr = cpu->r[0];
|
|
/* 02777AE4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777AE8 @ 0x2777ae8
|
|
void Gambit_fn_02777AE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02777AE8: ; // 0x2777ae8
|
|
/* 02777AE8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02777AE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777AEC */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02777AEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02777AF0 */ cpu->ctr = cpu->r[0];
|
|
/* 02777AF4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777AF8 @ 0x2777af8
|
|
void Gambit_fn_02777AF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02777AF8: ; // 0x2777af8
|
|
/* 02777AF8 */ cpu->r[0] = cpu->lr;
|
|
/* 02777AFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02777AFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02777AFC */ cpu->r[1] = _t0;
|
|
/* 02777B00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777B00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02777B04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02777B08 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02777B08 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02777B0C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02777B0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02777B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02777B14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777B14 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02777B14 */ if (_t5) goto L_02777B18; else goto L_02777B34;
|
|
L_02777B18: ; // 0x2777b18
|
|
/* 02777B18 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02777B18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02777B1C */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02777B1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02777B20 */ cpu->ctr = cpu->r[0];
|
|
/* 02777B24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02777B28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02777B2C */ cpu->r[0] = 0x00000002u;
|
|
/* 02777B30 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02777B30 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02777B34: ; // 0x2777b34
|
|
/* 02777B34 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02777B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02777B38 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777B38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02777B3C */ cpu->lr = cpu->r[0];
|
|
/* 02777B40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02777B44 */ return;
|
|
}
|
|
|
|
// fn_02777AFC @ 0x2777afc
|
|
void Gambit_fn_02777AFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02777AFC: ; // 0x2777afc
|
|
/* 02777AFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02777AFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02777AFC */ cpu->r[1] = _t0;
|
|
/* 02777B00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777B00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02777B04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02777B08 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02777B08 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02777B0C */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02777B0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02777B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02777B14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777B14 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02777B14 */ if (_t5) goto L_02777B18; else goto L_02777B34;
|
|
L_02777B18: ; // 0x2777b18
|
|
/* 02777B18 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02777B18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02777B1C */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 02777B1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02777B20 */ cpu->ctr = cpu->r[0];
|
|
/* 02777B24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02777B28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02777B2C */ cpu->r[0] = 0x00000002u;
|
|
/* 02777B30 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02777B30 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02777B34: ; // 0x2777b34
|
|
/* 02777B34 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02777B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02777B38 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777B38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02777B3C */ cpu->lr = cpu->r[0];
|
|
/* 02777B40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02777B44 */ return;
|
|
}
|
|
|
|
// fn_02777B48 @ 0x2777b48
|
|
void Gambit_fn_02777B48(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02777B48: ; // 0x2777b48
|
|
/* 02777B48 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02777B48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777B4C */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02777B4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02777B50 */ cpu->ctr = cpu->r[0];
|
|
/* 02777B54 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777B58 @ 0x2777b58
|
|
void Gambit_fn_02777B58(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02777B58: ; // 0x2777b58
|
|
/* 02777B58 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02777B58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777B5C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02777B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02777B60 */ cpu->ctr = cpu->r[0];
|
|
/* 02777B64 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777B68 @ 0x2777b68
|
|
void Gambit_fn_02777B68(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02777B68: ; // 0x2777b68
|
|
/* 02777B68 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02777B68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777B6C */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 02777B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02777B70 */ cpu->ctr = cpu->r[0];
|
|
/* 02777B74 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02777B78 @ 0x2777b78
|
|
void Gambit_fn_02777B78(CPUState* cpu) {
|
|
L_02777B78: ; // 0x2777b78
|
|
/* 02777B78 */ cpu->r[3] = 0x00000001u;
|
|
/* 02777B7C */ return;
|
|
}
|
|
|
|
// fn_02777B80 @ 0x2777b80
|
|
void Gambit_fn_02777B80(CPUState* cpu) {
|
|
L_02777B80: ; // 0x2777b80
|
|
/* 02777B80 */ return;
|
|
}
|
|
|
|
// fn_02777B84 @ 0x2777b84
|
|
void Gambit_fn_02777B84(CPUState* cpu) {
|
|
L_02777B84: ; // 0x2777b84
|
|
/* 02777B84 */ return;
|
|
}
|
|
|
|
// fn_02777B88 @ 0x2777b88
|
|
void Gambit_fn_02777B88(CPUState* cpu) {
|
|
L_02777B88: ; // 0x2777b88
|
|
/* 02777B88 */ return;
|
|
}
|
|
|
|
// fn_02777B8C @ 0x2777b8c
|
|
void Gambit_fn_02777B8C(CPUState* cpu) {
|
|
L_02777B8C: ; // 0x2777b8c
|
|
/* 02777B8C */ return;
|
|
}
|
|
|
|
// fn_02777B90 @ 0x2777b90
|
|
void Gambit_fn_02777B90(CPUState* cpu) {
|
|
L_02777B90: ; // 0x2777b90
|
|
/* 02777B90 */ return;
|
|
}
|
|
|
|
// fn_02777B94 @ 0x2777b94
|
|
void Gambit_fn_02777B94(CPUState* cpu) {
|
|
L_02777B94: ; // 0x2777b94
|
|
/* 02777B94 */ cpu->r[3] = 0x00000001u;
|
|
/* 02777B98 */ return;
|
|
}
|
|
|
|
// fn_02777B9C @ 0x2777b9c
|
|
void Gambit_fn_02777B9C(CPUState* cpu) {
|
|
L_02777B9C: ; // 0x2777b9c
|
|
/* 02777B9C */ cpu->r[3] = 0x00000000u;
|
|
/* 02777BA0 */ return;
|
|
}
|
|
|
|
// fn_02777BA4 @ 0x2777ba4
|
|
void Gambit_fn_02777BA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0276C380: ; // 0x276c380
|
|
/* 0276C380 */ cpu->r[0] = cpu->lr;
|
|
/* 0276C384 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0276C384 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0276C384 */ cpu->r[1] = _t0;
|
|
/* 0276C388 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0276C388 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0276C38C */ cpu->r[31] = cpu->r[3];
|
|
/* 0276C390 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0276C390 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0276C394 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 0276C394 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0276C398 */ cpu->r[12] = 0x00000000u;
|
|
/* 0276C39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0276C3A0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 0276C3A0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0276C3A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0276C3A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0276C3A4 */ if (_t6) goto L_0276C3CC; else goto L_0276C3A8;
|
|
L_0276C3A8: ; // 0x276c3a8
|
|
/* 0276C3A8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0276C3A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0276C3AC */ /* nop */
|
|
/* 0276C3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 0276C3B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0276C3B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0276C3B4 */ if (_t9) goto L_0276C3B8; else goto L_0276C3CC;
|
|
L_0276C3B8: ; // 0x276c3b8
|
|
/* 0276C3B8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0276C3B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0276C3BC */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 0276C3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0276C3C0 */ cpu->ctr = cpu->r[0];
|
|
/* 0276C3C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0276C3CC: ; // 0x276c3cc
|
|
/* 0276C3CC */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3D0 */ Gambit_fn_0276C2F8(cpu);
|
|
/* 0276C3D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0276C3D8 */ Gambit_fn_027FC37C(cpu);
|
|
/* 0276C3DC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0276C3DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0276C3E0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0276C3E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0276C3E4 */ cpu->lr = cpu->r[0];
|
|
/* 0276C3E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0276C3EC */ return;
|
|
L_02777BA4: ; // 0x2777ba4
|
|
/* 02777BA4 */ cpu->r[3] = cpu->r[3] + 0x00000050u;
|
|
/* 02777BA8 */ goto L_0276C380;
|
|
}
|
|
|
|
// fn_02777BAC @ 0x2777bac
|
|
void Gambit_fn_02777BAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02777BAC: ; // 0x2777bac
|
|
/* 02777BAC */ cpu->r[0] = cpu->lr;
|
|
/* 02777BB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02777BB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02777BB0 */ cpu->r[1] = _t0;
|
|
/* 02777BB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777BB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02777BB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02777BBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02777BBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02777BC0 */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 02777BC0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02777BC4 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02777BC8 */ /* nop */
|
|
/* 02777BCC */ Gambit_fn_027FC35C(cpu);
|
|
/* 02777BD0 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02777BD4 */ Gambit_fn_0276C270(cpu);
|
|
/* 02777BD8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02777BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02777BDC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777BDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02777BE0 */ cpu->lr = cpu->r[0];
|
|
/* 02777BE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02777BE8 */ return;
|
|
}
|
|
|
|
// fn_02777BB0 @ 0x2777bb0
|
|
void Gambit_fn_02777BB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02777BB0: ; // 0x2777bb0
|
|
/* 02777BB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02777BB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02777BB0 */ cpu->r[1] = _t0;
|
|
/* 02777BB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777BB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02777BB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02777BBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02777BBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02777BC0 */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 02777BC0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02777BC4 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02777BC8 */ /* nop */
|
|
/* 02777BCC */ Gambit_fn_027FC35C(cpu);
|
|
/* 02777BD0 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 02777BD4 */ Gambit_fn_0276C270(cpu);
|
|
/* 02777BD8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02777BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02777BDC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777BDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02777BE0 */ cpu->lr = cpu->r[0];
|
|
/* 02777BE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02777BE8 */ return;
|
|
}
|
|
|
|
// fn_02777BEC @ 0x2777bec
|
|
void Gambit_fn_02777BEC(CPUState* cpu) {
|
|
L_02777BEC: ; // 0x2777bec
|
|
/* 02777BEC */ cpu->r[3] = 0x10100000u;
|
|
/* 02777BF0 */ cpu->r[3] = cpu->r[3] + 0x00002FF8u;
|
|
/* 02777BF4 */ return;
|
|
}
|
|
|
|
// fn_02777BF8 @ 0x2777bf8
|
|
void Gambit_fn_02777BF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02777BF8: ; // 0x2777bf8
|
|
/* 02777BF8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02777BFC */ _t0 = cpu->r[9] + 0x0000130Cu;
|
|
/* 02777BFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02777C00 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02777C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02777C08 */ cpu->r[11] = cpu->r[11] + 0x00001358u;
|
|
/* 02777C0C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777C0C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02777C0C */ if (_t2) goto L_02777C10; else goto L_02777C28;
|
|
L_02777C10: ; // 0x2777c10
|
|
/* 02777C10 */ cpu->r[9] = 0x10100000u;
|
|
/* 02777C14 */ cpu->r[0] = 0x00000001u;
|
|
/* 02777C18 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02777C1C */ cpu->r[9] = cpu->r[9] + 0x00002FE8u;
|
|
/* 02777C20 */ _t3 = cpu->r[12] + 0x0000130Cu;
|
|
/* 02777C20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02777C24 */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 02777C24 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02777C28: ; // 0x2777c28
|
|
/* 02777C28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02777C2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777C2C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02777C2C */ if (_t6) goto L_02777C30; else goto L_02777C38;
|
|
L_02777C30: ; // 0x2777c30
|
|
/* 02777C30 */ cpu->r[3] = 0x00000001u;
|
|
/* 02777C34 */ return;
|
|
L_02777C38: ; // 0x2777c38
|
|
/* 02777C38 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02777C3C */ _t7 = cpu->r[12] + 0x000012DCu;
|
|
/* 02777C3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02777C40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02777C44 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02777C48 */ cpu->r[12] = cpu->r[12] + 0x00001348u;
|
|
/* 02777C4C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777C4C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02777C4C */ if (_t9) goto L_02777C50; else goto L_02777C68;
|
|
L_02777C50: ; // 0x2777c50
|
|
/* 02777C50 */ cpu->r[11] = 0x10100000u;
|
|
/* 02777C54 */ cpu->r[10] = 0x00000001u;
|
|
/* 02777C58 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02777C5C */ cpu->r[11] = cpu->r[11] + 0x00002FD8u;
|
|
/* 02777C60 */ _t10 = cpu->r[9] + 0x000012DCu;
|
|
/* 02777C60 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02777C64 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02777C64 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02777C68: ; // 0x2777c68
|
|
/* 02777C68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02777C6C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777C6C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02777C6C */ if (_t13) goto L_02777C70; else goto L_02777C78;
|
|
L_02777C70: ; // 0x2777c70
|
|
/* 02777C70 */ cpu->r[0] = 0x00000001u;
|
|
/* 02777C74 */ goto L_02777CEC;
|
|
L_02777C78: ; // 0x2777c78
|
|
/* 02777C78 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02777C7C */ _t14 = cpu->r[10] + 0xFFFFD4E8u;
|
|
/* 02777C7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02777C7C */ cpu->r[10] = _t14;
|
|
/* 02777C80 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02777C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02777C88 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4ECu;
|
|
/* 02777C8C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777C8C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02777C8C */ if (_t16) goto L_02777C90; else goto L_02777CA4;
|
|
L_02777C90: ; // 0x2777c90
|
|
/* 02777C90 */ cpu->r[9] = 0x10100000u;
|
|
/* 02777C94 */ cpu->r[0] = 0x00000001u;
|
|
/* 02777C98 */ cpu->r[9] = cpu->r[9] + 0x00002FC8u;
|
|
/* 02777C9C */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 02777C9C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02777CA0 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02777CA0 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
L_02777CA4: ; // 0x2777ca4
|
|
/* 02777CA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02777CA8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777CA8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02777CA8 */ if (_t20) goto L_02777CAC; else goto L_02777CB4;
|
|
L_02777CAC: ; // 0x2777cac
|
|
/* 02777CAC */ cpu->r[0] = 0x00000001u;
|
|
/* 02777CB0 */ goto L_02777CEC;
|
|
L_02777CB4: ; // 0x2777cb4
|
|
/* 02777CB4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02777CB8 */ _t21 = cpu->r[9] + 0xFFFFD4E0u;
|
|
/* 02777CB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02777CB8 */ cpu->r[9] = _t21;
|
|
/* 02777CBC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02777CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02777CC4 */ cpu->r[12] = cpu->r[12] + 0xFFFFD4E4u;
|
|
/* 02777CC8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777CC8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02777CC8 */ if (_t23) goto L_02777CCC; else goto L_02777CE0;
|
|
L_02777CCC: ; // 0x2777ccc
|
|
/* 02777CCC */ cpu->r[0] = 0x10100000u;
|
|
/* 02777CD0 */ cpu->r[11] = 0x00000001u;
|
|
/* 02777CD4 */ cpu->r[0] = cpu->r[0] + 0x00002FA0u;
|
|
/* 02777CD8 */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 02777CD8 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02777CDC */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02777CDC */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02777CE0: ; // 0x2777ce0
|
|
/* 02777CE0 */ cpu->r[9] = cpu->r[4] ^ cpu->r[12];
|
|
/* 02777CE4 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 02777CE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_02777CEC: ; // 0x2777cec
|
|
/* 02777CEC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02777CF0 */ return;
|
|
}
|
|
|
|
// fn_02777CF4 @ 0x2777cf4
|
|
void Gambit_fn_02777CF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02777CF4: ; // 0x2777cf4
|
|
/* 02777CF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02777CF8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02777CF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02777CFC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02777CFC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02777CFC */ cpu->r[1] = _t1;
|
|
/* 02777D00 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02777D00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02777D04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 02777D08 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02777D08 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02777D08 */ if (_t4) goto L_02777DB8; else goto L_02777D0C;
|
|
L_02777D0C: ; // 0x2777d0c
|
|
/* 02777D0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D0C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02777D0C */ if (_t6) goto L_02777D58; else goto L_02777D10;
|
|
L_02777D10: ; // 0x2777d10
|
|
/* 02777D10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000003u);
|
|
/* 02777D14 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02777D14 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02777D14 */ if (_t8) goto L_02777D28; else goto L_02777D18;
|
|
L_02777D18: ; // 0x2777d18
|
|
/* 02777D18 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D18 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02777D18 */ if (_t10) goto L_02777D88; else goto L_02777D1C;
|
|
L_02777D1C: ; // 0x2777d1c
|
|
/* 02777D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777D20 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D20 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02777D20 */ if (_t12) goto L_02777DC0; else goto L_02777D24;
|
|
L_02777D24: ; // 0x2777d24
|
|
/* 02777D24 */ goto L_02777DD0;
|
|
L_02777D28: ; // 0x2777d28
|
|
/* 02777D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777D2C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D2C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02777D2C */ if (_t14) goto L_02777D30; else goto L_02777D40;
|
|
L_02777D30: ; // 0x2777d30
|
|
/* 02777D30 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777D34 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777D3C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D3C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02777D3C */ if (_t16) goto L_02777DD8; else goto L_02777D40;
|
|
L_02777D40: ; // 0x2777d40
|
|
/* 02777D40 */ cpu->r[0] = 0x00000001u;
|
|
/* 02777D44 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02777D44 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02777D48 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777D48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02777D4C */ cpu->lr = cpu->r[0];
|
|
/* 02777D50 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777D54 */ return;
|
|
L_02777D58: ; // 0x2777d58
|
|
/* 02777D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777D5C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D5C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02777D5C */ if (_t20) goto L_02777D60; else goto L_02777D70;
|
|
L_02777D60: ; // 0x2777d60
|
|
/* 02777D60 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777D64 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777D6C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D6C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02777D6C */ if (_t22) goto L_02777DD8; else goto L_02777D70;
|
|
L_02777D70: ; // 0x2777d70
|
|
/* 02777D70 */ cpu->r[12] = 0x00000002u;
|
|
/* 02777D74 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 02777D74 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 02777D78 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777D78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02777D7C */ cpu->lr = cpu->r[0];
|
|
/* 02777D80 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777D84 */ return;
|
|
L_02777D88: ; // 0x2777d88
|
|
/* 02777D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777D8C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D8C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02777D8C */ if (_t26) goto L_02777D90; else goto L_02777DA0;
|
|
L_02777D90: ; // 0x2777d90
|
|
/* 02777D90 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777D94 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777D9C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D9C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02777D9C */ if (_t28) goto L_02777DD8; else goto L_02777DA0;
|
|
L_02777DA0: ; // 0x2777da0
|
|
/* 02777DA0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02777DA4 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 02777DA4 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02777DA8 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02777DAC */ cpu->lr = cpu->r[0];
|
|
/* 02777DB0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777DB4 */ return;
|
|
L_02777DB8: ; // 0x2777db8
|
|
/* 02777DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777DBC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777DBC */ _t32 = _t31 & 0x00000001u;
|
|
/* 02777DBC */ if (_t32) goto L_02777DC0; else goto L_02777DD0;
|
|
L_02777DC0: ; // 0x2777dc0
|
|
/* 02777DC0 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777DC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777DCC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777DCC */ _t34 = _t33 & 0x00000001u;
|
|
/* 02777DCC */ if (_t34) goto L_02777DD8; else goto L_02777DD0;
|
|
L_02777DD0: ; // 0x2777dd0
|
|
/* 02777DD0 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02777DD4 */ _t35 = cpu->r[3] + 0x00000000u;
|
|
/* 02777DD4 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
L_02777DD8: ; // 0x2777dd8
|
|
/* 02777DD8 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02777DDC */ cpu->lr = cpu->r[0];
|
|
/* 02777DE0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777DE4 */ return;
|
|
}
|
|
|
|
// fn_02777CFC @ 0x2777cfc
|
|
void Gambit_fn_02777CFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_02777CFC: ; // 0x2777cfc
|
|
/* 02777CFC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02777CFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02777CFC */ cpu->r[1] = _t0;
|
|
/* 02777D00 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02777D00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02777D04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 02777D08 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02777D08 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02777D08 */ if (_t3) goto L_02777DB8; else goto L_02777D0C;
|
|
L_02777D0C: ; // 0x2777d0c
|
|
/* 02777D0C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D0C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02777D0C */ if (_t5) goto L_02777D58; else goto L_02777D10;
|
|
L_02777D10: ; // 0x2777d10
|
|
/* 02777D10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000003u);
|
|
/* 02777D14 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02777D14 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02777D14 */ if (_t7) goto L_02777D28; else goto L_02777D18;
|
|
L_02777D18: ; // 0x2777d18
|
|
/* 02777D18 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D18 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02777D18 */ if (_t9) goto L_02777D88; else goto L_02777D1C;
|
|
L_02777D1C: ; // 0x2777d1c
|
|
/* 02777D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777D20 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D20 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02777D20 */ if (_t11) goto L_02777DC0; else goto L_02777D24;
|
|
L_02777D24: ; // 0x2777d24
|
|
/* 02777D24 */ goto L_02777DD0;
|
|
L_02777D28: ; // 0x2777d28
|
|
/* 02777D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777D2C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D2C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02777D2C */ if (_t13) goto L_02777D30; else goto L_02777D40;
|
|
L_02777D30: ; // 0x2777d30
|
|
/* 02777D30 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777D34 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777D3C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D3C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02777D3C */ if (_t15) goto L_02777DD8; else goto L_02777D40;
|
|
L_02777D40: ; // 0x2777d40
|
|
/* 02777D40 */ cpu->r[0] = 0x00000001u;
|
|
/* 02777D44 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02777D44 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02777D48 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777D48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02777D4C */ cpu->lr = cpu->r[0];
|
|
/* 02777D50 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777D54 */ return;
|
|
L_02777D58: ; // 0x2777d58
|
|
/* 02777D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777D5C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D5C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02777D5C */ if (_t19) goto L_02777D60; else goto L_02777D70;
|
|
L_02777D60: ; // 0x2777d60
|
|
/* 02777D60 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777D64 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777D6C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D6C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02777D6C */ if (_t21) goto L_02777DD8; else goto L_02777D70;
|
|
L_02777D70: ; // 0x2777d70
|
|
/* 02777D70 */ cpu->r[12] = 0x00000002u;
|
|
/* 02777D74 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02777D74 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 02777D78 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777D78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02777D7C */ cpu->lr = cpu->r[0];
|
|
/* 02777D80 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777D84 */ return;
|
|
L_02777D88: ; // 0x2777d88
|
|
/* 02777D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777D8C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D8C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02777D8C */ if (_t25) goto L_02777D90; else goto L_02777DA0;
|
|
L_02777D90: ; // 0x2777d90
|
|
/* 02777D90 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777D94 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777D9C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777D9C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02777D9C */ if (_t27) goto L_02777DD8; else goto L_02777DA0;
|
|
L_02777DA0: ; // 0x2777da0
|
|
/* 02777DA0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02777DA4 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 02777DA4 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02777DA8 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02777DAC */ cpu->lr = cpu->r[0];
|
|
/* 02777DB0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777DB4 */ return;
|
|
L_02777DB8: ; // 0x2777db8
|
|
/* 02777DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777DBC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777DBC */ _t31 = _t30 & 0x00000001u;
|
|
/* 02777DBC */ if (_t31) goto L_02777DC0; else goto L_02777DD0;
|
|
L_02777DC0: ; // 0x2777dc0
|
|
/* 02777DC0 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777DC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777DCC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777DCC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02777DCC */ if (_t33) goto L_02777DD8; else goto L_02777DD0;
|
|
L_02777DD0: ; // 0x2777dd0
|
|
/* 02777DD0 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02777DD4 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 02777DD4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
L_02777DD8: ; // 0x2777dd8
|
|
/* 02777DD8 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02777DDC */ cpu->lr = cpu->r[0];
|
|
/* 02777DE0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777DE4 */ return;
|
|
}
|
|
|
|
// fn_02777DE8 @ 0x2777de8
|
|
void Gambit_fn_02777DE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02777DE8: ; // 0x2777de8
|
|
/* 02777DE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02777DEC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02777DEC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02777DF0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02777DF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02777DF0 */ cpu->r[1] = _t1;
|
|
/* 02777DF4 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02777DF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02777DF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 02777DFC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02777DFC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02777DFC */ if (_t4) goto L_02777E78; else goto L_02777E00;
|
|
L_02777E00: ; // 0x2777e00
|
|
/* 02777E00 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E00 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02777E00 */ if (_t6) goto L_02777E18; else goto L_02777E04;
|
|
L_02777E04: ; // 0x2777e04
|
|
/* 02777E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02777E08 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E08 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02777E08 */ if (_t8) goto L_02777E48; else goto L_02777E0C;
|
|
L_02777E0C: ; // 0x2777e0c
|
|
/* 02777E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777E10 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E10 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02777E10 */ if (_t10) goto L_02777EA8; else goto L_02777E14;
|
|
L_02777E14: ; // 0x2777e14
|
|
/* 02777E14 */ goto L_02777EB8;
|
|
L_02777E18: ; // 0x2777e18
|
|
/* 02777E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777E1C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E1C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02777E1C */ if (_t12) goto L_02777E20; else goto L_02777E30;
|
|
L_02777E20: ; // 0x2777e20
|
|
/* 02777E20 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777E24 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777E2C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E2C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02777E2C */ if (_t14) goto L_02777EC0; else goto L_02777E30;
|
|
L_02777E30: ; // 0x2777e30
|
|
/* 02777E30 */ cpu->r[0] = 0x00000002u;
|
|
/* 02777E34 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 02777E34 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02777E38 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02777E3C */ cpu->lr = cpu->r[0];
|
|
/* 02777E40 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777E44 */ return;
|
|
L_02777E48: ; // 0x2777e48
|
|
/* 02777E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777E4C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E4C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02777E4C */ if (_t18) goto L_02777E50; else goto L_02777E60;
|
|
L_02777E50: ; // 0x2777e50
|
|
/* 02777E50 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777E54 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777E5C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E5C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02777E5C */ if (_t20) goto L_02777EC0; else goto L_02777E60;
|
|
L_02777E60: ; // 0x2777e60
|
|
/* 02777E60 */ cpu->r[12] = 0x00000001u;
|
|
/* 02777E64 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 02777E64 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02777E68 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02777E6C */ cpu->lr = cpu->r[0];
|
|
/* 02777E70 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777E74 */ return;
|
|
L_02777E78: ; // 0x2777e78
|
|
/* 02777E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777E7C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E7C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02777E7C */ if (_t24) goto L_02777E80; else goto L_02777E90;
|
|
L_02777E80: ; // 0x2777e80
|
|
/* 02777E80 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777E84 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777E8C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E8C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02777E8C */ if (_t26) goto L_02777EC0; else goto L_02777E90;
|
|
L_02777E90: ; // 0x2777e90
|
|
/* 02777E90 */ cpu->r[0] = 0x00000003u;
|
|
/* 02777E94 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 02777E94 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02777E98 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02777E9C */ cpu->lr = cpu->r[0];
|
|
/* 02777EA0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777EA4 */ return;
|
|
L_02777EA8: ; // 0x2777ea8
|
|
/* 02777EA8 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777EAC */ Gambit_fn_02801A78(cpu);
|
|
/* 02777EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777EB4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777EB4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02777EB4 */ if (_t30) goto L_02777EC0; else goto L_02777EB8;
|
|
L_02777EB8: ; // 0x2777eb8
|
|
/* 02777EB8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02777EBC */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02777EBC */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
L_02777EC0: ; // 0x2777ec0
|
|
/* 02777EC0 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777EC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02777EC4 */ cpu->lr = cpu->r[0];
|
|
/* 02777EC8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777ECC */ return;
|
|
}
|
|
|
|
// fn_02777DF0 @ 0x2777df0
|
|
void Gambit_fn_02777DF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02777DF0: ; // 0x2777df0
|
|
/* 02777DF0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02777DF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02777DF0 */ cpu->r[1] = _t0;
|
|
/* 02777DF4 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02777DF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02777DF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 02777DFC */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02777DFC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02777DFC */ if (_t3) goto L_02777E78; else goto L_02777E00;
|
|
L_02777E00: ; // 0x2777e00
|
|
/* 02777E00 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E00 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02777E00 */ if (_t5) goto L_02777E18; else goto L_02777E04;
|
|
L_02777E04: ; // 0x2777e04
|
|
/* 02777E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02777E08 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E08 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02777E08 */ if (_t7) goto L_02777E48; else goto L_02777E0C;
|
|
L_02777E0C: ; // 0x2777e0c
|
|
/* 02777E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777E10 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E10 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02777E10 */ if (_t9) goto L_02777EA8; else goto L_02777E14;
|
|
L_02777E14: ; // 0x2777e14
|
|
/* 02777E14 */ goto L_02777EB8;
|
|
L_02777E18: ; // 0x2777e18
|
|
/* 02777E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777E1C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E1C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02777E1C */ if (_t11) goto L_02777E20; else goto L_02777E30;
|
|
L_02777E20: ; // 0x2777e20
|
|
/* 02777E20 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777E24 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777E2C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E2C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02777E2C */ if (_t13) goto L_02777EC0; else goto L_02777E30;
|
|
L_02777E30: ; // 0x2777e30
|
|
/* 02777E30 */ cpu->r[0] = 0x00000002u;
|
|
/* 02777E34 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02777E34 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02777E38 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02777E3C */ cpu->lr = cpu->r[0];
|
|
/* 02777E40 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777E44 */ return;
|
|
L_02777E48: ; // 0x2777e48
|
|
/* 02777E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777E4C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E4C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02777E4C */ if (_t17) goto L_02777E50; else goto L_02777E60;
|
|
L_02777E50: ; // 0x2777e50
|
|
/* 02777E50 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777E54 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777E5C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E5C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02777E5C */ if (_t19) goto L_02777EC0; else goto L_02777E60;
|
|
L_02777E60: ; // 0x2777e60
|
|
/* 02777E60 */ cpu->r[12] = 0x00000001u;
|
|
/* 02777E64 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 02777E64 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02777E68 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02777E6C */ cpu->lr = cpu->r[0];
|
|
/* 02777E70 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777E74 */ return;
|
|
L_02777E78: ; // 0x2777e78
|
|
/* 02777E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777E7C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E7C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02777E7C */ if (_t23) goto L_02777E80; else goto L_02777E90;
|
|
L_02777E80: ; // 0x2777e80
|
|
/* 02777E80 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777E84 */ Gambit_fn_02801A78(cpu);
|
|
/* 02777E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777E8C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777E8C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02777E8C */ if (_t25) goto L_02777EC0; else goto L_02777E90;
|
|
L_02777E90: ; // 0x2777e90
|
|
/* 02777E90 */ cpu->r[0] = 0x00000003u;
|
|
/* 02777E94 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 02777E94 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02777E98 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02777E9C */ cpu->lr = cpu->r[0];
|
|
/* 02777EA0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777EA4 */ return;
|
|
L_02777EA8: ; // 0x2777ea8
|
|
/* 02777EA8 */ cpu->r[3] = 0x00000004u;
|
|
/* 02777EAC */ Gambit_fn_02801A78(cpu);
|
|
/* 02777EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02777EB4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777EB4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02777EB4 */ if (_t29) goto L_02777EC0; else goto L_02777EB8;
|
|
L_02777EB8: ; // 0x2777eb8
|
|
/* 02777EB8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02777EBC */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 02777EBC */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
L_02777EC0: ; // 0x2777ec0
|
|
/* 02777EC0 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02777EC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02777EC4 */ cpu->lr = cpu->r[0];
|
|
/* 02777EC8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02777ECC */ return;
|
|
}
|
|
|
|
// fn_02777ED0 @ 0x2777ed0
|
|
void Gambit_fn_02777ED0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110;
|
|
|
|
L_02777ED0: ; // 0x2777ed0
|
|
/* 02777ED0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02777ED0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02777ED0 */ cpu->r[1] = _t0;
|
|
/* 02777ED4 */ /* nop */
|
|
/* 02777ED8 */ cpu->r[0] = cpu->lr;
|
|
/* 02777EDC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02777EDC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02777EE0 */ cpu->r[31] = cpu->r[5];
|
|
/* 02777EE4 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02777EE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02777EE8 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02777EEC */ cpu->r[30] = 0x101D0000u;
|
|
/* 02777EF0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02777EF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
|
|
/* 02777EF8 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02777EFC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02777EFC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02777EFC */ if (_t4) goto L_02777F24; else goto L_02777F00;
|
|
L_02777F00: ; // 0x2777f00
|
|
/* 02777F00 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777F00 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02777F00 */ if (_t6) goto L_02777FFC; else goto L_02777F04;
|
|
L_02777F04: ; // 0x2777f04
|
|
/* 02777F04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000003u);
|
|
/* 02777F08 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02777F08 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02777F08 */ if (_t8) goto L_027780D4; else goto L_02777F0C;
|
|
L_02777F0C: ; // 0x2777f0c
|
|
/* 02777F0C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777F0C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02777F0C */ if (_t10) goto L_027781AC; else goto L_02777F10;
|
|
L_02777F10: ; // 0x2777f10
|
|
/* 02777F10 */ /* nop */
|
|
/* 02777F14 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02777F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02777F18 */ cpu->lr = cpu->r[0];
|
|
/* 02777F1C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02777F20 */ return;
|
|
L_02777F24: ; // 0x2777f24
|
|
/* 02777F24 */ _t12 = cpu->r[9] + 0xFFFFED10u;
|
|
/* 02777F24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02777F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02777F2C */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 02777F2C */ cpu->r[26] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02777F30 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777F30 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02777F30 */ if (_t15) goto L_02777F34; else goto L_02777F50;
|
|
L_02777F34: ; // 0x2777f34
|
|
/* 02777F34 */ cpu->r[12] = 0x00000001u;
|
|
/* 02777F38 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02777F3C */ cpu->r[3] = cpu->r[29] + 0x000059F1u;
|
|
/* 02777F40 */ cpu->r[5] = 0x0000011Bu;
|
|
/* 02777F44 */ cpu->r[4] = cpu->r[4] + 0xFFFF8EA0u;
|
|
/* 02777F48 */ _t16 = cpu->r[9] + 0xFFFFED10u;
|
|
/* 02777F48 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02777F4C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02777F50: ; // 0x2777f50
|
|
/* 02777F50 */ _t17 = cpu->r[30] + 0xFFFFED0Cu;
|
|
/* 02777F50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02777F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02777F58 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777F58 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02777F58 */ if (_t19) goto L_02777F5C; else goto L_02777F6C;
|
|
L_02777F5C: ; // 0x2777f5c
|
|
/* 02777F5C */ cpu->r[8] = 0x00000001u;
|
|
/* 02777F60 */ cpu->r[9] = 0x00000000u;
|
|
/* 02777F64 */ _t20 = cpu->r[30] + 0xFFFFED0Cu;
|
|
/* 02777F64 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 02777F68 */ _t21 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02777F68 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
L_02777F6C: ; // 0x2777f6c
|
|
/* 02777F6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000019u);
|
|
/* 02777F70 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02777F70 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02777F70 */ if (_t23) goto L_02777F90; else goto L_02777F74;
|
|
L_02777F74: ; // 0x2777f74
|
|
/* 02777F74 */ cpu->r[4] = 0x10100000u;
|
|
/* 02777F78 */ cpu->r[5] = 0x00000000u;
|
|
/* 02777F7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02777F80 */ cpu->r[4] = cpu->r[4] + 0x00003290u;
|
|
/* 02777F84 */ _t24 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02777F84 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02777F84 */ if (_t25) goto L_02777F88; // else: addr-0 trap, fall-through
|
|
L_02777F88: ; // 0x2777f88
|
|
/* 02777F88 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02777F8C */ goto L_02778274;
|
|
L_02777F90: ; // 0x2777f90
|
|
/* 02777F90 */ _t26 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02777F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02777F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02777F98 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777F98 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02777F98 */ if (_t28) goto L_02777F9C; else goto L_02777FDC;
|
|
L_02777F9C: ; // 0x2777f9c
|
|
/* 02777F9C */ Gambit_fn_0282A450(cpu);
|
|
/* 02777FA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02777FA4 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02777FA8 */ _t29 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02777FA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02777FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02777FB0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02777FB0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02777FB0 */ if (_t31) goto L_02777FB4; else goto L_02777FD0;
|
|
L_02777FB4: ; // 0x2777fb4
|
|
/* 02777FB4 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02777FB8 */ cpu->r[4] = cpu->r[29] + 0x000059F1u;
|
|
/* 02777FBC */ cpu->r[27] = cpu->r[27] + 0x00001360u;
|
|
/* 02777FC0 */ cpu->r[5] = 0x00000019u;
|
|
/* 02777FC4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02777FC8 */ Gambit_fn_0282A374(cpu);
|
|
/* 02777FCC */ _t32 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02777FCC */ rbrew_write32(cpu->mem, _t32, cpu->r[27]);
|
|
L_02777FD0: ; // 0x2777fd0
|
|
/* 02777FD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02777FD4 */ Gambit_fn_02837030(cpu);
|
|
/* 02777FD8 */ _t33 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02777FD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
L_02777FDC: ; // 0x2777fdc
|
|
/* 02777FDC */ cpu->r[11] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02777FE0 */ cpu->r[4] = 0x10100000u;
|
|
/* 02777FE4 */ _t34 = cpu->r[11] + cpu->r[0];
|
|
/* 02777FE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02777FE8 */ cpu->r[4] = cpu->r[4] + 0x00003290u;
|
|
/* 02777FEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02777FF0 */ _t35 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02777FF0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02777FF0 */ if (_t36) goto L_02777FF4; // else: addr-0 trap, fall-through
|
|
L_02777FF4: ; // 0x2777ff4
|
|
/* 02777FF4 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02777FF8 */ goto L_02778274;
|
|
L_02777FFC: ; // 0x2777ffc
|
|
/* 02777FFC */ _t37 = cpu->r[9] + 0xFFFFED10u;
|
|
/* 02777FFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02778000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02778004 */ _t38 = cpu->r[4] + 0x00000000u;
|
|
/* 02778004 */ cpu->r[26] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02778008 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778008 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02778008 */ if (_t40) goto L_0277800C; else goto L_02778028;
|
|
L_0277800C: ; // 0x277800c
|
|
/* 0277800C */ cpu->r[0] = 0x00000001u;
|
|
/* 02778010 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02778014 */ cpu->r[3] = cpu->r[29] + 0x000059F1u;
|
|
/* 02778018 */ cpu->r[5] = 0x0000011Bu;
|
|
/* 0277801C */ cpu->r[4] = cpu->r[4] + 0xFFFF8EA0u;
|
|
/* 02778020 */ _t41 = cpu->r[9] + 0xFFFFED10u;
|
|
/* 02778020 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02778024 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02778028: ; // 0x2778028
|
|
/* 02778028 */ _t42 = cpu->r[30] + 0xFFFFED0Cu;
|
|
/* 02778028 */ cpu->r[5] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0277802C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02778030 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778030 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02778030 */ if (_t44) goto L_02778034; else goto L_02778044;
|
|
L_02778034: ; // 0x2778034
|
|
/* 02778034 */ cpu->r[0] = 0x00000001u;
|
|
/* 02778038 */ cpu->r[7] = 0x00000000u;
|
|
/* 0277803C */ _t45 = cpu->r[30] + 0xFFFFED0Cu;
|
|
/* 0277803C */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 02778040 */ _t46 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02778040 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
L_02778044: ; // 0x2778044
|
|
/* 02778044 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000019u);
|
|
/* 02778048 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778048 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02778048 */ if (_t48) goto L_02778068; else goto L_0277804C;
|
|
L_0277804C: ; // 0x277804c
|
|
/* 0277804C */ cpu->r[4] = 0x10100000u;
|
|
/* 02778050 */ cpu->r[5] = 0x00000000u;
|
|
/* 02778054 */ cpu->r[3] = cpu->r[31];
|
|
/* 02778058 */ cpu->r[4] = cpu->r[4] + 0x00003288u;
|
|
/* 0277805C */ _t49 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0277805C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0277805C */ if (_t50) goto L_02778060; // else: addr-0 trap, fall-through
|
|
L_02778060: ; // 0x2778060
|
|
/* 02778060 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02778064 */ goto L_02778274;
|
|
L_02778068: ; // 0x2778068
|
|
/* 02778068 */ _t51 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02778068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0277806C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02778070 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778070 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02778070 */ if (_t53) goto L_02778074; else goto L_027780B4;
|
|
L_02778074: ; // 0x2778074
|
|
/* 02778074 */ Gambit_fn_0282A450(cpu);
|
|
/* 02778078 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277807C */ Gambit_fn_02836FFC(cpu);
|
|
/* 02778080 */ _t54 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02778080 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02778084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02778088 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778088 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02778088 */ if (_t56) goto L_0277808C; else goto L_027780A8;
|
|
L_0277808C: ; // 0x277808c
|
|
/* 0277808C */ cpu->r[27] = 0x101D0000u;
|
|
/* 02778090 */ cpu->r[4] = cpu->r[29] + 0x000059F1u;
|
|
/* 02778094 */ cpu->r[27] = cpu->r[27] + 0x00001360u;
|
|
/* 02778098 */ cpu->r[5] = 0x00000019u;
|
|
/* 0277809C */ cpu->r[3] = cpu->r[27];
|
|
/* 027780A0 */ Gambit_fn_0282A374(cpu);
|
|
/* 027780A4 */ _t57 = cpu->r[28] + 0x0000135Cu;
|
|
/* 027780A4 */ rbrew_write32(cpu->mem, _t57, cpu->r[27]);
|
|
L_027780A8: ; // 0x27780a8
|
|
/* 027780A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027780AC */ Gambit_fn_02837030(cpu);
|
|
/* 027780B0 */ _t58 = cpu->r[28] + 0x0000135Cu;
|
|
/* 027780B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
L_027780B4: ; // 0x27780b4
|
|
/* 027780B4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 027780B8 */ cpu->r[4] = 0x10100000u;
|
|
/* 027780BC */ _t59 = cpu->r[9] + cpu->r[0];
|
|
/* 027780BC */ cpu->r[5] = rbrew_read32(cpu->mem, _t59);
|
|
/* 027780C0 */ cpu->r[4] = cpu->r[4] + 0x00003288u;
|
|
/* 027780C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027780C8 */ _t60 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027780C8 */ _t61 = _t60 & 0x00000001u;
|
|
/* 027780C8 */ if (_t61) goto L_027780CC; // else: addr-0 trap, fall-through
|
|
L_027780CC: ; // 0x27780cc
|
|
/* 027780CC */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027780D0 */ goto L_02778274;
|
|
L_027780D4: ; // 0x27780d4
|
|
/* 027780D4 */ _t62 = cpu->r[9] + 0xFFFFED10u;
|
|
/* 027780D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t62);
|
|
/* 027780D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 027780DC */ _t63 = cpu->r[4] + 0x00000000u;
|
|
/* 027780DC */ cpu->r[26] = rbrew_read32(cpu->mem, _t63);
|
|
/* 027780E0 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027780E0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 027780E0 */ if (_t65) goto L_027780E4; else goto L_02778100;
|
|
L_027780E4: ; // 0x27780e4
|
|
/* 027780E4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027780E8 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027780EC */ cpu->r[3] = cpu->r[29] + 0x000059F1u;
|
|
/* 027780F0 */ cpu->r[5] = 0x0000011Bu;
|
|
/* 027780F4 */ cpu->r[4] = cpu->r[4] + 0xFFFF8EA0u;
|
|
/* 027780F8 */ _t66 = cpu->r[9] + 0xFFFFED10u;
|
|
/* 027780F8 */ rbrew_write32(cpu->mem, _t66, cpu->r[0]);
|
|
/* 027780FC */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02778100: ; // 0x2778100
|
|
/* 02778100 */ _t67 = cpu->r[30] + 0xFFFFED0Cu;
|
|
/* 02778100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02778104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02778108 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778108 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02778108 */ if (_t69) goto L_0277810C; else goto L_0277811C;
|
|
L_0277810C: ; // 0x277810c
|
|
/* 0277810C */ cpu->r[0] = 0x00000001u;
|
|
/* 02778110 */ cpu->r[5] = 0x00000000u;
|
|
/* 02778114 */ _t70 = cpu->r[30] + 0xFFFFED0Cu;
|
|
/* 02778114 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 02778118 */ _t71 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02778118 */ rbrew_write32(cpu->mem, _t71, cpu->r[5]);
|
|
L_0277811C: ; // 0x277811c
|
|
/* 0277811C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000019u);
|
|
/* 02778120 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778120 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02778120 */ if (_t73) goto L_02778140; else goto L_02778124;
|
|
L_02778124: ; // 0x2778124
|
|
/* 02778124 */ cpu->r[4] = 0x10100000u;
|
|
/* 02778128 */ cpu->r[5] = 0x00000000u;
|
|
/* 0277812C */ cpu->r[3] = cpu->r[31];
|
|
/* 02778130 */ cpu->r[4] = cpu->r[4] + 0x0000329Cu;
|
|
/* 02778134 */ _t74 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02778134 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02778134 */ if (_t75) goto L_02778138; // else: addr-0 trap, fall-through
|
|
L_02778138: ; // 0x2778138
|
|
/* 02778138 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0277813C */ goto L_02778274;
|
|
L_02778140: ; // 0x2778140
|
|
/* 02778140 */ _t76 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02778140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02778144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02778148 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778148 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02778148 */ if (_t78) goto L_0277814C; else goto L_0277818C;
|
|
L_0277814C: ; // 0x277814c
|
|
/* 0277814C */ Gambit_fn_0282A450(cpu);
|
|
/* 02778150 */ cpu->r[30] = cpu->r[3];
|
|
/* 02778154 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02778158 */ _t79 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02778158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0277815C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02778160 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778160 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02778160 */ if (_t81) goto L_02778164; else goto L_02778180;
|
|
L_02778164: ; // 0x2778164
|
|
/* 02778164 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02778168 */ cpu->r[4] = cpu->r[29] + 0x000059F1u;
|
|
/* 0277816C */ cpu->r[27] = cpu->r[27] + 0x00001360u;
|
|
/* 02778170 */ cpu->r[5] = 0x00000019u;
|
|
/* 02778174 */ cpu->r[3] = cpu->r[27];
|
|
/* 02778178 */ Gambit_fn_0282A374(cpu);
|
|
/* 0277817C */ _t82 = cpu->r[28] + 0x0000135Cu;
|
|
/* 0277817C */ rbrew_write32(cpu->mem, _t82, cpu->r[27]);
|
|
L_02778180: ; // 0x2778180
|
|
/* 02778180 */ cpu->r[3] = cpu->r[30];
|
|
/* 02778184 */ Gambit_fn_02837030(cpu);
|
|
/* 02778188 */ _t83 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02778188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
L_0277818C: ; // 0x277818c
|
|
/* 0277818C */ cpu->r[7] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02778190 */ cpu->r[4] = 0x10100000u;
|
|
/* 02778194 */ _t84 = cpu->r[7] + cpu->r[0];
|
|
/* 02778194 */ cpu->r[5] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02778198 */ cpu->r[4] = cpu->r[4] + 0x0000329Cu;
|
|
/* 0277819C */ cpu->r[3] = cpu->r[31];
|
|
/* 027781A0 */ _t85 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027781A0 */ _t86 = _t85 & 0x00000001u;
|
|
/* 027781A0 */ if (_t86) goto L_027781A4; // else: addr-0 trap, fall-through
|
|
L_027781A4: ; // 0x27781a4
|
|
/* 027781A4 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 027781A8 */ goto L_02778274;
|
|
L_027781AC: ; // 0x27781ac
|
|
/* 027781AC */ _t87 = cpu->r[9] + 0xFFFFED10u;
|
|
/* 027781AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t87);
|
|
/* 027781B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 027781B4 */ _t88 = cpu->r[4] + 0x00000000u;
|
|
/* 027781B4 */ cpu->r[26] = rbrew_read32(cpu->mem, _t88);
|
|
/* 027781B8 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027781B8 */ _t90 = _t89 & 0x00000001u;
|
|
/* 027781B8 */ if (_t90) goto L_027781BC; else goto L_027781D8;
|
|
L_027781BC: ; // 0x27781bc
|
|
/* 027781BC */ cpu->r[10] = 0x00000001u;
|
|
/* 027781C0 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027781C4 */ cpu->r[3] = cpu->r[29] + 0x000059F1u;
|
|
/* 027781C8 */ cpu->r[5] = 0x0000011Bu;
|
|
/* 027781CC */ cpu->r[4] = cpu->r[4] + 0xFFFF8EA0u;
|
|
/* 027781D0 */ _t91 = cpu->r[9] + 0xFFFFED10u;
|
|
/* 027781D0 */ rbrew_write32(cpu->mem, _t91, cpu->r[10]);
|
|
/* 027781D4 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_027781D8: ; // 0x27781d8
|
|
/* 027781D8 */ _t92 = cpu->r[30] + 0xFFFFED0Cu;
|
|
/* 027781D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 027781DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027781E0 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027781E0 */ _t94 = _t93 & 0x00000001u;
|
|
/* 027781E0 */ if (_t94) goto L_027781E4; else goto L_027781F4;
|
|
L_027781E4: ; // 0x27781e4
|
|
/* 027781E4 */ cpu->r[12] = 0x00000001u;
|
|
/* 027781E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027781EC */ _t95 = cpu->r[30] + 0xFFFFED0Cu;
|
|
/* 027781EC */ rbrew_write32(cpu->mem, _t95, cpu->r[12]);
|
|
/* 027781F0 */ _t96 = cpu->r[28] + 0x0000135Cu;
|
|
/* 027781F0 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_027781F4: ; // 0x27781f4
|
|
/* 027781F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], 0x00000019u);
|
|
/* 027781F8 */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027781F8 */ _t98 = _t97 & 0x00000001u;
|
|
/* 027781F8 */ if (_t98) goto L_0277820C; else goto L_027781FC;
|
|
L_027781FC: ; // 0x27781fc
|
|
/* 027781FC */ cpu->r[4] = 0x10100000u;
|
|
/* 02778200 */ cpu->r[5] = 0x00000000u;
|
|
/* 02778204 */ cpu->r[4] = cpu->r[4] + 0x000032A8u;
|
|
/* 02778208 */ goto L_02778268;
|
|
L_0277820C: ; // 0x277820c
|
|
/* 0277820C */ _t99 = cpu->r[28] + 0x0000135Cu;
|
|
/* 0277820C */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02778210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02778214 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778214 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02778214 */ if (_t101) goto L_02778218; else goto L_02778258;
|
|
L_02778218: ; // 0x2778218
|
|
/* 02778218 */ Gambit_fn_0282A450(cpu);
|
|
/* 0277821C */ cpu->r[30] = cpu->r[3];
|
|
/* 02778220 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02778224 */ _t102 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02778224 */ cpu->r[6] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02778228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0277822C */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277822C */ _t104 = _t103 & 0x00000001u;
|
|
/* 0277822C */ if (_t104) goto L_02778230; else goto L_0277824C;
|
|
L_02778230: ; // 0x2778230
|
|
/* 02778230 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02778234 */ cpu->r[4] = cpu->r[29] + 0x000059F1u;
|
|
/* 02778238 */ cpu->r[27] = cpu->r[27] + 0x00001360u;
|
|
/* 0277823C */ cpu->r[5] = 0x00000019u;
|
|
/* 02778240 */ cpu->r[3] = cpu->r[27];
|
|
/* 02778244 */ Gambit_fn_0282A374(cpu);
|
|
/* 02778248 */ _t105 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02778248 */ rbrew_write32(cpu->mem, _t105, cpu->r[27]);
|
|
L_0277824C: ; // 0x277824c
|
|
/* 0277824C */ cpu->r[3] = cpu->r[30];
|
|
/* 02778250 */ Gambit_fn_02837030(cpu);
|
|
/* 02778254 */ _t106 = cpu->r[28] + 0x0000135Cu;
|
|
/* 02778254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t106);
|
|
L_02778258: ; // 0x2778258
|
|
/* 02778258 */ cpu->r[7] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0277825C */ cpu->r[4] = 0x10100000u;
|
|
/* 02778260 */ _t107 = cpu->r[7] + cpu->r[0];
|
|
/* 02778260 */ cpu->r[5] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02778264 */ cpu->r[4] = cpu->r[4] + 0x000032A8u;
|
|
L_02778268: ; // 0x2778268
|
|
/* 02778268 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277826C */ _t108 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0277826C */ _t109 = _t108 & 0x00000001u;
|
|
/* 0277826C */ if (_t109) goto L_02778270; // else: addr-0 trap, fall-through
|
|
L_02778270: ; // 0x2778270
|
|
/* 02778270 */ Gambit_fn_0282A5F4(cpu);
|
|
L_02778274: ; // 0x2778274
|
|
/* 02778274 */ /* nop */
|
|
/* 02778278 */ _t110 = cpu->r[1] + 0x00000024u;
|
|
/* 02778278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0277827C */ cpu->lr = cpu->r[0];
|
|
/* 02778280 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02778284 */ return;
|
|
}
|
|
|
|
// fn_02778288 @ 0x2778288
|
|
void Gambit_fn_02778288(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02778288: ; // 0x2778288
|
|
/* 02778288 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02778288 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778288 */ cpu->r[1] = _t0;
|
|
/* 0277828C */ /* nop */
|
|
/* 02778290 */ cpu->r[0] = cpu->lr;
|
|
/* 02778294 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02778294 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02778298 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0277829C */ _t2 = cpu->r[11] + 0xFFFFED10u;
|
|
/* 0277829C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0277829C */ cpu->r[11] = _t2;
|
|
/* 027782A0 */ cpu->r[31] = cpu->r[4];
|
|
/* 027782A4 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 027782A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t3);
|
|
/* 027782A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027782AC */ cpu->r[30] = 0x101D0000u;
|
|
/* 027782B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027782B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 027782B0 */ if (_t5) goto L_027782B4; else goto L_027782D0;
|
|
L_027782B4: ; // 0x27782b4
|
|
/* 027782B4 */ cpu->r[0] = 0x00000001u;
|
|
/* 027782B8 */ cpu->r[4] = 0x101D0000u;
|
|
/* 027782BC */ cpu->r[3] = cpu->r[30] + 0x000059F1u;
|
|
/* 027782C0 */ cpu->r[5] = 0x0000011Bu;
|
|
/* 027782C4 */ cpu->r[4] = cpu->r[4] + 0xFFFF8EA0u;
|
|
/* 027782C8 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 027782C8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 027782CC */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_027782D0: ; // 0x27782d0
|
|
/* 027782D0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 027782D4 */ _t7 = cpu->r[10] + 0xFFFFED0Cu;
|
|
/* 027782D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027782D4 */ cpu->r[10] = _t7;
|
|
/* 027782D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027782DC */ cpu->r[29] = 0x101D0000u;
|
|
/* 027782E0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027782E0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 027782E0 */ if (_t9) goto L_027782E4; else goto L_027782F4;
|
|
L_027782E4: ; // 0x27782e4
|
|
/* 027782E4 */ cpu->r[7] = 0x00000001u;
|
|
/* 027782E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027782EC */ _t10 = cpu->r[10] + 0x00000000u;
|
|
/* 027782EC */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 027782F0 */ _t11 = cpu->r[29] + 0x0000135Cu;
|
|
/* 027782F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_027782F4: ; // 0x27782f4
|
|
/* 027782F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000019u);
|
|
/* 027782F8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027782F8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 027782F8 */ if (_t13) goto L_02778318; else goto L_027782FC;
|
|
L_027782FC: ; // 0x27782fc
|
|
/* 027782FC */ cpu->r[4] = 0x10100000u;
|
|
/* 02778300 */ cpu->r[3] = cpu->r[31];
|
|
/* 02778304 */ cpu->r[4] = cpu->r[4] + 0x000032B4u;
|
|
/* 02778308 */ cpu->r[5] = 0x00000000u;
|
|
/* 0277830C */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0277830C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0277830C */ if (_t15) goto L_02778310; // else: addr-0 trap, fall-through
|
|
L_02778310: ; // 0x2778310
|
|
/* 02778310 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02778314 */ goto L_02778380;
|
|
L_02778318: ; // 0x2778318
|
|
/* 02778318 */ _t16 = cpu->r[29] + 0x0000135Cu;
|
|
/* 02778318 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277831C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02778320 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778320 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02778320 */ if (_t18) goto L_02778324; else goto L_02778364;
|
|
L_02778324: ; // 0x2778324
|
|
/* 02778324 */ Gambit_fn_0282A450(cpu);
|
|
/* 02778328 */ cpu->r[26] = cpu->r[3];
|
|
/* 0277832C */ Gambit_fn_02836FFC(cpu);
|
|
/* 02778330 */ _t19 = cpu->r[29] + 0x0000135Cu;
|
|
/* 02778330 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02778334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02778338 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778338 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02778338 */ if (_t21) goto L_0277833C; else goto L_02778358;
|
|
L_0277833C: ; // 0x277833c
|
|
/* 0277833C */ cpu->r[27] = 0x101D0000u;
|
|
/* 02778340 */ cpu->r[4] = cpu->r[30] + 0x000059F1u;
|
|
/* 02778344 */ cpu->r[27] = cpu->r[27] + 0x00001360u;
|
|
/* 02778348 */ cpu->r[5] = 0x00000019u;
|
|
/* 0277834C */ cpu->r[3] = cpu->r[27];
|
|
/* 02778350 */ Gambit_fn_0282A374(cpu);
|
|
/* 02778354 */ _t22 = cpu->r[29] + 0x0000135Cu;
|
|
/* 02778354 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
L_02778358: ; // 0x2778358
|
|
/* 02778358 */ cpu->r[3] = cpu->r[26];
|
|
/* 0277835C */ Gambit_fn_02837030(cpu);
|
|
/* 02778360 */ _t23 = cpu->r[29] + 0x0000135Cu;
|
|
/* 02778360 */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
|
|
L_02778364: ; // 0x2778364
|
|
/* 02778364 */ cpu->r[12] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02778368 */ cpu->r[4] = 0x10100000u;
|
|
/* 0277836C */ _t24 = cpu->r[12] + cpu->r[5];
|
|
/* 0277836C */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02778370 */ cpu->r[4] = cpu->r[4] + 0x000032B4u;
|
|
/* 02778374 */ cpu->r[3] = cpu->r[31];
|
|
/* 02778378 */ _t25 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02778378 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02778378 */ if (_t26) goto L_0277837C; // else: addr-0 trap, fall-through
|
|
L_0277837C: ; // 0x277837c
|
|
/* 0277837C */ Gambit_fn_0282A5F4(cpu);
|
|
L_02778380: ; // 0x2778380
|
|
/* 02778380 */ /* nop */
|
|
/* 02778384 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02778384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02778388 */ cpu->lr = cpu->r[0];
|
|
/* 0277838C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02778390 */ return;
|
|
}
|
|
|
|
// fn_02778394 @ 0x2778394
|
|
void Gambit_fn_02778394(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02778394: ; // 0x2778394
|
|
/* 02778394 */ cpu->r[0] = cpu->lr;
|
|
/* 02778398 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02778398 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778398 */ cpu->r[1] = _t0;
|
|
/* 0277839C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277839C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027783A0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027783A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027783A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027783A8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 027783AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027783AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027783B0 */ _t4 = cpu->r[12] + 0x00001344u;
|
|
/* 027783B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027783B4 */ cpu->r[4] = cpu->r[3];
|
|
/* 027783B8 */ _t5 = cpu->r[12] + 0x00000020u;
|
|
/* 027783B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027783BC */ Gambit_fn_0202457C(cpu);
|
|
/* 027783C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027783C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027783C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027783C4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027783C4 */ if (_t7) goto L_027783F4; else goto L_027783C8;
|
|
L_027783C8: ; // 0x27783c8
|
|
/* 027783C8 */ _t8 = cpu->r[31] + 0x00000010u;
|
|
/* 027783C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027783CC */ _t9 = cpu->r[10] + 0x00000014u;
|
|
/* 027783CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027783D0 */ cpu->ctr = cpu->r[0];
|
|
/* 027783D4 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 027783D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027783DC */ cpu->r[4] = 0x10100000u;
|
|
/* 027783E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027783E4 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027783E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027783E8 */ cpu->r[4] = cpu->r[4] + 0x000032C0u;
|
|
/* 027783EC */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027783EC */ _t12 = _t11 & 0x00000001u;
|
|
/* 027783EC */ if (_t12) goto L_027783F0; // else: addr-0 trap, fall-through
|
|
L_027783F0: ; // 0x27783f0
|
|
/* 027783F0 */ Gambit_fn_0282A5F4(cpu);
|
|
L_027783F4: ; // 0x27783f4
|
|
/* 027783F4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027783F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027783F8 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027783F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027783FC */ cpu->lr = cpu->r[0];
|
|
/* 02778400 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778400 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02778404 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02778408 */ return;
|
|
}
|
|
|
|
// fn_02778398 @ 0x2778398
|
|
void Gambit_fn_02778398(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02778398: ; // 0x2778398
|
|
/* 02778398 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02778398 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778398 */ cpu->r[1] = _t0;
|
|
/* 0277839C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277839C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027783A0 */ cpu->r[30] = cpu->r[4];
|
|
/* 027783A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027783A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027783A8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 027783AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 027783AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 027783B0 */ _t4 = cpu->r[12] + 0x00001344u;
|
|
/* 027783B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027783B4 */ cpu->r[4] = cpu->r[3];
|
|
/* 027783B8 */ _t5 = cpu->r[12] + 0x00000020u;
|
|
/* 027783B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 027783BC */ Gambit_fn_0202457C(cpu);
|
|
/* 027783C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 027783C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027783C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027783C4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 027783C4 */ if (_t7) goto L_027783F4; else goto L_027783C8;
|
|
L_027783C8: ; // 0x27783c8
|
|
/* 027783C8 */ _t8 = cpu->r[31] + 0x00000010u;
|
|
/* 027783C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027783CC */ _t9 = cpu->r[10] + 0x00000014u;
|
|
/* 027783CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027783D0 */ cpu->ctr = cpu->r[0];
|
|
/* 027783D4 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 027783D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 027783DC */ cpu->r[4] = 0x10100000u;
|
|
/* 027783E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 027783E4 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 027783E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 027783E8 */ cpu->r[4] = cpu->r[4] + 0x000032C0u;
|
|
/* 027783EC */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 027783EC */ _t12 = _t11 & 0x00000001u;
|
|
/* 027783EC */ if (_t12) goto L_027783F0; // else: addr-0 trap, fall-through
|
|
L_027783F0: ; // 0x27783f0
|
|
/* 027783F0 */ Gambit_fn_0282A5F4(cpu);
|
|
L_027783F4: ; // 0x27783f4
|
|
/* 027783F4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 027783F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027783F8 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 027783F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 027783FC */ cpu->lr = cpu->r[0];
|
|
/* 02778400 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778400 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02778404 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02778408 */ return;
|
|
}
|
|
|
|
// fn_0277840C @ 0x277840c
|
|
void Gambit_fn_0277840C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_0277840C: ; // 0x277840c
|
|
/* 0277840C */ cpu->r[0] = cpu->lr;
|
|
/* 02778410 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02778410 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02778414 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02778414 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02778414 */ cpu->r[1] = _t1;
|
|
/* 02778418 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02778418 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0277841C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 02778420 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778420 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02778420 */ if (_t4) goto L_02778440; else goto L_02778424;
|
|
L_02778424: ; // 0x2778424
|
|
/* 02778424 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778424 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02778424 */ if (_t6) goto L_02778470; else goto L_02778428;
|
|
L_02778428: ; // 0x2778428
|
|
/* 02778428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000003u);
|
|
/* 0277842C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277842C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0277842C */ if (_t8) goto L_027784A0; else goto L_02778430;
|
|
L_02778430: ; // 0x2778430
|
|
/* 02778430 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778430 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02778430 */ if (_t10) goto L_027784D0; else goto L_02778434;
|
|
L_02778434: ; // 0x2778434
|
|
/* 02778434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778438 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778438 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02778438 */ if (_t12) goto L_02778500; else goto L_0277843C;
|
|
L_0277843C: ; // 0x277843c
|
|
/* 0277843C */ goto L_02778510;
|
|
L_02778440: ; // 0x2778440
|
|
/* 02778440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778444 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778444 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02778444 */ if (_t14) goto L_02778448; else goto L_02778458;
|
|
L_02778448: ; // 0x2778448
|
|
/* 02778448 */ cpu->r[3] = 0x00000004u;
|
|
/* 0277844C */ Gambit_fn_02801A78(cpu);
|
|
/* 02778450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778454 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778454 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02778454 */ if (_t16) goto L_02778518; else goto L_02778458;
|
|
L_02778458: ; // 0x2778458
|
|
/* 02778458 */ cpu->r[12] = 0x00000003u;
|
|
/* 0277845C */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0277845C */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 02778460 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02778464 */ cpu->lr = cpu->r[0];
|
|
/* 02778468 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0277846C */ return;
|
|
L_02778470: ; // 0x2778470
|
|
/* 02778470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778474 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778474 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02778474 */ if (_t20) goto L_02778478; else goto L_02778488;
|
|
L_02778478: ; // 0x2778478
|
|
/* 02778478 */ cpu->r[3] = 0x00000004u;
|
|
/* 0277847C */ Gambit_fn_02801A78(cpu);
|
|
/* 02778480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778484 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778484 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02778484 */ if (_t22) goto L_02778518; else goto L_02778488;
|
|
L_02778488: ; // 0x2778488
|
|
/* 02778488 */ cpu->r[0] = 0x00000002u;
|
|
/* 0277848C */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 0277848C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02778490 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02778494 */ cpu->lr = cpu->r[0];
|
|
/* 02778498 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0277849C */ return;
|
|
L_027784A0: ; // 0x27784a0
|
|
/* 027784A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027784A4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027784A4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027784A4 */ if (_t26) goto L_027784A8; else goto L_027784B8;
|
|
L_027784A8: ; // 0x27784a8
|
|
/* 027784A8 */ cpu->r[3] = 0x00000004u;
|
|
/* 027784AC */ Gambit_fn_02801A78(cpu);
|
|
/* 027784B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027784B4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027784B4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 027784B4 */ if (_t28) goto L_02778518; else goto L_027784B8;
|
|
L_027784B8: ; // 0x27784b8
|
|
/* 027784B8 */ cpu->r[12] = 0x00000001u;
|
|
/* 027784BC */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 027784BC */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 027784C0 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027784C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027784C4 */ cpu->lr = cpu->r[0];
|
|
/* 027784C8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027784CC */ return;
|
|
L_027784D0: ; // 0x27784d0
|
|
/* 027784D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027784D4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027784D4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 027784D4 */ if (_t32) goto L_027784D8; else goto L_027784E8;
|
|
L_027784D8: ; // 0x27784d8
|
|
/* 027784D8 */ cpu->r[3] = 0x00000004u;
|
|
/* 027784DC */ Gambit_fn_02801A78(cpu);
|
|
/* 027784E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027784E4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027784E4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027784E4 */ if (_t34) goto L_02778518; else goto L_027784E8;
|
|
L_027784E8: ; // 0x27784e8
|
|
/* 027784E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027784EC */ _t35 = cpu->r[3] + 0x00000000u;
|
|
/* 027784EC */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 027784F0 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027784F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027784F4 */ cpu->lr = cpu->r[0];
|
|
/* 027784F8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027784FC */ return;
|
|
L_02778500: ; // 0x2778500
|
|
/* 02778500 */ cpu->r[3] = 0x00000004u;
|
|
/* 02778504 */ Gambit_fn_02801A78(cpu);
|
|
/* 02778508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277850C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277850C */ _t38 = _t37 & 0x00000001u;
|
|
/* 0277850C */ if (_t38) goto L_02778518; else goto L_02778510;
|
|
L_02778510: ; // 0x2778510
|
|
/* 02778510 */ cpu->r[0] = 0x00000003u;
|
|
/* 02778514 */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 02778514 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
L_02778518: ; // 0x2778518
|
|
/* 02778518 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0277851C */ cpu->lr = cpu->r[0];
|
|
/* 02778520 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02778524 */ return;
|
|
}
|
|
|
|
// fn_02778414 @ 0x2778414
|
|
void Gambit_fn_02778414(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02778414: ; // 0x2778414
|
|
/* 02778414 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02778414 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778414 */ cpu->r[1] = _t0;
|
|
/* 02778418 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02778418 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277841C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 02778420 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778420 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02778420 */ if (_t3) goto L_02778440; else goto L_02778424;
|
|
L_02778424: ; // 0x2778424
|
|
/* 02778424 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778424 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02778424 */ if (_t5) goto L_02778470; else goto L_02778428;
|
|
L_02778428: ; // 0x2778428
|
|
/* 02778428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000003u);
|
|
/* 0277842C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277842C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0277842C */ if (_t7) goto L_027784A0; else goto L_02778430;
|
|
L_02778430: ; // 0x2778430
|
|
/* 02778430 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778430 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02778430 */ if (_t9) goto L_027784D0; else goto L_02778434;
|
|
L_02778434: ; // 0x2778434
|
|
/* 02778434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778438 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778438 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02778438 */ if (_t11) goto L_02778500; else goto L_0277843C;
|
|
L_0277843C: ; // 0x277843c
|
|
/* 0277843C */ goto L_02778510;
|
|
L_02778440: ; // 0x2778440
|
|
/* 02778440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778444 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778444 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02778444 */ if (_t13) goto L_02778448; else goto L_02778458;
|
|
L_02778448: ; // 0x2778448
|
|
/* 02778448 */ cpu->r[3] = 0x00000004u;
|
|
/* 0277844C */ Gambit_fn_02801A78(cpu);
|
|
/* 02778450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778454 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778454 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02778454 */ if (_t15) goto L_02778518; else goto L_02778458;
|
|
L_02778458: ; // 0x2778458
|
|
/* 02778458 */ cpu->r[12] = 0x00000003u;
|
|
/* 0277845C */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0277845C */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02778460 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02778464 */ cpu->lr = cpu->r[0];
|
|
/* 02778468 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0277846C */ return;
|
|
L_02778470: ; // 0x2778470
|
|
/* 02778470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778474 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778474 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02778474 */ if (_t19) goto L_02778478; else goto L_02778488;
|
|
L_02778478: ; // 0x2778478
|
|
/* 02778478 */ cpu->r[3] = 0x00000004u;
|
|
/* 0277847C */ Gambit_fn_02801A78(cpu);
|
|
/* 02778480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778484 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778484 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02778484 */ if (_t21) goto L_02778518; else goto L_02778488;
|
|
L_02778488: ; // 0x2778488
|
|
/* 02778488 */ cpu->r[0] = 0x00000002u;
|
|
/* 0277848C */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 0277848C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02778490 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02778494 */ cpu->lr = cpu->r[0];
|
|
/* 02778498 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0277849C */ return;
|
|
L_027784A0: ; // 0x27784a0
|
|
/* 027784A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027784A4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027784A4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 027784A4 */ if (_t25) goto L_027784A8; else goto L_027784B8;
|
|
L_027784A8: ; // 0x27784a8
|
|
/* 027784A8 */ cpu->r[3] = 0x00000004u;
|
|
/* 027784AC */ Gambit_fn_02801A78(cpu);
|
|
/* 027784B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027784B4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027784B4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 027784B4 */ if (_t27) goto L_02778518; else goto L_027784B8;
|
|
L_027784B8: ; // 0x27784b8
|
|
/* 027784B8 */ cpu->r[12] = 0x00000001u;
|
|
/* 027784BC */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 027784BC */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
/* 027784C0 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027784C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027784C4 */ cpu->lr = cpu->r[0];
|
|
/* 027784C8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027784CC */ return;
|
|
L_027784D0: ; // 0x27784d0
|
|
/* 027784D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027784D4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027784D4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 027784D4 */ if (_t31) goto L_027784D8; else goto L_027784E8;
|
|
L_027784D8: ; // 0x27784d8
|
|
/* 027784D8 */ cpu->r[3] = 0x00000004u;
|
|
/* 027784DC */ Gambit_fn_02801A78(cpu);
|
|
/* 027784E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027784E4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027784E4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 027784E4 */ if (_t33) goto L_02778518; else goto L_027784E8;
|
|
L_027784E8: ; // 0x27784e8
|
|
/* 027784E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 027784EC */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 027784EC */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 027784F0 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027784F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027784F4 */ cpu->lr = cpu->r[0];
|
|
/* 027784F8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027784FC */ return;
|
|
L_02778500: ; // 0x2778500
|
|
/* 02778500 */ cpu->r[3] = 0x00000004u;
|
|
/* 02778504 */ Gambit_fn_02801A78(cpu);
|
|
/* 02778508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277850C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277850C */ _t37 = _t36 & 0x00000001u;
|
|
/* 0277850C */ if (_t37) goto L_02778518; else goto L_02778510;
|
|
L_02778510: ; // 0x2778510
|
|
/* 02778510 */ cpu->r[0] = 0x00000003u;
|
|
/* 02778514 */ _t38 = cpu->r[3] + 0x00000000u;
|
|
/* 02778514 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
L_02778518: ; // 0x2778518
|
|
/* 02778518 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0277851C */ cpu->lr = cpu->r[0];
|
|
/* 02778520 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02778524 */ return;
|
|
}
|
|
|
|
// fn_02778528 @ 0x2778528
|
|
void Gambit_fn_02778528(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02778528: ; // 0x2778528
|
|
/* 02778528 */ cpu->r[0] = cpu->lr;
|
|
/* 0277852C */ cpu->r[11] = 0x10100000u;
|
|
/* 02778530 */ cpu->r[12] = 0x10100000u;
|
|
/* 02778534 */ cpu->r[11] = cpu->r[11] + 0x00003270u;
|
|
/* 02778538 */ cpu->r[12] = cpu->r[12] + 0x000032C4u;
|
|
/* 0277853C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0277853C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02778540 */ cpu->r[0] = 0x10100000u;
|
|
/* 02778544 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02778544 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02778544 */ cpu->r[1] = _t1;
|
|
/* 02778548 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02778548 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0277854C */ cpu->r[0] = cpu->r[0] + 0x000032D0u;
|
|
/* 02778550 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02778550 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02778554 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 02778558 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02778558 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0277855C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02778560 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778560 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02778564 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02778568 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02778568 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0277856C */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 0277856C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02778570 */ Gambit_fn_027ECE60(cpu);
|
|
/* 02778574 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02778574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02778578 */ cpu->lr = cpu->r[0];
|
|
/* 0277857C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02778580 */ return;
|
|
}
|
|
|
|
// fn_02778544 @ 0x2778544
|
|
void Gambit_fn_02778544(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02778544: ; // 0x2778544
|
|
/* 02778544 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02778544 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778544 */ cpu->r[1] = _t0;
|
|
/* 02778548 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02778548 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0277854C */ cpu->r[0] = cpu->r[0] + 0x000032D0u;
|
|
/* 02778550 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02778550 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02778554 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 02778558 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02778558 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0277855C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02778560 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778560 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02778564 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02778568 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02778568 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0277856C */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 0277856C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02778570 */ Gambit_fn_027ECE60(cpu);
|
|
/* 02778574 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02778574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02778578 */ cpu->lr = cpu->r[0];
|
|
/* 0277857C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02778580 */ return;
|
|
}
|
|
|
|
// fn_02778584 @ 0x2778584
|
|
void Gambit_fn_02778584(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02778584: ; // 0x2778584
|
|
/* 02778584 */ cpu->r[0] = cpu->lr;
|
|
/* 02778588 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02778588 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0277858C */ cpu->r[12] = 0x10100000u;
|
|
/* 02778590 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02778590 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02778590 */ cpu->r[1] = _t1;
|
|
/* 02778594 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02778594 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02778598 */ cpu->r[11] = 0x43300000u;
|
|
/* 0277859C */ _t3 = cpu->r[12] + 0x000032E0u;
|
|
/* 0277859C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t3);
|
|
/* 027785A0 */ cpu->r[0] = cpu->r[9] ^ 0x80000000u;
|
|
/* 027785A4 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 027785A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 027785A8 */ cpu->r[12] = 0x10100000u;
|
|
/* 027785AC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 027785AC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 027785B0 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 027785B0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 027785B4 */ cpu->r[12] = cpu->r[12] + 0x000032E8u;
|
|
/* 027785B8 */ cpu->r[10] = 0x10100000u;
|
|
/* 027785BC */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 027785C0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 027785C0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 027785C4 */ cpu->r[4] = cpu->r[5];
|
|
/* 027785C8 */ cpu->r[10] = cpu->r[10] + 0x00003270u;
|
|
/* 027785CC */ cpu->f[1] = (double)(float)cpu->f[0];
|
|
/* 027785D0 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027785D0 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 027785D4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027785D8 */ Gambit_fn_027EDDA4(cpu);
|
|
/* 027785DC */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027785DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 027785E0 */ cpu->lr = cpu->r[0];
|
|
/* 027785E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027785E8 */ return;
|
|
}
|
|
|
|
// fn_02778590 @ 0x2778590
|
|
void Gambit_fn_02778590(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02778590: ; // 0x2778590
|
|
/* 02778590 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02778590 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778590 */ cpu->r[1] = _t0;
|
|
/* 02778594 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02778594 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02778598 */ cpu->r[11] = 0x43300000u;
|
|
/* 0277859C */ _t2 = cpu->r[12] + 0x000032E0u;
|
|
/* 0277859C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t2);
|
|
/* 027785A0 */ cpu->r[0] = cpu->r[9] ^ 0x80000000u;
|
|
/* 027785A4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 027785A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 027785A8 */ cpu->r[12] = 0x10100000u;
|
|
/* 027785AC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 027785AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027785B0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 027785B0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t5);
|
|
/* 027785B4 */ cpu->r[12] = cpu->r[12] + 0x000032E8u;
|
|
/* 027785B8 */ cpu->r[10] = 0x10100000u;
|
|
/* 027785BC */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 027785C0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 027785C0 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 027785C4 */ cpu->r[4] = cpu->r[5];
|
|
/* 027785C8 */ cpu->r[10] = cpu->r[10] + 0x00003270u;
|
|
/* 027785CC */ cpu->f[1] = (double)(float)cpu->f[0];
|
|
/* 027785D0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027785D0 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 027785D4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 027785D8 */ Gambit_fn_027EDDA4(cpu);
|
|
/* 027785DC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027785DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 027785E0 */ cpu->lr = cpu->r[0];
|
|
/* 027785E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027785E8 */ return;
|
|
}
|
|
|
|
// fn_027785EC @ 0x27785ec
|
|
void Gambit_fn_027785EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027785EC: ; // 0x27785ec
|
|
/* 027785EC */ cpu->r[0] = cpu->lr;
|
|
/* 027785F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027785F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027785F0 */ cpu->r[1] = _t0;
|
|
/* 027785F4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027785F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027785F8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027785F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027785FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02778600 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02778600 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02778604 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02778604 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02778608 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277860C */ cpu->r[31] = cpu->r[5];
|
|
/* 02778610 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02778614 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02778614 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02778618 */ Gambit_fn_02777DE8(cpu);
|
|
/* 0277861C */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0277861C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02778620 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778624 */ cpu->r[5] = cpu->r[31];
|
|
/* 02778628 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277862C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277862C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02778630 */ Gambit_fn_02778584(cpu);
|
|
/* 02778634 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02778634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02778638 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02778638 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277863C */ cpu->lr = cpu->r[0];
|
|
/* 02778640 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02778640 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02778644 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02778648 */ return;
|
|
}
|
|
|
|
// fn_027785F0 @ 0x27785f0
|
|
void Gambit_fn_027785F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_027785F0: ; // 0x27785f0
|
|
/* 027785F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027785F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027785F0 */ cpu->r[1] = _t0;
|
|
/* 027785F4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 027785F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 027785F8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027785F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027785FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02778600 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02778600 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02778604 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02778604 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02778608 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277860C */ cpu->r[31] = cpu->r[5];
|
|
/* 02778610 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02778614 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02778614 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02778618 */ Gambit_fn_02777DE8(cpu);
|
|
/* 0277861C */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 0277861C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02778620 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778624 */ cpu->r[5] = cpu->r[31];
|
|
/* 02778628 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277862C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277862C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02778630 */ Gambit_fn_02778584(cpu);
|
|
/* 02778634 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02778634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02778638 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02778638 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277863C */ cpu->lr = cpu->r[0];
|
|
/* 02778640 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02778640 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02778644 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02778648 */ return;
|
|
}
|
|
|
|
// fn_0277864C @ 0x277864c
|
|
void Gambit_fn_0277864C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_0277864C: ; // 0x277864c
|
|
/* 0277864C */ cpu->r[0] = cpu->lr;
|
|
/* 02778650 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02778650 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778650 */ cpu->r[1] = _t0;
|
|
/* 02778654 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02778654 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02778658 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778658 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277865C */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 0277865C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02778660 */ cpu->r[31] = cpu->r[3];
|
|
/* 02778664 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02778664 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02778668 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0277866C */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 0277866C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02778670 */ Gambit_fn_02175308(cpu);
|
|
/* 02778674 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02778678 */ Gambit_fn_02177484(cpu);
|
|
/* 0277867C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02778680 */ _t6 = cpu->r[12] + 0x00001344u;
|
|
/* 02778680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02778684 */ _t7 = cpu->r[12] + 0x00000020u;
|
|
/* 02778684 */ cpu->r[28] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02778688 */ _t8 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02778688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0277868C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02778690 */ cpu->r[29] = cpu->r[0] - cpu->r[31];
|
|
/* 02778694 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778694 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02778694 */ if (_t10) goto L_02778698; else goto L_02778760;
|
|
L_02778698: ; // 0x2778698
|
|
/* 02778698 */ cpu->r[3] = cpu->r[28];
|
|
/* 0277869C */ cpu->r[4] = cpu->r[31];
|
|
/* 027786A0 */ Gambit_fn_0202461C(cpu);
|
|
/* 027786A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 027786A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027786A8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027786A8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027786A8 */ if (_t12) goto L_02778754; else goto L_027786AC;
|
|
L_027786AC: ; // 0x27786ac
|
|
/* 027786AC */ _t13 = cpu->r[30] + 0x00000144u;
|
|
/* 027786AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027786B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000000Au);
|
|
/* 027786B4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027786B4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027786B4 */ if (_t15) goto L_02778754; else goto L_027786B8;
|
|
L_027786B8: ; // 0x27786b8
|
|
/* 027786B8 */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 027786B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027786BC */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027786C0 */ Gambit_fn_02177538(cpu);
|
|
/* 027786C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027786C8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027786C8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027786C8 */ if (_t18) goto L_027786CC; else goto L_02778754;
|
|
L_027786CC: ; // 0x27786cc
|
|
/* 027786CC */ _t19 = cpu->r[30] + 0x00000144u;
|
|
/* 027786CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027786D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027786D4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027786D4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027786D4 */ if (_t21) goto L_027786EC; else goto L_027786D8;
|
|
L_027786D8: ; // 0x27786d8
|
|
/* 027786D8 */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 027786D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027786DC */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027786E0 */ Gambit_fn_021775D8(cpu);
|
|
/* 027786E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027786E8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027786E8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027786E8 */ if (_t24) goto L_02778754; else goto L_027786EC;
|
|
L_027786EC: ; // 0x27786ec
|
|
/* 027786EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027786F0 */ Gambit_fn_02175E78(cpu);
|
|
/* 027786F4 */ _t25 = cpu->r[30] + 0x00000140u;
|
|
/* 027786F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027786F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]);
|
|
/* 027786FC */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027786FC */ _t27 = _t26 & 0x00000001u;
|
|
/* 027786FC */ if (_t27) goto L_02778754; else goto L_02778700;
|
|
L_02778700: ; // 0x2778700
|
|
/* 02778700 */ _t28 = cpu->r[30] + 0x00000000u;
|
|
/* 02778700 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02778704 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778708 */ Gambit_fn_02175850(cpu);
|
|
/* 0277870C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778710 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778710 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02778710 */ if (_t30) goto L_02778714; else goto L_02778754;
|
|
L_02778714: ; // 0x2778714
|
|
/* 02778714 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778718 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 0277871C */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 0277871C */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02778720 */ Gambit_fn_02177524(cpu);
|
|
/* 02778724 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778728 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0277872C */ Gambit_fn_021753A0(cpu);
|
|
/* 02778730 */ _t32 = cpu->r[1] + 0x00000020u;
|
|
/* 02778730 */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02778734 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02778734 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02778738 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 02778738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0277873C */ cpu->r[3] = cpu->r[31];
|
|
/* 02778740 */ _t35 = cpu->r[1] + 0x00000028u;
|
|
/* 02778740 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02778744 */ cpu->lr = cpu->r[0];
|
|
/* 02778748 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778748 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0277874C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02778750 */ return;
|
|
L_02778754: ; // 0x2778754
|
|
/* 02778754 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02778754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02778758 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277875C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277875C */ _t38 = _t37 & 0x00000001u;
|
|
/* 0277875C */ if (_t38) goto L_02778760; else goto L_02778698;
|
|
L_02778760: ; // 0x2778760
|
|
/* 02778760 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02778764 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778768 */ Gambit_fn_02177524(cpu);
|
|
/* 0277876C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778770 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778774 */ Gambit_fn_021753A0(cpu);
|
|
/* 02778778 */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 02778778 */ cpu->r[28] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0277877C */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 0277877C */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02778780 */ _t41 = cpu->r[1] + 0x00000034u;
|
|
/* 02778780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02778784 */ _t42 = cpu->r[1] + 0x00000028u;
|
|
/* 02778784 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02778788 */ cpu->lr = cpu->r[0];
|
|
/* 0277878C */ _t43 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0277878C */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02778790 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02778794 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02778798 */ return;
|
|
}
|
|
|
|
// fn_02778650 @ 0x2778650
|
|
void Gambit_fn_02778650(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02778650: ; // 0x2778650
|
|
/* 02778650 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02778650 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778650 */ cpu->r[1] = _t0;
|
|
/* 02778654 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02778654 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02778658 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778658 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277865C */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 0277865C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02778660 */ cpu->r[31] = cpu->r[3];
|
|
/* 02778664 */ _t4 = cpu->r[1] + 0x00000028u;
|
|
/* 02778664 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02778668 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0277866C */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 0277866C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02778670 */ Gambit_fn_02175308(cpu);
|
|
/* 02778674 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02778678 */ Gambit_fn_02177484(cpu);
|
|
/* 0277867C */ cpu->r[12] = 0x101C0000u;
|
|
/* 02778680 */ _t6 = cpu->r[12] + 0x00001344u;
|
|
/* 02778680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02778684 */ _t7 = cpu->r[12] + 0x00000020u;
|
|
/* 02778684 */ cpu->r[28] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02778688 */ _t8 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02778688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0277868C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02778690 */ cpu->r[29] = cpu->r[0] - cpu->r[31];
|
|
/* 02778694 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778694 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02778694 */ if (_t10) goto L_02778698; else goto L_02778760;
|
|
L_02778698: ; // 0x2778698
|
|
/* 02778698 */ cpu->r[3] = cpu->r[28];
|
|
/* 0277869C */ cpu->r[4] = cpu->r[31];
|
|
/* 027786A0 */ Gambit_fn_0202461C(cpu);
|
|
/* 027786A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 027786A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 027786A8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027786A8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 027786A8 */ if (_t12) goto L_02778754; else goto L_027786AC;
|
|
L_027786AC: ; // 0x27786ac
|
|
/* 027786AC */ _t13 = cpu->r[30] + 0x00000144u;
|
|
/* 027786AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 027786B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000000Au);
|
|
/* 027786B4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027786B4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027786B4 */ if (_t15) goto L_02778754; else goto L_027786B8;
|
|
L_027786B8: ; // 0x27786b8
|
|
/* 027786B8 */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 027786B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 027786BC */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027786C0 */ Gambit_fn_02177538(cpu);
|
|
/* 027786C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027786C8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027786C8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 027786C8 */ if (_t18) goto L_027786CC; else goto L_02778754;
|
|
L_027786CC: ; // 0x27786cc
|
|
/* 027786CC */ _t19 = cpu->r[30] + 0x00000144u;
|
|
/* 027786CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 027786D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027786D4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027786D4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 027786D4 */ if (_t21) goto L_027786EC; else goto L_027786D8;
|
|
L_027786D8: ; // 0x27786d8
|
|
/* 027786D8 */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 027786D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 027786DC */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 027786E0 */ Gambit_fn_021775D8(cpu);
|
|
/* 027786E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027786E8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027786E8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 027786E8 */ if (_t24) goto L_02778754; else goto L_027786EC;
|
|
L_027786EC: ; // 0x27786ec
|
|
/* 027786EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027786F0 */ Gambit_fn_02175E78(cpu);
|
|
/* 027786F4 */ _t25 = cpu->r[30] + 0x00000140u;
|
|
/* 027786F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 027786F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]);
|
|
/* 027786FC */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027786FC */ _t27 = _t26 & 0x00000001u;
|
|
/* 027786FC */ if (_t27) goto L_02778754; else goto L_02778700;
|
|
L_02778700: ; // 0x2778700
|
|
/* 02778700 */ _t28 = cpu->r[30] + 0x00000000u;
|
|
/* 02778700 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02778704 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778708 */ Gambit_fn_02175850(cpu);
|
|
/* 0277870C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778710 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778710 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02778710 */ if (_t30) goto L_02778714; else goto L_02778754;
|
|
L_02778714: ; // 0x2778714
|
|
/* 02778714 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778718 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 0277871C */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 0277871C */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02778720 */ Gambit_fn_02177524(cpu);
|
|
/* 02778724 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778728 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0277872C */ Gambit_fn_021753A0(cpu);
|
|
/* 02778730 */ _t32 = cpu->r[1] + 0x00000020u;
|
|
/* 02778730 */ cpu->r[28] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02778734 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02778734 */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02778738 */ _t34 = cpu->r[1] + 0x00000034u;
|
|
/* 02778738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0277873C */ cpu->r[3] = cpu->r[31];
|
|
/* 02778740 */ _t35 = cpu->r[1] + 0x00000028u;
|
|
/* 02778740 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02778744 */ cpu->lr = cpu->r[0];
|
|
/* 02778748 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778748 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0277874C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02778750 */ return;
|
|
L_02778754: ; // 0x2778754
|
|
/* 02778754 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02778754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02778758 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277875C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277875C */ _t38 = _t37 & 0x00000001u;
|
|
/* 0277875C */ if (_t38) goto L_02778760; else goto L_02778698;
|
|
L_02778760: ; // 0x2778760
|
|
/* 02778760 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02778764 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778768 */ Gambit_fn_02177524(cpu);
|
|
/* 0277876C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778770 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778774 */ Gambit_fn_021753A0(cpu);
|
|
/* 02778778 */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 02778778 */ cpu->r[28] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0277877C */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 0277877C */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02778780 */ _t41 = cpu->r[1] + 0x00000034u;
|
|
/* 02778780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02778784 */ _t42 = cpu->r[1] + 0x00000028u;
|
|
/* 02778784 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02778788 */ cpu->lr = cpu->r[0];
|
|
/* 0277878C */ _t43 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0277878C */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02778790 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02778794 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02778798 */ return;
|
|
}
|
|
|
|
// fn_0277879C @ 0x277879c
|
|
void Gambit_fn_0277879C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0277879C: ; // 0x277879c
|
|
/* 0277879C */ cpu->r[0] = cpu->lr;
|
|
/* 027787A0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027787A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027787A4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027787A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027787A4 */ cpu->r[1] = _t1;
|
|
/* 027787A8 */ Gambit_fn_0277864C(cpu);
|
|
/* 027787AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027787B0 */ cpu->r[3] = cpu->r[0] ^ 0x00000001u;
|
|
/* 027787B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027787B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027787B8 */ cpu->lr = cpu->r[0];
|
|
/* 027787BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027787C0 */ return;
|
|
}
|
|
|
|
// fn_027787A4 @ 0x27787a4
|
|
void Gambit_fn_027787A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027787A4: ; // 0x27787a4
|
|
/* 027787A4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027787A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027787A4 */ cpu->r[1] = _t0;
|
|
/* 027787A8 */ Gambit_fn_0277864C(cpu);
|
|
/* 027787AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027787B0 */ cpu->r[3] = cpu->r[0] ^ 0x00000001u;
|
|
/* 027787B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027787B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027787B8 */ cpu->lr = cpu->r[0];
|
|
/* 027787BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 027787C0 */ return;
|
|
}
|
|
|
|
// fn_027787C4 @ 0x27787c4
|
|
void Gambit_fn_027787C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_027787C4: ; // 0x27787c4
|
|
/* 027787C4 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 027787C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027787C4 */ cpu->r[1] = _t0;
|
|
/* 027787C8 */ /* nop */
|
|
/* 027787CC */ cpu->r[0] = cpu->lr;
|
|
/* 027787D0 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027787D4 */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 027787D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 027787D8 */ Gambit_fn_02175308(cpu);
|
|
/* 027787DC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027787E0 */ Gambit_fn_02177484(cpu);
|
|
/* 027787E4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027787E8 */ Gambit_fn_02173CCC(cpu);
|
|
/* 027787EC */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027787F0 */ Gambit_fn_02171FD8(cpu);
|
|
/* 027787F4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 027787F8 */ _t2 = cpu->r[12] + 0x00001344u;
|
|
/* 027787F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027787FC */ _t3 = cpu->r[12] + 0x00000020u;
|
|
/* 027787FC */ cpu->r[26] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02778800 */ _t4 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02778800 */ cpu->r[24] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02778804 */ _t5 = cpu->r[12] + 0x00000010u;
|
|
/* 02778804 */ cpu->r[27] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02778808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0277880C */ cpu->r[28] = 0x00000000u;
|
|
/* 02778810 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02778810 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02778810 */ if (_t7) goto L_02778814; else goto L_02778994;
|
|
L_02778814: ; // 0x2778814
|
|
/* 02778814 */ cpu->r[25] = 0x00000002u;
|
|
/* 02778818 */ cpu->r[23] = cpu->r[1] + 0x00000044u;
|
|
L_0277881C: ; // 0x277881c
|
|
/* 0277881C */ cpu->r[3] = cpu->r[26];
|
|
/* 02778820 */ cpu->r[4] = cpu->r[28];
|
|
/* 02778824 */ Gambit_fn_0202461C(cpu);
|
|
/* 02778828 */ cpu->r[29] = cpu->r[3];
|
|
/* 02778828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0277882C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277882C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277882C */ if (_t9) goto L_02778988; else goto L_02778830;
|
|
L_02778830: ; // 0x2778830
|
|
/* 02778830 */ _t10 = cpu->r[29] + 0x00000000u;
|
|
/* 02778830 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02778834 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02778838 */ Gambit_fn_021775D8(cpu);
|
|
/* 0277883C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778840 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778840 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02778840 */ if (_t12) goto L_02778844; else goto L_02778988;
|
|
L_02778844: ; // 0x2778844
|
|
/* 02778844 */ _t13 = cpu->r[29] + 0x00000144u;
|
|
/* 02778844 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02778848 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 0277884C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000005u);
|
|
/* 02778850 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778850 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02778850 */ if (_t15) goto L_02778854; else goto L_02778908;
|
|
L_02778854: ; // 0x2778854
|
|
/* 02778854 */ _t16 = cpu->r[27] + 0x00000000u;
|
|
/* 02778854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02778858 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277885C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02778860 */ cpu->r[30] = cpu->r[12] + 0x00000063u;
|
|
/* 02778864 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778864 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02778864 */ if (_t18) goto L_02778868; else goto L_02778908;
|
|
L_02778868: ; // 0x2778868
|
|
/* 02778868 */ cpu->r[22] = 0x00000000u;
|
|
L_0277886C: ; // 0x277886c
|
|
/* 0277886C */ cpu->r[3] = cpu->r[27];
|
|
/* 02778870 */ cpu->r[4] = cpu->r[31];
|
|
/* 02778874 */ Gambit_fn_0201A404(cpu);
|
|
/* 02778878 */ cpu->r[5] = cpu->r[3];
|
|
/* 02778878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0277887C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277887C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0277887C */ if (_t20) goto L_027788F4; else goto L_02778880;
|
|
L_02778880: ; // 0x2778880
|
|
/* 02778880 */ _t21 = cpu->r[5] + 0x00000010u;
|
|
/* 02778880 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02778884 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02778888 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778888 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02778888 */ if (_t23) goto L_0277888C; else goto L_027788F4;
|
|
L_0277888C: ; // 0x277888c
|
|
/* 0277888C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02778890 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778894 */ cpu->r[4] = cpu->r[30];
|
|
/* 02778898 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02778898 */ rbrew_write32(cpu->mem, _t24, cpu->r[22]);
|
|
/* 0277889C */ Gambit_fn_02173F74(cpu);
|
|
/* 027788A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027788A4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027788A4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 027788A4 */ if (_t26) goto L_027788F4; else goto L_027788A8;
|
|
L_027788A8: ; // 0x27788a8
|
|
/* 027788A8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027788AC */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 027788B0 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 027788B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027788B4 */ Gambit_fn_02172078(cpu);
|
|
/* 027788B8 */ cpu->r[4] = 0x00000002u;
|
|
/* 027788BC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027788C0 */ Gambit_fn_02173D6C(cpu);
|
|
/* 027788C4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027788C8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027788CC */ Gambit_fn_02177524(cpu);
|
|
/* 027788D0 */ cpu->r[4] = 0x00000002u;
|
|
/* 027788D4 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027788D8 */ Gambit_fn_021753A0(cpu);
|
|
/* 027788DC */ cpu->r[3] = cpu->r[31];
|
|
/* 027788E0 */ /* nop */
|
|
/* 027788E4 */ _t28 = cpu->r[1] + 0x00000074u;
|
|
/* 027788E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 027788E8 */ cpu->lr = cpu->r[0];
|
|
/* 027788EC */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 027788F0 */ return;
|
|
L_027788F4: ; // 0x27788f4
|
|
/* 027788F4 */ _t29 = cpu->r[27] + 0x00000000u;
|
|
/* 027788F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 027788F8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 027788FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 02778900 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778900 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02778900 */ if (_t31) goto L_0277886C; else goto L_02778904;
|
|
L_02778904: ; // 0x2778904
|
|
/* 02778904 */ _t32 = cpu->r[29] + 0x00000144u;
|
|
/* 02778904 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
L_02778908: ; // 0x2778908
|
|
/* 02778908 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFF9u;
|
|
/* 0277890C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02778910 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778910 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02778910 */ if (_t34) goto L_02778914; else goto L_02778988;
|
|
L_02778914: ; // 0x2778914
|
|
/* 02778914 */ _t35 = cpu->r[1] + 0x00000044u;
|
|
/* 02778914 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02778918 */ _t36 = cpu->r[23] + 0x00000000u;
|
|
/* 02778918 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0277891C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02778920 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02778924 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02778924 */ rbrew_write32(cpu->mem, _t37, cpu->r[25]);
|
|
/* 02778928 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0277892C */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 0277892C */ rbrew_write32(cpu->mem, _t38, cpu->r[10]);
|
|
/* 02778930 */ Gambit_fn_0217208C(cpu);
|
|
/* 02778934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778938 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778938 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02778938 */ if (_t40) goto L_02778988; else goto L_0277893C;
|
|
L_0277893C: ; // 0x277893c
|
|
/* 0277893C */ cpu->r[4] = 0x00000002u;
|
|
/* 02778940 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778944 */ _t41 = cpu->r[29] + 0x00000000u;
|
|
/* 02778944 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02778948 */ Gambit_fn_02172078(cpu);
|
|
/* 0277894C */ cpu->r[4] = 0x00000002u;
|
|
/* 02778950 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778954 */ Gambit_fn_02173D6C(cpu);
|
|
/* 02778958 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277895C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02778960 */ Gambit_fn_02177524(cpu);
|
|
/* 02778964 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778968 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 0277896C */ Gambit_fn_021753A0(cpu);
|
|
/* 02778970 */ cpu->r[3] = cpu->r[31];
|
|
/* 02778974 */ /* nop */
|
|
/* 02778978 */ _t42 = cpu->r[1] + 0x00000074u;
|
|
/* 02778978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0277897C */ cpu->lr = cpu->r[0];
|
|
/* 02778980 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02778984 */ return;
|
|
L_02778988: ; // 0x2778988
|
|
/* 02778988 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02778988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0277898C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02778990 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778990 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02778990 */ if (_t44) goto L_02778994; else goto L_0277881C;
|
|
L_02778994: ; // 0x2778994
|
|
/* 02778994 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778998 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277899C */ Gambit_fn_02172078(cpu);
|
|
/* 027789A0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 027789A4 */ cpu->r[4] = 0x00000002u;
|
|
/* 027789A8 */ Gambit_fn_02173D6C(cpu);
|
|
/* 027789AC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027789B0 */ cpu->r[4] = 0x00000002u;
|
|
/* 027789B4 */ Gambit_fn_02177524(cpu);
|
|
/* 027789B8 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 027789BC */ cpu->r[4] = 0x00000002u;
|
|
/* 027789C0 */ Gambit_fn_021753A0(cpu);
|
|
/* 027789C4 */ /* nop */
|
|
/* 027789C8 */ _t45 = cpu->r[1] + 0x00000074u;
|
|
/* 027789C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 027789CC */ cpu->lr = cpu->r[0];
|
|
/* 027789D0 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 027789D4 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 027789D8 */ return;
|
|
}
|
|
|
|
// fn_027789DC @ 0x27789dc
|
|
void Gambit_fn_027789DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_027789DC: ; // 0x27789dc
|
|
/* 027789DC */ cpu->r[0] = cpu->lr;
|
|
/* 027789E0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 027789E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 027789E4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027789E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 027789E4 */ cpu->r[1] = _t1;
|
|
/* 027789E8 */ Gambit_fn_027787C4(cpu);
|
|
/* 027789EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027789F0 */ cpu->r[3] = cpu->r[0] ^ 0x00000001u;
|
|
/* 027789F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027789F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 027789F8 */ cpu->lr = cpu->r[0];
|
|
/* 027789FC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02778A00 */ return;
|
|
}
|
|
|
|
// fn_027789E4 @ 0x27789e4
|
|
void Gambit_fn_027789E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_027789E4: ; // 0x27789e4
|
|
/* 027789E4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 027789E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027789E4 */ cpu->r[1] = _t0;
|
|
/* 027789E8 */ Gambit_fn_027787C4(cpu);
|
|
/* 027789EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 027789F0 */ cpu->r[3] = cpu->r[0] ^ 0x00000001u;
|
|
/* 027789F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027789F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027789F8 */ cpu->lr = cpu->r[0];
|
|
/* 027789FC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02778A00 */ return;
|
|
}
|
|
|
|
// fn_02778A04 @ 0x2778a04
|
|
void Gambit_fn_02778A04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_02778A04: ; // 0x2778a04
|
|
/* 02778A04 */ cpu->r[0] = cpu->lr;
|
|
/* 02778A08 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02778A08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778A08 */ cpu->r[1] = _t0;
|
|
/* 02778A0C */ cpu->r[9] = 0x10100000u;
|
|
/* 02778A10 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02778A10 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02778A14 */ cpu->r[10] = 0x10100000u;
|
|
/* 02778A18 */ cpu->r[9] = cpu->r[9] + 0x00003270u;
|
|
/* 02778A1C */ cpu->r[30] = cpu->r[3];
|
|
/* 02778A20 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02778A20 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02778A24 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02778A28 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 02778A2C */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02778A2C */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02778A30 */ cpu->r[10] = cpu->r[10] + 0x000032F4u;
|
|
/* 02778A34 */ _t4 = cpu->r[1] + 0x00000044u;
|
|
/* 02778A34 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02778A38 */ _t5 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 02778A38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02778A3C */ cpu->r[5] = 0x00000001u;
|
|
/* 02778A40 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02778A40 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02778A44 */ Gambit_fn_028095AC(cpu);
|
|
/* 02778A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778A4C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778A4C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02778A4C */ if (_t8) goto L_02778A78; else goto L_02778A50;
|
|
L_02778A50: ; // 0x2778a50
|
|
/* 02778A50 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02778A50 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02778A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02778A58 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778A58 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02778A58 */ if (_t11) goto L_02778A78; else goto L_02778A5C;
|
|
L_02778A5C: ; // 0x2778a5c
|
|
/* 02778A5C */ _t12 = cpu->r[1] + 0x00000044u;
|
|
/* 02778A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02778A60 */ _t13 = cpu->r[1] + 0x00000038u;
|
|
/* 02778A60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02778A64 */ cpu->lr = cpu->r[0];
|
|
/* 02778A68 */ _t14 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02778A68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02778A6C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02778A70 */ cpu->r[3] = 0x00000000u;
|
|
/* 02778A74 */ return;
|
|
L_02778A78: ; // 0x2778a78
|
|
/* 02778A78 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778A7C */ Gambit_fn_02175308(cpu);
|
|
/* 02778A80 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02778A84 */ Gambit_fn_02177484(cpu);
|
|
/* 02778A88 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02778A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02778A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02778A90 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778A90 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02778A90 */ if (_t17) goto L_02778A94; else goto L_02778B0C;
|
|
L_02778A94: ; // 0x2778a94
|
|
/* 02778A94 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 02778A94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02778A98 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778A9C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778AA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778AA0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02778AA4 */ Gambit_fn_0277840C(cpu);
|
|
/* 02778AA8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02778AAC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02778AB0 */ Gambit_fn_02177E18(cpu);
|
|
/* 02778AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778AB8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778AB8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02778AB8 */ if (_t21) goto L_02778BB0; else goto L_02778ABC;
|
|
L_02778ABC: ; // 0x2778abc
|
|
/* 02778ABC */ cpu->r[3] = 0x00000000u;
|
|
/* 02778AC0 */ Gambit_fn_0277879C(cpu);
|
|
/* 02778AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778AC8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778AC8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02778AC8 */ if (_t23) goto L_02778ACC; else goto L_02778BB0;
|
|
L_02778ACC: ; // 0x2778acc
|
|
/* 02778ACC */ Gambit_fn_027789DC(cpu);
|
|
/* 02778AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778AD4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778AD4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02778AD4 */ if (_t25) goto L_02778AD8; else goto L_02778BB0;
|
|
L_02778AD8: ; // 0x2778ad8
|
|
/* 02778AD8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02778ADC */ cpu->r[4] = 0x00000002u;
|
|
/* 02778AE0 */ Gambit_fn_02177524(cpu);
|
|
/* 02778AE4 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778AE8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778AEC */ Gambit_fn_021753A0(cpu);
|
|
/* 02778AF0 */ _t26 = cpu->r[1] + 0x00000044u;
|
|
/* 02778AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02778AF4 */ _t27 = cpu->r[1] + 0x00000038u;
|
|
/* 02778AF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02778AF8 */ cpu->lr = cpu->r[0];
|
|
/* 02778AFC */ _t28 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02778AFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02778B00 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02778B04 */ cpu->r[3] = 0x00000000u;
|
|
/* 02778B08 */ return;
|
|
L_02778B0C: ; // 0x2778b0c
|
|
/* 02778B0C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778B10 */ Gambit_fn_02175E78(cpu);
|
|
/* 02778B14 */ cpu->r[7] = 0x10000000u;
|
|
/* 02778B18 */ cpu->r[7] = cpu->r[7] + 0x000032BCu;
|
|
/* 02778B1C */ cpu->r[31] = 0x00000000u;
|
|
/* 02778B20 */ cpu->r[0] = cpu->r[7];
|
|
/* 02778B24 */ goto L_02778B30;
|
|
L_02778B28: ; // 0x2778b28
|
|
/* 02778B28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000006u);
|
|
/* 02778B2C */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778B2C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02778B2C */ if (_t30) goto L_02778B30; else goto L_02778B38;
|
|
L_02778B30: ; // 0x2778b30
|
|
/* 02778B30 */ cpu->r[8] = cpu->r[7];
|
|
/* 02778B34 */ goto L_02778B3C;
|
|
L_02778B38: ; // 0x2778b38
|
|
/* 02778B38 */ cpu->r[8] = cpu->r[0];
|
|
L_02778B3C: ; // 0x2778b3c
|
|
/* 02778B3C */ _t31 = cpu->r[8] + 0x00000000u;
|
|
/* 02778B3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02778B40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[3]);
|
|
/* 02778B44 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02778B44 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02778B44 */ if (_t33) goto L_02778B48; else goto L_02778B74;
|
|
L_02778B48: ; // 0x2778b48
|
|
/* 02778B48 */ _t34 = cpu->r[30] + 0x00000000u;
|
|
/* 02778B48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02778B4C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02778B50 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02778B54 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02778B54 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02778B58 */ Gambit_fn_02777CF4(cpu);
|
|
/* 02778B5C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02778B60 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02778B64 */ Gambit_fn_02177D68(cpu);
|
|
/* 02778B68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[3]);
|
|
/* 02778B6C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778B6C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02778B6C */ if (_t37) goto L_02778AD8; else goto L_02778B70;
|
|
L_02778B70: ; // 0x2778b70
|
|
/* 02778B70 */ goto L_02778BB0;
|
|
L_02778B74: ; // 0x2778b74
|
|
/* 02778B74 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02778B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000006u);
|
|
/* 02778B7C */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 02778B80 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778B80 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02778B80 */ if (_t39) goto L_02778B28; else goto L_02778B84;
|
|
L_02778B84: ; // 0x2778b84
|
|
/* 02778B84 */ _t40 = cpu->r[30] + 0x00000000u;
|
|
/* 02778B84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02778B88 */ cpu->r[31] = 0x00000006u;
|
|
/* 02778B8C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02778B90 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02778B94 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02778B94 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02778B98 */ Gambit_fn_02777CF4(cpu);
|
|
/* 02778B9C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02778BA0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02778BA4 */ Gambit_fn_02177D68(cpu);
|
|
/* 02778BA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[3]);
|
|
/* 02778BAC */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778BAC */ _t43 = _t42 & 0x00000001u;
|
|
/* 02778BAC */ if (_t43) goto L_02778AD8; else goto L_02778BB0;
|
|
L_02778BB0: ; // 0x2778bb0
|
|
/* 02778BB0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02778BB4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778BB8 */ Gambit_fn_02177524(cpu);
|
|
/* 02778BBC */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778BC0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778BC4 */ Gambit_fn_021753A0(cpu);
|
|
/* 02778BC8 */ _t44 = cpu->r[1] + 0x00000044u;
|
|
/* 02778BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02778BCC */ _t45 = cpu->r[1] + 0x00000038u;
|
|
/* 02778BCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02778BD0 */ cpu->lr = cpu->r[0];
|
|
/* 02778BD4 */ _t46 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02778BD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02778BD8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02778BDC */ cpu->r[3] = 0x00000001u;
|
|
/* 02778BE0 */ return;
|
|
}
|
|
|
|
// fn_02778A08 @ 0x2778a08
|
|
void Gambit_fn_02778A08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _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_02778A08: ; // 0x2778a08
|
|
/* 02778A08 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02778A08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778A08 */ cpu->r[1] = _t0;
|
|
/* 02778A0C */ cpu->r[9] = 0x10100000u;
|
|
/* 02778A10 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02778A10 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02778A14 */ cpu->r[10] = 0x10100000u;
|
|
/* 02778A18 */ cpu->r[9] = cpu->r[9] + 0x00003270u;
|
|
/* 02778A1C */ cpu->r[30] = cpu->r[3];
|
|
/* 02778A20 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02778A20 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02778A24 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02778A28 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 02778A2C */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02778A2C */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02778A30 */ cpu->r[10] = cpu->r[10] + 0x000032F4u;
|
|
/* 02778A34 */ _t4 = cpu->r[1] + 0x00000044u;
|
|
/* 02778A34 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02778A38 */ _t5 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 02778A38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02778A3C */ cpu->r[5] = 0x00000001u;
|
|
/* 02778A40 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02778A40 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02778A44 */ Gambit_fn_028095AC(cpu);
|
|
/* 02778A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778A4C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778A4C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02778A4C */ if (_t8) goto L_02778A78; else goto L_02778A50;
|
|
L_02778A50: ; // 0x2778a50
|
|
/* 02778A50 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02778A50 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02778A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02778A58 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778A58 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02778A58 */ if (_t11) goto L_02778A78; else goto L_02778A5C;
|
|
L_02778A5C: ; // 0x2778a5c
|
|
/* 02778A5C */ _t12 = cpu->r[1] + 0x00000044u;
|
|
/* 02778A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02778A60 */ _t13 = cpu->r[1] + 0x00000038u;
|
|
/* 02778A60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02778A64 */ cpu->lr = cpu->r[0];
|
|
/* 02778A68 */ _t14 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02778A68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02778A6C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02778A70 */ cpu->r[3] = 0x00000000u;
|
|
/* 02778A74 */ return;
|
|
L_02778A78: ; // 0x2778a78
|
|
/* 02778A78 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778A7C */ Gambit_fn_02175308(cpu);
|
|
/* 02778A80 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02778A84 */ Gambit_fn_02177484(cpu);
|
|
/* 02778A88 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02778A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02778A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02778A90 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778A90 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02778A90 */ if (_t17) goto L_02778A94; else goto L_02778B0C;
|
|
L_02778A94: ; // 0x2778a94
|
|
/* 02778A94 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 02778A94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02778A98 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778A9C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778AA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778AA0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02778AA4 */ Gambit_fn_0277840C(cpu);
|
|
/* 02778AA8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02778AAC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02778AB0 */ Gambit_fn_02177E18(cpu);
|
|
/* 02778AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778AB8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778AB8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02778AB8 */ if (_t21) goto L_02778BB0; else goto L_02778ABC;
|
|
L_02778ABC: ; // 0x2778abc
|
|
/* 02778ABC */ cpu->r[3] = 0x00000000u;
|
|
/* 02778AC0 */ Gambit_fn_0277879C(cpu);
|
|
/* 02778AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778AC8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778AC8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02778AC8 */ if (_t23) goto L_02778ACC; else goto L_02778BB0;
|
|
L_02778ACC: ; // 0x2778acc
|
|
/* 02778ACC */ Gambit_fn_027789DC(cpu);
|
|
/* 02778AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778AD4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778AD4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02778AD4 */ if (_t25) goto L_02778AD8; else goto L_02778BB0;
|
|
L_02778AD8: ; // 0x2778ad8
|
|
/* 02778AD8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02778ADC */ cpu->r[4] = 0x00000002u;
|
|
/* 02778AE0 */ Gambit_fn_02177524(cpu);
|
|
/* 02778AE4 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778AE8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778AEC */ Gambit_fn_021753A0(cpu);
|
|
/* 02778AF0 */ _t26 = cpu->r[1] + 0x00000044u;
|
|
/* 02778AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02778AF4 */ _t27 = cpu->r[1] + 0x00000038u;
|
|
/* 02778AF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02778AF8 */ cpu->lr = cpu->r[0];
|
|
/* 02778AFC */ _t28 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02778AFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02778B00 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02778B04 */ cpu->r[3] = 0x00000000u;
|
|
/* 02778B08 */ return;
|
|
L_02778B0C: ; // 0x2778b0c
|
|
/* 02778B0C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778B10 */ Gambit_fn_02175E78(cpu);
|
|
/* 02778B14 */ cpu->r[7] = 0x10000000u;
|
|
/* 02778B18 */ cpu->r[7] = cpu->r[7] + 0x000032BCu;
|
|
/* 02778B1C */ cpu->r[31] = 0x00000000u;
|
|
/* 02778B20 */ cpu->r[0] = cpu->r[7];
|
|
/* 02778B24 */ goto L_02778B30;
|
|
L_02778B28: ; // 0x2778b28
|
|
/* 02778B28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000006u);
|
|
/* 02778B2C */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778B2C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02778B2C */ if (_t30) goto L_02778B30; else goto L_02778B38;
|
|
L_02778B30: ; // 0x2778b30
|
|
/* 02778B30 */ cpu->r[8] = cpu->r[7];
|
|
/* 02778B34 */ goto L_02778B3C;
|
|
L_02778B38: ; // 0x2778b38
|
|
/* 02778B38 */ cpu->r[8] = cpu->r[0];
|
|
L_02778B3C: ; // 0x2778b3c
|
|
/* 02778B3C */ _t31 = cpu->r[8] + 0x00000000u;
|
|
/* 02778B3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02778B40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[3]);
|
|
/* 02778B44 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02778B44 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02778B44 */ if (_t33) goto L_02778B48; else goto L_02778B74;
|
|
L_02778B48: ; // 0x2778b48
|
|
/* 02778B48 */ _t34 = cpu->r[30] + 0x00000000u;
|
|
/* 02778B48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02778B4C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02778B50 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02778B54 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02778B54 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02778B58 */ Gambit_fn_02777CF4(cpu);
|
|
/* 02778B5C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02778B60 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02778B64 */ Gambit_fn_02177D68(cpu);
|
|
/* 02778B68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[3]);
|
|
/* 02778B6C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778B6C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02778B6C */ if (_t37) goto L_02778AD8; else goto L_02778B70;
|
|
L_02778B70: ; // 0x2778b70
|
|
/* 02778B70 */ goto L_02778BB0;
|
|
L_02778B74: ; // 0x2778b74
|
|
/* 02778B74 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02778B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000006u);
|
|
/* 02778B7C */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 02778B80 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778B80 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02778B80 */ if (_t39) goto L_02778B28; else goto L_02778B84;
|
|
L_02778B84: ; // 0x2778b84
|
|
/* 02778B84 */ _t40 = cpu->r[30] + 0x00000000u;
|
|
/* 02778B84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02778B88 */ cpu->r[31] = 0x00000006u;
|
|
/* 02778B8C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02778B90 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02778B94 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02778B94 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02778B98 */ Gambit_fn_02777CF4(cpu);
|
|
/* 02778B9C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02778BA0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02778BA4 */ Gambit_fn_02177D68(cpu);
|
|
/* 02778BA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[3]);
|
|
/* 02778BAC */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778BAC */ _t43 = _t42 & 0x00000001u;
|
|
/* 02778BAC */ if (_t43) goto L_02778AD8; else goto L_02778BB0;
|
|
L_02778BB0: ; // 0x2778bb0
|
|
/* 02778BB0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02778BB4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778BB8 */ Gambit_fn_02177524(cpu);
|
|
/* 02778BBC */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778BC0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778BC4 */ Gambit_fn_021753A0(cpu);
|
|
/* 02778BC8 */ _t44 = cpu->r[1] + 0x00000044u;
|
|
/* 02778BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02778BCC */ _t45 = cpu->r[1] + 0x00000038u;
|
|
/* 02778BCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02778BD0 */ cpu->lr = cpu->r[0];
|
|
/* 02778BD4 */ _t46 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02778BD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02778BD8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02778BDC */ cpu->r[3] = 0x00000001u;
|
|
/* 02778BE0 */ return;
|
|
}
|
|
|
|
// fn_02778BE8 @ 0x2778be8
|
|
void Gambit_fn_02778BE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_02778BE8: ; // 0x2778be8
|
|
/* 02778BE8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02778BE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778BE8 */ cpu->r[1] = _t0;
|
|
/* 02778BEC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02778BEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02778BF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02778BF4 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02778BF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02778BF8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778BFC */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778BFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02778C00 */ Gambit_fn_02175308(cpu);
|
|
/* 02778C04 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02778C08 */ Gambit_fn_02177484(cpu);
|
|
/* 02778C0C */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02778C0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02778C10 */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 02778C10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02778C14 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02778C18 */ cpu->r[30] = cpu->r[31] + cpu->r[8];
|
|
/* 02778C1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02778C20 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778C20 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02778C20 */ if (_t7) goto L_02778CE0; else goto L_02778C24;
|
|
L_02778C24: ; // 0x2778c24
|
|
/* 02778C24 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02778C24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02778C28 */ _t9 = cpu->r[9] + 0x00000144u;
|
|
/* 02778C28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02778C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000000Au);
|
|
/* 02778C30 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778C30 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02778C30 */ if (_t11) goto L_02778CD4; else goto L_02778C34;
|
|
L_02778C34: ; // 0x2778c34
|
|
/* 02778C34 */ _t12 = cpu->r[9] + 0x00000000u;
|
|
/* 02778C34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02778C38 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02778C3C */ Gambit_fn_02177538(cpu);
|
|
/* 02778C40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778C44 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778C44 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02778C44 */ if (_t14) goto L_02778C48; else goto L_02778CD4;
|
|
L_02778C48: ; // 0x2778c48
|
|
/* 02778C48 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02778C48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02778C4C */ _t16 = cpu->r[9] + 0x00000144u;
|
|
/* 02778C4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02778C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02778C54 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778C54 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02778C54 */ if (_t18) goto L_02778C6C; else goto L_02778C58;
|
|
L_02778C58: ; // 0x2778c58
|
|
/* 02778C58 */ _t19 = cpu->r[9] + 0x00000000u;
|
|
/* 02778C58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02778C5C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02778C60 */ Gambit_fn_021775D8(cpu);
|
|
/* 02778C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778C68 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778C68 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02778C68 */ if (_t21) goto L_02778CD4; else goto L_02778C6C;
|
|
L_02778C6C: ; // 0x2778c6c
|
|
/* 02778C6C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778C70 */ Gambit_fn_02175E78(cpu);
|
|
/* 02778C74 */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 02778C74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02778C78 */ _t23 = cpu->r[9] + 0x00000140u;
|
|
/* 02778C78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02778C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[10]);
|
|
/* 02778C80 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778C80 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02778C80 */ if (_t25) goto L_02778CD4; else goto L_02778C84;
|
|
L_02778C84: ; // 0x2778c84
|
|
/* 02778C84 */ _t26 = cpu->r[9] + 0x00000000u;
|
|
/* 02778C84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02778C88 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778C8C */ Gambit_fn_02175850(cpu);
|
|
/* 02778C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778C94 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778C94 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02778C94 */ if (_t28) goto L_02778C98; else goto L_02778CD4;
|
|
L_02778C98: ; // 0x2778c98
|
|
/* 02778C98 */ _t29 = cpu->r[31] + 0x00000000u;
|
|
/* 02778C98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02778C9C */ cpu->r[4] = 0x00000002u;
|
|
/* 02778CA0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02778CA4 */ _t30 = cpu->r[12] + 0x00000000u;
|
|
/* 02778CA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02778CA8 */ Gambit_fn_02177524(cpu);
|
|
/* 02778CAC */ cpu->r[4] = 0x00000002u;
|
|
/* 02778CB0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778CB4 */ Gambit_fn_021753A0(cpu);
|
|
/* 02778CB8 */ _t31 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02778CBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02778CC0 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02778CC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02778CC4 */ cpu->lr = cpu->r[0];
|
|
/* 02778CC8 */ _t33 = cpu->r[1] + 0x00000020u;
|
|
/* 02778CC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02778CCC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02778CD0 */ return;
|
|
L_02778CD4: ; // 0x2778cd4
|
|
/* 02778CD4 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02778CD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02778CDC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778CDC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02778CDC */ if (_t35) goto L_02778CE0; else goto L_02778C24;
|
|
L_02778CE0: ; // 0x2778ce0
|
|
/* 02778CE0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02778CE4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778CE8 */ Gambit_fn_02177524(cpu);
|
|
/* 02778CEC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778CF0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778CF4 */ Gambit_fn_021753A0(cpu);
|
|
/* 02778CF8 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778CF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02778CFC */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02778CFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02778D00 */ cpu->lr = cpu->r[0];
|
|
/* 02778D04 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02778D04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02778D08 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02778D0C */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02778D10 */ return;
|
|
}
|
|
|
|
// fn_02778D14 @ 0x2778d14
|
|
void Gambit_fn_02778D14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_02778D14: ; // 0x2778d14
|
|
/* 02778D14 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02778D14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778D14 */ cpu->r[1] = _t0;
|
|
/* 02778D18 */ /* nop */
|
|
/* 02778D1C */ cpu->r[28] = cpu->r[3];
|
|
/* 02778D20 */ cpu->r[0] = cpu->lr;
|
|
/* 02778D24 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778D28 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778D28 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02778D2C */ cpu->r[29] = cpu->r[4];
|
|
/* 02778D30 */ Gambit_fn_02175308(cpu);
|
|
/* 02778D34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778D38 */ _t2 = cpu->r[28] + 0x00000000u;
|
|
/* 02778D38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02778D3C */ cpu->r[30] = 0x00000000u;
|
|
/* 02778D40 */ Gambit_fn_02175850(cpu);
|
|
/* 02778D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778D48 */ cpu->r[27] = 0x101C0000u;
|
|
/* 02778D4C */ _t3 = cpu->r[29] + 0x00000000u;
|
|
/* 02778D4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02778D50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778D50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02778D50 */ if (_t5) goto L_02778D7C; else goto L_02778D54;
|
|
L_02778D54: ; // 0x2778d54
|
|
/* 02778D54 */ _t6 = cpu->r[28] + 0x00000004u;
|
|
/* 02778D54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02778D58 */ /* nop */
|
|
/* 02778D5C */ _t7 = cpu->r[27] + 0x00001358u;
|
|
/* 02778D5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02778D60 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02778D64 */ cpu->r[8] = cpu->r[9] + cpu->r[7];
|
|
/* 02778D68 */ _t8 = cpu->r[8] + 0x0000028Cu;
|
|
/* 02778D68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02778D6C */ cpu->r[10] = 0x00000020u - cpu->r[11];
|
|
/* 02778D70 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], cpu->r[10], 0x0000001Fu, 0x0000001Fu);
|
|
/* 02778D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02778D74 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778D74 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02778D74 */ if (_t10) goto L_02778D78; else goto L_02778D7C;
|
|
L_02778D78: ; // 0x2778d78
|
|
/* 02778D78 */ cpu->r[30] = 0x00000001u;
|
|
L_02778D7C: ; // 0x2778d7c
|
|
/* 02778D7C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778D80 */ cpu->r[31] = 0x00000000u;
|
|
/* 02778D84 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02778D88 */ Gambit_fn_02175850(cpu);
|
|
/* 02778D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778D90 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778D90 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02778D90 */ if (_t12) goto L_02778DBC; else goto L_02778D94;
|
|
L_02778D94: ; // 0x2778d94
|
|
/* 02778D94 */ _t13 = cpu->r[29] + 0x00000004u;
|
|
/* 02778D94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02778D98 */ /* nop */
|
|
/* 02778D9C */ _t14 = cpu->r[27] + 0x00001358u;
|
|
/* 02778D9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02778DA0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02778DA4 */ cpu->r[8] = cpu->r[9] + cpu->r[7];
|
|
/* 02778DA8 */ _t15 = cpu->r[8] + 0x0000028Cu;
|
|
/* 02778DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02778DAC */ cpu->r[9] = 0x00000020u - cpu->r[11];
|
|
/* 02778DB0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], cpu->r[9], 0x0000001Fu, 0x0000001Fu);
|
|
/* 02778DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02778DB4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778DB4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02778DB4 */ if (_t17) goto L_02778DB8; else goto L_02778DBC;
|
|
L_02778DB8: ; // 0x2778db8
|
|
/* 02778DB8 */ cpu->r[31] = 0x00000001u;
|
|
L_02778DBC: ; // 0x2778dbc
|
|
/* 02778DBC */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02778DC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02778DC4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778DC4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02778DC4 */ if (_t19) goto L_02778DD8; else goto L_02778DC8;
|
|
L_02778DC8: ; // 0x2778dc8
|
|
/* 02778DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02778DCC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778DCC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02778DCC */ if (_t21) goto L_02778DD0; else goto L_02778E10;
|
|
L_02778DD0: ; // 0x2778dd0
|
|
/* 02778DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02778DD4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778DD4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02778DD4 */ if (_t23) goto L_02778DD8; else goto L_02778E3C;
|
|
L_02778DD8: ; // 0x2778dd8
|
|
/* 02778DD8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778DDC */ Gambit_fn_02175E78(cpu);
|
|
/* 02778DE0 */ _t24 = cpu->r[29] + 0x00000140u;
|
|
/* 02778DE0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02778DE4 */ _t25 = cpu->r[28] + 0x00000140u;
|
|
/* 02778DE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02778DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[7]);
|
|
/* 02778DEC */ /* nop */
|
|
/* 02778DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[8]);
|
|
/* 02778DF4 */ /* nop */
|
|
/* 02778DF8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02778DFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02778E00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02778E04 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778E04 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02778E04 */ if (_t27) goto L_02778E60; else goto L_02778E08;
|
|
L_02778E08: ; // 0x2778e08
|
|
/* 02778E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[7]);
|
|
/* 02778E0C */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778E0C */ _t29 = _t28 & 0x00000001u;
|
|
/* 02778E0C */ if (_t29) goto L_02778E10; else goto L_02778E34;
|
|
L_02778E10: ; // 0x2778e10
|
|
/* 02778E10 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778E14 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778E18 */ Gambit_fn_021753A0(cpu);
|
|
/* 02778E1C */ /* nop */
|
|
/* 02778E20 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02778E24 */ cpu->lr = cpu->r[0];
|
|
/* 02778E28 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02778E2C */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02778E30 */ return;
|
|
L_02778E34: ; // 0x2778e34
|
|
/* 02778E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[8]);
|
|
/* 02778E38 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778E38 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02778E38 */ if (_t32) goto L_02778E3C; else goto L_02778E60;
|
|
L_02778E3C: ; // 0x2778e3c
|
|
/* 02778E3C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778E40 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778E44 */ Gambit_fn_021753A0(cpu);
|
|
/* 02778E48 */ /* nop */
|
|
/* 02778E4C */ _t33 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778E4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02778E50 */ cpu->lr = cpu->r[0];
|
|
/* 02778E54 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02778E58 */ cpu->r[3] = 0x00000001u;
|
|
/* 02778E5C */ return;
|
|
L_02778E60: ; // 0x2778e60
|
|
/* 02778E60 */ _t34 = cpu->r[28] + 0x00000008u;
|
|
/* 02778E60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02778E64 */ _t35 = cpu->r[29] + 0x00000008u;
|
|
/* 02778E64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02778E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
|
|
/* 02778E6C */ cpu->r[31] = 0x00000001u;
|
|
/* 02778E70 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02778E70 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02778E70 */ if (_t37) goto L_02778E78; else goto L_02778E74;
|
|
L_02778E74: ; // 0x2778e74
|
|
/* 02778E74 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
L_02778E78: ; // 0x2778e78
|
|
/* 02778E78 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778E7C */ cpu->r[4] = 0x00000002u;
|
|
/* 02778E80 */ Gambit_fn_021753A0(cpu);
|
|
/* 02778E84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02778E88 */ /* nop */
|
|
/* 02778E8C */ _t38 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778E8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02778E90 */ cpu->lr = cpu->r[0];
|
|
/* 02778E94 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02778E98 */ return;
|
|
}
|
|
|
|
// fn_02778E9C @ 0x2778e9c
|
|
void Gambit_fn_02778E9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02778E9C: ; // 0x2778e9c
|
|
/* 02778E9C */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 02778EA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02778EA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778EA0 */ cpu->r[1] = _t0;
|
|
/* 02778EA4 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02778EA8 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02778EAC */ _t1 = cpu->r[10] + 0x00001DA0u;
|
|
/* 02778EAC */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02778EAC */ cpu->r[10] = _t1;
|
|
/* 02778EB0 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02778EB4 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02778EB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02778EB8 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02778EBC */ cpu->r[8] = 0x101F0000u;
|
|
/* 02778EC0 */ _t3 = cpu->r[7] + 0x00001DB0u;
|
|
/* 02778EC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02778EC0 */ cpu->r[7] = _t3;
|
|
/* 02778EC4 */ _t4 = cpu->r[8] + 0x00001DA8u;
|
|
/* 02778EC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02778EC4 */ cpu->r[8] = _t4;
|
|
/* 02778EC8 */ cpu->r[0] = 0x00000002u;
|
|
/* 02778ECC */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02778ECC */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02778ED0 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02778ED4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02778ED4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02778ED8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02778EDC */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02778EDC */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02778EE0 */ _t8 = cpu->r[8] + 0x00001DC0u;
|
|
/* 02778EE0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02778EE0 */ cpu->r[8] = _t8;
|
|
/* 02778EE4 */ _t9 = cpu->r[12] + 0x00001DB8u;
|
|
/* 02778EE4 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02778EE4 */ cpu->r[12] = _t9;
|
|
/* 02778EE8 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02778EE8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02778EEC */ cpu->r[0] = 0x00000004u;
|
|
/* 02778EF0 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02778EF0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02778EF4 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02778EF8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02778EF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02778EFC */ _t13 = cpu->r[11] + 0x00001DC8u;
|
|
/* 02778EFC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02778F00 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02778F04 */ return;
|
|
}
|
|
|
|
// fn_02778EA0 @ 0x2778ea0
|
|
void Gambit_fn_02778EA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02778EA0: ; // 0x2778ea0
|
|
/* 02778EA0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02778EA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778EA0 */ cpu->r[1] = _t0;
|
|
/* 02778EA4 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02778EA8 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02778EAC */ _t1 = cpu->r[10] + 0x00001DA0u;
|
|
/* 02778EAC */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02778EAC */ cpu->r[10] = _t1;
|
|
/* 02778EB0 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02778EB4 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02778EB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02778EB8 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 02778EBC */ cpu->r[8] = 0x101F0000u;
|
|
/* 02778EC0 */ _t3 = cpu->r[7] + 0x00001DB0u;
|
|
/* 02778EC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02778EC0 */ cpu->r[7] = _t3;
|
|
/* 02778EC4 */ _t4 = cpu->r[8] + 0x00001DA8u;
|
|
/* 02778EC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02778EC4 */ cpu->r[8] = _t4;
|
|
/* 02778EC8 */ cpu->r[0] = 0x00000002u;
|
|
/* 02778ECC */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02778ECC */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02778ED0 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02778ED4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02778ED4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02778ED8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02778EDC */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02778EDC */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02778EE0 */ _t8 = cpu->r[8] + 0x00001DC0u;
|
|
/* 02778EE0 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 02778EE0 */ cpu->r[8] = _t8;
|
|
/* 02778EE4 */ _t9 = cpu->r[12] + 0x00001DB8u;
|
|
/* 02778EE4 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02778EE4 */ cpu->r[12] = _t9;
|
|
/* 02778EE8 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02778EE8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02778EEC */ cpu->r[0] = 0x00000004u;
|
|
/* 02778EF0 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02778EF0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02778EF4 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02778EF8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02778EF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02778EFC */ _t13 = cpu->r[11] + 0x00001DC8u;
|
|
/* 02778EFC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02778F00 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02778F04 */ return;
|
|
}
|
|
|
|
// fn_02778F08 @ 0x2778f08
|
|
void Gambit_fn_02778F08(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_02778F08: ; // 0x2778f08
|
|
/* 02778F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778F0C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778F0C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02778F0C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02778F0C */ goto L_02778F10;
|
|
L_02778F10: ; // 0x2778f10
|
|
/* 02778F10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02778F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02778F14 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778F14 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02778F14 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02778F14 */ goto L_02778F18;
|
|
L_02778F18: ; // 0x2778f18
|
|
/* 02778F18 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02778F1C @ 0x2778f1c
|
|
void Gambit_fn_02778F1C(CPUState* cpu) {
|
|
L_02778F1C: ; // 0x2778f1c
|
|
/* 02778F1C */ return;
|
|
}
|
|
|
|
// fn_02778F20 @ 0x2778f20
|
|
void Gambit_fn_02778F20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02778F20: ; // 0x2778f20
|
|
/* 02778F20 */ cpu->r[0] = cpu->lr;
|
|
/* 02778F24 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02778F24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778F24 */ cpu->r[1] = _t0;
|
|
/* 02778F28 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02778F28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02778F2C */ cpu->r[31] = cpu->r[3];
|
|
/* 02778F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02778F30 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02778F30 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02778F34 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778F34 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02778F34 */ if (_t4) goto L_02778F38; else goto L_02778F48;
|
|
L_02778F38: ; // 0x2778f38
|
|
/* 02778F38 */ cpu->r[3] = 0x00000150u;
|
|
/* 02778F3C */ Gambit_fn_02801A78(cpu);
|
|
/* 02778F40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02778F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02778F44 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778F44 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02778F44 */ if (_t6) goto L_02778F8C; else goto L_02778F48;
|
|
L_02778F48: ; // 0x2778f48
|
|
/* 02778F48 */ cpu->r[10] = 0x10100000u;
|
|
/* 02778F4C */ cpu->r[12] = 0x10100000u;
|
|
/* 02778F50 */ cpu->r[10] = cpu->r[10] + 0x00003314u;
|
|
/* 02778F54 */ cpu->r[12] = cpu->r[12] + 0x000033E0u;
|
|
/* 02778F58 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778F58 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02778F5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02778F60 */ cpu->r[0] = 0x10100000u;
|
|
/* 02778F64 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02778F64 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02778F68 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02778F6C */ cpu->r[0] = cpu->r[0] + 0x000033D4u;
|
|
/* 02778F70 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02778F70 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02778F74 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02778F78 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02778F78 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02778F7C */ Gambit_fn_020176C8(cpu);
|
|
/* 02778F80 */ cpu->r[11] = 0x10100000u;
|
|
/* 02778F84 */ cpu->r[11] = cpu->r[11] + 0x0000333Cu;
|
|
/* 02778F88 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02778F88 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02778F8C: ; // 0x2778f8c
|
|
/* 02778F8C */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02778F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02778F90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02778F94 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02778F94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02778F98 */ cpu->lr = cpu->r[0];
|
|
/* 02778F9C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02778FA0 */ return;
|
|
}
|
|
|
|
// fn_02778F24 @ 0x2778f24
|
|
void Gambit_fn_02778F24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02778F24: ; // 0x2778f24
|
|
/* 02778F24 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02778F24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778F24 */ cpu->r[1] = _t0;
|
|
/* 02778F28 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02778F28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02778F2C */ cpu->r[31] = cpu->r[3];
|
|
/* 02778F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02778F30 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02778F30 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02778F34 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778F34 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02778F34 */ if (_t4) goto L_02778F38; else goto L_02778F48;
|
|
L_02778F38: ; // 0x2778f38
|
|
/* 02778F38 */ cpu->r[3] = 0x00000150u;
|
|
/* 02778F3C */ Gambit_fn_02801A78(cpu);
|
|
/* 02778F40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02778F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02778F44 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778F44 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02778F44 */ if (_t6) goto L_02778F8C; else goto L_02778F48;
|
|
L_02778F48: ; // 0x2778f48
|
|
/* 02778F48 */ cpu->r[10] = 0x10100000u;
|
|
/* 02778F4C */ cpu->r[12] = 0x10100000u;
|
|
/* 02778F50 */ cpu->r[10] = cpu->r[10] + 0x00003314u;
|
|
/* 02778F54 */ cpu->r[12] = cpu->r[12] + 0x000033E0u;
|
|
/* 02778F58 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02778F58 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02778F5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02778F60 */ cpu->r[0] = 0x10100000u;
|
|
/* 02778F64 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02778F64 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02778F68 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02778F6C */ cpu->r[0] = cpu->r[0] + 0x000033D4u;
|
|
/* 02778F70 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02778F70 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02778F74 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02778F78 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02778F78 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02778F7C */ Gambit_fn_020176C8(cpu);
|
|
/* 02778F80 */ cpu->r[11] = 0x10100000u;
|
|
/* 02778F84 */ cpu->r[11] = cpu->r[11] + 0x0000333Cu;
|
|
/* 02778F88 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02778F88 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02778F8C: ; // 0x2778f8c
|
|
/* 02778F8C */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02778F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02778F90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02778F94 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02778F94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02778F98 */ cpu->lr = cpu->r[0];
|
|
/* 02778F9C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02778FA0 */ return;
|
|
}
|
|
|
|
// fn_02778FA4 @ 0x2778fa4
|
|
void Gambit_fn_02778FA4(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_02778FA4: ; // 0x2778fa4
|
|
/* 02778FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778FA8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778FA8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02778FA8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02778FA8 */ goto L_02778FAC;
|
|
L_02778FAC: ; // 0x2778fac
|
|
/* 02778FAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02778FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02778FB0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778FB0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02778FB0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02778FB0 */ goto L_02778FB4;
|
|
L_02778FB4: ; // 0x2778fb4
|
|
/* 02778FB4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02778FB8 @ 0x2778fb8
|
|
void Gambit_fn_02778FB8(CPUState* cpu) {
|
|
L_02778FB8: ; // 0x2778fb8
|
|
/* 02778FB8 */ return;
|
|
}
|
|
|
|
// fn_02778FBC @ 0x2778fbc
|
|
void Gambit_fn_02778FBC(CPUState* cpu) {
|
|
L_02778FBC: ; // 0x2778fbc
|
|
/* 02778FBC */ return;
|
|
}
|
|
|
|
// fn_02778FC0 @ 0x2778fc0
|
|
void Gambit_fn_02778FC0(CPUState* cpu) {
|
|
L_02778FC0: ; // 0x2778fc0
|
|
/* 02778FC0 */ return;
|
|
}
|
|
|
|
// fn_02778FC4 @ 0x2778fc4
|
|
void Gambit_fn_02778FC4(CPUState* cpu) {
|
|
L_02778FC4: ; // 0x2778fc4
|
|
/* 02778FC4 */ return;
|
|
}
|
|
|
|
// fn_02778FC8 @ 0x2778fc8
|
|
void Gambit_fn_02778FC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02778FC8: ; // 0x2778fc8
|
|
/* 02778FC8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02778FCC */ _t0 = cpu->r[9] + 0xFFFFDDBCu;
|
|
/* 02778FCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02778FCC */ cpu->r[9] = _t0;
|
|
/* 02778FD0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02778FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02778FD8 */ cpu->r[12] = cpu->r[12] + 0xFFFFDDECu;
|
|
/* 02778FDC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778FDC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02778FDC */ if (_t2) goto L_02778FE0; else goto L_02778FF4;
|
|
L_02778FE0: ; // 0x2778fe0
|
|
/* 02778FE0 */ cpu->r[7] = 0x10100000u;
|
|
/* 02778FE4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02778FE8 */ cpu->r[7] = cpu->r[7] + 0x0000332Cu;
|
|
/* 02778FEC */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02778FEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02778FF0 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02778FF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02778FF4: ; // 0x2778ff4
|
|
/* 02778FF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02778FF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778FF8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02778FF8 */ if (_t6) goto L_02778FFC; else goto L_02779004;
|
|
L_02778FFC: ; // 0x2778ffc
|
|
/* 02778FFC */ cpu->r[3] = 0x00000001u;
|
|
/* 02779000 */ return;
|
|
L_02779004: ; // 0x2779004
|
|
/* 02779004 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02779008 */ _t7 = cpu->r[7] + 0xFFFFDDB8u;
|
|
/* 02779008 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02779008 */ cpu->r[7] = _t7;
|
|
/* 0277900C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02779010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02779014 */ cpu->r[11] = cpu->r[11] + 0xFFFFDDC0u;
|
|
/* 02779018 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779018 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02779018 */ if (_t9) goto L_0277901C; else goto L_02779030;
|
|
L_0277901C: ; // 0x277901c
|
|
/* 0277901C */ cpu->r[0] = 0x10100000u;
|
|
/* 02779020 */ cpu->r[9] = 0x00000001u;
|
|
/* 02779024 */ cpu->r[0] = cpu->r[0] + 0x00003304u;
|
|
/* 02779028 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02779028 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0277902C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0277902C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02779030: ; // 0x2779030
|
|
/* 02779030 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02779034 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02779038 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 0277903C */ return;
|
|
}
|
|
|
|
// fn_02779040 @ 0x2779040
|
|
void Gambit_fn_02779040(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02779040: ; // 0x2779040
|
|
/* 02779040 */ cpu->r[0] = cpu->lr;
|
|
/* 02779044 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02779044 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02779044 */ cpu->r[1] = _t0;
|
|
/* 02779048 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779048 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277904C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277904C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02779050 */ cpu->r[30] = cpu->r[3];
|
|
/* 02779050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02779054 */ cpu->r[31] = cpu->r[4];
|
|
/* 02779058 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02779058 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277905C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277905C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277905C */ if (_t5) goto L_02779090; else goto L_02779060;
|
|
L_02779060: ; // 0x2779060
|
|
/* 02779060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02779064 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779064 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02779064 */ if (_t7) goto L_02779080; else goto L_02779068;
|
|
L_02779068: ; // 0x2779068
|
|
/* 02779068 */ cpu->r[3] = cpu->r[30] + 0x00000064u;
|
|
/* 0277906C */ cpu->r[4] = 0x00000002u;
|
|
/* 02779070 */ Gambit_fn_0281C4D0(cpu);
|
|
/* 02779074 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02779078 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277907C */ Gambit_fn_0281ADA0(cpu);
|
|
L_02779080: ; // 0x2779080
|
|
/* 02779080 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02779080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02779084 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779084 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02779084 */ if (_t9) goto L_02779090; else goto L_02779088;
|
|
L_02779088: ; // 0x2779088
|
|
/* 02779088 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277908C */ Gambit_fn_02801BB0(cpu);
|
|
L_02779090: ; // 0x2779090
|
|
/* 02779090 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02779090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02779094 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02779094 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02779098 */ cpu->lr = cpu->r[0];
|
|
/* 0277909C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277909C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027790A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027790A4 */ return;
|
|
}
|
|
|
|
// fn_02779044 @ 0x2779044
|
|
void Gambit_fn_02779044(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02779044: ; // 0x2779044
|
|
/* 02779044 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02779044 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02779044 */ cpu->r[1] = _t0;
|
|
/* 02779048 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779048 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277904C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277904C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02779050 */ cpu->r[30] = cpu->r[3];
|
|
/* 02779050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02779054 */ cpu->r[31] = cpu->r[4];
|
|
/* 02779058 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02779058 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277905C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277905C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277905C */ if (_t5) goto L_02779090; else goto L_02779060;
|
|
L_02779060: ; // 0x2779060
|
|
/* 02779060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02779064 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779064 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02779064 */ if (_t7) goto L_02779080; else goto L_02779068;
|
|
L_02779068: ; // 0x2779068
|
|
/* 02779068 */ cpu->r[3] = cpu->r[30] + 0x00000064u;
|
|
/* 0277906C */ cpu->r[4] = 0x00000002u;
|
|
/* 02779070 */ Gambit_fn_0281C4D0(cpu);
|
|
/* 02779074 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02779078 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277907C */ Gambit_fn_0281ADA0(cpu);
|
|
L_02779080: ; // 0x2779080
|
|
/* 02779080 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02779080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02779084 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779084 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02779084 */ if (_t9) goto L_02779090; else goto L_02779088;
|
|
L_02779088: ; // 0x2779088
|
|
/* 02779088 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277908C */ Gambit_fn_02801BB0(cpu);
|
|
L_02779090: ; // 0x2779090
|
|
/* 02779090 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02779090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02779094 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02779094 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02779098 */ cpu->lr = cpu->r[0];
|
|
/* 0277909C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277909C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027790A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027790A4 */ return;
|
|
}
|
|
|
|
// fn_027790A8 @ 0x27790a8
|
|
void Gambit_fn_027790A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027790A8: ; // 0x27790a8
|
|
/* 027790A8 */ cpu->r[0] = cpu->lr;
|
|
/* 027790AC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027790AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027790AC */ cpu->r[1] = _t0;
|
|
/* 027790B0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027790B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027790B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027790B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027790B8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027790B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027790BC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027790BC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027790BC */ if (_t4) goto L_027790C0; else goto L_027790D0;
|
|
L_027790C0: ; // 0x27790c0
|
|
/* 027790C0 */ cpu->r[3] = 0x0000013Cu;
|
|
/* 027790C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027790C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027790C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027790CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027790CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027790CC */ if (_t6) goto L_02779124; else goto L_027790D0;
|
|
L_027790D0: ; // 0x27790d0
|
|
/* 027790D0 */ cpu->r[0] = 0x10100000u;
|
|
/* 027790D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027790D8 */ cpu->r[11] = 0x10100000u;
|
|
/* 027790DC */ cpu->r[0] = cpu->r[0] + 0x00003400u;
|
|
/* 027790E0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027790E4 */ cpu->r[11] = cpu->r[11] + 0x00003420u;
|
|
/* 027790E8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027790E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027790EC */ cpu->r[5] = 0x00000001u;
|
|
/* 027790F0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027790F0 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 027790F4 */ Gambit_fn_0200E88C(cpu);
|
|
/* 027790F8 */ cpu->r[12] = 0x10100000u;
|
|
/* 027790FC */ cpu->r[11] = 0x10100000u;
|
|
/* 02779100 */ _t9 = cpu->r[12] + 0x00003418u;
|
|
/* 02779100 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02779104 */ cpu->r[12] = 0x10100000u;
|
|
/* 02779108 */ _t10 = cpu->r[11] + 0x0000341Cu;
|
|
/* 02779108 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0277910C */ cpu->r[12] = cpu->r[12] + 0x00003458u;
|
|
/* 02779110 */ _t11 = cpu->r[31] + 0x00000130u;
|
|
/* 02779110 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02779114 */ cpu->r[0] = 0x00000000u;
|
|
/* 02779118 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 02779118 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0277911C */ _t13 = cpu->r[31] + 0x00000138u;
|
|
/* 0277911C */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[0]);
|
|
/* 02779120 */ _t14 = cpu->r[31] + 0x00000134u;
|
|
/* 02779120 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
L_02779124: ; // 0x2779124
|
|
/* 02779124 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02779124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02779128 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277912C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0277912C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02779130 */ cpu->lr = cpu->r[0];
|
|
/* 02779134 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02779138 */ return;
|
|
}
|
|
|
|
// fn_027790AC @ 0x27790ac
|
|
void Gambit_fn_027790AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_027790AC: ; // 0x27790ac
|
|
/* 027790AC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027790AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027790AC */ cpu->r[1] = _t0;
|
|
/* 027790B0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027790B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027790B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 027790B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027790B8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027790B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027790BC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027790BC */ _t4 = _t3 & 0x00000001u;
|
|
/* 027790BC */ if (_t4) goto L_027790C0; else goto L_027790D0;
|
|
L_027790C0: ; // 0x27790c0
|
|
/* 027790C0 */ cpu->r[3] = 0x0000013Cu;
|
|
/* 027790C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 027790C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 027790C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027790CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027790CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 027790CC */ if (_t6) goto L_02779124; else goto L_027790D0;
|
|
L_027790D0: ; // 0x27790d0
|
|
/* 027790D0 */ cpu->r[0] = 0x10100000u;
|
|
/* 027790D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 027790D8 */ cpu->r[11] = 0x10100000u;
|
|
/* 027790DC */ cpu->r[0] = cpu->r[0] + 0x00003400u;
|
|
/* 027790E0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027790E4 */ cpu->r[11] = cpu->r[11] + 0x00003420u;
|
|
/* 027790E8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027790E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 027790EC */ cpu->r[5] = 0x00000001u;
|
|
/* 027790F0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 027790F0 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 027790F4 */ Gambit_fn_0200E88C(cpu);
|
|
/* 027790F8 */ cpu->r[12] = 0x10100000u;
|
|
/* 027790FC */ cpu->r[11] = 0x10100000u;
|
|
/* 02779100 */ _t9 = cpu->r[12] + 0x00003418u;
|
|
/* 02779100 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02779104 */ cpu->r[12] = 0x10100000u;
|
|
/* 02779108 */ _t10 = cpu->r[11] + 0x0000341Cu;
|
|
/* 02779108 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0277910C */ cpu->r[12] = cpu->r[12] + 0x00003458u;
|
|
/* 02779110 */ _t11 = cpu->r[31] + 0x00000130u;
|
|
/* 02779110 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02779114 */ cpu->r[0] = 0x00000000u;
|
|
/* 02779118 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 02779118 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0277911C */ _t13 = cpu->r[31] + 0x00000138u;
|
|
/* 0277911C */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[0]);
|
|
/* 02779120 */ _t14 = cpu->r[31] + 0x00000134u;
|
|
/* 02779120 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
L_02779124: ; // 0x2779124
|
|
/* 02779124 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02779124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02779128 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277912C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0277912C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02779130 */ cpu->lr = cpu->r[0];
|
|
/* 02779134 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02779138 */ return;
|
|
}
|
|
|
|
// fn_0277913C @ 0x277913c
|
|
void Gambit_fn_0277913C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0277913C: ; // 0x277913c
|
|
/* 0277913C */ cpu->r[0] = cpu->lr;
|
|
/* 02779140 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02779140 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02779140 */ cpu->r[1] = _t0;
|
|
/* 02779144 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779144 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02779148 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02779148 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277914C */ cpu->r[30] = cpu->r[3];
|
|
/* 0277914C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02779150 */ cpu->r[31] = cpu->r[4];
|
|
/* 02779154 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02779154 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02779158 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779158 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02779158 */ if (_t5) goto L_0277918C; else goto L_0277915C;
|
|
L_0277915C: ; // 0x277915c
|
|
/* 0277915C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02779160 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779160 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02779160 */ if (_t7) goto L_0277917C; else goto L_02779164;
|
|
L_02779164: ; // 0x2779164
|
|
/* 02779164 */ cpu->r[3] = cpu->r[30] + 0x00000064u;
|
|
/* 02779168 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277916C */ Gambit_fn_0281C4D0(cpu);
|
|
/* 02779170 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02779174 */ cpu->r[4] = 0x00000002u;
|
|
/* 02779178 */ Gambit_fn_0281ADA0(cpu);
|
|
L_0277917C: ; // 0x277917c
|
|
/* 0277917C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277917C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02779180 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779180 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02779180 */ if (_t9) goto L_0277918C; else goto L_02779184;
|
|
L_02779184: ; // 0x2779184
|
|
/* 02779184 */ cpu->r[3] = cpu->r[30];
|
|
/* 02779188 */ Gambit_fn_02801BB0(cpu);
|
|
L_0277918C: ; // 0x277918c
|
|
/* 0277918C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277918C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02779190 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02779190 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02779194 */ cpu->lr = cpu->r[0];
|
|
/* 02779198 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779198 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0277919C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027791A0 */ return;
|
|
}
|
|
|
|
// fn_02779140 @ 0x2779140
|
|
void Gambit_fn_02779140(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02779140: ; // 0x2779140
|
|
/* 02779140 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02779140 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02779140 */ cpu->r[1] = _t0;
|
|
/* 02779144 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779144 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02779148 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02779148 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277914C */ cpu->r[30] = cpu->r[3];
|
|
/* 0277914C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02779150 */ cpu->r[31] = cpu->r[4];
|
|
/* 02779154 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02779154 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02779158 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779158 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02779158 */ if (_t5) goto L_0277918C; else goto L_0277915C;
|
|
L_0277915C: ; // 0x277915c
|
|
/* 0277915C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02779160 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779160 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02779160 */ if (_t7) goto L_0277917C; else goto L_02779164;
|
|
L_02779164: ; // 0x2779164
|
|
/* 02779164 */ cpu->r[3] = cpu->r[30] + 0x00000064u;
|
|
/* 02779168 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277916C */ Gambit_fn_0281C4D0(cpu);
|
|
/* 02779170 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02779174 */ cpu->r[4] = 0x00000002u;
|
|
/* 02779178 */ Gambit_fn_0281ADA0(cpu);
|
|
L_0277917C: ; // 0x277917c
|
|
/* 0277917C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277917C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02779180 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779180 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02779180 */ if (_t9) goto L_0277918C; else goto L_02779184;
|
|
L_02779184: ; // 0x2779184
|
|
/* 02779184 */ cpu->r[3] = cpu->r[30];
|
|
/* 02779188 */ Gambit_fn_02801BB0(cpu);
|
|
L_0277918C: ; // 0x277918c
|
|
/* 0277918C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277918C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02779190 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02779190 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02779194 */ cpu->lr = cpu->r[0];
|
|
/* 02779198 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779198 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0277919C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 027791A0 */ return;
|
|
}
|
|
|
|
// fn_027791A4 @ 0x27791a4
|
|
void Gambit_fn_027791A4(CPUState* cpu) {
|
|
uint32_t _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_027791A4: ; // 0x27791a4
|
|
/* 027791A4 */ cpu->r[0] = cpu->lr;
|
|
/* 027791A8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027791A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027791A8 */ cpu->r[1] = _t0;
|
|
/* 027791AC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027791AC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027791B0 */ /* nop */
|
|
/* 027791B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027791B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027791B8 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 027791B8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 027791BC */ cpu->r[31] = 0x00000001u;
|
|
/* 027791C0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027791C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027791C4 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 027791C8 */ cpu->r[7] = 0x10100000u;
|
|
/* 027791CC */ _t5 = cpu->r[3] + 0x000000A4u;
|
|
/* 027791CC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027791D0 */ _t6 = cpu->r[7] + 0x00003418u;
|
|
/* 027791D0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027791D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 027791D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027791D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027791D8 */ if (_t8) goto L_027791DC; else goto L_02779218;
|
|
L_027791DC: ; // 0x27791dc
|
|
/* 027791DC */ Gambit_fn_027DFA00(cpu);
|
|
/* 027791E0 */ _t9 = cpu->r[3] + 0x000000A4u;
|
|
/* 027791E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 027791E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 027791E8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027791E8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027791E8 */ if (_t11) goto L_027791EC; else goto L_02779218;
|
|
L_027791EC: ; // 0x27791ec
|
|
/* 027791EC */ Gambit_fn_027DF9A0(cpu);
|
|
/* 027791F0 */ _t12 = cpu->r[3] + 0x00000008u;
|
|
/* 027791F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027791F4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000019u, 0x00000019u);
|
|
/* 027791F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027791F8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027791F8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027791F8 */ if (_t14) goto L_027791FC; else goto L_02779218;
|
|
L_027791FC: ; // 0x27791fc
|
|
/* 027791FC */ Gambit_fn_027DFA00(cpu);
|
|
/* 02779200 */ _t15 = cpu->r[3] + 0x00000008u;
|
|
/* 02779200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02779204 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000019u, 0x00000019u);
|
|
/* 02779208 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0277920C */ cpu->r[10] = cpu->r[12] - cpu->r[8];
|
|
/* 0277920C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02779210 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779210 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02779210 */ if (_t17) goto L_02779214; else goto L_02779218;
|
|
L_02779214: ; // 0x2779214
|
|
/* 02779214 */ cpu->r[31] = 0x00000000u;
|
|
L_02779218: ; // 0x2779218
|
|
/* 02779218 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02779218 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0277921C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02779220 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779220 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02779224 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02779224 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 02779228 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02779228 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02779228 */ if (_t22) goto L_0277922C; // else: addr-0 trap, fall-through
|
|
L_0277922C: ; // 0x277922c
|
|
/* 0277922C */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 0277922C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02779230 */ cpu->lr = cpu->r[0];
|
|
/* 02779234 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02779238 */ return;
|
|
}
|
|
|
|
// fn_027791A8 @ 0x27791a8
|
|
void Gambit_fn_027791A8(CPUState* cpu) {
|
|
uint32_t _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_027791A8: ; // 0x27791a8
|
|
/* 027791A8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 027791A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027791A8 */ cpu->r[1] = _t0;
|
|
/* 027791AC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 027791AC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 027791B0 */ /* nop */
|
|
/* 027791B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027791B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 027791B8 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 027791B8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 027791BC */ cpu->r[31] = 0x00000001u;
|
|
/* 027791C0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 027791C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 027791C4 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 027791C8 */ cpu->r[7] = 0x10100000u;
|
|
/* 027791CC */ _t5 = cpu->r[3] + 0x000000A4u;
|
|
/* 027791CC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 027791D0 */ _t6 = cpu->r[7] + 0x00003418u;
|
|
/* 027791D0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 027791D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 027791D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027791D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 027791D8 */ if (_t8) goto L_027791DC; else goto L_02779218;
|
|
L_027791DC: ; // 0x27791dc
|
|
/* 027791DC */ Gambit_fn_027DFA00(cpu);
|
|
/* 027791E0 */ _t9 = cpu->r[3] + 0x000000A4u;
|
|
/* 027791E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 027791E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 027791E8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027791E8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 027791E8 */ if (_t11) goto L_027791EC; else goto L_02779218;
|
|
L_027791EC: ; // 0x27791ec
|
|
/* 027791EC */ Gambit_fn_027DF9A0(cpu);
|
|
/* 027791F0 */ _t12 = cpu->r[3] + 0x00000008u;
|
|
/* 027791F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 027791F4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000019u, 0x00000019u);
|
|
/* 027791F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 027791F8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027791F8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 027791F8 */ if (_t14) goto L_027791FC; else goto L_02779218;
|
|
L_027791FC: ; // 0x27791fc
|
|
/* 027791FC */ Gambit_fn_027DFA00(cpu);
|
|
/* 02779200 */ _t15 = cpu->r[3] + 0x00000008u;
|
|
/* 02779200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02779204 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000019u, 0x00000019u);
|
|
/* 02779208 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0277920C */ cpu->r[10] = cpu->r[12] - cpu->r[8];
|
|
/* 0277920C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02779210 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779210 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02779210 */ if (_t17) goto L_02779214; else goto L_02779218;
|
|
L_02779214: ; // 0x2779214
|
|
/* 02779214 */ cpu->r[31] = 0x00000000u;
|
|
L_02779218: ; // 0x2779218
|
|
/* 02779218 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02779218 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0277921C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02779220 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779220 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02779224 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02779224 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 02779228 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02779228 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02779228 */ if (_t22) goto L_0277922C; // else: addr-0 trap, fall-through
|
|
L_0277922C: ; // 0x277922c
|
|
/* 0277922C */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 0277922C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02779230 */ cpu->lr = cpu->r[0];
|
|
/* 02779234 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02779238 */ return;
|
|
}
|
|
|
|
// fn_0277923C @ 0x277923c
|
|
void Gambit_fn_0277923C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0277923C: ; // 0x277923c
|
|
/* 0277923C */ cpu->r[12] = 0x10100000u;
|
|
/* 02779240 */ _t0 = cpu->r[12] + 0x00003418u;
|
|
/* 02779240 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02779244 */ cpu->r[12] = 0x10100000u;
|
|
/* 02779248 */ _t1 = cpu->r[12] + 0x0000341Cu;
|
|
/* 02779248 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0277924C */ _t2 = cpu->r[3] + 0x00000130u;
|
|
/* 0277924C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[13]);
|
|
/* 02779250 */ cpu->r[0] = 0x00000000u;
|
|
/* 02779254 */ _t3 = cpu->r[3] + 0x00000134u;
|
|
/* 02779254 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 02779258 */ _t4 = cpu->r[3] + 0x00000138u;
|
|
/* 02779258 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[0]);
|
|
/* 0277925C */ return;
|
|
}
|
|
|
|
// fn_02779260 @ 0x2779260
|
|
void Gambit_fn_02779260(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82;
|
|
|
|
L_02779260: ; // 0x2779260
|
|
/* 02779260 */ cpu->r[0] = cpu->lr;
|
|
/* 02779264 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02779264 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02779264 */ cpu->r[1] = _t0;
|
|
/* 02779268 */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02779268 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0277926C */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 0277926C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02779270 */ cpu->r[31] = 0x00000001u;
|
|
/* 02779274 */ cpu->r[30] = cpu->r[3];
|
|
/* 02779278 */ _t3 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02779278 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0277927C */ _t4 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0277927C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02779280 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 02779284 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02779284 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02779288 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x00000019u);
|
|
/* 02779288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277928C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277928C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0277928C */ if (_t7) goto L_02779290; else goto L_027792AC;
|
|
L_02779290: ; // 0x2779290
|
|
/* 02779290 */ Gambit_fn_027DFA00(cpu);
|
|
/* 02779294 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02779294 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02779298 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x00000019u);
|
|
/* 0277929C */ cpu->r[0] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 027792A0 */ cpu->r[0] = cpu->r[7] - cpu->r[0];
|
|
/* 027792A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027792A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027792A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027792A4 */ if (_t10) goto L_027792A8; else goto L_027792AC;
|
|
L_027792A8: ; // 0x27792a8
|
|
/* 027792A8 */ cpu->r[31] = 0x00000000u;
|
|
L_027792AC: ; // 0x27792ac
|
|
/* 027792AC */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027792B0 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 027792B4 */ cpu->r[29] = cpu->r[3];
|
|
/* 027792B8 */ Gambit_fn_027DFA00(cpu);
|
|
/* 027792BC */ _t11 = cpu->r[29] + 0x000000A4u;
|
|
/* 027792BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027792C0 */ _t12 = cpu->r[3] + 0x000000A4u;
|
|
/* 027792C0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 027792C4 */ cpu->f[11] = cpu->f[13] + cpu->f[9];
|
|
/* 027792C8 */ cpu->r[12] = 0x10100000u;
|
|
/* 027792CC */ cpu->f[9] = -cpu->f[11];
|
|
/* 027792D0 */ _t13 = cpu->r[12] + 0x00003438u;
|
|
/* 027792D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027792D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[11]);
|
|
/* 027792D8 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027792D8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027792D8 */ if (_t15) goto L_027792DC; else goto L_027792F4;
|
|
L_027792DC: ; // 0x27792dc
|
|
/* 027792DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027792E0 */ cpu->f[9] = cpu->f[11];
|
|
/* 027792E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027792E4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027792E4 */ if (_t17) goto L_027792E8; else goto L_02779310;
|
|
L_027792E8: ; // 0x27792e8
|
|
/* 027792E8 */ cpu->r[12] = 0x10100000u;
|
|
/* 027792EC */ _t18 = cpu->r[12] + 0x0000341Cu;
|
|
/* 027792EC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027792F0 */ goto L_02779318;
|
|
L_027792F4: ; // 0x27792f4
|
|
/* 027792F4 */ cpu->r[11] = 0x10100000u;
|
|
/* 027792F8 */ _t19 = cpu->r[11] + 0x0000343Cu;
|
|
/* 027792F8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027792FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[12]);
|
|
/* 02779300 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02779300 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02779300 */ if (_t21) goto L_02779304; else goto L_02779308;
|
|
L_02779304: ; // 0x2779304
|
|
/* 02779304 */ cpu->f[9] = cpu->f[12];
|
|
L_02779308: ; // 0x2779308
|
|
/* 02779308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0277930C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277930C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0277930C */ if (_t23) goto L_027792E8; else goto L_02779310;
|
|
L_02779310: ; // 0x2779310
|
|
/* 02779310 */ cpu->r[9] = 0x10100000u;
|
|
/* 02779314 */ _t24 = cpu->r[9] + 0x00003440u;
|
|
/* 02779314 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
L_02779318: ; // 0x2779318
|
|
/* 02779318 */ cpu->r[10] = 0x10100000u;
|
|
/* 0277931C */ _t25 = cpu->r[10] + 0x00003448u;
|
|
/* 0277931C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02779320 */ _t26 = cpu->r[30] + 0x00000134u;
|
|
/* 02779320 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02779324 */ cpu->f[11] = fma(cpu->f[0], cpu->f[9], cpu->f[11]);
|
|
/* 02779328 */ _t27 = cpu->r[30] + 0x00000130u;
|
|
/* 02779328 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0277932C */ cpu->r[12] = 0x10100000u;
|
|
/* 02779330 */ cpu->f[10] = cpu->f[10] - cpu->f[12];
|
|
/* 02779334 */ _t28 = cpu->r[12] + 0x00003444u;
|
|
/* 02779334 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02779338 */ cpu->f[0] = cpu->f[11] - cpu->f[9];
|
|
/* 0277933C */ cpu->f[1] = fma(cpu->f[10], cpu->f[13], cpu->f[12]);
|
|
/* 02779340 */ cpu->f[9] = fma(cpu->f[0], cpu->f[13], cpu->f[9]);
|
|
/* 02779344 */ _t29 = cpu->r[30] + 0x00000134u;
|
|
/* 02779344 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[1]);
|
|
/* 02779348 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277934C */ _t30 = cpu->r[30] + 0x00000130u;
|
|
/* 0277934C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[9]);
|
|
/* 02779350 */ Gambit_fn_0200F24C(cpu);
|
|
/* 02779354 */ Gambit_fn_02774340(cpu);
|
|
/* 02779358 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0277935C */ /* nop */
|
|
/* 02779360 */ cpu->r[9] = cpu->r[9] + 0x00001DCCu;
|
|
/* 02779364 */ /* nop */
|
|
/* 02779368 */ _t31 = cpu->r[9] + 0x00000008u;
|
|
/* 02779368 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0277936C */ /* nop */
|
|
/* 02779370 */ /* nop */
|
|
/* 02779374 */ _t32 = cpu->r[3] + 0x00000008u;
|
|
/* 02779374 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02779378 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02779378 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0277937C */ cpu->f[10] = cpu->f[13] + cpu->f[9];
|
|
/* 02779380 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779380 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02779384 */ _t35 = cpu->r[1] + 0x00000050u;
|
|
/* 02779384 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
|
|
/* 02779388 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 02779388 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[10]);
|
|
/* 0277938C */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0277938C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02779390 */ _t38 = cpu->r[1] + 0x00000054u;
|
|
/* 02779390 */ rbrew_write32(cpu->mem, _t38, cpu->r[11]);
|
|
/* 02779394 */ _t39 = cpu->r[1] + 0x00000058u;
|
|
/* 02779394 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02779398 */ Gambit_fn_02774340(cpu);
|
|
/* 0277939C */ cpu->r[7] = 0x101F0000u;
|
|
/* 027793A0 */ /* nop */
|
|
/* 027793A4 */ cpu->r[7] = cpu->r[7] + 0x00001DD8u;
|
|
/* 027793A8 */ _t40 = cpu->r[30] + 0x00000130u;
|
|
/* 027793A8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 027793AC */ cpu->r[6] = 0x101F0000u;
|
|
/* 027793B0 */ /* nop */
|
|
/* 027793B4 */ cpu->r[6] = cpu->r[6] + 0x00006350u;
|
|
/* 027793B8 */ _t41 = cpu->r[7] + 0x00000008u;
|
|
/* 027793B8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027793BC */ /* nop */
|
|
/* 027793C0 */ /* nop */
|
|
/* 027793C4 */ /* nop */
|
|
/* 027793C8 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 027793C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027793CC */ /* nop */
|
|
/* 027793D0 */ _t43 = cpu->r[3] + 0x00000008u;
|
|
/* 027793D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 027793D4 */ /* nop */
|
|
/* 027793D8 */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 027793D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027793DC */ _t45 = cpu->r[6] + 0x00000008u;
|
|
/* 027793DC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 027793E0 */ _t46 = cpu->r[1] + 0x00000020u;
|
|
/* 027793E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027793E4 */ _t47 = cpu->r[1] + 0x00000024u;
|
|
/* 027793E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027793E8 */ cpu->f[10] = cpu->f[11] * cpu->f[9];
|
|
/* 027793EC */ _t48 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027793EC */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 027793F0 */ _t49 = cpu->r[1] + 0x00000038u;
|
|
/* 027793F0 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 027793F4 */ /* nop */
|
|
/* 027793F8 */ cpu->f[12] = cpu->f[0] + cpu->f[8];
|
|
/* 027793FC */ _t50 = cpu->r[1] + 0x00000048u;
|
|
/* 027793FC */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
|
|
/* 02779400 */ _t51 = cpu->r[1] + 0x00000044u;
|
|
/* 02779400 */ rbrew_write32(cpu->mem, _t51, cpu->r[8]);
|
|
/* 02779404 */ /* nop */
|
|
/* 02779408 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02779408 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[12]);
|
|
/* 0277940C */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277940C */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02779410 */ /* nop */
|
|
/* 02779414 */ /* nop */
|
|
/* 02779418 */ _t54 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02779418 */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0277941C */ _t55 = cpu->r[1] + 0x00000028u;
|
|
/* 0277941C */ rbrew_write_f32(cpu->mem, _t55, cpu->f[10]);
|
|
/* 02779420 */ _t56 = cpu->r[1] + 0x00000028u;
|
|
/* 02779420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02779424 */ _t57 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02779424 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 02779428 */ _t58 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02779428 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 0277942C */ _t59 = cpu->r[1] + 0x00000040u;
|
|
/* 0277942C */ rbrew_write32(cpu->mem, _t59, cpu->r[8]);
|
|
/* 02779430 */ _t60 = cpu->r[1] + 0x00000040u;
|
|
/* 02779430 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02779434 */ _t61 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02779434 */ rbrew_write32(cpu->mem, _t61, cpu->r[10]);
|
|
/* 02779438 */ cpu->f[10] = cpu->f[11] + cpu->f[12];
|
|
/* 0277943C */ _t62 = cpu->r[1] + 0x00000030u;
|
|
/* 0277943C */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02779440 */ cpu->r[5] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02779444 */ _t63 = cpu->r[1] + 0x00000034u;
|
|
/* 02779444 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 02779448 */ _t64 = cpu->r[1] + 0x00000034u;
|
|
/* 02779448 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0277944C */ cpu->r[4] = cpu->r[1] + 0x00000050u;
|
|
/* 02779450 */ _t65 = cpu->r[1] + 0x00000060u;
|
|
/* 02779450 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
/* 02779454 */ cpu->r[3] = cpu->r[30];
|
|
/* 02779458 */ _t66 = cpu->r[1] + 0x00000064u;
|
|
/* 02779458 */ rbrew_write32(cpu->mem, _t66, cpu->r[8]);
|
|
/* 0277945C */ Gambit_fn_0200F7AC(cpu);
|
|
/* 02779460 */ _t67 = cpu->r[30] + 0x00000138u;
|
|
/* 02779460 */ cpu->r[10] = rbrew_read16(cpu->mem, _t67);
|
|
/* 02779464 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02779468 */ _t68 = cpu->r[30] + 0x00000138u;
|
|
/* 02779468 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[10]);
|
|
/* 0277946C */ Gambit_fn_027791A4(cpu);
|
|
/* 02779470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02779474 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779474 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02779474 */ if (_t70) goto L_0277949C; else goto L_02779478;
|
|
L_02779478: ; // 0x2779478
|
|
/* 02779478 */ cpu->r[0] = 0x00000000u;
|
|
/* 0277947C */ _t71 = cpu->r[30] + 0x00000138u;
|
|
/* 0277947C */ rbrew_write16(cpu->mem, _t71, (uint16_t)cpu->r[0]);
|
|
/* 02779480 */ _t72 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02779480 */ cpu->r[29] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02779484 */ _t73 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02779484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02779488 */ _t74 = cpu->r[1] + 0x00000070u;
|
|
/* 02779488 */ cpu->r[30] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0277948C */ cpu->lr = cpu->r[0];
|
|
/* 02779490 */ _t75 = cpu->r[1] + 0x00000074u;
|
|
/* 02779490 */ cpu->r[31] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02779494 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02779498 */ return;
|
|
L_0277949C: ; // 0x277949c
|
|
/* 0277949C */ _t76 = cpu->r[30] + 0x00000138u;
|
|
/* 0277949C */ cpu->r[7] = rbrew_read16(cpu->mem, _t76);
|
|
/* 027794A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x000000B4u);
|
|
/* 027794A4 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027794A4 */ _t78 = _t77 & 0x00000001u;
|
|
/* 027794A4 */ if (_t78) goto L_027794B0; else goto L_027794A8;
|
|
L_027794A8: ; // 0x27794a8
|
|
/* 027794A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027794AC */ Gambit_fn_0200ED0C(cpu);
|
|
L_027794B0: ; // 0x27794b0
|
|
/* 027794B0 */ _t79 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027794B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027794B4 */ _t80 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027794B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027794B8 */ _t81 = cpu->r[1] + 0x00000070u;
|
|
/* 027794B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027794BC */ cpu->lr = cpu->r[0];
|
|
/* 027794C0 */ _t82 = cpu->r[1] + 0x00000074u;
|
|
/* 027794C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027794C4 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 027794C8 */ return;
|
|
}
|
|
|
|
// fn_02779264 @ 0x2779264
|
|
void Gambit_fn_02779264(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82;
|
|
|
|
L_02779264: ; // 0x2779264
|
|
/* 02779264 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02779264 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02779264 */ cpu->r[1] = _t0;
|
|
/* 02779268 */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02779268 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0277926C */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 0277926C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02779270 */ cpu->r[31] = 0x00000001u;
|
|
/* 02779274 */ cpu->r[30] = cpu->r[3];
|
|
/* 02779278 */ _t3 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02779278 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0277927C */ _t4 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0277927C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02779280 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 02779284 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02779284 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02779288 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x00000019u);
|
|
/* 02779288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277928C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277928C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0277928C */ if (_t7) goto L_02779290; else goto L_027792AC;
|
|
L_02779290: ; // 0x2779290
|
|
/* 02779290 */ Gambit_fn_027DFA00(cpu);
|
|
/* 02779294 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02779294 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02779298 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000019u, 0x00000019u);
|
|
/* 0277929C */ cpu->r[0] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 027792A0 */ cpu->r[0] = cpu->r[7] - cpu->r[0];
|
|
/* 027792A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027792A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027792A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 027792A4 */ if (_t10) goto L_027792A8; else goto L_027792AC;
|
|
L_027792A8: ; // 0x27792a8
|
|
/* 027792A8 */ cpu->r[31] = 0x00000000u;
|
|
L_027792AC: ; // 0x27792ac
|
|
/* 027792AC */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 027792B0 */ Gambit_fn_027DF9A0(cpu);
|
|
/* 027792B4 */ cpu->r[29] = cpu->r[3];
|
|
/* 027792B8 */ Gambit_fn_027DFA00(cpu);
|
|
/* 027792BC */ _t11 = cpu->r[29] + 0x000000A4u;
|
|
/* 027792BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 027792C0 */ _t12 = cpu->r[3] + 0x000000A4u;
|
|
/* 027792C0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 027792C4 */ cpu->f[11] = cpu->f[13] + cpu->f[9];
|
|
/* 027792C8 */ cpu->r[12] = 0x10100000u;
|
|
/* 027792CC */ cpu->f[9] = -cpu->f[11];
|
|
/* 027792D0 */ _t13 = cpu->r[12] + 0x00003438u;
|
|
/* 027792D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 027792D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[11]);
|
|
/* 027792D8 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027792D8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 027792D8 */ if (_t15) goto L_027792DC; else goto L_027792F4;
|
|
L_027792DC: ; // 0x27792dc
|
|
/* 027792DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027792E0 */ cpu->f[9] = cpu->f[11];
|
|
/* 027792E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027792E4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 027792E4 */ if (_t17) goto L_027792E8; else goto L_02779310;
|
|
L_027792E8: ; // 0x27792e8
|
|
/* 027792E8 */ cpu->r[12] = 0x10100000u;
|
|
/* 027792EC */ _t18 = cpu->r[12] + 0x0000341Cu;
|
|
/* 027792EC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 027792F0 */ goto L_02779318;
|
|
L_027792F4: ; // 0x27792f4
|
|
/* 027792F4 */ cpu->r[11] = 0x10100000u;
|
|
/* 027792F8 */ _t19 = cpu->r[11] + 0x0000343Cu;
|
|
/* 027792F8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 027792FC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[12]);
|
|
/* 02779300 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02779300 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02779300 */ if (_t21) goto L_02779304; else goto L_02779308;
|
|
L_02779304: ; // 0x2779304
|
|
/* 02779304 */ cpu->f[9] = cpu->f[12];
|
|
L_02779308: ; // 0x2779308
|
|
/* 02779308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0277930C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277930C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0277930C */ if (_t23) goto L_027792E8; else goto L_02779310;
|
|
L_02779310: ; // 0x2779310
|
|
/* 02779310 */ cpu->r[9] = 0x10100000u;
|
|
/* 02779314 */ _t24 = cpu->r[9] + 0x00003440u;
|
|
/* 02779314 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
L_02779318: ; // 0x2779318
|
|
/* 02779318 */ cpu->r[10] = 0x10100000u;
|
|
/* 0277931C */ _t25 = cpu->r[10] + 0x00003448u;
|
|
/* 0277931C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02779320 */ _t26 = cpu->r[30] + 0x00000134u;
|
|
/* 02779320 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02779324 */ cpu->f[11] = fma(cpu->f[0], cpu->f[9], cpu->f[11]);
|
|
/* 02779328 */ _t27 = cpu->r[30] + 0x00000130u;
|
|
/* 02779328 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0277932C */ cpu->r[12] = 0x10100000u;
|
|
/* 02779330 */ cpu->f[10] = cpu->f[10] - cpu->f[12];
|
|
/* 02779334 */ _t28 = cpu->r[12] + 0x00003444u;
|
|
/* 02779334 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02779338 */ cpu->f[0] = cpu->f[11] - cpu->f[9];
|
|
/* 0277933C */ cpu->f[1] = fma(cpu->f[10], cpu->f[13], cpu->f[12]);
|
|
/* 02779340 */ cpu->f[9] = fma(cpu->f[0], cpu->f[13], cpu->f[9]);
|
|
/* 02779344 */ _t29 = cpu->r[30] + 0x00000134u;
|
|
/* 02779344 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[1]);
|
|
/* 02779348 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277934C */ _t30 = cpu->r[30] + 0x00000130u;
|
|
/* 0277934C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[9]);
|
|
/* 02779350 */ Gambit_fn_0200F24C(cpu);
|
|
/* 02779354 */ Gambit_fn_02774340(cpu);
|
|
/* 02779358 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0277935C */ /* nop */
|
|
/* 02779360 */ cpu->r[9] = cpu->r[9] + 0x00001DCCu;
|
|
/* 02779364 */ /* nop */
|
|
/* 02779368 */ _t31 = cpu->r[9] + 0x00000008u;
|
|
/* 02779368 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0277936C */ /* nop */
|
|
/* 02779370 */ /* nop */
|
|
/* 02779374 */ _t32 = cpu->r[3] + 0x00000008u;
|
|
/* 02779374 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02779378 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02779378 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0277937C */ cpu->f[10] = cpu->f[13] + cpu->f[9];
|
|
/* 02779380 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779380 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02779384 */ _t35 = cpu->r[1] + 0x00000050u;
|
|
/* 02779384 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
|
|
/* 02779388 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 02779388 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[10]);
|
|
/* 0277938C */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0277938C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02779390 */ _t38 = cpu->r[1] + 0x00000054u;
|
|
/* 02779390 */ rbrew_write32(cpu->mem, _t38, cpu->r[11]);
|
|
/* 02779394 */ _t39 = cpu->r[1] + 0x00000058u;
|
|
/* 02779394 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02779398 */ Gambit_fn_02774340(cpu);
|
|
/* 0277939C */ cpu->r[7] = 0x101F0000u;
|
|
/* 027793A0 */ /* nop */
|
|
/* 027793A4 */ cpu->r[7] = cpu->r[7] + 0x00001DD8u;
|
|
/* 027793A8 */ _t40 = cpu->r[30] + 0x00000130u;
|
|
/* 027793A8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 027793AC */ cpu->r[6] = 0x101F0000u;
|
|
/* 027793B0 */ /* nop */
|
|
/* 027793B4 */ cpu->r[6] = cpu->r[6] + 0x00006350u;
|
|
/* 027793B8 */ _t41 = cpu->r[7] + 0x00000008u;
|
|
/* 027793B8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 027793BC */ /* nop */
|
|
/* 027793C0 */ /* nop */
|
|
/* 027793C4 */ /* nop */
|
|
/* 027793C8 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 027793C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 027793CC */ /* nop */
|
|
/* 027793D0 */ _t43 = cpu->r[3] + 0x00000008u;
|
|
/* 027793D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 027793D4 */ /* nop */
|
|
/* 027793D8 */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 027793D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027793DC */ _t45 = cpu->r[6] + 0x00000008u;
|
|
/* 027793DC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 027793E0 */ _t46 = cpu->r[1] + 0x00000020u;
|
|
/* 027793E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 027793E4 */ _t47 = cpu->r[1] + 0x00000024u;
|
|
/* 027793E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 027793E8 */ cpu->f[10] = cpu->f[11] * cpu->f[9];
|
|
/* 027793EC */ _t48 = cpu->r[1] + 0x0000003Cu;
|
|
/* 027793EC */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 027793F0 */ _t49 = cpu->r[1] + 0x00000038u;
|
|
/* 027793F0 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 027793F4 */ /* nop */
|
|
/* 027793F8 */ cpu->f[12] = cpu->f[0] + cpu->f[8];
|
|
/* 027793FC */ _t50 = cpu->r[1] + 0x00000048u;
|
|
/* 027793FC */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
|
|
/* 02779400 */ _t51 = cpu->r[1] + 0x00000044u;
|
|
/* 02779400 */ rbrew_write32(cpu->mem, _t51, cpu->r[8]);
|
|
/* 02779404 */ /* nop */
|
|
/* 02779408 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02779408 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[12]);
|
|
/* 0277940C */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277940C */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02779410 */ /* nop */
|
|
/* 02779414 */ /* nop */
|
|
/* 02779418 */ _t54 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02779418 */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0277941C */ _t55 = cpu->r[1] + 0x00000028u;
|
|
/* 0277941C */ rbrew_write_f32(cpu->mem, _t55, cpu->f[10]);
|
|
/* 02779420 */ _t56 = cpu->r[1] + 0x00000028u;
|
|
/* 02779420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02779424 */ _t57 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02779424 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 02779428 */ _t58 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02779428 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 0277942C */ _t59 = cpu->r[1] + 0x00000040u;
|
|
/* 0277942C */ rbrew_write32(cpu->mem, _t59, cpu->r[8]);
|
|
/* 02779430 */ _t60 = cpu->r[1] + 0x00000040u;
|
|
/* 02779430 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02779434 */ _t61 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02779434 */ rbrew_write32(cpu->mem, _t61, cpu->r[10]);
|
|
/* 02779438 */ cpu->f[10] = cpu->f[11] + cpu->f[12];
|
|
/* 0277943C */ _t62 = cpu->r[1] + 0x00000030u;
|
|
/* 0277943C */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02779440 */ cpu->r[5] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02779444 */ _t63 = cpu->r[1] + 0x00000034u;
|
|
/* 02779444 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 02779448 */ _t64 = cpu->r[1] + 0x00000034u;
|
|
/* 02779448 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0277944C */ cpu->r[4] = cpu->r[1] + 0x00000050u;
|
|
/* 02779450 */ _t65 = cpu->r[1] + 0x00000060u;
|
|
/* 02779450 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
/* 02779454 */ cpu->r[3] = cpu->r[30];
|
|
/* 02779458 */ _t66 = cpu->r[1] + 0x00000064u;
|
|
/* 02779458 */ rbrew_write32(cpu->mem, _t66, cpu->r[8]);
|
|
/* 0277945C */ Gambit_fn_0200F7AC(cpu);
|
|
/* 02779460 */ _t67 = cpu->r[30] + 0x00000138u;
|
|
/* 02779460 */ cpu->r[10] = rbrew_read16(cpu->mem, _t67);
|
|
/* 02779464 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02779468 */ _t68 = cpu->r[30] + 0x00000138u;
|
|
/* 02779468 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[10]);
|
|
/* 0277946C */ Gambit_fn_027791A4(cpu);
|
|
/* 02779470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02779474 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779474 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02779474 */ if (_t70) goto L_0277949C; else goto L_02779478;
|
|
L_02779478: ; // 0x2779478
|
|
/* 02779478 */ cpu->r[0] = 0x00000000u;
|
|
/* 0277947C */ _t71 = cpu->r[30] + 0x00000138u;
|
|
/* 0277947C */ rbrew_write16(cpu->mem, _t71, (uint16_t)cpu->r[0]);
|
|
/* 02779480 */ _t72 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02779480 */ cpu->r[29] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02779484 */ _t73 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02779484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02779488 */ _t74 = cpu->r[1] + 0x00000070u;
|
|
/* 02779488 */ cpu->r[30] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0277948C */ cpu->lr = cpu->r[0];
|
|
/* 02779490 */ _t75 = cpu->r[1] + 0x00000074u;
|
|
/* 02779490 */ cpu->r[31] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02779494 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02779498 */ return;
|
|
L_0277949C: ; // 0x277949c
|
|
/* 0277949C */ _t76 = cpu->r[30] + 0x00000138u;
|
|
/* 0277949C */ cpu->r[7] = rbrew_read16(cpu->mem, _t76);
|
|
/* 027794A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x000000B4u);
|
|
/* 027794A4 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027794A4 */ _t78 = _t77 & 0x00000001u;
|
|
/* 027794A4 */ if (_t78) goto L_027794B0; else goto L_027794A8;
|
|
L_027794A8: ; // 0x27794a8
|
|
/* 027794A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 027794AC */ Gambit_fn_0200ED0C(cpu);
|
|
L_027794B0: ; // 0x27794b0
|
|
/* 027794B0 */ _t79 = cpu->r[1] + 0x0000006Cu;
|
|
/* 027794B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t79);
|
|
/* 027794B4 */ _t80 = cpu->r[1] + 0x0000007Cu;
|
|
/* 027794B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 027794B8 */ _t81 = cpu->r[1] + 0x00000070u;
|
|
/* 027794B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027794BC */ cpu->lr = cpu->r[0];
|
|
/* 027794C0 */ _t82 = cpu->r[1] + 0x00000074u;
|
|
/* 027794C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027794C4 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 027794C8 */ return;
|
|
}
|
|
|
|
// fn_027794CC @ 0x27794cc
|
|
void Gambit_fn_027794CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_027794CC: ; // 0x27794cc
|
|
/* 027794CC */ cpu->r[12] = 0x10100000u;
|
|
/* 027794D0 */ cpu->r[11] = 0x10100000u;
|
|
/* 027794D4 */ _t0 = cpu->r[12] + 0x00003418u;
|
|
/* 027794D4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 027794D8 */ cpu->r[12] = 0x10100000u;
|
|
/* 027794DC */ _t1 = cpu->r[11] + 0x0000344Cu;
|
|
/* 027794DC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 027794E0 */ _t2 = cpu->r[12] + 0x00003450u;
|
|
/* 027794E0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 027794E4 */ cpu->r[12] = 0x10100000u;
|
|
/* 027794E8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 027794EC */ _t3 = cpu->r[12] + 0x00003454u;
|
|
/* 027794EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 027794F0 */ _t4 = cpu->r[11] + 0x00001DD8u;
|
|
/* 027794F0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[12]);
|
|
/* 027794F0 */ cpu->r[11] = _t4;
|
|
/* 027794F4 */ cpu->r[10] = 0x101F0000u;
|
|
/* 027794F8 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 027794F8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 027794FC */ _t6 = cpu->r[10] + 0x00001DCCu;
|
|
/* 027794FC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[12]);
|
|
/* 027794FC */ cpu->r[10] = _t6;
|
|
/* 02779500 */ _t7 = cpu->r[10] + 0x00000004u;
|
|
/* 02779500 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[11]);
|
|
/* 02779504 */ _t8 = cpu->r[10] + 0x00000008u;
|
|
/* 02779504 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 02779508 */ _t9 = cpu->r[11] + 0x00000008u;
|
|
/* 02779508 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
|
|
/* 0277950C */ return;
|
|
}
|
|
|
|
// fn_02779510 @ 0x2779510
|
|
void Gambit_fn_02779510(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_02779510: ; // 0x2779510
|
|
/* 02779510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02779514 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779514 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02779514 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02779514 */ goto L_02779518;
|
|
L_02779518: ; // 0x2779518
|
|
/* 02779518 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02779518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277951C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277951C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0277951C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277951C */ goto L_02779520;
|
|
L_02779520: ; // 0x2779520
|
|
/* 02779520 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_02779524 @ 0x2779524
|
|
void Gambit_fn_02779524(CPUState* cpu) {
|
|
L_02779524: ; // 0x2779524
|
|
/* 02779524 */ return;
|
|
}
|
|
|
|
// fn_02779528 @ 0x2779528
|
|
void Gambit_fn_02779528(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02779528: ; // 0x2779528
|
|
/* 02779528 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0277952C */ _t0 = cpu->r[11] + 0xFFFFDDB8u;
|
|
/* 0277952C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277952C */ cpu->r[11] = _t0;
|
|
/* 02779530 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02779534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02779538 */ cpu->r[12] = cpu->r[12] + 0xFFFFDDC0u;
|
|
/* 0277953C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277953C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277953C */ if (_t2) goto L_02779540; else goto L_02779554;
|
|
L_02779540: ; // 0x2779540
|
|
/* 02779540 */ cpu->r[9] = 0x10100000u;
|
|
/* 02779544 */ cpu->r[8] = 0x00000001u;
|
|
/* 02779548 */ cpu->r[9] = cpu->r[9] + 0x000033F0u;
|
|
/* 0277954C */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 0277954C */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02779550 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02779550 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02779554: ; // 0x2779554
|
|
/* 02779554 */ cpu->r[10] = cpu->r[4] ^ cpu->r[12];
|
|
/* 02779558 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 0277955C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02779560 */ return;
|
|
}
|
|
|
|
// fn_02779564 @ 0x2779564
|
|
void Gambit_fn_02779564(CPUState* cpu) {
|
|
L_02779564: ; // 0x2779564
|
|
/* 02779564 */ return;
|
|
}
|
|
|
|
// fn_02779568 @ 0x2779568
|
|
void Gambit_fn_02779568(CPUState* cpu) {
|
|
L_02779568: ; // 0x2779568
|
|
/* 02779568 */ return;
|
|
}
|
|
|
|
// fn_0277956C @ 0x277956c
|
|
void Gambit_fn_0277956C(CPUState* cpu) {
|
|
L_0277956C: ; // 0x277956c
|
|
/* 0277956C */ return;
|
|
}
|
|
|
|
// fn_02779570 @ 0x2779570
|
|
void Gambit_fn_02779570(CPUState* cpu) {
|
|
L_02779570: ; // 0x2779570
|
|
/* 02779570 */ cpu->r[3] = 0x00000000u;
|
|
/* 02779574 */ return;
|
|
}
|
|
|
|
// fn_02779578 @ 0x2779578
|
|
void Gambit_fn_02779578(CPUState* cpu) {
|
|
L_02779578: ; // 0x2779578
|
|
/* 02779578 */ cpu->r[3] = 0x00000000u;
|
|
/* 0277957C */ return;
|
|
}
|
|
|
|
// fn_02779580 @ 0x2779580
|
|
void Gambit_fn_02779580(CPUState* cpu) {
|
|
L_02779580: ; // 0x2779580
|
|
/* 02779580 */ cpu->r[3] = 0x00000000u;
|
|
/* 02779584 */ return;
|
|
}
|
|
|
|
// fn_02779588 @ 0x2779588
|
|
void Gambit_fn_02779588(CPUState* cpu) {
|
|
L_02779588: ; // 0x2779588
|
|
/* 02779588 */ return;
|
|
}
|
|
|
|
// fn_02779590 @ 0x2779590
|
|
void Gambit_fn_02779590(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02779590: ; // 0x2779590
|
|
/* 02779590 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02779590 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02779590 */ cpu->r[1] = _t0;
|
|
/* 02779594 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779594 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02779598 */ cpu->r[31] = cpu->r[3];
|
|
/* 02779598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0277959C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277959C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 027795A0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027795A0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 027795A0 */ if (_t4) goto L_027795A4; else goto L_027795B4;
|
|
L_027795A4: ; // 0x27795a4
|
|
/* 027795A4 */ cpu->r[3] = 0x0000026Cu;
|
|
/* 027795A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 027795AC */ cpu->r[31] = cpu->r[3];
|
|
/* 027795AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 027795B0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027795B0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027795B0 */ if (_t6) goto L_0277964C; else goto L_027795B4;
|
|
L_027795B4: ; // 0x27795b4
|
|
/* 027795B4 */ cpu->r[5] = 0x00000000u;
|
|
/* 027795B8 */ cpu->r[4] = 0x0000000Au;
|
|
/* 027795BC */ cpu->r[3] = cpu->r[31];
|
|
/* 027795C0 */ Gambit_fn_02790BA4(cpu);
|
|
/* 027795C4 */ cpu->r[7] = 0x10100000u;
|
|
/* 027795C8 */ cpu->r[6] = 0x10100000u;
|
|
/* 027795CC */ cpu->r[7] = cpu->r[7] + 0x00003674u;
|
|
/* 027795D0 */ cpu->r[6] = cpu->r[6] + 0x00003588u;
|
|
/* 027795D4 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 027795D4 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 027795D8 */ cpu->r[8] = 0x00000000u;
|
|
/* 027795DC */ _t8 = cpu->r[31] + 0x00000238u;
|
|
/* 027795DC */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 027795E0 */ cpu->r[6] = cpu->r[8];
|
|
/* 027795E4 */ _t9 = cpu->r[31] + 0x00000264u;
|
|
/* 027795E4 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 027795E8 */ cpu->r[0] = cpu->r[6];
|
|
/* 027795EC */ _t10 = cpu->r[31] + 0x0000025Cu;
|
|
/* 027795EC */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 027795F0 */ cpu->r[5] = cpu->r[31] + 0x0000023Cu;
|
|
/* 027795F4 */ _t11 = cpu->r[31] + 0x00000260u;
|
|
/* 027795F4 */ rbrew_write32(cpu->mem, _t11, cpu->r[8]);
|
|
/* 027795F8 */ cpu->r[12] = 0x00000003u;
|
|
/* 027795FC */ _t12 = cpu->r[31] + 0x00000248u;
|
|
/* 027795FC */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02779600 */ _t13 = cpu->r[31] + 0x00000258u;
|
|
/* 02779600 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 02779604 */ _t14 = cpu->r[31] + 0x00000254u;
|
|
/* 02779604 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 02779608 */ _t15 = cpu->r[31] + 0x0000024Cu;
|
|
/* 02779608 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 0277960C */ _t16 = cpu->r[31] + 0x00000268u;
|
|
/* 0277960C */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 02779610 */ cpu->ctr = cpu->r[12];
|
|
/* 02779614 */ _t17 = cpu->r[31] + 0x00000250u;
|
|
/* 02779614 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
L_02779618: ; // 0x2779618
|
|
/* 02779618 */ cpu->r[8] = cpu->r[6];
|
|
/* 0277961C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000003u);
|
|
/* 02779620 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02779620 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02779620 */ if (_t19) goto L_02779624; else goto L_02779638;
|
|
L_02779624: ; // 0x2779624
|
|
/* 02779624 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02779628 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0277962C */ _t20 = cpu->r[5] + cpu->r[9];
|
|
/* 0277962C */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02779630 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02779630 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02779630 */ _t22 = _t21 >> (0x00000002u & 31u);
|
|
/* 02779630 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02779630 */ if (_t23) goto L_02779618; else goto L_02779634;
|
|
L_02779634: ; // 0x2779634
|
|
/* 02779634 */ goto L_02779644;
|
|
L_02779638: ; // 0x2779638
|
|
/* 02779638 */ _t24 = cpu->r[5] + 0x00000000u;
|
|
/* 02779638 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0277963C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02779640 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02779640 */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02779640 */ _t26 = _t25 >> (0x00000002u & 31u);
|
|
/* 02779640 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02779640 */ if (_t27) goto L_02779618; else goto L_02779644;
|
|
L_02779644: ; // 0x2779644
|
|
/* 02779644 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02779648 */ _t28 = cpu->r[11] + 0xFFFF8FC4u;
|
|
/* 02779648 */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
L_0277964C: ; // 0x277964c
|
|
/* 0277964C */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0277964C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02779650 */ cpu->r[3] = cpu->r[31];
|
|
/* 02779654 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779654 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02779658 */ cpu->lr = cpu->r[0];
|
|
/* 0277965C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02779660 */ return;
|
|
}
|
|
|
|
// fn_02779664 @ 0x2779664
|
|
void Gambit_fn_02779664(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358;
|
|
|
|
L_02779664: ; // 0x2779664
|
|
/* 02779664 */ _t0 = cpu->r[1] + 0xFFFFFC88u;
|
|
/* 02779664 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02779664 */ cpu->r[1] = _t0;
|
|
/* 02779668 */ _t1 = cpu->r[1] + 0x00000318u;
|
|
/* 02779668 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[26]);
|
|
/* 0277966C */ /* nop */
|
|
/* 02779670 */ _t2 = cpu->r[1] + 0x000002C8u;
|
|
/* 02779670 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[21]);
|
|
/* 02779674 */ _t3 = cpu->r[1] + 0x00000348u;
|
|
/* 02779674 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
|
|
/* 02779678 */ /* nop */
|
|
/* 0277967C */ _t4 = cpu->r[1] + 0x00000338u;
|
|
/* 0277967C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[28]);
|
|
/* 02779680 */ /* nop */
|
|
/* 02779684 */ _t5 = cpu->r[1] + 0x000002D0u;
|
|
/* 02779684 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[21]);
|
|
/* 02779688 */ /* nop */
|
|
/* 0277968C */ _t6 = cpu->r[1] + 0x000002D8u;
|
|
/* 0277968C */ rbrew_write_f64(cpu->mem, _t6, cpu->f[22]);
|
|
/* 02779690 */ _t7 = cpu->r[1] + 0x00000328u;
|
|
/* 02779690 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[27]);
|
|
/* 02779694 */ /* nop */
|
|
/* 02779698 */ _t8 = cpu->r[1] + 0x00000320u;
|
|
/* 02779698 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[26]);
|
|
/* 0277969C */ /* nop */
|
|
/* 027796A0 */ _t9 = cpu->r[1] + 0x00000350u;
|
|
/* 027796A0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
|
|
/* 027796A4 */ _t10 = cpu->r[1] + 0x000002E0u;
|
|
/* 027796A4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[22]);
|
|
/* 027796A8 */ _t11 = cpu->r[1] + 0x000002E8u;
|
|
/* 027796A8 */ rbrew_write_f64(cpu->mem, _t11, cpu->f[23]);
|
|
/* 027796AC */ _t12 = cpu->r[1] + 0x00000308u;
|
|
/* 027796AC */ rbrew_write_f64(cpu->mem, _t12, cpu->f[25]);
|
|
/* 027796B0 */ /* nop */
|
|
/* 027796B4 */ _t13 = cpu->r[1] + 0x00000330u;
|
|
/* 027796B4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[27]);
|
|
/* 027796B8 */ /* nop */
|
|
/* 027796BC */ _t14 = cpu->r[1] + 0x000002F0u;
|
|
/* 027796BC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[23]);
|
|
/* 027796C0 */ _t15 = cpu->r[1] + 0x00000310u;
|
|
/* 027796C0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[25]);
|
|
/* 027796C4 */ _t16 = cpu->r[1] + 0x000002F8u;
|
|
/* 027796C4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[24]);
|
|
/* 027796C8 */ _t17 = cpu->r[1] + 0x000002B8u;
|
|
/* 027796C8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[20]);
|
|
/* 027796CC */ /* nop */
|
|
/* 027796D0 */ _t18 = cpu->r[1] + 0x00000340u;
|
|
/* 027796D0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[28]);
|
|
/* 027796D4 */ /* nop */
|
|
/* 027796D8 */ _t19 = cpu->r[1] + 0x00000300u;
|
|
/* 027796D8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[24]);
|
|
/* 027796DC */ cpu->r[0] = cpu->lr;
|
|
/* 027796E0 */ _t20 = cpu->r[1] + 0x000002C0u;
|
|
/* 027796E0 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[20]);
|
|
/* 027796E4 */ _t21 = cpu->r[1] + 0x00000358u;
|
|
/* 027796E4 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[30]);
|
|
/* 027796E8 */ /* nop */
|
|
/* 027796EC */ _t22 = cpu->r[1] + 0x00000360u;
|
|
/* 027796EC */ rbrew_write_f32(cpu->mem, _t22, cpu->f[30]);
|
|
/* 027796F0 */ _t23 = cpu->r[1] + 0x00000368u;
|
|
/* 027796F0 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[31]);
|
|
/* 027796F4 */ /* nop */
|
|
/* 027796F8 */ _t24 = cpu->r[1] + 0x00000370u;
|
|
/* 027796F8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[31]);
|
|
/* 027796FC */ _t25 = cpu->r[1] + 0x0000037Cu;
|
|
/* 027796FC */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02779700 */ /* nop */
|
|
/* 02779704 */ cpu->r[29] = cpu->r[3];
|
|
/* 02779708 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 0277970C */ Gambit_fn_0276AFAC(cpu);
|
|
/* 02779710 */ cpu->r[12] = 0x00000001u;
|
|
/* 02779714 */ cpu->r[0] = 0x00000002u;
|
|
/* 02779718 */ cpu->r[3] = 0x00000000u;
|
|
/* 0277971C */ _t26 = cpu->r[1] + 0x00000050u;
|
|
/* 0277971C */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 02779720 */ cpu->r[4] = cpu->r[1] + 0x00000050u;
|
|
/* 02779724 */ _t27 = cpu->r[1] + 0x00000054u;
|
|
/* 02779724 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02779728 */ Gambit_fn_0276ACC0(cpu);
|
|
/* 0277972C */ cpu->r[4] = cpu->r[3];
|
|
/* 0277972C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02779730 */ _t28 = cpu->r[29] + 0x00000254u;
|
|
/* 02779730 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02779734 */ _t29 = cpu->r[29] + 0x0000024Cu;
|
|
/* 02779734 */ rbrew_write32(cpu->mem, _t29, cpu->r[4]);
|
|
/* 02779738 */ _t30 = cpu->r[10] + 0x00000250u;
|
|
/* 02779738 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0277973C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277973C */ _t32 = _t31 & 0x00000001u;
|
|
/* 0277973C */ if (_t32) goto L_02779744; else goto L_02779740;
|
|
L_02779740: ; // 0x2779740
|
|
/* 02779740 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
L_02779744: ; // 0x2779744
|
|
/* 02779744 */ cpu->r[28] = 0x00000000u;
|
|
/* 02779748 */ cpu->r[5] = cpu->r[28];
|
|
/* 0277974C */ Gambit_fn_027EFC10(cpu);
|
|
/* 02779750 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 02779754 */ Gambit_fn_0209D45C(cpu);
|
|
/* 02779758 */ cpu->r[9] = 0x00000001u;
|
|
/* 0277975C */ cpu->r[0] = 0x00000002u;
|
|
/* 02779760 */ _t33 = cpu->r[1] + 0x00000060u;
|
|
/* 02779760 */ rbrew_write32(cpu->mem, _t33, cpu->r[9]);
|
|
/* 02779764 */ cpu->r[3] = cpu->r[28];
|
|
/* 02779768 */ cpu->r[4] = cpu->r[1] + 0x00000060u;
|
|
/* 0277976C */ _t34 = cpu->r[1] + 0x00000064u;
|
|
/* 0277976C */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02779770 */ Gambit_fn_0209CE30(cpu);
|
|
/* 02779774 */ cpu->r[4] = cpu->r[3];
|
|
/* 02779774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02779778 */ _t35 = cpu->r[29] + 0x00000254u;
|
|
/* 02779778 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0277977C */ _t36 = cpu->r[29] + 0x00000250u;
|
|
/* 0277977C */ rbrew_write32(cpu->mem, _t36, cpu->r[4]);
|
|
/* 02779780 */ _t37 = cpu->r[10] + 0x00000250u;
|
|
/* 02779780 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02779784 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779784 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02779784 */ if (_t39) goto L_0277978C; else goto L_02779788;
|
|
L_02779788: ; // 0x2779788
|
|
/* 02779788 */ cpu->r[4] = cpu->r[4] + 0x00000010u;
|
|
L_0277978C: ; // 0x277978c
|
|
/* 0277978C */ cpu->r[5] = 0x00000000u;
|
|
/* 02779790 */ Gambit_fn_027EFC10(cpu);
|
|
/* 02779794 */ cpu->r[3] = 0x00000000u;
|
|
/* 02779798 */ cpu->r[27] = 0x10100000u;
|
|
/* 0277979C */ cpu->r[6] = 0x10100000u;
|
|
/* 027797A0 */ cpu->r[5] = cpu->r[3];
|
|
/* 027797A4 */ cpu->r[27] = cpu->r[27] + 0x00003560u;
|
|
/* 027797A8 */ cpu->r[6] = cpu->r[6] + 0x00003648u;
|
|
/* 027797AC */ cpu->r[7] = cpu->r[5];
|
|
/* 027797B0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 027797B4 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 027797B4 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
/* 027797B8 */ cpu->r[6] = 0x00000001u;
|
|
/* 027797BC */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027797BC */ rbrew_write32(cpu->mem, _t41, cpu->r[27]);
|
|
/* 027797C0 */ Gambit_fn_02822600(cpu);
|
|
/* 027797C4 */ cpu->r[25] = cpu->r[3];
|
|
/* 027797C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 027797C8 */ cpu->r[30] = 0x00000001u;
|
|
/* 027797CC */ cpu->r[24] = 0x101D0000u;
|
|
/* 027797D0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027797D0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 027797D0 */ if (_t43) goto L_027797E4; else goto L_027797D4;
|
|
L_027797D4: ; // 0x27797d4
|
|
/* 027797D4 */ _t44 = cpu->r[24] + 0xFFFF98F0u;
|
|
/* 027797D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 027797D8 */ cpu->r[4] = cpu->r[25];
|
|
/* 027797DC */ Gambit_fn_02827008(cpu);
|
|
/* 027797E0 */ cpu->r[30] = cpu->r[3];
|
|
L_027797E4: ; // 0x27797e4
|
|
/* 027797E4 */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 027797E8 */ Gambit_fn_029A5044(cpu);
|
|
/* 027797EC */ cpu->r[23] = 0x10100000u;
|
|
/* 027797F0 */ cpu->r[8] = 0x00000001u;
|
|
/* 027797F4 */ cpu->r[23] = cpu->r[23] + 0x00003628u;
|
|
/* 027797F8 */ _t45 = cpu->r[1] + 0x00000078u;
|
|
/* 027797F8 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 027797FC */ cpu->r[3] = 0x000000A8u;
|
|
/* 02779800 */ _t46 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02779800 */ rbrew_write32(cpu->mem, _t46, cpu->r[23]);
|
|
/* 02779804 */ Gambit_fn_02801A78(cpu);
|
|
/* 02779808 */ cpu->r[31] = cpu->r[3];
|
|
/* 02779808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0277980C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277980C */ _t48 = _t47 & 0x00000001u;
|
|
/* 0277980C */ if (_t48) goto L_02779928; else goto L_02779810;
|
|
L_02779810: ; // 0x2779810
|
|
/* 02779810 */ cpu->r[0] = 0x10090000u;
|
|
/* 02779814 */ _t49 = cpu->r[31] + 0x00000004u;
|
|
/* 02779814 */ rbrew_write32(cpu->mem, _t49, cpu->r[28]);
|
|
/* 02779818 */ cpu->r[0] = cpu->r[0] + 0xFFFFCE44u;
|
|
/* 0277981C */ _t50 = cpu->r[31] + 0x00000008u;
|
|
/* 0277981C */ rbrew_write32(cpu->mem, _t50, cpu->r[28]);
|
|
/* 02779820 */ cpu->r[26] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02779820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02779824 */ _t51 = cpu->r[31] + 0x00000000u;
|
|
/* 02779824 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02779828 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779828 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02779828 */ if (_t53) goto L_0277982C; else goto L_0277983C;
|
|
L_0277982C: ; // 0x277982c
|
|
/* 0277982C */ cpu->r[3] = 0x00000010u;
|
|
/* 02779830 */ Gambit_fn_02801A78(cpu);
|
|
/* 02779834 */ cpu->r[26] = cpu->r[3];
|
|
/* 02779834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02779838 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779838 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02779838 */ if (_t55) goto L_0277987C; else goto L_0277983C;
|
|
L_0277983C: ; // 0x277983c
|
|
/* 0277983C */ cpu->r[3] = cpu->r[26];
|
|
/* 0277983C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02779840 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779840 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02779840 */ if (_t57) goto L_02779844; else goto L_02779854;
|
|
L_02779844: ; // 0x2779844
|
|
/* 02779844 */ cpu->r[3] = 0x00000010u;
|
|
/* 02779848 */ Gambit_fn_02801A78(cpu);
|
|
/* 0277984C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02779850 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779850 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02779850 */ if (_t59) goto L_02779870; else goto L_02779854;
|
|
L_02779854: ; // 0x2779854
|
|
/* 02779854 */ cpu->r[4] = 0x10100000u;
|
|
/* 02779858 */ _t60 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02779858 */ rbrew_write32(cpu->mem, _t60, cpu->r[28]);
|
|
/* 0277985C */ cpu->r[4] = cpu->r[4] + 0x000035C8u;
|
|
/* 02779860 */ _t61 = cpu->r[3] + 0x00000008u;
|
|
/* 02779860 */ rbrew_write16(cpu->mem, _t61, (uint16_t)cpu->r[28]);
|
|
/* 02779864 */ _t62 = cpu->r[3] + 0x00000000u;
|
|
/* 02779864 */ rbrew_write32(cpu->mem, _t62, cpu->r[4]);
|
|
/* 02779868 */ _t63 = cpu->r[3] + 0x0000000Au;
|
|
/* 02779868 */ rbrew_write16(cpu->mem, _t63, (uint16_t)cpu->r[28]);
|
|
/* 0277986C */ _t64 = cpu->r[3] + 0x00000004u;
|
|
/* 0277986C */ rbrew_write32(cpu->mem, _t64, cpu->r[28]);
|
|
L_02779870: ; // 0x2779870
|
|
/* 02779870 */ cpu->r[5] = 0x10100000u;
|
|
/* 02779874 */ cpu->r[5] = cpu->r[5] + 0x000035E0u;
|
|
/* 02779878 */ _t65 = cpu->r[26] + 0x00000000u;
|
|
/* 02779878 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
L_0277987C: ; // 0x277987c
|
|
/* 0277987C */ cpu->r[26] = cpu->r[31] + 0x0000001Cu;
|
|
/* 0277987C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02779880 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779880 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02779880 */ if (_t67) goto L_02779884; else goto L_02779894;
|
|
L_02779884: ; // 0x2779884
|
|
/* 02779884 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 02779888 */ Gambit_fn_02801A78(cpu);
|
|
/* 0277988C */ cpu->r[26] = cpu->r[3];
|
|
/* 0277988C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02779890 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779890 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02779890 */ if (_t69) goto L_027798C8; else goto L_02779894;
|
|
L_02779894: ; // 0x2779894
|
|
/* 02779894 */ cpu->r[3] = cpu->r[26];
|
|
/* 02779894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02779898 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779898 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02779898 */ if (_t71) goto L_0277989C; else goto L_027798AC;
|
|
L_0277989C: ; // 0x277989c
|
|
/* 0277989C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 027798A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 027798A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 027798A8 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027798A8 */ _t73 = _t72 & 0x00000001u;
|
|
/* 027798A8 */ if (_t73) goto L_027798B8; else goto L_027798AC;
|
|
L_027798AC: ; // 0x27798ac
|
|
/* 027798AC */ _t74 = cpu->r[3] + 0x00000004u;
|
|
/* 027798AC */ rbrew_write32(cpu->mem, _t74, cpu->r[28]);
|
|
/* 027798B0 */ _t75 = cpu->r[3] + 0x00000000u;
|
|
/* 027798B0 */ rbrew_write32(cpu->mem, _t75, cpu->r[28]);
|
|
/* 027798B4 */ _t76 = cpu->r[3] + 0x00000008u;
|
|
/* 027798B4 */ rbrew_write32(cpu->mem, _t76, cpu->r[28]);
|
|
L_027798B8: ; // 0x27798b8
|
|
/* 027798B8 */ cpu->r[4] = 0x00000020u;
|
|
/* 027798BC */ cpu->r[5] = cpu->r[26] + 0x0000000Cu;
|
|
/* 027798C0 */ cpu->r[3] = cpu->r[26];
|
|
/* 027798C4 */ Gambit_fn_028023A8(cpu);
|
|
L_027798C8: ; // 0x27798c8
|
|
/* 027798C8 */ _t77 = cpu->r[1] + 0x00000084u;
|
|
/* 027798C8 */ rbrew_write32(cpu->mem, _t77, cpu->r[31]);
|
|
/* 027798CC */ cpu->r[6] = 0x10100000u;
|
|
/* 027798D0 */ _t78 = cpu->r[1] + 0x00000024u;
|
|
/* 027798D0 */ rbrew_write32(cpu->mem, _t78, cpu->r[27]);
|
|
/* 027798D4 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 027798D8 */ cpu->r[6] = cpu->r[6] + 0x00003654u;
|
|
/* 027798DC */ cpu->r[5] = 0x00000000u;
|
|
/* 027798E0 */ cpu->r[4] = cpu->r[1] + 0x00000078u;
|
|
/* 027798E4 */ _t79 = cpu->r[1] + 0x00000020u;
|
|
/* 027798E4 */ rbrew_write32(cpu->mem, _t79, cpu->r[6]);
|
|
/* 027798E8 */ Gambit_fn_0299FE4C(cpu);
|
|
/* 027798EC */ _t80 = cpu->r[29] + 0x00000248u;
|
|
/* 027798EC */ rbrew_write32(cpu->mem, _t80, cpu->r[3]);
|
|
/* 027798F0 */ _t81 = cpu->r[24] + 0xFFFF98F0u;
|
|
/* 027798F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t81);
|
|
/* 027798F4 */ Gambit_fn_02826F20(cpu);
|
|
/* 027798F8 */ _t82 = cpu->r[29] + 0x00000248u;
|
|
/* 027798F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t82);
|
|
/* 027798FC */ cpu->r[4] = cpu->r[3];
|
|
/* 02779900 */ cpu->r[3] = cpu->r[31];
|
|
/* 02779904 */ Gambit_fn_023D9B90(cpu);
|
|
/* 02779908 */ _t83 = cpu->r[25] + 0x0000000Cu;
|
|
/* 02779908 */ cpu->r[6] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0277990C */ _t84 = cpu->r[6] + 0x0000002Cu;
|
|
/* 0277990C */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02779910 */ cpu->ctr = cpu->r[7];
|
|
/* 02779914 */ cpu->r[3] = cpu->r[25];
|
|
/* 02779918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277991C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000001u);
|
|
/* 02779920 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779920 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02779920 */ if (_t86) goto L_02779924; else goto L_02779984;
|
|
L_02779924: ; // 0x2779924
|
|
/* 02779924 */ goto L_02779990;
|
|
L_02779928: ; // 0x2779928
|
|
/* 02779928 */ cpu->r[5] = 0x00000000u;
|
|
/* 0277992C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02779930 */ _t87 = cpu->r[1] + 0x00000084u;
|
|
/* 02779930 */ rbrew_write32(cpu->mem, _t87, cpu->r[5]);
|
|
/* 02779934 */ cpu->r[6] = 0x10100000u;
|
|
/* 02779938 */ _t88 = cpu->r[1] + 0x00000024u;
|
|
/* 02779938 */ rbrew_write32(cpu->mem, _t88, cpu->r[27]);
|
|
/* 0277993C */ cpu->r[6] = cpu->r[6] + 0x00003654u;
|
|
/* 02779940 */ cpu->r[4] = cpu->r[1] + 0x00000078u;
|
|
/* 02779944 */ _t89 = cpu->r[1] + 0x00000020u;
|
|
/* 02779944 */ rbrew_write32(cpu->mem, _t89, cpu->r[6]);
|
|
/* 02779948 */ Gambit_fn_0299FE4C(cpu);
|
|
/* 0277994C */ _t90 = cpu->r[29] + 0x00000248u;
|
|
/* 0277994C */ rbrew_write32(cpu->mem, _t90, cpu->r[3]);
|
|
/* 02779950 */ _t91 = cpu->r[24] + 0xFFFF98F0u;
|
|
/* 02779950 */ cpu->r[3] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02779954 */ Gambit_fn_02826F20(cpu);
|
|
/* 02779958 */ _t92 = cpu->r[29] + 0x00000248u;
|
|
/* 02779958 */ cpu->r[5] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0277995C */ cpu->r[4] = cpu->r[3];
|
|
/* 02779960 */ cpu->r[3] = 0x00000000u;
|
|
/* 02779964 */ Gambit_fn_023D9B90(cpu);
|
|
/* 02779968 */ _t93 = cpu->r[25] + 0x0000000Cu;
|
|
/* 02779968 */ cpu->r[6] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0277996C */ _t94 = cpu->r[6] + 0x0000002Cu;
|
|
/* 0277996C */ cpu->r[7] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02779970 */ cpu->ctr = cpu->r[7];
|
|
/* 02779974 */ cpu->r[3] = cpu->r[25];
|
|
/* 02779978 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277997C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000001u);
|
|
/* 02779980 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779980 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02779980 */ if (_t96) goto L_02779990; else goto L_02779984;
|
|
L_02779984: ; // 0x2779984
|
|
/* 02779984 */ _t97 = cpu->r[24] + 0xFFFF98F0u;
|
|
/* 02779984 */ cpu->r[3] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02779988 */ cpu->r[4] = cpu->r[30];
|
|
/* 0277998C */ Gambit_fn_02827008(cpu);
|
|
L_02779990: ; // 0x2779990
|
|
/* 02779990 */ cpu->r[8] = 0x10100000u;
|
|
/* 02779994 */ _t98 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779994 */ rbrew_write32(cpu->mem, _t98, cpu->r[27]);
|
|
/* 02779998 */ cpu->r[5] = 0x00000000u;
|
|
/* 0277999C */ cpu->r[8] = cpu->r[8] + 0x00003624u;
|
|
/* 027799A0 */ _t99 = cpu->r[29] + 0x00000248u;
|
|
/* 027799A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 027799A4 */ cpu->r[6] = cpu->r[5];
|
|
/* 027799A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027799AC */ _t100 = cpu->r[1] + 0x00000008u;
|
|
/* 027799AC */ rbrew_write32(cpu->mem, _t100, cpu->r[8]);
|
|
/* 027799B0 */ Gambit_fn_027E8CA4(cpu);
|
|
/* 027799B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 027799B8 */ _t101 = cpu->r[29] + 0x00000248u;
|
|
/* 027799B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t101);
|
|
/* 027799BC */ cpu->r[5] = 0x00000001u;
|
|
/* 027799C0 */ _t102 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027799C0 */ rbrew_write32(cpu->mem, _t102, cpu->r[27]);
|
|
/* 027799C4 */ cpu->r[6] = 0x00000000u;
|
|
/* 027799C8 */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 027799C8 */ rbrew_write32(cpu->mem, _t103, cpu->r[23]);
|
|
/* 027799CC */ Gambit_fn_027E8CA4(cpu);
|
|
/* 027799D0 */ cpu->r[25] = 0x02780000u;
|
|
/* 027799D4 */ cpu->r[10] = 0x10100000u;
|
|
/* 027799D8 */ cpu->r[25] = cpu->r[25] + 0xFFFFA3F8u;
|
|
/* 027799DC */ _t104 = cpu->r[29] + 0x00000248u;
|
|
/* 027799DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t104);
|
|
/* 027799E0 */ cpu->r[10] = cpu->r[10] + 0x00003614u;
|
|
/* 027799E4 */ cpu->ctr = cpu->r[25];
|
|
/* 027799E8 */ _t105 = cpu->r[1] + 0x00000008u;
|
|
/* 027799E8 */ rbrew_write32(cpu->mem, _t105, cpu->r[10]);
|
|
/* 027799EC */ _t106 = cpu->r[1] + 0x0000000Cu;
|
|
/* 027799EC */ rbrew_write32(cpu->mem, _t106, cpu->r[27]);
|
|
/* 027799F0 */ _t107 = cpu->r[6] + 0x000008E4u;
|
|
/* 027799F0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t107);
|
|
/* 027799F4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 027799F8 */ _t108 = cpu->r[24] + 0x00000000u;
|
|
/* 027799F8 */ cpu->r[26] = rbrew_read32(cpu->mem, _t108);
|
|
/* 027799FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02779A00 */ cpu->r[31] = 0x10110000u;
|
|
/* 02779A04 */ _t109 = cpu->r[1] + 0x00000008u;
|
|
/* 02779A04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02779A08 */ _t110 = cpu->r[31] + 0x00007399u;
|
|
/* 02779A08 */ cpu->r[31] = rbrew_read8(cpu->mem, _t110);
|
|
/* 02779A0C */ _t111 = cpu->r[7] + 0x00000000u;
|
|
/* 02779A0C */ cpu->r[12] = rbrew_read8(cpu->mem, _t111);
|
|
/* 02779A10 */ cpu->r[30] = 0x00000000u;
|
|
/* 02779A14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 02779A18 */ cpu->r[9] = 0x00080000u;
|
|
/* 02779A1C */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779A1C */ _t113 = _t112 & 0x00000001u;
|
|
/* 02779A1C */ if (_t113) goto L_02779A44; else goto L_02779A20;
|
|
L_02779A20: ; // 0x2779a20
|
|
/* 02779A20 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02779A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 02779A28 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02779A2C */ _t114 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02779A2C */ _t115 = _t114 & 0x00000001u;
|
|
/* 02779A2C */ if (_t115) goto L_02779A40; else goto L_02779A30;
|
|
L_02779A30: ; // 0x2779a30
|
|
/* 02779A30 */ _t116 = cpu->r[7] + 0x00000000u;
|
|
/* 02779A30 */ cpu->r[4] = rbrew_read8(cpu->mem, _t116);
|
|
/* 02779A34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02779A38 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779A38 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02779A38 */ if (_t118) goto L_02779A3C; else goto L_02779A20;
|
|
L_02779A3C: ; // 0x2779a3c
|
|
/* 02779A3C */ goto L_02779A44;
|
|
L_02779A40: ; // 0x2779a40
|
|
/* 02779A40 */ cpu->r[30] = 0x00000000u;
|
|
L_02779A44: ; // 0x2779a44
|
|
/* 02779A44 */ _t119 = cpu->r[24] + 0x00000008u;
|
|
/* 02779A44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02779A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 02779A4C */ _t120 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779A4C */ cpu->r[6] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02779A50 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02779A50 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02779A50 */ if (_t122) goto L_02779A58; else goto L_02779A54;
|
|
L_02779A54: ; // 0x2779a54
|
|
/* 02779A54 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02779A58: ; // 0x2779a58
|
|
/* 02779A58 */ _t123 = cpu->r[6] + 0x00000014u;
|
|
/* 02779A58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02779A5C */ cpu->ctr = cpu->r[8];
|
|
/* 02779A60 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02779A64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02779A68 */ _t124 = cpu->r[1] + 0x00000008u;
|
|
/* 02779A68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02779A6C */ cpu->r[6] = 0x00000000u;
|
|
/* 02779A70 */ cpu->r[5] = cpu->r[30];
|
|
/* 02779A74 */ cpu->r[3] = cpu->r[26];
|
|
/* 02779A78 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02779A7C */ _t125 = cpu->r[26] + cpu->r[30];
|
|
/* 02779A7C */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[31]);
|
|
/* 02779A80 */ cpu->r[11] = 0x10100000u;
|
|
/* 02779A84 */ _t126 = cpu->r[29] + 0x00000248u;
|
|
/* 02779A84 */ cpu->r[6] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02779A88 */ cpu->r[11] = cpu->r[11] + 0x00003630u;
|
|
/* 02779A8C */ _t127 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779A8C */ rbrew_write32(cpu->mem, _t127, cpu->r[27]);
|
|
/* 02779A90 */ _t128 = cpu->r[1] + 0x00000008u;
|
|
/* 02779A90 */ rbrew_write32(cpu->mem, _t128, cpu->r[11]);
|
|
/* 02779A94 */ _t129 = cpu->r[6] + 0x000008E0u;
|
|
/* 02779A94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02779A98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02779A9C */ _t130 = cpu->r[6] + 0x000008E4u;
|
|
/* 02779A9C */ cpu->r[26] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02779AA0 */ _t131 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02779AA0 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02779AA0 */ if (_t132) goto L_02779AA4; else goto L_02779AA8;
|
|
L_02779AA4: ; // 0x2779aa4
|
|
/* 02779AA4 */ cpu->r[26] = cpu->r[26] + 0x000003C4u;
|
|
L_02779AA8: ; // 0x2779aa8
|
|
/* 02779AA8 */ cpu->ctr = cpu->r[25];
|
|
/* 02779AAC */ _t133 = cpu->r[26] + 0x00000000u;
|
|
/* 02779AAC */ cpu->r[24] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02779AB0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02779AB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02779AB8 */ _t134 = cpu->r[1] + 0x00000008u;
|
|
/* 02779AB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02779ABC */ _t135 = cpu->r[5] + 0x00000000u;
|
|
/* 02779ABC */ cpu->r[0] = rbrew_read8(cpu->mem, _t135);
|
|
/* 02779AC0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02779AC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02779AC8 */ cpu->r[6] = 0x00080000u;
|
|
/* 02779ACC */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779ACC */ _t137 = _t136 & 0x00000001u;
|
|
/* 02779ACC */ if (_t137) goto L_02779AF4; else goto L_02779AD0;
|
|
L_02779AD0: ; // 0x2779ad0
|
|
/* 02779AD0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02779AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 02779AD8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02779ADC */ _t138 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02779ADC */ _t139 = _t138 & 0x00000001u;
|
|
/* 02779ADC */ if (_t139) goto L_02779AF0; else goto L_02779AE0;
|
|
L_02779AE0: ; // 0x2779ae0
|
|
/* 02779AE0 */ _t140 = cpu->r[5] + 0x00000000u;
|
|
/* 02779AE0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t140);
|
|
/* 02779AE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02779AE8 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779AE8 */ _t142 = _t141 & 0x00000001u;
|
|
/* 02779AE8 */ if (_t142) goto L_02779AEC; else goto L_02779AD0;
|
|
L_02779AEC: ; // 0x2779aec
|
|
/* 02779AEC */ goto L_02779AF4;
|
|
L_02779AF0: ; // 0x2779af0
|
|
/* 02779AF0 */ cpu->r[30] = 0x00000000u;
|
|
L_02779AF4: ; // 0x2779af4
|
|
/* 02779AF4 */ _t143 = cpu->r[26] + 0x00000008u;
|
|
/* 02779AF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02779AF8 */ _t144 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02779AF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02779AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 02779B00 */ _t145 = cpu->r[7] + 0x00000014u;
|
|
/* 02779B00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02779B04 */ _t146 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02779B04 */ _t147 = _t146 & 0x00000001u;
|
|
/* 02779B04 */ if (_t147) goto L_02779B0C; else goto L_02779B08;
|
|
L_02779B08: ; // 0x2779b08
|
|
/* 02779B08 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02779B0C: ; // 0x2779b0c
|
|
/* 02779B0C */ cpu->ctr = cpu->r[8];
|
|
/* 02779B10 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02779B14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02779B18 */ _t148 = cpu->r[1] + 0x00000008u;
|
|
/* 02779B18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02779B1C */ cpu->r[3] = cpu->r[24];
|
|
/* 02779B20 */ cpu->r[5] = cpu->r[30];
|
|
/* 02779B24 */ cpu->r[6] = 0x00000000u;
|
|
/* 02779B28 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02779B2C */ _t149 = cpu->r[24] + cpu->r[30];
|
|
/* 02779B2C */ rbrew_write8(cpu->mem, _t149, (uint8_t)cpu->r[31]);
|
|
/* 02779B30 */ _t150 = cpu->r[29] + 0x00000248u;
|
|
/* 02779B30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02779B34 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02779B38 */ cpu->r[3] = cpu->r[31];
|
|
/* 02779B3C */ Gambit_fn_0299FF28(cpu);
|
|
/* 02779B40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02779B44 */ cpu->r[4] = 0x00000000u;
|
|
/* 02779B48 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02779B4C */ Gambit_fn_0299FFD0(cpu);
|
|
/* 02779B50 */ _t151 = cpu->r[29] + 0x00000248u;
|
|
/* 02779B50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02779B54 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02779B58 */ cpu->r[4] = 0x00000000u;
|
|
/* 02779B5C */ Gambit_fn_027E22D0(cpu);
|
|
/* 02779B60 */ cpu->r[0] = 0x10100000u;
|
|
/* 02779B64 */ _t152 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02779B64 */ rbrew_write32(cpu->mem, _t152, cpu->r[27]);
|
|
/* 02779B68 */ cpu->r[0] = cpu->r[0] + 0x00003638u;
|
|
/* 02779B6C */ _t153 = cpu->r[1] + 0x00000028u;
|
|
/* 02779B6C */ rbrew_write32(cpu->mem, _t153, cpu->r[0]);
|
|
/* 02779B70 */ Gambit_fn_027FA974(cpu);
|
|
/* 02779B74 */ cpu->r[4] = 0x00000000u;
|
|
/* 02779B78 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 02779B7C */ cpu->r[6] = cpu->r[4];
|
|
/* 02779B80 */ Gambit_fn_027D4248(cpu);
|
|
/* 02779B84 */ _t154 = cpu->r[29] + 0x00000248u;
|
|
/* 02779B84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02779B88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02779B8C */ cpu->r[30] = cpu->r[3];
|
|
/* 02779B90 */ Gambit_fn_029730C0(cpu);
|
|
/* 02779B94 */ cpu->r[26] = 0x00000001u;
|
|
/* 02779B98 */ _t155 = cpu->r[30] + 0x00000057u;
|
|
/* 02779B98 */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[26]);
|
|
/* 02779B9C */ cpu->r[9] = 0x10100000u;
|
|
/* 02779BA0 */ _t156 = cpu->r[29] + 0x0000023Cu;
|
|
/* 02779BA0 */ rbrew_write32(cpu->mem, _t156, cpu->r[31]);
|
|
/* 02779BA4 */ cpu->r[9] = cpu->r[9] + 0x00003640u;
|
|
/* 02779BA8 */ _t157 = cpu->r[1] + 0x00000034u;
|
|
/* 02779BA8 */ rbrew_write32(cpu->mem, _t157, cpu->r[27]);
|
|
/* 02779BAC */ cpu->r[30] = cpu->r[29] + 0x0000023Cu;
|
|
/* 02779BB0 */ _t158 = cpu->r[1] + 0x00000030u;
|
|
/* 02779BB0 */ rbrew_write32(cpu->mem, _t158, cpu->r[9]);
|
|
/* 02779BB4 */ Gambit_fn_027FA974(cpu);
|
|
/* 02779BB8 */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 02779BBC */ cpu->r[4] = cpu->r[26];
|
|
/* 02779BC0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02779BC4 */ Gambit_fn_027D41A4(cpu);
|
|
/* 02779BC8 */ cpu->r[4] = 0x00000003u;
|
|
/* 02779BCC */ _t159 = cpu->r[29] + 0x00000240u;
|
|
/* 02779BCC */ rbrew_write32(cpu->mem, _t159, cpu->r[3]);
|
|
/* 02779BD0 */ Gambit_fn_027E2330(cpu);
|
|
/* 02779BD4 */ cpu->r[0] = 0x10100000u;
|
|
/* 02779BD8 */ _t160 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02779BD8 */ rbrew_write32(cpu->mem, _t160, cpu->r[27]);
|
|
/* 02779BDC */ cpu->r[0] = cpu->r[0] + 0x0000361Cu;
|
|
/* 02779BE0 */ _t161 = cpu->r[1] + 0x00000038u;
|
|
/* 02779BE0 */ rbrew_write32(cpu->mem, _t161, cpu->r[0]);
|
|
/* 02779BE4 */ Gambit_fn_027FA974(cpu);
|
|
/* 02779BE8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02779BEC */ cpu->r[5] = cpu->r[1] + 0x00000038u;
|
|
/* 02779BF0 */ cpu->r[6] = cpu->r[26];
|
|
/* 02779BF4 */ Gambit_fn_027D41A4(cpu);
|
|
/* 02779BF8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02779BFC */ _t162 = cpu->r[29] + 0x00000244u;
|
|
/* 02779BFC */ rbrew_write32(cpu->mem, _t162, cpu->r[3]);
|
|
/* 02779C00 */ Gambit_fn_027E2330(cpu);
|
|
/* 02779C04 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02779C08 */ _t163 = cpu->r[12] + 0xFFFF92F0u;
|
|
/* 02779C08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02779C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02779C10 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779C10 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02779C10 */ if (_t165) goto L_02779C1C; else goto L_02779C14;
|
|
L_02779C14: ; // 0x2779c14
|
|
/* 02779C14 */ cpu->r[5] = 0x00000001u;
|
|
/* 02779C18 */ _t166 = cpu->r[12] + 0x00000004u;
|
|
/* 02779C18 */ rbrew_write32(cpu->mem, _t166, cpu->r[5]);
|
|
L_02779C1C: ; // 0x2779c1c
|
|
/* 02779C1C */ cpu->r[5] = 0x101D0000u;
|
|
/* 02779C20 */ _t167 = cpu->r[5] + 0xFFFF9024u;
|
|
/* 02779C20 */ cpu->r[5] = rbrew_read32(cpu->mem, _t167);
|
|
/* 02779C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02779C28 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779C28 */ _t169 = _t168 & 0x00000001u;
|
|
/* 02779C28 */ if (_t169) goto L_02779C34; else goto L_02779C2C;
|
|
L_02779C2C: ; // 0x2779c2c
|
|
/* 02779C2C */ cpu->r[7] = 0x00000001u;
|
|
/* 02779C30 */ _t170 = cpu->r[5] + 0x00000004u;
|
|
/* 02779C30 */ rbrew_write32(cpu->mem, _t170, cpu->r[7]);
|
|
L_02779C34: ; // 0x2779c34
|
|
/* 02779C34 */ cpu->r[5] = 0x00000001u;
|
|
/* 02779C38 */ cpu->r[4] = 0x00000000u;
|
|
/* 02779C3C */ cpu->r[3] = cpu->r[29];
|
|
/* 02779C40 */ Gambit_fn_0277A940(cpu);
|
|
/* 02779C44 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02779C48 */ _t171 = cpu->r[8] + 0xFFFF8FC8u;
|
|
/* 02779C48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02779C4C */ cpu->r[31] = cpu->r[29] + 0x00000104u;
|
|
/* 02779C50 */ _t172 = cpu->r[31] + cpu->r[8];
|
|
/* 02779C50 */ cpu->r[11] = rbrew_read8(cpu->mem, _t172);
|
|
/* 02779C54 */ _t173 = cpu->r[29] + 0x00000030u;
|
|
/* 02779C54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t173);
|
|
/* 02779C58 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02779C5C */ _t174 = cpu->r[8] + cpu->r[9];
|
|
/* 02779C5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02779C60 */ _t175 = cpu->r[10] + 0x00000004u;
|
|
/* 02779C60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02779C64 */ _t176 = cpu->r[11] + 0x00000000u;
|
|
/* 02779C64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02779C68 */ cpu->r[5] = 0x00000001u;
|
|
/* 02779C6C */ cpu->r[4] = 0x00000007u;
|
|
/* 02779C70 */ cpu->r[3] = cpu->r[29];
|
|
/* 02779C74 */ _t177 = cpu->r[29] + 0x00000260u;
|
|
/* 02779C74 */ rbrew_write32(cpu->mem, _t177, cpu->r[9]);
|
|
/* 02779C78 */ Gambit_fn_0277A998(cpu);
|
|
/* 02779C7C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02779C80 */ _t178 = cpu->r[10] + 0xFFFF8E54u;
|
|
/* 02779C80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02779C84 */ _t179 = cpu->r[31] + cpu->r[10];
|
|
/* 02779C84 */ cpu->r[5] = rbrew_read8(cpu->mem, _t179);
|
|
/* 02779C88 */ _t180 = cpu->r[29] + 0x00000030u;
|
|
/* 02779C88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t180);
|
|
/* 02779C8C */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02779C90 */ _t181 = cpu->r[12] + cpu->r[0];
|
|
/* 02779C90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02779C94 */ _t182 = cpu->r[4] + 0x00000004u;
|
|
/* 02779C94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02779C98 */ cpu->r[3] = cpu->r[29];
|
|
/* 02779C9C */ _t183 = cpu->r[5] + 0x00000000u;
|
|
/* 02779C9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02779CA0 */ cpu->r[5] = 0x00000001u;
|
|
/* 02779CA4 */ cpu->r[4] = 0x00000008u;
|
|
/* 02779CA8 */ _t184 = cpu->r[29] + 0x00000264u;
|
|
/* 02779CA8 */ rbrew_write32(cpu->mem, _t184, cpu->r[0]);
|
|
/* 02779CAC */ Gambit_fn_0277A9F0(cpu);
|
|
/* 02779CB0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02779CB4 */ _t185 = cpu->r[12] + 0xFFFF8D00u;
|
|
/* 02779CB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t185);
|
|
/* 02779CB8 */ _t186 = cpu->r[31] + cpu->r[12];
|
|
/* 02779CB8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t186);
|
|
/* 02779CBC */ _t187 = cpu->r[29] + 0x00000030u;
|
|
/* 02779CBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02779CC0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02779CC4 */ _t188 = cpu->r[8] + cpu->r[0];
|
|
/* 02779CC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02779CC8 */ _t189 = cpu->r[10] + 0x00000004u;
|
|
/* 02779CC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02779CCC */ cpu->r[4] = 0x00000001u;
|
|
/* 02779CD0 */ _t190 = cpu->r[11] + 0x00000000u;
|
|
/* 02779CD0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02779CD4 */ cpu->r[5] = cpu->r[4];
|
|
/* 02779CD8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02779CDC */ _t191 = cpu->r[29] + 0x00000268u;
|
|
/* 02779CDC */ rbrew_write32(cpu->mem, _t191, cpu->r[7]);
|
|
/* 02779CE0 */ Gambit_fn_023AE270(cpu);
|
|
/* 02779CE4 */ cpu->r[11] = 0x101C0000u;
|
|
/* 02779CE8 */ _t192 = cpu->r[11] + 0x00000E44u;
|
|
/* 02779CE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t192);
|
|
/* 02779CEC */ _t193 = cpu->r[31] + cpu->r[11];
|
|
/* 02779CEC */ cpu->r[10] = rbrew_read8(cpu->mem, _t193);
|
|
/* 02779CF0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02779CF4 */ _t194 = cpu->r[29] + 0x00000030u;
|
|
/* 02779CF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02779CF8 */ _t195 = cpu->r[11] + 0xFFFFDAFCu;
|
|
/* 02779CF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02779CF8 */ cpu->r[11] = _t195;
|
|
/* 02779CFC */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02779D00 */ _t196 = cpu->r[12] + cpu->r[4];
|
|
/* 02779D00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t196);
|
|
/* 02779D04 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02779D08 */ _t197 = cpu->r[30] + 0x00000000u;
|
|
/* 02779D08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t197);
|
|
/* 02779D0C */ _t198 = cpu->r[5] + 0x00000004u;
|
|
/* 02779D0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t198);
|
|
/* 02779D10 */ cpu->r[4] = cpu->r[4] + 0xFFFFE288u;
|
|
/* 02779D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02779D18 */ _t199 = cpu->r[6] + 0x00000000u;
|
|
/* 02779D18 */ cpu->r[27] = rbrew_read32(cpu->mem, _t199);
|
|
/* 02779D1C */ _t200 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779D1C */ _t201 = _t200 & 0x00000001u;
|
|
/* 02779D1C */ if (_t201) goto L_02779D20; else goto L_02779D34;
|
|
L_02779D20: ; // 0x2779d20
|
|
/* 02779D20 */ cpu->r[0] = 0x10100000u;
|
|
/* 02779D24 */ cpu->r[8] = 0x00000001u;
|
|
/* 02779D28 */ cpu->r[0] = cpu->r[0] + 0x000035A8u;
|
|
/* 02779D2C */ _t202 = cpu->r[11] + 0x00000000u;
|
|
/* 02779D2C */ rbrew_write32(cpu->mem, _t202, cpu->r[8]);
|
|
/* 02779D30 */ _t203 = cpu->r[4] + 0x00000000u;
|
|
/* 02779D30 */ rbrew_write32(cpu->mem, _t203, cpu->r[0]);
|
|
L_02779D34: ; // 0x2779d34
|
|
/* 02779D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02779D38 */ _t204 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779D38 */ _t205 = _t204 & 0x00000001u;
|
|
/* 02779D38 */ if (_t205) goto L_02779D58; else goto L_02779D3C;
|
|
L_02779D3C: ; // 0x2779d3c
|
|
/* 02779D3C */ _t206 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02779D3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t206);
|
|
/* 02779D40 */ _t207 = cpu->r[11] + 0x00000014u;
|
|
/* 02779D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02779D44 */ cpu->ctr = cpu->r[0];
|
|
/* 02779D48 */ cpu->r[3] = cpu->r[30];
|
|
/* 02779D4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02779D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02779D54 */ _t208 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779D54 */ _t209 = _t208 & 0x00000001u;
|
|
/* 02779D54 */ if (_t209) goto L_02779D58; else goto L_02779D5C;
|
|
L_02779D58: ; // 0x2779d58
|
|
/* 02779D58 */ cpu->r[30] = 0x00000000u;
|
|
L_02779D5C: ; // 0x2779d5c
|
|
/* 02779D5C */ cpu->r[5] = 0x00000000u;
|
|
/* 02779D60 */ cpu->r[4] = cpu->r[30];
|
|
/* 02779D64 */ cpu->r[3] = cpu->r[27];
|
|
/* 02779D68 */ Gambit_fn_02013E30(cpu);
|
|
/* 02779D6C */ cpu->r[3] = 0x00000150u;
|
|
/* 02779D70 */ Gambit_fn_02801A78(cpu);
|
|
/* 02779D74 */ cpu->r[0] = cpu->r[3];
|
|
/* 02779D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02779D78 */ _t210 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779D78 */ _t211 = _t210 & 0x00000001u;
|
|
/* 02779D78 */ if (_t211) goto L_02779D88; else goto L_02779D7C;
|
|
L_02779D7C: ; // 0x2779d7c
|
|
/* 02779D7C */ cpu->r[3] = cpu->r[0];
|
|
/* 02779D80 */ Gambit_fn_02778F20(cpu);
|
|
/* 02779D84 */ cpu->r[0] = cpu->r[3];
|
|
L_02779D88: ; // 0x2779d88
|
|
/* 02779D88 */ cpu->r[3] = 0x0000013Cu;
|
|
/* 02779D8C */ _t212 = cpu->r[29] + 0x00000258u;
|
|
/* 02779D8C */ rbrew_write32(cpu->mem, _t212, cpu->r[0]);
|
|
/* 02779D90 */ Gambit_fn_02801A78(cpu);
|
|
/* 02779D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02779D98 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779D98 */ _t214 = _t213 & 0x00000001u;
|
|
/* 02779D98 */ if (_t214) goto L_02779DA0; else goto L_02779D9C;
|
|
L_02779D9C: ; // 0x2779d9c
|
|
/* 02779D9C */ Gambit_fn_027790A8(cpu);
|
|
L_02779DA0: ; // 0x2779da0
|
|
/* 02779DA0 */ cpu->r[9] = 0x101C0000u;
|
|
/* 02779DA4 */ _t215 = cpu->r[29] + 0x0000025Cu;
|
|
/* 02779DA4 */ rbrew_write32(cpu->mem, _t215, cpu->r[3]);
|
|
/* 02779DA8 */ _t216 = cpu->r[9] + 0x00001358u;
|
|
/* 02779DA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t216);
|
|
/* 02779DAC */ _t217 = cpu->r[9] + 0x00000288u;
|
|
/* 02779DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02779DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02779DB4 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02779DB4 */ _t219 = _t218 & 0x00000001u;
|
|
/* 02779DB4 */ if (_t219) goto L_02779DB8; else goto L_02779DC4;
|
|
L_02779DB8: ; // 0x2779db8
|
|
/* 02779DB8 */ _t220 = cpu->r[1] + 0x00000014u;
|
|
/* 02779DB8 */ rbrew_write32(cpu->mem, _t220, cpu->r[28]);
|
|
/* 02779DBC */ _t221 = cpu->r[1] + 0x00000014u;
|
|
/* 02779DBC */ cpu->r[5] = rbrew_read32(cpu->mem, _t221);
|
|
/* 02779DC0 */ _t222 = cpu->r[9] + 0x00000288u;
|
|
/* 02779DC0 */ rbrew_write32(cpu->mem, _t222, cpu->r[28]);
|
|
L_02779DC4: ; // 0x2779dc4
|
|
/* 02779DC4 */ cpu->r[5] = 0x00000001u;
|
|
/* 02779DC8 */ cpu->r[4] = 0x00000003u;
|
|
/* 02779DCC */ cpu->r[3] = cpu->r[29];
|
|
/* 02779DD0 */ Gambit_fn_0277AA48(cpu);
|
|
/* 02779DD4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02779DD8 */ _t223 = cpu->r[9] + 0xFFFF8E80u;
|
|
/* 02779DD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t223);
|
|
/* 02779DDC */ _t224 = cpu->r[31] + cpu->r[9];
|
|
/* 02779DDC */ cpu->r[6] = rbrew_read8(cpu->mem, _t224);
|
|
/* 02779DE0 */ _t225 = cpu->r[29] + 0x00000030u;
|
|
/* 02779DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t225);
|
|
/* 02779DE4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02779DE8 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02779DEC */ _t226 = cpu->r[8] + cpu->r[0];
|
|
/* 02779DEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02779DF0 */ _t227 = cpu->r[10] + 0x00005DDCu;
|
|
/* 02779DF0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t227);
|
|
/* 02779DF0 */ cpu->r[10] = _t227;
|
|
/* 02779DF4 */ _t228 = cpu->r[12] + 0x00000004u;
|
|
/* 02779DF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t228);
|
|
/* 02779DF8 */ _t229 = cpu->r[10] + 0x00000018u;
|
|
/* 02779DF8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t229);
|
|
/* 02779DFC */ _t230 = cpu->r[4] + 0x00000000u;
|
|
/* 02779DFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t230);
|
|
/* 02779E00 */ _t231 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02779E00 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t231);
|
|
/* 02779E04 */ _t232 = cpu->r[11] + 0x000000A0u;
|
|
/* 02779E04 */ rbrew_write_f32(cpu->mem, _t232, cpu->f[28]);
|
|
/* 02779E08 */ _t233 = cpu->r[11] + 0x0000009Cu;
|
|
/* 02779E08 */ rbrew_write_f32(cpu->mem, _t233, cpu->f[29]);
|
|
/* 02779E0C */ _t234 = cpu->r[11] + 0x00000098u;
|
|
/* 02779E0C */ rbrew_write_f32(cpu->mem, _t234, cpu->f[31]);
|
|
/* 02779E10 */ _t235 = cpu->r[10] + 0x00000010u;
|
|
/* 02779E10 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t235);
|
|
/* 02779E14 */ _t236 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02779E14 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t236);
|
|
/* 02779E18 */ _t237 = cpu->r[10] + 0x00000004u;
|
|
/* 02779E18 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t237);
|
|
/* 02779E1C */ _t238 = cpu->r[11] + 0x000000ACu;
|
|
/* 02779E1C */ rbrew_write_f32(cpu->mem, _t238, cpu->f[25]);
|
|
/* 02779E20 */ _t239 = cpu->r[11] + 0x000000A8u;
|
|
/* 02779E20 */ rbrew_write_f32(cpu->mem, _t239, cpu->f[26]);
|
|
/* 02779E24 */ _t240 = cpu->r[11] + 0x000000A4u;
|
|
/* 02779E24 */ rbrew_write_f32(cpu->mem, _t240, cpu->f[27]);
|
|
/* 02779E28 */ _t241 = cpu->r[10] + 0x00000020u;
|
|
/* 02779E28 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t241);
|
|
/* 02779E2C */ _t242 = cpu->r[10] + 0x00000008u;
|
|
/* 02779E2C */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t242);
|
|
/* 02779E30 */ _t243 = cpu->r[10] + 0x00000014u;
|
|
/* 02779E30 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t243);
|
|
/* 02779E34 */ _t244 = cpu->r[11] + 0x000000B0u;
|
|
/* 02779E34 */ rbrew_write_f32(cpu->mem, _t244, cpu->f[24]);
|
|
/* 02779E38 */ _t245 = cpu->r[11] + 0x000000B8u;
|
|
/* 02779E38 */ rbrew_write_f32(cpu->mem, _t245, cpu->f[22]);
|
|
/* 02779E3C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02779E40 */ _t246 = cpu->r[11] + 0x000000B4u;
|
|
/* 02779E40 */ rbrew_write_f32(cpu->mem, _t246, cpu->f[23]);
|
|
/* 02779E44 */ _t247 = cpu->r[12] + 0x00006338u;
|
|
/* 02779E44 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t247);
|
|
/* 02779E44 */ cpu->r[12] = _t247;
|
|
/* 02779E48 */ _t248 = cpu->r[11] + 0x000000BCu;
|
|
/* 02779E48 */ rbrew_write_f32(cpu->mem, _t248, cpu->f[30]);
|
|
/* 02779E4C */ _t249 = cpu->r[12] + 0x00000004u;
|
|
/* 02779E4C */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t249);
|
|
/* 02779E50 */ cpu->r[3] = cpu->r[29];
|
|
/* 02779E54 */ _t250 = cpu->r[11] + 0x000000C0u;
|
|
/* 02779E54 */ rbrew_write_f32(cpu->mem, _t250, cpu->f[21]);
|
|
/* 02779E58 */ _t251 = cpu->r[12] + 0x00000008u;
|
|
/* 02779E58 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t251);
|
|
/* 02779E5C */ cpu->r[4] = 0x00000004u;
|
|
/* 02779E60 */ cpu->r[5] = 0x00000001u;
|
|
/* 02779E64 */ _t252 = cpu->r[11] + 0x000000C4u;
|
|
/* 02779E64 */ rbrew_write_f32(cpu->mem, _t252, cpu->f[20]);
|
|
/* 02779E68 */ Gambit_fn_0277AAA0(cpu);
|
|
/* 02779E6C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02779E70 */ _t253 = cpu->r[11] + 0xFFFF8E90u;
|
|
/* 02779E70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t253);
|
|
/* 02779E74 */ _t254 = cpu->r[31] + cpu->r[11];
|
|
/* 02779E74 */ cpu->r[7] = rbrew_read8(cpu->mem, _t254);
|
|
/* 02779E78 */ _t255 = cpu->r[29] + 0x00000030u;
|
|
/* 02779E78 */ cpu->r[6] = rbrew_read32(cpu->mem, _t255);
|
|
/* 02779E7C */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02779E80 */ _t256 = cpu->r[5] + cpu->r[6];
|
|
/* 02779E80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t256);
|
|
/* 02779E84 */ _t257 = cpu->r[7] + 0x00000004u;
|
|
/* 02779E84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t257);
|
|
/* 02779E88 */ _t258 = cpu->r[8] + 0x00000000u;
|
|
/* 02779E88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t258);
|
|
/* 02779E8C */ _t259 = cpu->r[6] + 0x000000B8u;
|
|
/* 02779E8C */ rbrew_write_f32(cpu->mem, _t259, cpu->f[22]);
|
|
/* 02779E90 */ cpu->r[3] = cpu->r[29];
|
|
/* 02779E94 */ _t260 = cpu->r[6] + 0x000000A8u;
|
|
/* 02779E94 */ rbrew_write_f32(cpu->mem, _t260, cpu->f[26]);
|
|
/* 02779E98 */ cpu->r[4] = 0x00000005u;
|
|
/* 02779E9C */ _t261 = cpu->r[6] + 0x0000009Cu;
|
|
/* 02779E9C */ rbrew_write_f32(cpu->mem, _t261, cpu->f[29]);
|
|
/* 02779EA0 */ cpu->r[5] = 0x00000001u;
|
|
/* 02779EA4 */ _t262 = cpu->r[6] + 0x00000098u;
|
|
/* 02779EA4 */ rbrew_write_f32(cpu->mem, _t262, cpu->f[31]);
|
|
/* 02779EA8 */ _t263 = cpu->r[6] + 0x000000B0u;
|
|
/* 02779EA8 */ rbrew_write_f32(cpu->mem, _t263, cpu->f[24]);
|
|
/* 02779EAC */ _t264 = cpu->r[6] + 0x000000BCu;
|
|
/* 02779EAC */ rbrew_write_f32(cpu->mem, _t264, cpu->f[30]);
|
|
/* 02779EB0 */ _t265 = cpu->r[6] + 0x000000A0u;
|
|
/* 02779EB0 */ rbrew_write_f32(cpu->mem, _t265, cpu->f[28]);
|
|
/* 02779EB4 */ _t266 = cpu->r[6] + 0x000000C4u;
|
|
/* 02779EB4 */ rbrew_write_f32(cpu->mem, _t266, cpu->f[20]);
|
|
/* 02779EB8 */ _t267 = cpu->r[6] + 0x000000A4u;
|
|
/* 02779EB8 */ rbrew_write_f32(cpu->mem, _t267, cpu->f[27]);
|
|
/* 02779EBC */ _t268 = cpu->r[6] + 0x000000B4u;
|
|
/* 02779EBC */ rbrew_write_f32(cpu->mem, _t268, cpu->f[23]);
|
|
/* 02779EC0 */ _t269 = cpu->r[6] + 0x000000C0u;
|
|
/* 02779EC0 */ rbrew_write_f32(cpu->mem, _t269, cpu->f[21]);
|
|
/* 02779EC4 */ _t270 = cpu->r[6] + 0x000000ACu;
|
|
/* 02779EC4 */ rbrew_write_f32(cpu->mem, _t270, cpu->f[25]);
|
|
/* 02779EC8 */ Gambit_fn_0277AAF8(cpu);
|
|
/* 02779ECC */ cpu->r[4] = 0x101D0000u;
|
|
/* 02779ED0 */ _t271 = cpu->r[4] + 0xFFFF8E88u;
|
|
/* 02779ED0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t271);
|
|
/* 02779ED4 */ _t272 = cpu->r[31] + cpu->r[4];
|
|
/* 02779ED4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t272);
|
|
/* 02779ED8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02779EDC */ _t273 = cpu->r[29] + 0x00000030u;
|
|
/* 02779EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t273);
|
|
/* 02779EE0 */ _t274 = cpu->r[9] + cpu->r[0];
|
|
/* 02779EE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t274);
|
|
/* 02779EE4 */ _t275 = cpu->r[11] + 0x00000004u;
|
|
/* 02779EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t275);
|
|
/* 02779EE8 */ _t276 = cpu->r[12] + 0x00000000u;
|
|
/* 02779EE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t276);
|
|
/* 02779EEC */ _t277 = cpu->r[10] + 0x000000A8u;
|
|
/* 02779EEC */ rbrew_write_f32(cpu->mem, _t277, cpu->f[26]);
|
|
/* 02779EF0 */ _t278 = cpu->r[10] + 0x000000C4u;
|
|
/* 02779EF0 */ rbrew_write_f32(cpu->mem, _t278, cpu->f[20]);
|
|
/* 02779EF4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02779EF8 */ _t279 = cpu->r[10] + 0x000000BCu;
|
|
/* 02779EF8 */ rbrew_write_f32(cpu->mem, _t279, cpu->f[30]);
|
|
/* 02779EFC */ cpu->r[5] = 0x00000001u;
|
|
/* 02779F00 */ _t280 = cpu->r[10] + 0x000000C0u;
|
|
/* 02779F00 */ rbrew_write_f32(cpu->mem, _t280, cpu->f[21]);
|
|
/* 02779F04 */ cpu->r[4] = 0x00000006u;
|
|
/* 02779F08 */ _t281 = cpu->r[10] + 0x000000B4u;
|
|
/* 02779F08 */ rbrew_write_f32(cpu->mem, _t281, cpu->f[23]);
|
|
/* 02779F0C */ _t282 = cpu->r[10] + 0x000000B0u;
|
|
/* 02779F0C */ rbrew_write_f32(cpu->mem, _t282, cpu->f[24]);
|
|
/* 02779F10 */ _t283 = cpu->r[10] + 0x000000ACu;
|
|
/* 02779F10 */ rbrew_write_f32(cpu->mem, _t283, cpu->f[25]);
|
|
/* 02779F14 */ _t284 = cpu->r[10] + 0x000000B8u;
|
|
/* 02779F14 */ rbrew_write_f32(cpu->mem, _t284, cpu->f[22]);
|
|
/* 02779F18 */ _t285 = cpu->r[10] + 0x0000009Cu;
|
|
/* 02779F18 */ rbrew_write_f32(cpu->mem, _t285, cpu->f[29]);
|
|
/* 02779F1C */ _t286 = cpu->r[10] + 0x000000A4u;
|
|
/* 02779F1C */ rbrew_write_f32(cpu->mem, _t286, cpu->f[27]);
|
|
/* 02779F20 */ _t287 = cpu->r[10] + 0x00000098u;
|
|
/* 02779F20 */ rbrew_write_f32(cpu->mem, _t287, cpu->f[31]);
|
|
/* 02779F24 */ _t288 = cpu->r[10] + 0x000000A0u;
|
|
/* 02779F24 */ rbrew_write_f32(cpu->mem, _t288, cpu->f[28]);
|
|
/* 02779F28 */ Gambit_fn_0277AB50(cpu);
|
|
/* 02779F2C */ cpu->r[6] = 0x101D0000u;
|
|
/* 02779F30 */ _t289 = cpu->r[6] + 0xFFFF8E98u;
|
|
/* 02779F30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t289);
|
|
/* 02779F34 */ _t290 = cpu->r[31] + cpu->r[6];
|
|
/* 02779F34 */ cpu->r[0] = rbrew_read8(cpu->mem, _t290);
|
|
/* 02779F38 */ _t291 = cpu->r[29] + 0x00000030u;
|
|
/* 02779F38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t291);
|
|
/* 02779F3C */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02779F40 */ _t292 = cpu->r[5] + cpu->r[6];
|
|
/* 02779F40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t292);
|
|
/* 02779F44 */ _t293 = cpu->r[7] + 0x00000004u;
|
|
/* 02779F44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t293);
|
|
/* 02779F48 */ _t294 = cpu->r[8] + 0x00000000u;
|
|
/* 02779F48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t294);
|
|
/* 02779F4C */ _t295 = cpu->r[9] + 0x000000C4u;
|
|
/* 02779F4C */ rbrew_write_f32(cpu->mem, _t295, cpu->f[20]);
|
|
/* 02779F50 */ _t296 = cpu->r[9] + 0x000000ACu;
|
|
/* 02779F50 */ rbrew_write_f32(cpu->mem, _t296, cpu->f[25]);
|
|
/* 02779F54 */ _t297 = cpu->r[9] + 0x000000BCu;
|
|
/* 02779F54 */ rbrew_write_f32(cpu->mem, _t297, cpu->f[30]);
|
|
/* 02779F58 */ _t298 = cpu->r[9] + 0x000000A8u;
|
|
/* 02779F58 */ rbrew_write_f32(cpu->mem, _t298, cpu->f[26]);
|
|
/* 02779F5C */ _t299 = cpu->r[9] + 0x00000098u;
|
|
/* 02779F5C */ rbrew_write_f32(cpu->mem, _t299, cpu->f[31]);
|
|
/* 02779F60 */ _t300 = cpu->r[9] + 0x000000B0u;
|
|
/* 02779F60 */ rbrew_write_f32(cpu->mem, _t300, cpu->f[24]);
|
|
/* 02779F64 */ _t301 = cpu->r[9] + 0x000000B4u;
|
|
/* 02779F64 */ rbrew_write_f32(cpu->mem, _t301, cpu->f[23]);
|
|
/* 02779F68 */ _t302 = cpu->r[9] + 0x000000A0u;
|
|
/* 02779F68 */ rbrew_write_f32(cpu->mem, _t302, cpu->f[28]);
|
|
/* 02779F6C */ _t303 = cpu->r[9] + 0x0000009Cu;
|
|
/* 02779F6C */ rbrew_write_f32(cpu->mem, _t303, cpu->f[29]);
|
|
/* 02779F70 */ cpu->r[4] = 0x00000009u;
|
|
/* 02779F74 */ _t304 = cpu->r[9] + 0x000000C0u;
|
|
/* 02779F74 */ rbrew_write_f32(cpu->mem, _t304, cpu->f[21]);
|
|
/* 02779F78 */ cpu->r[3] = cpu->r[29];
|
|
/* 02779F7C */ _t305 = cpu->r[9] + 0x000000B8u;
|
|
/* 02779F7C */ rbrew_write_f32(cpu->mem, _t305, cpu->f[22]);
|
|
/* 02779F80 */ cpu->r[5] = 0x00000001u;
|
|
/* 02779F84 */ _t306 = cpu->r[9] + 0x000000A4u;
|
|
/* 02779F84 */ rbrew_write_f32(cpu->mem, _t306, cpu->f[27]);
|
|
/* 02779F88 */ Gambit_fn_0263E47C(cpu);
|
|
/* 02779F8C */ cpu->r[9] = 0x10100000u;
|
|
/* 02779F90 */ cpu->r[0] = 0x00000002u;
|
|
/* 02779F94 */ cpu->r[9] = cpu->r[9] + 0x000035B8u;
|
|
/* 02779F98 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 02779F9C */ cpu->r[12] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02779FA0 */ _t307 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02779FA0 */ rbrew_write32(cpu->mem, _t307, cpu->r[9]);
|
|
/* 02779FA4 */ cpu->ctr = cpu->r[0];
|
|
/* 02779FA8 */ _t308 = cpu->r[1] + 0x00000048u;
|
|
/* 02779FA8 */ rbrew_write32(cpu->mem, _t308, cpu->r[28]);
|
|
L_02779FAC: ; // 0x2779fac
|
|
/* 02779FAC */ _t309 = cpu->r[12] + 0x00000004u;
|
|
/* 02779FAC */ rbrew_write32(cpu->mem, _t309, cpu->r[4]);
|
|
/* 02779FAC */ cpu->r[12] = _t309;
|
|
/* 02779FB0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02779FB0 */ _t310 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02779FB0 */ _t311 = _t310 >> (0x00000002u & 31u);
|
|
/* 02779FB0 */ _t312 = _t311 & 0x00000001u;
|
|
/* 02779FB0 */ if (_t312) goto L_02779FAC; else goto L_02779FB4;
|
|
L_02779FB4: ; // 0x2779fb4
|
|
/* 02779FB4 */ cpu->r[7] = 0x101C0000u;
|
|
/* 02779FB8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02779FBC */ _t313 = cpu->r[7] + 0x00003480u;
|
|
/* 02779FBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t313);
|
|
/* 02779FC0 */ _t314 = cpu->r[1] + 0x00000040u;
|
|
/* 02779FC0 */ rbrew_write32(cpu->mem, _t314, cpu->r[0]);
|
|
/* 02779FC4 */ _t315 = cpu->r[31] + cpu->r[7];
|
|
/* 02779FC4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t315);
|
|
/* 02779FC8 */ cpu->r[11] = 0x00000002u;
|
|
/* 02779FCC */ _t316 = cpu->r[29] + 0x00000030u;
|
|
/* 02779FCC */ cpu->r[6] = rbrew_read32(cpu->mem, _t316);
|
|
/* 02779FD0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02779FD4 */ _t317 = cpu->r[1] + 0x00000044u;
|
|
/* 02779FD4 */ rbrew_write32(cpu->mem, _t317, cpu->r[11]);
|
|
/* 02779FD8 */ _t318 = cpu->r[4] + cpu->r[6];
|
|
/* 02779FD8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t318);
|
|
/* 02779FDC */ _t319 = cpu->r[29] + 0x00000254u;
|
|
/* 02779FDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t319);
|
|
/* 02779FE0 */ _t320 = cpu->r[7] + 0x00000004u;
|
|
/* 02779FE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t320);
|
|
/* 02779FE4 */ _t321 = cpu->r[4] + 0x00000250u;
|
|
/* 02779FE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t321);
|
|
/* 02779FE8 */ _t322 = cpu->r[8] + 0x00000000u;
|
|
/* 02779FE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t322);
|
|
/* 02779FEC */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 02779FF0 */ Gambit_fn_020916E8(cpu);
|
|
/* 02779FF4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02779FF8 */ cpu->r[4] = 0x00000009u;
|
|
/* 02779FFC */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A000 */ cpu->r[10] = 0x10100000u;
|
|
/* 0277A004 */ _t323 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A004 */ rbrew_write32(cpu->mem, _t323, cpu->r[28]);
|
|
/* 0277A008 */ _t324 = cpu->r[10] + 0x000034F0u;
|
|
/* 0277A008 */ cpu->r[5] = rbrew_read32(cpu->mem, _t324);
|
|
/* 0277A00C */ cpu->r[3] = cpu->r[29];
|
|
/* 0277A010 */ cpu->r[12] = cpu->r[1] + 0x00000070u;
|
|
/* 0277A014 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A018 */ _t325 = cpu->r[1] + 0x00000070u;
|
|
/* 0277A018 */ rbrew_write32(cpu->mem, _t325, cpu->r[5]);
|
|
/* 0277A01C */ cpu->r[5] = cpu->r[12];
|
|
/* 0277A020 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0277A024 */ _t326 = cpu->r[1] + 0x00000074u;
|
|
/* 0277A024 */ rbrew_write32(cpu->mem, _t326, cpu->r[0]);
|
|
/* 0277A028 */ Gambit_fn_02791774(cpu);
|
|
/* 0277A02C */ _t327 = cpu->r[29] + 0x00000230u;
|
|
/* 0277A02C */ cpu->r[8] = rbrew_read32(cpu->mem, _t327);
|
|
/* 0277A030 */ _t328 = cpu->r[29] + 0x00000260u;
|
|
/* 0277A030 */ cpu->r[3] = rbrew_read32(cpu->mem, _t328);
|
|
/* 0277A034 */ cpu->r[8] = cpu->r[8] | 0x00000001u;
|
|
/* 0277A038 */ _t329 = cpu->r[29] + 0x00000230u;
|
|
/* 0277A038 */ rbrew_write32(cpu->mem, _t329, cpu->r[8]);
|
|
/* 0277A03C */ _t330 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A03C */ cpu->r[9] = rbrew_read32(cpu->mem, _t330);
|
|
/* 0277A040 */ _t331 = cpu->r[9] + 0x0000011Cu;
|
|
/* 0277A040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t331);
|
|
/* 0277A044 */ cpu->ctr = cpu->r[0];
|
|
/* 0277A048 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277A04C */ /* nop */
|
|
/* 0277A050 */ _t332 = cpu->r[1] + 0x00000300u;
|
|
/* 0277A050 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t332);
|
|
/* 0277A054 */ _t333 = cpu->r[1] + 0x000002E0u;
|
|
/* 0277A054 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t333);
|
|
/* 0277A058 */ _t334 = cpu->r[1] + 0x000002F8u;
|
|
/* 0277A058 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t334);
|
|
/* 0277A05C */ _t335 = cpu->r[1] + 0x000002D8u;
|
|
/* 0277A05C */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t335);
|
|
/* 0277A060 */ _t336 = cpu->r[1] + 0x00000320u;
|
|
/* 0277A060 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t336);
|
|
/* 0277A064 */ _t337 = cpu->r[1] + 0x000002D0u;
|
|
/* 0277A064 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t337);
|
|
/* 0277A068 */ _t338 = cpu->r[1] + 0x00000318u;
|
|
/* 0277A068 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t338);
|
|
/* 0277A06C */ _t339 = cpu->r[1] + 0x000002C8u;
|
|
/* 0277A06C */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t339);
|
|
/* 0277A070 */ _t340 = cpu->r[1] + 0x00000340u;
|
|
/* 0277A070 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t340);
|
|
/* 0277A074 */ _t341 = cpu->r[1] + 0x00000330u;
|
|
/* 0277A074 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t341);
|
|
/* 0277A078 */ _t342 = cpu->r[1] + 0x000002C0u;
|
|
/* 0277A078 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t342);
|
|
/* 0277A07C */ _t343 = cpu->r[1] + 0x00000328u;
|
|
/* 0277A07C */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t343);
|
|
/* 0277A080 */ _t344 = cpu->r[1] + 0x00000350u;
|
|
/* 0277A080 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t344);
|
|
/* 0277A084 */ _t345 = cpu->r[1] + 0x000002B8u;
|
|
/* 0277A084 */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t345);
|
|
/* 0277A088 */ _t346 = cpu->r[1] + 0x00000348u;
|
|
/* 0277A088 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t346);
|
|
/* 0277A08C */ _t347 = cpu->r[1] + 0x000002F0u;
|
|
/* 0277A08C */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t347);
|
|
/* 0277A090 */ _t348 = cpu->r[1] + 0x00000370u;
|
|
/* 0277A090 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t348);
|
|
/* 0277A094 */ _t349 = cpu->r[1] + 0x000002E8u;
|
|
/* 0277A094 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t349);
|
|
/* 0277A098 */ _t350 = cpu->r[1] + 0x00000368u;
|
|
/* 0277A098 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t350);
|
|
/* 0277A09C */ _t351 = cpu->r[1] + 0x00000338u;
|
|
/* 0277A09C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t351);
|
|
/* 0277A0A0 */ _t352 = cpu->r[1] + 0x00000360u;
|
|
/* 0277A0A0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t352);
|
|
/* 0277A0A4 */ _t353 = cpu->r[1] + 0x00000310u;
|
|
/* 0277A0A4 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t353);
|
|
/* 0277A0A8 */ _t354 = cpu->r[1] + 0x00000358u;
|
|
/* 0277A0A8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t354);
|
|
/* 0277A0AC */ _t355 = cpu->r[1] + 0x00000308u;
|
|
/* 0277A0AC */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t355);
|
|
/* 0277A0B0 */ _t356 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277A0B0 */ _t357 = _t356 & 0x00000001u;
|
|
/* 0277A0B0 */ if (_t357) goto L_0277A0B4; // else: addr-0 trap, fall-through
|
|
L_0277A0B4: ; // 0x277a0b4
|
|
/* 0277A0B4 */ _t358 = cpu->r[1] + 0x0000037Cu;
|
|
/* 0277A0B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t358);
|
|
/* 0277A0B8 */ cpu->lr = cpu->r[0];
|
|
/* 0277A0BC */ cpu->r[1] = cpu->r[1] + 0x00000378u;
|
|
/* 0277A0C0 */ return;
|
|
}
|
|
|
|
// fn_0277A0C4 @ 0x277a0c4
|
|
void Gambit_fn_0277A0C4(CPUState* cpu) {
|
|
uint32_t _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_0277A0C4: ; // 0x277a0c4
|
|
/* 0277A0C4 */ cpu->r[0] = cpu->lr;
|
|
/* 0277A0C8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0277A0C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A0C8 */ cpu->r[1] = _t0;
|
|
/* 0277A0CC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0277A0CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277A0D0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A0D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0277A0D4 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0277A0D8 */ cpu->r[31] = 0x00000001u;
|
|
/* 0277A0DC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A0DC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0277A0E0 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0277A0E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0277A0E4 */ cpu->r[11] = 0x10100000u;
|
|
/* 0277A0E8 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0277A0E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277A0EC */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A0F0 */ _t6 = cpu->r[11] + 0x000034F8u;
|
|
/* 0277A0F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277A0F4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0277A0F8 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 0277A0F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0277A0FC */ cpu->r[30] = cpu->r[3];
|
|
/* 0277A100 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A100 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0277A104 */ Gambit_fn_02791774(cpu);
|
|
/* 0277A108 */ cpu->r[29] = 0x10100000u;
|
|
/* 0277A10C */ cpu->r[0] = 0x10100000u;
|
|
/* 0277A110 */ cpu->r[29] = cpu->r[29] + 0x00003560u;
|
|
/* 0277A114 */ cpu->r[0] = cpu->r[0] + 0x00003668u;
|
|
/* 0277A118 */ _t9 = cpu->r[30] + 0x00000230u;
|
|
/* 0277A118 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A11C */ cpu->r[5] = cpu->r[31];
|
|
/* 0277A120 */ _t10 = cpu->r[30] + 0x00000248u;
|
|
/* 0277A120 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A124 */ cpu->r[8] = cpu->r[8] | 0x00000002u;
|
|
/* 0277A128 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A128 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0277A12C */ cpu->r[6] = 0x00000000u;
|
|
/* 0277A130 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A130 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0277A134 */ cpu->r[3] = cpu->r[10] + 0x000000C8u;
|
|
/* 0277A138 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A13C */ _t13 = cpu->r[30] + 0x00000230u;
|
|
/* 0277A13C */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 0277A140 */ Gambit_fn_029BA484(cpu);
|
|
/* 0277A144 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277A148 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A148 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 0277A14C */ cpu->r[5] = 0x00000000u;
|
|
/* 0277A150 */ cpu->r[0] = cpu->r[0] + 0x00003664u;
|
|
/* 0277A154 */ _t15 = cpu->r[30] + 0x00000248u;
|
|
/* 0277A154 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277A158 */ cpu->r[6] = cpu->r[31];
|
|
/* 0277A15C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A160 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A160 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0277A164 */ cpu->r[3] = cpu->r[10] + 0x000000C8u;
|
|
/* 0277A168 */ Gambit_fn_029BA484(cpu);
|
|
/* 0277A16C */ _t17 = cpu->r[30] + 0x00000248u;
|
|
/* 0277A16C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0277A170 */ Gambit_fn_029A352C(cpu);
|
|
/* 0277A174 */ _t18 = cpu->r[30] + 0x00000248u;
|
|
/* 0277A174 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0277A178 */ cpu->r[4] = cpu->r[31];
|
|
/* 0277A17C */ cpu->r[3] = cpu->r[10] + 0x00004AC0u;
|
|
/* 0277A180 */ Gambit_fn_027E8044(cpu);
|
|
/* 0277A184 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0277A188 */ _t19 = cpu->r[3] + 0xFFFF97C0u;
|
|
/* 0277A188 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0277A18C */ Gambit_fn_027E57AC(cpu);
|
|
/* 0277A190 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A190 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0277A194 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0277A194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0277A198 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 0277A198 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0277A19C */ cpu->lr = cpu->r[0];
|
|
/* 0277A1A0 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 0277A1A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0277A1A4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0277A1A8 */ return;
|
|
}
|
|
|
|
// fn_0277A0C8 @ 0x277a0c8
|
|
void Gambit_fn_0277A0C8(CPUState* cpu) {
|
|
uint32_t _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_0277A0C8: ; // 0x277a0c8
|
|
/* 0277A0C8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0277A0C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A0C8 */ cpu->r[1] = _t0;
|
|
/* 0277A0CC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0277A0CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277A0D0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A0D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0277A0D4 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0277A0D8 */ cpu->r[31] = 0x00000001u;
|
|
/* 0277A0DC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A0DC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0277A0E0 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0277A0E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0277A0E4 */ cpu->r[11] = 0x10100000u;
|
|
/* 0277A0E8 */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0277A0E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277A0EC */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A0F0 */ _t6 = cpu->r[11] + 0x000034F8u;
|
|
/* 0277A0F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277A0F4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0277A0F8 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 0277A0F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0277A0FC */ cpu->r[30] = cpu->r[3];
|
|
/* 0277A100 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A100 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0277A104 */ Gambit_fn_02791774(cpu);
|
|
/* 0277A108 */ cpu->r[29] = 0x10100000u;
|
|
/* 0277A10C */ cpu->r[0] = 0x10100000u;
|
|
/* 0277A110 */ cpu->r[29] = cpu->r[29] + 0x00003560u;
|
|
/* 0277A114 */ cpu->r[0] = cpu->r[0] + 0x00003668u;
|
|
/* 0277A118 */ _t9 = cpu->r[30] + 0x00000230u;
|
|
/* 0277A118 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A11C */ cpu->r[5] = cpu->r[31];
|
|
/* 0277A120 */ _t10 = cpu->r[30] + 0x00000248u;
|
|
/* 0277A120 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A124 */ cpu->r[8] = cpu->r[8] | 0x00000002u;
|
|
/* 0277A128 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A128 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0277A12C */ cpu->r[6] = 0x00000000u;
|
|
/* 0277A130 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A130 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0277A134 */ cpu->r[3] = cpu->r[10] + 0x000000C8u;
|
|
/* 0277A138 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A13C */ _t13 = cpu->r[30] + 0x00000230u;
|
|
/* 0277A13C */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 0277A140 */ Gambit_fn_029BA484(cpu);
|
|
/* 0277A144 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277A148 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A148 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 0277A14C */ cpu->r[5] = 0x00000000u;
|
|
/* 0277A150 */ cpu->r[0] = cpu->r[0] + 0x00003664u;
|
|
/* 0277A154 */ _t15 = cpu->r[30] + 0x00000248u;
|
|
/* 0277A154 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277A158 */ cpu->r[6] = cpu->r[31];
|
|
/* 0277A15C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A160 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A160 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0277A164 */ cpu->r[3] = cpu->r[10] + 0x000000C8u;
|
|
/* 0277A168 */ Gambit_fn_029BA484(cpu);
|
|
/* 0277A16C */ _t17 = cpu->r[30] + 0x00000248u;
|
|
/* 0277A16C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0277A170 */ Gambit_fn_029A352C(cpu);
|
|
/* 0277A174 */ _t18 = cpu->r[30] + 0x00000248u;
|
|
/* 0277A174 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0277A178 */ cpu->r[4] = cpu->r[31];
|
|
/* 0277A17C */ cpu->r[3] = cpu->r[10] + 0x00004AC0u;
|
|
/* 0277A180 */ Gambit_fn_027E8044(cpu);
|
|
/* 0277A184 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0277A188 */ _t19 = cpu->r[3] + 0xFFFF97C0u;
|
|
/* 0277A188 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0277A18C */ Gambit_fn_027E57AC(cpu);
|
|
/* 0277A190 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A190 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0277A194 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0277A194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0277A198 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 0277A198 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0277A19C */ cpu->lr = cpu->r[0];
|
|
/* 0277A1A0 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 0277A1A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0277A1A4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0277A1A8 */ return;
|
|
}
|
|
|
|
// fn_0277A1AC @ 0x277a1ac
|
|
void Gambit_fn_0277A1AC(CPUState* cpu) {
|
|
uint32_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_0277A1AC: ; // 0x277a1ac
|
|
/* 0277A1AC */ cpu->r[0] = cpu->lr;
|
|
/* 0277A1B0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0277A1B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A1B0 */ cpu->r[1] = _t0;
|
|
/* 0277A1B4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0277A1B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0277A1B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277A1BC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A1BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277A1C0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0277A1C4 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 0277A1C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A1C8 */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A1CC */ cpu->r[3] = cpu->r[30];
|
|
/* 0277A1D0 */ cpu->r[4] = 0x00000007u;
|
|
/* 0277A1D4 */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A1D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277A1DC */ cpu->r[4] = 0x00000008u;
|
|
/* 0277A1E0 */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A1E4 */ _t4 = cpu->r[30] + 0x0000024Cu;
|
|
/* 0277A1E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A1E8 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 0277A1E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A1EC */ _t6 = cpu->r[11] + 0x0000004Cu;
|
|
/* 0277A1EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277A1F0 */ cpu->ctr = cpu->r[10];
|
|
/* 0277A1F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277A1F8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0277A1FC */ _t7 = cpu->r[12] + 0x00000E44u;
|
|
/* 0277A1FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A200 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 0277A204 */ _t8 = cpu->r[12] + 0x00000104u;
|
|
/* 0277A204 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0277A208 */ _t9 = cpu->r[30] + 0x00000030u;
|
|
/* 0277A208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A20C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0277A210 */ _t10 = cpu->r[11] + cpu->r[12];
|
|
/* 0277A210 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A214 */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 0277A214 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277A218 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 0277A218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0277A21C */ cpu->r[3] = cpu->r[31];
|
|
/* 0277A220 */ Gambit_fn_02790458(cpu);
|
|
/* 0277A224 */ cpu->r[5] = 0x0000001Eu;
|
|
/* 0277A228 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277A22C */ cpu->r[3] = cpu->r[31];
|
|
/* 0277A230 */ Gambit_fn_02014758(cpu);
|
|
/* 0277A234 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277A238 */ cpu->r[4] = 0x00000003u;
|
|
/* 0277A23C */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A240 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277A244 */ cpu->r[4] = 0x00000005u;
|
|
/* 0277A248 */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A24C */ cpu->r[4] = 0x00000004u;
|
|
/* 0277A250 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277A254 */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A258 */ cpu->r[4] = 0x00000006u;
|
|
/* 0277A25C */ cpu->r[3] = cpu->r[30];
|
|
/* 0277A260 */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A264 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277A268 */ cpu->r[10] = 0x00000002u;
|
|
/* 0277A26C */ _t13 = cpu->r[12] + 0x00003500u;
|
|
/* 0277A26C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0277A270 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A274 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A274 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 0277A278 */ cpu->r[10] = 0x00000004u;
|
|
/* 0277A27C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A27C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0277A280 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277A284 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A288 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A288 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 0277A28C */ Gambit_fn_02791774(cpu);
|
|
/* 0277A290 */ _t17 = cpu->r[30] + 0x00000230u;
|
|
/* 0277A290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0277A294 */ _t18 = cpu->r[30] + 0x00000258u;
|
|
/* 0277A294 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0277A298 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 0277A29C */ cpu->r[4] = 0x00000000u;
|
|
/* 0277A2A0 */ _t19 = cpu->r[30] + 0x00000230u;
|
|
/* 0277A2A0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0277A2A4 */ Gambit_fn_0200EC2C(cpu);
|
|
/* 0277A2A8 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 0277A2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0277A2AC */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A2AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0277A2B0 */ cpu->lr = cpu->r[0];
|
|
/* 0277A2B4 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 0277A2B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0277A2B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0277A2BC */ return;
|
|
}
|
|
|
|
// fn_0277A1B0 @ 0x277a1b0
|
|
void Gambit_fn_0277A1B0(CPUState* cpu) {
|
|
uint32_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_0277A1B0: ; // 0x277a1b0
|
|
/* 0277A1B0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0277A1B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A1B0 */ cpu->r[1] = _t0;
|
|
/* 0277A1B4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0277A1B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0277A1B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277A1BC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A1BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277A1C0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0277A1C4 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 0277A1C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A1C8 */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A1CC */ cpu->r[3] = cpu->r[30];
|
|
/* 0277A1D0 */ cpu->r[4] = 0x00000007u;
|
|
/* 0277A1D4 */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A1D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277A1DC */ cpu->r[4] = 0x00000008u;
|
|
/* 0277A1E0 */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A1E4 */ _t4 = cpu->r[30] + 0x0000024Cu;
|
|
/* 0277A1E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A1E8 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 0277A1E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A1EC */ _t6 = cpu->r[11] + 0x0000004Cu;
|
|
/* 0277A1EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277A1F0 */ cpu->ctr = cpu->r[10];
|
|
/* 0277A1F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277A1F8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0277A1FC */ _t7 = cpu->r[12] + 0x00000E44u;
|
|
/* 0277A1FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A200 */ cpu->r[12] = cpu->r[30] + cpu->r[12];
|
|
/* 0277A204 */ _t8 = cpu->r[12] + 0x00000104u;
|
|
/* 0277A204 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0277A208 */ _t9 = cpu->r[30] + 0x00000030u;
|
|
/* 0277A208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A20C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0277A210 */ _t10 = cpu->r[11] + cpu->r[12];
|
|
/* 0277A210 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A214 */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 0277A214 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277A218 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 0277A218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0277A21C */ cpu->r[3] = cpu->r[31];
|
|
/* 0277A220 */ Gambit_fn_02790458(cpu);
|
|
/* 0277A224 */ cpu->r[5] = 0x0000001Eu;
|
|
/* 0277A228 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277A22C */ cpu->r[3] = cpu->r[31];
|
|
/* 0277A230 */ Gambit_fn_02014758(cpu);
|
|
/* 0277A234 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277A238 */ cpu->r[4] = 0x00000003u;
|
|
/* 0277A23C */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A240 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277A244 */ cpu->r[4] = 0x00000005u;
|
|
/* 0277A248 */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A24C */ cpu->r[4] = 0x00000004u;
|
|
/* 0277A250 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277A254 */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A258 */ cpu->r[4] = 0x00000006u;
|
|
/* 0277A25C */ cpu->r[3] = cpu->r[30];
|
|
/* 0277A260 */ Gambit_fn_027910F0(cpu);
|
|
/* 0277A264 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277A268 */ cpu->r[10] = 0x00000002u;
|
|
/* 0277A26C */ _t13 = cpu->r[12] + 0x00003500u;
|
|
/* 0277A26C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0277A270 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A274 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A274 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 0277A278 */ cpu->r[10] = 0x00000004u;
|
|
/* 0277A27C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A27C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0277A280 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277A284 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A288 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A288 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 0277A28C */ Gambit_fn_02791774(cpu);
|
|
/* 0277A290 */ _t17 = cpu->r[30] + 0x00000230u;
|
|
/* 0277A290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0277A294 */ _t18 = cpu->r[30] + 0x00000258u;
|
|
/* 0277A294 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0277A298 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 0277A29C */ cpu->r[4] = 0x00000000u;
|
|
/* 0277A2A0 */ _t19 = cpu->r[30] + 0x00000230u;
|
|
/* 0277A2A0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0277A2A4 */ Gambit_fn_0200EC2C(cpu);
|
|
/* 0277A2A8 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 0277A2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0277A2AC */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A2AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0277A2B0 */ cpu->lr = cpu->r[0];
|
|
/* 0277A2B4 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 0277A2B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0277A2B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0277A2BC */ return;
|
|
}
|
|
|
|
// fn_0277A2C0 @ 0x277a2c0
|
|
void Gambit_fn_0277A2C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A2C0: ; // 0x277a2c0
|
|
/* 0277A2C0 */ cpu->r[0] = cpu->lr;
|
|
/* 0277A2C4 */ cpu->r[9] = 0x00000004u;
|
|
/* 0277A2C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A2C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A2C8 */ cpu->r[1] = _t0;
|
|
/* 0277A2CC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A2CC */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 0277A2D0 */ cpu->r[10] = 0x10100000u;
|
|
/* 0277A2D4 */ cpu->r[12] = 0x0000000Au;
|
|
/* 0277A2D8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A2D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0277A2DC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A2DC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0277A2E0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A2E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0277A2E4 */ _t5 = cpu->r[10] + 0x00003530u;
|
|
/* 0277A2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A2E8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A2EC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A2F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A2F4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A2F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0277A2F8 */ Gambit_fn_02791888(cpu);
|
|
/* 0277A2FC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A2FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A300 */ cpu->r[0] = cpu->r[0] | 0x00000400u;
|
|
/* 0277A304 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A304 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277A308 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A30C */ cpu->lr = cpu->r[0];
|
|
/* 0277A310 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A310 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A314 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A318 */ return;
|
|
}
|
|
|
|
// fn_0277A2C8 @ 0x277a2c8
|
|
void Gambit_fn_0277A2C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A2C8: ; // 0x277a2c8
|
|
/* 0277A2C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A2C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A2C8 */ cpu->r[1] = _t0;
|
|
/* 0277A2CC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A2CC */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 0277A2D0 */ cpu->r[10] = 0x10100000u;
|
|
/* 0277A2D4 */ cpu->r[12] = 0x0000000Au;
|
|
/* 0277A2D8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A2D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0277A2DC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A2DC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0277A2E0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A2E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0277A2E4 */ _t5 = cpu->r[10] + 0x00003530u;
|
|
/* 0277A2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A2E8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A2EC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A2F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A2F4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A2F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0277A2F8 */ Gambit_fn_02791888(cpu);
|
|
/* 0277A2FC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A2FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A300 */ cpu->r[0] = cpu->r[0] | 0x00000400u;
|
|
/* 0277A304 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A304 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277A308 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A30C */ cpu->lr = cpu->r[0];
|
|
/* 0277A310 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A310 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A314 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A318 */ return;
|
|
}
|
|
|
|
// fn_0277A31C @ 0x277a31c
|
|
void Gambit_fn_0277A31C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A31C: ; // 0x277a31c
|
|
/* 0277A31C */ cpu->r[0] = cpu->lr;
|
|
/* 0277A320 */ cpu->r[9] = 0x00000004u;
|
|
/* 0277A324 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A324 */ cpu->r[1] = _t0;
|
|
/* 0277A328 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A328 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 0277A32C */ cpu->r[10] = 0x10100000u;
|
|
/* 0277A330 */ cpu->r[12] = 0x00000003u;
|
|
/* 0277A334 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A334 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0277A338 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A338 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0277A33C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A33C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0277A340 */ _t5 = cpu->r[10] + 0x00003508u;
|
|
/* 0277A340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A344 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A348 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A34C */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A350 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A350 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0277A354 */ Gambit_fn_02791774(cpu);
|
|
/* 0277A358 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A35C */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 0277A360 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A360 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277A364 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A368 */ cpu->lr = cpu->r[0];
|
|
/* 0277A36C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A36C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A370 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A374 */ return;
|
|
}
|
|
|
|
// fn_0277A324 @ 0x277a324
|
|
void Gambit_fn_0277A324(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A324: ; // 0x277a324
|
|
/* 0277A324 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A324 */ cpu->r[1] = _t0;
|
|
/* 0277A328 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A328 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 0277A32C */ cpu->r[10] = 0x10100000u;
|
|
/* 0277A330 */ cpu->r[12] = 0x00000003u;
|
|
/* 0277A334 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A334 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0277A338 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A338 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0277A33C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A33C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0277A340 */ _t5 = cpu->r[10] + 0x00003508u;
|
|
/* 0277A340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A344 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A348 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A34C */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A350 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A350 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0277A354 */ Gambit_fn_02791774(cpu);
|
|
/* 0277A358 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A35C */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 0277A360 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A360 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277A364 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A368 */ cpu->lr = cpu->r[0];
|
|
/* 0277A36C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A36C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A370 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A374 */ return;
|
|
}
|
|
|
|
// fn_0277A378 @ 0x277a378
|
|
void Gambit_fn_0277A378(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0277A378: ; // 0x277a378
|
|
/* 0277A378 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 0277A37C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A37C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A37C */ cpu->r[1] = _t0;
|
|
/* 0277A380 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0277A384 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0277A388 */ _t1 = cpu->r[10] + 0x00001DE4u;
|
|
/* 0277A388 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0277A388 */ cpu->r[10] = _t1;
|
|
/* 0277A38C */ cpu->r[7] = 0x101F0000u;
|
|
/* 0277A390 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0277A390 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0277A394 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0277A398 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0277A39C */ _t3 = cpu->r[7] + 0x00001DF4u;
|
|
/* 0277A39C */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0277A39C */ cpu->r[7] = _t3;
|
|
/* 0277A3A0 */ _t4 = cpu->r[8] + 0x00001DECu;
|
|
/* 0277A3A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0277A3A0 */ cpu->r[8] = _t4;
|
|
/* 0277A3A4 */ cpu->r[0] = 0x00000002u;
|
|
/* 0277A3A8 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0277A3A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0277A3AC */ cpu->r[8] = 0x101F0000u;
|
|
/* 0277A3B0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A3B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0277A3B4 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0277A3B8 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0277A3B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0277A3BC */ _t8 = cpu->r[8] + 0x00001E04u;
|
|
/* 0277A3BC */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0277A3BC */ cpu->r[8] = _t8;
|
|
/* 0277A3C0 */ _t9 = cpu->r[12] + 0x00001DFCu;
|
|
/* 0277A3C0 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0277A3C0 */ cpu->r[12] = _t9;
|
|
/* 0277A3C4 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0277A3C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0277A3C8 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A3CC */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0277A3CC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0277A3D0 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0277A3D4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A3D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0277A3D8 */ _t13 = cpu->r[11] + 0x00001E0Cu;
|
|
/* 0277A3D8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0277A3DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A3E0 */ return;
|
|
}
|
|
|
|
// fn_0277A37C @ 0x277a37c
|
|
void Gambit_fn_0277A37C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0277A37C: ; // 0x277a37c
|
|
/* 0277A37C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A37C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A37C */ cpu->r[1] = _t0;
|
|
/* 0277A380 */ cpu->r[10] = 0x101F0000u;
|
|
/* 0277A384 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0277A388 */ _t1 = cpu->r[10] + 0x00001DE4u;
|
|
/* 0277A388 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0277A388 */ cpu->r[10] = _t1;
|
|
/* 0277A38C */ cpu->r[7] = 0x101F0000u;
|
|
/* 0277A390 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0277A390 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0277A394 */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 0277A398 */ cpu->r[8] = 0x101F0000u;
|
|
/* 0277A39C */ _t3 = cpu->r[7] + 0x00001DF4u;
|
|
/* 0277A39C */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0277A39C */ cpu->r[7] = _t3;
|
|
/* 0277A3A0 */ _t4 = cpu->r[8] + 0x00001DECu;
|
|
/* 0277A3A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0277A3A0 */ cpu->r[8] = _t4;
|
|
/* 0277A3A4 */ cpu->r[0] = 0x00000002u;
|
|
/* 0277A3A8 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 0277A3A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0277A3AC */ cpu->r[8] = 0x101F0000u;
|
|
/* 0277A3B0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A3B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0277A3B4 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0277A3B8 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 0277A3B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0277A3BC */ _t8 = cpu->r[8] + 0x00001E04u;
|
|
/* 0277A3BC */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0277A3BC */ cpu->r[8] = _t8;
|
|
/* 0277A3C0 */ _t9 = cpu->r[12] + 0x00001DFCu;
|
|
/* 0277A3C0 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0277A3C0 */ cpu->r[12] = _t9;
|
|
/* 0277A3C4 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0277A3C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0277A3C8 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A3CC */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 0277A3CC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0277A3D0 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0277A3D4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A3D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0277A3D8 */ _t13 = cpu->r[11] + 0x00001E0Cu;
|
|
/* 0277A3D8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0277A3DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A3E0 */ return;
|
|
}
|
|
|
|
// fn_0277A3E4 @ 0x277a3e4
|
|
void Gambit_fn_0277A3E4(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_0277A3E4: ; // 0x277a3e4
|
|
/* 0277A3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277A3E8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A3E8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0277A3E8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277A3E8 */ goto L_0277A3EC;
|
|
L_0277A3EC: ; // 0x277a3ec
|
|
/* 0277A3EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277A3EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277A3F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A3F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0277A3F0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277A3F0 */ goto L_0277A3F4;
|
|
L_0277A3F4: ; // 0x277a3f4
|
|
/* 0277A3F4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_0277A3F8 @ 0x277a3f8
|
|
void Gambit_fn_0277A3F8(CPUState* cpu) {
|
|
L_0277A3F8: ; // 0x277a3f8
|
|
/* 0277A3F8 */ return;
|
|
}
|
|
|
|
// fn_0277A3FC @ 0x277a3fc
|
|
void Gambit_fn_0277A3FC(CPUState* cpu) {
|
|
L_0277A3FC: ; // 0x277a3fc
|
|
/* 0277A3FC */ return;
|
|
}
|
|
|
|
// fn_0277A400 @ 0x277a400
|
|
void Gambit_fn_0277A400(CPUState* cpu) {
|
|
L_0277A400: ; // 0x277a400
|
|
/* 0277A400 */ return;
|
|
}
|
|
|
|
// fn_0277A404 @ 0x277a404
|
|
void Gambit_fn_0277A404(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0277A404: ; // 0x277a404
|
|
/* 0277A404 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0277A404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0277A40C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A40C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277A40C */ if (_t2) goto L_0277A418; else goto L_0277A410;
|
|
L_0277A410: ; // 0x277a410
|
|
/* 0277A410 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 0277A414 */ return;
|
|
L_0277A418: ; // 0x277a418
|
|
/* 0277A418 */ cpu->r[3] = 0x00000000u;
|
|
/* 0277A41C */ return;
|
|
}
|
|
|
|
// fn_0277A420 @ 0x277a420
|
|
void Gambit_fn_0277A420(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0277A420: ; // 0x277a420
|
|
/* 0277A420 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0277A420 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0277A428 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A428 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277A428 */ if (_t2) goto L_0277A434; else goto L_0277A42C;
|
|
L_0277A42C: ; // 0x277a42c
|
|
/* 0277A42C */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 0277A430 */ return;
|
|
L_0277A434: ; // 0x277a434
|
|
/* 0277A434 */ cpu->r[3] = 0x00000000u;
|
|
/* 0277A438 */ return;
|
|
}
|
|
|
|
// fn_0277A43C @ 0x277a43c
|
|
void Gambit_fn_0277A43C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0277A43C: ; // 0x277a43c
|
|
/* 0277A43C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A43C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A440 */ _t1 = cpu->r[12] + 0x00000114u;
|
|
/* 0277A440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277A444 */ cpu->ctr = cpu->r[0];
|
|
/* 0277A448 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A44C @ 0x277a44c
|
|
void Gambit_fn_0277A44C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277A44C: ; // 0x277a44c
|
|
/* 0277A44C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0277A44C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A450 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277A450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277A454 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A454 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277A454 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0277A454 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277A454 */ goto L_0277A458;
|
|
L_0277A458: ; // 0x277a458
|
|
/* 0277A458 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A458 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A45C */ _t5 = cpu->r[12] + 0x00000044u;
|
|
/* 0277A45C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A460 */ cpu->ctr = cpu->r[12];
|
|
/* 0277A464 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A468 @ 0x277a468
|
|
void Gambit_fn_0277A468(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277A468: ; // 0x277a468
|
|
/* 0277A468 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0277A468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A46C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277A46C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0277A470 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A470 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277A470 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0277A470 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277A470 */ goto L_0277A474;
|
|
L_0277A474: ; // 0x277a474
|
|
/* 0277A474 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A474 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A478 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0277A478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A47C */ cpu->ctr = cpu->r[0];
|
|
/* 0277A480 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A484 @ 0x277a484
|
|
void Gambit_fn_0277A484(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277A484: ; // 0x277a484
|
|
/* 0277A484 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0277A484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A488 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277A488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0277A48C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A48C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277A48C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0277A48C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277A48C */ goto L_0277A490;
|
|
L_0277A490: ; // 0x277a490
|
|
/* 0277A490 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A490 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A494 */ _t5 = cpu->r[12] + 0x00000054u;
|
|
/* 0277A494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A498 */ cpu->ctr = cpu->r[0];
|
|
/* 0277A49C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A4A0 @ 0x277a4a0
|
|
void Gambit_fn_0277A4A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277A4A0: ; // 0x277a4a0
|
|
/* 0277A4A0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0277A4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A4A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277A4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0277A4A8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A4A8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277A4A8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0277A4A8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277A4A8 */ goto L_0277A4AC;
|
|
L_0277A4AC: ; // 0x277a4ac
|
|
/* 0277A4AC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A4AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A4B0 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0277A4B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A4B4 */ cpu->ctr = cpu->r[0];
|
|
/* 0277A4B8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A4BC @ 0x277a4bc
|
|
void Gambit_fn_0277A4BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277A4BC: ; // 0x277a4bc
|
|
/* 0277A4BC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0277A4BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A4C0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277A4C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0277A4C4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A4C4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277A4C4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0277A4C4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277A4C4 */ goto L_0277A4C8;
|
|
L_0277A4C8: ; // 0x277a4c8
|
|
/* 0277A4C8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A4C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A4CC */ _t5 = cpu->r[12] + 0x00000064u;
|
|
/* 0277A4CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A4D0 */ cpu->ctr = cpu->r[0];
|
|
/* 0277A4D4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A4D8 @ 0x277a4d8
|
|
void Gambit_fn_0277A4D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277A4D8: ; // 0x277a4d8
|
|
/* 0277A4D8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0277A4D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A4DC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277A4DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0277A4E0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A4E0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277A4E0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0277A4E0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277A4E0 */ goto L_0277A4E4;
|
|
L_0277A4E4: ; // 0x277a4e4
|
|
/* 0277A4E4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A4E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A4E8 */ _t5 = cpu->r[11] + 0x0000006Cu;
|
|
/* 0277A4E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A4EC */ cpu->ctr = cpu->r[0];
|
|
/* 0277A4F0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A4F4 @ 0x277a4f4
|
|
void Gambit_fn_0277A4F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277A4F4: ; // 0x277a4f4
|
|
/* 0277A4F4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0277A4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A4F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277A4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0277A4FC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A4FC */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277A4FC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0277A4FC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277A4FC */ goto L_0277A500;
|
|
L_0277A500: ; // 0x277a500
|
|
/* 0277A500 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A500 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A504 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 0277A504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A508 */ cpu->ctr = cpu->r[0];
|
|
/* 0277A50C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A510 @ 0x277a510
|
|
void Gambit_fn_0277A510(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0277A510: ; // 0x277a510
|
|
/* 0277A510 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A510 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A514 */ _t1 = cpu->r[12] + 0x00000024u;
|
|
/* 0277A514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277A518 */ cpu->ctr = cpu->r[0];
|
|
/* 0277A51C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A520 @ 0x277a520
|
|
void Gambit_fn_0277A520(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0277A520: ; // 0x277a520
|
|
/* 0277A520 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A520 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A524 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0277A524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277A528 */ cpu->ctr = cpu->r[0];
|
|
/* 0277A52C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A530 @ 0x277a530
|
|
void Gambit_fn_0277A530(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0277A530: ; // 0x277a530
|
|
/* 0277A530 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A530 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A534 */ _t1 = cpu->r[12] + 0x00000034u;
|
|
/* 0277A534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277A538 */ cpu->ctr = cpu->r[0];
|
|
/* 0277A53C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A540 @ 0x277a540
|
|
void Gambit_fn_0277A540(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0277A540: ; // 0x277a540
|
|
/* 0277A540 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A540 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A544 */ _t1 = cpu->r[12] + 0x0000003Cu;
|
|
/* 0277A544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277A548 */ cpu->ctr = cpu->r[0];
|
|
/* 0277A54C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A550 @ 0x277a550
|
|
void Gambit_fn_0277A550(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0277A550: ; // 0x277a550
|
|
/* 0277A550 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A550 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A554 */ _t1 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0277A554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277A558 */ cpu->ctr = cpu->r[0];
|
|
/* 0277A55C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A560 @ 0x277a560
|
|
void Gambit_fn_0277A560(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0277A560: ; // 0x277a560
|
|
/* 0277A560 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0277A560 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A564 */ _t1 = cpu->r[12] + 0x00000084u;
|
|
/* 0277A564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277A568 */ cpu->ctr = cpu->r[0];
|
|
/* 0277A56C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A570 @ 0x277a570
|
|
void Gambit_fn_0277A570(CPUState* cpu) {
|
|
L_0277A570: ; // 0x277a570
|
|
/* 0277A570 */ return;
|
|
}
|
|
|
|
// fn_0277A574 @ 0x277a574
|
|
void Gambit_fn_0277A574(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277A574: ; // 0x277a574
|
|
/* 0277A574 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0277A578 */ _t0 = cpu->r[9] + 0xFFFFD9BCu;
|
|
/* 0277A578 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A578 */ cpu->r[9] = _t0;
|
|
/* 0277A57C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277A580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0277A584 */ cpu->r[12] = cpu->r[12] + 0xFFFFDB18u;
|
|
/* 0277A588 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A588 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277A588 */ if (_t2) goto L_0277A58C; else goto L_0277A5A0;
|
|
L_0277A58C: ; // 0x277a58c
|
|
/* 0277A58C */ cpu->r[7] = 0x10100000u;
|
|
/* 0277A590 */ cpu->r[0] = 0x00000001u;
|
|
/* 0277A594 */ cpu->r[7] = cpu->r[7] + 0x00003598u;
|
|
/* 0277A598 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 0277A598 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A59C */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0277A59C */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_0277A5A0: ; // 0x277a5a0
|
|
/* 0277A5A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0277A5A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A5A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0277A5A4 */ if (_t6) goto L_0277A5A8; else goto L_0277A5B0;
|
|
L_0277A5A8: ; // 0x277a5a8
|
|
/* 0277A5A8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0277A5AC */ return;
|
|
L_0277A5B0: ; // 0x277a5b0
|
|
/* 0277A5B0 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0277A5B4 */ _t7 = cpu->r[7] + 0xFFFFD4E0u;
|
|
/* 0277A5B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A5B4 */ cpu->r[7] = _t7;
|
|
/* 0277A5B8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0277A5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0277A5C0 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 0277A5C4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A5C4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277A5C4 */ if (_t9) goto L_0277A5C8; else goto L_0277A5DC;
|
|
L_0277A5C8: ; // 0x277a5c8
|
|
/* 0277A5C8 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277A5CC */ cpu->r[9] = 0x00000001u;
|
|
/* 0277A5D0 */ cpu->r[0] = cpu->r[0] + 0x00003550u;
|
|
/* 0277A5D4 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 0277A5D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0277A5D8 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0277A5D8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0277A5DC: ; // 0x277a5dc
|
|
/* 0277A5DC */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0277A5E0 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0277A5E4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 0277A5E8 */ return;
|
|
}
|
|
|
|
// fn_0277A5EC @ 0x277a5ec
|
|
void Gambit_fn_0277A5EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A5EC: ; // 0x277a5ec
|
|
/* 0277A5EC */ cpu->r[0] = cpu->lr;
|
|
/* 0277A5F0 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277A5F4 */ cpu->r[10] = 0x00000006u;
|
|
/* 0277A5F8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A5F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A5F8 */ cpu->r[1] = _t0;
|
|
/* 0277A5FC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A5FC */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0277A600 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A600 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277A604 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A608 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A608 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A60C */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A610 */ _t4 = cpu->r[12] + 0x00003510u;
|
|
/* 0277A610 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A614 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A618 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A618 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277A61C */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A620 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A620 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0277A624 */ Gambit_fn_02791888(cpu);
|
|
/* 0277A628 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A62C */ cpu->r[0] = cpu->r[0] | 0x00000040u;
|
|
/* 0277A630 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A630 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277A634 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A638 */ cpu->lr = cpu->r[0];
|
|
/* 0277A63C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A63C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A640 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A644 */ return;
|
|
}
|
|
|
|
// fn_0277A5F8 @ 0x277a5f8
|
|
void Gambit_fn_0277A5F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A5F8: ; // 0x277a5f8
|
|
/* 0277A5F8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A5F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A5F8 */ cpu->r[1] = _t0;
|
|
/* 0277A5FC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A5FC */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0277A600 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A600 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277A604 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A608 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A608 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A60C */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A610 */ _t4 = cpu->r[12] + 0x00003510u;
|
|
/* 0277A610 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A614 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A618 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A618 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277A61C */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A620 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A620 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0277A624 */ Gambit_fn_02791888(cpu);
|
|
/* 0277A628 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A62C */ cpu->r[0] = cpu->r[0] | 0x00000040u;
|
|
/* 0277A630 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A630 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277A634 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A638 */ cpu->lr = cpu->r[0];
|
|
/* 0277A63C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A63C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A640 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A644 */ return;
|
|
}
|
|
|
|
// fn_0277A648 @ 0x277a648
|
|
void Gambit_fn_0277A648(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A648: ; // 0x277a648
|
|
/* 0277A648 */ cpu->r[0] = cpu->lr;
|
|
/* 0277A64C */ cpu->r[12] = 0x10100000u;
|
|
/* 0277A650 */ cpu->r[10] = 0x00000007u;
|
|
/* 0277A654 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A654 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A654 */ cpu->r[1] = _t0;
|
|
/* 0277A658 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A658 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0277A65C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A65C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277A660 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A664 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A664 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A668 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A66C */ _t4 = cpu->r[12] + 0x00003518u;
|
|
/* 0277A66C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A670 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A674 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A674 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277A678 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A67C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A67C */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0277A680 */ Gambit_fn_02791888(cpu);
|
|
/* 0277A684 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A688 */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 0277A68C */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A68C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277A690 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A694 */ cpu->lr = cpu->r[0];
|
|
/* 0277A698 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A698 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A69C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A6A0 */ return;
|
|
}
|
|
|
|
// fn_0277A654 @ 0x277a654
|
|
void Gambit_fn_0277A654(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A654: ; // 0x277a654
|
|
/* 0277A654 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A654 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A654 */ cpu->r[1] = _t0;
|
|
/* 0277A658 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A658 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0277A65C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A65C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277A660 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A664 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A664 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A668 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A66C */ _t4 = cpu->r[12] + 0x00003518u;
|
|
/* 0277A66C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A670 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A674 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A674 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277A678 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A67C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A67C */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0277A680 */ Gambit_fn_02791888(cpu);
|
|
/* 0277A684 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A688 */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 0277A68C */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A68C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277A690 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A694 */ cpu->lr = cpu->r[0];
|
|
/* 0277A698 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A698 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A69C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A6A0 */ return;
|
|
}
|
|
|
|
// fn_0277A6A4 @ 0x277a6a4
|
|
void Gambit_fn_0277A6A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A6A4: ; // 0x277a6a4
|
|
/* 0277A6A4 */ cpu->r[0] = cpu->lr;
|
|
/* 0277A6A8 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277A6AC */ cpu->r[10] = 0x00000008u;
|
|
/* 0277A6B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A6B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A6B0 */ cpu->r[1] = _t0;
|
|
/* 0277A6B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A6B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0277A6B8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A6B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277A6BC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A6C0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A6C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A6C4 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A6C8 */ _t4 = cpu->r[12] + 0x00003520u;
|
|
/* 0277A6C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A6CC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A6D0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A6D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277A6D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A6D8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A6D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0277A6DC */ Gambit_fn_02791888(cpu);
|
|
/* 0277A6E0 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A6E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A6E4 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 0277A6E8 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A6E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277A6EC */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A6EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A6F0 */ cpu->lr = cpu->r[0];
|
|
/* 0277A6F4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A6F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A6F8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A6FC */ return;
|
|
}
|
|
|
|
// fn_0277A6B0 @ 0x277a6b0
|
|
void Gambit_fn_0277A6B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A6B0: ; // 0x277a6b0
|
|
/* 0277A6B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A6B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A6B0 */ cpu->r[1] = _t0;
|
|
/* 0277A6B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A6B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0277A6B8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A6B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277A6BC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A6C0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A6C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A6C4 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A6C8 */ _t4 = cpu->r[12] + 0x00003520u;
|
|
/* 0277A6C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A6CC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A6D0 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A6D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277A6D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A6D8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A6D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0277A6DC */ Gambit_fn_02791888(cpu);
|
|
/* 0277A6E0 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A6E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A6E4 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 0277A6E8 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A6E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277A6EC */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A6EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A6F0 */ cpu->lr = cpu->r[0];
|
|
/* 0277A6F4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A6F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A6F8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A6FC */ return;
|
|
}
|
|
|
|
// fn_0277A700 @ 0x277a700
|
|
void Gambit_fn_0277A700(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A700: ; // 0x277a700
|
|
/* 0277A700 */ cpu->r[0] = cpu->lr;
|
|
/* 0277A704 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277A708 */ cpu->r[10] = 0x00000009u;
|
|
/* 0277A70C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A70C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A70C */ cpu->r[1] = _t0;
|
|
/* 0277A710 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A710 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0277A714 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A714 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277A718 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A71C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A71C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A720 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A724 */ _t4 = cpu->r[12] + 0x00003528u;
|
|
/* 0277A724 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A728 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A72C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A72C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277A730 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A734 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A734 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0277A738 */ Gambit_fn_02791888(cpu);
|
|
/* 0277A73C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A73C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A740 */ cpu->r[0] = cpu->r[0] | 0x00000200u;
|
|
/* 0277A744 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A744 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277A748 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A74C */ cpu->lr = cpu->r[0];
|
|
/* 0277A750 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A750 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A754 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A758 */ return;
|
|
}
|
|
|
|
// fn_0277A70C @ 0x277a70c
|
|
void Gambit_fn_0277A70C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A70C: ; // 0x277a70c
|
|
/* 0277A70C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A70C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A70C */ cpu->r[1] = _t0;
|
|
/* 0277A710 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A710 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0277A714 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A714 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277A718 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A71C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A71C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A720 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A724 */ _t4 = cpu->r[12] + 0x00003528u;
|
|
/* 0277A724 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A728 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A72C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A72C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277A730 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A734 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A734 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0277A738 */ Gambit_fn_02791888(cpu);
|
|
/* 0277A73C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A73C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A740 */ cpu->r[0] = cpu->r[0] | 0x00000200u;
|
|
/* 0277A744 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A744 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277A748 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A74C */ cpu->lr = cpu->r[0];
|
|
/* 0277A750 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A750 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A754 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A758 */ return;
|
|
}
|
|
|
|
// fn_0277A75C @ 0x277a75c
|
|
void Gambit_fn_0277A75C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A75C: ; // 0x277a75c
|
|
/* 0277A75C */ cpu->r[0] = cpu->lr;
|
|
/* 0277A760 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A760 */ cpu->r[1] = _t0;
|
|
/* 0277A764 */ cpu->r[8] = 0x10100000u;
|
|
/* 0277A768 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A768 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277A76C */ cpu->r[12] = 0x0000000Bu;
|
|
/* 0277A770 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A770 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0277A774 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A778 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A77C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A77C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A780 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A784 */ _t4 = cpu->r[8] + 0x00003538u;
|
|
/* 0277A784 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A788 */ cpu->r[6] = cpu->r[4];
|
|
/* 0277A78C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A78C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277A790 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A794 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A794 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0277A798 */ Gambit_fn_027919C4(cpu);
|
|
/* 0277A79C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A79C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A7A0 */ cpu->r[10] = cpu->r[10] | 0x00000800u;
|
|
/* 0277A7A4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A7A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0277A7A8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A7A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A7AC */ cpu->lr = cpu->r[0];
|
|
/* 0277A7B0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A7B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A7B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A7B8 */ return;
|
|
}
|
|
|
|
// fn_0277A760 @ 0x277a760
|
|
void Gambit_fn_0277A760(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A760: ; // 0x277a760
|
|
/* 0277A760 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A760 */ cpu->r[1] = _t0;
|
|
/* 0277A764 */ cpu->r[8] = 0x10100000u;
|
|
/* 0277A768 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A768 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277A76C */ cpu->r[12] = 0x0000000Bu;
|
|
/* 0277A770 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A770 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0277A774 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A778 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A77C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A77C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A780 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A784 */ _t4 = cpu->r[8] + 0x00003538u;
|
|
/* 0277A784 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A788 */ cpu->r[6] = cpu->r[4];
|
|
/* 0277A78C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A78C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277A790 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A794 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A794 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0277A798 */ Gambit_fn_027919C4(cpu);
|
|
/* 0277A79C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A79C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A7A0 */ cpu->r[10] = cpu->r[10] | 0x00000800u;
|
|
/* 0277A7A4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A7A4 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0277A7A8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A7A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A7AC */ cpu->lr = cpu->r[0];
|
|
/* 0277A7B0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A7B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A7B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A7B8 */ return;
|
|
}
|
|
|
|
// fn_0277A7BC @ 0x277a7bc
|
|
void Gambit_fn_0277A7BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A7BC: ; // 0x277a7bc
|
|
/* 0277A7BC */ cpu->r[0] = cpu->lr;
|
|
/* 0277A7C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A7C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A7C0 */ cpu->r[1] = _t0;
|
|
/* 0277A7C4 */ cpu->r[8] = 0x10100000u;
|
|
/* 0277A7C8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A7C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277A7CC */ cpu->r[12] = 0x0000000Cu;
|
|
/* 0277A7D0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A7D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0277A7D4 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A7D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A7DC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A7DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A7E0 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A7E4 */ _t4 = cpu->r[8] + 0x00003540u;
|
|
/* 0277A7E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A7E8 */ cpu->r[6] = cpu->r[4];
|
|
/* 0277A7EC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A7EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277A7F0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A7F4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A7F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0277A7F8 */ Gambit_fn_027919C4(cpu);
|
|
/* 0277A7FC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A7FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A800 */ cpu->r[10] = cpu->r[10] | 0x00001000u;
|
|
/* 0277A804 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A804 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0277A808 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A80C */ cpu->lr = cpu->r[0];
|
|
/* 0277A810 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A810 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A814 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A818 */ return;
|
|
}
|
|
|
|
// fn_0277A7C0 @ 0x277a7c0
|
|
void Gambit_fn_0277A7C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277A7C0: ; // 0x277a7c0
|
|
/* 0277A7C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A7C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A7C0 */ cpu->r[1] = _t0;
|
|
/* 0277A7C4 */ cpu->r[8] = 0x10100000u;
|
|
/* 0277A7C8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A7C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277A7CC */ cpu->r[12] = 0x0000000Cu;
|
|
/* 0277A7D0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A7D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0277A7D4 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A7D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A7DC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A7DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A7E0 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277A7E4 */ _t4 = cpu->r[8] + 0x00003540u;
|
|
/* 0277A7E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A7E8 */ cpu->r[6] = cpu->r[4];
|
|
/* 0277A7EC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A7EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277A7F0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A7F4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A7F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0277A7F8 */ Gambit_fn_027919C4(cpu);
|
|
/* 0277A7FC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A7FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A800 */ cpu->r[10] = cpu->r[10] | 0x00001000u;
|
|
/* 0277A804 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277A804 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0277A808 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A80C */ cpu->lr = cpu->r[0];
|
|
/* 0277A810 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A810 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A814 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A818 */ return;
|
|
}
|
|
|
|
// fn_0277A81C @ 0x277a81c
|
|
void Gambit_fn_0277A81C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0277A81C: ; // 0x277a81c
|
|
/* 0277A81C */ cpu->r[0] = cpu->lr;
|
|
/* 0277A820 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A820 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A820 */ cpu->r[1] = _t0;
|
|
/* 0277A824 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A824 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277A828 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A82C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A82C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277A830 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0277A830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0277A834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0277A838 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A838 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277A838 */ if (_t5) goto L_0277A83C; else goto L_0277A858;
|
|
L_0277A83C: ; // 0x277a83c
|
|
/* 0277A83C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0277A83C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277A840 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0277A840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A844 */ cpu->ctr = cpu->r[0];
|
|
/* 0277A848 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277A84C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277A850 */ cpu->r[10] = 0x00000002u;
|
|
/* 0277A854 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0277A854 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_0277A858: ; // 0x277a858
|
|
/* 0277A858 */ cpu->r[0] = 0x00000005u;
|
|
/* 0277A85C */ cpu->r[12] = 0x10100000u;
|
|
/* 0277A860 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A860 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0277A864 */ _t10 = cpu->r[12] + 0x00003548u;
|
|
/* 0277A864 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A864 */ cpu->r[12] = _t10;
|
|
/* 0277A868 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 0277A868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277A86C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A870 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A870 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0277A874 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A878 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277A87C */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A87C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0277A880 */ Gambit_fn_02791888(cpu);
|
|
/* 0277A884 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277A888 */ cpu->lr = cpu->r[0];
|
|
/* 0277A88C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A88C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277A890 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A894 */ return;
|
|
}
|
|
|
|
// fn_0277A820 @ 0x277a820
|
|
void Gambit_fn_0277A820(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0277A820: ; // 0x277a820
|
|
/* 0277A820 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277A820 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A820 */ cpu->r[1] = _t0;
|
|
/* 0277A824 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A824 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277A828 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277A82C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A82C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277A830 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0277A830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0277A834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0277A838 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A838 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277A838 */ if (_t5) goto L_0277A83C; else goto L_0277A858;
|
|
L_0277A83C: ; // 0x277a83c
|
|
/* 0277A83C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0277A83C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277A840 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 0277A840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277A844 */ cpu->ctr = cpu->r[0];
|
|
/* 0277A848 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277A84C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277A850 */ cpu->r[10] = 0x00000002u;
|
|
/* 0277A854 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0277A854 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_0277A858: ; // 0x277a858
|
|
/* 0277A858 */ cpu->r[0] = 0x00000005u;
|
|
/* 0277A85C */ cpu->r[12] = 0x10100000u;
|
|
/* 0277A860 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A860 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0277A864 */ _t10 = cpu->r[12] + 0x00003548u;
|
|
/* 0277A864 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277A864 */ cpu->r[12] = _t10;
|
|
/* 0277A868 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 0277A868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277A86C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A870 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A870 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0277A874 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277A878 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277A87C */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0277A87C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0277A880 */ Gambit_fn_02791888(cpu);
|
|
/* 0277A884 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277A884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277A888 */ cpu->lr = cpu->r[0];
|
|
/* 0277A88C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A88C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277A890 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277A894 */ return;
|
|
}
|
|
|
|
// fn_0277A8D0 @ 0x277a8d0
|
|
void Gambit_fn_0277A8D0(CPUState* cpu) {
|
|
L_0277A8D0: ; // 0x277a8d0
|
|
/* 0277A8D0 */ cpu->r[3] = 0x10100000u;
|
|
/* 0277A8D4 */ cpu->r[3] = cpu->r[3] + 0x00003608u;
|
|
/* 0277A8D8 */ return;
|
|
}
|
|
|
|
// fn_0277A8DC @ 0x277a8dc
|
|
void Gambit_fn_0277A8DC(CPUState* cpu) {
|
|
L_0277A8DC: ; // 0x277a8dc
|
|
/* 0277A8DC */ cpu->r[3] = 0x00000000u;
|
|
/* 0277A8E0 */ return;
|
|
}
|
|
|
|
// fn_0277A8E4 @ 0x277a8e4
|
|
void Gambit_fn_0277A8E4(CPUState* cpu) {
|
|
L_0277A8E4: ; // 0x277a8e4
|
|
/* 0277A8E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0277A8E8 */ return;
|
|
}
|
|
|
|
// fn_0277A8EC @ 0x277a8ec
|
|
void Gambit_fn_0277A8EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0277A8EC: ; // 0x277a8ec
|
|
/* 0277A8EC */ cpu->r[12] = cpu->r[3];
|
|
/* 0277A8F0 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 0277A8F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277A8F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0277A8F8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A8F8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277A8F8 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277A8F8 */ goto L_0277A8FC;
|
|
L_0277A8FC: ; // 0x277a8fc
|
|
/* 0277A8FC */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 0277A8FC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 0277A900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0277A904 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277A904 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277A904 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277A904 */ goto L_0277A908;
|
|
L_0277A908: ; // 0x277a908
|
|
/* 0277A908 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 0277A908 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 0277A90C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0277A910 */ cpu->r[3] = cpu->r[10] + cpu->r[11];
|
|
/* 0277A914 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277A914 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0277A914 */ if (_t8) goto L_0277A918; else goto L_0277A924;
|
|
L_0277A918: ; // 0x277a918
|
|
/* 0277A918 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0277A918 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277A91C */ cpu->ctr = cpu->r[10];
|
|
/* 0277A920 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0277A924: ; // 0x277a924
|
|
/* 0277A924 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 0277A924 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 0277A928 */ _t11 = cpu->r[3] + cpu->r[0];
|
|
/* 0277A928 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277A92C */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0277A930 */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
/* 0277A934 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 0277A934 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0277A938 */ cpu->ctr = cpu->r[10];
|
|
/* 0277A93C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0277A940 @ 0x277a940
|
|
void Gambit_fn_0277A940(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277A940: ; // 0x277a940
|
|
/* 0277A940 */ cpu->r[0] = cpu->lr;
|
|
/* 0277A944 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277A948 */ cpu->r[7] = 0x02780000u;
|
|
/* 0277A94C */ cpu->r[6] = 0x02780000u;
|
|
/* 0277A950 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277A954 */ cpu->r[7] = cpu->r[7] + 0xFFFFA898u;
|
|
/* 0277A958 */ cpu->r[6] = cpu->r[6] + 0xFFFFA898u;
|
|
/* 0277A95C */ cpu->r[10] = cpu->r[10] + 0xFFFF8FCCu;
|
|
/* 0277A960 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0277A960 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0277A964 */ cpu->r[0] = 0x101D0000u;
|
|
/* 0277A968 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277A968 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0277A968 */ cpu->r[1] = _t1;
|
|
/* 0277A96C */ cpu->r[0] = cpu->r[0] + 0xFFFF8FC8u;
|
|
/* 0277A970 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277A970 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0277A974 */ cpu->r[8] = 0x00000000u;
|
|
/* 0277A978 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A978 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A97C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A980 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A980 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0277A984 */ Gambit_fn_02791B10(cpu);
|
|
/* 0277A988 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A98C */ cpu->lr = cpu->r[0];
|
|
/* 0277A990 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277A994 */ return;
|
|
}
|
|
|
|
// fn_0277A968 @ 0x277a968
|
|
void Gambit_fn_0277A968(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0277A968: ; // 0x277a968
|
|
/* 0277A968 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277A968 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A968 */ cpu->r[1] = _t0;
|
|
/* 0277A96C */ cpu->r[0] = cpu->r[0] + 0xFFFF8FC8u;
|
|
/* 0277A970 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277A970 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277A974 */ cpu->r[8] = 0x00000000u;
|
|
/* 0277A978 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A978 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277A97C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A980 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A980 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0277A984 */ Gambit_fn_02791B10(cpu);
|
|
/* 0277A988 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A98C */ cpu->lr = cpu->r[0];
|
|
/* 0277A990 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277A994 */ return;
|
|
}
|
|
|
|
// fn_0277A998 @ 0x277a998
|
|
void Gambit_fn_0277A998(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277A998: ; // 0x277a998
|
|
/* 0277A998 */ cpu->r[0] = cpu->lr;
|
|
/* 0277A99C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277A9A0 */ cpu->r[7] = 0x02780000u;
|
|
/* 0277A9A4 */ cpu->r[6] = 0x02780000u;
|
|
/* 0277A9A8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277A9AC */ cpu->r[7] = cpu->r[7] + 0xFFFFA8A0u;
|
|
/* 0277A9B0 */ cpu->r[6] = cpu->r[6] + 0xFFFFA8A0u;
|
|
/* 0277A9B4 */ cpu->r[10] = cpu->r[10] + 0xFFFF8E58u;
|
|
/* 0277A9B8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0277A9B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0277A9BC */ cpu->r[0] = 0x101D0000u;
|
|
/* 0277A9C0 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277A9C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0277A9C0 */ cpu->r[1] = _t1;
|
|
/* 0277A9C4 */ cpu->r[0] = cpu->r[0] + 0xFFFF8E54u;
|
|
/* 0277A9C8 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277A9C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0277A9CC */ cpu->r[8] = 0x00000000u;
|
|
/* 0277A9D0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A9D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277A9D4 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A9D8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A9D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0277A9DC */ Gambit_fn_02791B10(cpu);
|
|
/* 0277A9E0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A9E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277A9E4 */ cpu->lr = cpu->r[0];
|
|
/* 0277A9E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277A9EC */ return;
|
|
}
|
|
|
|
// fn_0277A9C0 @ 0x277a9c0
|
|
void Gambit_fn_0277A9C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0277A9C0: ; // 0x277a9c0
|
|
/* 0277A9C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277A9C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277A9C0 */ cpu->r[1] = _t0;
|
|
/* 0277A9C4 */ cpu->r[0] = cpu->r[0] + 0xFFFF8E54u;
|
|
/* 0277A9C8 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277A9C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277A9CC */ cpu->r[8] = 0x00000000u;
|
|
/* 0277A9D0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277A9D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277A9D4 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A9D8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277A9D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0277A9DC */ Gambit_fn_02791B10(cpu);
|
|
/* 0277A9E0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0277A9E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277A9E4 */ cpu->lr = cpu->r[0];
|
|
/* 0277A9E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277A9EC */ return;
|
|
}
|
|
|
|
// fn_0277A9F0 @ 0x277a9f0
|
|
void Gambit_fn_0277A9F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277A9F0: ; // 0x277a9f0
|
|
/* 0277A9F0 */ cpu->r[0] = cpu->lr;
|
|
/* 0277A9F4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277A9F8 */ cpu->r[7] = 0x02780000u;
|
|
/* 0277A9FC */ cpu->r[6] = 0x02780000u;
|
|
/* 0277AA00 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277AA04 */ cpu->r[7] = cpu->r[7] + 0xFFFFA8A8u;
|
|
/* 0277AA08 */ cpu->r[6] = cpu->r[6] + 0xFFFFA8A8u;
|
|
/* 0277AA0C */ cpu->r[10] = cpu->r[10] + 0xFFFF8D04u;
|
|
/* 0277AA10 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0277AA10 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0277AA14 */ cpu->r[0] = 0x101D0000u;
|
|
/* 0277AA18 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277AA18 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0277AA18 */ cpu->r[1] = _t1;
|
|
/* 0277AA1C */ cpu->r[0] = cpu->r[0] + 0xFFFF8D00u;
|
|
/* 0277AA20 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277AA20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0277AA24 */ cpu->r[8] = 0x00000000u;
|
|
/* 0277AA28 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0277AA28 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277AA2C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AA30 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AA30 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0277AA34 */ Gambit_fn_02791B10(cpu);
|
|
/* 0277AA38 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AA38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277AA3C */ cpu->lr = cpu->r[0];
|
|
/* 0277AA40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277AA44 */ return;
|
|
}
|
|
|
|
// fn_0277AA18 @ 0x277aa18
|
|
void Gambit_fn_0277AA18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0277AA18: ; // 0x277aa18
|
|
/* 0277AA18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277AA18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277AA18 */ cpu->r[1] = _t0;
|
|
/* 0277AA1C */ cpu->r[0] = cpu->r[0] + 0xFFFF8D00u;
|
|
/* 0277AA20 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277AA20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277AA24 */ cpu->r[8] = 0x00000000u;
|
|
/* 0277AA28 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277AA28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277AA2C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AA30 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AA30 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0277AA34 */ Gambit_fn_02791B10(cpu);
|
|
/* 0277AA38 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AA38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277AA3C */ cpu->lr = cpu->r[0];
|
|
/* 0277AA40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277AA44 */ return;
|
|
}
|
|
|
|
// fn_0277AA48 @ 0x277aa48
|
|
void Gambit_fn_0277AA48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277AA48: ; // 0x277aa48
|
|
/* 0277AA48 */ cpu->r[0] = cpu->lr;
|
|
/* 0277AA4C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277AA50 */ cpu->r[7] = 0x02780000u;
|
|
/* 0277AA54 */ cpu->r[6] = 0x02780000u;
|
|
/* 0277AA58 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277AA5C */ cpu->r[7] = cpu->r[7] + 0xFFFFA8B0u;
|
|
/* 0277AA60 */ cpu->r[6] = cpu->r[6] + 0xFFFFA8B0u;
|
|
/* 0277AA64 */ cpu->r[10] = cpu->r[10] + 0xFFFF8E84u;
|
|
/* 0277AA68 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0277AA68 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0277AA6C */ cpu->r[0] = 0x101D0000u;
|
|
/* 0277AA70 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277AA70 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0277AA70 */ cpu->r[1] = _t1;
|
|
/* 0277AA74 */ cpu->r[0] = cpu->r[0] + 0xFFFF8E80u;
|
|
/* 0277AA78 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277AA78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0277AA7C */ cpu->r[8] = 0x00000000u;
|
|
/* 0277AA80 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0277AA80 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277AA84 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AA88 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AA88 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0277AA8C */ Gambit_fn_02791B10(cpu);
|
|
/* 0277AA90 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AA90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277AA94 */ cpu->lr = cpu->r[0];
|
|
/* 0277AA98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277AA9C */ return;
|
|
}
|
|
|
|
// fn_0277AA70 @ 0x277aa70
|
|
void Gambit_fn_0277AA70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0277AA70: ; // 0x277aa70
|
|
/* 0277AA70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277AA70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277AA70 */ cpu->r[1] = _t0;
|
|
/* 0277AA74 */ cpu->r[0] = cpu->r[0] + 0xFFFF8E80u;
|
|
/* 0277AA78 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277AA78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277AA7C */ cpu->r[8] = 0x00000000u;
|
|
/* 0277AA80 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277AA80 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277AA84 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AA88 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AA88 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0277AA8C */ Gambit_fn_02791B10(cpu);
|
|
/* 0277AA90 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AA90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277AA94 */ cpu->lr = cpu->r[0];
|
|
/* 0277AA98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277AA9C */ return;
|
|
}
|
|
|
|
// fn_0277AAA0 @ 0x277aaa0
|
|
void Gambit_fn_0277AAA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277AAA0: ; // 0x277aaa0
|
|
/* 0277AAA0 */ cpu->r[0] = cpu->lr;
|
|
/* 0277AAA4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277AAA8 */ cpu->r[7] = 0x02780000u;
|
|
/* 0277AAAC */ cpu->r[6] = 0x02780000u;
|
|
/* 0277AAB0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277AAB4 */ cpu->r[7] = cpu->r[7] + 0xFFFFA8B8u;
|
|
/* 0277AAB8 */ cpu->r[6] = cpu->r[6] + 0xFFFFA8B8u;
|
|
/* 0277AABC */ cpu->r[10] = cpu->r[10] + 0xFFFF8E94u;
|
|
/* 0277AAC0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0277AAC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0277AAC4 */ cpu->r[0] = 0x101D0000u;
|
|
/* 0277AAC8 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277AAC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0277AAC8 */ cpu->r[1] = _t1;
|
|
/* 0277AACC */ cpu->r[0] = cpu->r[0] + 0xFFFF8E90u;
|
|
/* 0277AAD0 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277AAD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0277AAD4 */ cpu->r[8] = 0x00000000u;
|
|
/* 0277AAD8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0277AAD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277AADC */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AAE0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AAE0 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0277AAE4 */ Gambit_fn_02791B10(cpu);
|
|
/* 0277AAE8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AAE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277AAEC */ cpu->lr = cpu->r[0];
|
|
/* 0277AAF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277AAF4 */ return;
|
|
}
|
|
|
|
// fn_0277AAC8 @ 0x277aac8
|
|
void Gambit_fn_0277AAC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0277AAC8: ; // 0x277aac8
|
|
/* 0277AAC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277AAC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277AAC8 */ cpu->r[1] = _t0;
|
|
/* 0277AACC */ cpu->r[0] = cpu->r[0] + 0xFFFF8E90u;
|
|
/* 0277AAD0 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277AAD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277AAD4 */ cpu->r[8] = 0x00000000u;
|
|
/* 0277AAD8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277AAD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277AADC */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AAE0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AAE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0277AAE4 */ Gambit_fn_02791B10(cpu);
|
|
/* 0277AAE8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AAE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277AAEC */ cpu->lr = cpu->r[0];
|
|
/* 0277AAF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277AAF4 */ return;
|
|
}
|
|
|
|
// fn_0277AAF8 @ 0x277aaf8
|
|
void Gambit_fn_0277AAF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277AAF8: ; // 0x277aaf8
|
|
/* 0277AAF8 */ cpu->r[0] = cpu->lr;
|
|
/* 0277AAFC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277AB00 */ cpu->r[7] = 0x02780000u;
|
|
/* 0277AB04 */ cpu->r[6] = 0x02780000u;
|
|
/* 0277AB08 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277AB0C */ cpu->r[7] = cpu->r[7] + 0xFFFFA8C0u;
|
|
/* 0277AB10 */ cpu->r[6] = cpu->r[6] + 0xFFFFA8C0u;
|
|
/* 0277AB14 */ cpu->r[10] = cpu->r[10] + 0xFFFF8E8Cu;
|
|
/* 0277AB18 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0277AB18 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0277AB1C */ cpu->r[0] = 0x101D0000u;
|
|
/* 0277AB20 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277AB20 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0277AB20 */ cpu->r[1] = _t1;
|
|
/* 0277AB24 */ cpu->r[0] = cpu->r[0] + 0xFFFF8E88u;
|
|
/* 0277AB28 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277AB28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0277AB2C */ cpu->r[8] = 0x00000000u;
|
|
/* 0277AB30 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0277AB30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277AB34 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AB38 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AB38 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0277AB3C */ Gambit_fn_02791B10(cpu);
|
|
/* 0277AB40 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AB40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277AB44 */ cpu->lr = cpu->r[0];
|
|
/* 0277AB48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277AB4C */ return;
|
|
}
|
|
|
|
// fn_0277AB20 @ 0x277ab20
|
|
void Gambit_fn_0277AB20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0277AB20: ; // 0x277ab20
|
|
/* 0277AB20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277AB20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277AB20 */ cpu->r[1] = _t0;
|
|
/* 0277AB24 */ cpu->r[0] = cpu->r[0] + 0xFFFF8E88u;
|
|
/* 0277AB28 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277AB28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277AB2C */ cpu->r[8] = 0x00000000u;
|
|
/* 0277AB30 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277AB30 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277AB34 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AB38 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AB38 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0277AB3C */ Gambit_fn_02791B10(cpu);
|
|
/* 0277AB40 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AB40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277AB44 */ cpu->lr = cpu->r[0];
|
|
/* 0277AB48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277AB4C */ return;
|
|
}
|
|
|
|
// fn_0277AB50 @ 0x277ab50
|
|
void Gambit_fn_0277AB50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277AB50: ; // 0x277ab50
|
|
/* 0277AB50 */ cpu->r[0] = cpu->lr;
|
|
/* 0277AB54 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277AB58 */ cpu->r[7] = 0x02780000u;
|
|
/* 0277AB5C */ cpu->r[6] = 0x02780000u;
|
|
/* 0277AB60 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277AB64 */ cpu->r[7] = cpu->r[7] + 0xFFFFA8C8u;
|
|
/* 0277AB68 */ cpu->r[6] = cpu->r[6] + 0xFFFFA8C8u;
|
|
/* 0277AB6C */ cpu->r[10] = cpu->r[10] + 0xFFFF8E9Cu;
|
|
/* 0277AB70 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0277AB70 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0277AB74 */ cpu->r[0] = 0x101D0000u;
|
|
/* 0277AB78 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277AB78 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0277AB78 */ cpu->r[1] = _t1;
|
|
/* 0277AB7C */ cpu->r[0] = cpu->r[0] + 0xFFFF8E98u;
|
|
/* 0277AB80 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277AB80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0277AB84 */ cpu->r[8] = 0x00000000u;
|
|
/* 0277AB88 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0277AB88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277AB8C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AB90 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AB90 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0277AB94 */ Gambit_fn_02791B10(cpu);
|
|
/* 0277AB98 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AB98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277AB9C */ cpu->lr = cpu->r[0];
|
|
/* 0277ABA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277ABA4 */ return;
|
|
}
|
|
|
|
// fn_0277AB78 @ 0x277ab78
|
|
void Gambit_fn_0277AB78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0277AB78: ; // 0x277ab78
|
|
/* 0277AB78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277AB78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277AB78 */ cpu->r[1] = _t0;
|
|
/* 0277AB7C */ cpu->r[0] = cpu->r[0] + 0xFFFF8E98u;
|
|
/* 0277AB80 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277AB80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277AB84 */ cpu->r[8] = 0x00000000u;
|
|
/* 0277AB88 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277AB88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277AB8C */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AB90 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AB90 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0277AB94 */ Gambit_fn_02791B10(cpu);
|
|
/* 0277AB98 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AB98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277AB9C */ cpu->lr = cpu->r[0];
|
|
/* 0277ABA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277ABA4 */ return;
|
|
}
|
|
|
|
// fn_0277ABA8 @ 0x277aba8
|
|
void Gambit_fn_0277ABA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277ABA8: ; // 0x277aba8
|
|
/* 0277ABA8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 0277ABAC */ goto L_0277AC70;
|
|
L_0277AC70: ; // 0x277ac70
|
|
/* 0277AC70 */ cpu->r[0] = cpu->lr;
|
|
/* 0277AC74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277AC74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277AC74 */ cpu->r[1] = _t0;
|
|
/* 0277AC78 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AC78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277AC7C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277AC7C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277AC80 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277AC80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277AC84 */ cpu->r[31] = cpu->r[4];
|
|
/* 0277AC88 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AC88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277AC8C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AC8C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277AC8C */ if (_t5) goto L_0277ACD0; else goto L_0277AC90;
|
|
L_0277AC90: ; // 0x277ac90
|
|
/* 0277AC90 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AC94 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0277AC98 */ cpu->r[0] = cpu->r[0] + 0x000037ACu;
|
|
/* 0277AC9C */ cpu->r[4] = 0x00000002u;
|
|
/* 0277ACA0 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0277ACA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0277ACA4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277ACA8 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0277ACAC */ cpu->r[4] = 0x00000002u;
|
|
/* 0277ACB0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277ACB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277ACB8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0277ACBC */ Gambit_fn_028136EC(cpu);
|
|
/* 0277ACC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277ACC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277ACC4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277ACC4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0277ACC4 */ if (_t8) goto L_0277ACD0; else goto L_0277ACC8;
|
|
L_0277ACC8: ; // 0x277acc8
|
|
/* 0277ACC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277ACCC */ Gambit_fn_02801BB0(cpu);
|
|
L_0277ACD0: ; // 0x277acd0
|
|
/* 0277ACD0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0277ACD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277ACD4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0277ACD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277ACD8 */ cpu->lr = cpu->r[0];
|
|
/* 0277ACDC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277ACDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277ACE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277ACE4 */ return;
|
|
}
|
|
|
|
// fn_0277ABB0 @ 0x277abb0
|
|
void Gambit_fn_0277ABB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0277ABB0: ; // 0x277abb0
|
|
/* 0277ABB0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 0277ABB4 */ goto L_0277ACE8;
|
|
L_0277ACE8: ; // 0x277ace8
|
|
/* 0277ACE8 */ cpu->r[0] = cpu->lr;
|
|
/* 0277ACEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277ACEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277ACEC */ cpu->r[1] = _t0;
|
|
/* 0277ACF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277ACF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277ACF4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277ACF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277ACF8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277ACF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277ACFC */ cpu->r[31] = cpu->r[4];
|
|
/* 0277AD00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AD00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277AD04 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AD04 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277AD04 */ if (_t5) goto L_0277ADF0; else goto L_0277AD08;
|
|
L_0277AD08: ; // 0x277ad08
|
|
/* 0277AD08 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AD0C */ cpu->r[12] = 0x10100000u;
|
|
/* 0277AD10 */ cpu->r[0] = cpu->r[0] + 0x000037ECu;
|
|
/* 0277AD14 */ cpu->r[12] = cpu->r[12] + 0x0000381Cu;
|
|
/* 0277AD18 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0277AD18 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0277AD1C */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AD20 */ _t7 = cpu->r[30] + 0x00000214u;
|
|
/* 0277AD20 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0277AD24 */ cpu->r[0] = cpu->r[0] + 0x000037FCu;
|
|
/* 0277AD28 */ cpu->r[9] = 0x10100000u;
|
|
/* 0277AD2C */ _t8 = cpu->r[30] + 0x00000158u;
|
|
/* 0277AD2C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277AD30 */ cpu->r[9] = cpu->r[9] + 0x0000382Cu;
|
|
/* 0277AD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277AD38 */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 0277AD38 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0277AD3C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AD3C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0277AD3C */ if (_t11) goto L_0277ADE0; else goto L_0277AD40;
|
|
L_0277AD40: ; // 0x277ad40
|
|
/* 0277AD40 */ cpu->r[10] = 0x10020000u;
|
|
/* 0277AD44 */ cpu->r[12] = 0x10020000u;
|
|
/* 0277AD48 */ cpu->r[10] = cpu->r[10] + 0x00004190u;
|
|
/* 0277AD4C */ cpu->r[12] = cpu->r[12] + 0x000041C0u;
|
|
/* 0277AD50 */ cpu->r[11] = 0x10020000u;
|
|
/* 0277AD54 */ _t12 = cpu->r[30] + 0x00000020u;
|
|
/* 0277AD54 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0277AD58 */ cpu->r[11] = cpu->r[11] + 0x000041A0u;
|
|
/* 0277AD5C */ _t13 = cpu->r[30] + 0x00000214u;
|
|
/* 0277AD5C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0277AD60 */ cpu->r[0] = 0x10020000u;
|
|
/* 0277AD64 */ _t14 = cpu->r[30] + 0x00000158u;
|
|
/* 0277AD64 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0277AD68 */ cpu->r[0] = cpu->r[0] + 0x000041D0u;
|
|
/* 0277AD6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277AD70 */ _t15 = cpu->r[30] + 0x00000218u;
|
|
/* 0277AD70 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0277AD74 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AD74 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0277AD74 */ if (_t17) goto L_0277ADE0; else goto L_0277AD78;
|
|
L_0277AD78: ; // 0x277ad78
|
|
/* 0277AD78 */ cpu->r[9] = 0x10110000u;
|
|
/* 0277AD7C */ cpu->r[3] = cpu->r[30] + 0x000001A4u;
|
|
/* 0277AD80 */ cpu->r[9] = cpu->r[9] + 0xFFFFDF04u;
|
|
/* 0277AD84 */ cpu->r[0] = 0x10110000u;
|
|
/* 0277AD88 */ _t18 = cpu->r[30] + 0x00000020u;
|
|
/* 0277AD88 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0277AD8C */ cpu->r[0] = cpu->r[0] + 0xFFFFDF14u;
|
|
/* 0277AD90 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277AD94 */ _t19 = cpu->r[30] + 0x00000158u;
|
|
/* 0277AD94 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0277AD98 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277AD9C */ cpu->r[3] = cpu->r[30] + 0x00000160u;
|
|
/* 0277ADA0 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277ADA4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277ADA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277ADAC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277ADAC */ _t21 = _t20 & 0x00000001u;
|
|
/* 0277ADAC */ if (_t21) goto L_0277ADE0; else goto L_0277ADB0;
|
|
L_0277ADB0: ; // 0x277adb0
|
|
/* 0277ADB0 */ cpu->r[10] = 0x10100000u;
|
|
/* 0277ADB4 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0277ADB8 */ cpu->r[10] = cpu->r[10] + 0x000037ACu;
|
|
/* 0277ADBC */ cpu->r[4] = 0x00000002u;
|
|
/* 0277ADC0 */ _t22 = cpu->r[30] + 0x00000020u;
|
|
/* 0277ADC0 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 0277ADC4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277ADC8 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0277ADCC */ cpu->r[4] = 0x00000002u;
|
|
/* 0277ADD0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277ADD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277ADD8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0277ADDC */ Gambit_fn_028136EC(cpu);
|
|
L_0277ADE0: ; // 0x277ade0
|
|
/* 0277ADE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277ADE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277ADE4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277ADE4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0277ADE4 */ if (_t24) goto L_0277ADF0; else goto L_0277ADE8;
|
|
L_0277ADE8: ; // 0x277ade8
|
|
/* 0277ADE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277ADEC */ Gambit_fn_02801BB0(cpu);
|
|
L_0277ADF0: ; // 0x277adf0
|
|
/* 0277ADF0 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0277ADF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0277ADF4 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0277ADF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0277ADF8 */ cpu->lr = cpu->r[0];
|
|
/* 0277ADFC */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277ADFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0277AE00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277AE04 */ return;
|
|
}
|
|
|
|
// fn_0277ABB8 @ 0x277abb8
|
|
void Gambit_fn_0277ABB8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0277ABB8: ; // 0x277abb8
|
|
/* 0277ABB8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFEB0u;
|
|
/* 0277ABBC */ goto L_0277AE08;
|
|
L_0277AE08: ; // 0x277ae08
|
|
/* 0277AE08 */ _t0 = cpu->r[3] + 0x0000015Cu;
|
|
/* 0277AE08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277AE0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0277AE10 */ /* nop */
|
|
/* 0277AE14 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277AE18 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
|
|
/* 0277AE1C */ return;
|
|
}
|
|
|
|
// fn_0277ABC0 @ 0x277abc0
|
|
void Gambit_fn_0277ABC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0277ABC0: ; // 0x277abc0
|
|
/* 0277ABC0 */ cpu->r[0] = cpu->lr;
|
|
/* 0277ABC4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277ABC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277ABC4 */ cpu->r[1] = _t0;
|
|
/* 0277ABC8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277ABC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277ABCC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0277ABCC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277ABD0 */ cpu->r[30] = cpu->r[5];
|
|
/* 0277ABD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277ABD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0277ABD8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277ABD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0277ABDC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277ABDC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0277ABE0 */ cpu->r[29] = cpu->r[4];
|
|
/* 0277ABE4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277ABE4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0277ABE4 */ if (_t6) goto L_0277ABE8; else goto L_0277ABF8;
|
|
L_0277ABE8: ; // 0x277abe8
|
|
/* 0277ABE8 */ cpu->r[3] = 0x00000278u;
|
|
/* 0277ABEC */ Gambit_fn_02801A78(cpu);
|
|
/* 0277ABF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277ABF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0277ABF4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277ABF4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0277ABF4 */ if (_t8) goto L_0277AC50; else goto L_0277ABF8;
|
|
L_0277ABF8: ; // 0x277abf8
|
|
/* 0277ABF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277ABFC */ cpu->r[4] = cpu->r[29];
|
|
/* 0277AC00 */ cpu->r[5] = cpu->r[30];
|
|
/* 0277AC04 */ Gambit_fn_0217A6E0(cpu);
|
|
/* 0277AC08 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AC0C */ cpu->r[10] = 0x10100000u;
|
|
/* 0277AC10 */ cpu->r[0] = cpu->r[0] + 0x0000384Cu;
|
|
/* 0277AC14 */ cpu->r[10] = cpu->r[10] + 0x000037FCu;
|
|
/* 0277AC18 */ _t9 = cpu->r[31] + 0x00000070u;
|
|
/* 0277AC18 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0277AC1C */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AC20 */ cpu->r[11] = 0x10100000u;
|
|
/* 0277AC24 */ _t10 = cpu->r[31] + 0x00000158u;
|
|
/* 0277AC24 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0277AC28 */ cpu->r[0] = cpu->r[0] + 0x0000382Cu;
|
|
/* 0277AC2C */ cpu->r[11] = cpu->r[11] + 0x0000381Cu;
|
|
/* 0277AC30 */ _t11 = cpu->r[31] + 0x00000218u;
|
|
/* 0277AC30 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0277AC34 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AC38 */ _t12 = cpu->r[31] + 0x00000214u;
|
|
/* 0277AC38 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0277AC3C */ cpu->r[0] = cpu->r[0] + 0x000037ECu;
|
|
/* 0277AC40 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277AC44 */ _t13 = cpu->r[31] + 0x00000020u;
|
|
/* 0277AC44 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0277AC48 */ Gambit_fn_0277B030(cpu);
|
|
/* 0277AC4C */ _t14 = cpu->r[3] + 0x00000254u;
|
|
/* 0277AC4C */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
L_0277AC50: ; // 0x277ac50
|
|
/* 0277AC50 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AC50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277AC54 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277AC54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277AC58 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277AC5C */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0277AC5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0277AC60 */ cpu->lr = cpu->r[0];
|
|
/* 0277AC64 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AC64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0277AC68 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277AC6C */ return;
|
|
}
|
|
|
|
// fn_0277ABC4 @ 0x277abc4
|
|
void Gambit_fn_0277ABC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0277ABC4: ; // 0x277abc4
|
|
/* 0277ABC4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277ABC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277ABC4 */ cpu->r[1] = _t0;
|
|
/* 0277ABC8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277ABC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277ABCC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0277ABCC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277ABD0 */ cpu->r[30] = cpu->r[5];
|
|
/* 0277ABD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277ABD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0277ABD8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277ABD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0277ABDC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277ABDC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0277ABE0 */ cpu->r[29] = cpu->r[4];
|
|
/* 0277ABE4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277ABE4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0277ABE4 */ if (_t6) goto L_0277ABE8; else goto L_0277ABF8;
|
|
L_0277ABE8: ; // 0x277abe8
|
|
/* 0277ABE8 */ cpu->r[3] = 0x00000278u;
|
|
/* 0277ABEC */ Gambit_fn_02801A78(cpu);
|
|
/* 0277ABF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277ABF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0277ABF4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277ABF4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0277ABF4 */ if (_t8) goto L_0277AC50; else goto L_0277ABF8;
|
|
L_0277ABF8: ; // 0x277abf8
|
|
/* 0277ABF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277ABFC */ cpu->r[4] = cpu->r[29];
|
|
/* 0277AC00 */ cpu->r[5] = cpu->r[30];
|
|
/* 0277AC04 */ Gambit_fn_0217A6E0(cpu);
|
|
/* 0277AC08 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AC0C */ cpu->r[10] = 0x10100000u;
|
|
/* 0277AC10 */ cpu->r[0] = cpu->r[0] + 0x0000384Cu;
|
|
/* 0277AC14 */ cpu->r[10] = cpu->r[10] + 0x000037FCu;
|
|
/* 0277AC18 */ _t9 = cpu->r[31] + 0x00000070u;
|
|
/* 0277AC18 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0277AC1C */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AC20 */ cpu->r[11] = 0x10100000u;
|
|
/* 0277AC24 */ _t10 = cpu->r[31] + 0x00000158u;
|
|
/* 0277AC24 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0277AC28 */ cpu->r[0] = cpu->r[0] + 0x0000382Cu;
|
|
/* 0277AC2C */ cpu->r[11] = cpu->r[11] + 0x0000381Cu;
|
|
/* 0277AC30 */ _t11 = cpu->r[31] + 0x00000218u;
|
|
/* 0277AC30 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0277AC34 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AC38 */ _t12 = cpu->r[31] + 0x00000214u;
|
|
/* 0277AC38 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0277AC3C */ cpu->r[0] = cpu->r[0] + 0x000037ECu;
|
|
/* 0277AC40 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277AC44 */ _t13 = cpu->r[31] + 0x00000020u;
|
|
/* 0277AC44 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0277AC48 */ Gambit_fn_0277B030(cpu);
|
|
/* 0277AC4C */ _t14 = cpu->r[3] + 0x00000254u;
|
|
/* 0277AC4C */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
L_0277AC50: ; // 0x277ac50
|
|
/* 0277AC50 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AC50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277AC54 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277AC54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277AC58 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277AC5C */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0277AC5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0277AC60 */ cpu->lr = cpu->r[0];
|
|
/* 0277AC64 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AC64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0277AC68 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277AC6C */ return;
|
|
}
|
|
|
|
// fn_0277AC74 @ 0x277ac74
|
|
void Gambit_fn_0277AC74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277AC74: ; // 0x277ac74
|
|
/* 0277AC74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277AC74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277AC74 */ cpu->r[1] = _t0;
|
|
/* 0277AC78 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277AC78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277AC7C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277AC7C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277AC80 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277AC80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277AC84 */ cpu->r[31] = cpu->r[4];
|
|
/* 0277AC88 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AC88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277AC8C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AC8C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277AC8C */ if (_t5) goto L_0277ACD0; else goto L_0277AC90;
|
|
L_0277AC90: ; // 0x277ac90
|
|
/* 0277AC90 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AC94 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0277AC98 */ cpu->r[0] = cpu->r[0] + 0x000037ACu;
|
|
/* 0277AC9C */ cpu->r[4] = 0x00000002u;
|
|
/* 0277ACA0 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0277ACA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0277ACA4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277ACA8 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0277ACAC */ cpu->r[4] = 0x00000002u;
|
|
/* 0277ACB0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277ACB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277ACB8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0277ACBC */ Gambit_fn_028136EC(cpu);
|
|
/* 0277ACC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277ACC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277ACC4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277ACC4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0277ACC4 */ if (_t8) goto L_0277ACD0; else goto L_0277ACC8;
|
|
L_0277ACC8: ; // 0x277acc8
|
|
/* 0277ACC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277ACCC */ Gambit_fn_02801BB0(cpu);
|
|
L_0277ACD0: ; // 0x277acd0
|
|
/* 0277ACD0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0277ACD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277ACD4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0277ACD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277ACD8 */ cpu->lr = cpu->r[0];
|
|
/* 0277ACDC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277ACDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277ACE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277ACE4 */ return;
|
|
}
|
|
|
|
// fn_0277ACE8 @ 0x277ace8
|
|
void Gambit_fn_0277ACE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0277ACE8: ; // 0x277ace8
|
|
/* 0277ACE8 */ cpu->r[0] = cpu->lr;
|
|
/* 0277ACEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277ACEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277ACEC */ cpu->r[1] = _t0;
|
|
/* 0277ACF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277ACF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277ACF4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277ACF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277ACF8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277ACF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277ACFC */ cpu->r[31] = cpu->r[4];
|
|
/* 0277AD00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AD00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277AD04 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AD04 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277AD04 */ if (_t5) goto L_0277ADF0; else goto L_0277AD08;
|
|
L_0277AD08: ; // 0x277ad08
|
|
/* 0277AD08 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AD0C */ cpu->r[12] = 0x10100000u;
|
|
/* 0277AD10 */ cpu->r[0] = cpu->r[0] + 0x000037ECu;
|
|
/* 0277AD14 */ cpu->r[12] = cpu->r[12] + 0x0000381Cu;
|
|
/* 0277AD18 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0277AD18 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0277AD1C */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AD20 */ _t7 = cpu->r[30] + 0x00000214u;
|
|
/* 0277AD20 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0277AD24 */ cpu->r[0] = cpu->r[0] + 0x000037FCu;
|
|
/* 0277AD28 */ cpu->r[9] = 0x10100000u;
|
|
/* 0277AD2C */ _t8 = cpu->r[30] + 0x00000158u;
|
|
/* 0277AD2C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277AD30 */ cpu->r[9] = cpu->r[9] + 0x0000382Cu;
|
|
/* 0277AD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277AD38 */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 0277AD38 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0277AD3C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AD3C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0277AD3C */ if (_t11) goto L_0277ADE0; else goto L_0277AD40;
|
|
L_0277AD40: ; // 0x277ad40
|
|
/* 0277AD40 */ cpu->r[10] = 0x10020000u;
|
|
/* 0277AD44 */ cpu->r[12] = 0x10020000u;
|
|
/* 0277AD48 */ cpu->r[10] = cpu->r[10] + 0x00004190u;
|
|
/* 0277AD4C */ cpu->r[12] = cpu->r[12] + 0x000041C0u;
|
|
/* 0277AD50 */ cpu->r[11] = 0x10020000u;
|
|
/* 0277AD54 */ _t12 = cpu->r[30] + 0x00000020u;
|
|
/* 0277AD54 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0277AD58 */ cpu->r[11] = cpu->r[11] + 0x000041A0u;
|
|
/* 0277AD5C */ _t13 = cpu->r[30] + 0x00000214u;
|
|
/* 0277AD5C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0277AD60 */ cpu->r[0] = 0x10020000u;
|
|
/* 0277AD64 */ _t14 = cpu->r[30] + 0x00000158u;
|
|
/* 0277AD64 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0277AD68 */ cpu->r[0] = cpu->r[0] + 0x000041D0u;
|
|
/* 0277AD6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277AD70 */ _t15 = cpu->r[30] + 0x00000218u;
|
|
/* 0277AD70 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0277AD74 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AD74 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0277AD74 */ if (_t17) goto L_0277ADE0; else goto L_0277AD78;
|
|
L_0277AD78: ; // 0x277ad78
|
|
/* 0277AD78 */ cpu->r[9] = 0x10110000u;
|
|
/* 0277AD7C */ cpu->r[3] = cpu->r[30] + 0x000001A4u;
|
|
/* 0277AD80 */ cpu->r[9] = cpu->r[9] + 0xFFFFDF04u;
|
|
/* 0277AD84 */ cpu->r[0] = 0x10110000u;
|
|
/* 0277AD88 */ _t18 = cpu->r[30] + 0x00000020u;
|
|
/* 0277AD88 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0277AD8C */ cpu->r[0] = cpu->r[0] + 0xFFFFDF14u;
|
|
/* 0277AD90 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277AD94 */ _t19 = cpu->r[30] + 0x00000158u;
|
|
/* 0277AD94 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0277AD98 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277AD9C */ cpu->r[3] = cpu->r[30] + 0x00000160u;
|
|
/* 0277ADA0 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277ADA4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277ADA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277ADAC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277ADAC */ _t21 = _t20 & 0x00000001u;
|
|
/* 0277ADAC */ if (_t21) goto L_0277ADE0; else goto L_0277ADB0;
|
|
L_0277ADB0: ; // 0x277adb0
|
|
/* 0277ADB0 */ cpu->r[10] = 0x10100000u;
|
|
/* 0277ADB4 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0277ADB8 */ cpu->r[10] = cpu->r[10] + 0x000037ACu;
|
|
/* 0277ADBC */ cpu->r[4] = 0x00000002u;
|
|
/* 0277ADC0 */ _t22 = cpu->r[30] + 0x00000020u;
|
|
/* 0277ADC0 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 0277ADC4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277ADC8 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0277ADCC */ cpu->r[4] = 0x00000002u;
|
|
/* 0277ADD0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277ADD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277ADD8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0277ADDC */ Gambit_fn_028136EC(cpu);
|
|
L_0277ADE0: ; // 0x277ade0
|
|
/* 0277ADE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277ADE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277ADE4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277ADE4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0277ADE4 */ if (_t24) goto L_0277ADF0; else goto L_0277ADE8;
|
|
L_0277ADE8: ; // 0x277ade8
|
|
/* 0277ADE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277ADEC */ Gambit_fn_02801BB0(cpu);
|
|
L_0277ADF0: ; // 0x277adf0
|
|
/* 0277ADF0 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0277ADF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0277ADF4 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0277ADF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0277ADF8 */ cpu->lr = cpu->r[0];
|
|
/* 0277ADFC */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277ADFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0277AE00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277AE04 */ return;
|
|
}
|
|
|
|
// fn_0277ACEC @ 0x277acec
|
|
void Gambit_fn_0277ACEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0277ACEC: ; // 0x277acec
|
|
/* 0277ACEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277ACEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277ACEC */ cpu->r[1] = _t0;
|
|
/* 0277ACF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277ACF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277ACF4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277ACF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277ACF8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277ACF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277ACFC */ cpu->r[31] = cpu->r[4];
|
|
/* 0277AD00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0277AD00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277AD04 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AD04 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277AD04 */ if (_t5) goto L_0277ADF0; else goto L_0277AD08;
|
|
L_0277AD08: ; // 0x277ad08
|
|
/* 0277AD08 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AD0C */ cpu->r[12] = 0x10100000u;
|
|
/* 0277AD10 */ cpu->r[0] = cpu->r[0] + 0x000037ECu;
|
|
/* 0277AD14 */ cpu->r[12] = cpu->r[12] + 0x0000381Cu;
|
|
/* 0277AD18 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0277AD18 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0277AD1C */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AD20 */ _t7 = cpu->r[30] + 0x00000214u;
|
|
/* 0277AD20 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0277AD24 */ cpu->r[0] = cpu->r[0] + 0x000037FCu;
|
|
/* 0277AD28 */ cpu->r[9] = 0x10100000u;
|
|
/* 0277AD2C */ _t8 = cpu->r[30] + 0x00000158u;
|
|
/* 0277AD2C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277AD30 */ cpu->r[9] = cpu->r[9] + 0x0000382Cu;
|
|
/* 0277AD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277AD38 */ _t9 = cpu->r[30] + 0x00000218u;
|
|
/* 0277AD38 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 0277AD3C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AD3C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0277AD3C */ if (_t11) goto L_0277ADE0; else goto L_0277AD40;
|
|
L_0277AD40: ; // 0x277ad40
|
|
/* 0277AD40 */ cpu->r[10] = 0x10020000u;
|
|
/* 0277AD44 */ cpu->r[12] = 0x10020000u;
|
|
/* 0277AD48 */ cpu->r[10] = cpu->r[10] + 0x00004190u;
|
|
/* 0277AD4C */ cpu->r[12] = cpu->r[12] + 0x000041C0u;
|
|
/* 0277AD50 */ cpu->r[11] = 0x10020000u;
|
|
/* 0277AD54 */ _t12 = cpu->r[30] + 0x00000020u;
|
|
/* 0277AD54 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 0277AD58 */ cpu->r[11] = cpu->r[11] + 0x000041A0u;
|
|
/* 0277AD5C */ _t13 = cpu->r[30] + 0x00000214u;
|
|
/* 0277AD5C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0277AD60 */ cpu->r[0] = 0x10020000u;
|
|
/* 0277AD64 */ _t14 = cpu->r[30] + 0x00000158u;
|
|
/* 0277AD64 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0277AD68 */ cpu->r[0] = cpu->r[0] + 0x000041D0u;
|
|
/* 0277AD6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277AD70 */ _t15 = cpu->r[30] + 0x00000218u;
|
|
/* 0277AD70 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0277AD74 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AD74 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0277AD74 */ if (_t17) goto L_0277ADE0; else goto L_0277AD78;
|
|
L_0277AD78: ; // 0x277ad78
|
|
/* 0277AD78 */ cpu->r[9] = 0x10110000u;
|
|
/* 0277AD7C */ cpu->r[3] = cpu->r[30] + 0x000001A4u;
|
|
/* 0277AD80 */ cpu->r[9] = cpu->r[9] + 0xFFFFDF04u;
|
|
/* 0277AD84 */ cpu->r[0] = 0x10110000u;
|
|
/* 0277AD88 */ _t18 = cpu->r[30] + 0x00000020u;
|
|
/* 0277AD88 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0277AD8C */ cpu->r[0] = cpu->r[0] + 0xFFFFDF14u;
|
|
/* 0277AD90 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277AD94 */ _t19 = cpu->r[30] + 0x00000158u;
|
|
/* 0277AD94 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0277AD98 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277AD9C */ cpu->r[3] = cpu->r[30] + 0x00000160u;
|
|
/* 0277ADA0 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277ADA4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277ADA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277ADAC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277ADAC */ _t21 = _t20 & 0x00000001u;
|
|
/* 0277ADAC */ if (_t21) goto L_0277ADE0; else goto L_0277ADB0;
|
|
L_0277ADB0: ; // 0x277adb0
|
|
/* 0277ADB0 */ cpu->r[10] = 0x10100000u;
|
|
/* 0277ADB4 */ cpu->r[3] = cpu->r[30] + 0x0000010Cu;
|
|
/* 0277ADB8 */ cpu->r[10] = cpu->r[10] + 0x000037ACu;
|
|
/* 0277ADBC */ cpu->r[4] = 0x00000002u;
|
|
/* 0277ADC0 */ _t22 = cpu->r[30] + 0x00000020u;
|
|
/* 0277ADC0 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 0277ADC4 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277ADC8 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0277ADCC */ cpu->r[4] = 0x00000002u;
|
|
/* 0277ADD0 */ Gambit_fn_02928E8C(cpu);
|
|
/* 0277ADD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277ADD8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0277ADDC */ Gambit_fn_028136EC(cpu);
|
|
L_0277ADE0: ; // 0x277ade0
|
|
/* 0277ADE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277ADE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277ADE4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277ADE4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0277ADE4 */ if (_t24) goto L_0277ADF0; else goto L_0277ADE8;
|
|
L_0277ADE8: ; // 0x277ade8
|
|
/* 0277ADE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277ADEC */ Gambit_fn_02801BB0(cpu);
|
|
L_0277ADF0: ; // 0x277adf0
|
|
/* 0277ADF0 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0277ADF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0277ADF4 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0277ADF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0277ADF8 */ cpu->lr = cpu->r[0];
|
|
/* 0277ADFC */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277ADFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0277AE00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277AE04 */ return;
|
|
}
|
|
|
|
// fn_0277AE08 @ 0x277ae08
|
|
void Gambit_fn_0277AE08(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0277AE08: ; // 0x277ae08
|
|
/* 0277AE08 */ _t0 = cpu->r[3] + 0x0000015Cu;
|
|
/* 0277AE08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277AE0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0277AE10 */ /* nop */
|
|
/* 0277AE14 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0277AE18 */ cpu->r[3] = cpu->r[3] ^ 0x00000001u;
|
|
/* 0277AE1C */ return;
|
|
}
|
|
|
|
// fn_0277AE20 @ 0x277ae20
|
|
void Gambit_fn_0277AE20(CPUState* cpu) {
|
|
L_0277AE20: ; // 0x277ae20
|
|
/* 0277AE20 */ return;
|
|
}
|
|
|
|
// fn_0277AE24 @ 0x277ae24
|
|
void Gambit_fn_0277AE24(CPUState* cpu) {
|
|
L_0277AE24: ; // 0x277ae24
|
|
/* 0277AE24 */ return;
|
|
}
|
|
|
|
// fn_0277AE30 @ 0x277ae30
|
|
void Gambit_fn_0277AE30(CPUState* cpu) {
|
|
L_0277AE30: ; // 0x277ae30
|
|
/* 0277AE30 */ return;
|
|
}
|
|
|
|
// fn_0277AE34 @ 0x277ae34
|
|
void Gambit_fn_0277AE34(CPUState* cpu) {
|
|
L_0277AE34: ; // 0x277ae34
|
|
/* 0277AE34 */ return;
|
|
}
|
|
|
|
// fn_0277AE38 @ 0x277ae38
|
|
void Gambit_fn_0277AE38(CPUState* cpu) {
|
|
L_0277AE38: ; // 0x277ae38
|
|
/* 0277AE38 */ return;
|
|
}
|
|
|
|
// fn_0277AE3C @ 0x277ae3c
|
|
void Gambit_fn_0277AE3C(CPUState* cpu) {
|
|
L_0277AE3C: ; // 0x277ae3c
|
|
/* 0277AE3C */ return;
|
|
}
|
|
|
|
// fn_0277AE40 @ 0x277ae40
|
|
void Gambit_fn_0277AE40(CPUState* cpu) {
|
|
L_0277AE40: ; // 0x277ae40
|
|
/* 0277AE40 */ return;
|
|
}
|
|
|
|
// fn_0277AE44 @ 0x277ae44
|
|
void Gambit_fn_0277AE44(CPUState* cpu) {
|
|
L_0277AE44: ; // 0x277ae44
|
|
/* 0277AE44 */ return;
|
|
}
|
|
|
|
// fn_0277AE48 @ 0x277ae48
|
|
void Gambit_fn_0277AE48(CPUState* cpu) {
|
|
L_0277AE48: ; // 0x277ae48
|
|
/* 0277AE48 */ return;
|
|
}
|
|
|
|
// fn_0277AE4C @ 0x277ae4c
|
|
void Gambit_fn_0277AE4C(CPUState* cpu) {
|
|
L_0277AE4C: ; // 0x277ae4c
|
|
/* 0277AE4C */ return;
|
|
}
|
|
|
|
// fn_0277AE50 @ 0x277ae50
|
|
void Gambit_fn_0277AE50(CPUState* cpu) {
|
|
L_0277AE50: ; // 0x277ae50
|
|
/* 0277AE50 */ return;
|
|
}
|
|
|
|
// fn_0277AE54 @ 0x277ae54
|
|
void Gambit_fn_0277AE54(CPUState* 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_0217ADCC: ; // 0x217adcc
|
|
/* 0217ADCC */ cpu->r[0] = cpu->lr;
|
|
/* 0217ADD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0217ADD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0217ADD0 */ cpu->r[1] = _t0;
|
|
/* 0217ADD4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0217ADD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0217ADD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0217ADDC */ cpu->r[3] = 0x101D0000u;
|
|
/* 0217ADE0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0217ADE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0217ADE4 */ _t3 = cpu->r[3] + 0xFFFF92F4u;
|
|
/* 0217ADE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0217ADE8 */ Gambit_fn_027AD360(cpu);
|
|
/* 0217ADEC */ cpu->r[3] = 0x101D0000u;
|
|
/* 0217ADF0 */ _t4 = cpu->r[3] + 0xFFFF9028u;
|
|
/* 0217ADF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0217ADF4 */ Gambit_fn_0278FB4C(cpu);
|
|
/* 0217ADF8 */ _t5 = cpu->r[31] + 0x00000254u;
|
|
/* 0217ADF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0217ADFC */ _t6 = cpu->r[3] + 0x000000E0u;
|
|
/* 0217ADFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0217AE00 */ _t7 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0217AE00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0217AE04 */ cpu->ctr = cpu->r[0];
|
|
/* 0217AE08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0217AE0C */ _t8 = cpu->r[31] + 0x00000250u;
|
|
/* 0217AE0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0217AE10 */ Gambit_fn_020B2A10(cpu);
|
|
/* 0217AE14 */ _t9 = cpu->r[31] + 0x00000070u;
|
|
/* 0217AE14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0217AE18 */ _t10 = cpu->r[12] + 0x0000013Cu;
|
|
/* 0217AE18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0217AE1C */ cpu->ctr = cpu->r[0];
|
|
/* 0217AE20 */ cpu->r[3] = cpu->r[31];
|
|
/* 0217AE24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0217AE28 */ _t11 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0217AE28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0217AE2C */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 0217AE2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0217AE30 */ _t13 = cpu->r[12] + 0x000000ECu;
|
|
/* 0217AE30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0217AE34 */ cpu->ctr = cpu->r[0];
|
|
/* 0217AE38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0217AE3C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0217AE40 */ _t14 = cpu->r[3] + 0x000042A4u;
|
|
/* 0217AE40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0217AE44 */ Gambit_fn_0215862C(cpu);
|
|
/* 0217AE48 */ _t15 = cpu->r[31] + 0x00000070u;
|
|
/* 0217AE48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0217AE4C */ _t16 = cpu->r[12] + 0x00000144u;
|
|
/* 0217AE4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0217AE50 */ cpu->ctr = cpu->r[0];
|
|
/* 0217AE54 */ cpu->r[3] = cpu->r[31];
|
|
/* 0217AE58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0217AE5C */ cpu->r[0] = 0x00000002u;
|
|
/* 0217AE60 */ _t17 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0217AE60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0217AE64 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0217AE68 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0217AE68 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0217AE6C */ Gambit_fn_02791670(cpu);
|
|
/* 0217AE70 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0217AE70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0217AE74 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0217AE74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0217AE78 */ cpu->lr = cpu->r[0];
|
|
/* 0217AE7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0217AE80 */ return;
|
|
L_0277AE54: ; // 0x277ae54
|
|
/* 0277AE54 */ goto L_0217ADCC;
|
|
}
|
|
|
|
// fn_0277AE58 @ 0x277ae58
|
|
void Gambit_fn_0277AE58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_0277AE58: ; // 0x277ae58
|
|
/* 0277AE58 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0277AE5C */ _t0 = cpu->r[8] + 0xFFFFFAC8u;
|
|
/* 0277AE5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0277AE60 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0277AE64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0277AE68 */ cpu->r[6] = cpu->r[6] + 0x000013C4u;
|
|
/* 0277AE6C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AE6C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0277AE6C */ if (_t2) goto L_0277AE70; else goto L_0277AE88;
|
|
L_0277AE70: ; // 0x277ae70
|
|
/* 0277AE70 */ cpu->r[5] = 0x10100000u;
|
|
/* 0277AE74 */ cpu->r[0] = 0x00000001u;
|
|
/* 0277AE78 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0277AE7C */ cpu->r[5] = cpu->r[5] + 0x0000383Cu;
|
|
/* 0277AE80 */ _t3 = cpu->r[8] + 0xFFFFFAC8u;
|
|
/* 0277AE80 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277AE84 */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 0277AE84 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
L_0277AE88: ; // 0x277ae88
|
|
/* 0277AE88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[6]);
|
|
/* 0277AE8C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AE8C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0277AE8C */ if (_t6) goto L_0277AE90; else goto L_0277AE98;
|
|
L_0277AE90: ; // 0x277ae90
|
|
/* 0277AE90 */ cpu->r[3] = 0x00000001u;
|
|
/* 0277AE94 */ return;
|
|
L_0277AE98: ; // 0x277ae98
|
|
/* 0277AE98 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277AE9C */ _t7 = cpu->r[10] + 0xFFFFDE0Cu;
|
|
/* 0277AE9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277AEA0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0277AEA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0277AEA8 */ cpu->r[8] = cpu->r[8] + 0xFFFFF664u;
|
|
/* 0277AEAC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AEAC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277AEAC */ if (_t9) goto L_0277AEB0; else goto L_0277AEC8;
|
|
L_0277AEB0: ; // 0x277aeb0
|
|
/* 0277AEB0 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AEB4 */ cpu->r[7] = 0x00000001u;
|
|
/* 0277AEB8 */ cpu->r[6] = 0x101D0000u;
|
|
/* 0277AEBC */ cpu->r[0] = cpu->r[0] + 0x000037DCu;
|
|
/* 0277AEC0 */ _t10 = cpu->r[6] + 0xFFFFDE0Cu;
|
|
/* 0277AEC0 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 0277AEC4 */ _t11 = cpu->r[8] + 0x00000000u;
|
|
/* 0277AEC4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0277AEC8: ; // 0x277aec8
|
|
/* 0277AEC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 0277AECC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AECC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0277AECC */ if (_t13) goto L_0277AED0; else goto L_0277AED8;
|
|
L_0277AED0: ; // 0x277aed0
|
|
/* 0277AED0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0277AED4 */ goto L_0277AFD0;
|
|
L_0277AED8: ; // 0x277aed8
|
|
/* 0277AED8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277AEDC */ _t14 = cpu->r[12] + 0xFFFFDE08u;
|
|
/* 0277AEDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277AEE0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277AEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0277AEE8 */ cpu->r[10] = cpu->r[10] + 0xFFFFF660u;
|
|
/* 0277AEEC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AEEC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0277AEEC */ if (_t16) goto L_0277AEF0; else goto L_0277AF08;
|
|
L_0277AEF0: ; // 0x277aef0
|
|
/* 0277AEF0 */ cpu->r[7] = 0x10100000u;
|
|
/* 0277AEF4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0277AEF8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277AEFC */ cpu->r[7] = cpu->r[7] + 0x000037CCu;
|
|
/* 0277AF00 */ _t17 = cpu->r[12] + 0xFFFFDE08u;
|
|
/* 0277AF00 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 0277AF04 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 0277AF04 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
L_0277AF08: ; // 0x277af08
|
|
/* 0277AF08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0277AF0C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AF0C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0277AF0C */ if (_t20) goto L_0277AF10; else goto L_0277AF18;
|
|
L_0277AF10: ; // 0x277af10
|
|
/* 0277AF10 */ cpu->r[0] = 0x00000001u;
|
|
/* 0277AF14 */ goto L_0277AFD0;
|
|
L_0277AF18: ; // 0x277af18
|
|
/* 0277AF18 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0277AF1C */ _t21 = cpu->r[11] + 0xFFFFDAE4u;
|
|
/* 0277AF1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0277AF20 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277AF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0277AF28 */ cpu->r[12] = cpu->r[12] + 0xFFFFDD7Cu;
|
|
/* 0277AF2C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AF2C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0277AF2C */ if (_t23) goto L_0277AF30; else goto L_0277AF48;
|
|
L_0277AF30: ; // 0x277af30
|
|
/* 0277AF30 */ cpu->r[10] = 0x10100000u;
|
|
/* 0277AF34 */ cpu->r[9] = 0x00000001u;
|
|
/* 0277AF38 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0277AF3C */ cpu->r[10] = cpu->r[10] + 0x000037BCu;
|
|
/* 0277AF40 */ _t24 = cpu->r[8] + 0xFFFFDAE4u;
|
|
/* 0277AF40 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0277AF44 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 0277AF44 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_0277AF48: ; // 0x277af48
|
|
/* 0277AF48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 0277AF4C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AF4C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0277AF4C */ if (_t27) goto L_0277AF50; else goto L_0277AF58;
|
|
L_0277AF50: ; // 0x277af50
|
|
/* 0277AF50 */ cpu->r[0] = 0x00000001u;
|
|
/* 0277AF54 */ goto L_0277AFCC;
|
|
L_0277AF58: ; // 0x277af58
|
|
/* 0277AF58 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277AF5C */ _t28 = cpu->r[10] + 0xFFFFD868u;
|
|
/* 0277AF5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0277AF5C */ cpu->r[10] = _t28;
|
|
/* 0277AF60 */ cpu->r[7] = 0x101D0000u;
|
|
/* 0277AF64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0277AF68 */ cpu->r[7] = cpu->r[7] + 0xFFFFDD70u;
|
|
/* 0277AF6C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AF6C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0277AF6C */ if (_t30) goto L_0277AF70; else goto L_0277AF84;
|
|
L_0277AF70: ; // 0x277af70
|
|
/* 0277AF70 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277AF74 */ cpu->r[12] = 0x00000001u;
|
|
/* 0277AF78 */ cpu->r[0] = cpu->r[0] + 0x0000379Cu;
|
|
/* 0277AF7C */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 0277AF7C */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 0277AF80 */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 0277AF80 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_0277AF84: ; // 0x277af84
|
|
/* 0277AF84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 0277AF88 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AF88 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0277AF88 */ if (_t34) goto L_0277AF8C; else goto L_0277AF94;
|
|
L_0277AF8C: ; // 0x277af8c
|
|
/* 0277AF8C */ cpu->r[0] = 0x00000001u;
|
|
/* 0277AF90 */ goto L_0277AFCC;
|
|
L_0277AF94: ; // 0x277af94
|
|
/* 0277AF94 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0277AF98 */ _t35 = cpu->r[8] + 0xFFFFD4FCu;
|
|
/* 0277AF98 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0277AF98 */ cpu->r[8] = _t35;
|
|
/* 0277AF9C */ cpu->r[6] = 0x101D0000u;
|
|
/* 0277AFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0277AFA4 */ cpu->r[6] = cpu->r[6] + 0xFFFFDD6Cu;
|
|
/* 0277AFA8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277AFA8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0277AFA8 */ if (_t37) goto L_0277AFAC; else goto L_0277AFC0;
|
|
L_0277AFAC: ; // 0x277afac
|
|
/* 0277AFAC */ cpu->r[9] = 0x10100000u;
|
|
/* 0277AFB0 */ cpu->r[7] = 0x00000001u;
|
|
/* 0277AFB4 */ cpu->r[9] = cpu->r[9] + 0x0000378Cu;
|
|
/* 0277AFB8 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 0277AFB8 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 0277AFBC */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 0277AFBC */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
L_0277AFC0: ; // 0x277afc0
|
|
/* 0277AFC0 */ cpu->r[0] = cpu->r[4] ^ cpu->r[6];
|
|
/* 0277AFC4 */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 0277AFC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_0277AFCC: ; // 0x277afcc
|
|
/* 0277AFCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
L_0277AFD0: ; // 0x277afd0
|
|
/* 0277AFD0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277AFD4 */ return;
|
|
}
|
|
|
|
// fn_0277AFD8 @ 0x277afd8
|
|
void Gambit_fn_0277AFD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0277AFD8: ; // 0x277afd8
|
|
/* 0277AFD8 */ cpu->r[0] = cpu->lr;
|
|
/* 0277AFDC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277AFE0 */ cpu->r[7] = 0x02780000u;
|
|
/* 0277AFE4 */ cpu->r[6] = 0x02780000u;
|
|
/* 0277AFE8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0277AFEC */ cpu->r[7] = cpu->r[7] + 0xFFFFAE28u;
|
|
/* 0277AFF0 */ cpu->r[6] = cpu->r[6] + 0xFFFFAE28u;
|
|
/* 0277AFF4 */ cpu->r[10] = cpu->r[10] + 0xFFFF8FC0u;
|
|
/* 0277AFF8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0277AFF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0277AFFC */ cpu->r[0] = 0x101D0000u;
|
|
/* 0277B000 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277B000 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0277B000 */ cpu->r[1] = _t1;
|
|
/* 0277B004 */ cpu->r[0] = cpu->r[0] + 0xFFFF8FBCu;
|
|
/* 0277B008 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277B008 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0277B00C */ cpu->r[8] = 0x00000000u;
|
|
/* 0277B010 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0277B010 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277B014 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B018 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B018 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0277B01C */ Gambit_fn_02791B10(cpu);
|
|
/* 0277B020 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0277B020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277B024 */ cpu->lr = cpu->r[0];
|
|
/* 0277B028 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277B02C */ return;
|
|
}
|
|
|
|
// fn_0277B000 @ 0x277b000
|
|
void Gambit_fn_0277B000(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0277B000: ; // 0x277b000
|
|
/* 0277B000 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277B000 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277B000 */ cpu->r[1] = _t0;
|
|
/* 0277B004 */ cpu->r[0] = cpu->r[0] + 0xFFFF8FBCu;
|
|
/* 0277B008 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 0277B008 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0277B00C */ cpu->r[8] = 0x00000000u;
|
|
/* 0277B010 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0277B010 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277B014 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B018 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B018 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0277B01C */ Gambit_fn_02791B10(cpu);
|
|
/* 0277B020 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0277B020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277B024 */ cpu->lr = cpu->r[0];
|
|
/* 0277B028 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277B02C */ return;
|
|
}
|
|
|
|
// fn_0277B030 @ 0x277b030
|
|
void Gambit_fn_0277B030(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0277B030: ; // 0x277b030
|
|
/* 0277B030 */ cpu->r[0] = cpu->lr;
|
|
/* 0277B034 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277B034 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277B034 */ cpu->r[1] = _t0;
|
|
/* 0277B038 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B038 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277B03C */ cpu->r[31] = cpu->r[3];
|
|
/* 0277B040 */ cpu->r[5] = 0x00000001u;
|
|
/* 0277B044 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277B044 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277B048 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0277B048 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0277B04C */ cpu->r[4] = 0x00000000u;
|
|
/* 0277B050 */ Gambit_fn_0277AFD8(cpu);
|
|
/* 0277B054 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277B058 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0277B058 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277B05C */ _t5 = cpu->r[12] + 0xFFFF8FBCu;
|
|
/* 0277B05C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277B060 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0277B064 */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0277B064 */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0277B068 */ Gambit_fn_027910F0(cpu);
|
|
/* 0277B06C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0277B06C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277B070 */ cpu->lr = cpu->r[0];
|
|
/* 0277B074 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B074 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0277B078 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277B07C */ return;
|
|
}
|
|
|
|
// fn_0277B034 @ 0x277b034
|
|
void Gambit_fn_0277B034(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0277B034: ; // 0x277b034
|
|
/* 0277B034 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277B034 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277B034 */ cpu->r[1] = _t0;
|
|
/* 0277B038 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B038 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277B03C */ cpu->r[31] = cpu->r[3];
|
|
/* 0277B040 */ cpu->r[5] = 0x00000001u;
|
|
/* 0277B044 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277B044 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277B048 */ _t3 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0277B048 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0277B04C */ cpu->r[4] = 0x00000000u;
|
|
/* 0277B050 */ Gambit_fn_0277AFD8(cpu);
|
|
/* 0277B054 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277B058 */ _t4 = cpu->r[31] + 0x0000024Cu;
|
|
/* 0277B058 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277B05C */ _t5 = cpu->r[12] + 0xFFFF8FBCu;
|
|
/* 0277B05C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277B060 */ cpu->r[11] = cpu->r[3] + cpu->r[12];
|
|
/* 0277B064 */ _t6 = cpu->r[11] + 0x00000104u;
|
|
/* 0277B064 */ cpu->r[4] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0277B068 */ Gambit_fn_027910F0(cpu);
|
|
/* 0277B06C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0277B06C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277B070 */ cpu->lr = cpu->r[0];
|
|
/* 0277B074 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B074 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0277B078 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277B07C */ return;
|
|
}
|
|
|
|
// fn_0277B080 @ 0x277b080
|
|
void Gambit_fn_0277B080(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494, _t495, _t496, _t497, _t498, _t499, _t500, _t501, _t502, _t503, _t504, _t505, _t506, _t507, _t508, _t509, _t510, _t511, _t512, _t513, _t514, _t515, _t516, _t517, _t518, _t519, _t520, _t521, _t522, _t523, _t524, _t525, _t526, _t527, _t528, _t529, _t530, _t531, _t532, _t533, _t534, _t535, _t536, _t537, _t538, _t539, _t540, _t541, _t542, _t543, _t544, _t545, _t546, _t547, _t548, _t549, _t550, _t551, _t552, _t553, _t554, _t555, _t556, _t557, _t558, _t559, _t560, _t561, _t562, _t563, _t564, _t565, _t566, _t567, _t568, _t569, _t570, _t571, _t572, _t573, _t574, _t575, _t576, _t577, _t578, _t579, _t580, _t581, _t582, _t583, _t584, _t585, _t586, _t587, _t588, _t589, _t590, _t591, _t592, _t593, _t594, _t595, _t596, _t597, _t598, _t599, _t600, _t601, _t602, _t603, _t604, _t605, _t606, _t607, _t608, _t609, _t610, _t611, _t612, _t613, _t614, _t615, _t616, _t617, _t618, _t619, _t620, _t621, _t622, _t623, _t624, _t625, _t626, _t627, _t628, _t629, _t630, _t631, _t632, _t633, _t634, _t635, _t636, _t637, _t638, _t639, _t640, _t641, _t642, _t643, _t644, _t645, _t646, _t647, _t648, _t649, _t650, _t651, _t652, _t653, _t654, _t655, _t656, _t657, _t658, _t659, _t660, _t661, _t662, _t663, _t664, _t665, _t666, _t667, _t668, _t669, _t670, _t671, _t672, _t673, _t674, _t675, _t676, _t677, _t678, _t679, _t680, _t681, _t682, _t683, _t684, _t685, _t686, _t687, _t688, _t689, _t690, _t691, _t692, _t693, _t694, _t695, _t696, _t697, _t698, _t699, _t700, _t701, _t702, _t703, _t704, _t705, _t706, _t707, _t708, _t709, _t710, _t711, _t712, _t713, _t714, _t715, _t716, _t717, _t718, _t719, _t720, _t721, _t722, _t723, _t724, _t725, _t726, _t727, _t728, _t729, _t730, _t731, _t732, _t733, _t734, _t735, _t736, _t737, _t738, _t739, _t740, _t741, _t742, _t743, _t744, _t745, _t746, _t747, _t748, _t749, _t750, _t751, _t752, _t753, _t754, _t755, _t756, _t757, _t758, _t759, _t760, _t761, _t762, _t763, _t764, _t765, _t766, _t767, _t768, _t769, _t770, _t771, _t772, _t773, _t774, _t775, _t776, _t777, _t778, _t779, _t780, _t781, _t782, _t783, _t784, _t785, _t786, _t787, _t788, _t789, _t790, _t791, _t792, _t793, _t794, _t795, _t796, _t797, _t798, _t799, _t800, _t801, _t802, _t803, _t804, _t805, _t806, _t807, _t808, _t809, _t810, _t811, _t812, _t813, _t814, _t815, _t816, _t817, _t818, _t819, _t820, _t821, _t822, _t823, _t824, _t825, _t826, _t827, _t828, _t829, _t830, _t831, _t832, _t833, _t834, _t835, _t836, _t837, _t838, _t839, _t840, _t841, _t842, _t843, _t844, _t845, _t846, _t847, _t848, _t849, _t850, _t851, _t852, _t853, _t854, _t855, _t856, _t857, _t858, _t859, _t860, _t861, _t862, _t863;
|
|
|
|
L_0277B080: ; // 0x277b080
|
|
/* 0277B080 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 0277B080 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277B080 */ cpu->r[1] = _t0;
|
|
/* 0277B084 */ cpu->r[0] = cpu->lr;
|
|
/* 0277B088 */ /* nop */
|
|
/* 0277B08C */ cpu->r[31] = 0x00010000u;
|
|
/* 0277B090 */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0277B090 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0277B094 */ cpu->r[29] = cpu->r[3];
|
|
/* 0277B094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0277B098 */ cpu->r[31] = cpu->r[31] + 0xFFFFAE00u;
|
|
/* 0277B09C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B09C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0277B09C */ if (_t3) goto L_0277B0A0; else goto L_0277B0B0;
|
|
L_0277B0A0: ; // 0x277b0a0
|
|
/* 0277B0A0 */ cpu->r[3] = cpu->r[31] + 0x000007F0u;
|
|
/* 0277B0A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0277B0A8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0277B0A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0277B0AC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B0AC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277B0AC */ if (_t5) goto L_0277CCA8; else goto L_0277B0B0;
|
|
L_0277B0B0: ; // 0x277b0b0
|
|
/* 0277B0B0 */ cpu->r[27] = 0x00000000u;
|
|
/* 0277B0B4 */ cpu->r[4] = 0x000000FFu;
|
|
/* 0277B0B8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0277B0BC */ cpu->r[5] = cpu->r[27];
|
|
/* 0277B0C0 */ Gambit_fn_02790BA4(cpu);
|
|
/* 0277B0C4 */ cpu->r[10] = 0x10100000u;
|
|
/* 0277B0C8 */ cpu->r[10] = cpu->r[10] + 0x00003D80u;
|
|
/* 0277B0CC */ cpu->r[30] = cpu->r[29] + 0x00000238u;
|
|
/* 0277B0CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277B0D0 */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 0277B0D0 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 0277B0D4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B0D4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0277B0D4 */ if (_t8) goto L_0277B0D8; else goto L_0277B0E8;
|
|
L_0277B0D8: ; // 0x277b0d8
|
|
/* 0277B0D8 */ cpu->r[3] = 0x00000038u;
|
|
/* 0277B0DC */ Gambit_fn_02801A78(cpu);
|
|
/* 0277B0E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277B0E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277B0E4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B0E4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0277B0E4 */ if (_t10) goto L_0277B118; else goto L_0277B0E8;
|
|
L_0277B0E8: ; // 0x277b0e8
|
|
/* 0277B0E8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277B0EC */ Gambit_fn_027FC29C(cpu);
|
|
/* 0277B0F0 */ cpu->r[11] = 0x10000000u;
|
|
/* 0277B0F4 */ _t11 = cpu->r[30] + 0x00000030u;
|
|
/* 0277B0F4 */ rbrew_write32(cpu->mem, _t11, cpu->r[27]);
|
|
/* 0277B0F8 */ cpu->r[11] = cpu->r[11] + 0x00006FD0u;
|
|
/* 0277B0FC */ _t12 = cpu->r[30] + 0x00000034u;
|
|
/* 0277B0FC */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 0277B100 */ _t13 = cpu->r[30] + 0x00000004u;
|
|
/* 0277B100 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0277B104 */ _t14 = cpu->r[30] + 0x00000024u;
|
|
/* 0277B104 */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 0277B108 */ _t15 = cpu->r[30] + 0x00000028u;
|
|
/* 0277B108 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 0277B10C */ _t16 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0277B10C */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 0277B110 */ _t17 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0277B110 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 0277B114 */ _t18 = cpu->r[30] + 0x00000020u;
|
|
/* 0277B114 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
L_0277B118: ; // 0x277b118
|
|
/* 0277B118 */ _t19 = cpu->r[29] + 0x0000027Fu;
|
|
/* 0277B118 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[27]);
|
|
/* 0277B11C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0277B120 */ _t20 = cpu->r[29] + 0x0000027Bu;
|
|
/* 0277B120 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[27]);
|
|
/* 0277B124 */ _t21 = cpu->r[29] + 0x00000280u;
|
|
/* 0277B124 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 0277B128 */ cpu->r[0] = 0x00000001u;
|
|
/* 0277B12C */ _t22 = cpu->r[29] + 0x0000027Du;
|
|
/* 0277B12C */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[27]);
|
|
/* 0277B130 */ cpu->r[12] = 0x00000002u;
|
|
/* 0277B134 */ _t23 = cpu->r[29] + 0x0000027Eu;
|
|
/* 0277B134 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[27]);
|
|
/* 0277B138 */ _t24 = cpu->r[29] + 0x0000027Au;
|
|
/* 0277B138 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 0277B13C */ _t25 = cpu->r[29] + 0x00000270u;
|
|
/* 0277B13C */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 0277B140 */ _t26 = cpu->r[29] + 0x0000027Cu;
|
|
/* 0277B140 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[27]);
|
|
/* 0277B144 */ _t27 = cpu->r[29] + 0x00000279u;
|
|
/* 0277B144 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[27]);
|
|
/* 0277B148 */ _t28 = cpu->r[29] + 0x00000274u;
|
|
/* 0277B148 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
|
|
/* 0277B14C */ cpu->r[28] = cpu->r[29] + 0x00000284u;
|
|
/* 0277B14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0277B150 */ _t29 = cpu->r[29] + 0x00000278u;
|
|
/* 0277B150 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[27]);
|
|
/* 0277B154 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B154 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0277B154 */ if (_t31) goto L_0277B158; else goto L_0277B168;
|
|
L_0277B158: ; // 0x277b158
|
|
/* 0277B158 */ cpu->r[3] = 0x00000618u;
|
|
/* 0277B15C */ Gambit_fn_02801A78(cpu);
|
|
/* 0277B160 */ cpu->r[28] = cpu->r[3];
|
|
/* 0277B160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0277B164 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B164 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0277B164 */ if (_t33) goto L_0277B1E8; else goto L_0277B168;
|
|
L_0277B168: ; // 0x277b168
|
|
/* 0277B168 */ cpu->r[30] = cpu->r[28];
|
|
/* 0277B168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277B16C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B16C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0277B16C */ if (_t35) goto L_0277B170; else goto L_0277B180;
|
|
L_0277B170: ; // 0x277b170
|
|
/* 0277B170 */ cpu->r[3] = 0x00000018u;
|
|
/* 0277B174 */ Gambit_fn_02801A78(cpu);
|
|
/* 0277B178 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277B178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0277B17C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B17C */ _t37 = _t36 & 0x00000001u;
|
|
/* 0277B17C */ if (_t37) goto L_0277B1B0; else goto L_0277B180;
|
|
L_0277B180: ; // 0x277b180
|
|
/* 0277B180 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277B180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277B184 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B184 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0277B184 */ if (_t39) goto L_0277B188; else goto L_0277B198;
|
|
L_0277B188: ; // 0x277b188
|
|
/* 0277B188 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0277B18C */ Gambit_fn_02801A78(cpu);
|
|
/* 0277B190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277B194 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B194 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0277B194 */ if (_t41) goto L_0277B1A4; else goto L_0277B198;
|
|
L_0277B198: ; // 0x277b198
|
|
/* 0277B198 */ _t42 = cpu->r[3] + 0x00000004u;
|
|
/* 0277B198 */ rbrew_write32(cpu->mem, _t42, cpu->r[3]);
|
|
/* 0277B19C */ _t43 = cpu->r[3] + 0x00000008u;
|
|
/* 0277B19C */ rbrew_write32(cpu->mem, _t43, cpu->r[27]);
|
|
/* 0277B1A0 */ _t44 = cpu->r[3] + 0x00000000u;
|
|
/* 0277B1A0 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]);
|
|
L_0277B1A4: ; // 0x277b1a4
|
|
/* 0277B1A4 */ _t45 = cpu->r[30] + 0x00000010u;
|
|
/* 0277B1A4 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 0277B1A8 */ _t46 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0277B1A8 */ rbrew_write32(cpu->mem, _t46, cpu->r[27]);
|
|
/* 0277B1AC */ _t47 = cpu->r[30] + 0x00000014u;
|
|
/* 0277B1AC */ rbrew_write32(cpu->mem, _t47, cpu->r[27]);
|
|
L_0277B1B0: ; // 0x277b1b0
|
|
/* 0277B1B0 */ cpu->r[11] = 0x0000007Fu;
|
|
/* 0277B1B4 */ cpu->r[12] = cpu->r[28] + 0x00000018u;
|
|
/* 0277B1B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0277B1BC */ cpu->ctr = cpu->r[11];
|
|
/* 0277B1C0 */ cpu->r[6] = cpu->r[12] + 0x0000000Cu;
|
|
/* 0277B1C4 */ _t48 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0277B1C4 */ rbrew_write32(cpu->mem, _t48, cpu->r[12]);
|
|
L_0277B1C8: ; // 0x277b1c8
|
|
/* 0277B1C8 */ _t49 = cpu->r[12] + cpu->r[4];
|
|
/* 0277B1C8 */ rbrew_write32(cpu->mem, _t49, cpu->r[6]);
|
|
/* 0277B1CC */ cpu->r[4] = cpu->r[4] + 0x0000000Cu;
|
|
/* 0277B1D0 */ cpu->r[6] = cpu->r[6] + 0x0000000Cu;
|
|
/* 0277B1D4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0277B1D4 */ _t50 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0277B1D4 */ _t51 = _t50 >> (0x00000002u & 31u);
|
|
/* 0277B1D4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0277B1D4 */ if (_t52) goto L_0277B1C8; else goto L_0277B1D8;
|
|
L_0277B1D8: ; // 0x277b1d8
|
|
/* 0277B1D8 */ _t53 = cpu->r[12] + 0x000005F4u;
|
|
/* 0277B1D8 */ rbrew_write32(cpu->mem, _t53, cpu->r[27]);
|
|
/* 0277B1DC */ cpu->r[6] = 0x00000080u;
|
|
/* 0277B1E0 */ _t54 = cpu->r[28] + 0x00000010u;
|
|
/* 0277B1E0 */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
|
|
/* 0277B1E4 */ _t55 = cpu->r[28] + 0x00000014u;
|
|
/* 0277B1E4 */ rbrew_write32(cpu->mem, _t55, cpu->r[6]);
|
|
L_0277B1E8: ; // 0x277b1e8
|
|
/* 0277B1E8 */ cpu->r[3] = cpu->r[29] + 0x0000089Cu;
|
|
/* 0277B1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277B1EC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B1EC */ _t57 = _t56 & 0x00000001u;
|
|
/* 0277B1EC */ if (_t57) goto L_0277B1F0; else goto L_0277B200;
|
|
L_0277B1F0: ; // 0x277b1f0
|
|
/* 0277B1F0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0277B1F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0277B1F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277B1FC */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B1FC */ _t59 = _t58 & 0x00000001u;
|
|
/* 0277B1FC */ if (_t59) goto L_0277B224; else goto L_0277B200;
|
|
L_0277B200: ; // 0x277b200
|
|
/* 0277B200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277B204 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B204 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0277B204 */ if (_t61) goto L_0277B208; else goto L_0277B218;
|
|
L_0277B208: ; // 0x277b208
|
|
/* 0277B208 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0277B20C */ Gambit_fn_02801A78(cpu);
|
|
/* 0277B210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277B214 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B214 */ _t63 = _t62 & 0x00000001u;
|
|
/* 0277B214 */ if (_t63) goto L_0277B224; else goto L_0277B218;
|
|
L_0277B218: ; // 0x277b218
|
|
/* 0277B218 */ _t64 = cpu->r[3] + 0x00000004u;
|
|
/* 0277B218 */ rbrew_write32(cpu->mem, _t64, cpu->r[27]);
|
|
/* 0277B21C */ _t65 = cpu->r[3] + 0x00000000u;
|
|
/* 0277B21C */ rbrew_write32(cpu->mem, _t65, cpu->r[27]);
|
|
/* 0277B220 */ _t66 = cpu->r[3] + 0x00000008u;
|
|
/* 0277B220 */ rbrew_write32(cpu->mem, _t66, cpu->r[27]);
|
|
L_0277B224: ; // 0x277b224
|
|
/* 0277B224 */ _t67 = cpu->r[29] + 0x000008B0u;
|
|
/* 0277B224 */ rbrew_write32(cpu->mem, _t67, cpu->r[27]);
|
|
/* 0277B228 */ cpu->r[7] = 0x00000001u;
|
|
/* 0277B22C */ _t68 = cpu->r[29] + 0x000008A8u;
|
|
/* 0277B22C */ rbrew_write32(cpu->mem, _t68, cpu->r[27]);
|
|
/* 0277B230 */ cpu->r[3] = cpu->r[29] + 0x000008B8u;
|
|
/* 0277B234 */ _t69 = cpu->r[29] + 0x000008ACu;
|
|
/* 0277B234 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[7]);
|
|
/* 0277B238 */ Gambit_fn_02176834(cpu);
|
|
/* 0277B23C */ cpu->r[3] = cpu->r[29] + cpu->r[31];
|
|
/* 0277B240 */ Gambit_fn_02178180(cpu);
|
|
/* 0277B244 */ cpu->r[3] = cpu->r[29] + 0x000008B8u;
|
|
/* 0277B248 */ Gambit_fn_02175DE0(cpu);
|
|
/* 0277B24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277B250 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277B250 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0277B250 */ if (_t71) goto L_0277B254; else goto L_0277B258;
|
|
L_0277B254: ; // 0x277b254
|
|
/* 0277B254 */ cpu->r[3] = 0x00000000u;
|
|
L_0277B258: ; // 0x277b258
|
|
/* 0277B258 */ _t72 = cpu->r[29] + 0x00000274u;
|
|
/* 0277B258 */ rbrew_write32(cpu->mem, _t72, cpu->r[3]);
|
|
/* 0277B25C */ cpu->r[3] = 0x101C0000u;
|
|
/* 0277B260 */ _t73 = cpu->r[3] + 0x0000134Cu;
|
|
/* 0277B260 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0277B264 */ _t74 = cpu->r[3] + 0x0000015Du;
|
|
/* 0277B264 */ cpu->r[0] = rbrew_read8(cpu->mem, _t74);
|
|
/* 0277B268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277B26C */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B26C */ _t76 = _t75 & 0x00000001u;
|
|
/* 0277B26C */ if (_t76) goto L_0277B29C; else goto L_0277B270;
|
|
L_0277B270: ; // 0x277b270
|
|
/* 0277B270 */ Gambit_fn_0202D7F8(cpu);
|
|
/* 0277B274 */ _t77 = cpu->r[1] + 0x00000030u;
|
|
/* 0277B274 */ rbrew_write32(cpu->mem, _t77, cpu->r[3]);
|
|
/* 0277B278 */ cpu->r[3] = cpu->r[29] + 0x000008B8u;
|
|
/* 0277B27C */ _t78 = cpu->r[1] + 0x00000034u;
|
|
/* 0277B27C */ rbrew_write32(cpu->mem, _t78, cpu->r[4]);
|
|
/* 0277B280 */ Gambit_fn_02175E78(cpu);
|
|
/* 0277B284 */ cpu->r[5] = cpu->r[3];
|
|
/* 0277B288 */ cpu->r[3] = cpu->r[29] + cpu->r[31];
|
|
/* 0277B28C */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 0277B290 */ Gambit_fn_0217876C(cpu);
|
|
/* 0277B294 */ cpu->r[3] = cpu->r[29] + cpu->r[31];
|
|
/* 0277B298 */ Gambit_fn_02178250(cpu);
|
|
L_0277B29C: ; // 0x277b29c
|
|
/* 0277B29C */ cpu->r[8] = 0x101C0000u;
|
|
/* 0277B2A0 */ _t79 = cpu->r[8] + 0x00001344u;
|
|
/* 0277B2A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0277B2A4 */ _t80 = cpu->r[8] + 0x00000020u;
|
|
/* 0277B2A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0277B2A8 */ _t81 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0277B2A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0277B2AC */ cpu->r[6] = 0x00000004u;
|
|
/* 0277B2B0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0277B2B4 */ cpu->r[3] = cpu->r[29] + 0x0000089Cu;
|
|
/* 0277B2B8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0277B2BC */ Gambit_fn_028023CC(cpu);
|
|
/* 0277B2C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0277B2C4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0277B2C8 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277B2C8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0277B2C8 */ if (_t83) goto L_0277B2CC; else goto L_0277B320;
|
|
L_0277B2CC: ; // 0x277b2cc
|
|
/* 0277B2CC */ cpu->r[3] = cpu->r[28];
|
|
/* 0277B2D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0277B2D4 */ Gambit_fn_0202461C(cpu);
|
|
/* 0277B2D8 */ cpu->r[5] = cpu->r[3];
|
|
/* 0277B2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0277B2DC */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B2DC */ _t85 = _t84 & 0x00000001u;
|
|
/* 0277B2DC */ if (_t85) goto L_0277B314; else goto L_0277B2E0;
|
|
L_0277B2E0: ; // 0x277b2e0
|
|
/* 0277B2E0 */ _t86 = cpu->r[5] + 0x00000144u;
|
|
/* 0277B2E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0277B2E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000000Au);
|
|
/* 0277B2E8 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B2E8 */ _t88 = _t87 & 0x00000001u;
|
|
/* 0277B2E8 */ if (_t88) goto L_0277B314; else goto L_0277B2EC;
|
|
L_0277B2EC: ; // 0x277b2ec
|
|
/* 0277B2EC */ _t89 = cpu->r[29] + 0x0000089Cu;
|
|
/* 0277B2EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0277B2F0 */ _t90 = cpu->r[29] + 0x000008A0u;
|
|
/* 0277B2F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0277B2F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[10]);
|
|
/* 0277B2F8 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277B2F8 */ _t92 = _t91 & 0x00000001u;
|
|
/* 0277B2F8 */ if (_t92) goto L_0277B2FC; else goto L_0277B314;
|
|
L_0277B2FC: ; // 0x277b2fc
|
|
/* 0277B2FC */ _t93 = cpu->r[29] + 0x000008A4u;
|
|
/* 0277B2FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0277B300 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0277B304 */ _t94 = cpu->r[12] + cpu->r[0];
|
|
/* 0277B304 */ rbrew_write32(cpu->mem, _t94, cpu->r[5]);
|
|
/* 0277B308 */ _t95 = cpu->r[29] + 0x0000089Cu;
|
|
/* 0277B308 */ cpu->r[4] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0277B30C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0277B310 */ _t96 = cpu->r[29] + 0x0000089Cu;
|
|
/* 0277B310 */ rbrew_write32(cpu->mem, _t96, cpu->r[4]);
|
|
L_0277B314: ; // 0x277b314
|
|
/* 0277B314 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0277B314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0277B318 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0277B31C */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B31C */ _t98 = _t97 & 0x00000001u;
|
|
/* 0277B31C */ if (_t98) goto L_0277B320; else goto L_0277B2CC;
|
|
L_0277B320: ; // 0x277b320
|
|
/* 0277B320 */ cpu->r[4] = 0x02780000u;
|
|
/* 0277B324 */ cpu->r[3] = cpu->r[29] + 0x0000089Cu;
|
|
/* 0277B328 */ cpu->r[4] = cpu->r[4] + 0xFFFF8D14u;
|
|
/* 0277B32C */ Gambit_fn_02802748(cpu);
|
|
/* 0277B330 */ cpu->r[10] = 0x0000001Cu;
|
|
/* 0277B334 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277B338 */ cpu->r[4] = cpu->r[29];
|
|
/* 0277B33C */ cpu->r[6] = 0x00000000u;
|
|
/* 0277B340 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0277B344 */ _t99 = cpu->r[1] + 0x00000008u;
|
|
/* 0277B344 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[10]);
|
|
/* 0277B348 */ Gambit_fn_02780C40(cpu);
|
|
/* 0277B34C */ cpu->r[25] = 0x02780000u;
|
|
/* 0277B350 */ cpu->r[5] = 0x10100000u;
|
|
/* 0277B354 */ cpu->r[26] = 0x10100000u;
|
|
/* 0277B358 */ cpu->r[25] = cpu->r[25] + 0x000004E8u;
|
|
/* 0277B35C */ cpu->r[5] = cpu->r[5] + 0x00003C18u;
|
|
/* 0277B360 */ cpu->r[26] = cpu->r[26] + 0x00003A34u;
|
|
/* 0277B364 */ cpu->ctr = cpu->r[25];
|
|
/* 0277B368 */ _t100 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B368 */ rbrew_write32(cpu->mem, _t100, cpu->r[5]);
|
|
/* 0277B36C */ _t101 = cpu->r[1] + 0x00000028u;
|
|
/* 0277B36C */ rbrew_write32(cpu->mem, _t101, cpu->r[26]);
|
|
/* 0277B370 */ _t102 = cpu->r[29] + 0x00000250u;
|
|
/* 0277B370 */ cpu->r[24] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0277B374 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277B378 */ _t103 = cpu->r[24] + 0x00000000u;
|
|
/* 0277B378 */ cpu->r[30] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0277B37C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277B380 */ cpu->r[28] = 0x10110000u;
|
|
/* 0277B384 */ _t104 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0277B388 */ _t105 = cpu->r[28] + 0x00007399u;
|
|
/* 0277B388 */ cpu->r[28] = rbrew_read8(cpu->mem, _t105);
|
|
/* 0277B38C */ _t106 = cpu->r[11] + 0x00000000u;
|
|
/* 0277B38C */ cpu->r[0] = rbrew_read8(cpu->mem, _t106);
|
|
/* 0277B390 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277B394 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0277B398 */ cpu->r[0] = 0x00080000u;
|
|
/* 0277B39C */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B39C */ _t108 = _t107 & 0x00000001u;
|
|
/* 0277B39C */ if (_t108) goto L_0277B3C4; else goto L_0277B3A0;
|
|
L_0277B3A0: ; // 0x277b3a0
|
|
/* 0277B3A0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277B3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0277B3A8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0277B3AC */ _t109 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277B3AC */ _t110 = _t109 & 0x00000001u;
|
|
/* 0277B3AC */ if (_t110) goto L_0277B3C0; else goto L_0277B3B0;
|
|
L_0277B3B0: ; // 0x277b3b0
|
|
/* 0277B3B0 */ _t111 = cpu->r[11] + 0x00000000u;
|
|
/* 0277B3B0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t111);
|
|
/* 0277B3B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 0277B3B8 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B3B8 */ _t113 = _t112 & 0x00000001u;
|
|
/* 0277B3B8 */ if (_t113) goto L_0277B3BC; else goto L_0277B3A0;
|
|
L_0277B3BC: ; // 0x277b3bc
|
|
/* 0277B3BC */ goto L_0277B3C4;
|
|
L_0277B3C0: ; // 0x277b3c0
|
|
/* 0277B3C0 */ cpu->r[31] = 0x00000000u;
|
|
L_0277B3C4: ; // 0x277b3c4
|
|
/* 0277B3C4 */ _t114 = cpu->r[24] + 0x00000008u;
|
|
/* 0277B3C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t114);
|
|
/* 0277B3C8 */ _t115 = cpu->r[1] + 0x00000028u;
|
|
/* 0277B3C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t115);
|
|
/* 0277B3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0277B3D0 */ _t116 = cpu->r[8] + 0x00000014u;
|
|
/* 0277B3D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0277B3D4 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277B3D4 */ _t118 = _t117 & 0x00000001u;
|
|
/* 0277B3D4 */ if (_t118) goto L_0277B3DC; else goto L_0277B3D8;
|
|
L_0277B3D8: ; // 0x277b3d8
|
|
/* 0277B3D8 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0277B3DC: ; // 0x277b3dc
|
|
/* 0277B3DC */ cpu->ctr = cpu->r[9];
|
|
/* 0277B3E0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277B3E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277B3E8 */ _t119 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B3E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0277B3EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0277B3F0 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277B3F4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277B3F8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277B3FC */ _t120 = cpu->r[30] + cpu->r[31];
|
|
/* 0277B3FC */ rbrew_write8(cpu->mem, _t120, (uint8_t)cpu->r[28]);
|
|
/* 0277B400 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0277B404 */ _t121 = cpu->r[1] + 0x00000020u;
|
|
/* 0277B404 */ rbrew_write32(cpu->mem, _t121, cpu->r[27]);
|
|
/* 0277B408 */ cpu->r[12] = 0x02780000u;
|
|
/* 0277B40C */ _t122 = cpu->r[1] + 0x00000014u;
|
|
/* 0277B40C */ rbrew_write16(cpu->mem, _t122, (uint16_t)cpu->r[27]);
|
|
/* 0277B410 */ cpu->r[12] = cpu->r[12] + 0xFFFFD020u;
|
|
/* 0277B414 */ _t123 = cpu->r[1] + 0x00000016u;
|
|
/* 0277B414 */ rbrew_write16(cpu->mem, _t123, (uint16_t)cpu->r[8]);
|
|
/* 0277B418 */ cpu->r[7] = 0x00000000u;
|
|
/* 0277B41C */ _t124 = cpu->r[1] + 0x00000018u;
|
|
/* 0277B41C */ rbrew_write32(cpu->mem, _t124, cpu->r[12]);
|
|
/* 0277B420 */ _t125 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277B420 */ rbrew_write16(cpu->mem, _t125, (uint16_t)cpu->r[27]);
|
|
/* 0277B424 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277B428 */ _t126 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277B428 */ rbrew_write16(cpu->mem, _t126, (uint16_t)cpu->r[8]);
|
|
/* 0277B42C */ cpu->r[10] = 0x02780000u;
|
|
/* 0277B430 */ _t127 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B430 */ rbrew_write16(cpu->mem, _t127, (uint16_t)cpu->r[27]);
|
|
/* 0277B434 */ cpu->r[10] = cpu->r[10] + 0xFFFFCF6Cu;
|
|
/* 0277B438 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277B43C */ _t128 = cpu->r[1] + 0x00000008u;
|
|
/* 0277B43C */ rbrew_write8(cpu->mem, _t128, (uint8_t)cpu->r[7]);
|
|
/* 0277B440 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B444 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0277B448 */ _t129 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277B448 */ rbrew_write16(cpu->mem, _t129, (uint16_t)cpu->r[27]);
|
|
/* 0277B44C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277B450 */ _t130 = cpu->r[1] + 0x00000010u;
|
|
/* 0277B450 */ rbrew_write32(cpu->mem, _t130, cpu->r[10]);
|
|
/* 0277B454 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277B458 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277B45C */ _t131 = cpu->r[1] + 0x00000028u;
|
|
/* 0277B45C */ rbrew_write32(cpu->mem, _t131, cpu->r[26]);
|
|
/* 0277B460 */ cpu->r[0] = cpu->r[0] + 0x00003C30u;
|
|
/* 0277B464 */ _t132 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B464 */ rbrew_write32(cpu->mem, _t132, cpu->r[0]);
|
|
/* 0277B468 */ _t133 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277B468 */ cpu->r[4] = rbrew_read32(cpu->mem, _t133);
|
|
/* 0277B46C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000001u);
|
|
/* 0277B470 */ _t134 = cpu->r[29] + 0x00000250u;
|
|
/* 0277B470 */ cpu->r[30] = rbrew_read32(cpu->mem, _t134);
|
|
/* 0277B474 */ _t135 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277B474 */ _t136 = _t135 & 0x00000001u;
|
|
/* 0277B474 */ if (_t136) goto L_0277B478; else goto L_0277B47C;
|
|
L_0277B478: ; // 0x277b478
|
|
/* 0277B478 */ cpu->r[30] = cpu->r[30] + 0x00000024u;
|
|
L_0277B47C: ; // 0x277b47c
|
|
/* 0277B47C */ cpu->ctr = cpu->r[25];
|
|
/* 0277B480 */ _t137 = cpu->r[30] + 0x00000000u;
|
|
/* 0277B480 */ cpu->r[24] = rbrew_read32(cpu->mem, _t137);
|
|
/* 0277B484 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277B488 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277B48C */ _t138 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B48C */ cpu->r[7] = rbrew_read32(cpu->mem, _t138);
|
|
/* 0277B490 */ _t139 = cpu->r[7] + 0x00000000u;
|
|
/* 0277B490 */ cpu->r[5] = rbrew_read8(cpu->mem, _t139);
|
|
/* 0277B494 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277B498 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0277B49C */ cpu->r[8] = 0x00080000u;
|
|
/* 0277B4A0 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B4A0 */ _t141 = _t140 & 0x00000001u;
|
|
/* 0277B4A0 */ if (_t141) goto L_0277B4C8; else goto L_0277B4A4;
|
|
L_0277B4A4: ; // 0x277b4a4
|
|
/* 0277B4A4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277B4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 0277B4AC */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0277B4B0 */ _t142 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277B4B0 */ _t143 = _t142 & 0x00000001u;
|
|
/* 0277B4B0 */ if (_t143) goto L_0277B4C4; else goto L_0277B4B4;
|
|
L_0277B4B4: ; // 0x277b4b4
|
|
/* 0277B4B4 */ _t144 = cpu->r[7] + 0x00000000u;
|
|
/* 0277B4B4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t144);
|
|
/* 0277B4B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0277B4BC */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B4BC */ _t146 = _t145 & 0x00000001u;
|
|
/* 0277B4BC */ if (_t146) goto L_0277B4C0; else goto L_0277B4A4;
|
|
L_0277B4C0: ; // 0x277b4c0
|
|
/* 0277B4C0 */ goto L_0277B4C8;
|
|
L_0277B4C4: ; // 0x277b4c4
|
|
/* 0277B4C4 */ cpu->r[31] = 0x00000000u;
|
|
L_0277B4C8: ; // 0x277b4c8
|
|
/* 0277B4C8 */ _t147 = cpu->r[30] + 0x00000008u;
|
|
/* 0277B4C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t147);
|
|
/* 0277B4CC */ _t148 = cpu->r[1] + 0x00000028u;
|
|
/* 0277B4CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t148);
|
|
/* 0277B4D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[4]);
|
|
/* 0277B4D4 */ _t149 = cpu->r[8] + 0x00000014u;
|
|
/* 0277B4D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t149);
|
|
/* 0277B4D8 */ _t150 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277B4D8 */ _t151 = _t150 & 0x00000001u;
|
|
/* 0277B4D8 */ if (_t151) goto L_0277B4E0; else goto L_0277B4DC;
|
|
L_0277B4DC: ; // 0x277b4dc
|
|
/* 0277B4DC */ cpu->r[31] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_0277B4E0: ; // 0x277b4e0
|
|
/* 0277B4E0 */ cpu->ctr = cpu->r[9];
|
|
/* 0277B4E4 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277B4E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277B4EC */ _t152 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B4EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t152);
|
|
/* 0277B4F0 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277B4F4 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277B4F8 */ cpu->r[3] = cpu->r[24];
|
|
/* 0277B4FC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277B500 */ _t153 = cpu->r[24] + cpu->r[31];
|
|
/* 0277B500 */ rbrew_write8(cpu->mem, _t153, (uint8_t)cpu->r[28]);
|
|
/* 0277B504 */ cpu->r[8] = 0x00000001u;
|
|
/* 0277B508 */ _t154 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277B508 */ rbrew_write16(cpu->mem, _t154, (uint16_t)cpu->r[27]);
|
|
/* 0277B50C */ cpu->r[10] = 0x02780000u;
|
|
/* 0277B510 */ _t155 = cpu->r[1] + 0x00000008u;
|
|
/* 0277B510 */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[8]);
|
|
/* 0277B514 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 0277B518 */ _t156 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B518 */ rbrew_write16(cpu->mem, _t156, (uint16_t)cpu->r[27]);
|
|
/* 0277B51C */ cpu->r[12] = 0x02780000u;
|
|
/* 0277B520 */ _t157 = cpu->r[1] + 0x00000016u;
|
|
/* 0277B520 */ rbrew_write16(cpu->mem, _t157, (uint16_t)cpu->r[6]);
|
|
/* 0277B524 */ _t158 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277B524 */ rbrew_write16(cpu->mem, _t158, (uint16_t)cpu->r[27]);
|
|
/* 0277B528 */ cpu->r[10] = cpu->r[10] + 0x00000C30u;
|
|
/* 0277B52C */ _t159 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277B52C */ rbrew_write16(cpu->mem, _t159, (uint16_t)cpu->r[6]);
|
|
/* 0277B530 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277B534 */ cpu->r[12] = cpu->r[12] + 0xFFFFD094u;
|
|
/* 0277B538 */ _t160 = cpu->r[1] + 0x00000018u;
|
|
/* 0277B538 */ rbrew_write32(cpu->mem, _t160, cpu->r[10]);
|
|
/* 0277B53C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B540 */ _t161 = cpu->r[1] + 0x00000010u;
|
|
/* 0277B540 */ rbrew_write32(cpu->mem, _t161, cpu->r[12]);
|
|
/* 0277B544 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277B548 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277B54C */ _t162 = cpu->r[1] + 0x00000014u;
|
|
/* 0277B54C */ rbrew_write16(cpu->mem, _t162, (uint16_t)cpu->r[27]);
|
|
/* 0277B550 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277B554 */ _t163 = cpu->r[1] + 0x00000020u;
|
|
/* 0277B554 */ rbrew_write32(cpu->mem, _t163, cpu->r[27]);
|
|
/* 0277B558 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277B55C */ cpu->r[0] = 0x10100000u;
|
|
/* 0277B560 */ _t164 = cpu->r[1] + 0x00000028u;
|
|
/* 0277B560 */ rbrew_write32(cpu->mem, _t164, cpu->r[26]);
|
|
/* 0277B564 */ cpu->r[0] = cpu->r[0] + 0x00003C44u;
|
|
/* 0277B568 */ _t165 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B568 */ rbrew_write32(cpu->mem, _t165, cpu->r[0]);
|
|
/* 0277B56C */ _t166 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277B56C */ cpu->r[4] = rbrew_read32(cpu->mem, _t166);
|
|
/* 0277B570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
|
|
/* 0277B574 */ _t167 = cpu->r[29] + 0x00000250u;
|
|
/* 0277B574 */ cpu->r[30] = rbrew_read32(cpu->mem, _t167);
|
|
/* 0277B578 */ _t168 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277B578 */ _t169 = _t168 & 0x00000001u;
|
|
/* 0277B578 */ if (_t169) goto L_0277B57C; else goto L_0277B580;
|
|
L_0277B57C: ; // 0x277b57c
|
|
/* 0277B57C */ cpu->r[30] = cpu->r[30] + 0x00000048u;
|
|
L_0277B580: ; // 0x277b580
|
|
/* 0277B580 */ cpu->ctr = cpu->r[25];
|
|
/* 0277B584 */ _t170 = cpu->r[30] + 0x00000000u;
|
|
/* 0277B584 */ cpu->r[24] = rbrew_read32(cpu->mem, _t170);
|
|
/* 0277B588 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277B58C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277B590 */ _t171 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B590 */ cpu->r[10] = rbrew_read32(cpu->mem, _t171);
|
|
/* 0277B594 */ _t172 = cpu->r[10] + 0x00000000u;
|
|
/* 0277B594 */ cpu->r[0] = rbrew_read8(cpu->mem, _t172);
|
|
/* 0277B598 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277B59C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0277B5A0 */ cpu->r[12] = 0x00080000u;
|
|
/* 0277B5A4 */ _t173 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B5A4 */ _t174 = _t173 & 0x00000001u;
|
|
/* 0277B5A4 */ if (_t174) goto L_0277B5CC; else goto L_0277B5A8;
|
|
L_0277B5A8: ; // 0x277b5a8
|
|
/* 0277B5A8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277B5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0277B5B0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0277B5B4 */ _t175 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277B5B4 */ _t176 = _t175 & 0x00000001u;
|
|
/* 0277B5B4 */ if (_t176) goto L_0277B5C8; else goto L_0277B5B8;
|
|
L_0277B5B8: ; // 0x277b5b8
|
|
/* 0277B5B8 */ _t177 = cpu->r[10] + 0x00000000u;
|
|
/* 0277B5B8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t177);
|
|
/* 0277B5BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0277B5C0 */ _t178 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B5C0 */ _t179 = _t178 & 0x00000001u;
|
|
/* 0277B5C0 */ if (_t179) goto L_0277B5C4; else goto L_0277B5A8;
|
|
L_0277B5C4: ; // 0x277b5c4
|
|
/* 0277B5C4 */ goto L_0277B5CC;
|
|
L_0277B5C8: ; // 0x277b5c8
|
|
/* 0277B5C8 */ cpu->r[31] = 0x00000000u;
|
|
L_0277B5CC: ; // 0x277b5cc
|
|
/* 0277B5CC */ _t180 = cpu->r[30] + 0x00000008u;
|
|
/* 0277B5CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t180);
|
|
/* 0277B5D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 0277B5D4 */ _t181 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277B5D4 */ _t182 = _t181 & 0x00000001u;
|
|
/* 0277B5D4 */ if (_t182) goto L_0277B5DC; else goto L_0277B5D8;
|
|
L_0277B5D8: ; // 0x277b5d8
|
|
/* 0277B5D8 */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0277B5DC: ; // 0x277b5dc
|
|
/* 0277B5DC */ _t183 = cpu->r[1] + 0x00000028u;
|
|
/* 0277B5DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t183);
|
|
/* 0277B5E0 */ _t184 = cpu->r[7] + 0x00000014u;
|
|
/* 0277B5E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t184);
|
|
/* 0277B5E4 */ cpu->ctr = cpu->r[8];
|
|
/* 0277B5E8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277B5EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277B5F0 */ _t185 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B5F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t185);
|
|
/* 0277B5F4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277B5F8 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277B5FC */ cpu->r[3] = cpu->r[24];
|
|
/* 0277B600 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277B604 */ _t186 = cpu->r[24] + cpu->r[31];
|
|
/* 0277B604 */ rbrew_write8(cpu->mem, _t186, (uint8_t)cpu->r[28]);
|
|
/* 0277B608 */ cpu->r[0] = 0x00000002u;
|
|
/* 0277B60C */ _t187 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B60C */ rbrew_write16(cpu->mem, _t187, (uint16_t)cpu->r[27]);
|
|
/* 0277B610 */ cpu->r[11] = 0x02780000u;
|
|
/* 0277B614 */ _t188 = cpu->r[1] + 0x00000014u;
|
|
/* 0277B614 */ rbrew_write16(cpu->mem, _t188, (uint16_t)cpu->r[27]);
|
|
/* 0277B618 */ cpu->r[11] = cpu->r[11] + 0xFFFFD680u;
|
|
/* 0277B61C */ _t189 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277B61C */ rbrew_write16(cpu->mem, _t189, (uint16_t)cpu->r[27]);
|
|
/* 0277B620 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277B624 */ _t190 = cpu->r[1] + 0x00000020u;
|
|
/* 0277B624 */ rbrew_write32(cpu->mem, _t190, cpu->r[27]);
|
|
/* 0277B628 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B62C */ _t191 = cpu->r[1] + 0x00000008u;
|
|
/* 0277B62C */ rbrew_write8(cpu->mem, _t191, (uint8_t)cpu->r[0]);
|
|
/* 0277B630 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0277B634 */ _t192 = cpu->r[1] + 0x00000010u;
|
|
/* 0277B634 */ rbrew_write32(cpu->mem, _t192, cpu->r[11]);
|
|
/* 0277B638 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277B63C */ _t193 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277B63C */ rbrew_write16(cpu->mem, _t193, (uint16_t)cpu->r[0]);
|
|
/* 0277B640 */ cpu->r[9] = 0x02780000u;
|
|
/* 0277B644 */ _t194 = cpu->r[1] + 0x00000016u;
|
|
/* 0277B644 */ rbrew_write16(cpu->mem, _t194, (uint16_t)cpu->r[0]);
|
|
/* 0277B648 */ cpu->r[9] = cpu->r[9] + 0xFFFFD42Cu;
|
|
/* 0277B64C */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277B650 */ _t195 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277B650 */ rbrew_write16(cpu->mem, _t195, (uint16_t)cpu->r[27]);
|
|
/* 0277B654 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277B658 */ _t196 = cpu->r[1] + 0x00000018u;
|
|
/* 0277B658 */ rbrew_write32(cpu->mem, _t196, cpu->r[9]);
|
|
/* 0277B65C */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277B660 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277B664 */ _t197 = cpu->r[1] + 0x00000028u;
|
|
/* 0277B664 */ rbrew_write32(cpu->mem, _t197, cpu->r[26]);
|
|
/* 0277B668 */ cpu->r[12] = cpu->r[12] + 0x00003B10u;
|
|
/* 0277B66C */ _t198 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B66C */ rbrew_write32(cpu->mem, _t198, cpu->r[12]);
|
|
/* 0277B670 */ _t199 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277B670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t199);
|
|
/* 0277B674 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 0277B678 */ _t200 = cpu->r[29] + 0x00000250u;
|
|
/* 0277B678 */ cpu->r[30] = rbrew_read32(cpu->mem, _t200);
|
|
/* 0277B67C */ _t201 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277B67C */ _t202 = _t201 & 0x00000001u;
|
|
/* 0277B67C */ if (_t202) goto L_0277B680; else goto L_0277B684;
|
|
L_0277B680: ; // 0x277b680
|
|
/* 0277B680 */ cpu->r[30] = cpu->r[30] + 0x0000006Cu;
|
|
L_0277B684: ; // 0x277b684
|
|
/* 0277B684 */ cpu->ctr = cpu->r[25];
|
|
/* 0277B688 */ _t203 = cpu->r[30] + 0x00000000u;
|
|
/* 0277B688 */ cpu->r[24] = rbrew_read32(cpu->mem, _t203);
|
|
/* 0277B68C */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277B690 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277B694 */ _t204 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B694 */ cpu->r[6] = rbrew_read32(cpu->mem, _t204);
|
|
/* 0277B698 */ _t205 = cpu->r[6] + 0x00000000u;
|
|
/* 0277B698 */ cpu->r[4] = rbrew_read8(cpu->mem, _t205);
|
|
/* 0277B69C */ cpu->r[31] = 0x00000000u;
|
|
/* 0277B6A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[28]);
|
|
/* 0277B6A4 */ cpu->r[7] = 0x00080000u;
|
|
/* 0277B6A8 */ _t206 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B6A8 */ _t207 = _t206 & 0x00000001u;
|
|
/* 0277B6A8 */ if (_t207) goto L_0277B6D0; else goto L_0277B6AC;
|
|
L_0277B6AC: ; // 0x277b6ac
|
|
/* 0277B6AC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277B6B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 0277B6B4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0277B6B8 */ _t208 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277B6B8 */ _t209 = _t208 & 0x00000001u;
|
|
/* 0277B6B8 */ if (_t209) goto L_0277B6CC; else goto L_0277B6BC;
|
|
L_0277B6BC: ; // 0x277b6bc
|
|
/* 0277B6BC */ _t210 = cpu->r[6] + 0x00000000u;
|
|
/* 0277B6BC */ cpu->r[5] = rbrew_read8(cpu->mem, _t210);
|
|
/* 0277B6C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0277B6C4 */ _t211 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B6C4 */ _t212 = _t211 & 0x00000001u;
|
|
/* 0277B6C4 */ if (_t212) goto L_0277B6C8; else goto L_0277B6AC;
|
|
L_0277B6C8: ; // 0x277b6c8
|
|
/* 0277B6C8 */ goto L_0277B6D0;
|
|
L_0277B6CC: ; // 0x277b6cc
|
|
/* 0277B6CC */ cpu->r[31] = 0x00000000u;
|
|
L_0277B6D0: ; // 0x277b6d0
|
|
/* 0277B6D0 */ _t213 = cpu->r[30] + 0x00000008u;
|
|
/* 0277B6D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t213);
|
|
/* 0277B6D4 */ _t214 = cpu->r[1] + 0x00000028u;
|
|
/* 0277B6D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t214);
|
|
/* 0277B6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 0277B6DC */ _t215 = cpu->r[8] + 0x00000014u;
|
|
/* 0277B6DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t215);
|
|
/* 0277B6E0 */ _t216 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277B6E0 */ _t217 = _t216 & 0x00000001u;
|
|
/* 0277B6E0 */ if (_t217) goto L_0277B6E8; else goto L_0277B6E4;
|
|
L_0277B6E4: ; // 0x277b6e4
|
|
/* 0277B6E4 */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0277B6E8: ; // 0x277b6e8
|
|
/* 0277B6E8 */ cpu->ctr = cpu->r[0];
|
|
/* 0277B6EC */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277B6F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277B6F4 */ _t218 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B6F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t218);
|
|
/* 0277B6F8 */ cpu->r[3] = cpu->r[24];
|
|
/* 0277B6FC */ cpu->r[5] = cpu->r[31];
|
|
/* 0277B700 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277B704 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277B708 */ _t219 = cpu->r[24] + cpu->r[31];
|
|
/* 0277B708 */ rbrew_write8(cpu->mem, _t219, (uint8_t)cpu->r[28]);
|
|
/* 0277B70C */ cpu->r[0] = 0x00000003u;
|
|
/* 0277B710 */ _t220 = cpu->r[1] + 0x00000020u;
|
|
/* 0277B710 */ rbrew_write32(cpu->mem, _t220, cpu->r[27]);
|
|
/* 0277B714 */ cpu->r[10] = 0x02780000u;
|
|
/* 0277B718 */ _t221 = cpu->r[1] + 0x00000008u;
|
|
/* 0277B718 */ rbrew_write8(cpu->mem, _t221, (uint8_t)cpu->r[0]);
|
|
/* 0277B71C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0277B720 */ _t222 = cpu->r[1] + 0x00000014u;
|
|
/* 0277B720 */ rbrew_write16(cpu->mem, _t222, (uint16_t)cpu->r[27]);
|
|
/* 0277B724 */ cpu->r[12] = 0x02780000u;
|
|
/* 0277B728 */ _t223 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277B728 */ rbrew_write16(cpu->mem, _t223, (uint16_t)cpu->r[27]);
|
|
/* 0277B72C */ _t224 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277B72C */ rbrew_write16(cpu->mem, _t224, (uint16_t)cpu->r[27]);
|
|
/* 0277B730 */ cpu->r[10] = cpu->r[10] + 0xFFFFD6D4u;
|
|
/* 0277B734 */ _t225 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277B734 */ rbrew_write16(cpu->mem, _t225, (uint16_t)cpu->r[0]);
|
|
/* 0277B738 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277B73C */ _t226 = cpu->r[1] + 0x00000018u;
|
|
/* 0277B73C */ rbrew_write32(cpu->mem, _t226, cpu->r[10]);
|
|
/* 0277B740 */ cpu->r[12] = cpu->r[12] + 0xFFFFD78Cu;
|
|
/* 0277B744 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277B748 */ _t227 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B748 */ rbrew_write16(cpu->mem, _t227, (uint16_t)cpu->r[27]);
|
|
/* 0277B74C */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277B750 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B754 */ _t228 = cpu->r[1] + 0x00000010u;
|
|
/* 0277B754 */ rbrew_write32(cpu->mem, _t228, cpu->r[12]);
|
|
/* 0277B758 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277B75C */ _t229 = cpu->r[1] + 0x00000016u;
|
|
/* 0277B75C */ rbrew_write16(cpu->mem, _t229, (uint16_t)cpu->r[0]);
|
|
/* 0277B760 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277B764 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277B768 */ _t230 = cpu->r[1] + 0x00000028u;
|
|
/* 0277B768 */ rbrew_write32(cpu->mem, _t230, cpu->r[26]);
|
|
/* 0277B76C */ cpu->r[0] = cpu->r[0] + 0x00003C54u;
|
|
/* 0277B770 */ _t231 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B770 */ rbrew_write32(cpu->mem, _t231, cpu->r[0]);
|
|
/* 0277B774 */ _t232 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277B774 */ cpu->r[4] = rbrew_read32(cpu->mem, _t232);
|
|
/* 0277B778 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000004u);
|
|
/* 0277B77C */ _t233 = cpu->r[29] + 0x00000250u;
|
|
/* 0277B77C */ cpu->r[30] = rbrew_read32(cpu->mem, _t233);
|
|
/* 0277B780 */ _t234 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277B780 */ _t235 = _t234 & 0x00000001u;
|
|
/* 0277B780 */ if (_t235) goto L_0277B784; else goto L_0277B788;
|
|
L_0277B784: ; // 0x277b784
|
|
/* 0277B784 */ cpu->r[30] = cpu->r[30] + 0x00000090u;
|
|
L_0277B788: ; // 0x277b788
|
|
/* 0277B788 */ cpu->ctr = cpu->r[25];
|
|
/* 0277B78C */ _t236 = cpu->r[30] + 0x00000000u;
|
|
/* 0277B78C */ cpu->r[24] = rbrew_read32(cpu->mem, _t236);
|
|
/* 0277B790 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277B794 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277B798 */ _t237 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B798 */ cpu->r[4] = rbrew_read32(cpu->mem, _t237);
|
|
/* 0277B79C */ _t238 = cpu->r[4] + 0x00000000u;
|
|
/* 0277B79C */ cpu->r[5] = rbrew_read8(cpu->mem, _t238);
|
|
/* 0277B7A0 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277B7A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0277B7A8 */ cpu->r[5] = 0x00080000u;
|
|
/* 0277B7AC */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B7AC */ _t240 = _t239 & 0x00000001u;
|
|
/* 0277B7AC */ if (_t240) goto L_0277B7D4; else goto L_0277B7B0;
|
|
L_0277B7B0: ; // 0x277b7b0
|
|
/* 0277B7B0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277B7B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 0277B7B8 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0277B7BC */ _t241 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277B7BC */ _t242 = _t241 & 0x00000001u;
|
|
/* 0277B7BC */ if (_t242) goto L_0277B7D0; else goto L_0277B7C0;
|
|
L_0277B7C0: ; // 0x277b7c0
|
|
/* 0277B7C0 */ _t243 = cpu->r[4] + 0x00000000u;
|
|
/* 0277B7C0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t243);
|
|
/* 0277B7C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0277B7C8 */ _t244 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B7C8 */ _t245 = _t244 & 0x00000001u;
|
|
/* 0277B7C8 */ if (_t245) goto L_0277B7CC; else goto L_0277B7B0;
|
|
L_0277B7CC: ; // 0x277b7cc
|
|
/* 0277B7CC */ goto L_0277B7D4;
|
|
L_0277B7D0: ; // 0x277b7d0
|
|
/* 0277B7D0 */ cpu->r[31] = 0x00000000u;
|
|
L_0277B7D4: ; // 0x277b7d4
|
|
/* 0277B7D4 */ _t246 = cpu->r[30] + 0x00000008u;
|
|
/* 0277B7D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t246);
|
|
/* 0277B7D8 */ _t247 = cpu->r[1] + 0x00000028u;
|
|
/* 0277B7D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t247);
|
|
/* 0277B7DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 0277B7E0 */ _t248 = cpu->r[7] + 0x00000014u;
|
|
/* 0277B7E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t248);
|
|
/* 0277B7E4 */ _t249 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277B7E4 */ _t250 = _t249 & 0x00000001u;
|
|
/* 0277B7E4 */ if (_t250) goto L_0277B7EC; else goto L_0277B7E8;
|
|
L_0277B7E8: ; // 0x277b7e8
|
|
/* 0277B7E8 */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0277B7EC: ; // 0x277b7ec
|
|
/* 0277B7EC */ cpu->ctr = cpu->r[8];
|
|
/* 0277B7F0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277B7F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277B7F8 */ _t251 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B7F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t251);
|
|
/* 0277B7FC */ cpu->r[6] = 0x00000000u;
|
|
/* 0277B800 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277B804 */ cpu->r[3] = cpu->r[24];
|
|
/* 0277B808 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277B80C */ _t252 = cpu->r[24] + cpu->r[31];
|
|
/* 0277B80C */ rbrew_write8(cpu->mem, _t252, (uint8_t)cpu->r[28]);
|
|
/* 0277B810 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277B814 */ _t253 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277B814 */ rbrew_write16(cpu->mem, _t253, (uint16_t)cpu->r[27]);
|
|
/* 0277B818 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 0277B81C */ _t254 = cpu->r[1] + 0x00000008u;
|
|
/* 0277B81C */ rbrew_write8(cpu->mem, _t254, (uint8_t)cpu->r[0]);
|
|
/* 0277B820 */ cpu->r[9] = 0x02780000u;
|
|
/* 0277B824 */ _t255 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277B824 */ rbrew_write16(cpu->mem, _t255, (uint16_t)cpu->r[12]);
|
|
/* 0277B828 */ cpu->r[11] = 0x02780000u;
|
|
/* 0277B82C */ _t256 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277B82C */ rbrew_write16(cpu->mem, _t256, (uint16_t)cpu->r[27]);
|
|
/* 0277B830 */ _t257 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B830 */ rbrew_write16(cpu->mem, _t257, (uint16_t)cpu->r[27]);
|
|
/* 0277B834 */ cpu->r[11] = cpu->r[11] + 0xFFFFD908u;
|
|
/* 0277B838 */ _t258 = cpu->r[1] + 0x00000016u;
|
|
/* 0277B838 */ rbrew_write16(cpu->mem, _t258, (uint16_t)cpu->r[12]);
|
|
/* 0277B83C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277B840 */ _t259 = cpu->r[1] + 0x00000010u;
|
|
/* 0277B840 */ rbrew_write32(cpu->mem, _t259, cpu->r[11]);
|
|
/* 0277B844 */ cpu->r[9] = cpu->r[9] + 0xFFFFD808u;
|
|
/* 0277B848 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B84C */ _t260 = cpu->r[1] + 0x00000014u;
|
|
/* 0277B84C */ rbrew_write16(cpu->mem, _t260, (uint16_t)cpu->r[27]);
|
|
/* 0277B850 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277B854 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277B858 */ _t261 = cpu->r[1] + 0x00000018u;
|
|
/* 0277B858 */ rbrew_write32(cpu->mem, _t261, cpu->r[9]);
|
|
/* 0277B85C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277B860 */ _t262 = cpu->r[1] + 0x00000020u;
|
|
/* 0277B860 */ rbrew_write32(cpu->mem, _t262, cpu->r[27]);
|
|
/* 0277B864 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277B868 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277B86C */ _t263 = cpu->r[1] + 0x00000028u;
|
|
/* 0277B86C */ rbrew_write32(cpu->mem, _t263, cpu->r[26]);
|
|
/* 0277B870 */ cpu->r[0] = cpu->r[0] + 0x00003C64u;
|
|
/* 0277B874 */ _t264 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B874 */ rbrew_write32(cpu->mem, _t264, cpu->r[0]);
|
|
/* 0277B878 */ _t265 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277B878 */ cpu->r[4] = rbrew_read32(cpu->mem, _t265);
|
|
/* 0277B87C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000005u);
|
|
/* 0277B880 */ _t266 = cpu->r[29] + 0x00000250u;
|
|
/* 0277B880 */ cpu->r[30] = rbrew_read32(cpu->mem, _t266);
|
|
/* 0277B884 */ _t267 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277B884 */ _t268 = _t267 & 0x00000001u;
|
|
/* 0277B884 */ if (_t268) goto L_0277B888; else goto L_0277B88C;
|
|
L_0277B888: ; // 0x277b888
|
|
/* 0277B888 */ cpu->r[30] = cpu->r[30] + 0x000000B4u;
|
|
L_0277B88C: ; // 0x277b88c
|
|
/* 0277B88C */ cpu->ctr = cpu->r[25];
|
|
/* 0277B890 */ _t269 = cpu->r[30] + 0x00000000u;
|
|
/* 0277B890 */ cpu->r[24] = rbrew_read32(cpu->mem, _t269);
|
|
/* 0277B894 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277B898 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277B89C */ _t270 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B89C */ cpu->r[12] = rbrew_read32(cpu->mem, _t270);
|
|
/* 0277B8A0 */ _t271 = cpu->r[12] + 0x00000000u;
|
|
/* 0277B8A0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t271);
|
|
/* 0277B8A4 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277B8A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0277B8AC */ cpu->r[0] = 0x00080000u;
|
|
/* 0277B8B0 */ _t272 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B8B0 */ _t273 = _t272 & 0x00000001u;
|
|
/* 0277B8B0 */ if (_t273) goto L_0277B8D8; else goto L_0277B8B4;
|
|
L_0277B8B4: ; // 0x277b8b4
|
|
/* 0277B8B4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277B8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0277B8BC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0277B8C0 */ _t274 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277B8C0 */ _t275 = _t274 & 0x00000001u;
|
|
/* 0277B8C0 */ if (_t275) goto L_0277B8D4; else goto L_0277B8C4;
|
|
L_0277B8C4: ; // 0x277b8c4
|
|
/* 0277B8C4 */ _t276 = cpu->r[12] + 0x00000000u;
|
|
/* 0277B8C4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t276);
|
|
/* 0277B8C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0277B8CC */ _t277 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B8CC */ _t278 = _t277 & 0x00000001u;
|
|
/* 0277B8CC */ if (_t278) goto L_0277B8D0; else goto L_0277B8B4;
|
|
L_0277B8D0: ; // 0x277b8d0
|
|
/* 0277B8D0 */ goto L_0277B8D8;
|
|
L_0277B8D4: ; // 0x277b8d4
|
|
/* 0277B8D4 */ cpu->r[31] = 0x00000000u;
|
|
L_0277B8D8: ; // 0x277b8d8
|
|
/* 0277B8D8 */ _t279 = cpu->r[30] + 0x00000008u;
|
|
/* 0277B8D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t279);
|
|
/* 0277B8DC */ _t280 = cpu->r[1] + 0x00000028u;
|
|
/* 0277B8DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t280);
|
|
/* 0277B8E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 0277B8E4 */ _t281 = cpu->r[7] + 0x00000014u;
|
|
/* 0277B8E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t281);
|
|
/* 0277B8E8 */ _t282 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277B8E8 */ _t283 = _t282 & 0x00000001u;
|
|
/* 0277B8E8 */ if (_t283) goto L_0277B8F0; else goto L_0277B8EC;
|
|
L_0277B8EC: ; // 0x277b8ec
|
|
/* 0277B8EC */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0277B8F0: ; // 0x277b8f0
|
|
/* 0277B8F0 */ cpu->ctr = cpu->r[8];
|
|
/* 0277B8F4 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277B8F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277B8FC */ _t284 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B8FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t284);
|
|
/* 0277B900 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277B904 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277B908 */ cpu->r[3] = cpu->r[24];
|
|
/* 0277B90C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277B910 */ _t285 = cpu->r[24] + cpu->r[31];
|
|
/* 0277B910 */ rbrew_write8(cpu->mem, _t285, (uint8_t)cpu->r[28]);
|
|
/* 0277B914 */ cpu->r[0] = 0x00000005u;
|
|
/* 0277B918 */ _t286 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277B918 */ rbrew_write16(cpu->mem, _t286, (uint16_t)cpu->r[27]);
|
|
/* 0277B91C */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0277B920 */ _t287 = cpu->r[1] + 0x00000008u;
|
|
/* 0277B920 */ rbrew_write8(cpu->mem, _t287, (uint8_t)cpu->r[0]);
|
|
/* 0277B924 */ cpu->r[9] = 0x02780000u;
|
|
/* 0277B928 */ _t288 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277B928 */ rbrew_write16(cpu->mem, _t288, (uint16_t)cpu->r[11]);
|
|
/* 0277B92C */ cpu->r[12] = 0x02780000u;
|
|
/* 0277B930 */ _t289 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277B930 */ rbrew_write16(cpu->mem, _t289, (uint16_t)cpu->r[27]);
|
|
/* 0277B934 */ _t290 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B934 */ rbrew_write16(cpu->mem, _t290, (uint16_t)cpu->r[27]);
|
|
/* 0277B938 */ cpu->r[12] = cpu->r[12] + 0xFFFFDB98u;
|
|
/* 0277B93C */ _t291 = cpu->r[1] + 0x00000016u;
|
|
/* 0277B93C */ rbrew_write16(cpu->mem, _t291, (uint16_t)cpu->r[11]);
|
|
/* 0277B940 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277B944 */ _t292 = cpu->r[1] + 0x00000010u;
|
|
/* 0277B944 */ rbrew_write32(cpu->mem, _t292, cpu->r[12]);
|
|
/* 0277B948 */ cpu->r[9] = cpu->r[9] + 0xFFFFD954u;
|
|
/* 0277B94C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277B950 */ _t293 = cpu->r[1] + 0x00000014u;
|
|
/* 0277B950 */ rbrew_write16(cpu->mem, _t293, (uint16_t)cpu->r[27]);
|
|
/* 0277B954 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277B958 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277B95C */ _t294 = cpu->r[1] + 0x00000018u;
|
|
/* 0277B95C */ rbrew_write32(cpu->mem, _t294, cpu->r[9]);
|
|
/* 0277B960 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277B964 */ _t295 = cpu->r[1] + 0x00000020u;
|
|
/* 0277B964 */ rbrew_write32(cpu->mem, _t295, cpu->r[27]);
|
|
/* 0277B968 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277B96C */ cpu->r[0] = 0x10100000u;
|
|
/* 0277B970 */ _t296 = cpu->r[1] + 0x00000028u;
|
|
/* 0277B970 */ rbrew_write32(cpu->mem, _t296, cpu->r[26]);
|
|
/* 0277B974 */ cpu->r[0] = cpu->r[0] + 0x00003BC8u;
|
|
/* 0277B978 */ _t297 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B978 */ rbrew_write32(cpu->mem, _t297, cpu->r[0]);
|
|
/* 0277B97C */ _t298 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277B97C */ cpu->r[4] = rbrew_read32(cpu->mem, _t298);
|
|
/* 0277B980 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000006u);
|
|
/* 0277B984 */ _t299 = cpu->r[29] + 0x00000250u;
|
|
/* 0277B984 */ cpu->r[30] = rbrew_read32(cpu->mem, _t299);
|
|
/* 0277B988 */ _t300 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277B988 */ _t301 = _t300 & 0x00000001u;
|
|
/* 0277B988 */ if (_t301) goto L_0277B98C; else goto L_0277B990;
|
|
L_0277B98C: ; // 0x277b98c
|
|
/* 0277B98C */ cpu->r[30] = cpu->r[30] + 0x000000D8u;
|
|
L_0277B990: ; // 0x277b990
|
|
/* 0277B990 */ cpu->ctr = cpu->r[25];
|
|
/* 0277B994 */ _t302 = cpu->r[30] + 0x00000000u;
|
|
/* 0277B994 */ cpu->r[24] = rbrew_read32(cpu->mem, _t302);
|
|
/* 0277B998 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277B99C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277B9A0 */ _t303 = cpu->r[1] + 0x00000024u;
|
|
/* 0277B9A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t303);
|
|
/* 0277B9A4 */ _t304 = cpu->r[10] + 0x00000000u;
|
|
/* 0277B9A4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t304);
|
|
/* 0277B9A8 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277B9AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0277B9B0 */ cpu->r[11] = 0x00080000u;
|
|
/* 0277B9B4 */ _t305 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B9B4 */ _t306 = _t305 & 0x00000001u;
|
|
/* 0277B9B4 */ if (_t306) goto L_0277B9DC; else goto L_0277B9B8;
|
|
L_0277B9B8: ; // 0x277b9b8
|
|
/* 0277B9B8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277B9BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 0277B9C0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0277B9C4 */ _t307 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277B9C4 */ _t308 = _t307 & 0x00000001u;
|
|
/* 0277B9C4 */ if (_t308) goto L_0277B9D8; else goto L_0277B9C8;
|
|
L_0277B9C8: ; // 0x277b9c8
|
|
/* 0277B9C8 */ _t309 = cpu->r[10] + 0x00000000u;
|
|
/* 0277B9C8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t309);
|
|
/* 0277B9CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0277B9D0 */ _t310 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277B9D0 */ _t311 = _t310 & 0x00000001u;
|
|
/* 0277B9D0 */ if (_t311) goto L_0277B9D4; else goto L_0277B9B8;
|
|
L_0277B9D4: ; // 0x277b9d4
|
|
/* 0277B9D4 */ goto L_0277B9DC;
|
|
L_0277B9D8: ; // 0x277b9d8
|
|
/* 0277B9D8 */ cpu->r[31] = 0x00000000u;
|
|
L_0277B9DC: ; // 0x277b9dc
|
|
/* 0277B9DC */ _t312 = cpu->r[30] + 0x00000008u;
|
|
/* 0277B9DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t312);
|
|
/* 0277B9E0 */ _t313 = cpu->r[1] + 0x00000028u;
|
|
/* 0277B9E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t313);
|
|
/* 0277B9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0277B9E8 */ _t314 = cpu->r[7] + 0x00000014u;
|
|
/* 0277B9E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t314);
|
|
/* 0277B9EC */ _t315 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277B9EC */ _t316 = _t315 & 0x00000001u;
|
|
/* 0277B9EC */ if (_t316) goto L_0277B9F4; else goto L_0277B9F0;
|
|
L_0277B9F0: ; // 0x277b9f0
|
|
/* 0277B9F0 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0277B9F4: ; // 0x277b9f4
|
|
/* 0277B9F4 */ cpu->ctr = cpu->r[8];
|
|
/* 0277B9F8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277B9FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277BA00 */ _t317 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BA00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t317);
|
|
/* 0277BA04 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277BA08 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277BA0C */ cpu->r[3] = cpu->r[24];
|
|
/* 0277BA10 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277BA14 */ _t318 = cpu->r[24] + cpu->r[31];
|
|
/* 0277BA14 */ rbrew_write8(cpu->mem, _t318, (uint8_t)cpu->r[28]);
|
|
/* 0277BA18 */ cpu->r[0] = 0x00000006u;
|
|
/* 0277BA1C */ _t319 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277BA1C */ rbrew_write16(cpu->mem, _t319, (uint16_t)cpu->r[27]);
|
|
/* 0277BA20 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 0277BA24 */ _t320 = cpu->r[1] + 0x00000008u;
|
|
/* 0277BA24 */ rbrew_write8(cpu->mem, _t320, (uint8_t)cpu->r[0]);
|
|
/* 0277BA28 */ cpu->r[9] = 0x02780000u;
|
|
/* 0277BA2C */ _t321 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277BA2C */ rbrew_write16(cpu->mem, _t321, (uint16_t)cpu->r[10]);
|
|
/* 0277BA30 */ cpu->r[11] = 0x02780000u;
|
|
/* 0277BA34 */ _t322 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277BA34 */ rbrew_write16(cpu->mem, _t322, (uint16_t)cpu->r[27]);
|
|
/* 0277BA38 */ _t323 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277BA38 */ rbrew_write16(cpu->mem, _t323, (uint16_t)cpu->r[27]);
|
|
/* 0277BA3C */ cpu->r[11] = cpu->r[11] + 0xFFFFE034u;
|
|
/* 0277BA40 */ _t324 = cpu->r[1] + 0x00000016u;
|
|
/* 0277BA40 */ rbrew_write16(cpu->mem, _t324, (uint16_t)cpu->r[10]);
|
|
/* 0277BA44 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277BA48 */ _t325 = cpu->r[1] + 0x00000010u;
|
|
/* 0277BA48 */ rbrew_write32(cpu->mem, _t325, cpu->r[11]);
|
|
/* 0277BA4C */ cpu->r[9] = cpu->r[9] + 0xFFFFDE44u;
|
|
/* 0277BA50 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277BA54 */ _t326 = cpu->r[1] + 0x00000014u;
|
|
/* 0277BA54 */ rbrew_write16(cpu->mem, _t326, (uint16_t)cpu->r[27]);
|
|
/* 0277BA58 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277BA5C */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277BA60 */ _t327 = cpu->r[1] + 0x00000018u;
|
|
/* 0277BA60 */ rbrew_write32(cpu->mem, _t327, cpu->r[9]);
|
|
/* 0277BA64 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277BA68 */ _t328 = cpu->r[1] + 0x00000020u;
|
|
/* 0277BA68 */ rbrew_write32(cpu->mem, _t328, cpu->r[27]);
|
|
/* 0277BA6C */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277BA70 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277BA74 */ _t329 = cpu->r[1] + 0x00000028u;
|
|
/* 0277BA74 */ rbrew_write32(cpu->mem, _t329, cpu->r[26]);
|
|
/* 0277BA78 */ cpu->r[12] = cpu->r[12] + 0x00003C74u;
|
|
/* 0277BA7C */ _t330 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BA7C */ rbrew_write32(cpu->mem, _t330, cpu->r[12]);
|
|
/* 0277BA80 */ _t331 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277BA80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t331);
|
|
/* 0277BA84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000007u);
|
|
/* 0277BA88 */ _t332 = cpu->r[29] + 0x00000250u;
|
|
/* 0277BA88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t332);
|
|
/* 0277BA8C */ _t333 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277BA8C */ _t334 = _t333 & 0x00000001u;
|
|
/* 0277BA8C */ if (_t334) goto L_0277BA90; else goto L_0277BA94;
|
|
L_0277BA90: ; // 0x277ba90
|
|
/* 0277BA90 */ cpu->r[30] = cpu->r[30] + 0x000000FCu;
|
|
L_0277BA94: ; // 0x277ba94
|
|
/* 0277BA94 */ cpu->ctr = cpu->r[25];
|
|
/* 0277BA98 */ _t335 = cpu->r[30] + 0x00000000u;
|
|
/* 0277BA98 */ cpu->r[24] = rbrew_read32(cpu->mem, _t335);
|
|
/* 0277BA9C */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277BAA0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277BAA4 */ _t336 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BAA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t336);
|
|
/* 0277BAA8 */ _t337 = cpu->r[8] + 0x00000000u;
|
|
/* 0277BAA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t337);
|
|
/* 0277BAAC */ cpu->r[31] = 0x00000000u;
|
|
/* 0277BAB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0277BAB4 */ cpu->r[9] = 0x00080000u;
|
|
/* 0277BAB8 */ _t338 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277BAB8 */ _t339 = _t338 & 0x00000001u;
|
|
/* 0277BAB8 */ if (_t339) goto L_0277BAE0; else goto L_0277BABC;
|
|
L_0277BABC: ; // 0x277babc
|
|
/* 0277BABC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277BAC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 0277BAC4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0277BAC8 */ _t340 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277BAC8 */ _t341 = _t340 & 0x00000001u;
|
|
/* 0277BAC8 */ if (_t341) goto L_0277BADC; else goto L_0277BACC;
|
|
L_0277BACC: ; // 0x277bacc
|
|
/* 0277BACC */ _t342 = cpu->r[8] + 0x00000000u;
|
|
/* 0277BACC */ cpu->r[5] = rbrew_read8(cpu->mem, _t342);
|
|
/* 0277BAD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0277BAD4 */ _t343 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277BAD4 */ _t344 = _t343 & 0x00000001u;
|
|
/* 0277BAD4 */ if (_t344) goto L_0277BAD8; else goto L_0277BABC;
|
|
L_0277BAD8: ; // 0x277bad8
|
|
/* 0277BAD8 */ goto L_0277BAE0;
|
|
L_0277BADC: ; // 0x277badc
|
|
/* 0277BADC */ cpu->r[31] = 0x00000000u;
|
|
L_0277BAE0: ; // 0x277bae0
|
|
/* 0277BAE0 */ _t345 = cpu->r[30] + 0x00000008u;
|
|
/* 0277BAE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t345);
|
|
/* 0277BAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 0277BAE8 */ _t346 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277BAE8 */ _t347 = _t346 & 0x00000001u;
|
|
/* 0277BAE8 */ if (_t347) goto L_0277BAF0; else goto L_0277BAEC;
|
|
L_0277BAEC: ; // 0x277baec
|
|
/* 0277BAEC */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0277BAF0: ; // 0x277baf0
|
|
/* 0277BAF0 */ _t348 = cpu->r[1] + 0x00000028u;
|
|
/* 0277BAF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t348);
|
|
/* 0277BAF4 */ _t349 = cpu->r[6] + 0x00000014u;
|
|
/* 0277BAF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t349);
|
|
/* 0277BAF8 */ cpu->ctr = cpu->r[7];
|
|
/* 0277BAFC */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277BB00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277BB04 */ _t350 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BB04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t350);
|
|
/* 0277BB08 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277BB0C */ cpu->r[5] = cpu->r[31];
|
|
/* 0277BB10 */ cpu->r[3] = cpu->r[24];
|
|
/* 0277BB14 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277BB18 */ _t351 = cpu->r[24] + cpu->r[31];
|
|
/* 0277BB18 */ rbrew_write8(cpu->mem, _t351, (uint8_t)cpu->r[28]);
|
|
/* 0277BB1C */ cpu->r[0] = 0x00000007u;
|
|
/* 0277BB20 */ _t352 = cpu->r[1] + 0x00000014u;
|
|
/* 0277BB20 */ rbrew_write16(cpu->mem, _t352, (uint16_t)cpu->r[27]);
|
|
/* 0277BB24 */ cpu->r[11] = 0x02780000u;
|
|
/* 0277BB28 */ _t353 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277BB28 */ rbrew_write16(cpu->mem, _t353, (uint16_t)cpu->r[27]);
|
|
/* 0277BB2C */ cpu->r[11] = cpu->r[11] + 0xFFFFE1C8u;
|
|
/* 0277BB30 */ _t354 = cpu->r[1] + 0x00000008u;
|
|
/* 0277BB30 */ rbrew_write8(cpu->mem, _t354, (uint8_t)cpu->r[0]);
|
|
/* 0277BB34 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 0277BB38 */ _t355 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277BB38 */ rbrew_write16(cpu->mem, _t355, (uint16_t)cpu->r[27]);
|
|
/* 0277BB3C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277BB40 */ _t356 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277BB40 */ rbrew_write16(cpu->mem, _t356, (uint16_t)cpu->r[9]);
|
|
/* 0277BB44 */ cpu->r[8] = 0x02780000u;
|
|
/* 0277BB48 */ _t357 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277BB48 */ rbrew_write16(cpu->mem, _t357, (uint16_t)cpu->r[27]);
|
|
/* 0277BB4C */ cpu->r[8] = cpu->r[8] + 0xFFFFE150u;
|
|
/* 0277BB50 */ _t358 = cpu->r[1] + 0x00000016u;
|
|
/* 0277BB50 */ rbrew_write16(cpu->mem, _t358, (uint16_t)cpu->r[9]);
|
|
/* 0277BB54 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277BB58 */ _t359 = cpu->r[1] + 0x00000010u;
|
|
/* 0277BB58 */ rbrew_write32(cpu->mem, _t359, cpu->r[11]);
|
|
/* 0277BB5C */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277BB60 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277BB64 */ _t360 = cpu->r[1] + 0x00000018u;
|
|
/* 0277BB64 */ rbrew_write32(cpu->mem, _t360, cpu->r[8]);
|
|
/* 0277BB68 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277BB6C */ _t361 = cpu->r[1] + 0x00000020u;
|
|
/* 0277BB6C */ rbrew_write32(cpu->mem, _t361, cpu->r[27]);
|
|
/* 0277BB70 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277BB74 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277BB78 */ _t362 = cpu->r[1] + 0x00000028u;
|
|
/* 0277BB78 */ rbrew_write32(cpu->mem, _t362, cpu->r[26]);
|
|
/* 0277BB7C */ cpu->r[12] = cpu->r[12] + 0x00003B00u;
|
|
/* 0277BB80 */ _t363 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BB80 */ rbrew_write32(cpu->mem, _t363, cpu->r[12]);
|
|
/* 0277BB84 */ _t364 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277BB84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t364);
|
|
/* 0277BB88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000008u);
|
|
/* 0277BB8C */ _t365 = cpu->r[29] + 0x00000250u;
|
|
/* 0277BB8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t365);
|
|
/* 0277BB90 */ _t366 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277BB90 */ _t367 = _t366 & 0x00000001u;
|
|
/* 0277BB90 */ if (_t367) goto L_0277BB94; else goto L_0277BB98;
|
|
L_0277BB94: ; // 0x277bb94
|
|
/* 0277BB94 */ cpu->r[30] = cpu->r[30] + 0x00000120u;
|
|
L_0277BB98: ; // 0x277bb98
|
|
/* 0277BB98 */ cpu->ctr = cpu->r[25];
|
|
/* 0277BB9C */ _t368 = cpu->r[30] + 0x00000000u;
|
|
/* 0277BB9C */ cpu->r[24] = rbrew_read32(cpu->mem, _t368);
|
|
/* 0277BBA0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277BBA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277BBA8 */ _t369 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BBA8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t369);
|
|
/* 0277BBAC */ _t370 = cpu->r[6] + 0x00000000u;
|
|
/* 0277BBAC */ cpu->r[4] = rbrew_read8(cpu->mem, _t370);
|
|
/* 0277BBB0 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277BBB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[28]);
|
|
/* 0277BBB8 */ cpu->r[7] = 0x00080000u;
|
|
/* 0277BBBC */ _t371 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277BBBC */ _t372 = _t371 & 0x00000001u;
|
|
/* 0277BBBC */ if (_t372) goto L_0277BBE4; else goto L_0277BBC0;
|
|
L_0277BBC0: ; // 0x277bbc0
|
|
/* 0277BBC0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277BBC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 0277BBC8 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0277BBCC */ _t373 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277BBCC */ _t374 = _t373 & 0x00000001u;
|
|
/* 0277BBCC */ if (_t374) goto L_0277BBE0; else goto L_0277BBD0;
|
|
L_0277BBD0: ; // 0x277bbd0
|
|
/* 0277BBD0 */ _t375 = cpu->r[6] + 0x00000000u;
|
|
/* 0277BBD0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t375);
|
|
/* 0277BBD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0277BBD8 */ _t376 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277BBD8 */ _t377 = _t376 & 0x00000001u;
|
|
/* 0277BBD8 */ if (_t377) goto L_0277BBDC; else goto L_0277BBC0;
|
|
L_0277BBDC: ; // 0x277bbdc
|
|
/* 0277BBDC */ goto L_0277BBE4;
|
|
L_0277BBE0: ; // 0x277bbe0
|
|
/* 0277BBE0 */ cpu->r[31] = 0x00000000u;
|
|
L_0277BBE4: ; // 0x277bbe4
|
|
/* 0277BBE4 */ _t378 = cpu->r[30] + 0x00000008u;
|
|
/* 0277BBE4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t378);
|
|
/* 0277BBE8 */ _t379 = cpu->r[1] + 0x00000028u;
|
|
/* 0277BBE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t379);
|
|
/* 0277BBEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 0277BBF0 */ _t380 = cpu->r[8] + 0x00000014u;
|
|
/* 0277BBF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t380);
|
|
/* 0277BBF4 */ _t381 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277BBF4 */ _t382 = _t381 & 0x00000001u;
|
|
/* 0277BBF4 */ if (_t382) goto L_0277BBFC; else goto L_0277BBF8;
|
|
L_0277BBF8: ; // 0x277bbf8
|
|
/* 0277BBF8 */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0277BBFC: ; // 0x277bbfc
|
|
/* 0277BBFC */ cpu->ctr = cpu->r[0];
|
|
/* 0277BC00 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277BC04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277BC08 */ _t383 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BC08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t383);
|
|
/* 0277BC0C */ cpu->r[6] = 0x00000000u;
|
|
/* 0277BC10 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277BC14 */ cpu->r[3] = cpu->r[24];
|
|
/* 0277BC18 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277BC1C */ _t384 = cpu->r[24] + cpu->r[31];
|
|
/* 0277BC1C */ rbrew_write8(cpu->mem, _t384, (uint8_t)cpu->r[28]);
|
|
/* 0277BC20 */ cpu->r[0] = 0x00000008u;
|
|
/* 0277BC24 */ _t385 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277BC24 */ rbrew_write16(cpu->mem, _t385, (uint16_t)cpu->r[27]);
|
|
/* 0277BC28 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0277BC2C */ _t386 = cpu->r[1] + 0x00000008u;
|
|
/* 0277BC2C */ rbrew_write8(cpu->mem, _t386, (uint8_t)cpu->r[0]);
|
|
/* 0277BC30 */ cpu->r[10] = 0x02780000u;
|
|
/* 0277BC34 */ _t387 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277BC34 */ rbrew_write16(cpu->mem, _t387, (uint16_t)cpu->r[8]);
|
|
/* 0277BC38 */ cpu->r[12] = 0x02780000u;
|
|
/* 0277BC3C */ _t388 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277BC3C */ rbrew_write16(cpu->mem, _t388, (uint16_t)cpu->r[27]);
|
|
/* 0277BC40 */ _t389 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277BC40 */ rbrew_write16(cpu->mem, _t389, (uint16_t)cpu->r[27]);
|
|
/* 0277BC44 */ cpu->r[12] = cpu->r[12] + 0xFFFFE348u;
|
|
/* 0277BC48 */ _t390 = cpu->r[1] + 0x00000016u;
|
|
/* 0277BC48 */ rbrew_write16(cpu->mem, _t390, (uint16_t)cpu->r[8]);
|
|
/* 0277BC4C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277BC50 */ _t391 = cpu->r[1] + 0x00000010u;
|
|
/* 0277BC50 */ rbrew_write32(cpu->mem, _t391, cpu->r[12]);
|
|
/* 0277BC54 */ cpu->r[10] = cpu->r[10] + 0xFFFFE208u;
|
|
/* 0277BC58 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277BC5C */ _t392 = cpu->r[1] + 0x00000014u;
|
|
/* 0277BC5C */ rbrew_write16(cpu->mem, _t392, (uint16_t)cpu->r[27]);
|
|
/* 0277BC60 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277BC64 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277BC68 */ _t393 = cpu->r[1] + 0x00000018u;
|
|
/* 0277BC68 */ rbrew_write32(cpu->mem, _t393, cpu->r[10]);
|
|
/* 0277BC6C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277BC70 */ _t394 = cpu->r[1] + 0x00000020u;
|
|
/* 0277BC70 */ rbrew_write32(cpu->mem, _t394, cpu->r[27]);
|
|
/* 0277BC74 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277BC78 */ cpu->r[4] = 0x10100000u;
|
|
/* 0277BC7C */ _t395 = cpu->r[1] + 0x00000028u;
|
|
/* 0277BC7C */ rbrew_write32(cpu->mem, _t395, cpu->r[26]);
|
|
/* 0277BC80 */ cpu->r[4] = cpu->r[4] + 0x00003BD8u;
|
|
/* 0277BC84 */ _t396 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BC84 */ rbrew_write32(cpu->mem, _t396, cpu->r[4]);
|
|
/* 0277BC88 */ _t397 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277BC88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t397);
|
|
/* 0277BC8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000009u);
|
|
/* 0277BC90 */ _t398 = cpu->r[29] + 0x00000250u;
|
|
/* 0277BC90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t398);
|
|
/* 0277BC94 */ _t399 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277BC94 */ _t400 = _t399 & 0x00000001u;
|
|
/* 0277BC94 */ if (_t400) goto L_0277BC98; else goto L_0277BC9C;
|
|
L_0277BC98: ; // 0x277bc98
|
|
/* 0277BC98 */ cpu->r[30] = cpu->r[30] + 0x00000144u;
|
|
L_0277BC9C: ; // 0x277bc9c
|
|
/* 0277BC9C */ cpu->ctr = cpu->r[25];
|
|
/* 0277BCA0 */ _t401 = cpu->r[30] + 0x00000000u;
|
|
/* 0277BCA0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t401);
|
|
/* 0277BCA4 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277BCA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277BCAC */ _t402 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BCAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t402);
|
|
/* 0277BCB0 */ _t403 = cpu->r[4] + 0x00000000u;
|
|
/* 0277BCB0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t403);
|
|
/* 0277BCB4 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277BCB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0277BCBC */ cpu->r[5] = 0x00080000u;
|
|
/* 0277BCC0 */ _t404 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277BCC0 */ _t405 = _t404 & 0x00000001u;
|
|
/* 0277BCC0 */ if (_t405) goto L_0277BCE8; else goto L_0277BCC4;
|
|
L_0277BCC4: ; // 0x277bcc4
|
|
/* 0277BCC4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277BCC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 0277BCCC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0277BCD0 */ _t406 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277BCD0 */ _t407 = _t406 & 0x00000001u;
|
|
/* 0277BCD0 */ if (_t407) goto L_0277BCE4; else goto L_0277BCD4;
|
|
L_0277BCD4: ; // 0x277bcd4
|
|
/* 0277BCD4 */ _t408 = cpu->r[4] + 0x00000000u;
|
|
/* 0277BCD4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t408);
|
|
/* 0277BCD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 0277BCDC */ _t409 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277BCDC */ _t410 = _t409 & 0x00000001u;
|
|
/* 0277BCDC */ if (_t410) goto L_0277BCE0; else goto L_0277BCC4;
|
|
L_0277BCE0: ; // 0x277bce0
|
|
/* 0277BCE0 */ goto L_0277BCE8;
|
|
L_0277BCE4: ; // 0x277bce4
|
|
/* 0277BCE4 */ cpu->r[31] = 0x00000000u;
|
|
L_0277BCE8: ; // 0x277bce8
|
|
/* 0277BCE8 */ _t411 = cpu->r[30] + 0x00000008u;
|
|
/* 0277BCE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t411);
|
|
/* 0277BCEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 0277BCF0 */ _t412 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277BCF0 */ _t413 = _t412 & 0x00000001u;
|
|
/* 0277BCF0 */ if (_t413) goto L_0277BCF8; else goto L_0277BCF4;
|
|
L_0277BCF4: ; // 0x277bcf4
|
|
/* 0277BCF4 */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0277BCF8: ; // 0x277bcf8
|
|
/* 0277BCF8 */ _t414 = cpu->r[1] + 0x00000028u;
|
|
/* 0277BCF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t414);
|
|
/* 0277BCFC */ _t415 = cpu->r[8] + 0x00000014u;
|
|
/* 0277BCFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t415);
|
|
/* 0277BD00 */ cpu->ctr = cpu->r[9];
|
|
/* 0277BD04 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277BD08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277BD0C */ _t416 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BD0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t416);
|
|
/* 0277BD10 */ cpu->r[3] = cpu->r[24];
|
|
/* 0277BD14 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277BD18 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277BD1C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277BD20 */ _t417 = cpu->r[24] + cpu->r[31];
|
|
/* 0277BD20 */ rbrew_write8(cpu->mem, _t417, (uint8_t)cpu->r[28]);
|
|
/* 0277BD24 */ cpu->r[0] = 0x00000009u;
|
|
/* 0277BD28 */ _t418 = cpu->r[1] + 0x00000020u;
|
|
/* 0277BD28 */ rbrew_write32(cpu->mem, _t418, cpu->r[27]);
|
|
/* 0277BD2C */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 0277BD30 */ _t419 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277BD30 */ rbrew_write16(cpu->mem, _t419, (uint16_t)cpu->r[27]);
|
|
/* 0277BD34 */ cpu->r[12] = 0x02780000u;
|
|
/* 0277BD38 */ _t420 = cpu->r[1] + 0x00000014u;
|
|
/* 0277BD38 */ rbrew_write16(cpu->mem, _t420, (uint16_t)cpu->r[27]);
|
|
/* 0277BD3C */ cpu->r[10] = 0x02780000u;
|
|
/* 0277BD40 */ _t421 = cpu->r[1] + 0x00000016u;
|
|
/* 0277BD40 */ rbrew_write16(cpu->mem, _t421, (uint16_t)cpu->r[6]);
|
|
/* 0277BD44 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277BD48 */ _t422 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277BD48 */ rbrew_write16(cpu->mem, _t422, (uint16_t)cpu->r[27]);
|
|
/* 0277BD4C */ cpu->r[10] = cpu->r[10] + 0xFFFFE42Cu;
|
|
/* 0277BD50 */ _t423 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277BD50 */ rbrew_write16(cpu->mem, _t423, (uint16_t)cpu->r[27]);
|
|
/* 0277BD54 */ cpu->r[12] = cpu->r[12] + 0xFFFFE45Cu;
|
|
/* 0277BD58 */ _t424 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277BD58 */ rbrew_write16(cpu->mem, _t424, (uint16_t)cpu->r[6]);
|
|
/* 0277BD5C */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277BD60 */ _t425 = cpu->r[1] + 0x00000010u;
|
|
/* 0277BD60 */ rbrew_write32(cpu->mem, _t425, cpu->r[12]);
|
|
/* 0277BD64 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277BD68 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277BD6C */ _t426 = cpu->r[1] + 0x00000008u;
|
|
/* 0277BD6C */ rbrew_write8(cpu->mem, _t426, (uint8_t)cpu->r[0]);
|
|
/* 0277BD70 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277BD74 */ _t427 = cpu->r[1] + 0x00000018u;
|
|
/* 0277BD74 */ rbrew_write32(cpu->mem, _t427, cpu->r[10]);
|
|
/* 0277BD78 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277BD7C */ cpu->r[0] = 0x10100000u;
|
|
/* 0277BD80 */ _t428 = cpu->r[1] + 0x00000028u;
|
|
/* 0277BD80 */ rbrew_write32(cpu->mem, _t428, cpu->r[26]);
|
|
/* 0277BD84 */ cpu->r[0] = cpu->r[0] + 0x00003BF0u;
|
|
/* 0277BD88 */ _t429 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BD88 */ rbrew_write32(cpu->mem, _t429, cpu->r[0]);
|
|
/* 0277BD8C */ _t430 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277BD8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t430);
|
|
/* 0277BD90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000000Au);
|
|
/* 0277BD94 */ _t431 = cpu->r[29] + 0x00000250u;
|
|
/* 0277BD94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t431);
|
|
/* 0277BD98 */ _t432 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277BD98 */ _t433 = _t432 & 0x00000001u;
|
|
/* 0277BD98 */ if (_t433) goto L_0277BD9C; else goto L_0277BDA0;
|
|
L_0277BD9C: ; // 0x277bd9c
|
|
/* 0277BD9C */ cpu->r[30] = cpu->r[30] + 0x00000168u;
|
|
L_0277BDA0: ; // 0x277bda0
|
|
/* 0277BDA0 */ cpu->ctr = cpu->r[25];
|
|
/* 0277BDA4 */ _t434 = cpu->r[30] + 0x00000000u;
|
|
/* 0277BDA4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t434);
|
|
/* 0277BDA8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277BDAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277BDB0 */ _t435 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BDB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t435);
|
|
/* 0277BDB4 */ _t436 = cpu->r[12] + 0x00000000u;
|
|
/* 0277BDB4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t436);
|
|
/* 0277BDB8 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277BDBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0277BDC0 */ cpu->r[0] = 0x00080000u;
|
|
/* 0277BDC4 */ _t437 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277BDC4 */ _t438 = _t437 & 0x00000001u;
|
|
/* 0277BDC4 */ if (_t438) goto L_0277BDEC; else goto L_0277BDC8;
|
|
L_0277BDC8: ; // 0x277bdc8
|
|
/* 0277BDC8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277BDCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0277BDD0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0277BDD4 */ _t439 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277BDD4 */ _t440 = _t439 & 0x00000001u;
|
|
/* 0277BDD4 */ if (_t440) goto L_0277BDE8; else goto L_0277BDD8;
|
|
L_0277BDD8: ; // 0x277bdd8
|
|
/* 0277BDD8 */ _t441 = cpu->r[12] + 0x00000000u;
|
|
/* 0277BDD8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t441);
|
|
/* 0277BDDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0277BDE0 */ _t442 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277BDE0 */ _t443 = _t442 & 0x00000001u;
|
|
/* 0277BDE0 */ if (_t443) goto L_0277BDE4; else goto L_0277BDC8;
|
|
L_0277BDE4: ; // 0x277bde4
|
|
/* 0277BDE4 */ goto L_0277BDEC;
|
|
L_0277BDE8: ; // 0x277bde8
|
|
/* 0277BDE8 */ cpu->r[31] = 0x00000000u;
|
|
L_0277BDEC: ; // 0x277bdec
|
|
/* 0277BDEC */ _t444 = cpu->r[30] + 0x00000008u;
|
|
/* 0277BDEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t444);
|
|
/* 0277BDF0 */ _t445 = cpu->r[1] + 0x00000028u;
|
|
/* 0277BDF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t445);
|
|
/* 0277BDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 0277BDF8 */ _t446 = cpu->r[7] + 0x00000014u;
|
|
/* 0277BDF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t446);
|
|
/* 0277BDFC */ _t447 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277BDFC */ _t448 = _t447 & 0x00000001u;
|
|
/* 0277BDFC */ if (_t448) goto L_0277BE04; else goto L_0277BE00;
|
|
L_0277BE00: ; // 0x277be00
|
|
/* 0277BE00 */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0277BE04: ; // 0x277be04
|
|
/* 0277BE04 */ cpu->ctr = cpu->r[8];
|
|
/* 0277BE08 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277BE0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277BE10 */ _t449 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BE10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t449);
|
|
/* 0277BE14 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277BE18 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277BE1C */ cpu->r[3] = cpu->r[24];
|
|
/* 0277BE20 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277BE24 */ _t450 = cpu->r[24] + cpu->r[31];
|
|
/* 0277BE24 */ rbrew_write8(cpu->mem, _t450, (uint8_t)cpu->r[28]);
|
|
/* 0277BE28 */ cpu->r[0] = 0x0000000Au;
|
|
/* 0277BE2C */ _t451 = cpu->r[1] + 0x00000020u;
|
|
/* 0277BE2C */ rbrew_write32(cpu->mem, _t451, cpu->r[27]);
|
|
/* 0277BE30 */ cpu->r[9] = 0x02780000u;
|
|
/* 0277BE34 */ _t452 = cpu->r[1] + 0x00000008u;
|
|
/* 0277BE34 */ rbrew_write8(cpu->mem, _t452, (uint8_t)cpu->r[0]);
|
|
/* 0277BE38 */ cpu->r[12] = 0x02780000u;
|
|
/* 0277BE3C */ _t453 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277BE3C */ rbrew_write16(cpu->mem, _t453, (uint16_t)cpu->r[27]);
|
|
/* 0277BE40 */ cpu->r[12] = cpu->r[12] + 0xFFFFE518u;
|
|
/* 0277BE44 */ _t454 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277BE44 */ rbrew_write16(cpu->mem, _t454, (uint16_t)cpu->r[27]);
|
|
/* 0277BE48 */ _t455 = cpu->r[1] + 0x00000010u;
|
|
/* 0277BE48 */ rbrew_write32(cpu->mem, _t455, cpu->r[12]);
|
|
/* 0277BE4C */ cpu->r[9] = cpu->r[9] + 0xFFFFE4A8u;
|
|
/* 0277BE50 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277BE54 */ _t456 = cpu->r[1] + 0x00000018u;
|
|
/* 0277BE54 */ rbrew_write32(cpu->mem, _t456, cpu->r[9]);
|
|
/* 0277BE58 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0277BE5C */ _t457 = cpu->r[1] + 0x00000014u;
|
|
/* 0277BE5C */ rbrew_write16(cpu->mem, _t457, (uint16_t)cpu->r[27]);
|
|
/* 0277BE60 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277BE64 */ _t458 = cpu->r[1] + 0x00000016u;
|
|
/* 0277BE64 */ rbrew_write16(cpu->mem, _t458, (uint16_t)cpu->r[4]);
|
|
/* 0277BE68 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277BE6C */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277BE70 */ _t459 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277BE70 */ rbrew_write16(cpu->mem, _t459, (uint16_t)cpu->r[4]);
|
|
/* 0277BE74 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277BE78 */ _t460 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277BE78 */ rbrew_write16(cpu->mem, _t460, (uint16_t)cpu->r[27]);
|
|
/* 0277BE7C */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277BE80 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277BE84 */ _t461 = cpu->r[1] + 0x00000028u;
|
|
/* 0277BE84 */ rbrew_write32(cpu->mem, _t461, cpu->r[26]);
|
|
/* 0277BE88 */ cpu->r[0] = cpu->r[0] + 0x00003C88u;
|
|
/* 0277BE8C */ _t462 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BE8C */ rbrew_write32(cpu->mem, _t462, cpu->r[0]);
|
|
/* 0277BE90 */ _t463 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277BE90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t463);
|
|
/* 0277BE94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000000Bu);
|
|
/* 0277BE98 */ _t464 = cpu->r[29] + 0x00000250u;
|
|
/* 0277BE98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t464);
|
|
/* 0277BE9C */ _t465 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277BE9C */ _t466 = _t465 & 0x00000001u;
|
|
/* 0277BE9C */ if (_t466) goto L_0277BEA0; else goto L_0277BEA4;
|
|
L_0277BEA0: ; // 0x277bea0
|
|
/* 0277BEA0 */ cpu->r[30] = cpu->r[30] + 0x0000018Cu;
|
|
L_0277BEA4: ; // 0x277bea4
|
|
/* 0277BEA4 */ cpu->ctr = cpu->r[25];
|
|
/* 0277BEA8 */ _t467 = cpu->r[30] + 0x00000000u;
|
|
/* 0277BEA8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t467);
|
|
/* 0277BEAC */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277BEB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277BEB4 */ _t468 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BEB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t468);
|
|
/* 0277BEB8 */ _t469 = cpu->r[10] + 0x00000000u;
|
|
/* 0277BEB8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t469);
|
|
/* 0277BEBC */ cpu->r[31] = 0x00000000u;
|
|
/* 0277BEC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0277BEC4 */ cpu->r[11] = 0x00080000u;
|
|
/* 0277BEC8 */ _t470 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277BEC8 */ _t471 = _t470 & 0x00000001u;
|
|
/* 0277BEC8 */ if (_t471) goto L_0277BEF0; else goto L_0277BECC;
|
|
L_0277BECC: ; // 0x277becc
|
|
/* 0277BECC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277BED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 0277BED4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0277BED8 */ _t472 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277BED8 */ _t473 = _t472 & 0x00000001u;
|
|
/* 0277BED8 */ if (_t473) goto L_0277BEEC; else goto L_0277BEDC;
|
|
L_0277BEDC: ; // 0x277bedc
|
|
/* 0277BEDC */ _t474 = cpu->r[10] + 0x00000000u;
|
|
/* 0277BEDC */ cpu->r[6] = rbrew_read8(cpu->mem, _t474);
|
|
/* 0277BEE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0277BEE4 */ _t475 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277BEE4 */ _t476 = _t475 & 0x00000001u;
|
|
/* 0277BEE4 */ if (_t476) goto L_0277BEE8; else goto L_0277BECC;
|
|
L_0277BEE8: ; // 0x277bee8
|
|
/* 0277BEE8 */ goto L_0277BEF0;
|
|
L_0277BEEC: ; // 0x277beec
|
|
/* 0277BEEC */ cpu->r[31] = 0x00000000u;
|
|
L_0277BEF0: ; // 0x277bef0
|
|
/* 0277BEF0 */ _t477 = cpu->r[30] + 0x00000008u;
|
|
/* 0277BEF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t477);
|
|
/* 0277BEF4 */ _t478 = cpu->r[1] + 0x00000028u;
|
|
/* 0277BEF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t478);
|
|
/* 0277BEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 0277BEFC */ _t479 = cpu->r[7] + 0x00000014u;
|
|
/* 0277BEFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t479);
|
|
/* 0277BF00 */ _t480 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277BF00 */ _t481 = _t480 & 0x00000001u;
|
|
/* 0277BF00 */ if (_t481) goto L_0277BF08; else goto L_0277BF04;
|
|
L_0277BF04: ; // 0x277bf04
|
|
/* 0277BF04 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0277BF08: ; // 0x277bf08
|
|
/* 0277BF08 */ cpu->ctr = cpu->r[8];
|
|
/* 0277BF0C */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277BF10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277BF14 */ _t482 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BF14 */ cpu->r[4] = rbrew_read32(cpu->mem, _t482);
|
|
/* 0277BF18 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277BF1C */ cpu->r[5] = cpu->r[31];
|
|
/* 0277BF20 */ cpu->r[3] = cpu->r[24];
|
|
/* 0277BF24 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277BF28 */ _t483 = cpu->r[24] + cpu->r[31];
|
|
/* 0277BF28 */ rbrew_write8(cpu->mem, _t483, (uint8_t)cpu->r[28]);
|
|
/* 0277BF2C */ cpu->r[8] = 0x0000000Bu;
|
|
/* 0277BF30 */ _t484 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277BF30 */ rbrew_write16(cpu->mem, _t484, (uint16_t)cpu->r[27]);
|
|
/* 0277BF34 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 0277BF38 */ _t485 = cpu->r[1] + 0x00000008u;
|
|
/* 0277BF38 */ rbrew_write8(cpu->mem, _t485, (uint8_t)cpu->r[8]);
|
|
/* 0277BF3C */ cpu->r[9] = 0x02780000u;
|
|
/* 0277BF40 */ _t486 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277BF40 */ rbrew_write16(cpu->mem, _t486, (uint16_t)cpu->r[12]);
|
|
/* 0277BF44 */ cpu->r[11] = 0x02780000u;
|
|
/* 0277BF48 */ _t487 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277BF48 */ rbrew_write16(cpu->mem, _t487, (uint16_t)cpu->r[27]);
|
|
/* 0277BF4C */ _t488 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277BF4C */ rbrew_write16(cpu->mem, _t488, (uint16_t)cpu->r[27]);
|
|
/* 0277BF50 */ cpu->r[11] = cpu->r[11] + 0xFFFFE700u;
|
|
/* 0277BF54 */ _t489 = cpu->r[1] + 0x00000016u;
|
|
/* 0277BF54 */ rbrew_write16(cpu->mem, _t489, (uint16_t)cpu->r[12]);
|
|
/* 0277BF58 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277BF5C */ _t490 = cpu->r[1] + 0x00000010u;
|
|
/* 0277BF5C */ rbrew_write32(cpu->mem, _t490, cpu->r[11]);
|
|
/* 0277BF60 */ cpu->r[9] = cpu->r[9] + 0xFFFFE6D0u;
|
|
/* 0277BF64 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277BF68 */ _t491 = cpu->r[1] + 0x00000014u;
|
|
/* 0277BF68 */ rbrew_write16(cpu->mem, _t491, (uint16_t)cpu->r[27]);
|
|
/* 0277BF6C */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277BF70 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277BF74 */ _t492 = cpu->r[1] + 0x00000018u;
|
|
/* 0277BF74 */ rbrew_write32(cpu->mem, _t492, cpu->r[9]);
|
|
/* 0277BF78 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277BF7C */ _t493 = cpu->r[1] + 0x00000020u;
|
|
/* 0277BF7C */ rbrew_write32(cpu->mem, _t493, cpu->r[27]);
|
|
/* 0277BF80 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277BF84 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277BF88 */ _t494 = cpu->r[1] + 0x00000028u;
|
|
/* 0277BF88 */ rbrew_write32(cpu->mem, _t494, cpu->r[26]);
|
|
/* 0277BF8C */ cpu->r[0] = cpu->r[0] + 0x00003B24u;
|
|
/* 0277BF90 */ _t495 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BF90 */ rbrew_write32(cpu->mem, _t495, cpu->r[0]);
|
|
/* 0277BF94 */ _t496 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277BF94 */ cpu->r[4] = rbrew_read32(cpu->mem, _t496);
|
|
/* 0277BF98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000000Cu);
|
|
/* 0277BF9C */ _t497 = cpu->r[29] + 0x00000250u;
|
|
/* 0277BF9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t497);
|
|
/* 0277BFA0 */ _t498 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277BFA0 */ _t499 = _t498 & 0x00000001u;
|
|
/* 0277BFA0 */ if (_t499) goto L_0277BFA4; else goto L_0277BFA8;
|
|
L_0277BFA4: ; // 0x277bfa4
|
|
/* 0277BFA4 */ cpu->r[30] = cpu->r[30] + 0x000001B0u;
|
|
L_0277BFA8: ; // 0x277bfa8
|
|
/* 0277BFA8 */ cpu->ctr = cpu->r[25];
|
|
/* 0277BFAC */ _t500 = cpu->r[30] + 0x00000000u;
|
|
/* 0277BFAC */ cpu->r[24] = rbrew_read32(cpu->mem, _t500);
|
|
/* 0277BFB0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277BFB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277BFB8 */ _t501 = cpu->r[1] + 0x00000024u;
|
|
/* 0277BFB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t501);
|
|
/* 0277BFBC */ _t502 = cpu->r[8] + 0x00000000u;
|
|
/* 0277BFBC */ cpu->r[0] = rbrew_read8(cpu->mem, _t502);
|
|
/* 0277BFC0 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277BFC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0277BFC8 */ cpu->r[9] = 0x00080000u;
|
|
/* 0277BFCC */ _t503 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277BFCC */ _t504 = _t503 & 0x00000001u;
|
|
/* 0277BFCC */ if (_t504) goto L_0277BFF4; else goto L_0277BFD0;
|
|
L_0277BFD0: ; // 0x277bfd0
|
|
/* 0277BFD0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277BFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 0277BFD8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0277BFDC */ _t505 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277BFDC */ _t506 = _t505 & 0x00000001u;
|
|
/* 0277BFDC */ if (_t506) goto L_0277BFF0; else goto L_0277BFE0;
|
|
L_0277BFE0: ; // 0x277bfe0
|
|
/* 0277BFE0 */ _t507 = cpu->r[8] + 0x00000000u;
|
|
/* 0277BFE0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t507);
|
|
/* 0277BFE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0277BFE8 */ _t508 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277BFE8 */ _t509 = _t508 & 0x00000001u;
|
|
/* 0277BFE8 */ if (_t509) goto L_0277BFEC; else goto L_0277BFD0;
|
|
L_0277BFEC: ; // 0x277bfec
|
|
/* 0277BFEC */ goto L_0277BFF4;
|
|
L_0277BFF0: ; // 0x277bff0
|
|
/* 0277BFF0 */ cpu->r[31] = 0x00000000u;
|
|
L_0277BFF4: ; // 0x277bff4
|
|
/* 0277BFF4 */ _t510 = cpu->r[30] + 0x00000008u;
|
|
/* 0277BFF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t510);
|
|
/* 0277BFF8 */ _t511 = cpu->r[1] + 0x00000028u;
|
|
/* 0277BFF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t511);
|
|
/* 0277BFFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0277C000 */ _t512 = cpu->r[7] + 0x00000014u;
|
|
/* 0277C000 */ cpu->r[8] = rbrew_read32(cpu->mem, _t512);
|
|
/* 0277C004 */ _t513 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277C004 */ _t514 = _t513 & 0x00000001u;
|
|
/* 0277C004 */ if (_t514) goto L_0277C00C; else goto L_0277C008;
|
|
L_0277C008: ; // 0x277c008
|
|
/* 0277C008 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0277C00C: ; // 0x277c00c
|
|
/* 0277C00C */ cpu->ctr = cpu->r[8];
|
|
/* 0277C010 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C014 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C018 */ _t515 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C018 */ cpu->r[4] = rbrew_read32(cpu->mem, _t515);
|
|
/* 0277C01C */ cpu->r[3] = cpu->r[24];
|
|
/* 0277C020 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277C024 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277C028 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277C02C */ _t516 = cpu->r[24] + cpu->r[31];
|
|
/* 0277C02C */ rbrew_write8(cpu->mem, _t516, (uint8_t)cpu->r[28]);
|
|
/* 0277C030 */ cpu->r[0] = 0x0000000Cu;
|
|
/* 0277C034 */ _t517 = cpu->r[1] + 0x00000020u;
|
|
/* 0277C034 */ rbrew_write32(cpu->mem, _t517, cpu->r[27]);
|
|
/* 0277C038 */ cpu->r[9] = 0x02780000u;
|
|
/* 0277C03C */ _t518 = cpu->r[1] + 0x00000008u;
|
|
/* 0277C03C */ rbrew_write8(cpu->mem, _t518, (uint8_t)cpu->r[0]);
|
|
/* 0277C040 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0277C044 */ _t519 = cpu->r[1] + 0x00000014u;
|
|
/* 0277C044 */ rbrew_write16(cpu->mem, _t519, (uint16_t)cpu->r[27]);
|
|
/* 0277C048 */ cpu->r[11] = 0x02780000u;
|
|
/* 0277C04C */ _t520 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C04C */ rbrew_write16(cpu->mem, _t520, (uint16_t)cpu->r[27]);
|
|
/* 0277C050 */ _t521 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277C050 */ rbrew_write16(cpu->mem, _t521, (uint16_t)cpu->r[27]);
|
|
/* 0277C054 */ cpu->r[9] = cpu->r[9] + 0xFFFFE74Cu;
|
|
/* 0277C058 */ _t522 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277C058 */ rbrew_write16(cpu->mem, _t522, (uint16_t)cpu->r[0]);
|
|
/* 0277C05C */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C060 */ _t523 = cpu->r[1] + 0x00000018u;
|
|
/* 0277C060 */ rbrew_write32(cpu->mem, _t523, cpu->r[9]);
|
|
/* 0277C064 */ cpu->r[11] = cpu->r[11] + 0xFFFFE77Cu;
|
|
/* 0277C068 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277C06C */ _t524 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C06C */ rbrew_write16(cpu->mem, _t524, (uint16_t)cpu->r[27]);
|
|
/* 0277C070 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277C074 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C078 */ _t525 = cpu->r[1] + 0x00000010u;
|
|
/* 0277C078 */ rbrew_write32(cpu->mem, _t525, cpu->r[11]);
|
|
/* 0277C07C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277C080 */ _t526 = cpu->r[1] + 0x00000016u;
|
|
/* 0277C080 */ rbrew_write16(cpu->mem, _t526, (uint16_t)cpu->r[0]);
|
|
/* 0277C084 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277C088 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277C08C */ _t527 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C08C */ rbrew_write32(cpu->mem, _t527, cpu->r[26]);
|
|
/* 0277C090 */ cpu->r[12] = cpu->r[12] + 0x00003B38u;
|
|
/* 0277C094 */ _t528 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C094 */ rbrew_write32(cpu->mem, _t528, cpu->r[12]);
|
|
/* 0277C098 */ _t529 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277C098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t529);
|
|
/* 0277C09C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Du);
|
|
/* 0277C0A0 */ _t530 = cpu->r[29] + 0x00000250u;
|
|
/* 0277C0A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t530);
|
|
/* 0277C0A4 */ _t531 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C0A4 */ _t532 = _t531 & 0x00000001u;
|
|
/* 0277C0A4 */ if (_t532) goto L_0277C0A8; else goto L_0277C0AC;
|
|
L_0277C0A8: ; // 0x277c0a8
|
|
/* 0277C0A8 */ cpu->r[30] = cpu->r[30] + 0x000001D4u;
|
|
L_0277C0AC: ; // 0x277c0ac
|
|
/* 0277C0AC */ cpu->ctr = cpu->r[25];
|
|
/* 0277C0B0 */ _t533 = cpu->r[30] + 0x00000000u;
|
|
/* 0277C0B0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t533);
|
|
/* 0277C0B4 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C0B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C0BC */ _t534 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C0BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t534);
|
|
/* 0277C0C0 */ _t535 = cpu->r[6] + 0x00000000u;
|
|
/* 0277C0C0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t535);
|
|
/* 0277C0C4 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277C0C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[28]);
|
|
/* 0277C0CC */ cpu->r[7] = 0x00080000u;
|
|
/* 0277C0D0 */ _t536 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C0D0 */ _t537 = _t536 & 0x00000001u;
|
|
/* 0277C0D0 */ if (_t537) goto L_0277C0F8; else goto L_0277C0D4;
|
|
L_0277C0D4: ; // 0x277c0d4
|
|
/* 0277C0D4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277C0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 0277C0DC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0277C0E0 */ _t538 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C0E0 */ _t539 = _t538 & 0x00000001u;
|
|
/* 0277C0E0 */ if (_t539) goto L_0277C0F4; else goto L_0277C0E4;
|
|
L_0277C0E4: ; // 0x277c0e4
|
|
/* 0277C0E4 */ _t540 = cpu->r[6] + 0x00000000u;
|
|
/* 0277C0E4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t540);
|
|
/* 0277C0E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0277C0EC */ _t541 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C0EC */ _t542 = _t541 & 0x00000001u;
|
|
/* 0277C0EC */ if (_t542) goto L_0277C0F0; else goto L_0277C0D4;
|
|
L_0277C0F0: ; // 0x277c0f0
|
|
/* 0277C0F0 */ goto L_0277C0F8;
|
|
L_0277C0F4: ; // 0x277c0f4
|
|
/* 0277C0F4 */ cpu->r[31] = 0x00000000u;
|
|
L_0277C0F8: ; // 0x277c0f8
|
|
/* 0277C0F8 */ _t543 = cpu->r[30] + 0x00000008u;
|
|
/* 0277C0F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t543);
|
|
/* 0277C0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 0277C100 */ _t544 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277C100 */ _t545 = _t544 & 0x00000001u;
|
|
/* 0277C100 */ if (_t545) goto L_0277C108; else goto L_0277C104;
|
|
L_0277C104: ; // 0x277c104
|
|
/* 0277C104 */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0277C108: ; // 0x277c108
|
|
/* 0277C108 */ _t546 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C108 */ cpu->r[6] = rbrew_read32(cpu->mem, _t546);
|
|
/* 0277C10C */ _t547 = cpu->r[6] + 0x00000014u;
|
|
/* 0277C10C */ cpu->r[0] = rbrew_read32(cpu->mem, _t547);
|
|
/* 0277C110 */ cpu->ctr = cpu->r[0];
|
|
/* 0277C114 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C118 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C11C */ _t548 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C11C */ cpu->r[4] = rbrew_read32(cpu->mem, _t548);
|
|
/* 0277C120 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277C124 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277C128 */ cpu->r[3] = cpu->r[24];
|
|
/* 0277C12C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277C130 */ _t549 = cpu->r[24] + cpu->r[31];
|
|
/* 0277C130 */ rbrew_write8(cpu->mem, _t549, (uint8_t)cpu->r[28]);
|
|
/* 0277C134 */ cpu->r[0] = 0x0000000Du;
|
|
/* 0277C138 */ _t550 = cpu->r[1] + 0x00000014u;
|
|
/* 0277C138 */ rbrew_write16(cpu->mem, _t550, (uint16_t)cpu->r[27]);
|
|
/* 0277C13C */ cpu->r[12] = 0x02780000u;
|
|
/* 0277C140 */ _t551 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C140 */ rbrew_write16(cpu->mem, _t551, (uint16_t)cpu->r[27]);
|
|
/* 0277C144 */ cpu->r[12] = cpu->r[12] + 0xFFFFE8B8u;
|
|
/* 0277C148 */ _t552 = cpu->r[1] + 0x00000008u;
|
|
/* 0277C148 */ rbrew_write8(cpu->mem, _t552, (uint8_t)cpu->r[0]);
|
|
/* 0277C14C */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 0277C150 */ _t553 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277C150 */ rbrew_write16(cpu->mem, _t553, (uint16_t)cpu->r[27]);
|
|
/* 0277C154 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277C158 */ _t554 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277C158 */ rbrew_write16(cpu->mem, _t554, (uint16_t)cpu->r[9]);
|
|
/* 0277C15C */ cpu->r[8] = 0x02780000u;
|
|
/* 0277C160 */ _t555 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C160 */ rbrew_write16(cpu->mem, _t555, (uint16_t)cpu->r[27]);
|
|
/* 0277C164 */ cpu->r[8] = cpu->r[8] + 0xFFFFE7C8u;
|
|
/* 0277C168 */ _t556 = cpu->r[1] + 0x00000016u;
|
|
/* 0277C168 */ rbrew_write16(cpu->mem, _t556, (uint16_t)cpu->r[9]);
|
|
/* 0277C16C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277C170 */ _t557 = cpu->r[1] + 0x00000010u;
|
|
/* 0277C170 */ rbrew_write32(cpu->mem, _t557, cpu->r[12]);
|
|
/* 0277C174 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277C178 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C17C */ _t558 = cpu->r[1] + 0x00000018u;
|
|
/* 0277C17C */ rbrew_write32(cpu->mem, _t558, cpu->r[8]);
|
|
/* 0277C180 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C184 */ _t559 = cpu->r[1] + 0x00000020u;
|
|
/* 0277C184 */ rbrew_write32(cpu->mem, _t559, cpu->r[27]);
|
|
/* 0277C188 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277C18C */ cpu->r[4] = 0x10100000u;
|
|
/* 0277C190 */ _t560 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C190 */ rbrew_write32(cpu->mem, _t560, cpu->r[26]);
|
|
/* 0277C194 */ cpu->r[4] = cpu->r[4] + 0x00003C9Cu;
|
|
/* 0277C198 */ _t561 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C198 */ rbrew_write32(cpu->mem, _t561, cpu->r[4]);
|
|
/* 0277C19C */ _t562 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277C19C */ cpu->r[5] = rbrew_read32(cpu->mem, _t562);
|
|
/* 0277C1A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x0000000Eu);
|
|
/* 0277C1A4 */ _t563 = cpu->r[29] + 0x00000250u;
|
|
/* 0277C1A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t563);
|
|
/* 0277C1A8 */ _t564 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C1A8 */ _t565 = _t564 & 0x00000001u;
|
|
/* 0277C1A8 */ if (_t565) goto L_0277C1AC; else goto L_0277C1B0;
|
|
L_0277C1AC: ; // 0x277c1ac
|
|
/* 0277C1AC */ cpu->r[30] = cpu->r[30] + 0x000001F8u;
|
|
L_0277C1B0: ; // 0x277c1b0
|
|
/* 0277C1B0 */ cpu->ctr = cpu->r[25];
|
|
/* 0277C1B4 */ _t566 = cpu->r[30] + 0x00000000u;
|
|
/* 0277C1B4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t566);
|
|
/* 0277C1B8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C1BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C1C0 */ _t567 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C1C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t567);
|
|
/* 0277C1C4 */ _t568 = cpu->r[4] + 0x00000000u;
|
|
/* 0277C1C4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t568);
|
|
/* 0277C1C8 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277C1CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0277C1D0 */ cpu->r[5] = 0x00080000u;
|
|
/* 0277C1D4 */ _t569 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C1D4 */ _t570 = _t569 & 0x00000001u;
|
|
/* 0277C1D4 */ if (_t570) goto L_0277C1FC; else goto L_0277C1D8;
|
|
L_0277C1D8: ; // 0x277c1d8
|
|
/* 0277C1D8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277C1DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 0277C1E0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0277C1E4 */ _t571 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C1E4 */ _t572 = _t571 & 0x00000001u;
|
|
/* 0277C1E4 */ if (_t572) goto L_0277C1F8; else goto L_0277C1E8;
|
|
L_0277C1E8: ; // 0x277c1e8
|
|
/* 0277C1E8 */ _t573 = cpu->r[4] + 0x00000000u;
|
|
/* 0277C1E8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t573);
|
|
/* 0277C1EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 0277C1F0 */ _t574 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C1F0 */ _t575 = _t574 & 0x00000001u;
|
|
/* 0277C1F0 */ if (_t575) goto L_0277C1F4; else goto L_0277C1D8;
|
|
L_0277C1F4: ; // 0x277c1f4
|
|
/* 0277C1F4 */ goto L_0277C1FC;
|
|
L_0277C1F8: ; // 0x277c1f8
|
|
/* 0277C1F8 */ cpu->r[31] = 0x00000000u;
|
|
L_0277C1FC: ; // 0x277c1fc
|
|
/* 0277C1FC */ _t576 = cpu->r[30] + 0x00000008u;
|
|
/* 0277C1FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t576);
|
|
/* 0277C200 */ _t577 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C200 */ cpu->r[8] = rbrew_read32(cpu->mem, _t577);
|
|
/* 0277C204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 0277C208 */ _t578 = cpu->r[8] + 0x00000014u;
|
|
/* 0277C208 */ cpu->r[9] = rbrew_read32(cpu->mem, _t578);
|
|
/* 0277C20C */ _t579 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277C20C */ _t580 = _t579 & 0x00000001u;
|
|
/* 0277C20C */ if (_t580) goto L_0277C214; else goto L_0277C210;
|
|
L_0277C210: ; // 0x277c210
|
|
/* 0277C210 */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0277C214: ; // 0x277c214
|
|
/* 0277C214 */ cpu->ctr = cpu->r[9];
|
|
/* 0277C218 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C21C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C220 */ _t581 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C220 */ cpu->r[4] = rbrew_read32(cpu->mem, _t581);
|
|
/* 0277C224 */ cpu->r[3] = cpu->r[24];
|
|
/* 0277C228 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277C22C */ cpu->r[6] = 0x00000000u;
|
|
/* 0277C230 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277C234 */ _t582 = cpu->r[24] + cpu->r[31];
|
|
/* 0277C234 */ rbrew_write8(cpu->mem, _t582, (uint8_t)cpu->r[28]);
|
|
/* 0277C238 */ cpu->r[0] = 0x0000000Eu;
|
|
/* 0277C23C */ _t583 = cpu->r[1] + 0x00000020u;
|
|
/* 0277C23C */ rbrew_write32(cpu->mem, _t583, cpu->r[27]);
|
|
/* 0277C240 */ cpu->r[10] = 0x02780000u;
|
|
/* 0277C244 */ _t584 = cpu->r[1] + 0x00000008u;
|
|
/* 0277C244 */ rbrew_write8(cpu->mem, _t584, (uint8_t)cpu->r[0]);
|
|
/* 0277C248 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0277C24C */ _t585 = cpu->r[1] + 0x00000014u;
|
|
/* 0277C24C */ rbrew_write16(cpu->mem, _t585, (uint16_t)cpu->r[27]);
|
|
/* 0277C250 */ cpu->r[12] = 0x02780000u;
|
|
/* 0277C254 */ _t586 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C254 */ rbrew_write16(cpu->mem, _t586, (uint16_t)cpu->r[27]);
|
|
/* 0277C258 */ _t587 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277C258 */ rbrew_write16(cpu->mem, _t587, (uint16_t)cpu->r[27]);
|
|
/* 0277C25C */ cpu->r[10] = cpu->r[10] + 0xFFFFF2CCu;
|
|
/* 0277C260 */ _t588 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277C260 */ rbrew_write16(cpu->mem, _t588, (uint16_t)cpu->r[0]);
|
|
/* 0277C264 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C268 */ _t589 = cpu->r[1] + 0x00000018u;
|
|
/* 0277C268 */ rbrew_write32(cpu->mem, _t589, cpu->r[10]);
|
|
/* 0277C26C */ cpu->r[12] = cpu->r[12] + 0xFFFFF39Cu;
|
|
/* 0277C270 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277C274 */ _t590 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C274 */ rbrew_write16(cpu->mem, _t590, (uint16_t)cpu->r[27]);
|
|
/* 0277C278 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277C27C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C280 */ _t591 = cpu->r[1] + 0x00000010u;
|
|
/* 0277C280 */ rbrew_write32(cpu->mem, _t591, cpu->r[12]);
|
|
/* 0277C284 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277C288 */ _t592 = cpu->r[1] + 0x00000016u;
|
|
/* 0277C288 */ rbrew_write16(cpu->mem, _t592, (uint16_t)cpu->r[0]);
|
|
/* 0277C28C */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277C290 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277C294 */ _t593 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C294 */ rbrew_write32(cpu->mem, _t593, cpu->r[26]);
|
|
/* 0277C298 */ cpu->r[0] = cpu->r[0] + 0x00003CB8u;
|
|
/* 0277C29C */ _t594 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C29C */ rbrew_write32(cpu->mem, _t594, cpu->r[0]);
|
|
/* 0277C2A0 */ _t595 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277C2A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t595);
|
|
/* 0277C2A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000000Fu);
|
|
/* 0277C2A8 */ _t596 = cpu->r[29] + 0x00000250u;
|
|
/* 0277C2A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t596);
|
|
/* 0277C2AC */ _t597 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C2AC */ _t598 = _t597 & 0x00000001u;
|
|
/* 0277C2AC */ if (_t598) goto L_0277C2B0; else goto L_0277C2B4;
|
|
L_0277C2B0: ; // 0x277c2b0
|
|
/* 0277C2B0 */ cpu->r[30] = cpu->r[30] + 0x0000021Cu;
|
|
L_0277C2B4: ; // 0x277c2b4
|
|
/* 0277C2B4 */ cpu->ctr = cpu->r[25];
|
|
/* 0277C2B8 */ _t599 = cpu->r[30] + 0x00000000u;
|
|
/* 0277C2B8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t599);
|
|
/* 0277C2BC */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C2C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C2C4 */ _t600 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C2C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t600);
|
|
/* 0277C2C8 */ _t601 = cpu->r[12] + 0x00000000u;
|
|
/* 0277C2C8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t601);
|
|
/* 0277C2CC */ cpu->r[31] = 0x00000000u;
|
|
/* 0277C2D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0277C2D4 */ cpu->r[0] = 0x00080000u;
|
|
/* 0277C2D8 */ _t602 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C2D8 */ _t603 = _t602 & 0x00000001u;
|
|
/* 0277C2D8 */ if (_t603) goto L_0277C300; else goto L_0277C2DC;
|
|
L_0277C2DC: ; // 0x277c2dc
|
|
/* 0277C2DC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277C2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0277C2E4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0277C2E8 */ _t604 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C2E8 */ _t605 = _t604 & 0x00000001u;
|
|
/* 0277C2E8 */ if (_t605) goto L_0277C2FC; else goto L_0277C2EC;
|
|
L_0277C2EC: ; // 0x277c2ec
|
|
/* 0277C2EC */ _t606 = cpu->r[12] + 0x00000000u;
|
|
/* 0277C2EC */ cpu->r[6] = rbrew_read8(cpu->mem, _t606);
|
|
/* 0277C2F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0277C2F4 */ _t607 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C2F4 */ _t608 = _t607 & 0x00000001u;
|
|
/* 0277C2F4 */ if (_t608) goto L_0277C2F8; else goto L_0277C2DC;
|
|
L_0277C2F8: ; // 0x277c2f8
|
|
/* 0277C2F8 */ goto L_0277C300;
|
|
L_0277C2FC: ; // 0x277c2fc
|
|
/* 0277C2FC */ cpu->r[31] = 0x00000000u;
|
|
L_0277C300: ; // 0x277c300
|
|
/* 0277C300 */ _t609 = cpu->r[30] + 0x00000008u;
|
|
/* 0277C300 */ cpu->r[8] = rbrew_read32(cpu->mem, _t609);
|
|
/* 0277C304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 0277C308 */ _t610 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C308 */ cpu->r[7] = rbrew_read32(cpu->mem, _t610);
|
|
/* 0277C30C */ _t611 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277C30C */ _t612 = _t611 & 0x00000001u;
|
|
/* 0277C30C */ if (_t612) goto L_0277C314; else goto L_0277C310;
|
|
L_0277C310: ; // 0x277c310
|
|
/* 0277C310 */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0277C314: ; // 0x277c314
|
|
/* 0277C314 */ _t613 = cpu->r[7] + 0x00000014u;
|
|
/* 0277C314 */ cpu->r[8] = rbrew_read32(cpu->mem, _t613);
|
|
/* 0277C318 */ cpu->ctr = cpu->r[8];
|
|
/* 0277C31C */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C320 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C324 */ _t614 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C324 */ cpu->r[4] = rbrew_read32(cpu->mem, _t614);
|
|
/* 0277C328 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277C32C */ cpu->r[5] = cpu->r[31];
|
|
/* 0277C330 */ cpu->r[3] = cpu->r[24];
|
|
/* 0277C334 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277C338 */ _t615 = cpu->r[24] + cpu->r[31];
|
|
/* 0277C338 */ rbrew_write8(cpu->mem, _t615, (uint8_t)cpu->r[28]);
|
|
/* 0277C33C */ cpu->r[11] = 0x02780000u;
|
|
/* 0277C340 */ _t616 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C340 */ rbrew_write16(cpu->mem, _t616, (uint16_t)cpu->r[27]);
|
|
/* 0277C344 */ cpu->r[4] = 0x0000000Fu;
|
|
/* 0277C348 */ _t617 = cpu->r[1] + 0x00000020u;
|
|
/* 0277C348 */ rbrew_write32(cpu->mem, _t617, cpu->r[27]);
|
|
/* 0277C34C */ cpu->r[11] = cpu->r[11] + 0xFFFFF3E8u;
|
|
/* 0277C350 */ _t618 = cpu->r[1] + 0x00000008u;
|
|
/* 0277C350 */ rbrew_write8(cpu->mem, _t618, (uint8_t)cpu->r[4]);
|
|
/* 0277C354 */ cpu->r[9] = 0x02780000u;
|
|
/* 0277C358 */ _t619 = cpu->r[1] + 0x00000010u;
|
|
/* 0277C358 */ rbrew_write32(cpu->mem, _t619, cpu->r[11]);
|
|
/* 0277C35C */ cpu->r[9] = cpu->r[9] + 0x00000C34u;
|
|
/* 0277C360 */ _t620 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277C360 */ rbrew_write16(cpu->mem, _t620, (uint16_t)cpu->r[27]);
|
|
/* 0277C364 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0277C368 */ _t621 = cpu->r[1] + 0x00000014u;
|
|
/* 0277C368 */ rbrew_write16(cpu->mem, _t621, (uint16_t)cpu->r[27]);
|
|
/* 0277C36C */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277C370 */ _t622 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277C370 */ rbrew_write16(cpu->mem, _t622, (uint16_t)cpu->r[4]);
|
|
/* 0277C374 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C378 */ _t623 = cpu->r[1] + 0x00000018u;
|
|
/* 0277C378 */ rbrew_write32(cpu->mem, _t623, cpu->r[9]);
|
|
/* 0277C37C */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C380 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277C384 */ _t624 = cpu->r[1] + 0x00000016u;
|
|
/* 0277C384 */ rbrew_write16(cpu->mem, _t624, (uint16_t)cpu->r[4]);
|
|
/* 0277C388 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277C38C */ _t625 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C38C */ rbrew_write16(cpu->mem, _t625, (uint16_t)cpu->r[27]);
|
|
/* 0277C390 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277C394 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277C398 */ _t626 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C398 */ rbrew_write32(cpu->mem, _t626, cpu->r[26]);
|
|
/* 0277C39C */ cpu->r[0] = cpu->r[0] + 0x00003B44u;
|
|
/* 0277C3A0 */ _t627 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C3A0 */ rbrew_write32(cpu->mem, _t627, cpu->r[0]);
|
|
/* 0277C3A4 */ _t628 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277C3A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t628);
|
|
/* 0277C3A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000010u);
|
|
/* 0277C3AC */ _t629 = cpu->r[29] + 0x00000250u;
|
|
/* 0277C3AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t629);
|
|
/* 0277C3B0 */ _t630 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C3B0 */ _t631 = _t630 & 0x00000001u;
|
|
/* 0277C3B0 */ if (_t631) goto L_0277C3B4; else goto L_0277C3B8;
|
|
L_0277C3B4: ; // 0x277c3b4
|
|
/* 0277C3B4 */ cpu->r[30] = cpu->r[30] + 0x00000240u;
|
|
L_0277C3B8: ; // 0x277c3b8
|
|
/* 0277C3B8 */ cpu->ctr = cpu->r[25];
|
|
/* 0277C3BC */ _t632 = cpu->r[30] + 0x00000000u;
|
|
/* 0277C3BC */ cpu->r[24] = rbrew_read32(cpu->mem, _t632);
|
|
/* 0277C3C0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C3C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C3C8 */ _t633 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C3C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t633);
|
|
/* 0277C3CC */ _t634 = cpu->r[10] + 0x00000000u;
|
|
/* 0277C3CC */ cpu->r[4] = rbrew_read8(cpu->mem, _t634);
|
|
/* 0277C3D0 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277C3D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[28]);
|
|
/* 0277C3D8 */ cpu->r[11] = 0x00080000u;
|
|
/* 0277C3DC */ _t635 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C3DC */ _t636 = _t635 & 0x00000001u;
|
|
/* 0277C3DC */ if (_t636) goto L_0277C404; else goto L_0277C3E0;
|
|
L_0277C3E0: ; // 0x277c3e0
|
|
/* 0277C3E0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277C3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 0277C3E8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0277C3EC */ _t637 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C3EC */ _t638 = _t637 & 0x00000001u;
|
|
/* 0277C3EC */ if (_t638) goto L_0277C400; else goto L_0277C3F0;
|
|
L_0277C3F0: ; // 0x277c3f0
|
|
/* 0277C3F0 */ _t639 = cpu->r[10] + 0x00000000u;
|
|
/* 0277C3F0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t639);
|
|
/* 0277C3F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0277C3F8 */ _t640 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C3F8 */ _t641 = _t640 & 0x00000001u;
|
|
/* 0277C3F8 */ if (_t641) goto L_0277C3FC; else goto L_0277C3E0;
|
|
L_0277C3FC: ; // 0x277c3fc
|
|
/* 0277C3FC */ goto L_0277C404;
|
|
L_0277C400: ; // 0x277c400
|
|
/* 0277C400 */ cpu->r[31] = 0x00000000u;
|
|
L_0277C404: ; // 0x277c404
|
|
/* 0277C404 */ _t642 = cpu->r[30] + 0x00000008u;
|
|
/* 0277C404 */ cpu->r[10] = rbrew_read32(cpu->mem, _t642);
|
|
/* 0277C408 */ _t643 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C408 */ cpu->r[6] = rbrew_read32(cpu->mem, _t643);
|
|
/* 0277C40C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 0277C410 */ _t644 = cpu->r[6] + 0x00000014u;
|
|
/* 0277C410 */ cpu->r[7] = rbrew_read32(cpu->mem, _t644);
|
|
/* 0277C414 */ _t645 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277C414 */ _t646 = _t645 & 0x00000001u;
|
|
/* 0277C414 */ if (_t646) goto L_0277C41C; else goto L_0277C418;
|
|
L_0277C418: ; // 0x277c418
|
|
/* 0277C418 */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0277C41C: ; // 0x277c41c
|
|
/* 0277C41C */ cpu->ctr = cpu->r[7];
|
|
/* 0277C420 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C424 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C428 */ _t647 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C428 */ cpu->r[4] = rbrew_read32(cpu->mem, _t647);
|
|
/* 0277C42C */ cpu->r[3] = cpu->r[24];
|
|
/* 0277C430 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277C434 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277C438 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277C43C */ _t648 = cpu->r[24] + cpu->r[31];
|
|
/* 0277C43C */ rbrew_write8(cpu->mem, _t648, (uint8_t)cpu->r[28]);
|
|
/* 0277C440 */ cpu->r[0] = 0x00000010u;
|
|
/* 0277C444 */ _t649 = cpu->r[1] + 0x00000020u;
|
|
/* 0277C444 */ rbrew_write32(cpu->mem, _t649, cpu->r[27]);
|
|
/* 0277C448 */ cpu->r[8] = 0x02780000u;
|
|
/* 0277C44C */ _t650 = cpu->r[1] + 0x00000008u;
|
|
/* 0277C44C */ rbrew_write8(cpu->mem, _t650, (uint8_t)cpu->r[0]);
|
|
/* 0277C450 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0277C454 */ _t651 = cpu->r[1] + 0x00000014u;
|
|
/* 0277C454 */ rbrew_write16(cpu->mem, _t651, (uint16_t)cpu->r[27]);
|
|
/* 0277C458 */ cpu->r[11] = 0x02780000u;
|
|
/* 0277C45C */ _t652 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C45C */ rbrew_write16(cpu->mem, _t652, (uint16_t)cpu->r[27]);
|
|
/* 0277C460 */ _t653 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277C460 */ rbrew_write16(cpu->mem, _t653, (uint16_t)cpu->r[27]);
|
|
/* 0277C464 */ cpu->r[8] = cpu->r[8] + 0xFFFFF4F4u;
|
|
/* 0277C468 */ _t654 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277C468 */ rbrew_write16(cpu->mem, _t654, (uint16_t)cpu->r[0]);
|
|
/* 0277C46C */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C470 */ _t655 = cpu->r[1] + 0x00000018u;
|
|
/* 0277C470 */ rbrew_write32(cpu->mem, _t655, cpu->r[8]);
|
|
/* 0277C474 */ cpu->r[11] = cpu->r[11] + 0xFFFFF540u;
|
|
/* 0277C478 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277C47C */ _t656 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C47C */ rbrew_write16(cpu->mem, _t656, (uint16_t)cpu->r[27]);
|
|
/* 0277C480 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277C484 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C488 */ _t657 = cpu->r[1] + 0x00000010u;
|
|
/* 0277C488 */ rbrew_write32(cpu->mem, _t657, cpu->r[11]);
|
|
/* 0277C48C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277C490 */ _t658 = cpu->r[1] + 0x00000016u;
|
|
/* 0277C490 */ rbrew_write16(cpu->mem, _t658, (uint16_t)cpu->r[0]);
|
|
/* 0277C494 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277C498 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277C49C */ _t659 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C49C */ rbrew_write32(cpu->mem, _t659, cpu->r[26]);
|
|
/* 0277C4A0 */ cpu->r[12] = cpu->r[12] + 0x00003B60u;
|
|
/* 0277C4A4 */ _t660 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C4A4 */ rbrew_write32(cpu->mem, _t660, cpu->r[12]);
|
|
/* 0277C4A8 */ _t661 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277C4A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t661);
|
|
/* 0277C4AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000011u);
|
|
/* 0277C4B0 */ _t662 = cpu->r[29] + 0x00000250u;
|
|
/* 0277C4B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t662);
|
|
/* 0277C4B4 */ _t663 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C4B4 */ _t664 = _t663 & 0x00000001u;
|
|
/* 0277C4B4 */ if (_t664) goto L_0277C4B8; else goto L_0277C4BC;
|
|
L_0277C4B8: ; // 0x277c4b8
|
|
/* 0277C4B8 */ cpu->r[30] = cpu->r[30] + 0x00000264u;
|
|
L_0277C4BC: ; // 0x277c4bc
|
|
/* 0277C4BC */ cpu->ctr = cpu->r[25];
|
|
/* 0277C4C0 */ _t665 = cpu->r[30] + 0x00000000u;
|
|
/* 0277C4C0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t665);
|
|
/* 0277C4C4 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C4C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C4CC */ _t666 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C4CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t666);
|
|
/* 0277C4D0 */ _t667 = cpu->r[8] + 0x00000000u;
|
|
/* 0277C4D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t667);
|
|
/* 0277C4D4 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277C4D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0277C4DC */ cpu->r[9] = 0x00080000u;
|
|
/* 0277C4E0 */ _t668 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C4E0 */ _t669 = _t668 & 0x00000001u;
|
|
/* 0277C4E0 */ if (_t669) goto L_0277C508; else goto L_0277C4E4;
|
|
L_0277C4E4: ; // 0x277c4e4
|
|
/* 0277C4E4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277C4E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 0277C4EC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0277C4F0 */ _t670 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C4F0 */ _t671 = _t670 & 0x00000001u;
|
|
/* 0277C4F0 */ if (_t671) goto L_0277C504; else goto L_0277C4F4;
|
|
L_0277C4F4: ; // 0x277c4f4
|
|
/* 0277C4F4 */ _t672 = cpu->r[8] + 0x00000000u;
|
|
/* 0277C4F4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t672);
|
|
/* 0277C4F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0277C4FC */ _t673 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C4FC */ _t674 = _t673 & 0x00000001u;
|
|
/* 0277C4FC */ if (_t674) goto L_0277C500; else goto L_0277C4E4;
|
|
L_0277C500: ; // 0x277c500
|
|
/* 0277C500 */ goto L_0277C508;
|
|
L_0277C504: ; // 0x277c504
|
|
/* 0277C504 */ cpu->r[31] = 0x00000000u;
|
|
L_0277C508: ; // 0x277c508
|
|
/* 0277C508 */ _t675 = cpu->r[30] + 0x00000008u;
|
|
/* 0277C508 */ cpu->r[11] = rbrew_read32(cpu->mem, _t675);
|
|
/* 0277C50C */ _t676 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C50C */ cpu->r[6] = rbrew_read32(cpu->mem, _t676);
|
|
/* 0277C510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 0277C514 */ _t677 = cpu->r[6] + 0x00000014u;
|
|
/* 0277C514 */ cpu->r[7] = rbrew_read32(cpu->mem, _t677);
|
|
/* 0277C518 */ _t678 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277C518 */ _t679 = _t678 & 0x00000001u;
|
|
/* 0277C518 */ if (_t679) goto L_0277C520; else goto L_0277C51C;
|
|
L_0277C51C: ; // 0x277c51c
|
|
/* 0277C51C */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0277C520: ; // 0x277c520
|
|
/* 0277C520 */ cpu->ctr = cpu->r[7];
|
|
/* 0277C524 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C528 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C52C */ _t680 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C52C */ cpu->r[4] = rbrew_read32(cpu->mem, _t680);
|
|
/* 0277C530 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277C534 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277C538 */ cpu->r[3] = cpu->r[24];
|
|
/* 0277C53C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277C540 */ _t681 = cpu->r[24] + cpu->r[31];
|
|
/* 0277C540 */ rbrew_write8(cpu->mem, _t681, (uint8_t)cpu->r[28]);
|
|
/* 0277C544 */ cpu->r[0] = 0x00000011u;
|
|
/* 0277C548 */ _t682 = cpu->r[1] + 0x00000020u;
|
|
/* 0277C548 */ rbrew_write32(cpu->mem, _t682, cpu->r[27]);
|
|
/* 0277C54C */ cpu->r[8] = 0x02780000u;
|
|
/* 0277C550 */ _t683 = cpu->r[1] + 0x00000008u;
|
|
/* 0277C550 */ rbrew_write8(cpu->mem, _t683, (uint8_t)cpu->r[0]);
|
|
/* 0277C554 */ cpu->r[10] = 0x02780000u;
|
|
/* 0277C558 */ _t684 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C558 */ rbrew_write16(cpu->mem, _t684, (uint16_t)cpu->r[27]);
|
|
/* 0277C55C */ cpu->r[10] = cpu->r[10] + 0xFFFFF6ACu;
|
|
/* 0277C560 */ _t685 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277C560 */ rbrew_write16(cpu->mem, _t685, (uint16_t)cpu->r[27]);
|
|
/* 0277C564 */ _t686 = cpu->r[1] + 0x00000010u;
|
|
/* 0277C564 */ rbrew_write32(cpu->mem, _t686, cpu->r[10]);
|
|
/* 0277C568 */ cpu->r[8] = cpu->r[8] + 0xFFFFF5DCu;
|
|
/* 0277C56C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277C570 */ _t687 = cpu->r[1] + 0x00000018u;
|
|
/* 0277C570 */ rbrew_write32(cpu->mem, _t687, cpu->r[8]);
|
|
/* 0277C574 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0277C578 */ _t688 = cpu->r[1] + 0x00000014u;
|
|
/* 0277C578 */ rbrew_write16(cpu->mem, _t688, (uint16_t)cpu->r[27]);
|
|
/* 0277C57C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C580 */ _t689 = cpu->r[1] + 0x00000016u;
|
|
/* 0277C580 */ rbrew_write16(cpu->mem, _t689, (uint16_t)cpu->r[4]);
|
|
/* 0277C584 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277C588 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C58C */ _t690 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277C58C */ rbrew_write16(cpu->mem, _t690, (uint16_t)cpu->r[4]);
|
|
/* 0277C590 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277C594 */ _t691 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C594 */ rbrew_write16(cpu->mem, _t691, (uint16_t)cpu->r[27]);
|
|
/* 0277C598 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277C59C */ cpu->r[12] = 0x10100000u;
|
|
/* 0277C5A0 */ _t692 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C5A0 */ rbrew_write32(cpu->mem, _t692, cpu->r[26]);
|
|
/* 0277C5A4 */ cpu->r[12] = cpu->r[12] + 0x00003C04u;
|
|
/* 0277C5A8 */ _t693 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C5A8 */ rbrew_write32(cpu->mem, _t693, cpu->r[12]);
|
|
/* 0277C5AC */ _t694 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277C5AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t694);
|
|
/* 0277C5B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000012u);
|
|
/* 0277C5B4 */ _t695 = cpu->r[29] + 0x00000250u;
|
|
/* 0277C5B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t695);
|
|
/* 0277C5B8 */ _t696 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C5B8 */ _t697 = _t696 & 0x00000001u;
|
|
/* 0277C5B8 */ if (_t697) goto L_0277C5BC; else goto L_0277C5C0;
|
|
L_0277C5BC: ; // 0x277c5bc
|
|
/* 0277C5BC */ cpu->r[30] = cpu->r[30] + 0x00000288u;
|
|
L_0277C5C0: ; // 0x277c5c0
|
|
/* 0277C5C0 */ cpu->ctr = cpu->r[25];
|
|
/* 0277C5C4 */ _t698 = cpu->r[30] + 0x00000000u;
|
|
/* 0277C5C4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t698);
|
|
/* 0277C5C8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C5CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C5D0 */ _t699 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C5D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t699);
|
|
/* 0277C5D4 */ _t700 = cpu->r[6] + 0x00000000u;
|
|
/* 0277C5D4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t700);
|
|
/* 0277C5D8 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277C5DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[28]);
|
|
/* 0277C5E0 */ cpu->r[7] = 0x00080000u;
|
|
/* 0277C5E4 */ _t701 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C5E4 */ _t702 = _t701 & 0x00000001u;
|
|
/* 0277C5E4 */ if (_t702) goto L_0277C60C; else goto L_0277C5E8;
|
|
L_0277C5E8: ; // 0x277c5e8
|
|
/* 0277C5E8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277C5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 0277C5F0 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0277C5F4 */ _t703 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C5F4 */ _t704 = _t703 & 0x00000001u;
|
|
/* 0277C5F4 */ if (_t704) goto L_0277C608; else goto L_0277C5F8;
|
|
L_0277C5F8: ; // 0x277c5f8
|
|
/* 0277C5F8 */ _t705 = cpu->r[6] + 0x00000000u;
|
|
/* 0277C5F8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t705);
|
|
/* 0277C5FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0277C600 */ _t706 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C600 */ _t707 = _t706 & 0x00000001u;
|
|
/* 0277C600 */ if (_t707) goto L_0277C604; else goto L_0277C5E8;
|
|
L_0277C604: ; // 0x277c604
|
|
/* 0277C604 */ goto L_0277C60C;
|
|
L_0277C608: ; // 0x277c608
|
|
/* 0277C608 */ cpu->r[31] = 0x00000000u;
|
|
L_0277C60C: ; // 0x277c60c
|
|
/* 0277C60C */ _t708 = cpu->r[30] + 0x00000008u;
|
|
/* 0277C60C */ cpu->r[12] = rbrew_read32(cpu->mem, _t708);
|
|
/* 0277C610 */ _t709 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C610 */ cpu->r[8] = rbrew_read32(cpu->mem, _t709);
|
|
/* 0277C614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0277C618 */ _t710 = cpu->r[8] + 0x00000014u;
|
|
/* 0277C618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t710);
|
|
/* 0277C61C */ _t711 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277C61C */ _t712 = _t711 & 0x00000001u;
|
|
/* 0277C61C */ if (_t712) goto L_0277C624; else goto L_0277C620;
|
|
L_0277C620: ; // 0x277c620
|
|
/* 0277C620 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0277C624: ; // 0x277c624
|
|
/* 0277C624 */ cpu->ctr = cpu->r[0];
|
|
/* 0277C628 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C62C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C630 */ _t713 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C630 */ cpu->r[4] = rbrew_read32(cpu->mem, _t713);
|
|
/* 0277C634 */ cpu->r[3] = cpu->r[24];
|
|
/* 0277C638 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277C63C */ cpu->r[6] = 0x00000000u;
|
|
/* 0277C640 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277C644 */ _t714 = cpu->r[24] + cpu->r[31];
|
|
/* 0277C644 */ rbrew_write8(cpu->mem, _t714, (uint8_t)cpu->r[28]);
|
|
/* 0277C648 */ cpu->r[0] = 0x00000012u;
|
|
/* 0277C64C */ _t715 = cpu->r[1] + 0x00000020u;
|
|
/* 0277C64C */ rbrew_write32(cpu->mem, _t715, cpu->r[27]);
|
|
/* 0277C650 */ cpu->r[10] = 0x02780000u;
|
|
/* 0277C654 */ _t716 = cpu->r[1] + 0x00000008u;
|
|
/* 0277C654 */ rbrew_write8(cpu->mem, _t716, (uint8_t)cpu->r[0]);
|
|
/* 0277C658 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0277C65C */ _t717 = cpu->r[1] + 0x00000014u;
|
|
/* 0277C65C */ rbrew_write16(cpu->mem, _t717, (uint16_t)cpu->r[27]);
|
|
/* 0277C660 */ cpu->r[12] = 0x02780000u;
|
|
/* 0277C664 */ _t718 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C664 */ rbrew_write16(cpu->mem, _t718, (uint16_t)cpu->r[27]);
|
|
/* 0277C668 */ _t719 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277C668 */ rbrew_write16(cpu->mem, _t719, (uint16_t)cpu->r[27]);
|
|
/* 0277C66C */ cpu->r[10] = cpu->r[10] + 0x00000C38u;
|
|
/* 0277C670 */ _t720 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277C670 */ rbrew_write16(cpu->mem, _t720, (uint16_t)cpu->r[0]);
|
|
/* 0277C674 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C678 */ _t721 = cpu->r[1] + 0x00000018u;
|
|
/* 0277C678 */ rbrew_write32(cpu->mem, _t721, cpu->r[10]);
|
|
/* 0277C67C */ cpu->r[12] = cpu->r[12] + 0xFFFFF6F8u;
|
|
/* 0277C680 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277C684 */ _t722 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C684 */ rbrew_write16(cpu->mem, _t722, (uint16_t)cpu->r[27]);
|
|
/* 0277C688 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277C68C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C690 */ _t723 = cpu->r[1] + 0x00000010u;
|
|
/* 0277C690 */ rbrew_write32(cpu->mem, _t723, cpu->r[12]);
|
|
/* 0277C694 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277C698 */ _t724 = cpu->r[1] + 0x00000016u;
|
|
/* 0277C698 */ rbrew_write16(cpu->mem, _t724, (uint16_t)cpu->r[0]);
|
|
/* 0277C69C */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277C6A0 */ cpu->r[4] = 0x10100000u;
|
|
/* 0277C6A4 */ _t725 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C6A4 */ rbrew_write32(cpu->mem, _t725, cpu->r[26]);
|
|
/* 0277C6A8 */ cpu->r[4] = cpu->r[4] + 0x00003CD4u;
|
|
/* 0277C6AC */ _t726 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C6AC */ rbrew_write32(cpu->mem, _t726, cpu->r[4]);
|
|
/* 0277C6B0 */ _t727 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277C6B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t727);
|
|
/* 0277C6B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000013u);
|
|
/* 0277C6B8 */ _t728 = cpu->r[29] + 0x00000250u;
|
|
/* 0277C6B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t728);
|
|
/* 0277C6BC */ _t729 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C6BC */ _t730 = _t729 & 0x00000001u;
|
|
/* 0277C6BC */ if (_t730) goto L_0277C6C0; else goto L_0277C6C4;
|
|
L_0277C6C0: ; // 0x277c6c0
|
|
/* 0277C6C0 */ cpu->r[30] = cpu->r[30] + 0x000002ACu;
|
|
L_0277C6C4: ; // 0x277c6c4
|
|
/* 0277C6C4 */ cpu->ctr = cpu->r[25];
|
|
/* 0277C6C8 */ _t731 = cpu->r[30] + 0x00000000u;
|
|
/* 0277C6C8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t731);
|
|
/* 0277C6CC */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C6D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C6D4 */ _t732 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C6D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t732);
|
|
/* 0277C6D8 */ _t733 = cpu->r[4] + 0x00000000u;
|
|
/* 0277C6D8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t733);
|
|
/* 0277C6DC */ cpu->r[31] = 0x00000000u;
|
|
/* 0277C6E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0277C6E4 */ cpu->r[5] = 0x00080000u;
|
|
/* 0277C6E8 */ _t734 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C6E8 */ _t735 = _t734 & 0x00000001u;
|
|
/* 0277C6E8 */ if (_t735) goto L_0277C710; else goto L_0277C6EC;
|
|
L_0277C6EC: ; // 0x277c6ec
|
|
/* 0277C6EC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277C6F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 0277C6F4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0277C6F8 */ _t736 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C6F8 */ _t737 = _t736 & 0x00000001u;
|
|
/* 0277C6F8 */ if (_t737) goto L_0277C70C; else goto L_0277C6FC;
|
|
L_0277C6FC: ; // 0x277c6fc
|
|
/* 0277C6FC */ _t738 = cpu->r[4] + 0x00000000u;
|
|
/* 0277C6FC */ cpu->r[7] = rbrew_read8(cpu->mem, _t738);
|
|
/* 0277C700 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 0277C704 */ _t739 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C704 */ _t740 = _t739 & 0x00000001u;
|
|
/* 0277C704 */ if (_t740) goto L_0277C708; else goto L_0277C6EC;
|
|
L_0277C708: ; // 0x277c708
|
|
/* 0277C708 */ goto L_0277C710;
|
|
L_0277C70C: ; // 0x277c70c
|
|
/* 0277C70C */ cpu->r[31] = 0x00000000u;
|
|
L_0277C710: ; // 0x277c710
|
|
/* 0277C710 */ _t741 = cpu->r[30] + 0x00000008u;
|
|
/* 0277C710 */ cpu->r[6] = rbrew_read32(cpu->mem, _t741);
|
|
/* 0277C714 */ _t742 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C714 */ cpu->r[8] = rbrew_read32(cpu->mem, _t742);
|
|
/* 0277C718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[6]);
|
|
/* 0277C71C */ _t743 = cpu->r[8] + 0x00000014u;
|
|
/* 0277C71C */ cpu->r[9] = rbrew_read32(cpu->mem, _t743);
|
|
/* 0277C720 */ _t744 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277C720 */ _t745 = _t744 & 0x00000001u;
|
|
/* 0277C720 */ if (_t745) goto L_0277C728; else goto L_0277C724;
|
|
L_0277C724: ; // 0x277c724
|
|
/* 0277C724 */ cpu->r[31] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0277C728: ; // 0x277c728
|
|
/* 0277C728 */ cpu->ctr = cpu->r[9];
|
|
/* 0277C72C */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C730 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C734 */ _t746 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C734 */ cpu->r[4] = rbrew_read32(cpu->mem, _t746);
|
|
/* 0277C738 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277C73C */ cpu->r[5] = cpu->r[31];
|
|
/* 0277C740 */ cpu->r[3] = cpu->r[24];
|
|
/* 0277C744 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277C748 */ _t747 = cpu->r[24] + cpu->r[31];
|
|
/* 0277C748 */ rbrew_write8(cpu->mem, _t747, (uint8_t)cpu->r[28]);
|
|
/* 0277C74C */ cpu->r[0] = 0x00000013u;
|
|
/* 0277C750 */ _t748 = cpu->r[1] + 0x00000020u;
|
|
/* 0277C750 */ rbrew_write32(cpu->mem, _t748, cpu->r[27]);
|
|
/* 0277C754 */ cpu->r[10] = 0x02780000u;
|
|
/* 0277C758 */ _t749 = cpu->r[1] + 0x00000008u;
|
|
/* 0277C758 */ rbrew_write8(cpu->mem, _t749, (uint8_t)cpu->r[0]);
|
|
/* 0277C75C */ cpu->r[12] = 0x02780000u;
|
|
/* 0277C760 */ _t750 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C760 */ rbrew_write16(cpu->mem, _t750, (uint16_t)cpu->r[27]);
|
|
/* 0277C764 */ cpu->r[12] = cpu->r[12] + 0xFFFFF7C4u;
|
|
/* 0277C768 */ _t751 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277C768 */ rbrew_write16(cpu->mem, _t751, (uint16_t)cpu->r[27]);
|
|
/* 0277C76C */ _t752 = cpu->r[1] + 0x00000010u;
|
|
/* 0277C76C */ rbrew_write32(cpu->mem, _t752, cpu->r[12]);
|
|
/* 0277C770 */ cpu->r[10] = cpu->r[10] + 0xFFFFF778u;
|
|
/* 0277C774 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277C778 */ _t753 = cpu->r[1] + 0x00000018u;
|
|
/* 0277C778 */ rbrew_write32(cpu->mem, _t753, cpu->r[10]);
|
|
/* 0277C77C */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0277C780 */ _t754 = cpu->r[1] + 0x00000014u;
|
|
/* 0277C780 */ rbrew_write16(cpu->mem, _t754, (uint16_t)cpu->r[27]);
|
|
/* 0277C784 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C788 */ _t755 = cpu->r[1] + 0x00000016u;
|
|
/* 0277C788 */ rbrew_write16(cpu->mem, _t755, (uint16_t)cpu->r[4]);
|
|
/* 0277C78C */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277C790 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C794 */ _t756 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277C794 */ rbrew_write16(cpu->mem, _t756, (uint16_t)cpu->r[4]);
|
|
/* 0277C798 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277C79C */ _t757 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C79C */ rbrew_write16(cpu->mem, _t757, (uint16_t)cpu->r[27]);
|
|
/* 0277C7A0 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277C7A4 */ cpu->r[8] = 0x10100000u;
|
|
/* 0277C7A8 */ _t758 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C7A8 */ rbrew_write32(cpu->mem, _t758, cpu->r[26]);
|
|
/* 0277C7AC */ cpu->r[8] = cpu->r[8] + 0x00003CECu;
|
|
/* 0277C7B0 */ _t759 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C7B0 */ rbrew_write32(cpu->mem, _t759, cpu->r[8]);
|
|
/* 0277C7B4 */ _t760 = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277C7B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t760);
|
|
/* 0277C7B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000014u);
|
|
/* 0277C7BC */ _t761 = cpu->r[29] + 0x00000250u;
|
|
/* 0277C7BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t761);
|
|
/* 0277C7C0 */ _t762 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C7C0 */ _t763 = _t762 & 0x00000001u;
|
|
/* 0277C7C0 */ if (_t763) goto L_0277C7C4; else goto L_0277C7C8;
|
|
L_0277C7C4: ; // 0x277c7c4
|
|
/* 0277C7C4 */ cpu->r[30] = cpu->r[30] + 0x000002D0u;
|
|
L_0277C7C8: ; // 0x277c7c8
|
|
/* 0277C7C8 */ cpu->ctr = cpu->r[25];
|
|
/* 0277C7CC */ _t764 = cpu->r[30] + 0x00000000u;
|
|
/* 0277C7CC */ cpu->r[24] = rbrew_read32(cpu->mem, _t764);
|
|
/* 0277C7D0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C7D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C7D8 */ _t765 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C7D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t765);
|
|
/* 0277C7DC */ _t766 = cpu->r[12] + 0x00000000u;
|
|
/* 0277C7DC */ cpu->r[10] = rbrew_read8(cpu->mem, _t766);
|
|
/* 0277C7E0 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277C7E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
|
|
/* 0277C7E8 */ cpu->r[0] = 0x00080000u;
|
|
/* 0277C7EC */ _t767 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C7EC */ _t768 = _t767 & 0x00000001u;
|
|
/* 0277C7EC */ if (_t768) goto L_0277C814; else goto L_0277C7F0;
|
|
L_0277C7F0: ; // 0x277c7f0
|
|
/* 0277C7F0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277C7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0277C7F8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0277C7FC */ _t769 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277C7FC */ _t770 = _t769 & 0x00000001u;
|
|
/* 0277C7FC */ if (_t770) goto L_0277C810; else goto L_0277C800;
|
|
L_0277C800: ; // 0x277c800
|
|
/* 0277C800 */ _t771 = cpu->r[12] + 0x00000000u;
|
|
/* 0277C800 */ cpu->r[11] = rbrew_read8(cpu->mem, _t771);
|
|
/* 0277C804 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[28]);
|
|
/* 0277C808 */ _t772 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277C808 */ _t773 = _t772 & 0x00000001u;
|
|
/* 0277C808 */ if (_t773) goto L_0277C80C; else goto L_0277C7F0;
|
|
L_0277C80C: ; // 0x277c80c
|
|
/* 0277C80C */ goto L_0277C814;
|
|
L_0277C810: ; // 0x277c810
|
|
/* 0277C810 */ cpu->r[31] = 0x00000000u;
|
|
L_0277C814: ; // 0x277c814
|
|
/* 0277C814 */ _t774 = cpu->r[30] + 0x00000008u;
|
|
/* 0277C814 */ cpu->r[7] = rbrew_read32(cpu->mem, _t774);
|
|
/* 0277C818 */ _t775 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C818 */ cpu->r[12] = rbrew_read32(cpu->mem, _t775);
|
|
/* 0277C81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 0277C820 */ _t776 = cpu->r[12] + 0x00000014u;
|
|
/* 0277C820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t776);
|
|
/* 0277C824 */ _t777 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277C824 */ _t778 = _t777 & 0x00000001u;
|
|
/* 0277C824 */ if (_t778) goto L_0277C82C; else goto L_0277C828;
|
|
L_0277C828: ; // 0x277c828
|
|
/* 0277C828 */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0277C82C: ; // 0x277c82c
|
|
/* 0277C82C */ cpu->ctr = cpu->r[0];
|
|
/* 0277C830 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C834 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277C838 */ _t779 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C838 */ cpu->r[4] = rbrew_read32(cpu->mem, _t779);
|
|
/* 0277C83C */ cpu->r[3] = cpu->r[24];
|
|
/* 0277C840 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277C844 */ cpu->r[6] = 0x00000000u;
|
|
/* 0277C848 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0277C84C */ _t780 = cpu->r[24] + cpu->r[31];
|
|
/* 0277C84C */ rbrew_write8(cpu->mem, _t780, (uint8_t)cpu->r[28]);
|
|
/* 0277C850 */ cpu->r[0] = 0x00000014u;
|
|
/* 0277C854 */ _t781 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C854 */ rbrew_write16(cpu->mem, _t781, (uint16_t)cpu->r[27]);
|
|
/* 0277C858 */ cpu->r[4] = 0x02780000u;
|
|
/* 0277C85C */ _t782 = cpu->r[1] + 0x00000008u;
|
|
/* 0277C85C */ rbrew_write8(cpu->mem, _t782, (uint8_t)cpu->r[0]);
|
|
/* 0277C860 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0277C864 */ _t783 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C864 */ rbrew_write16(cpu->mem, _t783, (uint16_t)cpu->r[27]);
|
|
/* 0277C868 */ cpu->r[9] = 0x02780000u;
|
|
/* 0277C86C */ _t784 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277C86C */ rbrew_write16(cpu->mem, _t784, (uint16_t)cpu->r[0]);
|
|
/* 0277C870 */ _t785 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277C870 */ rbrew_write16(cpu->mem, _t785, (uint16_t)cpu->r[27]);
|
|
/* 0277C874 */ cpu->r[4] = cpu->r[4] + 0xFFFFFAE8u;
|
|
/* 0277C878 */ _t786 = cpu->r[1] + 0x00000014u;
|
|
/* 0277C878 */ rbrew_write16(cpu->mem, _t786, (uint16_t)cpu->r[27]);
|
|
/* 0277C87C */ cpu->r[9] = cpu->r[9] + 0xFFFFFB58u;
|
|
/* 0277C880 */ _t787 = cpu->r[1] + 0x00000018u;
|
|
/* 0277C880 */ rbrew_write32(cpu->mem, _t787, cpu->r[4]);
|
|
/* 0277C884 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277C888 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C88C */ _t788 = cpu->r[1] + 0x00000016u;
|
|
/* 0277C88C */ rbrew_write16(cpu->mem, _t788, (uint16_t)cpu->r[0]);
|
|
/* 0277C890 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277C894 */ cpu->r[3] = cpu->r[29] + 0x00000238u;
|
|
/* 0277C898 */ _t789 = cpu->r[1] + 0x00000010u;
|
|
/* 0277C898 */ rbrew_write32(cpu->mem, _t789, cpu->r[9]);
|
|
/* 0277C89C */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C8A0 */ _t790 = cpu->r[1] + 0x00000020u;
|
|
/* 0277C8A0 */ rbrew_write32(cpu->mem, _t790, cpu->r[27]);
|
|
/* 0277C8A4 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277C8A8 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277C8AC */ cpu->r[4] = 0x00000015u;
|
|
/* 0277C8B0 */ _t791 = cpu->r[1] + 0x00000028u;
|
|
/* 0277C8B0 */ rbrew_write32(cpu->mem, _t791, cpu->r[26]);
|
|
/* 0277C8B4 */ cpu->r[0] = cpu->r[0] + 0x00003D00u;
|
|
/* 0277C8B8 */ cpu->r[3] = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277C8BC */ _t792 = cpu->r[1] + 0x00000024u;
|
|
/* 0277C8BC */ rbrew_write32(cpu->mem, _t792, cpu->r[0]);
|
|
/* 0277C8C0 */ cpu->r[30] = cpu->r[29] + 0x00000238u;
|
|
/* 0277C8C4 */ Gambit_fn_02780B34(cpu);
|
|
/* 0277C8C8 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0277C8CC */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C8D0 */ Gambit_fn_02780500(cpu);
|
|
/* 0277C8D4 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C8D8 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277C8DC */ Gambit_fn_02780484(cpu);
|
|
/* 0277C8E0 */ _t793 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C8E0 */ rbrew_write16(cpu->mem, _t793, (uint16_t)cpu->r[27]);
|
|
/* 0277C8E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277C8E8 */ _t794 = cpu->r[1] + 0x00000020u;
|
|
/* 0277C8E8 */ rbrew_write32(cpu->mem, _t794, cpu->r[27]);
|
|
/* 0277C8EC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0277C8F0 */ _t795 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C8F0 */ rbrew_write16(cpu->mem, _t795, (uint16_t)cpu->r[27]);
|
|
/* 0277C8F4 */ _t796 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277C8F4 */ rbrew_write16(cpu->mem, _t796, (uint16_t)cpu->r[27]);
|
|
/* 0277C8F8 */ cpu->r[6] = 0x02780000u;
|
|
/* 0277C8FC */ _t797 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277C8FC */ rbrew_write16(cpu->mem, _t797, (uint16_t)cpu->r[0]);
|
|
/* 0277C900 */ cpu->r[0] = 0x00000015u;
|
|
/* 0277C904 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 0277C908 */ _t798 = cpu->r[1] + 0x00000014u;
|
|
/* 0277C908 */ rbrew_write16(cpu->mem, _t798, (uint16_t)cpu->r[27]);
|
|
/* 0277C90C */ cpu->r[6] = cpu->r[6] + 0xFFFFFBA4u;
|
|
/* 0277C910 */ cpu->r[12] = 0x02780000u;
|
|
/* 0277C914 */ _t799 = cpu->r[1] + 0x00000008u;
|
|
/* 0277C914 */ rbrew_write8(cpu->mem, _t799, (uint8_t)cpu->r[0]);
|
|
/* 0277C918 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C91C */ cpu->r[12] = cpu->r[12] + 0x00000C3Cu;
|
|
/* 0277C920 */ _t800 = cpu->r[1] + 0x00000010u;
|
|
/* 0277C920 */ rbrew_write32(cpu->mem, _t800, cpu->r[6]);
|
|
/* 0277C924 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C928 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277C92C */ _t801 = cpu->r[1] + 0x00000018u;
|
|
/* 0277C92C */ rbrew_write32(cpu->mem, _t801, cpu->r[12]);
|
|
/* 0277C930 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277C934 */ _t802 = cpu->r[1] + 0x00000016u;
|
|
/* 0277C934 */ rbrew_write16(cpu->mem, _t802, (uint16_t)cpu->r[10]);
|
|
/* 0277C938 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277C93C */ cpu->r[4] = 0x10100000u;
|
|
/* 0277C940 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C944 */ cpu->r[4] = cpu->r[4] + 0x00003B74u;
|
|
/* 0277C948 */ Gambit_fn_02780498(cpu);
|
|
/* 0277C94C */ cpu->r[28] = cpu->r[3];
|
|
/* 0277C950 */ cpu->r[3] = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277C954 */ cpu->r[4] = 0x00000016u;
|
|
/* 0277C958 */ Gambit_fn_02780B34(cpu);
|
|
/* 0277C95C */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0277C960 */ cpu->r[4] = cpu->r[28];
|
|
/* 0277C964 */ Gambit_fn_02780500(cpu);
|
|
/* 0277C968 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C96C */ cpu->r[4] = 0x00000002u;
|
|
/* 0277C970 */ Gambit_fn_02780484(cpu);
|
|
/* 0277C974 */ _t803 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C974 */ rbrew_write16(cpu->mem, _t803, (uint16_t)cpu->r[27]);
|
|
/* 0277C978 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 0277C97C */ _t804 = cpu->r[1] + 0x00000020u;
|
|
/* 0277C97C */ rbrew_write32(cpu->mem, _t804, cpu->r[27]);
|
|
/* 0277C980 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C984 */ _t805 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277C984 */ rbrew_write16(cpu->mem, _t805, (uint16_t)cpu->r[27]);
|
|
/* 0277C988 */ cpu->r[4] = 0x00000016u;
|
|
/* 0277C98C */ _t806 = cpu->r[1] + 0x00000014u;
|
|
/* 0277C98C */ rbrew_write16(cpu->mem, _t806, (uint16_t)cpu->r[27]);
|
|
/* 0277C990 */ cpu->r[8] = 0x02780000u;
|
|
/* 0277C994 */ _t807 = cpu->r[1] + 0x00000016u;
|
|
/* 0277C994 */ rbrew_write16(cpu->mem, _t807, (uint16_t)cpu->r[9]);
|
|
/* 0277C998 */ cpu->r[8] = cpu->r[8] + 0xFFFFFDBCu;
|
|
/* 0277C99C */ _t808 = cpu->r[1] + 0x00000008u;
|
|
/* 0277C99C */ rbrew_write8(cpu->mem, _t808, (uint8_t)cpu->r[4]);
|
|
/* 0277C9A0 */ cpu->r[10] = 0x02780000u;
|
|
/* 0277C9A4 */ _t809 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277C9A4 */ rbrew_write16(cpu->mem, _t809, (uint16_t)cpu->r[9]);
|
|
/* 0277C9A8 */ cpu->r[10] = cpu->r[10] + 0xFFFFFE08u;
|
|
/* 0277C9AC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277C9B0 */ _t810 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277C9B0 */ rbrew_write16(cpu->mem, _t810, (uint16_t)cpu->r[27]);
|
|
/* 0277C9B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277C9B8 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277C9BC */ _t811 = cpu->r[1] + 0x00000018u;
|
|
/* 0277C9BC */ rbrew_write32(cpu->mem, _t811, cpu->r[8]);
|
|
/* 0277C9C0 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277C9C4 */ _t812 = cpu->r[1] + 0x00000010u;
|
|
/* 0277C9C4 */ rbrew_write32(cpu->mem, _t812, cpu->r[10]);
|
|
/* 0277C9C8 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277C9CC */ cpu->r[4] = 0x10100000u;
|
|
/* 0277C9D0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C9D4 */ cpu->r[4] = cpu->r[4] + 0x00003B88u;
|
|
/* 0277C9D8 */ Gambit_fn_02780498(cpu);
|
|
/* 0277C9DC */ cpu->r[28] = cpu->r[3];
|
|
/* 0277C9E0 */ cpu->r[3] = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277C9E4 */ cpu->r[4] = 0x00000017u;
|
|
/* 0277C9E8 */ Gambit_fn_02780B34(cpu);
|
|
/* 0277C9EC */ cpu->r[4] = cpu->r[28];
|
|
/* 0277C9F0 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0277C9F4 */ Gambit_fn_02780500(cpu);
|
|
/* 0277C9F8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277C9FC */ cpu->r[4] = 0x00000002u;
|
|
/* 0277CA00 */ Gambit_fn_02780484(cpu);
|
|
/* 0277CA04 */ cpu->r[0] = 0x02780000u;
|
|
/* 0277CA08 */ _t813 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CA08 */ rbrew_write16(cpu->mem, _t813, (uint16_t)cpu->r[27]);
|
|
/* 0277CA0C */ cpu->r[12] = 0x02780000u;
|
|
/* 0277CA10 */ cpu->r[0] = cpu->r[0] + 0xFFFFFF1Cu;
|
|
/* 0277CA14 */ _t814 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CA14 */ rbrew_write16(cpu->mem, _t814, (uint16_t)cpu->r[27]);
|
|
/* 0277CA18 */ cpu->r[12] = cpu->r[12] + 0xFFFFFE70u;
|
|
/* 0277CA1C */ _t815 = cpu->r[1] + 0x00000010u;
|
|
/* 0277CA1C */ rbrew_write32(cpu->mem, _t815, cpu->r[0]);
|
|
/* 0277CA20 */ cpu->r[7] = 0x00000017u;
|
|
/* 0277CA24 */ _t816 = cpu->r[1] + 0x00000020u;
|
|
/* 0277CA24 */ rbrew_write32(cpu->mem, _t816, cpu->r[27]);
|
|
/* 0277CA28 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0277CA2C */ _t817 = cpu->r[1] + 0x00000008u;
|
|
/* 0277CA2C */ rbrew_write8(cpu->mem, _t817, (uint8_t)cpu->r[7]);
|
|
/* 0277CA30 */ _t818 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277CA30 */ rbrew_write16(cpu->mem, _t818, (uint16_t)cpu->r[5]);
|
|
/* 0277CA34 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 0277CA38 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CA3C */ _t819 = cpu->r[1] + 0x00000016u;
|
|
/* 0277CA3C */ rbrew_write16(cpu->mem, _t819, (uint16_t)cpu->r[7]);
|
|
/* 0277CA40 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277CA44 */ _t820 = cpu->r[1] + 0x00000018u;
|
|
/* 0277CA44 */ rbrew_write32(cpu->mem, _t820, cpu->r[12]);
|
|
/* 0277CA48 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CA4C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277CA50 */ _t821 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CA50 */ rbrew_write16(cpu->mem, _t821, (uint16_t)cpu->r[27]);
|
|
/* 0277CA54 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277CA58 */ _t822 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277CA58 */ rbrew_write16(cpu->mem, _t822, (uint16_t)cpu->r[27]);
|
|
/* 0277CA5C */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277CA60 */ cpu->r[4] = 0x10100000u;
|
|
/* 0277CA64 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277CA68 */ cpu->r[4] = cpu->r[4] + 0x00003B9Cu;
|
|
/* 0277CA6C */ Gambit_fn_02780498(cpu);
|
|
/* 0277CA70 */ cpu->r[28] = cpu->r[3];
|
|
/* 0277CA74 */ cpu->r[3] = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277CA78 */ cpu->r[4] = 0x00000018u;
|
|
/* 0277CA7C */ Gambit_fn_02780B34(cpu);
|
|
/* 0277CA80 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0277CA84 */ cpu->r[4] = cpu->r[28];
|
|
/* 0277CA88 */ Gambit_fn_02780500(cpu);
|
|
/* 0277CA8C */ cpu->r[4] = 0x00000002u;
|
|
/* 0277CA90 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277CA94 */ Gambit_fn_02780484(cpu);
|
|
/* 0277CA98 */ _t823 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277CA98 */ rbrew_write16(cpu->mem, _t823, (uint16_t)cpu->r[27]);
|
|
/* 0277CA9C */ cpu->r[0] = 0x02780000u;
|
|
/* 0277CAA0 */ _t824 = cpu->r[1] + 0x00000020u;
|
|
/* 0277CAA0 */ rbrew_write32(cpu->mem, _t824, cpu->r[27]);
|
|
/* 0277CAA4 */ cpu->r[0] = cpu->r[0] + 0xFFFFFFACu;
|
|
/* 0277CAA8 */ cpu->r[8] = 0x02780000u;
|
|
/* 0277CAAC */ _t825 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CAAC */ rbrew_write16(cpu->mem, _t825, (uint16_t)cpu->r[27]);
|
|
/* 0277CAB0 */ cpu->r[8] = cpu->r[8] + 0x00000054u;
|
|
/* 0277CAB4 */ _t826 = cpu->r[1] + 0x00000018u;
|
|
/* 0277CAB4 */ rbrew_write32(cpu->mem, _t826, cpu->r[0]);
|
|
/* 0277CAB8 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 0277CABC */ _t827 = cpu->r[1] + 0x00000010u;
|
|
/* 0277CABC */ rbrew_write32(cpu->mem, _t827, cpu->r[8]);
|
|
/* 0277CAC0 */ cpu->r[0] = 0x00000018u;
|
|
/* 0277CAC4 */ _t828 = cpu->r[1] + 0x00000016u;
|
|
/* 0277CAC4 */ rbrew_write16(cpu->mem, _t828, (uint16_t)cpu->r[12]);
|
|
/* 0277CAC8 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277CACC */ _t829 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CACC */ rbrew_write16(cpu->mem, _t829, (uint16_t)cpu->r[27]);
|
|
/* 0277CAD0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CAD4 */ _t830 = cpu->r[1] + 0x00000008u;
|
|
/* 0277CAD4 */ rbrew_write8(cpu->mem, _t830, (uint8_t)cpu->r[0]);
|
|
/* 0277CAD8 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277CADC */ cpu->r[3] = cpu->r[30];
|
|
/* 0277CAE0 */ _t831 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CAE0 */ rbrew_write16(cpu->mem, _t831, (uint16_t)cpu->r[27]);
|
|
/* 0277CAE4 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CAE8 */ _t832 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277CAE8 */ rbrew_write16(cpu->mem, _t832, (uint16_t)cpu->r[12]);
|
|
/* 0277CAEC */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277CAF0 */ cpu->r[4] = 0x10100000u;
|
|
/* 0277CAF4 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277CAF8 */ cpu->r[4] = cpu->r[4] + 0x00003D14u;
|
|
/* 0277CAFC */ Gambit_fn_02780498(cpu);
|
|
/* 0277CB00 */ cpu->r[28] = cpu->r[3];
|
|
/* 0277CB04 */ cpu->r[3] = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277CB08 */ cpu->r[4] = 0x00000019u;
|
|
/* 0277CB0C */ cpu->r[30] = cpu->r[29] + 0x00000238u;
|
|
/* 0277CB10 */ Gambit_fn_02780B34(cpu);
|
|
/* 0277CB14 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0277CB18 */ cpu->r[4] = cpu->r[28];
|
|
/* 0277CB1C */ Gambit_fn_02780500(cpu);
|
|
/* 0277CB20 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277CB24 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277CB28 */ Gambit_fn_02780484(cpu);
|
|
/* 0277CB2C */ _t833 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CB2C */ rbrew_write16(cpu->mem, _t833, (uint16_t)cpu->r[27]);
|
|
/* 0277CB30 */ cpu->r[0] = 0x02780000u;
|
|
/* 0277CB34 */ _t834 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277CB34 */ rbrew_write16(cpu->mem, _t834, (uint16_t)cpu->r[27]);
|
|
/* 0277CB38 */ _t835 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CB38 */ rbrew_write16(cpu->mem, _t835, (uint16_t)cpu->r[27]);
|
|
/* 0277CB3C */ cpu->r[0] = cpu->r[0] + 0x000000B0u;
|
|
/* 0277CB40 */ _t836 = cpu->r[1] + 0x00000020u;
|
|
/* 0277CB40 */ rbrew_write32(cpu->mem, _t836, cpu->r[27]);
|
|
/* 0277CB44 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 0277CB48 */ _t837 = cpu->r[1] + 0x00000018u;
|
|
/* 0277CB48 */ rbrew_write32(cpu->mem, _t837, cpu->r[0]);
|
|
/* 0277CB4C */ cpu->r[12] = 0x02780000u;
|
|
/* 0277CB50 */ _t838 = cpu->r[1] + 0x00000016u;
|
|
/* 0277CB50 */ rbrew_write16(cpu->mem, _t838, (uint16_t)cpu->r[9]);
|
|
/* 0277CB54 */ cpu->r[12] = cpu->r[12] + 0x00000158u;
|
|
/* 0277CB58 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277CB5C */ _t839 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CB5C */ rbrew_write16(cpu->mem, _t839, (uint16_t)cpu->r[27]);
|
|
/* 0277CB60 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277CB64 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CB68 */ _t840 = cpu->r[1] + 0x00000010u;
|
|
/* 0277CB68 */ rbrew_write32(cpu->mem, _t840, cpu->r[12]);
|
|
/* 0277CB6C */ cpu->r[12] = 0x00000019u;
|
|
/* 0277CB70 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277CB74 */ _t841 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277CB74 */ rbrew_write16(cpu->mem, _t841, (uint16_t)cpu->r[9]);
|
|
/* 0277CB78 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CB7C */ _t842 = cpu->r[1] + 0x00000008u;
|
|
/* 0277CB7C */ rbrew_write8(cpu->mem, _t842, (uint8_t)cpu->r[12]);
|
|
/* 0277CB80 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277CB84 */ cpu->r[4] = 0x10100000u;
|
|
/* 0277CB88 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277CB8C */ cpu->r[4] = cpu->r[4] + 0x00003BB0u;
|
|
/* 0277CB90 */ Gambit_fn_02780498(cpu);
|
|
/* 0277CB94 */ cpu->r[28] = cpu->r[3];
|
|
/* 0277CB98 */ cpu->r[3] = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277CB9C */ cpu->r[4] = 0x0000001Au;
|
|
/* 0277CBA0 */ Gambit_fn_02780B34(cpu);
|
|
/* 0277CBA4 */ cpu->r[4] = cpu->r[28];
|
|
/* 0277CBA8 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0277CBAC */ Gambit_fn_02780500(cpu);
|
|
/* 0277CBB0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277CBB4 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277CBB8 */ Gambit_fn_02780484(cpu);
|
|
/* 0277CBBC */ _t843 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CBBC */ rbrew_write16(cpu->mem, _t843, (uint16_t)cpu->r[27]);
|
|
/* 0277CBC0 */ cpu->r[6] = 0x02780000u;
|
|
/* 0277CBC4 */ _t844 = cpu->r[1] + 0x00000020u;
|
|
/* 0277CBC4 */ rbrew_write32(cpu->mem, _t844, cpu->r[27]);
|
|
/* 0277CBC8 */ cpu->r[6] = cpu->r[6] + 0x00000280u;
|
|
/* 0277CBCC */ _t845 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277CBCC */ rbrew_write16(cpu->mem, _t845, (uint16_t)cpu->r[27]);
|
|
/* 0277CBD0 */ cpu->r[4] = 0x02780000u;
|
|
/* 0277CBD4 */ _t846 = cpu->r[1] + 0x00000010u;
|
|
/* 0277CBD4 */ rbrew_write32(cpu->mem, _t846, cpu->r[6]);
|
|
/* 0277CBD8 */ cpu->r[4] = cpu->r[4] + 0x000001B4u;
|
|
/* 0277CBDC */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0277CBE0 */ _t847 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CBE0 */ rbrew_write16(cpu->mem, _t847, (uint16_t)cpu->r[27]);
|
|
/* 0277CBE4 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CBE8 */ _t848 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277CBE8 */ rbrew_write16(cpu->mem, _t848, (uint16_t)cpu->r[11]);
|
|
/* 0277CBEC */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CBF0 */ _t849 = cpu->r[1] + 0x00000018u;
|
|
/* 0277CBF0 */ rbrew_write32(cpu->mem, _t849, cpu->r[4]);
|
|
/* 0277CBF4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277CBF8 */ _t850 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CBF8 */ rbrew_write16(cpu->mem, _t850, (uint16_t)cpu->r[27]);
|
|
/* 0277CBFC */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277CC00 */ cpu->r[0] = 0x0000001Au;
|
|
/* 0277CC04 */ _t851 = cpu->r[1] + 0x00000016u;
|
|
/* 0277CC04 */ rbrew_write16(cpu->mem, _t851, (uint16_t)cpu->r[11]);
|
|
/* 0277CC08 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277CC0C */ _t852 = cpu->r[1] + 0x00000008u;
|
|
/* 0277CC0C */ rbrew_write8(cpu->mem, _t852, (uint8_t)cpu->r[0]);
|
|
/* 0277CC10 */ Gambit_fn_02780EF0(cpu);
|
|
/* 0277CC14 */ cpu->r[4] = 0x10100000u;
|
|
/* 0277CC18 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277CC1C */ cpu->r[4] = cpu->r[4] + 0x00003BBCu;
|
|
/* 0277CC20 */ Gambit_fn_02780498(cpu);
|
|
/* 0277CC24 */ cpu->r[28] = cpu->r[3];
|
|
/* 0277CC28 */ cpu->r[3] = cpu->r[29] + 0x0000024Cu;
|
|
/* 0277CC2C */ cpu->r[4] = 0x0000001Bu;
|
|
/* 0277CC30 */ Gambit_fn_02780B34(cpu);
|
|
/* 0277CC34 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0277CC38 */ cpu->r[4] = cpu->r[28];
|
|
/* 0277CC3C */ Gambit_fn_02780500(cpu);
|
|
/* 0277CC40 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0277CC44 */ cpu->r[4] = 0x00000002u;
|
|
/* 0277CC48 */ Gambit_fn_02780484(cpu);
|
|
/* 0277CC4C */ _t853 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CC4C */ rbrew_write16(cpu->mem, _t853, (uint16_t)cpu->r[27]);
|
|
/* 0277CC50 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 0277CC54 */ _t854 = cpu->r[1] + 0x0000001Eu;
|
|
/* 0277CC54 */ rbrew_write16(cpu->mem, _t854, (uint16_t)cpu->r[27]);
|
|
/* 0277CC58 */ cpu->r[10] = 0x02780000u;
|
|
/* 0277CC5C */ _t855 = cpu->r[1] + 0x00000016u;
|
|
/* 0277CC5C */ rbrew_write16(cpu->mem, _t855, (uint16_t)cpu->r[8]);
|
|
/* 0277CC60 */ cpu->r[8] = 0x02780000u;
|
|
/* 0277CC64 */ cpu->r[10] = cpu->r[10] + 0x000003E8u;
|
|
/* 0277CC68 */ _t856 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CC68 */ rbrew_write16(cpu->mem, _t856, (uint16_t)cpu->r[27]);
|
|
/* 0277CC6C */ cpu->r[8] = cpu->r[8] + 0x00000324u;
|
|
/* 0277CC70 */ _t857 = cpu->r[1] + 0x00000010u;
|
|
/* 0277CC70 */ rbrew_write32(cpu->mem, _t857, cpu->r[10]);
|
|
/* 0277CC74 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CC78 */ _t858 = cpu->r[1] + 0x00000020u;
|
|
/* 0277CC78 */ rbrew_write32(cpu->mem, _t858, cpu->r[27]);
|
|
/* 0277CC7C */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 0277CC80 */ _t859 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CC80 */ rbrew_write16(cpu->mem, _t859, (uint16_t)cpu->r[27]);
|
|
/* 0277CC84 */ cpu->r[3] = cpu->r[30];
|
|
/* 0277CC88 */ cpu->r[0] = 0x0000001Bu;
|
|
/* 0277CC8C */ _t860 = cpu->r[1] + 0x0000000Eu;
|
|
/* 0277CC8C */ rbrew_write16(cpu->mem, _t860, (uint16_t)cpu->r[31]);
|
|
/* 0277CC90 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277CC94 */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CC98 */ _t861 = cpu->r[1] + 0x00000008u;
|
|
/* 0277CC98 */ rbrew_write8(cpu->mem, _t861, (uint8_t)cpu->r[0]);
|
|
/* 0277CC9C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0277CCA0 */ _t862 = cpu->r[1] + 0x00000018u;
|
|
/* 0277CCA0 */ rbrew_write32(cpu->mem, _t862, cpu->r[8]);
|
|
/* 0277CCA4 */ Gambit_fn_02780EF0(cpu);
|
|
L_0277CCA8: ; // 0x277cca8
|
|
/* 0277CCA8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0277CCAC */ /* nop */
|
|
/* 0277CCB0 */ _t863 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0277CCB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t863);
|
|
/* 0277CCB4 */ cpu->lr = cpu->r[0];
|
|
/* 0277CCB8 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 0277CCBC */ return;
|
|
}
|
|
|
|
// fn_0277CCC0 @ 0x277ccc0
|
|
void Gambit_fn_0277CCC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277CCC0: ; // 0x277ccc0
|
|
/* 0277CCC0 */ cpu->r[0] = cpu->lr;
|
|
/* 0277CCC4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277CCC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277CCC4 */ cpu->r[1] = _t0;
|
|
/* 0277CCC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CCC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277CCCC */ cpu->r[31] = cpu->r[3];
|
|
/* 0277CCD0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0277CCD4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CCD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277CCD8 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 0277CCD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0277CCDC */ Gambit_fn_02826F20(cpu);
|
|
/* 0277CCE0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0277CCE4 */ _t4 = cpu->r[12] + 0x000044E4u;
|
|
/* 0277CCE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277CCE8 */ cpu->r[5] = cpu->r[3];
|
|
/* 0277CCEC */ _t5 = cpu->r[12] + 0x00000254u;
|
|
/* 0277CCEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277CCF0 */ cpu->r[4] = cpu->r[31] + 0x00000238u;
|
|
/* 0277CCF4 */ Gambit_fn_027B8F9C(cpu);
|
|
/* 0277CCF8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0277CCF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277CCFC */ _t7 = cpu->r[12] + 0x00000124u;
|
|
/* 0277CCFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277CD00 */ cpu->ctr = cpu->r[0];
|
|
/* 0277CD04 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277CD08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277CD0C */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0277CD0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0277CD10 */ _t9 = cpu->r[10] + 0x0000012Cu;
|
|
/* 0277CD10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277CD14 */ cpu->ctr = cpu->r[0];
|
|
/* 0277CD18 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277CD1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277CD20 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CD20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277CD24 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CD24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277CD28 */ cpu->lr = cpu->r[0];
|
|
/* 0277CD2C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277CD30 */ return;
|
|
}
|
|
|
|
// fn_0277CCC4 @ 0x277ccc4
|
|
void Gambit_fn_0277CCC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277CCC4: ; // 0x277ccc4
|
|
/* 0277CCC4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277CCC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277CCC4 */ cpu->r[1] = _t0;
|
|
/* 0277CCC8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CCC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277CCCC */ cpu->r[31] = cpu->r[3];
|
|
/* 0277CCD0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0277CCD4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CCD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277CCD8 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 0277CCD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0277CCDC */ Gambit_fn_02826F20(cpu);
|
|
/* 0277CCE0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0277CCE4 */ _t4 = cpu->r[12] + 0x000044E4u;
|
|
/* 0277CCE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277CCE8 */ cpu->r[5] = cpu->r[3];
|
|
/* 0277CCEC */ _t5 = cpu->r[12] + 0x00000254u;
|
|
/* 0277CCEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277CCF0 */ cpu->r[4] = cpu->r[31] + 0x00000238u;
|
|
/* 0277CCF4 */ Gambit_fn_027B8F9C(cpu);
|
|
/* 0277CCF8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0277CCF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277CCFC */ _t7 = cpu->r[12] + 0x00000124u;
|
|
/* 0277CCFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277CD00 */ cpu->ctr = cpu->r[0];
|
|
/* 0277CD04 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277CD08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277CD0C */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0277CD0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0277CD10 */ _t9 = cpu->r[10] + 0x0000012Cu;
|
|
/* 0277CD10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277CD14 */ cpu->ctr = cpu->r[0];
|
|
/* 0277CD18 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277CD1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277CD20 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CD20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277CD24 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CD24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277CD28 */ cpu->lr = cpu->r[0];
|
|
/* 0277CD2C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277CD30 */ return;
|
|
}
|
|
|
|
// fn_0277CD34 @ 0x277cd34
|
|
void Gambit_fn_0277CD34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02063DCC: ; // 0x2063dcc
|
|
/* 02063DCC */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02063DCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02063DCC */ cpu->r[1] = _t0;
|
|
/* 02063DD0 */ /* nop */
|
|
/* 02063DD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02063DD8 */ cpu->r[23] = cpu->r[3];
|
|
/* 02063DDC */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02063DDC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02063DE0 */ Gambit_fn_02062AF0(cpu);
|
|
/* 02063DE4 */ cpu->r[7] = 0x101E0000u;
|
|
/* 02063DE8 */ _t2 = cpu->r[7] + 0xFFFFD1BCu;
|
|
/* 02063DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02063DE8 */ cpu->r[7] = _t2;
|
|
/* 02063DEC */ cpu->r[31] = 0x101E0000u;
|
|
/* 02063DF0 */ cpu->r[22] = cpu->r[3];
|
|
/* 02063DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02063DF8 */ cpu->r[31] = cpu->r[31] + 0xFFFFD134u;
|
|
/* 02063DFC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02063DFC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02063DFC */ if (_t4) goto L_02063E00; else goto L_02063E48;
|
|
L_02063E00: ; // 0x2063e00
|
|
/* 02063E00 */ cpu->r[12] = 0x00000001u;
|
|
/* 02063E04 */ cpu->r[6] = cpu->r[31] + 0x00000060u;
|
|
/* 02063E08 */ cpu->r[4] = 0x10000000u;
|
|
/* 02063E0C */ _t5 = cpu->r[7] + 0x00000000u;
|
|
/* 02063E0C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02063E10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02063E14 */ cpu->r[5] = 0x00000005u;
|
|
/* 02063E18 */ cpu->r[4] = cpu->r[4] + 0x00006FC4u;
|
|
/* 02063E1C */ cpu->r[7] = 0x00000000u;
|
|
/* 02063E20 */ Gambit_fn_028A6750(cpu);
|
|
/* 02063E24 */ cpu->r[6] = 0x02060000u;
|
|
/* 02063E28 */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02063E2C */ cpu->r[4] = 0x00000005u;
|
|
/* 02063E30 */ cpu->r[6] = cpu->r[6] + 0x00003FD8u;
|
|
/* 02063E34 */ cpu->r[5] = 0x00000008u;
|
|
/* 02063E38 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02063E3C */ cpu->r[3] = 0x101C0000u;
|
|
/* 02063E40 */ cpu->r[3] = cpu->r[3] + 0x00003368u;
|
|
/* 02063E44 */ Gambit_fn_02C83090(cpu);
|
|
L_02063E48: ; // 0x2063e48
|
|
/* 02063E48 */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 02063E48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02063E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02063E50 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02063E50 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02063E50 */ if (_t8) goto L_02063E54; else goto L_02063F48;
|
|
L_02063E54: ; // 0x2063e54
|
|
/* 02063E54 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02063E58 */ cpu->r[30] = 0xFFFFFFFFu;
|
|
/* 02063E5C */ cpu->r[19] = 0x101D0000u;
|
|
/* 02063E60 */ cpu->r[20] = 0x101D0000u;
|
|
/* 02063E64 */ cpu->r[21] = 0x101D0000u;
|
|
/* 02063E68 */ cpu->r[24] = 0x00000001u;
|
|
/* 02063E6C */ cpu->r[27] = cpu->r[27] + 0xFFFFECECu;
|
|
/* 02063E70 */ cpu->r[28] = 0x00000000u;
|
|
/* 02063E74 */ cpu->r[26] = 0x101D0000u;
|
|
L_02063E78: ; // 0x2063e78
|
|
/* 02063E78 */ _t9 = cpu->r[21] + 0xFFFFD930u;
|
|
/* 02063E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02063E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02063E80 */ cpu->r[25] = cpu->r[30] + 0x00000001u;
|
|
/* 02063E84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02063E84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02063E84 */ if (_t11) goto L_02063E88; else goto L_02063EA0;
|
|
L_02063E88: ; // 0x2063e88
|
|
/* 02063E88 */ cpu->r[4] = 0x101C0000u;
|
|
/* 02063E8C */ cpu->r[3] = cpu->r[26] + 0x00003C20u;
|
|
/* 02063E90 */ cpu->r[5] = 0x00000029u;
|
|
/* 02063E94 */ cpu->r[4] = cpu->r[4] + 0x0000333Cu;
|
|
/* 02063E98 */ _t12 = cpu->r[21] + 0xFFFFD930u;
|
|
/* 02063E98 */ rbrew_write32(cpu->mem, _t12, cpu->r[24]);
|
|
/* 02063E9C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02063EA0: ; // 0x2063ea0
|
|
/* 02063EA0 */ _t13 = cpu->r[20] + 0xFFFFD92Cu;
|
|
/* 02063EA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02063EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02063EA8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02063EA8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02063EA8 */ if (_t15) goto L_02063EAC; else goto L_02063EB4;
|
|
L_02063EAC: ; // 0x2063eac
|
|
/* 02063EAC */ _t16 = cpu->r[19] + 0xFFFFED00u;
|
|
/* 02063EAC */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 02063EB0 */ _t17 = cpu->r[20] + 0xFFFFD92Cu;
|
|
/* 02063EB0 */ rbrew_write32(cpu->mem, _t17, cpu->r[24]);
|
|
L_02063EB4: ; // 0x2063eb4
|
|
/* 02063EB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000005u);
|
|
/* 02063EB8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02063EB8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02063EB8 */ if (_t19) goto L_02063EE0; else goto L_02063EBC;
|
|
L_02063EBC: ; // 0x2063ebc
|
|
/* 02063EBC */ cpu->r[4] = cpu->r[30];
|
|
/* 02063EC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02063EC4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02063EC8 */ Gambit_fn_028A6634(cpu);
|
|
/* 02063ECC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02063ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000004u);
|
|
/* 02063ED4 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02063ED4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02063ED4 */ if (_t21) goto L_02063F48; else goto L_02063ED8;
|
|
L_02063ED8: ; // 0x2063ed8
|
|
/* 02063ED8 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02063ED8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02063ED8 */ if (_t23) goto L_02063E78; else goto L_02063EDC;
|
|
L_02063EDC: ; // 0x2063edc
|
|
/* 02063EDC */ goto L_02063F48;
|
|
L_02063EE0: ; // 0x2063ee0
|
|
/* 02063EE0 */ _t24 = cpu->r[19] + 0xFFFFED00u;
|
|
/* 02063EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02063EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02063EE8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02063EE8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02063EE8 */ if (_t26) goto L_02063EEC; else goto L_02063F24;
|
|
L_02063EEC: ; // 0x2063eec
|
|
/* 02063EEC */ Gambit_fn_0282A450(cpu);
|
|
/* 02063EF0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02063EF4 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02063EF8 */ _t27 = cpu->r[19] + 0xFFFFED00u;
|
|
/* 02063EF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02063EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02063F00 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02063F00 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02063F00 */ if (_t29) goto L_02063F04; else goto L_02063F18;
|
|
L_02063F04: ; // 0x2063f04
|
|
/* 02063F04 */ cpu->r[5] = 0x00000005u;
|
|
/* 02063F08 */ cpu->r[4] = cpu->r[26] + 0x00003C20u;
|
|
/* 02063F0C */ cpu->r[3] = cpu->r[27];
|
|
/* 02063F10 */ Gambit_fn_0282A374(cpu);
|
|
/* 02063F14 */ _t30 = cpu->r[19] + 0xFFFFED00u;
|
|
/* 02063F14 */ rbrew_write32(cpu->mem, _t30, cpu->r[27]);
|
|
L_02063F18: ; // 0x2063f18
|
|
/* 02063F18 */ cpu->r[3] = cpu->r[29];
|
|
/* 02063F1C */ Gambit_fn_02837030(cpu);
|
|
/* 02063F20 */ _t31 = cpu->r[19] + 0xFFFFED00u;
|
|
/* 02063F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
L_02063F24: ; // 0x2063f24
|
|
/* 02063F24 */ cpu->r[12] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02063F28 */ cpu->r[3] = cpu->r[31];
|
|
/* 02063F2C */ _t32 = cpu->r[12] + cpu->r[0];
|
|
/* 02063F2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02063F30 */ cpu->r[4] = cpu->r[30];
|
|
/* 02063F34 */ Gambit_fn_028A6634(cpu);
|
|
/* 02063F38 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02063F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000004u);
|
|
/* 02063F40 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02063F40 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02063F40 */ if (_t34) goto L_02063F48; else goto L_02063F44;
|
|
L_02063F44: ; // 0x2063f44
|
|
/* 02063F44 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02063F44 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02063F44 */ if (_t36) goto L_02063E78; else goto L_02063F48;
|
|
L_02063F48: ; // 0x2063f48
|
|
/* 02063F48 */ cpu->r[3] = cpu->r[23];
|
|
/* 02063F4C */ cpu->r[4] = cpu->r[31];
|
|
/* 02063F50 */ Gambit_fn_027B81E4(cpu);
|
|
/* 02063F54 */ cpu->r[3] = cpu->r[22] + 0x00000001u;
|
|
/* 02063F58 */ /* nop */
|
|
/* 02063F5C */ _t37 = cpu->r[1] + 0x00000044u;
|
|
/* 02063F5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02063F60 */ cpu->lr = cpu->r[0];
|
|
/* 02063F64 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02063F68 */ return;
|
|
L_0277CD34: ; // 0x277cd34
|
|
/* 0277CD34 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0277CD38 */ _t38 = cpu->r[12] + 0x000044E4u;
|
|
/* 0277CD38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0277CD3C */ _t39 = cpu->r[12] + 0x00000254u;
|
|
/* 0277CD3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0277CD40 */ cpu->r[4] = 0x00000000u;
|
|
/* 0277CD44 */ goto L_02063DCC;
|
|
}
|
|
|
|
// fn_0277CD48 @ 0x277cd48
|
|
void Gambit_fn_0277CD48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277CD48: ; // 0x277cd48
|
|
/* 0277CD48 */ cpu->r[0] = cpu->lr;
|
|
/* 0277CD4C */ cpu->r[11] = 0x10100000u;
|
|
/* 0277CD50 */ cpu->r[9] = 0x00000000u;
|
|
/* 0277CD54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277CD54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277CD54 */ cpu->r[1] = _t0;
|
|
/* 0277CD58 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277CD58 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 0277CD5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CD5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277CD60 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CD64 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CD64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277CD68 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277CD6C */ _t4 = cpu->r[11] + 0x000039CCu;
|
|
/* 0277CD6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277CD70 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277CD74 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0277CD74 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277CD78 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277CD7C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CD7C */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 0277CD80 */ Gambit_fn_02791774(cpu);
|
|
/* 0277CD84 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277CD84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277CD88 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0277CD8C */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277CD8C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277CD90 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CD90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277CD94 */ cpu->lr = cpu->r[0];
|
|
/* 0277CD98 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CD98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277CD9C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277CDA0 */ return;
|
|
}
|
|
|
|
// fn_0277CD54 @ 0x277cd54
|
|
void Gambit_fn_0277CD54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0277CD54: ; // 0x277cd54
|
|
/* 0277CD54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277CD54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277CD54 */ cpu->r[1] = _t0;
|
|
/* 0277CD58 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277CD58 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 0277CD5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CD5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277CD60 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CD64 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CD64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277CD68 */ cpu->r[0] = 0x00000004u;
|
|
/* 0277CD6C */ _t4 = cpu->r[11] + 0x000039CCu;
|
|
/* 0277CD6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277CD70 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277CD74 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0277CD74 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277CD78 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277CD7C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CD7C */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 0277CD80 */ Gambit_fn_02791774(cpu);
|
|
/* 0277CD84 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 0277CD84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277CD88 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0277CD8C */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 0277CD8C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277CD90 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CD90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277CD94 */ cpu->lr = cpu->r[0];
|
|
/* 0277CD98 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CD98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277CD9C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277CDA0 */ return;
|
|
}
|
|
|
|
// fn_0277CDA4 @ 0x277cda4
|
|
void Gambit_fn_0277CDA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0277CDA4: ; // 0x277cda4
|
|
/* 0277CDA4 */ cpu->r[0] = cpu->lr;
|
|
/* 0277CDA8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277CDA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277CDA8 */ cpu->r[1] = _t0;
|
|
/* 0277CDAC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CDAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277CDB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277CDB4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CDB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277CDB8 */ _t3 = cpu->r[31] + 0x00000246u;
|
|
/* 0277CDB8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0277CDBC */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 0277CDC0 */ /* nop */
|
|
/* 0277CDC4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0277CDC8 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 0277CDCC */ Gambit_fn_020640AC(cpu);
|
|
/* 0277CDD0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0277CDD4 */ _t4 = cpu->r[31] + 0x00000278u;
|
|
/* 0277CDD4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[4]);
|
|
/* 0277CDD8 */ _t5 = cpu->r[31] + 0x00000279u;
|
|
/* 0277CDD8 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[4]);
|
|
/* 0277CDDC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277CDE0 */ _t6 = cpu->r[31] + 0x0000027Bu;
|
|
/* 0277CDE0 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[4]);
|
|
/* 0277CDE4 */ _t7 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277CDE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277CDE8 */ _t8 = cpu->r[12] + 0x0000024Cu;
|
|
/* 0277CDE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0277CDEC */ Gambit_fn_0276AF5C(cpu);
|
|
/* 0277CDF0 */ cpu->r[8] = 0x00000002u;
|
|
/* 0277CDF4 */ cpu->r[9] = 0x10100000u;
|
|
/* 0277CDF8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0277CDF8 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 0277CDFC */ cpu->r[12] = 0x00000004u;
|
|
/* 0277CE00 */ _t10 = cpu->r[9] + 0x000039DCu;
|
|
/* 0277CE00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277CE04 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277CE08 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0277CE08 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 0277CE0C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CE10 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277CE14 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CE14 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0277CE18 */ Gambit_fn_02791774(cpu);
|
|
/* 0277CE1C */ _t13 = cpu->r[31] + 0x00000230u;
|
|
/* 0277CE1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0277CE20 */ cpu->r[5] = cpu->r[5] | 0x00000004u;
|
|
/* 0277CE24 */ _t14 = cpu->r[31] + 0x00000230u;
|
|
/* 0277CE24 */ rbrew_write32(cpu->mem, _t14, cpu->r[5]);
|
|
/* 0277CE28 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CE28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277CE2C */ cpu->lr = cpu->r[0];
|
|
/* 0277CE30 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CE30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277CE34 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277CE38 */ return;
|
|
}
|
|
|
|
// fn_0277CDA8 @ 0x277cda8
|
|
void Gambit_fn_0277CDA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0277CDA8: ; // 0x277cda8
|
|
/* 0277CDA8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277CDA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277CDA8 */ cpu->r[1] = _t0;
|
|
/* 0277CDAC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CDAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277CDB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277CDB4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CDB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277CDB8 */ _t3 = cpu->r[31] + 0x00000246u;
|
|
/* 0277CDB8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0277CDBC */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 0277CDC0 */ /* nop */
|
|
/* 0277CDC4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 0277CDC8 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 0277CDCC */ Gambit_fn_020640AC(cpu);
|
|
/* 0277CDD0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0277CDD4 */ _t4 = cpu->r[31] + 0x00000278u;
|
|
/* 0277CDD4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[4]);
|
|
/* 0277CDD8 */ _t5 = cpu->r[31] + 0x00000279u;
|
|
/* 0277CDD8 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[4]);
|
|
/* 0277CDDC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277CDE0 */ _t6 = cpu->r[31] + 0x0000027Bu;
|
|
/* 0277CDE0 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[4]);
|
|
/* 0277CDE4 */ _t7 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277CDE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277CDE8 */ _t8 = cpu->r[12] + 0x0000024Cu;
|
|
/* 0277CDE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0277CDEC */ Gambit_fn_0276AF5C(cpu);
|
|
/* 0277CDF0 */ cpu->r[8] = 0x00000002u;
|
|
/* 0277CDF4 */ cpu->r[9] = 0x10100000u;
|
|
/* 0277CDF8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0277CDF8 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 0277CDFC */ cpu->r[12] = 0x00000004u;
|
|
/* 0277CE00 */ _t10 = cpu->r[9] + 0x000039DCu;
|
|
/* 0277CE00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277CE04 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277CE08 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0277CE08 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 0277CE0C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CE10 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277CE14 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CE14 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0277CE18 */ Gambit_fn_02791774(cpu);
|
|
/* 0277CE1C */ _t13 = cpu->r[31] + 0x00000230u;
|
|
/* 0277CE1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0277CE20 */ cpu->r[5] = cpu->r[5] | 0x00000004u;
|
|
/* 0277CE24 */ _t14 = cpu->r[31] + 0x00000230u;
|
|
/* 0277CE24 */ rbrew_write32(cpu->mem, _t14, cpu->r[5]);
|
|
/* 0277CE28 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277CE28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277CE2C */ cpu->lr = cpu->r[0];
|
|
/* 0277CE30 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CE30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277CE34 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277CE38 */ return;
|
|
}
|
|
|
|
// fn_0277CE3C @ 0x277ce3c
|
|
void Gambit_fn_0277CE3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_020641BC: ; // 0x20641bc
|
|
/* 020641BC */ cpu->r[0] = cpu->lr;
|
|
/* 020641C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 020641C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 020641C0 */ cpu->r[1] = _t0;
|
|
/* 020641C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 020641C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 020641C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 020641CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 020641CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 020641D0 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 020641D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 020641D4 */ cpu->r[12] = 0x00000000u;
|
|
/* 020641D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 020641DC */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 020641DC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 020641E0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020641E0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 020641E0 */ if (_t6) goto L_02064208; else goto L_020641E4;
|
|
L_020641E4: ; // 0x20641e4
|
|
/* 020641E4 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 020641E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 020641E8 */ /* nop */
|
|
/* 020641EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 020641F0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 020641F0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 020641F0 */ if (_t9) goto L_020641F4; else goto L_02064208;
|
|
L_020641F4: ; // 0x20641f4
|
|
/* 020641F4 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 020641F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 020641F8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 020641F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 020641FC */ cpu->ctr = cpu->r[0];
|
|
/* 02064200 */ cpu->r[3] = cpu->r[31];
|
|
/* 02064204 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02064208: ; // 0x2064208
|
|
/* 02064208 */ cpu->r[3] = cpu->r[31];
|
|
/* 0206420C */ Gambit_fn_02064134(cpu);
|
|
/* 02064210 */ cpu->r[3] = cpu->r[31];
|
|
/* 02064214 */ Gambit_fn_027FC37C(cpu);
|
|
/* 02064218 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02064218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0206421C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0206421C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02064220 */ cpu->lr = cpu->r[0];
|
|
/* 02064224 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02064228 */ return;
|
|
L_0277CE3C: ; // 0x277ce3c
|
|
/* 0277CE3C */ cpu->r[3] = cpu->r[3] + 0x00000238u;
|
|
/* 0277CE40 */ goto L_020641BC;
|
|
}
|
|
|
|
// fn_0277CE44 @ 0x277ce44
|
|
void Gambit_fn_0277CE44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_027651F0: ; // 0x27651f0
|
|
/* 027651F0 */ cpu->r[0] = cpu->lr;
|
|
/* 027651F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 027651F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 027651F4 */ cpu->r[1] = _t0;
|
|
/* 027651F8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 027651F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 027651FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02765200 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02765200 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02765204 */ _t3 = cpu->r[31] + 0x00000274u;
|
|
/* 02765204 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02765208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0276520C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0276520C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0276520C */ if (_t5) goto L_02765210; else goto L_02765228;
|
|
L_02765210: ; // 0x2765210
|
|
/* 02765210 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02765210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02765214 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02765214 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02765218 */ cpu->lr = cpu->r[0];
|
|
/* 0276521C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02765220 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02765224 */ return;
|
|
L_02765228: ; // 0x2765228
|
|
/* 02765228 */ _t8 = cpu->r[31] + 0x00000284u;
|
|
/* 02765228 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0276522C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02765230 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02765230 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02765230 */ if (_t10) goto L_02765234; else goto L_02765270;
|
|
L_02765234: ; // 0x2765234
|
|
/* 02765234 */ _t11 = cpu->r[31] + 0x0000027Cu;
|
|
/* 02765234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02765238 */ _t12 = cpu->r[31] + 0x000002B8u;
|
|
/* 02765238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0276523C */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 02765240 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02765244 */ cpu->r[11] = 0x00000000u;
|
|
/* 02765248 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02765248 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02765248 */ if (_t14) goto L_0276524C; else goto L_02765258;
|
|
L_0276524C: ; // 0x276524c
|
|
/* 0276524C */ _t15 = cpu->r[31] + 0x000002C0u;
|
|
/* 0276524C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02765250 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02765254 */ _t16 = cpu->r[9] + cpu->r[10];
|
|
/* 02765254 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
L_02765258: ; // 0x2765258
|
|
/* 02765258 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02765258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0276525C */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 0276525C */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02765260 */ cpu->lr = cpu->r[0];
|
|
/* 02765264 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02765264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02765268 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0276526C */ return;
|
|
L_02765270: ; // 0x2765270
|
|
/* 02765270 */ _t20 = cpu->r[31] + 0x00000284u;
|
|
/* 02765270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02765274 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02765278 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0276527C */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0276527C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02765280 */ Gambit_fn_02777CF4(cpu);
|
|
/* 02765284 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02765284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02765288 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 0276528C */ cpu->r[11] = cpu->r[31] + 0x00020000u;
|
|
/* 02765290 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02765290 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02765290 */ if (_t24) goto L_02765294; else goto L_027652B4;
|
|
L_02765294: ; // 0x2765294
|
|
/* 02765294 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02765298 */ _t25 = cpu->r[31] + 0x00000274u;
|
|
/* 02765298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0276529C */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 027652A0 */ _t26 = cpu->r[12] + 0x00003ECCu;
|
|
/* 027652A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 027652A0 */ cpu->r[12] = _t26;
|
|
/* 027652A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 027652A8 */ _t27 = cpu->r[12] + 0x00000004u;
|
|
/* 027652A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 027652AC */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027652AC */ _t29 = _t28 & 0x00000001u;
|
|
/* 027652AC */ if (_t29) goto L_027652C8; else goto L_027652B0;
|
|
L_027652B0: ; // 0x27652b0
|
|
/* 027652B0 */ goto L_027652D0;
|
|
L_027652B4: ; // 0x27652b4
|
|
/* 027652B4 */ _t30 = cpu->r[11] + 0x00003ECCu;
|
|
/* 027652B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 027652B8 */ _t31 = cpu->r[31] + 0x00000274u;
|
|
/* 027652B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 027652BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 027652C0 */ _t32 = cpu->r[11] + 0x00003ED0u;
|
|
/* 027652C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 027652C4 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 027652C4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 027652C4 */ if (_t34) goto L_027652C8; else goto L_027652B0;
|
|
L_027652C8: ; // 0x27652c8
|
|
/* 027652C8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000160u);
|
|
/* 027652CC */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
L_027652D0: ; // 0x27652d0
|
|
/* 027652D0 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 027652D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 027652D4 */ _t36 = cpu->r[12] + 0x00000000u;
|
|
/* 027652D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 027652D8 */ cpu->lr = cpu->r[0];
|
|
/* 027652DC */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 027652DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 027652E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 027652E4 */ return;
|
|
L_027652E8: ; // 0x27652e8
|
|
/* 027652E8 */ _t38 = cpu->r[3] + 0x00000258u;
|
|
/* 027652E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 027652EC */ _t39 = cpu->r[12] + 0x00000099u;
|
|
/* 027652EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t39);
|
|
/* 027652F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027652F4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 027652F8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027652F8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 027652F8 */ if (_t41) goto L_027652FC; else goto L_02765300;
|
|
L_027652FC: ; // 0x27652fc
|
|
/* 027652FC */ goto L_027651F0;
|
|
L_02765300: ; // 0x2765300
|
|
/* 02765300 */ cpu->r[3] = cpu->r[0];
|
|
/* 02765304 */ return;
|
|
L_0276AF4C: ; // 0x276af4c
|
|
/* 0276AF4C */ _t42 = cpu->r[3] + 0x00000038u;
|
|
/* 0276AF4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0276AF50 */ goto L_027652E8;
|
|
L_0277CE44: ; // 0x277ce44
|
|
/* 0277CE44 */ _t43 = cpu->r[3] + 0x00000278u;
|
|
/* 0277CE44 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 0277CE48 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 0277CE4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277CE50 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277CE50 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0277CE50 */ if (_t45) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0277CE50 */ goto L_0277CE54;
|
|
L_0277CE54: ; // 0x277ce54
|
|
/* 0277CE54 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277CE58 */ _t46 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277CE58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0277CE5C */ _t47 = cpu->r[12] + 0x0000024Cu;
|
|
/* 0277CE5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0277CE60 */ goto L_0276AF4C;
|
|
}
|
|
|
|
// fn_0277CE64 @ 0x277ce64
|
|
void Gambit_fn_0277CE64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277CE64: ; // 0x277ce64
|
|
/* 0277CE64 */ cpu->r[0] = cpu->lr;
|
|
/* 0277CE68 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277CE68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277CE68 */ cpu->r[1] = _t0;
|
|
/* 0277CE6C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CE6C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277CE70 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CE70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277CE74 */ _t3 = cpu->r[3] + 0x00000244u;
|
|
/* 0277CE74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0277CE78 */ /* nop */
|
|
/* 0277CE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 0277CE80 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277CE84 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277CE84 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277CE84 */ if (_t5) goto L_0277CE88; else goto L_0277CEA4;
|
|
L_0277CE88: ; // 0x277ce88
|
|
/* 0277CE88 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277CE8C */ _t6 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277CE8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277CE90 */ _t7 = cpu->r[12] + 0x00000250u;
|
|
/* 0277CE90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277CE94 */ Gambit_fn_0209D0C4(cpu);
|
|
/* 0277CE98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277CE9C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277CE9C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277CE9C */ if (_t9) goto L_0277CEA0; else goto L_0277CEA4;
|
|
L_0277CEA0: ; // 0x277cea0
|
|
/* 0277CEA0 */ cpu->r[31] = 0x00000001u;
|
|
L_0277CEA4: ; // 0x277cea4
|
|
/* 0277CEA4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CEA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277CEA8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277CEAC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CEAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277CEB0 */ cpu->lr = cpu->r[0];
|
|
/* 0277CEB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277CEB8 */ return;
|
|
}
|
|
|
|
// fn_0277CE68 @ 0x277ce68
|
|
void Gambit_fn_0277CE68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277CE68: ; // 0x277ce68
|
|
/* 0277CE68 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277CE68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277CE68 */ cpu->r[1] = _t0;
|
|
/* 0277CE6C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CE6C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277CE70 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CE70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277CE74 */ _t3 = cpu->r[3] + 0x00000244u;
|
|
/* 0277CE74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0277CE78 */ /* nop */
|
|
/* 0277CE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 0277CE80 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277CE84 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277CE84 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277CE84 */ if (_t5) goto L_0277CE88; else goto L_0277CEA4;
|
|
L_0277CE88: ; // 0x277ce88
|
|
/* 0277CE88 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277CE8C */ _t6 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277CE8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277CE90 */ _t7 = cpu->r[12] + 0x00000250u;
|
|
/* 0277CE90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277CE94 */ Gambit_fn_0209D0C4(cpu);
|
|
/* 0277CE98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277CE9C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277CE9C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277CE9C */ if (_t9) goto L_0277CEA0; else goto L_0277CEA4;
|
|
L_0277CEA0: ; // 0x277cea0
|
|
/* 0277CEA0 */ cpu->r[31] = 0x00000001u;
|
|
L_0277CEA4: ; // 0x277cea4
|
|
/* 0277CEA4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CEA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277CEA8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277CEAC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CEAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277CEB0 */ cpu->lr = cpu->r[0];
|
|
/* 0277CEB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277CEB8 */ return;
|
|
}
|
|
|
|
// fn_0277CEBC @ 0x277cebc
|
|
void Gambit_fn_0277CEBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277CEBC: ; // 0x277cebc
|
|
/* 0277CEBC */ cpu->r[0] = cpu->lr;
|
|
/* 0277CEC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277CEC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277CEC0 */ cpu->r[1] = _t0;
|
|
/* 0277CEC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CEC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277CEC8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CEC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277CECC */ _t3 = cpu->r[3] + 0x00000244u;
|
|
/* 0277CECC */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0277CED0 */ /* nop */
|
|
/* 0277CED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000017u);
|
|
/* 0277CED8 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277CEDC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277CEDC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277CEDC */ if (_t5) goto L_0277CEE0; else goto L_0277CEFC;
|
|
L_0277CEE0: ; // 0x277cee0
|
|
/* 0277CEE0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277CEE4 */ _t6 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277CEE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277CEE8 */ _t7 = cpu->r[12] + 0x00000250u;
|
|
/* 0277CEE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277CEEC */ Gambit_fn_0209D0C4(cpu);
|
|
/* 0277CEF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277CEF4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277CEF4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277CEF4 */ if (_t9) goto L_0277CEF8; else goto L_0277CEFC;
|
|
L_0277CEF8: ; // 0x277cef8
|
|
/* 0277CEF8 */ cpu->r[31] = 0x00000001u;
|
|
L_0277CEFC: ; // 0x277cefc
|
|
/* 0277CEFC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CEFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277CF00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277CF04 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CF04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277CF08 */ cpu->lr = cpu->r[0];
|
|
/* 0277CF0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277CF10 */ return;
|
|
}
|
|
|
|
// fn_0277CEC0 @ 0x277cec0
|
|
void Gambit_fn_0277CEC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277CEC0: ; // 0x277cec0
|
|
/* 0277CEC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277CEC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277CEC0 */ cpu->r[1] = _t0;
|
|
/* 0277CEC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CEC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277CEC8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CEC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277CECC */ _t3 = cpu->r[3] + 0x00000244u;
|
|
/* 0277CECC */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0277CED0 */ /* nop */
|
|
/* 0277CED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000017u);
|
|
/* 0277CED8 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277CEDC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277CEDC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277CEDC */ if (_t5) goto L_0277CEE0; else goto L_0277CEFC;
|
|
L_0277CEE0: ; // 0x277cee0
|
|
/* 0277CEE0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277CEE4 */ _t6 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277CEE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277CEE8 */ _t7 = cpu->r[12] + 0x00000250u;
|
|
/* 0277CEE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277CEEC */ Gambit_fn_0209D0C4(cpu);
|
|
/* 0277CEF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277CEF4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277CEF4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277CEF4 */ if (_t9) goto L_0277CEF8; else goto L_0277CEFC;
|
|
L_0277CEF8: ; // 0x277cef8
|
|
/* 0277CEF8 */ cpu->r[31] = 0x00000001u;
|
|
L_0277CEFC: ; // 0x277cefc
|
|
/* 0277CEFC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CEFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277CF00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277CF04 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CF04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277CF08 */ cpu->lr = cpu->r[0];
|
|
/* 0277CF0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277CF10 */ return;
|
|
}
|
|
|
|
// fn_0277CF14 @ 0x277cf14
|
|
void Gambit_fn_0277CF14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277CF14: ; // 0x277cf14
|
|
/* 0277CF14 */ cpu->r[0] = cpu->lr;
|
|
/* 0277CF18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277CF18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277CF18 */ cpu->r[1] = _t0;
|
|
/* 0277CF1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CF1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277CF20 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CF20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277CF24 */ _t3 = cpu->r[3] + 0x00000244u;
|
|
/* 0277CF24 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0277CF28 */ /* nop */
|
|
/* 0277CF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000018u);
|
|
/* 0277CF30 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277CF34 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277CF34 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277CF34 */ if (_t5) goto L_0277CF38; else goto L_0277CF54;
|
|
L_0277CF38: ; // 0x277cf38
|
|
/* 0277CF38 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277CF3C */ _t6 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277CF3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277CF40 */ _t7 = cpu->r[12] + 0x00000250u;
|
|
/* 0277CF40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277CF44 */ Gambit_fn_0209D0C4(cpu);
|
|
/* 0277CF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277CF4C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277CF4C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277CF4C */ if (_t9) goto L_0277CF50; else goto L_0277CF54;
|
|
L_0277CF50: ; // 0x277cf50
|
|
/* 0277CF50 */ cpu->r[31] = 0x00000001u;
|
|
L_0277CF54: ; // 0x277cf54
|
|
/* 0277CF54 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CF54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277CF58 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277CF5C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CF5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277CF60 */ cpu->lr = cpu->r[0];
|
|
/* 0277CF64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277CF68 */ return;
|
|
}
|
|
|
|
// fn_0277CF18 @ 0x277cf18
|
|
void Gambit_fn_0277CF18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277CF18: ; // 0x277cf18
|
|
/* 0277CF18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277CF18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277CF18 */ cpu->r[1] = _t0;
|
|
/* 0277CF1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CF1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277CF20 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CF20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277CF24 */ _t3 = cpu->r[3] + 0x00000244u;
|
|
/* 0277CF24 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0277CF28 */ /* nop */
|
|
/* 0277CF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000018u);
|
|
/* 0277CF30 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277CF34 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277CF34 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277CF34 */ if (_t5) goto L_0277CF38; else goto L_0277CF54;
|
|
L_0277CF38: ; // 0x277cf38
|
|
/* 0277CF38 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277CF3C */ _t6 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277CF3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277CF40 */ _t7 = cpu->r[12] + 0x00000250u;
|
|
/* 0277CF40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277CF44 */ Gambit_fn_0209D0C4(cpu);
|
|
/* 0277CF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277CF4C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277CF4C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277CF4C */ if (_t9) goto L_0277CF50; else goto L_0277CF54;
|
|
L_0277CF50: ; // 0x277cf50
|
|
/* 0277CF50 */ cpu->r[31] = 0x00000001u;
|
|
L_0277CF54: ; // 0x277cf54
|
|
/* 0277CF54 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CF54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277CF58 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277CF5C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CF5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277CF60 */ cpu->lr = cpu->r[0];
|
|
/* 0277CF64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277CF68 */ return;
|
|
}
|
|
|
|
// fn_0277CF70 @ 0x277cf70
|
|
void Gambit_fn_0277CF70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0277CF70: ; // 0x277cf70
|
|
/* 0277CF70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277CF70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277CF70 */ cpu->r[1] = _t0;
|
|
/* 0277CF74 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277CF74 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0277CF78 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0277CF7C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277CF7C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277CF80 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0277CF80 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277CF84 */ _t4 = cpu->r[30] + 0xFFFF8FC4u;
|
|
/* 0277CF84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277CF88 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277CF8C */ _t5 = cpu->r[10] + 0x0000024Cu;
|
|
/* 0277CF8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277CF90 */ Gambit_fn_0276AEAC(cpu);
|
|
/* 0277CF94 */ cpu->r[12] = 0x101C0000u;
|
|
/* 0277CF98 */ _t6 = cpu->r[30] + 0xFFFF8FC4u;
|
|
/* 0277CF98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277CF9C */ _t7 = cpu->r[12] + 0x00003480u;
|
|
/* 0277CF9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277CFA0 */ cpu->r[9] = cpu->r[8] + cpu->r[12];
|
|
/* 0277CFA4 */ _t8 = cpu->r[9] + 0x00000104u;
|
|
/* 0277CFA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0277CFA8 */ _t9 = cpu->r[8] + 0x00000030u;
|
|
/* 0277CFA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277CFAC */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0277CFB0 */ _t10 = cpu->r[10] + cpu->r[11];
|
|
/* 0277CFB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277CFB4 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 0277CFB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277CFB8 */ _t12 = cpu->r[7] + 0x00000000u;
|
|
/* 0277CFB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0277CFBC */ Gambit_fn_02091FFC(cpu);
|
|
/* 0277CFC0 */ _t13 = cpu->r[30] + 0xFFFF8FC4u;
|
|
/* 0277CFC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0277CFC4 */ _t14 = cpu->r[31] + 0x00000274u;
|
|
/* 0277CFC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277CFC8 */ _t15 = cpu->r[9] + 0x0000024Cu;
|
|
/* 0277CFC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277CFCC */ Gambit_fn_0276AF8C(cpu);
|
|
/* 0277CFD0 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0277CFD4 */ _t16 = cpu->r[11] + 0x00001358u;
|
|
/* 0277CFD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277CFD8 */ _t17 = cpu->r[11] + 0x00000288u;
|
|
/* 0277CFD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0277CFDC */ cpu->r[30] = 0x101C0000u;
|
|
/* 0277CFE0 */ _t18 = cpu->r[31] + 0x00000270u;
|
|
/* 0277CFE0 */ rbrew_write32(cpu->mem, _t18, cpu->r[5]);
|
|
/* 0277CFE4 */ _t19 = cpu->r[30] + 0x000044E4u;
|
|
/* 0277CFE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0277CFE8 */ _t20 = cpu->r[10] + 0x00000254u;
|
|
/* 0277CFE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0277CFEC */ cpu->r[4] = 0x00000003u;
|
|
/* 0277CFF0 */ Gambit_fn_027B8224(cpu);
|
|
/* 0277CFF4 */ _t21 = cpu->r[30] + 0x000044E4u;
|
|
/* 0277CFF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0277CFF8 */ _t22 = cpu->r[12] + 0x00000250u;
|
|
/* 0277CFF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0277CFFC */ _t23 = cpu->r[8] + 0x000000B0u;
|
|
/* 0277CFFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0277D000 */ cpu->r[0] = 0x00000001u;
|
|
/* 0277D004 */ _t24 = cpu->r[11] + 0x00000070u;
|
|
/* 0277D004 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 0277D008 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D008 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0277D00C */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D00C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0277D010 */ cpu->lr = cpu->r[0];
|
|
/* 0277D014 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D014 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0277D018 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277D01C */ return;
|
|
}
|
|
|
|
// fn_0277D024 @ 0x277d024
|
|
void Gambit_fn_0277D024(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0277D024: ; // 0x277d024
|
|
/* 0277D024 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277D024 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D024 */ cpu->r[1] = _t0;
|
|
/* 0277D028 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D028 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D02C */ cpu->r[31] = cpu->r[3];
|
|
/* 0277D030 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D030 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277D034 */ _t3 = cpu->r[31] + 0x00000240u;
|
|
/* 0277D034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0277D038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277D03C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D03C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277D03C */ if (_t5) goto L_0277D040; else goto L_0277D05C;
|
|
L_0277D040: ; // 0x277d040
|
|
/* 0277D040 */ _t6 = cpu->r[31] + 0x00000270u;
|
|
/* 0277D040 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277D044 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277D048 */ _t7 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277D048 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D04C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D04C */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 0277D050 */ _t9 = cpu->r[12] + 0x0000024Cu;
|
|
/* 0277D050 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277D054 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D058 */ Gambit_fn_0276ADA4(cpu);
|
|
L_0277D05C: ; // 0x277d05c
|
|
/* 0277D05C */ Gambit_fn_027FA9BC(cpu);
|
|
/* 0277D060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D064 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D064 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0277D064 */ if (_t11) goto L_0277D080; else goto L_0277D068;
|
|
L_0277D068: ; // 0x277d068
|
|
/* 0277D068 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0277D06C */ cpu->r[4] = 0x00000001u;
|
|
/* 0277D070 */ _t12 = cpu->r[11] + 0x00001358u;
|
|
/* 0277D070 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0277D074 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 0277D078 */ _t13 = cpu->r[11] + 0x000002F0u;
|
|
/* 0277D078 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[4]);
|
|
/* 0277D07C */ Gambit_fn_020642B4(cpu);
|
|
L_0277D080: ; // 0x277d080
|
|
/* 0277D080 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277D084 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D084 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277D088 */ cpu->lr = cpu->r[0];
|
|
/* 0277D08C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277D090 */ return;
|
|
}
|
|
|
|
// fn_0277D098 @ 0x277d098
|
|
void Gambit_fn_0277D098(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _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_0277D098: ; // 0x277d098
|
|
/* 0277D098 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0277D098 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D098 */ cpu->r[1] = _t0;
|
|
/* 0277D09C */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 0277D09C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0277D0A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277D0A4 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 0277D0A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0277D0A8 */ cpu->r[3] = cpu->r[30] + 0x000008B8u;
|
|
/* 0277D0AC */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0277D0AC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0277D0B0 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0277D0B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0277D0B4 */ Gambit_fn_02175E78(cpu);
|
|
/* 0277D0B8 */ cpu->r[31] = 0x10100000u;
|
|
/* 0277D0BC */ cpu->r[31] = cpu->r[31] + 0x00003A34u;
|
|
/* 0277D0C0 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277D0C4 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 0277D0C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 0277D0C8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0277D0CC */ cpu->r[3] = 0x101D0000u;
|
|
/* 0277D0D0 */ cpu->r[0] = cpu->r[0] + 0x00003D38u;
|
|
/* 0277D0D4 */ _t6 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 0277D0D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277D0D8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0277D0DC */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D0E0 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D0E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0277D0E4 */ Gambit_fn_028095AC(cpu);
|
|
/* 0277D0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D0EC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D0EC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277D0EC */ if (_t9) goto L_0277D0FC; else goto L_0277D0F0;
|
|
L_0277D0F0: ; // 0x277d0f0
|
|
/* 0277D0F0 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0277D0F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0277D0F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277D0F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D0F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0277D0F8 */ if (_t12) goto L_0277D0FC; else goto L_0277D22C;
|
|
L_0277D0FC: ; // 0x277d0fc
|
|
/* 0277D0FC */ Gambit_fn_027F6838(cpu);
|
|
/* 0277D100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D104 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D104 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0277D104 */ if (_t14) goto L_0277D108; else goto L_0277D118;
|
|
L_0277D108: ; // 0x277d108
|
|
/* 0277D108 */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 0277D10C */ cpu->r[4] = 0x00000002u;
|
|
/* 0277D110 */ Gambit_fn_020642B4(cpu);
|
|
/* 0277D114 */ goto L_0277D238;
|
|
L_0277D118: ; // 0x277d118
|
|
/* 0277D118 */ _t15 = cpu->r[30] + 0x000008ACu;
|
|
/* 0277D118 */ cpu->r[7] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0277D11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0277D120 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D120 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0277D120 */ if (_t17) goto L_0277D154; else goto L_0277D124;
|
|
L_0277D124: ; // 0x277d124
|
|
/* 0277D124 */ _t18 = cpu->r[30] + 0x00000270u;
|
|
/* 0277D124 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0277D128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0277D12C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D12C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0277D12C */ if (_t20) goto L_0277D13C; else goto L_0277D130;
|
|
L_0277D130: ; // 0x277d130
|
|
/* 0277D130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000003u);
|
|
/* 0277D134 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277D134 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0277D134 */ if (_t22) goto L_0277D138; else goto L_0277D154;
|
|
L_0277D138: ; // 0x277d138
|
|
/* 0277D138 */ goto L_0277D144;
|
|
L_0277D13C: ; // 0x277d13c
|
|
/* 0277D13C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0277D140 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277D140 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0277D140 */ if (_t24) goto L_0277D154; else goto L_0277D144;
|
|
L_0277D144: ; // 0x277d144
|
|
/* 0277D144 */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 0277D148 */ cpu->r[4] = 0x00000003u;
|
|
/* 0277D14C */ Gambit_fn_020642B4(cpu);
|
|
/* 0277D150 */ goto L_0277D238;
|
|
L_0277D154: ; // 0x277d154
|
|
/* 0277D154 */ Gambit_fn_027FAD44(cpu);
|
|
/* 0277D158 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D158 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
/* 0277D15C */ cpu->r[9] = 0x10100000u;
|
|
/* 0277D160 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D160 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 0277D164 */ cpu->r[9] = cpu->r[9] + 0x00003D28u;
|
|
/* 0277D168 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D168 */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 0277D16C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D170 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D170 */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 0277D174 */ Gambit_fn_027804E8(cpu);
|
|
/* 0277D178 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D178 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0277D17C */ _t30 = cpu->r[10] + 0x00000014u;
|
|
/* 0277D17C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0277D180 */ cpu->ctr = cpu->r[0];
|
|
/* 0277D184 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D188 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277D18C */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D18C */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0277D190 */ _t32 = cpu->r[12] + 0x00000014u;
|
|
/* 0277D190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0277D194 */ cpu->ctr = cpu->r[0];
|
|
/* 0277D198 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D198 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0277D19C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0277D1A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0277D1A4 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D1A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0277D1A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[5]);
|
|
/* 0277D1AC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D1AC */ _t36 = _t35 & 0x00000001u;
|
|
/* 0277D1AC */ if (_t36) goto L_0277D1F4; else goto L_0277D1B0;
|
|
L_0277D1B0: ; // 0x277d1b0
|
|
/* 0277D1B0 */ cpu->r[0] = 0x00080000u;
|
|
/* 0277D1B4 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D1B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0277D1B8 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0277D1BC */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D1BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0277D1C0 */ cpu->r[12] = 0x10110000u;
|
|
/* 0277D1C4 */ cpu->ctr = cpu->r[0];
|
|
/* 0277D1C8 */ _t39 = cpu->r[12] + 0x00007399u;
|
|
/* 0277D1C8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t39);
|
|
/* 0277D1CC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0277D1D0: ; // 0x277d1d0
|
|
/* 0277D1D0 */ _t40 = cpu->r[10] + 0x00000000u;
|
|
/* 0277D1D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t40);
|
|
/* 0277D1D4 */ _t41 = cpu->r[11] + 0x00000001u;
|
|
/* 0277D1D4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t41);
|
|
/* 0277D1D4 */ cpu->r[11] = _t41;
|
|
/* 0277D1D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 0277D1DC */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D1DC */ _t43 = _t42 & 0x00000001u;
|
|
/* 0277D1DC */ if (_t43) goto L_0277D1E0; else goto L_0277D204;
|
|
L_0277D1E0: ; // 0x277d1e0
|
|
/* 0277D1E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 0277D1E4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D1E4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0277D1E4 */ if (_t45) goto L_0277D1F4; else goto L_0277D1E8;
|
|
L_0277D1E8: ; // 0x277d1e8
|
|
/* 0277D1E8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0277D1EC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0277D1EC */ _t46 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0277D1EC */ _t47 = _t46 >> (0x00000002u & 31u);
|
|
/* 0277D1EC */ _t48 = _t47 & 0x00000001u;
|
|
/* 0277D1EC */ if (_t48) goto L_0277D1D0; else goto L_0277D1F0;
|
|
L_0277D1F0: ; // 0x277d1f0
|
|
/* 0277D1F0 */ goto L_0277D204;
|
|
L_0277D1F4: ; // 0x277d1f4
|
|
/* 0277D1F4 */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 0277D1F8 */ cpu->r[4] = 0x0000000Du;
|
|
/* 0277D1FC */ Gambit_fn_020642B4(cpu);
|
|
/* 0277D200 */ goto L_0277D238;
|
|
L_0277D204: ; // 0x277d204
|
|
/* 0277D204 */ _t49 = cpu->r[30] + 0x00000270u;
|
|
/* 0277D204 */ cpu->r[8] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0277D208 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0277D20C */ _t50 = cpu->r[1] + 0x00000018u;
|
|
/* 0277D20C */ rbrew_write32(cpu->mem, _t50, cpu->r[8]);
|
|
/* 0277D210 */ Gambit_fn_02778A04(cpu);
|
|
/* 0277D214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D218 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D218 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0277D218 */ if (_t52) goto L_0277D22C; else goto L_0277D21C;
|
|
L_0277D21C: ; // 0x277d21c
|
|
/* 0277D21C */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 0277D220 */ cpu->r[4] = 0x00000005u;
|
|
/* 0277D224 */ Gambit_fn_020642B4(cpu);
|
|
/* 0277D228 */ goto L_0277D238;
|
|
L_0277D22C: ; // 0x277d22c
|
|
/* 0277D22C */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 0277D230 */ cpu->r[4] = 0x00000004u;
|
|
/* 0277D234 */ Gambit_fn_020642B4(cpu);
|
|
L_0277D238: ; // 0x277d238
|
|
/* 0277D238 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 0277D238 */ cpu->r[29] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0277D23C */ _t54 = cpu->r[1] + 0x00000034u;
|
|
/* 0277D23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0277D240 */ _t55 = cpu->r[1] + 0x00000028u;
|
|
/* 0277D240 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0277D244 */ cpu->lr = cpu->r[0];
|
|
/* 0277D248 */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0277D248 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0277D24C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0277D250 */ return;
|
|
}
|
|
|
|
// fn_0277D254 @ 0x277d254
|
|
void Gambit_fn_0277D254(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59;
|
|
|
|
L_0277D254: ; // 0x277d254
|
|
/* 0277D254 */ cpu->r[0] = cpu->lr;
|
|
/* 0277D258 */ _t0 = cpu->r[1] + 0xFFFFFA78u;
|
|
/* 0277D258 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D258 */ cpu->r[1] = _t0;
|
|
/* 0277D25C */ _t1 = cpu->r[1] + 0x00000584u;
|
|
/* 0277D25C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D260 */ cpu->r[9] = 0x10100000u;
|
|
/* 0277D264 */ cpu->r[11] = cpu->r[1] + 0x00000024u;
|
|
/* 0277D268 */ _t2 = cpu->r[1] + 0x00000580u;
|
|
/* 0277D268 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277D26C */ cpu->r[9] = cpu->r[9] + 0x00003A7Cu;
|
|
/* 0277D270 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0277D270 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0277D274 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D274 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0277D278 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277D27C */ cpu->r[12] = 0x10110000u;
|
|
/* 0277D280 */ _t5 = cpu->r[1] + 0x0000058Cu;
|
|
/* 0277D280 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277D284 */ _t6 = cpu->r[12] + 0x00007399u;
|
|
/* 0277D284 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0277D288 */ _t7 = cpu->r[30] + 0x00000270u;
|
|
/* 0277D288 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D28C */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 0277D28C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 0277D290 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D290 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0277D294 */ cpu->r[0] = 0x00000020u;
|
|
/* 0277D298 */ _t10 = cpu->r[1] + 0x00000043u;
|
|
/* 0277D298 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]);
|
|
/* 0277D29C */ cpu->r[31] = cpu->r[5];
|
|
/* 0277D2A0 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 0277D2A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0277D2A4 */ _t12 = cpu->r[4] + 0x00000000u;
|
|
/* 0277D2A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0277D2A8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D2AC */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0277D2B0 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0277D2B4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D2B4 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0277D2B8 */ Gambit_fn_02777ED0(cpu);
|
|
/* 0277D2BC */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 0277D2C0 */ Gambit_fn_020BC1DC(cpu);
|
|
/* 0277D2C4 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0277D2C8 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 0277D2CC */ Gambit_fn_020BC7F8(cpu);
|
|
/* 0277D2D0 */ _t14 = cpu->r[30] + 0x00000270u;
|
|
/* 0277D2D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277D2D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0277D2D8 */ _t15 = cpu->r[1] + 0x000004C1u;
|
|
/* 0277D2D8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[31]);
|
|
/* 0277D2DC */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277D2DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0277D2DC */ if (_t17) goto L_0277D2E8; else goto L_0277D2E0;
|
|
L_0277D2E0: ; // 0x277d2e0
|
|
/* 0277D2E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 0277D2E4 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277D2E4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0277D2E4 */ if (_t19) goto L_0277D2E8; else goto L_0277D344;
|
|
L_0277D2E8: ; // 0x277d2e8
|
|
/* 0277D2E8 */ cpu->r[0] = 0x00000003u;
|
|
/* 0277D2EC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D2EC */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 0277D2F0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D2F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0277D2F4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0277D2F8 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D2F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0277D2FC */ _t23 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D2FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0277D300 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D300 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0277D304 */ _t25 = cpu->r[11] + 0x00000250u;
|
|
/* 0277D304 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0277D308 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277D30C */ Gambit_fn_0209D0E4(cpu);
|
|
/* 0277D310 */ _t26 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D310 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0277D314 */ _t27 = cpu->r[12] + 0x00000250u;
|
|
/* 0277D314 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0277D318 */ Gambit_fn_0209D0CC(cpu);
|
|
/* 0277D31C */ _t28 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D31C */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0277D320 */ _t29 = cpu->r[9] + 0x00000250u;
|
|
/* 0277D320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0277D324 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 0277D328 */ Gambit_fn_0209CF18(cpu);
|
|
/* 0277D32C */ _t30 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D32C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0277D32C */ cpu->r[31] = _t30;
|
|
/* 0277D330 */ _t31 = cpu->r[11] + 0x00000250u;
|
|
/* 0277D330 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0277D334 */ Gambit_fn_0209D2C0(cpu);
|
|
/* 0277D338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D33C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D33C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0277D33C */ if (_t33) goto L_0277D3A4; else goto L_0277D340;
|
|
L_0277D340: ; // 0x277d340
|
|
/* 0277D340 */ goto L_0277D3F0;
|
|
L_0277D344: ; // 0x277d344
|
|
/* 0277D344 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277D348 */ cpu->r[12] = cpu->r[12] + 0x00003D47u;
|
|
/* 0277D34C */ cpu->r[31] = 0x101D0000u;
|
|
/* 0277D350 */ _t34 = cpu->r[12] + cpu->r[0];
|
|
/* 0277D350 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 0277D354 */ _t35 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D354 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0277D358 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D358 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 0277D35C */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D35C */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0277D360 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0277D364 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D364 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 0277D368 */ _t40 = cpu->r[11] + 0x00000250u;
|
|
/* 0277D368 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0277D36C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277D370 */ Gambit_fn_0209D0E4(cpu);
|
|
/* 0277D374 */ _t41 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D374 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0277D378 */ _t42 = cpu->r[12] + 0x00000250u;
|
|
/* 0277D378 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0277D37C */ Gambit_fn_0209D0CC(cpu);
|
|
/* 0277D380 */ _t43 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D380 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0277D384 */ _t44 = cpu->r[9] + 0x00000250u;
|
|
/* 0277D384 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0277D388 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 0277D38C */ Gambit_fn_0209CF18(cpu);
|
|
/* 0277D390 */ _t45 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0277D390 */ cpu->r[31] = _t45;
|
|
/* 0277D394 */ _t46 = cpu->r[11] + 0x00000250u;
|
|
/* 0277D394 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0277D398 */ Gambit_fn_0209D2C0(cpu);
|
|
/* 0277D39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D3A0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D3A0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0277D3A0 */ if (_t48) goto L_0277D3A4; else goto L_0277D3F0;
|
|
L_0277D3A4: ; // 0x277d3a4
|
|
/* 0277D3A4 */ _t49 = cpu->r[31] + 0x00000000u;
|
|
/* 0277D3A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0277D3A8 */ _t50 = cpu->r[12] + 0x00000250u;
|
|
/* 0277D3A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0277D3AC */ Gambit_fn_0209D388(cpu);
|
|
/* 0277D3B0 */ _t51 = cpu->r[31] + 0x00000000u;
|
|
/* 0277D3B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0277D3B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D3B8 */ _t52 = cpu->r[9] + 0x00000250u;
|
|
/* 0277D3B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0277D3BC */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D3BC */ _t54 = _t53 & 0x00000001u;
|
|
/* 0277D3BC */ if (_t54) goto L_0277D3EC; else goto L_0277D3C0;
|
|
L_0277D3C0: ; // 0x277d3c0
|
|
/* 0277D3C0 */ Gambit_fn_0209D39C(cpu);
|
|
/* 0277D3C4 */ cpu->r[6] = 0x02780000u;
|
|
/* 0277D3C8 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 0277D3CC */ cpu->r[4] = 0x00000006u;
|
|
/* 0277D3D0 */ cpu->r[7] = 0x00000000u;
|
|
/* 0277D3D4 */ cpu->r[5] = 0x00000098u;
|
|
/* 0277D3D8 */ cpu->r[6] = cpu->r[6] + 0x00000B50u;
|
|
/* 0277D3DC */ cpu->r[8] = cpu->r[7];
|
|
/* 0277D3E0 */ _t55 = cpu->r[30] + 0x0000027Eu;
|
|
/* 0277D3E0 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[7]);
|
|
/* 0277D3E4 */ Gambit_fn_02C82F38(cpu);
|
|
/* 0277D3E8 */ goto L_0277D414;
|
|
L_0277D3EC: ; // 0x277d3ec
|
|
/* 0277D3EC */ Gambit_fn_0209D408(cpu);
|
|
L_0277D3F0: ; // 0x277d3f0
|
|
/* 0277D3F0 */ cpu->r[6] = 0x02780000u;
|
|
/* 0277D3F4 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 0277D3F8 */ cpu->r[4] = 0x00000006u;
|
|
/* 0277D3FC */ cpu->r[7] = 0x00000000u;
|
|
/* 0277D400 */ cpu->r[5] = 0x00000098u;
|
|
/* 0277D404 */ cpu->r[6] = cpu->r[6] + 0x00000B50u;
|
|
/* 0277D408 */ cpu->r[8] = cpu->r[7];
|
|
/* 0277D40C */ _t56 = cpu->r[30] + 0x0000027Eu;
|
|
/* 0277D40C */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[7]);
|
|
/* 0277D410 */ Gambit_fn_02C82F38(cpu);
|
|
L_0277D414: ; // 0x277d414
|
|
/* 0277D414 */ _t57 = cpu->r[1] + 0x0000058Cu;
|
|
/* 0277D414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0277D418 */ _t58 = cpu->r[1] + 0x00000580u;
|
|
/* 0277D418 */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0277D41C */ cpu->lr = cpu->r[0];
|
|
/* 0277D420 */ _t59 = cpu->r[1] + 0x00000584u;
|
|
/* 0277D420 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0277D424 */ cpu->r[1] = cpu->r[1] + 0x00000588u;
|
|
/* 0277D428 */ return;
|
|
}
|
|
|
|
// fn_0277D258 @ 0x277d258
|
|
void Gambit_fn_0277D258(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59;
|
|
|
|
L_0277D258: ; // 0x277d258
|
|
/* 0277D258 */ _t0 = cpu->r[1] + 0xFFFFFA78u;
|
|
/* 0277D258 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D258 */ cpu->r[1] = _t0;
|
|
/* 0277D25C */ _t1 = cpu->r[1] + 0x00000584u;
|
|
/* 0277D25C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D260 */ cpu->r[9] = 0x10100000u;
|
|
/* 0277D264 */ cpu->r[11] = cpu->r[1] + 0x00000024u;
|
|
/* 0277D268 */ _t2 = cpu->r[1] + 0x00000580u;
|
|
/* 0277D268 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277D26C */ cpu->r[9] = cpu->r[9] + 0x00003A7Cu;
|
|
/* 0277D270 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0277D270 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0277D274 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D274 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0277D278 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277D27C */ cpu->r[12] = 0x10110000u;
|
|
/* 0277D280 */ _t5 = cpu->r[1] + 0x0000058Cu;
|
|
/* 0277D280 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0277D284 */ _t6 = cpu->r[12] + 0x00007399u;
|
|
/* 0277D284 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0277D288 */ _t7 = cpu->r[30] + 0x00000270u;
|
|
/* 0277D288 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D28C */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 0277D28C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 0277D290 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D290 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0277D294 */ cpu->r[0] = 0x00000020u;
|
|
/* 0277D298 */ _t10 = cpu->r[1] + 0x00000043u;
|
|
/* 0277D298 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]);
|
|
/* 0277D29C */ cpu->r[31] = cpu->r[5];
|
|
/* 0277D2A0 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 0277D2A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0277D2A4 */ _t12 = cpu->r[4] + 0x00000000u;
|
|
/* 0277D2A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0277D2A8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D2AC */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0277D2B0 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0277D2B4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D2B4 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0277D2B8 */ Gambit_fn_02777ED0(cpu);
|
|
/* 0277D2BC */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 0277D2C0 */ Gambit_fn_020BC1DC(cpu);
|
|
/* 0277D2C4 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0277D2C8 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 0277D2CC */ Gambit_fn_020BC7F8(cpu);
|
|
/* 0277D2D0 */ _t14 = cpu->r[30] + 0x00000270u;
|
|
/* 0277D2D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277D2D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0277D2D8 */ _t15 = cpu->r[1] + 0x000004C1u;
|
|
/* 0277D2D8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[31]);
|
|
/* 0277D2DC */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277D2DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0277D2DC */ if (_t17) goto L_0277D2E8; else goto L_0277D2E0;
|
|
L_0277D2E0: ; // 0x277d2e0
|
|
/* 0277D2E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 0277D2E4 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277D2E4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0277D2E4 */ if (_t19) goto L_0277D2E8; else goto L_0277D344;
|
|
L_0277D2E8: ; // 0x277d2e8
|
|
/* 0277D2E8 */ cpu->r[0] = 0x00000003u;
|
|
/* 0277D2EC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D2EC */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 0277D2F0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D2F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0277D2F4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0277D2F8 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D2F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0277D2FC */ _t23 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D2FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0277D300 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D300 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0277D304 */ _t25 = cpu->r[11] + 0x00000250u;
|
|
/* 0277D304 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0277D308 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277D30C */ Gambit_fn_0209D0E4(cpu);
|
|
/* 0277D310 */ _t26 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D310 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0277D314 */ _t27 = cpu->r[12] + 0x00000250u;
|
|
/* 0277D314 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0277D318 */ Gambit_fn_0209D0CC(cpu);
|
|
/* 0277D31C */ _t28 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D31C */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0277D320 */ _t29 = cpu->r[9] + 0x00000250u;
|
|
/* 0277D320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0277D324 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 0277D328 */ Gambit_fn_0209CF18(cpu);
|
|
/* 0277D32C */ _t30 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D32C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0277D32C */ cpu->r[31] = _t30;
|
|
/* 0277D330 */ _t31 = cpu->r[11] + 0x00000250u;
|
|
/* 0277D330 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0277D334 */ Gambit_fn_0209D2C0(cpu);
|
|
/* 0277D338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D33C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D33C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0277D33C */ if (_t33) goto L_0277D3A4; else goto L_0277D340;
|
|
L_0277D340: ; // 0x277d340
|
|
/* 0277D340 */ goto L_0277D3F0;
|
|
L_0277D344: ; // 0x277d344
|
|
/* 0277D344 */ cpu->r[12] = 0x10100000u;
|
|
/* 0277D348 */ cpu->r[12] = cpu->r[12] + 0x00003D47u;
|
|
/* 0277D34C */ cpu->r[31] = 0x101D0000u;
|
|
/* 0277D350 */ _t34 = cpu->r[12] + cpu->r[0];
|
|
/* 0277D350 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 0277D354 */ _t35 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D354 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0277D358 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D358 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 0277D35C */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D35C */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0277D360 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0277D364 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D364 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 0277D368 */ _t40 = cpu->r[11] + 0x00000250u;
|
|
/* 0277D368 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0277D36C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277D370 */ Gambit_fn_0209D0E4(cpu);
|
|
/* 0277D374 */ _t41 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D374 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0277D378 */ _t42 = cpu->r[12] + 0x00000250u;
|
|
/* 0277D378 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0277D37C */ Gambit_fn_0209D0CC(cpu);
|
|
/* 0277D380 */ _t43 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D380 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0277D384 */ _t44 = cpu->r[9] + 0x00000250u;
|
|
/* 0277D384 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0277D388 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 0277D38C */ Gambit_fn_0209CF18(cpu);
|
|
/* 0277D390 */ _t45 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0277D390 */ cpu->r[31] = _t45;
|
|
/* 0277D394 */ _t46 = cpu->r[11] + 0x00000250u;
|
|
/* 0277D394 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0277D398 */ Gambit_fn_0209D2C0(cpu);
|
|
/* 0277D39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D3A0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D3A0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0277D3A0 */ if (_t48) goto L_0277D3A4; else goto L_0277D3F0;
|
|
L_0277D3A4: ; // 0x277d3a4
|
|
/* 0277D3A4 */ _t49 = cpu->r[31] + 0x00000000u;
|
|
/* 0277D3A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0277D3A8 */ _t50 = cpu->r[12] + 0x00000250u;
|
|
/* 0277D3A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0277D3AC */ Gambit_fn_0209D388(cpu);
|
|
/* 0277D3B0 */ _t51 = cpu->r[31] + 0x00000000u;
|
|
/* 0277D3B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0277D3B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D3B8 */ _t52 = cpu->r[9] + 0x00000250u;
|
|
/* 0277D3B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0277D3BC */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D3BC */ _t54 = _t53 & 0x00000001u;
|
|
/* 0277D3BC */ if (_t54) goto L_0277D3EC; else goto L_0277D3C0;
|
|
L_0277D3C0: ; // 0x277d3c0
|
|
/* 0277D3C0 */ Gambit_fn_0209D39C(cpu);
|
|
/* 0277D3C4 */ cpu->r[6] = 0x02780000u;
|
|
/* 0277D3C8 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 0277D3CC */ cpu->r[4] = 0x00000006u;
|
|
/* 0277D3D0 */ cpu->r[7] = 0x00000000u;
|
|
/* 0277D3D4 */ cpu->r[5] = 0x00000098u;
|
|
/* 0277D3D8 */ cpu->r[6] = cpu->r[6] + 0x00000B50u;
|
|
/* 0277D3DC */ cpu->r[8] = cpu->r[7];
|
|
/* 0277D3E0 */ _t55 = cpu->r[30] + 0x0000027Eu;
|
|
/* 0277D3E0 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[7]);
|
|
/* 0277D3E4 */ Gambit_fn_02C82F38(cpu);
|
|
/* 0277D3E8 */ goto L_0277D414;
|
|
L_0277D3EC: ; // 0x277d3ec
|
|
/* 0277D3EC */ Gambit_fn_0209D408(cpu);
|
|
L_0277D3F0: ; // 0x277d3f0
|
|
/* 0277D3F0 */ cpu->r[6] = 0x02780000u;
|
|
/* 0277D3F4 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 0277D3F8 */ cpu->r[4] = 0x00000006u;
|
|
/* 0277D3FC */ cpu->r[7] = 0x00000000u;
|
|
/* 0277D400 */ cpu->r[5] = 0x00000098u;
|
|
/* 0277D404 */ cpu->r[6] = cpu->r[6] + 0x00000B50u;
|
|
/* 0277D408 */ cpu->r[8] = cpu->r[7];
|
|
/* 0277D40C */ _t56 = cpu->r[30] + 0x0000027Eu;
|
|
/* 0277D40C */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[7]);
|
|
/* 0277D410 */ Gambit_fn_02C82F38(cpu);
|
|
L_0277D414: ; // 0x277d414
|
|
/* 0277D414 */ _t57 = cpu->r[1] + 0x0000058Cu;
|
|
/* 0277D414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0277D418 */ _t58 = cpu->r[1] + 0x00000580u;
|
|
/* 0277D418 */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0277D41C */ cpu->lr = cpu->r[0];
|
|
/* 0277D420 */ _t59 = cpu->r[1] + 0x00000584u;
|
|
/* 0277D420 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0277D424 */ cpu->r[1] = cpu->r[1] + 0x00000588u;
|
|
/* 0277D428 */ return;
|
|
}
|
|
|
|
// fn_0277D43C @ 0x277d43c
|
|
void Gambit_fn_0277D43C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0277D43C: ; // 0x277d43c
|
|
/* 0277D43C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277D43C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D43C */ cpu->r[1] = _t0;
|
|
/* 0277D440 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D444 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D444 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0277D448 */ Gambit_fn_0277D254(cpu);
|
|
/* 0277D44C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D44C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0277D450 */ cpu->lr = cpu->r[0];
|
|
/* 0277D454 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277D458 */ return;
|
|
}
|
|
|
|
// fn_0277D45C @ 0x277d45c
|
|
void Gambit_fn_0277D45C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277D45C: ; // 0x277d45c
|
|
/* 0277D45C */ cpu->r[0] = cpu->lr;
|
|
/* 0277D460 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277D460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D460 */ cpu->r[1] = _t0;
|
|
/* 0277D464 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D464 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D468 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D468 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277D46C */ _t3 = cpu->r[3] + 0x0000027Eu;
|
|
/* 0277D46C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0277D470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277D474 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277D478 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D478 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277D478 */ if (_t5) goto L_0277D47C; else goto L_0277D498;
|
|
L_0277D47C: ; // 0x277d47c
|
|
/* 0277D47C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277D480 */ _t6 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277D480 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277D484 */ _t7 = cpu->r[12] + 0x00000250u;
|
|
/* 0277D484 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D488 */ Gambit_fn_0209CF00(cpu);
|
|
/* 0277D48C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D490 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D490 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277D490 */ if (_t9) goto L_0277D498; else goto L_0277D494;
|
|
L_0277D494: ; // 0x277d494
|
|
/* 0277D494 */ cpu->r[31] = 0x00000001u;
|
|
L_0277D498: ; // 0x277d498
|
|
/* 0277D498 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277D49C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277D4A0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D4A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277D4A4 */ cpu->lr = cpu->r[0];
|
|
/* 0277D4A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277D4AC */ return;
|
|
}
|
|
|
|
// fn_0277D460 @ 0x277d460
|
|
void Gambit_fn_0277D460(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277D460: ; // 0x277d460
|
|
/* 0277D460 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277D460 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D460 */ cpu->r[1] = _t0;
|
|
/* 0277D464 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D464 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D468 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D468 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277D46C */ _t3 = cpu->r[3] + 0x0000027Eu;
|
|
/* 0277D46C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0277D470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277D474 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277D478 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D478 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277D478 */ if (_t5) goto L_0277D47C; else goto L_0277D498;
|
|
L_0277D47C: ; // 0x277d47c
|
|
/* 0277D47C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277D480 */ _t6 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277D480 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277D484 */ _t7 = cpu->r[12] + 0x00000250u;
|
|
/* 0277D484 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D488 */ Gambit_fn_0209CF00(cpu);
|
|
/* 0277D48C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D490 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D490 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277D490 */ if (_t9) goto L_0277D498; else goto L_0277D494;
|
|
L_0277D494: ; // 0x277d494
|
|
/* 0277D494 */ cpu->r[31] = 0x00000001u;
|
|
L_0277D498: ; // 0x277d498
|
|
/* 0277D498 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277D49C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277D4A0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D4A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277D4A4 */ cpu->lr = cpu->r[0];
|
|
/* 0277D4A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277D4AC */ return;
|
|
}
|
|
|
|
// fn_0277D4B0 @ 0x277d4b0
|
|
void Gambit_fn_0277D4B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0277D4B0: ; // 0x277d4b0
|
|
/* 0277D4B0 */ cpu->r[0] = cpu->lr;
|
|
/* 0277D4B4 */ _t0 = cpu->r[1] + 0xFFFFFA80u;
|
|
/* 0277D4B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D4B4 */ cpu->r[1] = _t0;
|
|
/* 0277D4B8 */ _t1 = cpu->r[1] + 0x00000578u;
|
|
/* 0277D4B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0277D4BC */ _t2 = cpu->r[1] + 0x0000057Cu;
|
|
/* 0277D4BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277D4C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277D4C4 */ _t3 = cpu->r[1] + 0x00000584u;
|
|
/* 0277D4C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277D4C8 */ _t4 = cpu->r[30] + 0x00000270u;
|
|
/* 0277D4C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277D4CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 0277D4D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D4D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0277D4D0 */ if (_t6) goto L_0277D4D4; else goto L_0277D590;
|
|
L_0277D4D4: ; // 0x277d4d4
|
|
/* 0277D4D4 */ cpu->r[12] = 0x10110000u;
|
|
/* 0277D4D8 */ cpu->r[10] = cpu->r[1] + 0x00000018u;
|
|
/* 0277D4DC */ _t7 = cpu->r[12] + 0x00007399u;
|
|
/* 0277D4DC */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0277D4E0 */ cpu->r[11] = 0x00000020u;
|
|
/* 0277D4E4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D4E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0277D4E8 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277D4EC */ _t9 = cpu->r[1] + 0x00000037u;
|
|
/* 0277D4EC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 0277D4F0 */ cpu->r[0] = cpu->r[0] + 0x00003A7Cu;
|
|
/* 0277D4F4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D4F4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0277D4F8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D4F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0277D4FC */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 0277D4FC */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 0277D500 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 0277D500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0277D504 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D508 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D50C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D50C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0277D510 */ Gambit_fn_02778288(cpu);
|
|
/* 0277D514 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 0277D518 */ Gambit_fn_020BC1DC(cpu);
|
|
/* 0277D51C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D520 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 0277D524 */ Gambit_fn_020BCAA8(cpu);
|
|
/* 0277D528 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0277D52C */ _t15 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D52C */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277D530 */ _t16 = cpu->r[9] + 0x00000250u;
|
|
/* 0277D530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277D534 */ Gambit_fn_0209D44C(cpu);
|
|
/* 0277D538 */ _t17 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D538 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0277D53C */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 0277D540 */ _t18 = cpu->r[10] + 0x00000250u;
|
|
/* 0277D540 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0277D544 */ cpu->r[5] = 0x0000003Cu;
|
|
/* 0277D548 */ Gambit_fn_0209D2D8(cpu);
|
|
/* 0277D54C */ cpu->r[6] = 0x02780000u;
|
|
/* 0277D550 */ cpu->r[3] = cpu->r[1] + 0x000000ECu;
|
|
/* 0277D554 */ cpu->r[31] = 0x00000001u;
|
|
/* 0277D558 */ cpu->r[6] = cpu->r[6] + 0x00000B50u;
|
|
/* 0277D55C */ cpu->r[7] = 0x00000000u;
|
|
/* 0277D560 */ cpu->r[4] = 0x00000006u;
|
|
/* 0277D564 */ cpu->r[5] = 0x00000098u;
|
|
/* 0277D568 */ cpu->r[8] = cpu->r[7];
|
|
/* 0277D56C */ _t19 = cpu->r[30] + 0x0000027Eu;
|
|
/* 0277D56C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[31]);
|
|
/* 0277D570 */ Gambit_fn_02C82F38(cpu);
|
|
/* 0277D574 */ _t20 = cpu->r[1] + 0x00000584u;
|
|
/* 0277D574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0277D578 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277D57C */ _t21 = cpu->r[1] + 0x00000578u;
|
|
/* 0277D57C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0277D580 */ cpu->lr = cpu->r[0];
|
|
/* 0277D584 */ _t22 = cpu->r[1] + 0x0000057Cu;
|
|
/* 0277D584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0277D588 */ cpu->r[1] = cpu->r[1] + 0x00000580u;
|
|
/* 0277D58C */ return;
|
|
L_0277D590: ; // 0x277d590
|
|
/* 0277D590 */ _t23 = cpu->r[1] + 0x00000584u;
|
|
/* 0277D590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0277D594 */ _t24 = cpu->r[1] + 0x00000578u;
|
|
/* 0277D594 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0277D598 */ cpu->lr = cpu->r[0];
|
|
/* 0277D59C */ _t25 = cpu->r[1] + 0x0000057Cu;
|
|
/* 0277D59C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0277D5A0 */ cpu->r[1] = cpu->r[1] + 0x00000580u;
|
|
/* 0277D5A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0277D5A8 */ return;
|
|
}
|
|
|
|
// fn_0277D4B4 @ 0x277d4b4
|
|
void Gambit_fn_0277D4B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0277D4B4: ; // 0x277d4b4
|
|
/* 0277D4B4 */ _t0 = cpu->r[1] + 0xFFFFFA80u;
|
|
/* 0277D4B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D4B4 */ cpu->r[1] = _t0;
|
|
/* 0277D4B8 */ _t1 = cpu->r[1] + 0x00000578u;
|
|
/* 0277D4B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0277D4BC */ _t2 = cpu->r[1] + 0x0000057Cu;
|
|
/* 0277D4BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277D4C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277D4C4 */ _t3 = cpu->r[1] + 0x00000584u;
|
|
/* 0277D4C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277D4C8 */ _t4 = cpu->r[30] + 0x00000270u;
|
|
/* 0277D4C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0277D4CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 0277D4D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D4D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0277D4D0 */ if (_t6) goto L_0277D4D4; else goto L_0277D590;
|
|
L_0277D4D4: ; // 0x277d4d4
|
|
/* 0277D4D4 */ cpu->r[12] = 0x10110000u;
|
|
/* 0277D4D8 */ cpu->r[10] = cpu->r[1] + 0x00000018u;
|
|
/* 0277D4DC */ _t7 = cpu->r[12] + 0x00007399u;
|
|
/* 0277D4DC */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0277D4E0 */ cpu->r[11] = 0x00000020u;
|
|
/* 0277D4E4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D4E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0277D4E8 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277D4EC */ _t9 = cpu->r[1] + 0x00000037u;
|
|
/* 0277D4EC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 0277D4F0 */ cpu->r[0] = cpu->r[0] + 0x00003A7Cu;
|
|
/* 0277D4F4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D4F4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0277D4F8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D4F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0277D4FC */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 0277D4FC */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 0277D500 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 0277D500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0277D504 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D508 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D50C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D50C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0277D510 */ Gambit_fn_02778288(cpu);
|
|
/* 0277D514 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 0277D518 */ Gambit_fn_020BC1DC(cpu);
|
|
/* 0277D51C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D520 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 0277D524 */ Gambit_fn_020BCAA8(cpu);
|
|
/* 0277D528 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0277D52C */ _t15 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D52C */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277D530 */ _t16 = cpu->r[9] + 0x00000250u;
|
|
/* 0277D530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277D534 */ Gambit_fn_0209D44C(cpu);
|
|
/* 0277D538 */ _t17 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277D538 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0277D53C */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 0277D540 */ _t18 = cpu->r[10] + 0x00000250u;
|
|
/* 0277D540 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0277D544 */ cpu->r[5] = 0x0000003Cu;
|
|
/* 0277D548 */ Gambit_fn_0209D2D8(cpu);
|
|
/* 0277D54C */ cpu->r[6] = 0x02780000u;
|
|
/* 0277D550 */ cpu->r[3] = cpu->r[1] + 0x000000ECu;
|
|
/* 0277D554 */ cpu->r[31] = 0x00000001u;
|
|
/* 0277D558 */ cpu->r[6] = cpu->r[6] + 0x00000B50u;
|
|
/* 0277D55C */ cpu->r[7] = 0x00000000u;
|
|
/* 0277D560 */ cpu->r[4] = 0x00000006u;
|
|
/* 0277D564 */ cpu->r[5] = 0x00000098u;
|
|
/* 0277D568 */ cpu->r[8] = cpu->r[7];
|
|
/* 0277D56C */ _t19 = cpu->r[30] + 0x0000027Eu;
|
|
/* 0277D56C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[31]);
|
|
/* 0277D570 */ Gambit_fn_02C82F38(cpu);
|
|
/* 0277D574 */ _t20 = cpu->r[1] + 0x00000584u;
|
|
/* 0277D574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0277D578 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277D57C */ _t21 = cpu->r[1] + 0x00000578u;
|
|
/* 0277D57C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0277D580 */ cpu->lr = cpu->r[0];
|
|
/* 0277D584 */ _t22 = cpu->r[1] + 0x0000057Cu;
|
|
/* 0277D584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0277D588 */ cpu->r[1] = cpu->r[1] + 0x00000580u;
|
|
/* 0277D58C */ return;
|
|
L_0277D590: ; // 0x277d590
|
|
/* 0277D590 */ _t23 = cpu->r[1] + 0x00000584u;
|
|
/* 0277D590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0277D594 */ _t24 = cpu->r[1] + 0x00000578u;
|
|
/* 0277D594 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0277D598 */ cpu->lr = cpu->r[0];
|
|
/* 0277D59C */ _t25 = cpu->r[1] + 0x0000057Cu;
|
|
/* 0277D59C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0277D5A0 */ cpu->r[1] = cpu->r[1] + 0x00000580u;
|
|
/* 0277D5A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0277D5A8 */ return;
|
|
}
|
|
|
|
// fn_0277D5AC @ 0x277d5ac
|
|
void Gambit_fn_0277D5AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277D5AC: ; // 0x277d5ac
|
|
/* 0277D5AC */ cpu->r[0] = cpu->lr;
|
|
/* 0277D5B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277D5B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D5B0 */ cpu->r[1] = _t0;
|
|
/* 0277D5B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D5B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D5B8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D5B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277D5BC */ _t3 = cpu->r[3] + 0x0000027Eu;
|
|
/* 0277D5BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0277D5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277D5C4 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277D5C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D5C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277D5C8 */ if (_t5) goto L_0277D5E8; else goto L_0277D5CC;
|
|
L_0277D5CC: ; // 0x277d5cc
|
|
/* 0277D5CC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277D5D0 */ _t6 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277D5D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277D5D4 */ _t7 = cpu->r[12] + 0x00000250u;
|
|
/* 0277D5D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D5D8 */ Gambit_fn_0209D2C0(cpu);
|
|
/* 0277D5DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D5E0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D5E0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277D5E0 */ if (_t9) goto L_0277D5E8; else goto L_0277D5E4;
|
|
L_0277D5E4: ; // 0x277d5e4
|
|
/* 0277D5E4 */ cpu->r[31] = 0x00000001u;
|
|
L_0277D5E8: ; // 0x277d5e8
|
|
/* 0277D5E8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D5E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277D5EC */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277D5F0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D5F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277D5F4 */ cpu->lr = cpu->r[0];
|
|
/* 0277D5F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277D5FC */ return;
|
|
}
|
|
|
|
// fn_0277D5B0 @ 0x277d5b0
|
|
void Gambit_fn_0277D5B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277D5B0: ; // 0x277d5b0
|
|
/* 0277D5B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277D5B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D5B0 */ cpu->r[1] = _t0;
|
|
/* 0277D5B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D5B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D5B8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D5B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277D5BC */ _t3 = cpu->r[3] + 0x0000027Eu;
|
|
/* 0277D5BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0277D5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277D5C4 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277D5C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D5C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277D5C8 */ if (_t5) goto L_0277D5E8; else goto L_0277D5CC;
|
|
L_0277D5CC: ; // 0x277d5cc
|
|
/* 0277D5CC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277D5D0 */ _t6 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277D5D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277D5D4 */ _t7 = cpu->r[12] + 0x00000250u;
|
|
/* 0277D5D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D5D8 */ Gambit_fn_0209D2C0(cpu);
|
|
/* 0277D5DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D5E0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D5E0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277D5E0 */ if (_t9) goto L_0277D5E8; else goto L_0277D5E4;
|
|
L_0277D5E4: ; // 0x277d5e4
|
|
/* 0277D5E4 */ cpu->r[31] = 0x00000001u;
|
|
L_0277D5E8: ; // 0x277d5e8
|
|
/* 0277D5E8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D5E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277D5EC */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277D5F0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D5F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277D5F4 */ cpu->lr = cpu->r[0];
|
|
/* 0277D5F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277D5FC */ return;
|
|
}
|
|
|
|
// fn_0277D600 @ 0x277d600
|
|
void Gambit_fn_0277D600(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0277D600: ; // 0x277d600
|
|
/* 0277D600 */ cpu->r[0] = cpu->lr;
|
|
/* 0277D604 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277D604 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D604 */ cpu->r[1] = _t0;
|
|
/* 0277D608 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D608 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D60C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D60C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277D610 */ cpu->r[30] = 0x00000001u;
|
|
/* 0277D614 */ cpu->r[31] = cpu->r[4];
|
|
/* 0277D618 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D618 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0277D61C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D61C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0277D620 */ cpu->r[29] = cpu->r[3];
|
|
/* 0277D624 */ Gambit_fn_0277D45C(cpu);
|
|
/* 0277D628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D62C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D62C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0277D62C */ if (_t6) goto L_0277D64C; else goto L_0277D630;
|
|
L_0277D630: ; // 0x277d630
|
|
/* 0277D630 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 0277D630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D634 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D638 */ cpu->r[3] = cpu->r[29];
|
|
/* 0277D63C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D63C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277D640 */ Gambit_fn_0277D4B0(cpu);
|
|
/* 0277D644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D648 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D648 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0277D648 */ if (_t10) goto L_0277D660; else goto L_0277D64C;
|
|
L_0277D64C: ; // 0x277d64c
|
|
/* 0277D64C */ cpu->r[3] = cpu->r[29];
|
|
/* 0277D650 */ Gambit_fn_0277D5AC(cpu);
|
|
/* 0277D654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D658 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D658 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0277D658 */ if (_t12) goto L_0277D65C; else goto L_0277D660;
|
|
L_0277D65C: ; // 0x277d65c
|
|
/* 0277D65C */ cpu->r[30] = 0x00000000u;
|
|
L_0277D660: ; // 0x277d660
|
|
/* 0277D660 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D660 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0277D664 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277D668 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277D66C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D66C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277D670 */ cpu->lr = cpu->r[0];
|
|
/* 0277D674 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D674 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277D678 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277D67C */ return;
|
|
}
|
|
|
|
// fn_0277D604 @ 0x277d604
|
|
void Gambit_fn_0277D604(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0277D604: ; // 0x277d604
|
|
/* 0277D604 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277D604 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D604 */ cpu->r[1] = _t0;
|
|
/* 0277D608 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D608 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D60C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D60C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277D610 */ cpu->r[30] = 0x00000001u;
|
|
/* 0277D614 */ cpu->r[31] = cpu->r[4];
|
|
/* 0277D618 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D618 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0277D61C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D61C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0277D620 */ cpu->r[29] = cpu->r[3];
|
|
/* 0277D624 */ Gambit_fn_0277D45C(cpu);
|
|
/* 0277D628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D62C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D62C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0277D62C */ if (_t6) goto L_0277D64C; else goto L_0277D630;
|
|
L_0277D630: ; // 0x277d630
|
|
/* 0277D630 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 0277D630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D634 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D638 */ cpu->r[3] = cpu->r[29];
|
|
/* 0277D63C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D63C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277D640 */ Gambit_fn_0277D4B0(cpu);
|
|
/* 0277D644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D648 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D648 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0277D648 */ if (_t10) goto L_0277D660; else goto L_0277D64C;
|
|
L_0277D64C: ; // 0x277d64c
|
|
/* 0277D64C */ cpu->r[3] = cpu->r[29];
|
|
/* 0277D650 */ Gambit_fn_0277D5AC(cpu);
|
|
/* 0277D654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D658 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D658 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0277D658 */ if (_t12) goto L_0277D65C; else goto L_0277D660;
|
|
L_0277D65C: ; // 0x277d65c
|
|
/* 0277D65C */ cpu->r[30] = 0x00000000u;
|
|
L_0277D660: ; // 0x277d660
|
|
/* 0277D660 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D660 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0277D664 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277D668 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277D66C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D66C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277D670 */ cpu->lr = cpu->r[0];
|
|
/* 0277D674 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D674 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277D678 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277D67C */ return;
|
|
}
|
|
|
|
// fn_0277D684 @ 0x277d684
|
|
void Gambit_fn_0277D684(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0277D684: ; // 0x277d684
|
|
/* 0277D684 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277D684 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D684 */ cpu->r[1] = _t0;
|
|
/* 0277D688 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D688 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D68C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D690 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D690 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277D694 */ cpu->r[0] = 0x00000005u;
|
|
/* 0277D698 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277D69C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D69C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277D6A0 */ Gambit_fn_0277D600(cpu);
|
|
/* 0277D6A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D6A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D6A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277D6A8 */ if (_t5) goto L_0277D6C0; else goto L_0277D6AC;
|
|
L_0277D6AC: ; // 0x277d6ac
|
|
/* 0277D6AC */ cpu->r[12] = 0x00000001u;
|
|
/* 0277D6B0 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 0277D6B4 */ cpu->r[4] = 0x0000001Bu;
|
|
/* 0277D6B8 */ _t6 = cpu->r[31] + 0x0000027Cu;
|
|
/* 0277D6B8 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[12]);
|
|
/* 0277D6BC */ Gambit_fn_020642B4(cpu);
|
|
L_0277D6C0: ; // 0x277d6c0
|
|
/* 0277D6C0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D6C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D6C4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D6C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0277D6C8 */ cpu->lr = cpu->r[0];
|
|
/* 0277D6CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277D6D0 */ return;
|
|
}
|
|
|
|
// fn_0277D6D8 @ 0x277d6d8
|
|
void Gambit_fn_0277D6D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0277D6D8: ; // 0x277d6d8
|
|
/* 0277D6D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277D6D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D6D8 */ cpu->r[1] = _t0;
|
|
/* 0277D6DC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D6DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D6E0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D6E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277D6E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277D6E8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D6E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277D6EC */ _t4 = cpu->r[31] + 0x00000245u;
|
|
/* 0277D6EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0277D6F0 */ /* nop */
|
|
/* 0277D6F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Du);
|
|
/* 0277D6F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D6F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0277D6F8 */ if (_t6) goto L_0277D6FC; else goto L_0277D75C;
|
|
L_0277D6FC: ; // 0x277d6fc
|
|
/* 0277D6FC */ cpu->r[30] = 0x101D0000u;
|
|
/* 0277D700 */ _t7 = cpu->r[30] + 0xFFFF8FC4u;
|
|
/* 0277D700 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D704 */ _t8 = cpu->r[11] + 0x0000024Cu;
|
|
/* 0277D704 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0277D708 */ Gambit_fn_0276AEAC(cpu);
|
|
/* 0277D70C */ _t9 = cpu->r[30] + 0xFFFF8FC4u;
|
|
/* 0277D70C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277D710 */ _t10 = cpu->r[9] + 0x0000024Cu;
|
|
/* 0277D710 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277D714 */ Gambit_fn_0276AE5C(cpu);
|
|
/* 0277D718 */ _t11 = cpu->r[30] + 0xFFFF8FC4u;
|
|
/* 0277D718 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277D71C */ cpu->r[12] = 0x101C0000u;
|
|
/* 0277D720 */ _t12 = cpu->r[12] + 0x00003480u;
|
|
/* 0277D720 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0277D724 */ cpu->r[10] = cpu->r[11] + cpu->r[12];
|
|
/* 0277D728 */ _t13 = cpu->r[10] + 0x00000104u;
|
|
/* 0277D728 */ cpu->r[8] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0277D72C */ _t14 = cpu->r[11] + 0x00000030u;
|
|
/* 0277D72C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277D730 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0277D734 */ _t15 = cpu->r[12] + cpu->r[0];
|
|
/* 0277D734 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277D738 */ _t16 = cpu->r[9] + 0x00000004u;
|
|
/* 0277D738 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277D73C */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 0277D73C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0277D740 */ Gambit_fn_02091FFC(cpu);
|
|
/* 0277D744 */ cpu->r[11] = 0x101C0000u;
|
|
/* 0277D748 */ _t18 = cpu->r[11] + 0x000044E4u;
|
|
/* 0277D748 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0277D74C */ _t19 = cpu->r[11] + 0x00000250u;
|
|
/* 0277D74C */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0277D750 */ _t20 = cpu->r[10] + 0x000000B0u;
|
|
/* 0277D750 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0277D754 */ cpu->r[0] = 0x00000001u;
|
|
/* 0277D758 */ _t21 = cpu->r[12] + 0x00000070u;
|
|
/* 0277D758 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
L_0277D75C: ; // 0x277d75c
|
|
/* 0277D75C */ cpu->r[0] = 0x00000006u;
|
|
/* 0277D760 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277D764 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D768 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D768 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0277D76C */ cpu->r[5] = 0x00000000u;
|
|
/* 0277D770 */ Gambit_fn_0277D254(cpu);
|
|
/* 0277D774 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0277D778 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D778 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0277D77C */ cpu->lr = cpu->r[0];
|
|
/* 0277D780 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D780 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0277D784 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277D788 */ return;
|
|
}
|
|
|
|
// fn_0277D790 @ 0x277d790
|
|
void Gambit_fn_0277D790(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0277D790: ; // 0x277d790
|
|
/* 0277D790 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277D790 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D790 */ cpu->r[1] = _t0;
|
|
/* 0277D794 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D794 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D798 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D79C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D79C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277D7A0 */ cpu->r[0] = 0x00000006u;
|
|
/* 0277D7A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277D7A8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D7A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277D7AC */ Gambit_fn_0277D600(cpu);
|
|
/* 0277D7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D7B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D7B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277D7B4 */ if (_t5) goto L_0277D7F4; else goto L_0277D7B8;
|
|
L_0277D7B8: ; // 0x277d7b8
|
|
/* 0277D7B8 */ _t6 = cpu->r[31] + 0x00000245u;
|
|
/* 0277D7B8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0277D7BC */ /* nop */
|
|
/* 0277D7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000000Du);
|
|
/* 0277D7C4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D7C4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0277D7C4 */ if (_t8) goto L_0277D7C8; else goto L_0277D7E0;
|
|
L_0277D7C8: ; // 0x277d7c8
|
|
/* 0277D7C8 */ cpu->r[12] = 0x00000001u;
|
|
/* 0277D7CC */ cpu->r[4] = 0x0000000Du;
|
|
/* 0277D7D0 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 0277D7D4 */ _t9 = cpu->r[31] + 0x0000027Bu;
|
|
/* 0277D7D4 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 0277D7D8 */ Gambit_fn_020642B4(cpu);
|
|
/* 0277D7DC */ goto L_0277D7F4;
|
|
L_0277D7E0: ; // 0x277d7e0
|
|
/* 0277D7E0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0277D7E4 */ cpu->r[4] = 0x0000001Bu;
|
|
/* 0277D7E8 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 0277D7EC */ _t10 = cpu->r[31] + 0x0000027Cu;
|
|
/* 0277D7EC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
/* 0277D7F0 */ Gambit_fn_020642B4(cpu);
|
|
L_0277D7F4: ; // 0x277d7f4
|
|
/* 0277D7F4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D7F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277D7F8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D7F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0277D7FC */ cpu->lr = cpu->r[0];
|
|
/* 0277D800 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277D804 */ return;
|
|
}
|
|
|
|
// fn_0277D814 @ 0x277d814
|
|
void Gambit_fn_0277D814(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0277D814: ; // 0x277d814
|
|
/* 0277D814 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277D814 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D814 */ cpu->r[1] = _t0;
|
|
/* 0277D818 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D81C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D81C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 0277D820 */ Gambit_fn_0277D254(cpu);
|
|
/* 0277D824 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D824 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0277D828 */ cpu->lr = cpu->r[0];
|
|
/* 0277D82C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277D830 */ return;
|
|
}
|
|
|
|
// fn_0277D834 @ 0x277d834
|
|
void Gambit_fn_0277D834(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277D834: ; // 0x277d834
|
|
/* 0277D834 */ cpu->r[0] = cpu->lr;
|
|
/* 0277D838 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277D838 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D838 */ cpu->r[1] = _t0;
|
|
/* 0277D83C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D83C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D840 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D840 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277D844 */ _t3 = cpu->r[3] + 0x0000027Eu;
|
|
/* 0277D844 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0277D848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277D84C */ cpu->r[31] = 0x00000000u;
|
|
/* 0277D850 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D850 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277D850 */ if (_t5) goto L_0277D870; else goto L_0277D854;
|
|
L_0277D854: ; // 0x277d854
|
|
/* 0277D854 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277D858 */ _t6 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277D858 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277D85C */ _t7 = cpu->r[12] + 0x00000250u;
|
|
/* 0277D85C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D860 */ Gambit_fn_0209D388(cpu);
|
|
/* 0277D864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D868 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D868 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277D868 */ if (_t9) goto L_0277D870; else goto L_0277D86C;
|
|
L_0277D86C: ; // 0x277d86c
|
|
/* 0277D86C */ cpu->r[31] = 0x00000001u;
|
|
L_0277D870: ; // 0x277d870
|
|
/* 0277D870 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277D874 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277D878 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D878 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277D87C */ cpu->lr = cpu->r[0];
|
|
/* 0277D880 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277D884 */ return;
|
|
}
|
|
|
|
// fn_0277D838 @ 0x277d838
|
|
void Gambit_fn_0277D838(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0277D838: ; // 0x277d838
|
|
/* 0277D838 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277D838 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D838 */ cpu->r[1] = _t0;
|
|
/* 0277D83C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D83C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D840 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D840 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277D844 */ _t3 = cpu->r[3] + 0x0000027Eu;
|
|
/* 0277D844 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0277D848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0277D84C */ cpu->r[31] = 0x00000000u;
|
|
/* 0277D850 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D850 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277D850 */ if (_t5) goto L_0277D870; else goto L_0277D854;
|
|
L_0277D854: ; // 0x277d854
|
|
/* 0277D854 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0277D858 */ _t6 = cpu->r[12] + 0xFFFF8FC4u;
|
|
/* 0277D858 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277D85C */ _t7 = cpu->r[12] + 0x00000250u;
|
|
/* 0277D85C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D860 */ Gambit_fn_0209D388(cpu);
|
|
/* 0277D864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D868 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D868 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0277D868 */ if (_t9) goto L_0277D870; else goto L_0277D86C;
|
|
L_0277D86C: ; // 0x277d86c
|
|
/* 0277D86C */ cpu->r[31] = 0x00000001u;
|
|
L_0277D870: ; // 0x277d870
|
|
/* 0277D870 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277D874 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277D878 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D878 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277D87C */ cpu->lr = cpu->r[0];
|
|
/* 0277D880 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277D884 */ return;
|
|
}
|
|
|
|
// fn_0277D888 @ 0x277d888
|
|
void Gambit_fn_0277D888(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0277D888: ; // 0x277d888
|
|
/* 0277D888 */ cpu->r[0] = cpu->lr;
|
|
/* 0277D88C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277D88C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D88C */ cpu->r[1] = _t0;
|
|
/* 0277D890 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D890 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D894 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D894 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277D898 */ cpu->r[30] = 0x00000001u;
|
|
/* 0277D89C */ cpu->r[31] = cpu->r[4];
|
|
/* 0277D8A0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D8A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0277D8A4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D8A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0277D8A8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0277D8AC */ Gambit_fn_0277D45C(cpu);
|
|
/* 0277D8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D8B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D8B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0277D8B4 */ if (_t6) goto L_0277D8D4; else goto L_0277D8B8;
|
|
L_0277D8B8: ; // 0x277d8b8
|
|
/* 0277D8B8 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 0277D8B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D8BC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D8C0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0277D8C4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D8C4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277D8C8 */ Gambit_fn_0277D4B0(cpu);
|
|
/* 0277D8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D8D0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D8D0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0277D8D0 */ if (_t10) goto L_0277D8E8; else goto L_0277D8D4;
|
|
L_0277D8D4: ; // 0x277d8d4
|
|
/* 0277D8D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0277D8D8 */ Gambit_fn_0277D834(cpu);
|
|
/* 0277D8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D8E0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D8E0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0277D8E0 */ if (_t12) goto L_0277D8E4; else goto L_0277D8E8;
|
|
L_0277D8E4: ; // 0x277d8e4
|
|
/* 0277D8E4 */ cpu->r[30] = 0x00000000u;
|
|
L_0277D8E8: ; // 0x277d8e8
|
|
/* 0277D8E8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D8E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0277D8EC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D8EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277D8F0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277D8F4 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D8F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277D8F8 */ cpu->lr = cpu->r[0];
|
|
/* 0277D8FC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D8FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277D900 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277D904 */ return;
|
|
}
|
|
|
|
// fn_0277D88C @ 0x277d88c
|
|
void Gambit_fn_0277D88C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0277D88C: ; // 0x277d88c
|
|
/* 0277D88C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277D88C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D88C */ cpu->r[1] = _t0;
|
|
/* 0277D890 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D890 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D894 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D894 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277D898 */ cpu->r[30] = 0x00000001u;
|
|
/* 0277D89C */ cpu->r[31] = cpu->r[4];
|
|
/* 0277D8A0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D8A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0277D8A4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D8A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0277D8A8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0277D8AC */ Gambit_fn_0277D45C(cpu);
|
|
/* 0277D8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D8B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D8B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0277D8B4 */ if (_t6) goto L_0277D8D4; else goto L_0277D8B8;
|
|
L_0277D8B8: ; // 0x277d8b8
|
|
/* 0277D8B8 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 0277D8B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D8BC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D8C0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0277D8C4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D8C4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0277D8C8 */ Gambit_fn_0277D4B0(cpu);
|
|
/* 0277D8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D8D0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D8D0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0277D8D0 */ if (_t10) goto L_0277D8E8; else goto L_0277D8D4;
|
|
L_0277D8D4: ; // 0x277d8d4
|
|
/* 0277D8D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0277D8D8 */ Gambit_fn_0277D834(cpu);
|
|
/* 0277D8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D8E0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D8E0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0277D8E0 */ if (_t12) goto L_0277D8E4; else goto L_0277D8E8;
|
|
L_0277D8E4: ; // 0x277d8e4
|
|
/* 0277D8E4 */ cpu->r[30] = 0x00000000u;
|
|
L_0277D8E8: ; // 0x277d8e8
|
|
/* 0277D8E8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D8E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0277D8EC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D8EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277D8F0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0277D8F4 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D8F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277D8F8 */ cpu->lr = cpu->r[0];
|
|
/* 0277D8FC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D8FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277D900 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277D904 */ return;
|
|
}
|
|
|
|
// fn_0277D90C @ 0x277d90c
|
|
void Gambit_fn_0277D90C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0277D90C: ; // 0x277d90c
|
|
/* 0277D90C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0277D90C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D90C */ cpu->r[1] = _t0;
|
|
/* 0277D910 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D910 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D914 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277D918 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D918 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0277D91C */ cpu->r[0] = 0x00000000u;
|
|
/* 0277D920 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277D924 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D924 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277D928 */ Gambit_fn_0277D888(cpu);
|
|
/* 0277D92C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277D930 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D930 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0277D930 */ if (_t5) goto L_0277D940; else goto L_0277D934;
|
|
L_0277D934: ; // 0x277d934
|
|
/* 0277D934 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 0277D938 */ cpu->r[4] = 0x00000006u;
|
|
/* 0277D93C */ Gambit_fn_020642B4(cpu);
|
|
L_0277D940: ; // 0x277d940
|
|
/* 0277D940 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0277D944 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277D944 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D948 */ cpu->lr = cpu->r[0];
|
|
/* 0277D94C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0277D950 */ return;
|
|
}
|
|
|
|
// fn_0277D958 @ 0x277d958
|
|
void Gambit_fn_0277D958(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76;
|
|
|
|
L_0277D958: ; // 0x277d958
|
|
/* 0277D958 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0277D958 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277D958 */ cpu->r[1] = _t0;
|
|
/* 0277D95C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0277D95C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0277D960 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0277D960 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277D964 */ cpu->r[31] = cpu->r[3];
|
|
/* 0277D968 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277D968 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0277D96C */ _t4 = cpu->r[31] + 0x00000245u;
|
|
/* 0277D96C */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0277D970 */ /* nop */
|
|
/* 0277D974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Du);
|
|
/* 0277D978 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D978 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0277D978 */ if (_t6) goto L_0277D97C; else goto L_0277D9DC;
|
|
L_0277D97C: ; // 0x277d97c
|
|
/* 0277D97C */ cpu->r[30] = 0x101D0000u;
|
|
/* 0277D980 */ _t7 = cpu->r[30] + 0xFFFF8FC4u;
|
|
/* 0277D980 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0277D984 */ _t8 = cpu->r[11] + 0x0000024Cu;
|
|
/* 0277D984 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0277D988 */ Gambit_fn_0276AEAC(cpu);
|
|
/* 0277D98C */ _t9 = cpu->r[30] + 0xFFFF8FC4u;
|
|
/* 0277D98C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277D990 */ _t10 = cpu->r[9] + 0x0000024Cu;
|
|
/* 0277D990 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0277D994 */ Gambit_fn_0276AE5C(cpu);
|
|
/* 0277D998 */ _t11 = cpu->r[30] + 0xFFFF8FC4u;
|
|
/* 0277D998 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0277D99C */ cpu->r[12] = 0x101C0000u;
|
|
/* 0277D9A0 */ _t12 = cpu->r[12] + 0x00003480u;
|
|
/* 0277D9A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0277D9A4 */ cpu->r[10] = cpu->r[11] + cpu->r[12];
|
|
/* 0277D9A8 */ _t13 = cpu->r[10] + 0x00000104u;
|
|
/* 0277D9A8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0277D9AC */ _t14 = cpu->r[11] + 0x00000030u;
|
|
/* 0277D9AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277D9B0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0277D9B4 */ _t15 = cpu->r[12] + cpu->r[0];
|
|
/* 0277D9B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0277D9B8 */ _t16 = cpu->r[7] + 0x00000004u;
|
|
/* 0277D9B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0277D9BC */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 0277D9BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0277D9C0 */ Gambit_fn_02091FFC(cpu);
|
|
/* 0277D9C4 */ cpu->r[10] = 0x101C0000u;
|
|
/* 0277D9C8 */ _t18 = cpu->r[10] + 0x000044E4u;
|
|
/* 0277D9C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0277D9CC */ _t19 = cpu->r[10] + 0x00000250u;
|
|
/* 0277D9CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0277D9D0 */ _t20 = cpu->r[10] + 0x000000B0u;
|
|
/* 0277D9D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0277D9D4 */ cpu->r[9] = 0x00000001u;
|
|
/* 0277D9D8 */ _t21 = cpu->r[12] + 0x00000070u;
|
|
/* 0277D9D8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[9]);
|
|
L_0277D9DC: ; // 0x277d9dc
|
|
/* 0277D9DC */ _t22 = cpu->r[31] + 0x00000270u;
|
|
/* 0277D9DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0277D9E0 */ cpu->r[11] = 0x00000004u;
|
|
/* 0277D9E4 */ _t23 = cpu->r[31] + 0x000008B0u;
|
|
/* 0277D9E4 */ rbrew_write32(cpu->mem, _t23, cpu->r[11]);
|
|
/* 0277D9E8 */ _t24 = cpu->r[31] + 0x000008B0u;
|
|
/* 0277D9E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0277D9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0277D9F0 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 0277D9F0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0277D9F4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277D9F4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0277D9F4 */ if (_t27) goto L_0277DAF4; else goto L_0277D9F8;
|
|
L_0277D9F8: ; // 0x277d9f8
|
|
/* 0277D9F8 */ cpu->r[3] = cpu->r[31] + 0x000008B8u;
|
|
/* 0277D9FC */ Gambit_fn_02175E78(cpu);
|
|
/* 0277DA00 */ cpu->r[10] = 0x10000000u;
|
|
/* 0277DA04 */ cpu->r[10] = cpu->r[10] + 0x000032BCu;
|
|
/* 0277DA08 */ cpu->r[9] = cpu->r[10];
|
|
/* 0277DA0C */ _t28 = cpu->r[9] + 0x00000000u;
|
|
/* 0277DA0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0277DA10 */ cpu->r[11] = 0x00000000u;
|
|
/* 0277DA14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[3]);
|
|
/* 0277DA18 */ cpu->r[0] = cpu->r[10];
|
|
/* 0277DA1C */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277DA1C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0277DA1C */ if (_t30) goto L_0277DA50; else goto L_0277DA20;
|
|
L_0277DA20: ; // 0x277da20
|
|
/* 0277DA20 */ goto L_0277DA5C;
|
|
L_0277DA24: ; // 0x277da24
|
|
/* 0277DA24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
|
|
/* 0277DA28 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277DA28 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0277DA28 */ if (_t32) goto L_0277DA2C; else goto L_0277DA40;
|
|
L_0277DA2C: ; // 0x277da2c
|
|
/* 0277DA2C */ cpu->r[9] = cpu->r[10];
|
|
/* 0277DA30 */ _t33 = cpu->r[9] + 0x00000000u;
|
|
/* 0277DA30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0277DA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[3]);
|
|
/* 0277DA38 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277DA38 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0277DA38 */ if (_t35) goto L_0277DA50; else goto L_0277DA3C;
|
|
L_0277DA3C: ; // 0x277da3c
|
|
/* 0277DA3C */ goto L_0277DA5C;
|
|
L_0277DA40: ; // 0x277da40
|
|
/* 0277DA40 */ cpu->r[9] = cpu->r[0];
|
|
/* 0277DA44 */ _t36 = cpu->r[9] + 0x00000000u;
|
|
/* 0277DA44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0277DA48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[3]);
|
|
/* 0277DA4C */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277DA4C */ _t38 = _t37 & 0x00000001u;
|
|
/* 0277DA4C */ if (_t38) goto L_0277DA50; else goto L_0277DA5C;
|
|
L_0277DA50: ; // 0x277da50
|
|
/* 0277DA50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 0277DA54 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277DA54 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0277DA54 */ if (_t40) goto L_0277DA78; else goto L_0277DA58;
|
|
L_0277DA58: ; // 0x277da58
|
|
/* 0277DA58 */ goto L_0277DA70;
|
|
L_0277DA5C: ; // 0x277da5c
|
|
/* 0277DA5C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0277DA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000006u);
|
|
/* 0277DA64 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 0277DA68 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277DA68 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0277DA68 */ if (_t42) goto L_0277DA24; else goto L_0277DA6C;
|
|
L_0277DA6C: ; // 0x277da6c
|
|
/* 0277DA6C */ cpu->r[11] = 0x00000006u;
|
|
L_0277DA70: ; // 0x277da70
|
|
/* 0277DA70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
|
|
/* 0277DA74 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277DA74 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0277DA74 */ if (_t44) goto L_0277DA78; else goto L_0277DAB4;
|
|
L_0277DA78: ; // 0x277da78
|
|
/* 0277DA78 */ cpu->r[7] = 0x00000007u;
|
|
/* 0277DA7C */ _t45 = cpu->r[31] + 0x000008B0u;
|
|
/* 0277DA7C */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 0277DA80 */ _t46 = cpu->r[31] + 0x000008B0u;
|
|
/* 0277DA80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0277DA84 */ _t47 = cpu->r[31] + 0x000008B0u;
|
|
/* 0277DA84 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0277DA88 */ cpu->r[5] = 0x00000000u;
|
|
/* 0277DA8C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277DA90 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277DA94 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 0277DA94 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 0277DA98 */ Gambit_fn_0277D254(cpu);
|
|
/* 0277DA9C */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277DA9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0277DAA0 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 0277DAA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0277DAA4 */ cpu->lr = cpu->r[0];
|
|
/* 0277DAA8 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 0277DAA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0277DAAC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277DAB0 */ return;
|
|
L_0277DAB4: ; // 0x277dab4
|
|
/* 0277DAB4 */ cpu->r[12] = cpu->r[11] + 0x10100000u;
|
|
/* 0277DAB8 */ _t52 = cpu->r[12] + 0x00003D4Au;
|
|
/* 0277DAB8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t52);
|
|
/* 0277DABC */ _t53 = cpu->r[31] + 0x000008B0u;
|
|
/* 0277DABC */ rbrew_write32(cpu->mem, _t53, cpu->r[7]);
|
|
/* 0277DAC0 */ _t54 = cpu->r[31] + 0x000008B0u;
|
|
/* 0277DAC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0277DAC4 */ _t55 = cpu->r[31] + 0x000008B0u;
|
|
/* 0277DAC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0277DAC8 */ cpu->r[5] = 0x00000000u;
|
|
/* 0277DACC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277DAD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0277DAD4 */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 0277DAD4 */ rbrew_write32(cpu->mem, _t56, cpu->r[7]);
|
|
/* 0277DAD8 */ Gambit_fn_0277D254(cpu);
|
|
/* 0277DADC */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277DADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0277DAE0 */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 0277DAE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0277DAE4 */ cpu->lr = cpu->r[0];
|
|
/* 0277DAE8 */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 0277DAE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0277DAEC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277DAF0 */ return;
|
|
L_0277DAF4: ; // 0x277daf4
|
|
/* 0277DAF4 */ cpu->r[3] = cpu->r[31] + 0x00010000u;
|
|
/* 0277DAF8 */ cpu->r[0] = 0x00000003u;
|
|
/* 0277DAFC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277DB00 */ cpu->r[3] = cpu->r[3] + 0xFFFFAE00u;
|
|
/* 0277DB04 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277DB04 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 0277DB08 */ Gambit_fn_02177E18(cpu);
|
|
/* 0277DB0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277DB10 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277DB10 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0277DB10 */ if (_t62) goto L_0277DB68; else goto L_0277DB14;
|
|
L_0277DB14: ; // 0x277db14
|
|
/* 0277DB14 */ _t63 = cpu->r[31] + 0x00000245u;
|
|
/* 0277DB14 */ cpu->r[0] = rbrew_read8(cpu->mem, _t63);
|
|
/* 0277DB18 */ /* nop */
|
|
/* 0277DB1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Du);
|
|
/* 0277DB20 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 0277DB24 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277DB24 */ _t65 = _t64 & 0x00000001u;
|
|
/* 0277DB24 */ if (_t65) goto L_0277DB28; else goto L_0277DB48;
|
|
L_0277DB28: ; // 0x277db28
|
|
/* 0277DB28 */ cpu->r[4] = 0x00000006u;
|
|
/* 0277DB2C */ Gambit_fn_020642B4(cpu);
|
|
/* 0277DB30 */ _t66 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277DB30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0277DB34 */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 0277DB34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0277DB38 */ cpu->lr = cpu->r[0];
|
|
/* 0277DB3C */ _t68 = cpu->r[1] + 0x00000014u;
|
|
/* 0277DB3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0277DB40 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277DB44 */ return;
|
|
L_0277DB48: ; // 0x277db48
|
|
/* 0277DB48 */ cpu->r[4] = 0x00000004u;
|
|
/* 0277DB4C */ Gambit_fn_020642B4(cpu);
|
|
/* 0277DB50 */ _t69 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277DB50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0277DB54 */ _t70 = cpu->r[1] + 0x00000010u;
|
|
/* 0277DB54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0277DB58 */ cpu->lr = cpu->r[0];
|
|
/* 0277DB5C */ _t71 = cpu->r[1] + 0x00000014u;
|
|
/* 0277DB5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0277DB60 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277DB64 */ return;
|
|
L_0277DB68: ; // 0x277db68
|
|
/* 0277DB68 */ _t72 = cpu->r[31] + 0x000008B0u;
|
|
/* 0277DB68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0277DB6C */ cpu->r[3] = cpu->r[31];
|
|
/* 0277DB70 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277DB74 */ cpu->r[5] = 0x00000000u;
|
|
/* 0277DB78 */ _t73 = cpu->r[1] + 0x00000008u;
|
|
/* 0277DB78 */ rbrew_write32(cpu->mem, _t73, cpu->r[7]);
|
|
/* 0277DB7C */ Gambit_fn_0277D254(cpu);
|
|
/* 0277DB80 */ _t74 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277DB80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0277DB84 */ _t75 = cpu->r[1] + 0x00000010u;
|
|
/* 0277DB84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0277DB88 */ cpu->lr = cpu->r[0];
|
|
/* 0277DB8C */ _t76 = cpu->r[1] + 0x00000014u;
|
|
/* 0277DB8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0277DB90 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0277DB94 */ return;
|
|
}
|
|
|
|
// fn_0277DB9C @ 0x277db9c
|
|
void Gambit_fn_0277DB9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_0277DB9C: ; // 0x277db9c
|
|
/* 0277DB9C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0277DB9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277DB9C */ cpu->r[1] = _t0;
|
|
/* 0277DBA0 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277DBA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0277DBA4 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 0277DBA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0277DBA8 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 0277DBA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0277DBAC */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0277DBAC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0277DBB0 */ _t5 = cpu->r[3] + 0x000008B0u;
|
|
/* 0277DBB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277DBB4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277DBB8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0277DBBC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0277DBBC */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 0277DBC0 */ Gambit_fn_0277D888(cpu);
|
|
/* 0277DBC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277DBC8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277DBC8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0277DBC8 */ if (_t8) goto L_0277DCB0; else goto L_0277DBCC;
|
|
L_0277DBCC: ; // 0x277dbcc
|
|
/* 0277DBCC */ _t9 = cpu->r[30] + 0x00000270u;
|
|
/* 0277DBCC */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0277DBD0 */ cpu->r[29] = 0x00010000u;
|
|
/* 0277DBD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0277DBD8 */ cpu->r[29] = cpu->r[29] + 0xFFFFAE00u;
|
|
/* 0277DBDC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277DBDC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0277DBDC */ if (_t11) goto L_0277DC78; else goto L_0277DBE0;
|
|
L_0277DBE0: ; // 0x277dbe0
|
|
/* 0277DBE0 */ cpu->r[3] = cpu->r[30] + 0x000008B8u;
|
|
/* 0277DBE4 */ Gambit_fn_02175E78(cpu);
|
|
/* 0277DBE8 */ cpu->r[11] = 0x10000000u;
|
|
/* 0277DBEC */ cpu->r[11] = cpu->r[11] + 0x000032BCu;
|
|
/* 0277DBF0 */ cpu->r[31] = 0x00000000u;
|
|
/* 0277DBF4 */ cpu->r[0] = cpu->r[11];
|
|
/* 0277DBF8 */ goto L_0277DC04;
|
|
L_0277DBFC: ; // 0x277dbfc
|
|
/* 0277DBFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000006u);
|
|
/* 0277DC00 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277DC00 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0277DC00 */ if (_t13) goto L_0277DC04; else goto L_0277DC0C;
|
|
L_0277DC04: ; // 0x277dc04
|
|
/* 0277DC04 */ cpu->r[12] = cpu->r[11];
|
|
/* 0277DC08 */ goto L_0277DC10;
|
|
L_0277DC0C: ; // 0x277dc0c
|
|
/* 0277DC0C */ cpu->r[12] = cpu->r[0];
|
|
L_0277DC10: ; // 0x277dc10
|
|
/* 0277DC10 */ _t14 = cpu->r[12] + 0x00000000u;
|
|
/* 0277DC10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277DC14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[3]);
|
|
/* 0277DC18 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0277DC18 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0277DC18 */ if (_t16) goto L_0277DC1C; else goto L_0277DC44;
|
|
L_0277DC1C: ; // 0x277dc1c
|
|
/* 0277DC1C */ _t17 = cpu->r[30] + 0x00000270u;
|
|
/* 0277DC1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0277DC20 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0277DC24 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 0277DC28 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 0277DC28 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0277DC2C */ Gambit_fn_02777CF4(cpu);
|
|
/* 0277DC30 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277DC34 */ cpu->r[5] = cpu->r[31];
|
|
/* 0277DC38 */ cpu->r[3] = cpu->r[30] + cpu->r[29];
|
|
/* 0277DC3C */ Gambit_fn_021788E4(cpu);
|
|
/* 0277DC40 */ goto L_0277DC78;
|
|
L_0277DC44: ; // 0x277dc44
|
|
/* 0277DC44 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0277DC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000006u);
|
|
/* 0277DC4C */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 0277DC50 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0277DC50 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0277DC50 */ if (_t20) goto L_0277DBFC; else goto L_0277DC54;
|
|
L_0277DC54: ; // 0x277dc54
|
|
/* 0277DC54 */ _t21 = cpu->r[30] + 0x00000270u;
|
|
/* 0277DC54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0277DC58 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0277DC5C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 0277DC60 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 0277DC60 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0277DC64 */ Gambit_fn_02777CF4(cpu);
|
|
/* 0277DC68 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0277DC6C */ cpu->r[5] = 0x00000006u;
|
|
/* 0277DC70 */ cpu->r[3] = cpu->r[30] + cpu->r[29];
|
|
/* 0277DC74 */ Gambit_fn_021788E4(cpu);
|
|
L_0277DC78: ; // 0x277dc78
|
|
/* 0277DC78 */ _t23 = cpu->r[30] + 0x00000270u;
|
|
/* 0277DC78 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0277DC7C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0277DC80 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277DC84 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0277DC84 */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 0277DC88 */ Gambit_fn_0277840C(cpu);
|
|
/* 0277DC8C */ cpu->r[5] = 0x00000001u;
|
|
/* 0277DC90 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277DC94 */ cpu->r[3] = cpu->r[30] + cpu->r[29];
|
|
/* 0277DC98 */ Gambit_fn_02178948(cpu);
|
|
/* 0277DC9C */ cpu->r[3] = cpu->r[30] + cpu->r[29];
|
|
/* 0277DCA0 */ Gambit_fn_02178250(cpu);
|
|
/* 0277DCA4 */ cpu->r[4] = 0x00000006u;
|
|
/* 0277DCA8 */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 0277DCAC */ Gambit_fn_020642B4(cpu);
|
|
L_0277DCB0: ; // 0x277dcb0
|
|
/* 0277DCB0 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277DCB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0277DCB4 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0277DCB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0277DCB8 */ _t27 = cpu->r[1] + 0x00000020u;
|
|
/* 0277DCB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0277DCBC */ cpu->lr = cpu->r[0];
|
|
/* 0277DCC0 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 0277DCC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0277DCC4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0277DCC8 */ return;
|
|
}
|
|
|
|
// fn_0277DCCC @ 0x277dccc
|
|
void Gambit_fn_0277DCCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_02778BE4: ; // 0x2778be4
|
|
/* 02778BE4 */ cpu->r[0] = cpu->lr;
|
|
/* 02778BE8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02778BE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02778BE8 */ cpu->r[1] = _t0;
|
|
/* 02778BEC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02778BEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02778BF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02778BF4 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02778BF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02778BF8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778BFC */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778BFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02778C00 */ Gambit_fn_02175308(cpu);
|
|
/* 02778C04 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02778C08 */ Gambit_fn_02177484(cpu);
|
|
/* 02778C0C */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02778C0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02778C10 */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 02778C10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02778C14 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02778C18 */ cpu->r[30] = cpu->r[31] + cpu->r[8];
|
|
/* 02778C1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02778C20 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778C20 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02778C20 */ if (_t7) goto L_02778CE0; else goto L_02778C24;
|
|
L_02778C24: ; // 0x2778c24
|
|
/* 02778C24 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02778C24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02778C28 */ _t9 = cpu->r[9] + 0x00000144u;
|
|
/* 02778C28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02778C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000000Au);
|
|
/* 02778C30 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778C30 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02778C30 */ if (_t11) goto L_02778CD4; else goto L_02778C34;
|
|
L_02778C34: ; // 0x2778c34
|
|
/* 02778C34 */ _t12 = cpu->r[9] + 0x00000000u;
|
|
/* 02778C34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02778C38 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02778C3C */ Gambit_fn_02177538(cpu);
|
|
/* 02778C40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778C44 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778C44 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02778C44 */ if (_t14) goto L_02778C48; else goto L_02778CD4;
|
|
L_02778C48: ; // 0x2778c48
|
|
/* 02778C48 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02778C48 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02778C4C */ _t16 = cpu->r[9] + 0x00000144u;
|
|
/* 02778C4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02778C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02778C54 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778C54 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02778C54 */ if (_t18) goto L_02778C6C; else goto L_02778C58;
|
|
L_02778C58: ; // 0x2778c58
|
|
/* 02778C58 */ _t19 = cpu->r[9] + 0x00000000u;
|
|
/* 02778C58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02778C5C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02778C60 */ Gambit_fn_021775D8(cpu);
|
|
/* 02778C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778C68 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778C68 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02778C68 */ if (_t21) goto L_02778CD4; else goto L_02778C6C;
|
|
L_02778C6C: ; // 0x2778c6c
|
|
/* 02778C6C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778C70 */ Gambit_fn_02175E78(cpu);
|
|
/* 02778C74 */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 02778C74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02778C78 */ _t23 = cpu->r[9] + 0x00000140u;
|
|
/* 02778C78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02778C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[10]);
|
|
/* 02778C80 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02778C80 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02778C80 */ if (_t25) goto L_02778CD4; else goto L_02778C84;
|
|
L_02778C84: ; // 0x2778c84
|
|
/* 02778C84 */ _t26 = cpu->r[9] + 0x00000000u;
|
|
/* 02778C84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02778C88 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778C8C */ Gambit_fn_02175850(cpu);
|
|
/* 02778C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02778C94 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778C94 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02778C94 */ if (_t28) goto L_02778C98; else goto L_02778CD4;
|
|
L_02778C98: ; // 0x2778c98
|
|
/* 02778C98 */ _t29 = cpu->r[31] + 0x00000000u;
|
|
/* 02778C98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02778C9C */ cpu->r[4] = 0x00000002u;
|
|
/* 02778CA0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02778CA4 */ _t30 = cpu->r[12] + 0x00000000u;
|
|
/* 02778CA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02778CA8 */ Gambit_fn_02177524(cpu);
|
|
/* 02778CAC */ cpu->r[4] = 0x00000002u;
|
|
/* 02778CB0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778CB4 */ Gambit_fn_021753A0(cpu);
|
|
/* 02778CB8 */ _t31 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02778CBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02778CC0 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02778CC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02778CC4 */ cpu->lr = cpu->r[0];
|
|
/* 02778CC8 */ _t33 = cpu->r[1] + 0x00000020u;
|
|
/* 02778CC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02778CCC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02778CD0 */ return;
|
|
L_02778CD4: ; // 0x2778cd4
|
|
/* 02778CD4 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02778CD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02778CDC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02778CDC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02778CDC */ if (_t35) goto L_02778CE0; else goto L_02778C24;
|
|
L_02778CE0: ; // 0x2778ce0
|
|
/* 02778CE0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02778CE4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778CE8 */ Gambit_fn_02177524(cpu);
|
|
/* 02778CEC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02778CF0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02778CF4 */ Gambit_fn_021753A0(cpu);
|
|
/* 02778CF8 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02778CF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02778CFC */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02778CFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02778D00 */ cpu->lr = cpu->r[0];
|
|
/* 02778D04 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02778D04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02778D08 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02778D0C */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02778D10 */ return;
|
|
L_0277DCCC: ; // 0x277dccc
|
|
/* 0277DCCC */ cpu->r[3] = cpu->r[3] + 0x0000089Cu;
|
|
/* 0277DCD0 */ goto L_02778BE4;
|
|
}
|
|
|
|
// fn_0277DCD4 @ 0x277dcd4
|
|
void Gambit_fn_0277DCD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_0277DCD4: ; // 0x277dcd4
|
|
/* 0277DCD4 */ cpu->r[0] = cpu->lr;
|
|
/* 0277DCD8 */ _t0 = cpu->r[1] + 0xFFFFFA70u;
|
|
/* 0277DCD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0277DCD8 */ cpu->r[1] = _t0;
|
|
/* 0277DCDC */ _t1 = cpu->r[1] + 0x00000588u;
|
|
/* 0277DCDC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0277DCE0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0277DCE4 */ _t2 = cpu->r[1] + 0x0000058Cu;
|
|
/* 0277DCE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0277DCE8 */ _t3 = cpu->r[1] + 0x00000584u;
|
|
/* 0277DCE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0277DCEC */ _t4 = cpu->r[1] + 0x00000594u;
|
|
/* 0277DCEC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0277DCF0 */ cpu->r[29] = cpu->r[4];
|
|
/* 0277DCF4 */ cpu->r[11] = 0x00000020u;
|
|
/* 0277DCF8 */ _t5 = cpu->r[30] + 0x00000270u;
|
|
/* 0277DCF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0277DCFC */ cpu->r[12] = 0x10110000u;
|
|
/* 0277DD00 */ _t6 = cpu->r[1] + 0x00000020u;
|
|
/* 0277DD00 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0277DD04 */ cpu->r[31] = 0x00000001u;
|
|
/* 0277DD08 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0277DD08 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0277DD0C */ cpu->r[10] = cpu->r[1] + 0x00000024u;
|
|
/* 0277DD10 */ _t8 = cpu->r[30] + 0x0000027Fu;
|
|
/* 0277DD10 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[31]);
|
|
/* 0277DD14 */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 0277DD14 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0277DD18 */ cpu->r[0] = 0x10100000u;
|
|
/* 0277DD1C */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 0277DD1C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0277DD20 */ cpu->r[0] = cpu->r[0] + 0x00003A7Cu;
|
|
/* 0277DD24 */ _t11 = cpu->r[1] + 0x00000043u;
|
|
/* 0277DD24 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 0277DD28 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0277DD28 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0277DD2C */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 0277DD2C */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
/* 0277DD30 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 0277DD30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0277DD34 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0277DD38 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0277DD3C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277DD40 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0277DD40 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 0277DD44 */ Gambit_fn_02777ED0(cpu);
|
|
/* 0277DD48 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 0277DD4C */ Gambit_fn_020BC1DC(cpu);
|
|
/* 0277DD50 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 0277DD54 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0277DD58 */ Gambit_fn_020BC7F8(cpu);
|
|
/* 0277DD5C */ _t16 = cpu->r[1] + 0x000004C1u;
|
|
/* 0277DD5C */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[31]);
|
|
/* 0277DD60 */ cpu->r[10] = 0x00000003u;
|
|
/* 0277DD64 */ _t17 = cpu->r[1] + 0x000004C8u;
|
|
/* 0277DD64 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0277DD68 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0277DD6C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0277DD6C */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 0277DD70 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0277DD70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0277DD74 */ _t20 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277DD74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0277DD78 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0277DD78 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 0277DD7C */ _t22 = cpu->r[12] + 0x00000250u;
|
|
/* 0277DD7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0277DD80 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0277DD84 */ Gambit_fn_0209D0E4(cpu);
|
|
/* 0277DD88 */ _t23 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277DD88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0277DD8C */ _t24 = cpu->r[8] + 0x00000250u;
|
|
/* 0277DD8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0277DD90 */ Gambit_fn_0209D0CC(cpu);
|
|
/* 0277DD94 */ _t25 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277DD94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0277DD98 */ _t26 = cpu->r[9] + 0x00000250u;
|
|
/* 0277DD98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0277DD9C */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 0277DDA0 */ Gambit_fn_0209CF18(cpu);
|
|
/* 0277DDA4 */ _t27 = cpu->r[31] + 0xFFFF8FC4u;
|
|
/* 0277DDA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0277DDA4 */ cpu->r[31] = _t27;
|
|
/* 0277DDA8 */ _t28 = cpu->r[10] + 0x00000250u;
|
|
/* 0277DDA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0277DDAC */ Gambit_fn_0209D2C0(cpu);
|
|
/* 0277DDB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277DDB4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277DDB4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0277DDB4 */ if (_t30) goto L_0277DDB8; else goto L_0277DE04;
|
|
L_0277DDB8: ; // 0x277ddb8
|
|
/* 0277DDB8 */ _t31 = cpu->r[31] + 0x00000000u;
|
|
/* 0277DDB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0277DDBC */ _t32 = cpu->r[11] + 0x00000250u;
|
|
/* 0277DDBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0277DDC0 */ Gambit_fn_0209D388(cpu);
|
|
/* 0277DDC4 */ _t33 = cpu->r[31] + 0x00000000u;
|
|
/* 0277DDC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0277DDC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0277DDCC */ _t34 = cpu->r[8] + 0x00000250u;
|
|
/* 0277DDCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0277DDD0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0277DDD0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0277DDD0 */ if (_t36) goto L_0277DE00; else goto L_0277DDD4;
|
|
L_0277DDD4: ; // 0x277ddd4
|
|
/* 0277DDD4 */ Gambit_fn_0209D39C(cpu);
|
|
/* 0277DDD8 */ cpu->r[6] = 0x02780000u;
|
|
/* 0277DDDC */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 0277DDE0 */ cpu->r[4] = 0x00000006u;
|
|
/* 0277DDE4 */ cpu->r[7] = 0x00000000u;
|
|
/* 0277DDE8 */ cpu->r[5] = 0x00000098u;
|
|
/* 0277DDEC */ cpu->r[6] = cpu->r[6] + 0x00000B50u;
|
|
/* 0277DDF0 */ cpu->r[8] = cpu->r[7];
|
|
/* 0277DDF4 */ _t37 = cpu->r[30] + 0x0000027Eu;
|
|
/* 0277DDF4 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[7]);
|
|
/* 0277DDF8 */ Gambit_fn_02C82F38(cpu);
|
|
/* 0277DDFC */ goto L_0277DE28;
|
|
L_0277DE00: ; // 0x277de00
|
|
/* 0277DE00 */ Gambit_fn_0209D408(cpu);
|
|
L_0277DE04: ; // 0x277de04
|
|
/* 0277DE04 */ cpu->r[6] = 0x02780000u;
|
|
/* 0277DE08 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 0277DE0C */ cpu->r[4] = 0x00000006u;
|
|
/* 0277DE10 */ cpu->r[7] = 0x00000000u;
|
|
/* 0277DE14 */ cpu->r[5] = 0x00000098u;
|
|
/* 0277DE18 */ cpu->r[6] = cpu->r[6] + 0x00000B50u;
|
|
/* 0277DE1C */ cpu->r[8] = cpu->r[7];
|
|
/* 0277DE20 */ _t38 = cpu->r[30] + 0x0000027Eu;
|
|
/* 0277DE20 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[7]);
|
|
/* 0277DE24 */ Gambit_fn_02C82F38(cpu);
|
|
L_0277DE28: ; // 0x277de28
|
|
/* 0277DE28 */ _t39 = cpu->r[1] + 0x00000584u;
|
|
/* 0277DE28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0277DE2C */ _t40 = cpu->r[1] + 0x00000594u;
|
|
/* 0277DE2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0277DE30 */ _t41 = cpu->r[1] + 0x00000588u;
|
|
/* 0277DE30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0277DE34 */ cpu->lr = cpu->r[0];
|
|
/* 0277DE38 */ _t42 = cpu->r[1] + 0x0000058Cu;
|
|
/* 0277DE38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0277DE3C */ cpu->r[1] = cpu->r[1] + 0x00000590u;
|
|
/* 0277DE40 */ return;
|
|
}
|
|
|