mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
37256 lines
1.9 MiB
Plaintext
37256 lines
1.9 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_02847148 @ 0x2847148
|
|
void Gambit_fn_02847148(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02847148: ; // 0x2847148
|
|
/* 02847148 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02847148 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847148 */ cpu->r[1] = _t0;
|
|
/* 0284714C */ Gambit_fn_02847128(cpu);
|
|
/* 02847150 */ cpu->r[4] = cpu->r[3];
|
|
/* 02847154 */ cpu->r[3] = cpu->r[12] + 0x00000008u;
|
|
/* 02847158 */ Gambit_fn_02847130(cpu);
|
|
/* 0284715C */ cpu->r[5] = cpu->r[3];
|
|
/* 02847160 */ cpu->r[3] = cpu->r[12] + 0x00000008u;
|
|
/* 02847164 */ Gambit_fn_02846680(cpu);
|
|
/* 02847168 */ Gambit_fn_02C2D4DC(cpu);
|
|
/* 0284716C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284716C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02847170 */ cpu->lr = cpu->r[0];
|
|
/* 02847174 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02847178 */ return;
|
|
}
|
|
|
|
// fn_0284717C @ 0x284717c
|
|
void Gambit_fn_0284717C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0284717C: ; // 0x284717c
|
|
/* 0284717C */ cpu->r[9] = 0x101F0000u;
|
|
/* 02847180 */ cpu->r[10] = 0x10130000u;
|
|
/* 02847184 */ cpu->r[11] = 0x10130000u;
|
|
/* 02847188 */ cpu->r[9] = cpu->r[9] + 0x00006C78u;
|
|
/* 0284718C */ cpu->r[11] = cpu->r[11] + 0xFFFFF230u;
|
|
/* 02847190 */ cpu->r[10] = cpu->r[10] + 0xFFFFF288u;
|
|
/* 02847194 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02847198 */ _t0 = cpu->r[9] + 0x00000004u;
|
|
/* 02847198 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 0284719C */ cpu->r[0] = 0x10130000u;
|
|
/* 028471A0 */ cpu->r[12] = cpu->r[12] + 0x00006C80u;
|
|
/* 028471A4 */ _t1 = cpu->r[9] + 0x00000000u;
|
|
/* 028471A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 028471A8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF294u;
|
|
/* 028471AC */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 028471AC */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 028471B0 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 028471B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028471B4 */ return;
|
|
}
|
|
|
|
// fn_028471B8 @ 0x28471b8
|
|
void Gambit_fn_028471B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_028471B8: ; // 0x28471b8
|
|
/* 028471B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028471BC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028471BC */ _t17 = _t16 & 0x00000001u;
|
|
/* 028471BC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028471BC */ goto L_028471C0;
|
|
L_028471C0: ; // 0x28471c0
|
|
/* 028471C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028471C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028471C4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028471C4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028471C4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028471C4 */ goto L_028471C8;
|
|
L_028471C8: ; // 0x28471c8
|
|
/* 028471C8 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028471CC @ 0x28471cc
|
|
void Gambit_fn_028471CC(CPUState* cpu) {
|
|
L_028471CC: ; // 0x28471cc
|
|
/* 028471CC */ return;
|
|
}
|
|
|
|
// fn_028471D0 @ 0x28471d0
|
|
void Gambit_fn_028471D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_028471D0: ; // 0x28471d0
|
|
/* 028471D0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 028471D4 */ _t0 = cpu->r[9] + 0xFFFFF9D0u;
|
|
/* 028471D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028471D4 */ cpu->r[9] = _t0;
|
|
/* 028471D8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 028471DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 028471E0 */ cpu->r[12] = cpu->r[12] + 0xFFFFF9CCu;
|
|
/* 028471E4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028471E4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 028471E4 */ if (_t2) goto L_028471E8; else goto L_028471FC;
|
|
L_028471E8: ; // 0x28471e8
|
|
/* 028471E8 */ cpu->r[7] = 0x10130000u;
|
|
/* 028471EC */ cpu->r[0] = 0x00000001u;
|
|
/* 028471F0 */ cpu->r[7] = cpu->r[7] + 0xFFFFF268u;
|
|
/* 028471F4 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 028471F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028471F8 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 028471F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_028471FC: ; // 0x28471fc
|
|
/* 028471FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02847200 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847200 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02847200 */ if (_t6) goto L_02847204; else goto L_0284720C;
|
|
L_02847204: ; // 0x2847204
|
|
/* 02847204 */ cpu->r[3] = 0x00000001u;
|
|
/* 02847208 */ return;
|
|
L_0284720C: ; // 0x284720c
|
|
/* 0284720C */ cpu->r[7] = 0x101D0000u;
|
|
/* 02847210 */ _t7 = cpu->r[7] + 0xFFFFF9D4u;
|
|
/* 02847210 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02847210 */ cpu->r[7] = _t7;
|
|
/* 02847214 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02847218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0284721C */ cpu->r[11] = cpu->r[11] + 0xFFFFF9D8u;
|
|
/* 02847220 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847220 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02847220 */ if (_t9) goto L_02847224; else goto L_02847238;
|
|
L_02847224: ; // 0x2847224
|
|
/* 02847224 */ cpu->r[0] = 0x10130000u;
|
|
/* 02847228 */ cpu->r[9] = 0x00000001u;
|
|
/* 0284722C */ cpu->r[0] = cpu->r[0] + 0xFFFFF258u;
|
|
/* 02847230 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02847230 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02847234 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02847234 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02847238: ; // 0x2847238
|
|
/* 02847238 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0284723C */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02847240 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02847244 */ return;
|
|
}
|
|
|
|
// fn_02847248 @ 0x2847248
|
|
void Gambit_fn_02847248(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02847248: ; // 0x2847248
|
|
/* 02847248 */ cpu->r[0] = cpu->lr;
|
|
/* 0284724C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284724C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284724C */ cpu->r[1] = _t0;
|
|
/* 02847250 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847250 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02847254 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02847254 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02847258 */ cpu->r[30] = cpu->r[3];
|
|
/* 02847258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284725C */ cpu->r[31] = cpu->r[4];
|
|
/* 02847260 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02847260 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02847264 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847264 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02847264 */ if (_t5) goto L_028472A8; else goto L_02847268;
|
|
L_02847268: ; // 0x2847268
|
|
/* 02847268 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284726C */ cpu->r[3] = cpu->r[30] + 0x00000100u;
|
|
/* 02847270 */ cpu->r[0] = cpu->r[0] + 0xFFFFF338u;
|
|
/* 02847274 */ cpu->r[4] = 0x00000002u;
|
|
/* 02847278 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02847278 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0284727C */ Gambit_fn_0284DB24(cpu);
|
|
/* 02847280 */ cpu->r[3] = cpu->r[30] + 0x000000A8u;
|
|
/* 02847284 */ cpu->r[4] = 0x00000002u;
|
|
/* 02847288 */ Gambit_fn_02836FA8(cpu);
|
|
/* 0284728C */ cpu->r[3] = cpu->r[30] + 0x00000048u;
|
|
/* 02847290 */ cpu->r[4] = 0x00000002u;
|
|
/* 02847294 */ Gambit_fn_02836FA8(cpu);
|
|
/* 02847298 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02847298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284729C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284729C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284729C */ if (_t8) goto L_028472A8; else goto L_028472A0;
|
|
L_028472A0: ; // 0x28472a0
|
|
/* 028472A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028472A4 */ Gambit_fn_02801BB0(cpu);
|
|
L_028472A8: ; // 0x28472a8
|
|
/* 028472A8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 028472A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028472AC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 028472AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028472B0 */ cpu->lr = cpu->r[0];
|
|
/* 028472B4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028472B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028472B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028472BC */ return;
|
|
}
|
|
|
|
// fn_0284724C @ 0x284724c
|
|
void Gambit_fn_0284724C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0284724C: ; // 0x284724c
|
|
/* 0284724C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284724C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284724C */ cpu->r[1] = _t0;
|
|
/* 02847250 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847250 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02847254 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02847254 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02847258 */ cpu->r[30] = cpu->r[3];
|
|
/* 02847258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284725C */ cpu->r[31] = cpu->r[4];
|
|
/* 02847260 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02847260 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02847264 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847264 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02847264 */ if (_t5) goto L_028472A8; else goto L_02847268;
|
|
L_02847268: ; // 0x2847268
|
|
/* 02847268 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284726C */ cpu->r[3] = cpu->r[30] + 0x00000100u;
|
|
/* 02847270 */ cpu->r[0] = cpu->r[0] + 0xFFFFF338u;
|
|
/* 02847274 */ cpu->r[4] = 0x00000002u;
|
|
/* 02847278 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02847278 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0284727C */ Gambit_fn_0284DB24(cpu);
|
|
/* 02847280 */ cpu->r[3] = cpu->r[30] + 0x000000A8u;
|
|
/* 02847284 */ cpu->r[4] = 0x00000002u;
|
|
/* 02847288 */ Gambit_fn_02836FA8(cpu);
|
|
/* 0284728C */ cpu->r[3] = cpu->r[30] + 0x00000048u;
|
|
/* 02847290 */ cpu->r[4] = 0x00000002u;
|
|
/* 02847294 */ Gambit_fn_02836FA8(cpu);
|
|
/* 02847298 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02847298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284729C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284729C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284729C */ if (_t8) goto L_028472A8; else goto L_028472A0;
|
|
L_028472A0: ; // 0x28472a0
|
|
/* 028472A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028472A4 */ Gambit_fn_02801BB0(cpu);
|
|
L_028472A8: ; // 0x28472a8
|
|
/* 028472A8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 028472A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028472AC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 028472AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028472B0 */ cpu->lr = cpu->r[0];
|
|
/* 028472B4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028472B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028472B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028472BC */ return;
|
|
}
|
|
|
|
// fn_028472C0 @ 0x28472c0
|
|
void Gambit_fn_028472C0(CPUState* 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_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_028472C0: ; // 0x28472c0
|
|
/* 028472C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028472C4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028472C4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028472C4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028472C4 */ goto L_028472C8;
|
|
L_028472C8: ; // 0x28472c8
|
|
/* 028472C8 */ cpu->r[12] = 0x00000000u;
|
|
/* 028472CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028472CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028472D0 */ _t18 = cpu->r[3] + 0x0000023Cu;
|
|
/* 028472D0 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
/* 028472D4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028472D4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028472D4 */ if (_t20) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028472D4 */ goto L_028472D8;
|
|
L_028472D8: ; // 0x28472d8
|
|
/* 028472D8 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028472DC @ 0x28472dc
|
|
void Gambit_fn_028472DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_028472DC: ; // 0x28472dc
|
|
/* 028472DC */ cpu->r[0] = cpu->lr;
|
|
/* 028472E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028472E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028472E0 */ cpu->r[1] = _t0;
|
|
/* 028472E4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 028472E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028472E8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028472E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028472EC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028472EC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028472F0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028472F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028472F4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028472F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028472F8 */ cpu->r[29] = cpu->r[3];
|
|
/* 028472FC */ _t6 = cpu->r[29] + 0x0000001Cu;
|
|
/* 028472FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02847300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02847304 */ cpu->r[30] = cpu->r[4];
|
|
/* 02847308 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847308 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02847308 */ if (_t8) goto L_02847338; else goto L_0284730C;
|
|
L_0284730C: ; // 0x284730c
|
|
/* 0284730C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02847310 */ cpu->r[28] = 0x00000000u;
|
|
/* 02847314 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847314 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02847314 */ if (_t10) goto L_02847338; else goto L_02847318;
|
|
L_02847318: ; // 0x2847318
|
|
/* 02847318 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 0284731C */ cpu->r[4] = cpu->r[28] + 0x04000000u;
|
|
/* 02847320 */ Gambit_fn_02C22FA0(cpu);
|
|
/* 02847324 */ cpu->r[4] = cpu->r[30];
|
|
/* 02847328 */ Gambit_fn_02C2273C(cpu);
|
|
/* 0284732C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0284732C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02847330 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02847334 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847334 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02847334 */ if (_t12) goto L_02847338; else goto L_02847318;
|
|
L_02847338: ; // 0x2847338
|
|
/* 02847338 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02847338 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284733C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284733C */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02847340 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02847344 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02847344 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02847348 */ cpu->lr = cpu->r[0];
|
|
/* 0284734C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0284734C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02847350 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02847354 */ return;
|
|
}
|
|
|
|
// fn_028472E0 @ 0x28472e0
|
|
void Gambit_fn_028472E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_028472E0: ; // 0x28472e0
|
|
/* 028472E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028472E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028472E0 */ cpu->r[1] = _t0;
|
|
/* 028472E4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 028472E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028472E8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028472E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028472EC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028472EC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028472F0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028472F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028472F4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028472F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028472F8 */ cpu->r[29] = cpu->r[3];
|
|
/* 028472FC */ _t6 = cpu->r[29] + 0x0000001Cu;
|
|
/* 028472FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02847300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02847304 */ cpu->r[30] = cpu->r[4];
|
|
/* 02847308 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847308 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02847308 */ if (_t8) goto L_02847338; else goto L_0284730C;
|
|
L_0284730C: ; // 0x284730c
|
|
/* 0284730C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02847310 */ cpu->r[28] = 0x00000000u;
|
|
/* 02847314 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847314 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02847314 */ if (_t10) goto L_02847338; else goto L_02847318;
|
|
L_02847318: ; // 0x2847318
|
|
/* 02847318 */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 0284731C */ cpu->r[4] = cpu->r[28] + 0x04000000u;
|
|
/* 02847320 */ Gambit_fn_02C22FA0(cpu);
|
|
/* 02847324 */ cpu->r[4] = cpu->r[30];
|
|
/* 02847328 */ Gambit_fn_02C2273C(cpu);
|
|
/* 0284732C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0284732C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02847330 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02847334 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847334 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02847334 */ if (_t12) goto L_02847338; else goto L_02847318;
|
|
L_02847338: ; // 0x2847338
|
|
/* 02847338 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02847338 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284733C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284733C */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02847340 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02847344 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02847344 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02847348 */ cpu->lr = cpu->r[0];
|
|
/* 0284734C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0284734C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02847350 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02847354 */ return;
|
|
}
|
|
|
|
// fn_02847358 @ 0x2847358
|
|
void Gambit_fn_02847358(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02847358: ; // 0x2847358
|
|
/* 02847358 */ cpu->r[0] = cpu->lr;
|
|
/* 0284735C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284735C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284735C */ cpu->r[1] = _t0;
|
|
/* 02847360 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02847360 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02847364 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02847364 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02847368 */ cpu->r[30] = cpu->r[3];
|
|
/* 02847368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284736C */ cpu->r[31] = cpu->r[4];
|
|
/* 02847370 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847370 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02847374 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847374 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02847378 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847378 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02847378 */ if (_t6) goto L_02847474; else goto L_0284737C;
|
|
L_0284737C: ; // 0x284737c
|
|
/* 0284737C */ cpu->r[9] = 0x10130000u;
|
|
/* 02847380 */ cpu->r[10] = 0x10130000u;
|
|
/* 02847384 */ cpu->r[9] = cpu->r[9] + 0xFFFFF3E0u;
|
|
/* 02847388 */ cpu->r[10] = cpu->r[10] + 0xFFFFF458u;
|
|
/* 0284738C */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 0284738C */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02847390 */ cpu->r[29] = 0x00000000u;
|
|
/* 02847394 */ cpu->r[12] = 0x10130000u;
|
|
/* 02847398 */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 02847398 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0284739C */ cpu->r[12] = cpu->r[12] + 0xFFFFF478u;
|
|
/* 028473A0 */ cpu->r[4] = cpu->r[29];
|
|
/* 028473A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028473A8 */ _t9 = cpu->r[30] + 0x0000014Cu;
|
|
/* 028473A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 028473AC */ Gambit_fn_028472DC(cpu);
|
|
/* 028473B0 */ _t10 = cpu->r[30] + 0x00000150u;
|
|
/* 028473B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028473B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028473B8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028473B8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028473B8 */ if (_t12) goto L_028473C4; else goto L_028473BC;
|
|
L_028473BC: ; // 0x28473bc
|
|
/* 028473BC */ Gambit_fn_02801BB4(cpu);
|
|
/* 028473C0 */ _t13 = cpu->r[30] + 0x00000150u;
|
|
/* 028473C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
L_028473C4: ; // 0x28473c4
|
|
/* 028473C4 */ _t14 = cpu->r[30] + 0x00000158u;
|
|
/* 028473C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028473C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028473CC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028473CC */ _t16 = _t15 & 0x00000001u;
|
|
/* 028473CC */ if (_t16) goto L_028473D8; else goto L_028473D0;
|
|
L_028473D0: ; // 0x28473d0
|
|
/* 028473D0 */ Gambit_fn_02801BB4(cpu);
|
|
/* 028473D4 */ _t17 = cpu->r[30] + 0x00000158u;
|
|
/* 028473D4 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
L_028473D8: ; // 0x28473d8
|
|
/* 028473D8 */ _t18 = cpu->r[30] + 0x00000168u;
|
|
/* 028473D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028473DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028473E0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028473E0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028473E0 */ if (_t20) goto L_028473EC; else goto L_028473E4;
|
|
L_028473E4: ; // 0x28473e4
|
|
/* 028473E4 */ Gambit_fn_02801BB4(cpu);
|
|
/* 028473E8 */ _t21 = cpu->r[30] + 0x00000168u;
|
|
/* 028473E8 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
L_028473EC: ; // 0x28473ec
|
|
/* 028473EC */ _t22 = cpu->r[30] + 0x00000174u;
|
|
/* 028473EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028473F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028473F4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028473F4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 028473F4 */ if (_t24) goto L_02847410; else goto L_028473F8;
|
|
L_028473F8: ; // 0x28473f8
|
|
/* 028473F8 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 028473F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 028473FC */ _t26 = cpu->r[11] + 0x0000000Cu;
|
|
/* 028473FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02847400 */ cpu->ctr = cpu->r[0];
|
|
/* 02847404 */ cpu->r[4] = 0x00000003u;
|
|
/* 02847408 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284740C */ _t27 = cpu->r[30] + 0x00000174u;
|
|
/* 0284740C */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
L_02847410: ; // 0x2847410
|
|
/* 02847410 */ _t28 = cpu->r[30] + 0x00000178u;
|
|
/* 02847410 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02847414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847418 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847418 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02847418 */ if (_t30) goto L_02847428; else goto L_0284741C;
|
|
L_0284741C: ; // 0x284741c
|
|
/* 0284741C */ cpu->r[4] = 0x00000003u;
|
|
/* 02847420 */ Gambit_fn_02849340(cpu);
|
|
/* 02847424 */ _t31 = cpu->r[30] + 0x00000178u;
|
|
/* 02847424 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
L_02847428: ; // 0x2847428
|
|
/* 02847428 */ _t32 = cpu->r[30] + 0x00000170u;
|
|
/* 02847428 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284742C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847430 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847430 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02847430 */ if (_t34) goto L_0284744C; else goto L_02847434;
|
|
L_02847434: ; // 0x2847434
|
|
/* 02847434 */ _t35 = cpu->r[3] + 0x00000008u;
|
|
/* 02847434 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02847438 */ _t36 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02847438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0284743C */ cpu->ctr = cpu->r[0];
|
|
/* 02847440 */ cpu->r[4] = 0x00000003u;
|
|
/* 02847444 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02847448 */ _t37 = cpu->r[30] + 0x00000170u;
|
|
/* 02847448 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
|
|
L_0284744C: ; // 0x284744c
|
|
/* 0284744C */ cpu->r[3] = cpu->r[30] + 0x00000180u;
|
|
/* 02847450 */ cpu->r[4] = 0x00000002u;
|
|
/* 02847454 */ Gambit_fn_02836FA8(cpu);
|
|
/* 02847458 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 0284745C */ cpu->r[4] = 0x00000000u;
|
|
/* 02847460 */ Gambit_fn_02C2115C(cpu);
|
|
/* 02847464 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02847464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02847468 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847468 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02847468 */ if (_t39) goto L_02847474; else goto L_0284746C;
|
|
L_0284746C: ; // 0x284746c
|
|
/* 0284746C */ cpu->r[3] = cpu->r[30];
|
|
/* 02847470 */ Gambit_fn_02801BB0(cpu);
|
|
L_02847474: ; // 0x2847474
|
|
/* 02847474 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847474 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02847478 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0284747C */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 0284747C */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02847480 */ cpu->lr = cpu->r[0];
|
|
/* 02847484 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02847484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02847488 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284748C */ return;
|
|
}
|
|
|
|
// fn_0284735C @ 0x284735c
|
|
void Gambit_fn_0284735C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_0284735C: ; // 0x284735c
|
|
/* 0284735C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284735C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284735C */ cpu->r[1] = _t0;
|
|
/* 02847360 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02847360 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02847364 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02847364 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02847368 */ cpu->r[30] = cpu->r[3];
|
|
/* 02847368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284736C */ cpu->r[31] = cpu->r[4];
|
|
/* 02847370 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847370 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02847374 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847374 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02847378 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847378 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02847378 */ if (_t6) goto L_02847474; else goto L_0284737C;
|
|
L_0284737C: ; // 0x284737c
|
|
/* 0284737C */ cpu->r[9] = 0x10130000u;
|
|
/* 02847380 */ cpu->r[10] = 0x10130000u;
|
|
/* 02847384 */ cpu->r[9] = cpu->r[9] + 0xFFFFF3E0u;
|
|
/* 02847388 */ cpu->r[10] = cpu->r[10] + 0xFFFFF458u;
|
|
/* 0284738C */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 0284738C */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02847390 */ cpu->r[29] = 0x00000000u;
|
|
/* 02847394 */ cpu->r[12] = 0x10130000u;
|
|
/* 02847398 */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 02847398 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 0284739C */ cpu->r[12] = cpu->r[12] + 0xFFFFF478u;
|
|
/* 028473A0 */ cpu->r[4] = cpu->r[29];
|
|
/* 028473A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028473A8 */ _t9 = cpu->r[30] + 0x0000014Cu;
|
|
/* 028473A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 028473AC */ Gambit_fn_028472DC(cpu);
|
|
/* 028473B0 */ _t10 = cpu->r[30] + 0x00000150u;
|
|
/* 028473B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028473B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028473B8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028473B8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028473B8 */ if (_t12) goto L_028473C4; else goto L_028473BC;
|
|
L_028473BC: ; // 0x28473bc
|
|
/* 028473BC */ Gambit_fn_02801BB4(cpu);
|
|
/* 028473C0 */ _t13 = cpu->r[30] + 0x00000150u;
|
|
/* 028473C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
L_028473C4: ; // 0x28473c4
|
|
/* 028473C4 */ _t14 = cpu->r[30] + 0x00000158u;
|
|
/* 028473C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028473C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028473CC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028473CC */ _t16 = _t15 & 0x00000001u;
|
|
/* 028473CC */ if (_t16) goto L_028473D8; else goto L_028473D0;
|
|
L_028473D0: ; // 0x28473d0
|
|
/* 028473D0 */ Gambit_fn_02801BB4(cpu);
|
|
/* 028473D4 */ _t17 = cpu->r[30] + 0x00000158u;
|
|
/* 028473D4 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
L_028473D8: ; // 0x28473d8
|
|
/* 028473D8 */ _t18 = cpu->r[30] + 0x00000168u;
|
|
/* 028473D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028473DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028473E0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028473E0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028473E0 */ if (_t20) goto L_028473EC; else goto L_028473E4;
|
|
L_028473E4: ; // 0x28473e4
|
|
/* 028473E4 */ Gambit_fn_02801BB4(cpu);
|
|
/* 028473E8 */ _t21 = cpu->r[30] + 0x00000168u;
|
|
/* 028473E8 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
L_028473EC: ; // 0x28473ec
|
|
/* 028473EC */ _t22 = cpu->r[30] + 0x00000174u;
|
|
/* 028473EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028473F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028473F4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028473F4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 028473F4 */ if (_t24) goto L_02847410; else goto L_028473F8;
|
|
L_028473F8: ; // 0x28473f8
|
|
/* 028473F8 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 028473F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 028473FC */ _t26 = cpu->r[11] + 0x0000000Cu;
|
|
/* 028473FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02847400 */ cpu->ctr = cpu->r[0];
|
|
/* 02847404 */ cpu->r[4] = 0x00000003u;
|
|
/* 02847408 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284740C */ _t27 = cpu->r[30] + 0x00000174u;
|
|
/* 0284740C */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
L_02847410: ; // 0x2847410
|
|
/* 02847410 */ _t28 = cpu->r[30] + 0x00000178u;
|
|
/* 02847410 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02847414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847418 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847418 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02847418 */ if (_t30) goto L_02847428; else goto L_0284741C;
|
|
L_0284741C: ; // 0x284741c
|
|
/* 0284741C */ cpu->r[4] = 0x00000003u;
|
|
/* 02847420 */ Gambit_fn_02849340(cpu);
|
|
/* 02847424 */ _t31 = cpu->r[30] + 0x00000178u;
|
|
/* 02847424 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
L_02847428: ; // 0x2847428
|
|
/* 02847428 */ _t32 = cpu->r[30] + 0x00000170u;
|
|
/* 02847428 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284742C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847430 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847430 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02847430 */ if (_t34) goto L_0284744C; else goto L_02847434;
|
|
L_02847434: ; // 0x2847434
|
|
/* 02847434 */ _t35 = cpu->r[3] + 0x00000008u;
|
|
/* 02847434 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02847438 */ _t36 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02847438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0284743C */ cpu->ctr = cpu->r[0];
|
|
/* 02847440 */ cpu->r[4] = 0x00000003u;
|
|
/* 02847444 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02847448 */ _t37 = cpu->r[30] + 0x00000170u;
|
|
/* 02847448 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
|
|
L_0284744C: ; // 0x284744c
|
|
/* 0284744C */ cpu->r[3] = cpu->r[30] + 0x00000180u;
|
|
/* 02847450 */ cpu->r[4] = 0x00000002u;
|
|
/* 02847454 */ Gambit_fn_02836FA8(cpu);
|
|
/* 02847458 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 0284745C */ cpu->r[4] = 0x00000000u;
|
|
/* 02847460 */ Gambit_fn_02C2115C(cpu);
|
|
/* 02847464 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02847464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02847468 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847468 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02847468 */ if (_t39) goto L_02847474; else goto L_0284746C;
|
|
L_0284746C: ; // 0x284746c
|
|
/* 0284746C */ cpu->r[3] = cpu->r[30];
|
|
/* 02847470 */ Gambit_fn_02801BB0(cpu);
|
|
L_02847474: ; // 0x2847474
|
|
/* 02847474 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847474 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02847478 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0284747C */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 0284747C */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02847480 */ cpu->lr = cpu->r[0];
|
|
/* 02847484 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02847484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02847488 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284748C */ return;
|
|
}
|
|
|
|
// fn_02847490 @ 0x2847490
|
|
void Gambit_fn_02847490(CPUState* cpu) {
|
|
uint32_t _t0, _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_02847490: ; // 0x2847490
|
|
/* 02847490 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02847490 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847490 */ cpu->r[1] = _t0;
|
|
/* 02847494 */ /* nop */
|
|
/* 02847498 */ cpu->r[0] = cpu->lr;
|
|
/* 0284749C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0284749C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028474A0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 028474A4 */ cpu->r[26] = 0x101D0000u;
|
|
/* 028474A8 */ cpu->r[30] = cpu->r[6];
|
|
/* 028474AC */ cpu->r[31] = cpu->r[7];
|
|
/* 028474B0 */ cpu->r[28] = cpu->r[4];
|
|
/* 028474B4 */ _t2 = cpu->r[26] + 0xFFFF99E8u;
|
|
/* 028474B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028474B4 */ cpu->r[26] = _t2;
|
|
/* 028474B8 */ cpu->r[29] = cpu->r[5];
|
|
/* 028474BC */ _t3 = cpu->r[8] + 0xFFFFF9D0u;
|
|
/* 028474BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028474BC */ cpu->r[8] = _t3;
|
|
/* 028474C0 */ cpu->r[27] = cpu->r[3];
|
|
/* 028474C4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 028474C8 */ _t4 = cpu->r[12] + 0x00000014u;
|
|
/* 028474C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028474CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028474D0 */ cpu->r[4] = cpu->r[4] + 0xFFFFF9CCu;
|
|
/* 028474D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028474D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028474D4 */ if (_t6) goto L_028474D8; else goto L_028474EC;
|
|
L_028474D8: ; // 0x28474d8
|
|
/* 028474D8 */ cpu->r[0] = 0x10130000u;
|
|
/* 028474DC */ cpu->r[5] = 0x00000001u;
|
|
/* 028474E0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF390u;
|
|
/* 028474E4 */ _t7 = cpu->r[8] + 0x00000000u;
|
|
/* 028474E4 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 028474E8 */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 028474E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_028474EC: ; // 0x28474ec
|
|
/* 028474EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028474F0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028474F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028474F0 */ if (_t10) goto L_02847504; else goto L_028474F4;
|
|
L_028474F4: ; // 0x28474f4
|
|
/* 028474F4 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 028474F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028474F8 */ _t12 = cpu->r[7] + 0x0000000Cu;
|
|
/* 028474F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028474FC */ cpu->ctr = cpu->r[0];
|
|
/* 02847500 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02847504: ; // 0x2847504
|
|
/* 02847504 */ _t13 = cpu->r[27] + 0x0000017Du;
|
|
/* 02847504 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02847508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284750C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284750C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284750C */ if (_t15) goto L_02847528; else goto L_02847510;
|
|
L_02847510: ; // 0x2847510
|
|
/* 02847510 */ /* nop */
|
|
/* 02847514 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02847514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02847518 */ cpu->lr = cpu->r[0];
|
|
/* 0284751C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02847520 */ cpu->r[3] = 0x00000080u;
|
|
/* 02847524 */ return;
|
|
L_02847528: ; // 0x2847528
|
|
/* 02847528 */ _t17 = cpu->r[26] + 0x00000000u;
|
|
/* 02847528 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284752C */ _t18 = cpu->r[10] + 0x00000018u;
|
|
/* 0284752C */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02847530 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02847530 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02847534 */ _t20 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02847534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02847538 */ cpu->ctr = cpu->r[0];
|
|
/* 0284753C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02847540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847544 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847544 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02847544 */ if (_t22) goto L_02847560; else goto L_02847548;
|
|
L_02847548: ; // 0x2847548
|
|
/* 02847548 */ /* nop */
|
|
/* 0284754C */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 0284754C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02847550 */ cpu->lr = cpu->r[0];
|
|
/* 02847554 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02847558 */ cpu->r[3] = 0x00000080u;
|
|
/* 0284755C */ return;
|
|
L_02847560: ; // 0x2847560
|
|
/* 02847560 */ cpu->r[7] = cpu->r[31];
|
|
/* 02847564 */ cpu->r[6] = cpu->r[30];
|
|
/* 02847568 */ cpu->r[5] = cpu->r[29];
|
|
/* 0284756C */ cpu->r[4] = cpu->r[28];
|
|
/* 02847570 */ cpu->r[3] = cpu->r[27] + 0x00000004u;
|
|
/* 02847574 */ Gambit_fn_02C25D4C(cpu);
|
|
/* 02847578 */ /* nop */
|
|
/* 0284757C */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 0284757C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02847580 */ cpu->lr = cpu->r[0];
|
|
/* 02847584 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02847588 */ return;
|
|
}
|
|
|
|
// fn_0284758C @ 0x284758c
|
|
void Gambit_fn_0284758C(CPUState* cpu) {
|
|
uint32_t _t0, _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_02847490: ; // 0x2847490
|
|
/* 02847490 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02847490 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847490 */ cpu->r[1] = _t0;
|
|
/* 02847494 */ /* nop */
|
|
/* 02847498 */ cpu->r[0] = cpu->lr;
|
|
/* 0284749C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0284749C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028474A0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 028474A4 */ cpu->r[26] = 0x101D0000u;
|
|
/* 028474A8 */ cpu->r[30] = cpu->r[6];
|
|
/* 028474AC */ cpu->r[31] = cpu->r[7];
|
|
/* 028474B0 */ cpu->r[28] = cpu->r[4];
|
|
/* 028474B4 */ _t2 = cpu->r[26] + 0xFFFF99E8u;
|
|
/* 028474B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028474B4 */ cpu->r[26] = _t2;
|
|
/* 028474B8 */ cpu->r[29] = cpu->r[5];
|
|
/* 028474BC */ _t3 = cpu->r[8] + 0xFFFFF9D0u;
|
|
/* 028474BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028474BC */ cpu->r[8] = _t3;
|
|
/* 028474C0 */ cpu->r[27] = cpu->r[3];
|
|
/* 028474C4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 028474C8 */ _t4 = cpu->r[12] + 0x00000014u;
|
|
/* 028474C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028474CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028474D0 */ cpu->r[4] = cpu->r[4] + 0xFFFFF9CCu;
|
|
/* 028474D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028474D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028474D4 */ if (_t6) goto L_028474D8; else goto L_028474EC;
|
|
L_028474D8: ; // 0x28474d8
|
|
/* 028474D8 */ cpu->r[0] = 0x10130000u;
|
|
/* 028474DC */ cpu->r[5] = 0x00000001u;
|
|
/* 028474E0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF390u;
|
|
/* 028474E4 */ _t7 = cpu->r[8] + 0x00000000u;
|
|
/* 028474E4 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 028474E8 */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 028474E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_028474EC: ; // 0x28474ec
|
|
/* 028474EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028474F0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028474F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028474F0 */ if (_t10) goto L_02847504; else goto L_028474F4;
|
|
L_028474F4: ; // 0x28474f4
|
|
/* 028474F4 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 028474F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028474F8 */ _t12 = cpu->r[7] + 0x0000000Cu;
|
|
/* 028474F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028474FC */ cpu->ctr = cpu->r[0];
|
|
/* 02847500 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02847504: ; // 0x2847504
|
|
/* 02847504 */ _t13 = cpu->r[27] + 0x0000017Du;
|
|
/* 02847504 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02847508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284750C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284750C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284750C */ if (_t15) goto L_02847528; else goto L_02847510;
|
|
L_02847510: ; // 0x2847510
|
|
/* 02847510 */ /* nop */
|
|
/* 02847514 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02847514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02847518 */ cpu->lr = cpu->r[0];
|
|
/* 0284751C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02847520 */ cpu->r[3] = 0x00000080u;
|
|
/* 02847524 */ return;
|
|
L_02847528: ; // 0x2847528
|
|
/* 02847528 */ _t17 = cpu->r[26] + 0x00000000u;
|
|
/* 02847528 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284752C */ _t18 = cpu->r[10] + 0x00000018u;
|
|
/* 0284752C */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02847530 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02847530 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02847534 */ _t20 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02847534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02847538 */ cpu->ctr = cpu->r[0];
|
|
/* 0284753C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02847540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847544 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847544 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02847544 */ if (_t22) goto L_02847560; else goto L_02847548;
|
|
L_02847548: ; // 0x2847548
|
|
/* 02847548 */ /* nop */
|
|
/* 0284754C */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 0284754C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02847550 */ cpu->lr = cpu->r[0];
|
|
/* 02847554 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02847558 */ cpu->r[3] = 0x00000080u;
|
|
/* 0284755C */ return;
|
|
L_02847560: ; // 0x2847560
|
|
/* 02847560 */ cpu->r[7] = cpu->r[31];
|
|
/* 02847564 */ cpu->r[6] = cpu->r[30];
|
|
/* 02847568 */ cpu->r[5] = cpu->r[29];
|
|
/* 0284756C */ cpu->r[4] = cpu->r[28];
|
|
/* 02847570 */ cpu->r[3] = cpu->r[27] + 0x00000004u;
|
|
/* 02847574 */ Gambit_fn_02C25D4C(cpu);
|
|
/* 02847578 */ /* nop */
|
|
/* 0284757C */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 0284757C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02847580 */ cpu->lr = cpu->r[0];
|
|
/* 02847584 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02847588 */ return;
|
|
L_0284758C: ; // 0x284758c
|
|
/* 0284758C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 02847590 */ goto L_02847490;
|
|
}
|
|
|
|
// fn_02847594 @ 0x2847594
|
|
void Gambit_fn_02847594(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_02847594: ; // 0x2847594
|
|
/* 02847594 */ cpu->r[0] = cpu->lr;
|
|
/* 02847598 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02847598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847598 */ cpu->r[1] = _t0;
|
|
/* 0284759C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284759C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028475A0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028475A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028475A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028475A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028475A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028475A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028475AC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028475AC */ _t5 = _t4 & 0x00000001u;
|
|
/* 028475AC */ if (_t5) goto L_028475B0; else goto L_028475C0;
|
|
L_028475B0: ; // 0x28475b0
|
|
/* 028475B0 */ cpu->r[3] = 0x000001C0u;
|
|
/* 028475B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028475B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028475B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028475BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028475BC */ _t7 = _t6 & 0x00000001u;
|
|
/* 028475BC */ if (_t7) goto L_02847674; else goto L_028475C0;
|
|
L_028475C0: ; // 0x28475c0
|
|
/* 028475C0 */ cpu->r[0] = 0x10130000u;
|
|
/* 028475C4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF158u;
|
|
/* 028475C8 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 028475CC */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 028475CC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 028475D0 */ Gambit_fn_02C20D08(cpu);
|
|
/* 028475D4 */ cpu->r[11] = 0x10130000u;
|
|
/* 028475D8 */ cpu->r[12] = 0x10130000u;
|
|
/* 028475DC */ cpu->r[11] = cpu->r[11] + 0xFFFFF3E0u;
|
|
/* 028475E0 */ cpu->r[12] = cpu->r[12] + 0xFFFFF458u;
|
|
/* 028475E4 */ cpu->r[0] = 0x10130000u;
|
|
/* 028475E8 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 028475E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 028475EC */ cpu->r[0] = cpu->r[0] + 0xFFFFF478u;
|
|
/* 028475F0 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 028475F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 028475F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 028475F8 */ _t11 = cpu->r[31] + 0x0000014Cu;
|
|
/* 028475F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 028475FC */ _t12 = cpu->r[31] + 0x00000150u;
|
|
/* 028475FC */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02847600 */ _t13 = cpu->r[31] + 0x00000160u;
|
|
/* 02847600 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02847604 */ cpu->r[3] = cpu->r[31] + 0x00000180u;
|
|
/* 02847608 */ _t14 = cpu->r[31] + 0x0000017Du;
|
|
/* 02847608 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[30]);
|
|
/* 0284760C */ _t15 = cpu->r[31] + 0x00000178u;
|
|
/* 0284760C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02847610 */ _t16 = cpu->r[31] + 0x00000174u;
|
|
/* 02847610 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02847614 */ _t17 = cpu->r[31] + 0x00000164u;
|
|
/* 02847614 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02847618 */ _t18 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02847618 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]);
|
|
/* 0284761C */ _t19 = cpu->r[31] + 0x0000016Cu;
|
|
/* 0284761C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02847620 */ _t20 = cpu->r[31] + 0x00000168u;
|
|
/* 02847620 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02847624 */ _t21 = cpu->r[31] + 0x0000015Cu;
|
|
/* 02847624 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02847628 */ _t22 = cpu->r[31] + 0x00000154u;
|
|
/* 02847628 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 0284762C */ _t23 = cpu->r[31] + 0x00000170u;
|
|
/* 0284762C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02847630 */ _t24 = cpu->r[31] + 0x00000158u;
|
|
/* 02847630 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02847634 */ Gambit_fn_02836EBC(cpu);
|
|
/* 02847638 */ cpu->r[3] = 0x00000234u;
|
|
/* 0284763C */ _t25 = cpu->r[31] + 0x000001BCu;
|
|
/* 0284763C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[30]);
|
|
/* 02847640 */ Gambit_fn_02801A78(cpu);
|
|
/* 02847644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847648 */ cpu->r[0] = cpu->r[3];
|
|
/* 0284764C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284764C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0284764C */ if (_t27) goto L_02847658; else goto L_02847650;
|
|
L_02847650: ; // 0x2847650
|
|
/* 02847650 */ Gambit_fn_02848740(cpu);
|
|
/* 02847654 */ cpu->r[0] = cpu->r[3];
|
|
L_02847658: ; // 0x2847658
|
|
/* 02847658 */ cpu->r[3] = 0x00000028u;
|
|
/* 0284765C */ _t28 = cpu->r[31] + 0x00000170u;
|
|
/* 0284765C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02847660 */ Gambit_fn_02801A78(cpu);
|
|
/* 02847664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847668 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847668 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02847668 */ if (_t30) goto L_02847670; else goto L_0284766C;
|
|
L_0284766C: ; // 0x284766c
|
|
/* 0284766C */ Gambit_fn_02849188(cpu);
|
|
L_02847670: ; // 0x2847670
|
|
/* 02847670 */ _t31 = cpu->r[31] + 0x00000178u;
|
|
/* 02847670 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
L_02847674: ; // 0x2847674
|
|
/* 02847674 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02847674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02847678 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284767C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284767C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02847680 */ cpu->lr = cpu->r[0];
|
|
/* 02847684 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 02847684 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02847688 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284768C */ return;
|
|
}
|
|
|
|
// fn_02847598 @ 0x2847598
|
|
void Gambit_fn_02847598(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_02847598: ; // 0x2847598
|
|
/* 02847598 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02847598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847598 */ cpu->r[1] = _t0;
|
|
/* 0284759C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284759C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028475A0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028475A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028475A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028475A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028475A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028475A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028475AC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028475AC */ _t5 = _t4 & 0x00000001u;
|
|
/* 028475AC */ if (_t5) goto L_028475B0; else goto L_028475C0;
|
|
L_028475B0: ; // 0x28475b0
|
|
/* 028475B0 */ cpu->r[3] = 0x000001C0u;
|
|
/* 028475B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028475B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028475B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028475BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028475BC */ _t7 = _t6 & 0x00000001u;
|
|
/* 028475BC */ if (_t7) goto L_02847674; else goto L_028475C0;
|
|
L_028475C0: ; // 0x28475c0
|
|
/* 028475C0 */ cpu->r[0] = 0x10130000u;
|
|
/* 028475C4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF158u;
|
|
/* 028475C8 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 028475CC */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 028475CC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 028475D0 */ Gambit_fn_02C20D08(cpu);
|
|
/* 028475D4 */ cpu->r[11] = 0x10130000u;
|
|
/* 028475D8 */ cpu->r[12] = 0x10130000u;
|
|
/* 028475DC */ cpu->r[11] = cpu->r[11] + 0xFFFFF3E0u;
|
|
/* 028475E0 */ cpu->r[12] = cpu->r[12] + 0xFFFFF458u;
|
|
/* 028475E4 */ cpu->r[0] = 0x10130000u;
|
|
/* 028475E8 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 028475E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 028475EC */ cpu->r[0] = cpu->r[0] + 0xFFFFF478u;
|
|
/* 028475F0 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 028475F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 028475F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 028475F8 */ _t11 = cpu->r[31] + 0x0000014Cu;
|
|
/* 028475F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 028475FC */ _t12 = cpu->r[31] + 0x00000150u;
|
|
/* 028475FC */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02847600 */ _t13 = cpu->r[31] + 0x00000160u;
|
|
/* 02847600 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02847604 */ cpu->r[3] = cpu->r[31] + 0x00000180u;
|
|
/* 02847608 */ _t14 = cpu->r[31] + 0x0000017Du;
|
|
/* 02847608 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[30]);
|
|
/* 0284760C */ _t15 = cpu->r[31] + 0x00000178u;
|
|
/* 0284760C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02847610 */ _t16 = cpu->r[31] + 0x00000174u;
|
|
/* 02847610 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02847614 */ _t17 = cpu->r[31] + 0x00000164u;
|
|
/* 02847614 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02847618 */ _t18 = cpu->r[31] + 0x0000017Cu;
|
|
/* 02847618 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]);
|
|
/* 0284761C */ _t19 = cpu->r[31] + 0x0000016Cu;
|
|
/* 0284761C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02847620 */ _t20 = cpu->r[31] + 0x00000168u;
|
|
/* 02847620 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02847624 */ _t21 = cpu->r[31] + 0x0000015Cu;
|
|
/* 02847624 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02847628 */ _t22 = cpu->r[31] + 0x00000154u;
|
|
/* 02847628 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 0284762C */ _t23 = cpu->r[31] + 0x00000170u;
|
|
/* 0284762C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02847630 */ _t24 = cpu->r[31] + 0x00000158u;
|
|
/* 02847630 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02847634 */ Gambit_fn_02836EBC(cpu);
|
|
/* 02847638 */ cpu->r[3] = 0x00000234u;
|
|
/* 0284763C */ _t25 = cpu->r[31] + 0x000001BCu;
|
|
/* 0284763C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[30]);
|
|
/* 02847640 */ Gambit_fn_02801A78(cpu);
|
|
/* 02847644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847648 */ cpu->r[0] = cpu->r[3];
|
|
/* 0284764C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284764C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0284764C */ if (_t27) goto L_02847658; else goto L_02847650;
|
|
L_02847650: ; // 0x2847650
|
|
/* 02847650 */ Gambit_fn_02848740(cpu);
|
|
/* 02847654 */ cpu->r[0] = cpu->r[3];
|
|
L_02847658: ; // 0x2847658
|
|
/* 02847658 */ cpu->r[3] = 0x00000028u;
|
|
/* 0284765C */ _t28 = cpu->r[31] + 0x00000170u;
|
|
/* 0284765C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02847660 */ Gambit_fn_02801A78(cpu);
|
|
/* 02847664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847668 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847668 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02847668 */ if (_t30) goto L_02847670; else goto L_0284766C;
|
|
L_0284766C: ; // 0x284766c
|
|
/* 0284766C */ Gambit_fn_02849188(cpu);
|
|
L_02847670: ; // 0x2847670
|
|
/* 02847670 */ _t31 = cpu->r[31] + 0x00000178u;
|
|
/* 02847670 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
L_02847674: ; // 0x2847674
|
|
/* 02847674 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02847674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02847678 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284767C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284767C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02847680 */ cpu->lr = cpu->r[0];
|
|
/* 02847684 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 02847684 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02847688 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284768C */ return;
|
|
}
|
|
|
|
// fn_02847690 @ 0x2847690
|
|
void Gambit_fn_02847690(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02847690: ; // 0x2847690
|
|
/* 02847690 */ cpu->r[0] = cpu->lr;
|
|
/* 02847694 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02847694 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847694 */ cpu->r[1] = _t0;
|
|
/* 02847698 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847698 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284769C */ cpu->r[31] = cpu->r[3];
|
|
/* 028476A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028476A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028476A4 */ _t3 = cpu->r[31] + 0x00000170u;
|
|
/* 028476A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028476A8 */ cpu->r[4] = 0x00000000u;
|
|
/* 028476AC */ Gambit_fn_028488D0(cpu);
|
|
/* 028476B0 */ _t4 = cpu->r[31] + 0x00000174u;
|
|
/* 028476B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028476B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028476B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028476B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028476B8 */ if (_t6) goto L_028476D8; else goto L_028476BC;
|
|
L_028476BC: ; // 0x28476bc
|
|
/* 028476BC */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 028476BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028476C0 */ _t8 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028476C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028476C4 */ cpu->ctr = cpu->r[0];
|
|
/* 028476C8 */ cpu->r[4] = 0x00000003u;
|
|
/* 028476CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028476D0 */ cpu->r[11] = 0x00000000u;
|
|
/* 028476D4 */ _t9 = cpu->r[31] + 0x00000174u;
|
|
/* 028476D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
L_028476D8: ; // 0x28476d8
|
|
/* 028476D8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 028476D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028476DC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028476DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028476E0 */ cpu->lr = cpu->r[0];
|
|
/* 028476E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028476E8 */ return;
|
|
}
|
|
|
|
// fn_02847694 @ 0x2847694
|
|
void Gambit_fn_02847694(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02847694: ; // 0x2847694
|
|
/* 02847694 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02847694 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847694 */ cpu->r[1] = _t0;
|
|
/* 02847698 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847698 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284769C */ cpu->r[31] = cpu->r[3];
|
|
/* 028476A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028476A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028476A4 */ _t3 = cpu->r[31] + 0x00000170u;
|
|
/* 028476A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028476A8 */ cpu->r[4] = 0x00000000u;
|
|
/* 028476AC */ Gambit_fn_028488D0(cpu);
|
|
/* 028476B0 */ _t4 = cpu->r[31] + 0x00000174u;
|
|
/* 028476B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028476B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028476B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028476B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028476B8 */ if (_t6) goto L_028476D8; else goto L_028476BC;
|
|
L_028476BC: ; // 0x28476bc
|
|
/* 028476BC */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 028476BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028476C0 */ _t8 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028476C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028476C4 */ cpu->ctr = cpu->r[0];
|
|
/* 028476C8 */ cpu->r[4] = 0x00000003u;
|
|
/* 028476CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028476D0 */ cpu->r[11] = 0x00000000u;
|
|
/* 028476D4 */ _t9 = cpu->r[31] + 0x00000174u;
|
|
/* 028476D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
L_028476D8: ; // 0x28476d8
|
|
/* 028476D8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 028476D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028476DC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028476DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028476E0 */ cpu->lr = cpu->r[0];
|
|
/* 028476E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028476E8 */ return;
|
|
}
|
|
|
|
// fn_028476EC @ 0x28476ec
|
|
void Gambit_fn_028476EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_028476EC: ; // 0x28476ec
|
|
/* 028476EC */ cpu->r[0] = cpu->lr;
|
|
/* 028476F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028476F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028476F0 */ cpu->r[1] = _t0;
|
|
/* 028476F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028476F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028476F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028476FC */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02847700 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02847700 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02847704 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02847704 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02847708 */ Gambit_fn_02C2287C(cpu);
|
|
/* 0284770C */ _t4 = cpu->r[31] + 0x00000158u;
|
|
/* 0284770C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02847710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847714 */ cpu->r[30] = 0x00000000u;
|
|
/* 02847718 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847718 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02847718 */ if (_t6) goto L_02847724; else goto L_0284771C;
|
|
L_0284771C: ; // 0x284771c
|
|
/* 0284771C */ Gambit_fn_02801BB4(cpu);
|
|
/* 02847720 */ _t7 = cpu->r[31] + 0x00000158u;
|
|
/* 02847720 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
L_02847724: ; // 0x2847724
|
|
/* 02847724 */ _t8 = cpu->r[31] + 0x00000150u;
|
|
/* 02847724 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02847728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284772C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284772C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284772C */ if (_t10) goto L_02847738; else goto L_02847730;
|
|
L_02847730: ; // 0x2847730
|
|
/* 02847730 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02847734 */ _t11 = cpu->r[31] + 0x00000150u;
|
|
/* 02847734 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
L_02847738: ; // 0x2847738
|
|
/* 02847738 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02847738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284773C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0284773C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02847740 */ cpu->lr = cpu->r[0];
|
|
/* 02847744 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847744 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02847748 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284774C */ return;
|
|
}
|
|
|
|
// fn_028476F0 @ 0x28476f0
|
|
void Gambit_fn_028476F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_028476F0: ; // 0x28476f0
|
|
/* 028476F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028476F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028476F0 */ cpu->r[1] = _t0;
|
|
/* 028476F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028476F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028476F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028476FC */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02847700 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02847700 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02847704 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02847704 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02847708 */ Gambit_fn_02C2287C(cpu);
|
|
/* 0284770C */ _t4 = cpu->r[31] + 0x00000158u;
|
|
/* 0284770C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02847710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847714 */ cpu->r[30] = 0x00000000u;
|
|
/* 02847718 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847718 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02847718 */ if (_t6) goto L_02847724; else goto L_0284771C;
|
|
L_0284771C: ; // 0x284771c
|
|
/* 0284771C */ Gambit_fn_02801BB4(cpu);
|
|
/* 02847720 */ _t7 = cpu->r[31] + 0x00000158u;
|
|
/* 02847720 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
L_02847724: ; // 0x2847724
|
|
/* 02847724 */ _t8 = cpu->r[31] + 0x00000150u;
|
|
/* 02847724 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02847728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284772C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284772C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284772C */ if (_t10) goto L_02847738; else goto L_02847730;
|
|
L_02847730: ; // 0x2847730
|
|
/* 02847730 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02847734 */ _t11 = cpu->r[31] + 0x00000150u;
|
|
/* 02847734 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
L_02847738: ; // 0x2847738
|
|
/* 02847738 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02847738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284773C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0284773C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02847740 */ cpu->lr = cpu->r[0];
|
|
/* 02847744 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847744 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02847748 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284774C */ return;
|
|
}
|
|
|
|
// fn_02847750 @ 0x2847750
|
|
void Gambit_fn_02847750(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02847750: ; // 0x2847750
|
|
/* 02847750 */ cpu->r[0] = cpu->lr;
|
|
/* 02847754 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02847754 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847754 */ cpu->r[1] = _t0;
|
|
/* 02847758 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847758 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284775C */ cpu->r[31] = cpu->r[3];
|
|
/* 02847760 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02847764 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02847764 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02847768 */ Gambit_fn_02C22C00(cpu);
|
|
/* 0284776C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847770 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847770 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02847770 */ if (_t4) goto L_02847798; else goto L_02847774;
|
|
L_02847774: ; // 0x2847774
|
|
/* 02847774 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847778 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284777C */ Gambit_fn_028472DC(cpu);
|
|
/* 02847780 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847784 */ Gambit_fn_02847690(cpu);
|
|
/* 02847788 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284778C */ Gambit_fn_028476EC(cpu);
|
|
/* 02847790 */ _t5 = cpu->r[31] + 0x00000170u;
|
|
/* 02847790 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02847794 */ Gambit_fn_02848AF0(cpu);
|
|
L_02847798: ; // 0x2847798
|
|
/* 02847798 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02847798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284779C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284779C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028477A0 */ cpu->lr = cpu->r[0];
|
|
/* 028477A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028477A8 */ return;
|
|
}
|
|
|
|
// fn_02847754 @ 0x2847754
|
|
void Gambit_fn_02847754(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02847754: ; // 0x2847754
|
|
/* 02847754 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02847754 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847754 */ cpu->r[1] = _t0;
|
|
/* 02847758 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847758 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284775C */ cpu->r[31] = cpu->r[3];
|
|
/* 02847760 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02847764 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02847764 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02847768 */ Gambit_fn_02C22C00(cpu);
|
|
/* 0284776C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847770 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847770 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02847770 */ if (_t4) goto L_02847798; else goto L_02847774;
|
|
L_02847774: ; // 0x2847774
|
|
/* 02847774 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847778 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284777C */ Gambit_fn_028472DC(cpu);
|
|
/* 02847780 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847784 */ Gambit_fn_02847690(cpu);
|
|
/* 02847788 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284778C */ Gambit_fn_028476EC(cpu);
|
|
/* 02847790 */ _t5 = cpu->r[31] + 0x00000170u;
|
|
/* 02847790 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02847794 */ Gambit_fn_02848AF0(cpu);
|
|
L_02847798: ; // 0x2847798
|
|
/* 02847798 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02847798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284779C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284779C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028477A0 */ cpu->lr = cpu->r[0];
|
|
/* 028477A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028477A8 */ return;
|
|
}
|
|
|
|
// fn_028477AC @ 0x28477ac
|
|
void Gambit_fn_028477AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_028477AC: ; // 0x28477ac
|
|
/* 028477AC */ cpu->r[0] = cpu->lr;
|
|
/* 028477B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028477B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028477B0 */ cpu->r[1] = _t0;
|
|
/* 028477B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028477B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028477B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028477BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028477BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028477C0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028477C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028477C4 */ Gambit_fn_02C36E08(cpu);
|
|
/* 028477C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028477CC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028477CC */ _t5 = _t4 & 0x00000001u;
|
|
/* 028477CC */ if (_t5) goto L_02847820; else goto L_028477D0;
|
|
L_028477D0: ; // 0x28477d0
|
|
/* 028477D0 */ _t6 = cpu->r[30] + 0x000001BCu;
|
|
/* 028477D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 028477D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028477D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028477D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028477D8 */ if (_t8) goto L_02847808; else goto L_028477DC;
|
|
L_028477DC: ; // 0x28477dc
|
|
/* 028477DC */ cpu->r[31] = cpu->r[30] + 0x00000180u;
|
|
/* 028477E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028477E4 */ Gambit_fn_02836FFC(cpu);
|
|
/* 028477E8 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 028477EC */ Gambit_fn_02C22FA4(cpu);
|
|
/* 028477F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028477F4 */ Gambit_fn_02837030(cpu);
|
|
/* 028477F8 */ _t9 = cpu->r[30] + 0x00000178u;
|
|
/* 028477F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028477FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847800 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847800 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02847800 */ if (_t11) goto L_02847820; else goto L_02847804;
|
|
L_02847804: ; // 0x2847804
|
|
/* 02847804 */ goto L_0284781C;
|
|
L_02847808: ; // 0x2847808
|
|
/* 02847808 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 0284780C */ Gambit_fn_02C22FA4(cpu);
|
|
/* 02847810 */ _t12 = cpu->r[30] + 0x00000178u;
|
|
/* 02847810 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02847814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847818 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847818 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02847818 */ if (_t14) goto L_02847820; else goto L_0284781C;
|
|
L_0284781C: ; // 0x284781c
|
|
/* 0284781C */ Gambit_fn_02849528(cpu);
|
|
L_02847820: ; // 0x2847820
|
|
/* 02847820 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02847820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02847824 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02847824 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02847828 */ cpu->lr = cpu->r[0];
|
|
/* 0284782C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284782C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02847830 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02847834 */ return;
|
|
}
|
|
|
|
// fn_028477B0 @ 0x28477b0
|
|
void Gambit_fn_028477B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_028477B0: ; // 0x28477b0
|
|
/* 028477B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028477B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028477B0 */ cpu->r[1] = _t0;
|
|
/* 028477B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028477B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028477B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028477BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028477BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028477C0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028477C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028477C4 */ Gambit_fn_02C36E08(cpu);
|
|
/* 028477C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028477CC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028477CC */ _t5 = _t4 & 0x00000001u;
|
|
/* 028477CC */ if (_t5) goto L_02847820; else goto L_028477D0;
|
|
L_028477D0: ; // 0x28477d0
|
|
/* 028477D0 */ _t6 = cpu->r[30] + 0x000001BCu;
|
|
/* 028477D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 028477D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028477D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028477D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028477D8 */ if (_t8) goto L_02847808; else goto L_028477DC;
|
|
L_028477DC: ; // 0x28477dc
|
|
/* 028477DC */ cpu->r[31] = cpu->r[30] + 0x00000180u;
|
|
/* 028477E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028477E4 */ Gambit_fn_02836FFC(cpu);
|
|
/* 028477E8 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 028477EC */ Gambit_fn_02C22FA4(cpu);
|
|
/* 028477F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028477F4 */ Gambit_fn_02837030(cpu);
|
|
/* 028477F8 */ _t9 = cpu->r[30] + 0x00000178u;
|
|
/* 028477F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028477FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847800 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847800 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02847800 */ if (_t11) goto L_02847820; else goto L_02847804;
|
|
L_02847804: ; // 0x2847804
|
|
/* 02847804 */ goto L_0284781C;
|
|
L_02847808: ; // 0x2847808
|
|
/* 02847808 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 0284780C */ Gambit_fn_02C22FA4(cpu);
|
|
/* 02847810 */ _t12 = cpu->r[30] + 0x00000178u;
|
|
/* 02847810 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02847814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847818 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847818 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02847818 */ if (_t14) goto L_02847820; else goto L_0284781C;
|
|
L_0284781C: ; // 0x284781c
|
|
/* 0284781C */ Gambit_fn_02849528(cpu);
|
|
L_02847820: ; // 0x2847820
|
|
/* 02847820 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02847820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02847824 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02847824 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02847828 */ cpu->lr = cpu->r[0];
|
|
/* 0284782C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284782C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02847830 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02847834 */ return;
|
|
}
|
|
|
|
// fn_02847838 @ 0x2847838
|
|
void Gambit_fn_02847838(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02847838: ; // 0x2847838
|
|
/* 02847838 */ cpu->r[0] = cpu->lr;
|
|
/* 0284783C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284783C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284783C */ cpu->r[1] = _t0;
|
|
/* 02847840 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02847840 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02847844 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02847844 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02847848 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284784C */ cpu->r[3] = 0x00000054u;
|
|
/* 02847850 */ cpu->r[31] = cpu->r[4];
|
|
/* 02847854 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847854 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02847858 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847858 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284785C */ cpu->r[29] = cpu->r[5];
|
|
/* 02847860 */ cpu->r[5] = 0x00000020u;
|
|
/* 02847864 */ cpu->r[4] = cpu->r[29];
|
|
/* 02847868 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0284786C */ cpu->r[4] = cpu->r[3];
|
|
/* 0284786C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02847870 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847870 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02847870 */ if (_t6) goto L_02847888; else goto L_02847874;
|
|
L_02847874: ; // 0x2847874
|
|
/* 02847874 */ cpu->r[3] = cpu->r[4];
|
|
/* 02847878 */ cpu->r[5] = cpu->r[29];
|
|
/* 0284787C */ cpu->r[4] = cpu->r[31];
|
|
/* 02847880 */ Gambit_fn_02848FF4(cpu);
|
|
/* 02847884 */ cpu->r[4] = cpu->r[3];
|
|
L_02847888: ; // 0x2847888
|
|
/* 02847888 */ _t7 = cpu->r[30] + 0x00000170u;
|
|
/* 02847888 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284788C */ _t8 = cpu->r[30] + 0x00000174u;
|
|
/* 0284788C */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 02847890 */ Gambit_fn_028488D0(cpu);
|
|
/* 02847894 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847894 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02847898 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284789C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0284789C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028478A0 */ cpu->lr = cpu->r[0];
|
|
/* 028478A4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 028478A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028478A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028478AC */ return;
|
|
}
|
|
|
|
// fn_0284783C @ 0x284783c
|
|
void Gambit_fn_0284783C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0284783C: ; // 0x284783c
|
|
/* 0284783C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284783C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284783C */ cpu->r[1] = _t0;
|
|
/* 02847840 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02847840 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02847844 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02847844 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02847848 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284784C */ cpu->r[3] = 0x00000054u;
|
|
/* 02847850 */ cpu->r[31] = cpu->r[4];
|
|
/* 02847854 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847854 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02847858 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847858 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284785C */ cpu->r[29] = cpu->r[5];
|
|
/* 02847860 */ cpu->r[5] = 0x00000020u;
|
|
/* 02847864 */ cpu->r[4] = cpu->r[29];
|
|
/* 02847868 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0284786C */ cpu->r[4] = cpu->r[3];
|
|
/* 0284786C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02847870 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847870 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02847870 */ if (_t6) goto L_02847888; else goto L_02847874;
|
|
L_02847874: ; // 0x2847874
|
|
/* 02847874 */ cpu->r[3] = cpu->r[4];
|
|
/* 02847878 */ cpu->r[5] = cpu->r[29];
|
|
/* 0284787C */ cpu->r[4] = cpu->r[31];
|
|
/* 02847880 */ Gambit_fn_02848FF4(cpu);
|
|
/* 02847884 */ cpu->r[4] = cpu->r[3];
|
|
L_02847888: ; // 0x2847888
|
|
/* 02847888 */ _t7 = cpu->r[30] + 0x00000170u;
|
|
/* 02847888 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284788C */ _t8 = cpu->r[30] + 0x00000174u;
|
|
/* 0284788C */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 02847890 */ Gambit_fn_028488D0(cpu);
|
|
/* 02847894 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847894 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02847898 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284789C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0284789C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028478A0 */ cpu->lr = cpu->r[0];
|
|
/* 028478A4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 028478A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028478A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028478AC */ return;
|
|
}
|
|
|
|
// fn_028478B0 @ 0x28478b0
|
|
void Gambit_fn_028478B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_028478B0: ; // 0x28478b0
|
|
/* 028478B0 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 028478B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028478B0 */ cpu->r[1] = _t0;
|
|
/* 028478B4 */ cpu->r[0] = cpu->lr;
|
|
/* 028478B8 */ /* nop */
|
|
/* 028478BC */ cpu->r[26] = cpu->r[3];
|
|
/* 028478C0 */ cpu->r[30] = cpu->r[7];
|
|
/* 028478C4 */ cpu->r[28] = cpu->r[5];
|
|
/* 028478C8 */ cpu->r[31] = cpu->r[8];
|
|
/* 028478CC */ cpu->r[3] = cpu->r[26] + 0x00000004u;
|
|
/* 028478D0 */ cpu->r[5] = cpu->r[30];
|
|
/* 028478D4 */ cpu->r[27] = cpu->r[4];
|
|
/* 028478D8 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 028478D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028478DC */ cpu->r[29] = cpu->r[6];
|
|
/* 028478E0 */ Gambit_fn_02C21170(cpu);
|
|
/* 028478E4 */ cpu->r[5] = 0x00000040u;
|
|
/* 028478E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 028478EC */ cpu->r[25] = cpu->r[3];
|
|
/* 028478F0 */ Gambit_fn_02801ADC(cpu);
|
|
/* 028478F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 028478F8 */ _t2 = cpu->r[26] + 0x00000150u;
|
|
/* 028478F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 028478FC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028478FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 028478FC */ if (_t4) goto L_02847900; else goto L_02847954;
|
|
L_02847900: ; // 0x2847900
|
|
/* 02847900 */ _t5 = cpu->r[26] + 0x0000016Cu;
|
|
/* 02847900 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02847904 */ _t6 = cpu->r[26] + 0x00000150u;
|
|
/* 02847904 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02847908 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02847908 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0284790C */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0284790C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02847910 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02847910 */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
|
|
/* 02847914 */ _t10 = cpu->r[26] + 0x00000168u;
|
|
/* 02847914 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02847918 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847918 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 0284791C */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 0284791C */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 02847920 */ cpu->r[0] = 0x00000000u;
|
|
/* 02847924 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02847924 */ rbrew_write32(cpu->mem, _t13, cpu->r[25]);
|
|
/* 02847928 */ cpu->r[3] = cpu->r[26] + 0x00000004u;
|
|
/* 0284792C */ _t14 = cpu->r[26] + 0x00000158u;
|
|
/* 0284792C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02847930 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02847930 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02847934 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02847938 */ _t16 = cpu->r[26] + 0x00000170u;
|
|
/* 02847938 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284793C */ _t17 = cpu->r[1] + 0x00000028u;
|
|
/* 0284793C */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02847940 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847940 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 02847944 */ Gambit_fn_02C22620(cpu);
|
|
/* 02847948 */ _t19 = cpu->r[26] + 0x00000154u;
|
|
/* 02847948 */ rbrew_write32(cpu->mem, _t19, cpu->r[25]);
|
|
/* 0284794C */ _t20 = cpu->r[26] + 0x0000015Cu;
|
|
/* 0284794C */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
/* 02847950 */ goto L_02847A30;
|
|
L_02847954: ; // 0x2847954
|
|
/* 02847954 */ cpu->r[5] = 0x00000040u;
|
|
/* 02847958 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284795C */ cpu->r[3] = cpu->r[28];
|
|
/* 02847960 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02847964 */ cpu->r[0] = cpu->r[3];
|
|
/* 02847968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0284796C */ _t21 = cpu->r[26] + 0x00000158u;
|
|
/* 0284796C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02847970 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847970 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02847970 */ if (_t23) goto L_02847974; else goto L_028479C0;
|
|
L_02847974: ; // 0x2847974
|
|
/* 02847974 */ _t24 = cpu->r[26] + 0x00000168u;
|
|
/* 02847974 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02847978 */ _t25 = cpu->r[26] + 0x0000016Cu;
|
|
/* 02847978 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284797C */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 0284797C */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 02847980 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02847980 */ rbrew_write32(cpu->mem, _t27, cpu->r[12]);
|
|
/* 02847984 */ cpu->r[3] = cpu->r[26] + 0x00000004u;
|
|
/* 02847988 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847988 */ rbrew_write32(cpu->mem, _t28, cpu->r[28]);
|
|
/* 0284798C */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 0284798C */ rbrew_write32(cpu->mem, _t29, cpu->r[27]);
|
|
/* 02847990 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02847990 */ rbrew_write32(cpu->mem, _t30, cpu->r[25]);
|
|
/* 02847994 */ _t31 = cpu->r[26] + 0x00000170u;
|
|
/* 02847994 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02847998 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02847998 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0284799C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284799C */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 028479A0 */ _t34 = cpu->r[26] + 0x00000150u;
|
|
/* 028479A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028479A4 */ _t35 = cpu->r[1] + 0x00000028u;
|
|
/* 028479A4 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
|
|
/* 028479A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028479AC */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 028479AC */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 028479B0 */ Gambit_fn_02C22620(cpu);
|
|
/* 028479B4 */ _t37 = cpu->r[26] + 0x00000154u;
|
|
/* 028479B4 */ rbrew_write32(cpu->mem, _t37, cpu->r[25]);
|
|
/* 028479B8 */ _t38 = cpu->r[26] + 0x0000015Cu;
|
|
/* 028479B8 */ rbrew_write32(cpu->mem, _t38, cpu->r[28]);
|
|
/* 028479BC */ goto L_02847A30;
|
|
L_028479C0: ; // 0x28479c0
|
|
/* 028479C0 */ cpu->r[0] = cpu->r[29] + 0x0000003Fu;
|
|
/* 028479C4 */ cpu->r[3] = cpu->r[26] + 0x00000004u;
|
|
/* 028479C8 */ cpu->r[4] = cpu->r[27];
|
|
/* 028479CC */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 028479D0 */ Gambit_fn_02C225D0(cpu);
|
|
/* 028479D4 */ cpu->r[5] = 0x00000040u;
|
|
/* 028479D8 */ cpu->r[4] = cpu->r[31];
|
|
/* 028479DC */ _t39 = cpu->r[26] + 0x0000016Cu;
|
|
/* 028479DC */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
/* 028479E0 */ Gambit_fn_02801ADC(cpu);
|
|
/* 028479E4 */ _t40 = cpu->r[26] + 0x0000016Cu;
|
|
/* 028479E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 028479E8 */ _t41 = cpu->r[26] + 0x00000158u;
|
|
/* 028479E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 028479EC */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 028479EC */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 028479F0 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 028479F0 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 028479F4 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 028479F4 */ rbrew_write32(cpu->mem, _t44, cpu->r[25]);
|
|
/* 028479F8 */ _t45 = cpu->r[26] + 0x00000168u;
|
|
/* 028479F8 */ rbrew_write32(cpu->mem, _t45, cpu->r[3]);
|
|
/* 028479FC */ _t46 = cpu->r[26] + 0x00000170u;
|
|
/* 028479FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02847A00 */ _t47 = cpu->r[1] + 0x00000020u;
|
|
/* 02847A00 */ rbrew_write32(cpu->mem, _t47, cpu->r[3]);
|
|
/* 02847A04 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847A04 */ rbrew_write32(cpu->mem, _t48, cpu->r[10]);
|
|
/* 02847A08 */ cpu->r[3] = cpu->r[26] + 0x00000004u;
|
|
/* 02847A0C */ _t49 = cpu->r[26] + 0x00000150u;
|
|
/* 02847A0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02847A10 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847A10 */ rbrew_write32(cpu->mem, _t50, cpu->r[28]);
|
|
/* 02847A14 */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 02847A14 */ rbrew_write32(cpu->mem, _t51, cpu->r[11]);
|
|
/* 02847A18 */ _t52 = cpu->r[1] + 0x00000028u;
|
|
/* 02847A18 */ rbrew_write32(cpu->mem, _t52, cpu->r[30]);
|
|
/* 02847A1C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02847A20 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02847A20 */ rbrew_write32(cpu->mem, _t53, cpu->r[27]);
|
|
/* 02847A24 */ Gambit_fn_02C22620(cpu);
|
|
/* 02847A28 */ _t54 = cpu->r[26] + 0x0000015Cu;
|
|
/* 02847A28 */ rbrew_write32(cpu->mem, _t54, cpu->r[28]);
|
|
/* 02847A2C */ _t55 = cpu->r[26] + 0x00000154u;
|
|
/* 02847A2C */ rbrew_write32(cpu->mem, _t55, cpu->r[25]);
|
|
L_02847A30: ; // 0x2847a30
|
|
/* 02847A30 */ /* nop */
|
|
/* 02847A34 */ _t56 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02847A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02847A38 */ cpu->lr = cpu->r[0];
|
|
/* 02847A3C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02847A40 */ return;
|
|
}
|
|
|
|
// fn_02847A44 @ 0x2847a44
|
|
void Gambit_fn_02847A44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02847A44: ; // 0x2847a44
|
|
/* 02847A44 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02847A44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847A44 */ cpu->r[1] = _t0;
|
|
/* 02847A48 */ /* nop */
|
|
/* 02847A4C */ cpu->r[0] = cpu->lr;
|
|
/* 02847A50 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02847A50 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02847A54 */ cpu->r[29] = cpu->r[6];
|
|
/* 02847A58 */ cpu->r[31] = cpu->r[3];
|
|
/* 02847A5C */ _t2 = cpu->r[31] + 0x00000170u;
|
|
/* 02847A5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02847A60 */ cpu->r[26] = cpu->r[4];
|
|
/* 02847A64 */ cpu->r[27] = cpu->r[5];
|
|
/* 02847A68 */ cpu->r[30] = cpu->r[7];
|
|
/* 02847A6C */ Gambit_fn_028487B8(cpu);
|
|
/* 02847A70 */ cpu->r[28] = cpu->r[3];
|
|
/* 02847A74 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02847A78 */ cpu->r[4] = cpu->r[28];
|
|
/* 02847A7C */ Gambit_fn_02C212E4(cpu);
|
|
/* 02847A80 */ cpu->r[5] = cpu->r[3];
|
|
/* 02847A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02847A84 */ _t3 = cpu->r[31] + 0x00000160u;
|
|
/* 02847A84 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02847A88 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847A88 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02847A88 */ if (_t5) goto L_02847A90; else goto L_02847A8C;
|
|
L_02847A8C: ; // 0x2847a8c
|
|
/* 02847A8C */ cpu->r[5] = cpu->r[5] + cpu->r[26];
|
|
L_02847A90: ; // 0x2847a90
|
|
/* 02847A90 */ cpu->r[8] = cpu->r[30];
|
|
/* 02847A94 */ cpu->r[7] = cpu->r[29];
|
|
/* 02847A98 */ cpu->r[6] = cpu->r[27];
|
|
/* 02847A9C */ cpu->r[4] = cpu->r[28];
|
|
/* 02847AA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847AA4 */ Gambit_fn_028478B0(cpu);
|
|
/* 02847AA8 */ /* nop */
|
|
/* 02847AAC */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02847AAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02847AB0 */ cpu->lr = cpu->r[0];
|
|
/* 02847AB4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02847AB8 */ return;
|
|
}
|
|
|
|
// fn_02847ABC @ 0x2847abc
|
|
void Gambit_fn_02847ABC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02847ABC: ; // 0x2847abc
|
|
/* 02847ABC */ cpu->r[0] = cpu->lr;
|
|
/* 02847AC0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02847AC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847AC0 */ cpu->r[1] = _t0;
|
|
/* 02847AC4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02847AC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02847AC8 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02847AC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02847ACC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847ACC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02847AD0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02847AD4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02847AD4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02847AD8 */ _t5 = cpu->r[30] + 0x00000170u;
|
|
/* 02847AD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02847ADC */ cpu->r[31] = cpu->r[4];
|
|
/* 02847AE0 */ Gambit_fn_028487B8(cpu);
|
|
/* 02847AE4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02847AE8 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 02847AEC */ cpu->r[4] = cpu->r[29];
|
|
/* 02847AF0 */ Gambit_fn_02C212E4(cpu);
|
|
/* 02847AF4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02847AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02847AF8 */ _t6 = cpu->r[30] + 0x00000160u;
|
|
/* 02847AF8 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]);
|
|
/* 02847AFC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847AFC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02847AFC */ if (_t8) goto L_02847B64; else goto L_02847B00;
|
|
L_02847B00: ; // 0x2847b00
|
|
/* 02847B00 */ cpu->r[12] = 0x10130000u;
|
|
/* 02847B04 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847B04 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02847B08 */ cpu->r[0] = 0x43300000u;
|
|
/* 02847B0C */ _t10 = cpu->r[12] + 0xFFFFF3C8u;
|
|
/* 02847B0C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 02847B10 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02847B10 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02847B14 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02847B14 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 02847B18 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 02847B1C */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 02847B20 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02847B20 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02847B24 */ cpu->r[12] = 0x10130000u;
|
|
/* 02847B28 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02847B2C */ _t14 = cpu->r[12] + 0xFFFFF3D0u;
|
|
/* 02847B2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02847B30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02847B34 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02847B34 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02847B34 */ if (_t16) goto L_02847B38; else goto L_02847B4C;
|
|
L_02847B38: ; // 0x2847b38
|
|
/* 02847B38 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 02847B3C */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02847B40 */ /* nop */
|
|
/* 02847B44 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02847B44 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02847B48 */ goto L_02847B64;
|
|
L_02847B4C: ; // 0x2847b4c
|
|
/* 02847B4C */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02847B50 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 02847B54 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02847B58 */ /* nop */
|
|
/* 02847B5C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02847B5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02847B60 */ cpu->r[5] = cpu->r[12] + 0x80000000u;
|
|
L_02847B64: ; // 0x2847b64
|
|
/* 02847B64 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 02847B64 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02847B68 */ cpu->r[4] = cpu->r[29];
|
|
/* 02847B6C */ _t20 = cpu->r[31] + 0x00000008u;
|
|
/* 02847B6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02847B70 */ cpu->r[3] = cpu->r[30];
|
|
/* 02847B74 */ _t21 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02847B74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02847B78 */ Gambit_fn_028478B0(cpu);
|
|
/* 02847B7C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02847B7C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02847B80 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02847B80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02847B84 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02847B84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02847B88 */ cpu->lr = cpu->r[0];
|
|
/* 02847B8C */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847B8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02847B90 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02847B94 */ return;
|
|
}
|
|
|
|
// fn_02847AC0 @ 0x2847ac0
|
|
void Gambit_fn_02847AC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02847AC0: ; // 0x2847ac0
|
|
/* 02847AC0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02847AC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847AC0 */ cpu->r[1] = _t0;
|
|
/* 02847AC4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02847AC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02847AC8 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02847AC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02847ACC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847ACC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02847AD0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02847AD4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02847AD4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02847AD8 */ _t5 = cpu->r[30] + 0x00000170u;
|
|
/* 02847AD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02847ADC */ cpu->r[31] = cpu->r[4];
|
|
/* 02847AE0 */ Gambit_fn_028487B8(cpu);
|
|
/* 02847AE4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02847AE8 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 02847AEC */ cpu->r[4] = cpu->r[29];
|
|
/* 02847AF0 */ Gambit_fn_02C212E4(cpu);
|
|
/* 02847AF4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02847AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02847AF8 */ _t6 = cpu->r[30] + 0x00000160u;
|
|
/* 02847AF8 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]);
|
|
/* 02847AFC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847AFC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02847AFC */ if (_t8) goto L_02847B64; else goto L_02847B00;
|
|
L_02847B00: ; // 0x2847b00
|
|
/* 02847B00 */ cpu->r[12] = 0x10130000u;
|
|
/* 02847B04 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847B04 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 02847B08 */ cpu->r[0] = 0x43300000u;
|
|
/* 02847B0C */ _t10 = cpu->r[12] + 0xFFFFF3C8u;
|
|
/* 02847B0C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 02847B10 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02847B10 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02847B14 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02847B14 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 02847B18 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 02847B1C */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 02847B20 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02847B20 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02847B24 */ cpu->r[12] = 0x10130000u;
|
|
/* 02847B28 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02847B2C */ _t14 = cpu->r[12] + 0xFFFFF3D0u;
|
|
/* 02847B2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02847B30 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02847B34 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02847B34 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02847B34 */ if (_t16) goto L_02847B38; else goto L_02847B4C;
|
|
L_02847B38: ; // 0x2847b38
|
|
/* 02847B38 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 02847B3C */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02847B40 */ /* nop */
|
|
/* 02847B44 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02847B44 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02847B48 */ goto L_02847B64;
|
|
L_02847B4C: ; // 0x2847b4c
|
|
/* 02847B4C */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02847B50 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 02847B54 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02847B58 */ /* nop */
|
|
/* 02847B5C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02847B5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02847B60 */ cpu->r[5] = cpu->r[12] + 0x80000000u;
|
|
L_02847B64: ; // 0x2847b64
|
|
/* 02847B64 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 02847B64 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02847B68 */ cpu->r[4] = cpu->r[29];
|
|
/* 02847B6C */ _t20 = cpu->r[31] + 0x00000008u;
|
|
/* 02847B6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02847B70 */ cpu->r[3] = cpu->r[30];
|
|
/* 02847B74 */ _t21 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02847B74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02847B78 */ Gambit_fn_028478B0(cpu);
|
|
/* 02847B7C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02847B7C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02847B80 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02847B80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02847B84 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02847B84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02847B88 */ cpu->lr = cpu->r[0];
|
|
/* 02847B8C */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847B8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02847B90 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02847B94 */ return;
|
|
}
|
|
|
|
// fn_02847B98 @ 0x2847b98
|
|
void Gambit_fn_02847B98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02847B98: ; // 0x2847b98
|
|
/* 02847B98 */ cpu->r[0] = cpu->lr;
|
|
/* 02847B9C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02847B9C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02847BA0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02847BA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02847BA0 */ cpu->r[1] = _t1;
|
|
/* 02847BA4 */ _t2 = cpu->r[3] + 0x00000170u;
|
|
/* 02847BA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02847BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847BAC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847BAC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02847BAC */ if (_t4) goto L_02847BB4; else goto L_02847BB0;
|
|
L_02847BB0: ; // 0x2847bb0
|
|
/* 02847BB0 */ Gambit_fn_02848C40(cpu);
|
|
L_02847BB4: ; // 0x2847bb4
|
|
/* 02847BB4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847BB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02847BB8 */ cpu->lr = cpu->r[0];
|
|
/* 02847BBC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02847BC0 */ return;
|
|
}
|
|
|
|
// fn_02847BA0 @ 0x2847ba0
|
|
void Gambit_fn_02847BA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02847BA0: ; // 0x2847ba0
|
|
/* 02847BA0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02847BA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847BA0 */ cpu->r[1] = _t0;
|
|
/* 02847BA4 */ _t1 = cpu->r[3] + 0x00000170u;
|
|
/* 02847BA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02847BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847BAC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847BAC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02847BAC */ if (_t3) goto L_02847BB4; else goto L_02847BB0;
|
|
L_02847BB0: ; // 0x2847bb0
|
|
/* 02847BB0 */ Gambit_fn_02848C40(cpu);
|
|
L_02847BB4: ; // 0x2847bb4
|
|
/* 02847BB4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847BB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02847BB8 */ cpu->lr = cpu->r[0];
|
|
/* 02847BBC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02847BC0 */ return;
|
|
}
|
|
|
|
// fn_02847BC4 @ 0x2847bc4
|
|
void Gambit_fn_02847BC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02847BC4: ; // 0x2847bc4
|
|
/* 02847BC4 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02847BC8 */ cpu->r[11] = 0x10130000u;
|
|
/* 02847BCC */ cpu->r[0] = 0x10130000u;
|
|
/* 02847BD0 */ cpu->r[12] = cpu->r[12] + 0x00006C98u;
|
|
/* 02847BD4 */ cpu->r[11] = cpu->r[11] + 0xFFFFF358u;
|
|
/* 02847BD8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF3D4u;
|
|
/* 02847BDC */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02847BDC */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 02847BE0 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 02847BE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02847BE4 */ return;
|
|
}
|
|
|
|
// fn_02847BE8 @ 0x2847be8
|
|
void Gambit_fn_02847BE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02847BE8: ; // 0x2847be8
|
|
/* 02847BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847BEC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847BEC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02847BEC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02847BEC */ goto L_02847BF0;
|
|
L_02847BF0: ; // 0x2847bf0
|
|
/* 02847BF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02847BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02847BF4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847BF4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02847BF4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02847BF4 */ goto L_02847BF8;
|
|
L_02847BF8: ; // 0x2847bf8
|
|
/* 02847BF8 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02847BFC @ 0x2847bfc
|
|
void Gambit_fn_02847BFC(CPUState* cpu) {
|
|
L_02847BFC: ; // 0x2847bfc
|
|
/* 02847BFC */ return;
|
|
}
|
|
|
|
// fn_02847C00 @ 0x2847c00
|
|
void Gambit_fn_02847C00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02847C00: ; // 0x2847c00
|
|
/* 02847C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847C04 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847C04 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02847C04 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02847C04 */ goto L_02847C08;
|
|
L_02847C08: ; // 0x2847c08
|
|
/* 02847C08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02847C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02847C0C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847C0C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02847C0C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02847C0C */ goto L_02847C10;
|
|
L_02847C10: ; // 0x2847c10
|
|
/* 02847C10 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02847C14 @ 0x2847c14
|
|
void Gambit_fn_02847C14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02847C14: ; // 0x2847c14
|
|
/* 02847C14 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02847C14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02847C18 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02847C18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02847C1C */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02847C20 */ cpu->r[11] = 0x10110000u;
|
|
/* 02847C24 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02847C24 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02847C28 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02847C28 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02847C2C */ return;
|
|
}
|
|
|
|
// fn_02847C30 @ 0x2847c30
|
|
void Gambit_fn_02847C30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02847C30: ; // 0x2847c30
|
|
/* 02847C30 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02847C34 */ _t0 = cpu->r[9] + 0xFFFFF9ECu;
|
|
/* 02847C34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02847C34 */ cpu->r[9] = _t0;
|
|
/* 02847C38 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02847C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02847C40 */ cpu->r[12] = cpu->r[12] + 0x000014C8u;
|
|
/* 02847C44 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847C44 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02847C44 */ if (_t2) goto L_02847C48; else goto L_02847C5C;
|
|
L_02847C48: ; // 0x2847c48
|
|
/* 02847C48 */ cpu->r[7] = 0x10130000u;
|
|
/* 02847C4C */ cpu->r[0] = 0x00000001u;
|
|
/* 02847C50 */ cpu->r[7] = cpu->r[7] + 0xFFFFF3A0u;
|
|
/* 02847C54 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02847C54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02847C58 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02847C58 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02847C5C: ; // 0x2847c5c
|
|
/* 02847C5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02847C60 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847C60 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02847C60 */ if (_t6) goto L_02847C64; else goto L_02847C6C;
|
|
L_02847C64: ; // 0x2847c64
|
|
/* 02847C64 */ cpu->r[3] = 0x00000001u;
|
|
/* 02847C68 */ return;
|
|
L_02847C6C: ; // 0x2847c6c
|
|
/* 02847C6C */ cpu->r[7] = 0x101D0000u;
|
|
/* 02847C70 */ _t7 = cpu->r[7] + 0xFFFFF9E8u;
|
|
/* 02847C70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02847C70 */ cpu->r[7] = _t7;
|
|
/* 02847C74 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02847C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02847C7C */ cpu->r[11] = cpu->r[11] + 0x000014CCu;
|
|
/* 02847C80 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847C80 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02847C80 */ if (_t9) goto L_02847C84; else goto L_02847C98;
|
|
L_02847C84: ; // 0x2847c84
|
|
/* 02847C84 */ cpu->r[0] = 0x10130000u;
|
|
/* 02847C88 */ cpu->r[9] = 0x00000001u;
|
|
/* 02847C8C */ cpu->r[0] = cpu->r[0] + 0xFFFFF380u;
|
|
/* 02847C90 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02847C90 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02847C94 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02847C94 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02847C98: ; // 0x2847c98
|
|
/* 02847C98 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02847C9C */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02847CA0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02847CA4 */ return;
|
|
}
|
|
|
|
// fn_02847CA8 @ 0x2847ca8
|
|
void Gambit_fn_02847CA8(CPUState* cpu) {
|
|
L_02847CA8: ; // 0x2847ca8
|
|
/* 02847CA8 */ return;
|
|
}
|
|
|
|
// fn_02847CAC @ 0x2847cac
|
|
void Gambit_fn_02847CAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02847CAC: ; // 0x2847cac
|
|
/* 02847CAC */ cpu->r[0] = cpu->lr;
|
|
/* 02847CB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02847CB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847CB0 */ cpu->r[1] = _t0;
|
|
/* 02847CB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847CB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02847CB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02847CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02847CBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02847CBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02847CC0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847CC0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02847CC0 */ if (_t4) goto L_02847CC4; else goto L_02847CD4;
|
|
L_02847CC4: ; // 0x2847cc4
|
|
/* 02847CC4 */ cpu->r[3] = 0x00000014u;
|
|
/* 02847CC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02847CCC */ cpu->r[31] = cpu->r[3];
|
|
/* 02847CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02847CD0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847CD0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02847CD0 */ if (_t6) goto L_02847D00; else goto L_02847CD4;
|
|
L_02847CD4: ; // 0x2847cd4
|
|
/* 02847CD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847CD8 */ Gambit_fn_028463F0(cpu);
|
|
/* 02847CDC */ cpu->r[12] = 0x10130000u;
|
|
/* 02847CE0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02847CE4 */ _t7 = cpu->r[12] + 0xFFFFF4A8u;
|
|
/* 02847CE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02847CE8 */ cpu->r[0] = 0x10130000u;
|
|
/* 02847CEC */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02847CEC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02847CF0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF4BCu;
|
|
/* 02847CF4 */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 02847CF4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02847CF8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02847CF8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02847CFC */ _t11 = cpu->r[31] + 0x00000008u;
|
|
/* 02847CFC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02847D00: ; // 0x2847d00
|
|
/* 02847D00 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02847D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02847D04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847D08 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847D08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02847D0C */ cpu->lr = cpu->r[0];
|
|
/* 02847D10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02847D14 */ return;
|
|
}
|
|
|
|
// fn_02847CB0 @ 0x2847cb0
|
|
void Gambit_fn_02847CB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02847CB0: ; // 0x2847cb0
|
|
/* 02847CB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02847CB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847CB0 */ cpu->r[1] = _t0;
|
|
/* 02847CB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847CB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02847CB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02847CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02847CBC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02847CBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02847CC0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847CC0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02847CC0 */ if (_t4) goto L_02847CC4; else goto L_02847CD4;
|
|
L_02847CC4: ; // 0x2847cc4
|
|
/* 02847CC4 */ cpu->r[3] = 0x00000014u;
|
|
/* 02847CC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02847CCC */ cpu->r[31] = cpu->r[3];
|
|
/* 02847CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02847CD0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847CD0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02847CD0 */ if (_t6) goto L_02847D00; else goto L_02847CD4;
|
|
L_02847CD4: ; // 0x2847cd4
|
|
/* 02847CD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847CD8 */ Gambit_fn_028463F0(cpu);
|
|
/* 02847CDC */ cpu->r[12] = 0x10130000u;
|
|
/* 02847CE0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02847CE4 */ _t7 = cpu->r[12] + 0xFFFFF4A8u;
|
|
/* 02847CE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02847CE8 */ cpu->r[0] = 0x10130000u;
|
|
/* 02847CEC */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02847CEC */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02847CF0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF4BCu;
|
|
/* 02847CF4 */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 02847CF4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02847CF8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02847CF8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02847CFC */ _t11 = cpu->r[31] + 0x00000008u;
|
|
/* 02847CFC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
L_02847D00: ; // 0x2847d00
|
|
/* 02847D00 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02847D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02847D04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847D08 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847D08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02847D0C */ cpu->lr = cpu->r[0];
|
|
/* 02847D10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02847D14 */ return;
|
|
}
|
|
|
|
// fn_02847D18 @ 0x2847d18
|
|
void Gambit_fn_02847D18(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02846438: ; // 0x2846438
|
|
/* 02846438 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02846438 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0284643C */ return;
|
|
L_02847D18: ; // 0x2847d18
|
|
/* 02847D18 */ goto L_02846438;
|
|
}
|
|
|
|
// fn_02847D1C @ 0x2847d1c
|
|
void Gambit_fn_02847D1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02847D1C: ; // 0x2847d1c
|
|
/* 02847D1C */ cpu->r[0] = cpu->lr;
|
|
/* 02847D20 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02847D20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847D20 */ cpu->r[1] = _t0;
|
|
/* 02847D24 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02847D24 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02847D28 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02847D28 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02847D2C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02847D30 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847D30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02847D34 */ _t4 = cpu->r[10] + 0xFFFFFA08u;
|
|
/* 02847D34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02847D34 */ cpu->r[10] = _t4;
|
|
/* 02847D38 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02847D3C */ cpu->r[30] = cpu->r[3];
|
|
/* 02847D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02847D44 */ cpu->r[31] = cpu->r[31] + 0xFFFFD000u;
|
|
/* 02847D48 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847D48 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02847D48 */ if (_t6) goto L_02847D4C; else goto L_02847D68;
|
|
L_02847D4C: ; // 0x2847d4c
|
|
/* 02847D4C */ cpu->r[11] = 0x00000001u;
|
|
/* 02847D50 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847D54 */ _t7 = cpu->r[10] + 0x00000000u;
|
|
/* 02847D54 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02847D58 */ Gambit_fn_02C26A54(cpu);
|
|
/* 02847D5C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02847D60 */ cpu->r[3] = cpu->r[3] + 0xFFFF99FCu;
|
|
/* 02847D64 */ Gambit_fn_02C83090(cpu);
|
|
L_02847D68: ; // 0x2847d68
|
|
/* 02847D68 */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02847D68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02847D6C */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 02847D6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02847D70 */ _t10 = cpu->r[31] + 0x00000024u;
|
|
/* 02847D70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02847D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 02847D78 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02847D78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02847D7C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02847D7C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02847D7C */ if (_t13) goto L_02847D80; else goto L_02847DCC;
|
|
L_02847D80: ; // 0x2847d80
|
|
/* 02847D80 */ cpu->r[12] = 0x43300000u;
|
|
/* 02847D84 */ cpu->r[8] = 0x10130000u;
|
|
/* 02847D88 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02847D88 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02847D8C */ cpu->r[0] = cpu->r[10] ^ 0x80000000u;
|
|
/* 02847D90 */ _t15 = cpu->r[8] + 0xFFFFF4B0u;
|
|
/* 02847D90 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02847D94 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847D94 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02847D98 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02847D98 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 02847D9C */ cpu->r[8] = cpu->r[9] ^ 0x80000000u;
|
|
/* 02847DA0 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 02847DA0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02847DA4 */ cpu->f[10] = cpu->f[9] - cpu->f[0];
|
|
/* 02847DA8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847DA8 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02847DAC */ cpu->f[9] = cpu->f[13] - cpu->f[11];
|
|
/* 02847DB0 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02847DB0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 02847DB4 */ cpu->f[10] = (double)(float)cpu->f[10];
|
|
/* 02847DB8 */ cpu->f[0] = cpu->f[12] - cpu->f[0];
|
|
/* 02847DBC */ cpu->f[13] = cpu->f[9] * cpu->f[10];
|
|
/* 02847DC0 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02847DC4 */ cpu->f[9] = cpu->f[13] / cpu->f[0];
|
|
/* 02847DC8 */ cpu->f[13] = cpu->f[11] + cpu->f[9];
|
|
L_02847DCC: ; // 0x2847dcc
|
|
/* 02847DCC */ cpu->r[12] = 0x10130000u;
|
|
/* 02847DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02847DD4 */ _t21 = cpu->r[12] + 0xFFFFF4B8u;
|
|
/* 02847DD4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02847DD8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847DD8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02847DD8 */ if (_t23) goto L_02847DDC; else goto L_02847E04;
|
|
L_02847DDC: ; // 0x2847ddc
|
|
/* 02847DDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]);
|
|
/* 02847DE0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847DE0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02847DE0 */ if (_t25) goto L_02847DE4; else goto L_02847E04;
|
|
L_02847DE4: ; // 0x2847de4
|
|
/* 02847DE4 */ cpu->r[0] = 0x00000002u;
|
|
/* 02847DE8 */ _t26 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02847DE8 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02847DEC */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847DEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02847DF0 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02847DF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02847DF4 */ cpu->lr = cpu->r[0];
|
|
/* 02847DF8 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02847DF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02847DFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02847E00 */ return;
|
|
L_02847E04: ; // 0x2847e04
|
|
/* 02847E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 02847E08 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847E08 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02847E08 */ if (_t31) goto L_02847EA4; else goto L_02847E0C;
|
|
L_02847E0C: ; // 0x2847e0c
|
|
/* 02847E0C */ _t32 = cpu->r[30] + 0x00000008u;
|
|
/* 02847E0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02847E10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02847E14 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847E14 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02847E14 */ if (_t34) goto L_02847E18; else goto L_02847EA4;
|
|
L_02847E18: ; // 0x2847e18
|
|
/* 02847E18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]);
|
|
/* 02847E1C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847E1C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02847E1C */ if (_t36) goto L_02847E20; else goto L_02847EA4;
|
|
L_02847E20: ; // 0x2847e20
|
|
/* 02847E20 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02847E24 */ _t37 = cpu->r[30] + 0x00000000u;
|
|
/* 02847E24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02847E28 */ _t38 = cpu->r[10] + 0xFFFFF9ECu;
|
|
/* 02847E28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02847E28 */ cpu->r[10] = _t38;
|
|
/* 02847E2C */ cpu->r[4] = 0x101D0000u;
|
|
/* 02847E30 */ _t39 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02847E30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02847E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02847E38 */ cpu->r[4] = cpu->r[4] + 0x000014C8u;
|
|
/* 02847E3C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847E3C */ _t41 = _t40 & 0x00000001u;
|
|
/* 02847E3C */ if (_t41) goto L_02847E40; else goto L_02847E54;
|
|
L_02847E40: ; // 0x2847e40
|
|
/* 02847E40 */ cpu->r[0] = 0x10130000u;
|
|
/* 02847E44 */ cpu->r[11] = 0x00000001u;
|
|
/* 02847E48 */ cpu->r[0] = cpu->r[0] + 0xFFFFF498u;
|
|
/* 02847E4C */ _t42 = cpu->r[10] + 0x00000000u;
|
|
/* 02847E4C */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
|
|
/* 02847E50 */ _t43 = cpu->r[4] + 0x00000000u;
|
|
/* 02847E50 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
L_02847E54: ; // 0x2847e54
|
|
/* 02847E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02847E58 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847E58 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02847E58 */ if (_t45) goto L_02847E90; else goto L_02847E5C;
|
|
L_02847E5C: ; // 0x2847e5c
|
|
/* 02847E5C */ _t46 = cpu->r[31] + 0x00000000u;
|
|
/* 02847E5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02847E60 */ _t47 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02847E60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02847E64 */ cpu->ctr = cpu->r[12];
|
|
/* 02847E68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847E6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02847E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847E74 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847E74 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02847E74 */ if (_t49) goto L_02847E90; else goto L_02847E78;
|
|
L_02847E78: ; // 0x2847e78
|
|
/* 02847E78 */ cpu->r[4] = 0x00000000u;
|
|
/* 02847E7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02847E80 */ Gambit_fn_028472DC(cpu);
|
|
/* 02847E84 */ cpu->r[10] = 0x00000002u;
|
|
/* 02847E88 */ _t50 = cpu->r[30] + 0x00000008u;
|
|
/* 02847E88 */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
|
|
/* 02847E8C */ goto L_02847EA4;
|
|
L_02847E90: ; // 0x2847e90
|
|
/* 02847E90 */ cpu->r[3] = 0x00000000u;
|
|
/* 02847E94 */ cpu->r[4] = cpu->r[3];
|
|
/* 02847E98 */ Gambit_fn_028472DC(cpu);
|
|
/* 02847E9C */ cpu->r[10] = 0x00000002u;
|
|
/* 02847EA0 */ _t51 = cpu->r[30] + 0x00000008u;
|
|
/* 02847EA0 */ rbrew_write32(cpu->mem, _t51, cpu->r[10]);
|
|
L_02847EA4: ; // 0x2847ea4
|
|
/* 02847EA4 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02847EA8 */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 02847EA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02847EAC */ cpu->lr = cpu->r[0];
|
|
/* 02847EB0 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02847EB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02847EB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02847EB8 */ return;
|
|
}
|
|
|
|
// fn_02847D20 @ 0x2847d20
|
|
void Gambit_fn_02847D20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02847D20: ; // 0x2847d20
|
|
/* 02847D20 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02847D20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847D20 */ cpu->r[1] = _t0;
|
|
/* 02847D24 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02847D24 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02847D28 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02847D28 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02847D2C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02847D30 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847D30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02847D34 */ _t4 = cpu->r[10] + 0xFFFFFA08u;
|
|
/* 02847D34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02847D34 */ cpu->r[10] = _t4;
|
|
/* 02847D38 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02847D3C */ cpu->r[30] = cpu->r[3];
|
|
/* 02847D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02847D44 */ cpu->r[31] = cpu->r[31] + 0xFFFFD000u;
|
|
/* 02847D48 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847D48 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02847D48 */ if (_t6) goto L_02847D4C; else goto L_02847D68;
|
|
L_02847D4C: ; // 0x2847d4c
|
|
/* 02847D4C */ cpu->r[11] = 0x00000001u;
|
|
/* 02847D50 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847D54 */ _t7 = cpu->r[10] + 0x00000000u;
|
|
/* 02847D54 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02847D58 */ Gambit_fn_02C26A54(cpu);
|
|
/* 02847D5C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02847D60 */ cpu->r[3] = cpu->r[3] + 0xFFFF99FCu;
|
|
/* 02847D64 */ Gambit_fn_02C83090(cpu);
|
|
L_02847D68: ; // 0x2847d68
|
|
/* 02847D68 */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02847D68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02847D6C */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 02847D6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02847D70 */ _t10 = cpu->r[31] + 0x00000024u;
|
|
/* 02847D70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02847D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 02847D78 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02847D78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02847D7C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02847D7C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02847D7C */ if (_t13) goto L_02847D80; else goto L_02847DCC;
|
|
L_02847D80: ; // 0x2847d80
|
|
/* 02847D80 */ cpu->r[12] = 0x43300000u;
|
|
/* 02847D84 */ cpu->r[8] = 0x10130000u;
|
|
/* 02847D88 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02847D88 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02847D8C */ cpu->r[0] = cpu->r[10] ^ 0x80000000u;
|
|
/* 02847D90 */ _t15 = cpu->r[8] + 0xFFFFF4B0u;
|
|
/* 02847D90 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02847D94 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847D94 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02847D98 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02847D98 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 02847D9C */ cpu->r[8] = cpu->r[9] ^ 0x80000000u;
|
|
/* 02847DA0 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 02847DA0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02847DA4 */ cpu->f[10] = cpu->f[9] - cpu->f[0];
|
|
/* 02847DA8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847DA8 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02847DAC */ cpu->f[9] = cpu->f[13] - cpu->f[11];
|
|
/* 02847DB0 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02847DB0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 02847DB4 */ cpu->f[10] = (double)(float)cpu->f[10];
|
|
/* 02847DB8 */ cpu->f[0] = cpu->f[12] - cpu->f[0];
|
|
/* 02847DBC */ cpu->f[13] = cpu->f[9] * cpu->f[10];
|
|
/* 02847DC0 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02847DC4 */ cpu->f[9] = cpu->f[13] / cpu->f[0];
|
|
/* 02847DC8 */ cpu->f[13] = cpu->f[11] + cpu->f[9];
|
|
L_02847DCC: ; // 0x2847dcc
|
|
/* 02847DCC */ cpu->r[12] = 0x10130000u;
|
|
/* 02847DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02847DD4 */ _t21 = cpu->r[12] + 0xFFFFF4B8u;
|
|
/* 02847DD4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02847DD8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847DD8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02847DD8 */ if (_t23) goto L_02847DDC; else goto L_02847E04;
|
|
L_02847DDC: ; // 0x2847ddc
|
|
/* 02847DDC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]);
|
|
/* 02847DE0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847DE0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02847DE0 */ if (_t25) goto L_02847DE4; else goto L_02847E04;
|
|
L_02847DE4: ; // 0x2847de4
|
|
/* 02847DE4 */ cpu->r[0] = 0x00000002u;
|
|
/* 02847DE8 */ _t26 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02847DE8 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02847DEC */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847DEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02847DF0 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02847DF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02847DF4 */ cpu->lr = cpu->r[0];
|
|
/* 02847DF8 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02847DF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02847DFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02847E00 */ return;
|
|
L_02847E04: ; // 0x2847e04
|
|
/* 02847E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 02847E08 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847E08 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02847E08 */ if (_t31) goto L_02847EA4; else goto L_02847E0C;
|
|
L_02847E0C: ; // 0x2847e0c
|
|
/* 02847E0C */ _t32 = cpu->r[30] + 0x00000008u;
|
|
/* 02847E0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02847E10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02847E14 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847E14 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02847E14 */ if (_t34) goto L_02847E18; else goto L_02847EA4;
|
|
L_02847E18: ; // 0x2847e18
|
|
/* 02847E18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[12]);
|
|
/* 02847E1C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847E1C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02847E1C */ if (_t36) goto L_02847E20; else goto L_02847EA4;
|
|
L_02847E20: ; // 0x2847e20
|
|
/* 02847E20 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02847E24 */ _t37 = cpu->r[30] + 0x00000000u;
|
|
/* 02847E24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02847E28 */ _t38 = cpu->r[10] + 0xFFFFF9ECu;
|
|
/* 02847E28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02847E28 */ cpu->r[10] = _t38;
|
|
/* 02847E2C */ cpu->r[4] = 0x101D0000u;
|
|
/* 02847E30 */ _t39 = cpu->r[8] + 0x0000001Cu;
|
|
/* 02847E30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02847E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02847E38 */ cpu->r[4] = cpu->r[4] + 0x000014C8u;
|
|
/* 02847E3C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847E3C */ _t41 = _t40 & 0x00000001u;
|
|
/* 02847E3C */ if (_t41) goto L_02847E40; else goto L_02847E54;
|
|
L_02847E40: ; // 0x2847e40
|
|
/* 02847E40 */ cpu->r[0] = 0x10130000u;
|
|
/* 02847E44 */ cpu->r[11] = 0x00000001u;
|
|
/* 02847E48 */ cpu->r[0] = cpu->r[0] + 0xFFFFF498u;
|
|
/* 02847E4C */ _t42 = cpu->r[10] + 0x00000000u;
|
|
/* 02847E4C */ rbrew_write32(cpu->mem, _t42, cpu->r[11]);
|
|
/* 02847E50 */ _t43 = cpu->r[4] + 0x00000000u;
|
|
/* 02847E50 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
L_02847E54: ; // 0x2847e54
|
|
/* 02847E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02847E58 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847E58 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02847E58 */ if (_t45) goto L_02847E90; else goto L_02847E5C;
|
|
L_02847E5C: ; // 0x2847e5c
|
|
/* 02847E5C */ _t46 = cpu->r[31] + 0x00000000u;
|
|
/* 02847E5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02847E60 */ _t47 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02847E60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02847E64 */ cpu->ctr = cpu->r[12];
|
|
/* 02847E68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847E6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02847E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847E74 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847E74 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02847E74 */ if (_t49) goto L_02847E90; else goto L_02847E78;
|
|
L_02847E78: ; // 0x2847e78
|
|
/* 02847E78 */ cpu->r[4] = 0x00000000u;
|
|
/* 02847E7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02847E80 */ Gambit_fn_028472DC(cpu);
|
|
/* 02847E84 */ cpu->r[10] = 0x00000002u;
|
|
/* 02847E88 */ _t50 = cpu->r[30] + 0x00000008u;
|
|
/* 02847E88 */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
|
|
/* 02847E8C */ goto L_02847EA4;
|
|
L_02847E90: ; // 0x2847e90
|
|
/* 02847E90 */ cpu->r[3] = 0x00000000u;
|
|
/* 02847E94 */ cpu->r[4] = cpu->r[3];
|
|
/* 02847E98 */ Gambit_fn_028472DC(cpu);
|
|
/* 02847E9C */ cpu->r[10] = 0x00000002u;
|
|
/* 02847EA0 */ _t51 = cpu->r[30] + 0x00000008u;
|
|
/* 02847EA0 */ rbrew_write32(cpu->mem, _t51, cpu->r[10]);
|
|
L_02847EA4: ; // 0x2847ea4
|
|
/* 02847EA4 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02847EA8 */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 02847EA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02847EAC */ cpu->lr = cpu->r[0];
|
|
/* 02847EB0 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02847EB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02847EB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02847EB8 */ return;
|
|
}
|
|
|
|
// fn_02847EBC @ 0x2847ebc
|
|
void Gambit_fn_02847EBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02847EBC: ; // 0x2847ebc
|
|
/* 02847EBC */ cpu->r[0] = cpu->lr;
|
|
/* 02847EC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02847EC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847EC0 */ cpu->r[1] = _t0;
|
|
/* 02847EC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847EC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02847EC8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02847EC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02847ECC */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02847ECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02847ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02847ED4 */ cpu->r[31] = 0x00000001u;
|
|
/* 02847ED8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847ED8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02847ED8 */ if (_t5) goto L_02847EDC; else goto L_02847EEC;
|
|
L_02847EDC: ; // 0x2847edc
|
|
/* 02847EDC */ Gambit_fn_02846440(cpu);
|
|
/* 02847EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847EE4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847EE4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02847EE4 */ if (_t7) goto L_02847EE8; else goto L_02847EEC;
|
|
L_02847EE8: ; // 0x2847ee8
|
|
/* 02847EE8 */ cpu->r[31] = 0x00000000u;
|
|
L_02847EEC: ; // 0x2847eec
|
|
/* 02847EEC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02847EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02847EF0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02847EF4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847EF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02847EF8 */ cpu->lr = cpu->r[0];
|
|
/* 02847EFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02847F00 */ return;
|
|
}
|
|
|
|
// fn_02847EC0 @ 0x2847ec0
|
|
void Gambit_fn_02847EC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02847EC0: ; // 0x2847ec0
|
|
/* 02847EC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02847EC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847EC0 */ cpu->r[1] = _t0;
|
|
/* 02847EC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847EC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02847EC8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02847EC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02847ECC */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02847ECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02847ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02847ED4 */ cpu->r[31] = 0x00000001u;
|
|
/* 02847ED8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847ED8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02847ED8 */ if (_t5) goto L_02847EDC; else goto L_02847EEC;
|
|
L_02847EDC: ; // 0x2847edc
|
|
/* 02847EDC */ Gambit_fn_02846440(cpu);
|
|
/* 02847EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847EE4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847EE4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02847EE4 */ if (_t7) goto L_02847EE8; else goto L_02847EEC;
|
|
L_02847EE8: ; // 0x2847ee8
|
|
/* 02847EE8 */ cpu->r[31] = 0x00000000u;
|
|
L_02847EEC: ; // 0x2847eec
|
|
/* 02847EEC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02847EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02847EF0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02847EF4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847EF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02847EF8 */ cpu->lr = cpu->r[0];
|
|
/* 02847EFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02847F00 */ return;
|
|
}
|
|
|
|
// fn_02847F04 @ 0x2847f04
|
|
void Gambit_fn_02847F04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02847F04: ; // 0x2847f04
|
|
/* 02847F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847F08 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847F08 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02847F08 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02847F08 */ goto L_02847F0C;
|
|
L_02847F0C: ; // 0x2847f0c
|
|
/* 02847F0C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02847F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02847F10 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847F10 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02847F10 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02847F10 */ goto L_02847F14;
|
|
L_02847F14: ; // 0x2847f14
|
|
/* 02847F14 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02847F18 @ 0x2847f18
|
|
void Gambit_fn_02847F18(CPUState* 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_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02847F18: ; // 0x2847f18
|
|
/* 02847F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847F1C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847F1C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02847F1C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02847F1C */ goto L_02847F20;
|
|
L_02847F20: ; // 0x2847f20
|
|
/* 02847F20 */ cpu->r[12] = 0x00000000u;
|
|
/* 02847F24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02847F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02847F28 */ _t18 = cpu->r[3] + 0x0000023Cu;
|
|
/* 02847F28 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
/* 02847F2C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847F2C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02847F2C */ if (_t20) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02847F2C */ goto L_02847F30;
|
|
L_02847F30: ; // 0x2847f30
|
|
/* 02847F30 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02847F34 @ 0x2847f34
|
|
void Gambit_fn_02847F34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02847F34: ; // 0x2847f34
|
|
/* 02847F34 */ cpu->r[0] = cpu->lr;
|
|
/* 02847F38 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02847F38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847F38 */ cpu->r[1] = _t0;
|
|
/* 02847F3C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847F3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02847F40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02847F44 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02847F48 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02847F48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02847F4C */ Gambit_fn_02C1C008(cpu);
|
|
/* 02847F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847F54 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847F54 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02847F54 */ if (_t4) goto L_02847F60; else goto L_02847F58;
|
|
L_02847F58: ; // 0x2847f58
|
|
/* 02847F58 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02847F5C */ Gambit_fn_02C1F5DC(cpu);
|
|
L_02847F60: ; // 0x2847f60
|
|
/* 02847F60 */ cpu->r[0] = 0x00000000u;
|
|
/* 02847F64 */ _t5 = cpu->r[31] + 0x00000654u;
|
|
/* 02847F64 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02847F68 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02847F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02847F6C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847F6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02847F70 */ cpu->lr = cpu->r[0];
|
|
/* 02847F74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02847F78 */ return;
|
|
}
|
|
|
|
// fn_02847F38 @ 0x2847f38
|
|
void Gambit_fn_02847F38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02847F38: ; // 0x2847f38
|
|
/* 02847F38 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02847F38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847F38 */ cpu->r[1] = _t0;
|
|
/* 02847F3C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847F3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02847F40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02847F44 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02847F48 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02847F48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02847F4C */ Gambit_fn_02C1C008(cpu);
|
|
/* 02847F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847F54 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847F54 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02847F54 */ if (_t4) goto L_02847F60; else goto L_02847F58;
|
|
L_02847F58: ; // 0x2847f58
|
|
/* 02847F58 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02847F5C */ Gambit_fn_02C1F5DC(cpu);
|
|
L_02847F60: ; // 0x2847f60
|
|
/* 02847F60 */ cpu->r[0] = 0x00000000u;
|
|
/* 02847F64 */ _t5 = cpu->r[31] + 0x00000654u;
|
|
/* 02847F64 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02847F68 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02847F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02847F6C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847F6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02847F70 */ cpu->lr = cpu->r[0];
|
|
/* 02847F74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02847F78 */ return;
|
|
}
|
|
|
|
// fn_02847F7C @ 0x2847f7c
|
|
void Gambit_fn_02847F7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02847F7C: ; // 0x2847f7c
|
|
/* 02847F7C */ cpu->r[0] = cpu->lr;
|
|
/* 02847F80 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02847F80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847F80 */ cpu->r[1] = _t0;
|
|
/* 02847F84 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02847F84 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02847F88 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847F88 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02847F8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02847F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02847F90 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02847F90 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02847F94 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847F94 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02847F98 */ cpu->r[29] = cpu->r[4];
|
|
/* 02847F9C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847F9C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02847F9C */ if (_t6) goto L_0284801C; else goto L_02847FA0;
|
|
L_02847FA0: ; // 0x2847fa0
|
|
/* 02847FA0 */ cpu->r[11] = 0x10130000u;
|
|
/* 02847FA4 */ cpu->r[0] = 0x10130000u;
|
|
/* 02847FA8 */ cpu->r[11] = cpu->r[11] + 0xFFFFF5D8u;
|
|
/* 02847FAC */ cpu->r[0] = cpu->r[0] + 0xFFFFF608u;
|
|
/* 02847FB0 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02847FB0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02847FB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847FB8 */ _t8 = cpu->r[31] + 0x000002D4u;
|
|
/* 02847FB8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02847FBC */ Gambit_fn_02847F34(cpu);
|
|
/* 02847FC0 */ _t9 = cpu->r[31] + 0x00000650u;
|
|
/* 02847FC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02847FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847FC8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02847FCC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847FCC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02847FCC */ if (_t11) goto L_02847FD8; else goto L_02847FD0;
|
|
L_02847FD0: ; // 0x2847fd0
|
|
/* 02847FD0 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02847FD4 */ _t12 = cpu->r[31] + 0x00000650u;
|
|
/* 02847FD4 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02847FD8: ; // 0x2847fd8
|
|
/* 02847FD8 */ _t13 = cpu->r[31] + 0x0000063Cu;
|
|
/* 02847FD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02847FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847FE0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847FE0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02847FE0 */ if (_t15) goto L_02847FEC; else goto L_02847FE4;
|
|
L_02847FE4: ; // 0x2847fe4
|
|
/* 02847FE4 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02847FE8 */ _t16 = cpu->r[31] + 0x0000063Cu;
|
|
/* 02847FE8 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
L_02847FEC: ; // 0x2847fec
|
|
/* 02847FEC */ _t17 = cpu->r[31] + 0x00000640u;
|
|
/* 02847FEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02847FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847FF4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847FF4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02847FF4 */ if (_t19) goto L_02848000; else goto L_02847FF8;
|
|
L_02847FF8: ; // 0x2847ff8
|
|
/* 02847FF8 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02847FFC */ _t20 = cpu->r[31] + 0x00000640u;
|
|
/* 02847FFC */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_02848000: ; // 0x2848000
|
|
/* 02848000 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02848004 */ cpu->r[4] = 0x00000000u;
|
|
/* 02848008 */ Gambit_fn_02C1F64C(cpu);
|
|
/* 0284800C */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284800C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02848010 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848010 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02848010 */ if (_t22) goto L_0284801C; else goto L_02848014;
|
|
L_02848014: ; // 0x2848014
|
|
/* 02848014 */ cpu->r[3] = cpu->r[31];
|
|
/* 02848018 */ Gambit_fn_02801BB0(cpu);
|
|
L_0284801C: ; // 0x284801c
|
|
/* 0284801C */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284801C */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02848020 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02848024 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02848024 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02848028 */ cpu->lr = cpu->r[0];
|
|
/* 0284802C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0284802C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02848030 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02848034 */ return;
|
|
}
|
|
|
|
// fn_02847F80 @ 0x2847f80
|
|
void Gambit_fn_02847F80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02847F80: ; // 0x2847f80
|
|
/* 02847F80 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02847F80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02847F80 */ cpu->r[1] = _t0;
|
|
/* 02847F84 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02847F84 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02847F88 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847F88 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02847F8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02847F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02847F90 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02847F90 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02847F94 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02847F94 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02847F98 */ cpu->r[29] = cpu->r[4];
|
|
/* 02847F9C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847F9C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02847F9C */ if (_t6) goto L_0284801C; else goto L_02847FA0;
|
|
L_02847FA0: ; // 0x2847fa0
|
|
/* 02847FA0 */ cpu->r[11] = 0x10130000u;
|
|
/* 02847FA4 */ cpu->r[0] = 0x10130000u;
|
|
/* 02847FA8 */ cpu->r[11] = cpu->r[11] + 0xFFFFF5D8u;
|
|
/* 02847FAC */ cpu->r[0] = cpu->r[0] + 0xFFFFF608u;
|
|
/* 02847FB0 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02847FB0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02847FB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02847FB8 */ _t8 = cpu->r[31] + 0x000002D4u;
|
|
/* 02847FB8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02847FBC */ Gambit_fn_02847F34(cpu);
|
|
/* 02847FC0 */ _t9 = cpu->r[31] + 0x00000650u;
|
|
/* 02847FC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02847FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847FC8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02847FCC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847FCC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02847FCC */ if (_t11) goto L_02847FD8; else goto L_02847FD0;
|
|
L_02847FD0: ; // 0x2847fd0
|
|
/* 02847FD0 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02847FD4 */ _t12 = cpu->r[31] + 0x00000650u;
|
|
/* 02847FD4 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02847FD8: ; // 0x2847fd8
|
|
/* 02847FD8 */ _t13 = cpu->r[31] + 0x0000063Cu;
|
|
/* 02847FD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02847FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847FE0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847FE0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02847FE0 */ if (_t15) goto L_02847FEC; else goto L_02847FE4;
|
|
L_02847FE4: ; // 0x2847fe4
|
|
/* 02847FE4 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02847FE8 */ _t16 = cpu->r[31] + 0x0000063Cu;
|
|
/* 02847FE8 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
L_02847FEC: ; // 0x2847fec
|
|
/* 02847FEC */ _t17 = cpu->r[31] + 0x00000640u;
|
|
/* 02847FEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02847FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847FF4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847FF4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02847FF4 */ if (_t19) goto L_02848000; else goto L_02847FF8;
|
|
L_02847FF8: ; // 0x2847ff8
|
|
/* 02847FF8 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02847FFC */ _t20 = cpu->r[31] + 0x00000640u;
|
|
/* 02847FFC */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_02848000: ; // 0x2848000
|
|
/* 02848000 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02848004 */ cpu->r[4] = 0x00000000u;
|
|
/* 02848008 */ Gambit_fn_02C1F64C(cpu);
|
|
/* 0284800C */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284800C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02848010 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848010 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02848010 */ if (_t22) goto L_0284801C; else goto L_02848014;
|
|
L_02848014: ; // 0x2848014
|
|
/* 02848014 */ cpu->r[3] = cpu->r[31];
|
|
/* 02848018 */ Gambit_fn_02801BB0(cpu);
|
|
L_0284801C: ; // 0x284801c
|
|
/* 0284801C */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284801C */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02848020 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02848024 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02848024 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02848028 */ cpu->lr = cpu->r[0];
|
|
/* 0284802C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0284802C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02848030 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02848034 */ return;
|
|
}
|
|
|
|
// fn_02848038 @ 0x2848038
|
|
void Gambit_fn_02848038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02848038: ; // 0x2848038
|
|
/* 02848038 */ cpu->r[0] = cpu->lr;
|
|
/* 0284803C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284803C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284803C */ cpu->r[1] = _t0;
|
|
/* 02848040 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848040 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02848044 */ cpu->r[31] = cpu->r[3];
|
|
/* 02848048 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 0284804C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284804C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02848050 */ Gambit_fn_02C1C008(cpu);
|
|
/* 02848054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848058 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848058 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02848058 */ if (_t4) goto L_02848064; else goto L_0284805C;
|
|
L_0284805C: ; // 0x284805c
|
|
/* 0284805C */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02848060 */ Gambit_fn_02C209A0(cpu);
|
|
L_02848064: ; // 0x2848064
|
|
/* 02848064 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02848064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02848068 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848068 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284806C */ cpu->lr = cpu->r[0];
|
|
/* 02848070 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02848074 */ return;
|
|
}
|
|
|
|
// fn_0284803C @ 0x284803c
|
|
void Gambit_fn_0284803C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284803C: ; // 0x284803c
|
|
/* 0284803C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284803C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284803C */ cpu->r[1] = _t0;
|
|
/* 02848040 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848040 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02848044 */ cpu->r[31] = cpu->r[3];
|
|
/* 02848048 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 0284804C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284804C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02848050 */ Gambit_fn_02C1C008(cpu);
|
|
/* 02848054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848058 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848058 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02848058 */ if (_t4) goto L_02848064; else goto L_0284805C;
|
|
L_0284805C: ; // 0x284805c
|
|
/* 0284805C */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02848060 */ Gambit_fn_02C209A0(cpu);
|
|
L_02848064: ; // 0x2848064
|
|
/* 02848064 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02848064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02848068 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848068 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284806C */ cpu->lr = cpu->r[0];
|
|
/* 02848070 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02848074 */ return;
|
|
}
|
|
|
|
// fn_02848078 @ 0x2848078
|
|
void Gambit_fn_02848078(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02848078: ; // 0x2848078
|
|
/* 02848078 */ cpu->r[0] = cpu->lr;
|
|
/* 0284807C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284807C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284807C */ cpu->r[1] = _t0;
|
|
/* 02848080 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848080 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02848084 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02848084 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02848088 */ cpu->r[30] = cpu->r[3];
|
|
/* 02848088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284808C */ cpu->r[31] = cpu->r[4];
|
|
/* 02848090 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02848090 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02848094 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848094 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02848094 */ if (_t5) goto L_028480D4; else goto L_02848098;
|
|
L_02848098: ; // 0x2848098
|
|
/* 02848098 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284809C */ cpu->r[12] = 0x10130000u;
|
|
/* 028480A0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF658u;
|
|
/* 028480A4 */ cpu->r[12] = cpu->r[12] + 0xFFFFF688u;
|
|
/* 028480A8 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 028480A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028480AC */ cpu->r[3] = cpu->r[30];
|
|
/* 028480B0 */ _t7 = cpu->r[30] + 0x000002D4u;
|
|
/* 028480B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 028480B4 */ Gambit_fn_02848038(cpu);
|
|
/* 028480B8 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 028480BC */ cpu->r[4] = 0x00000000u;
|
|
/* 028480C0 */ Gambit_fn_02C208CC(cpu);
|
|
/* 028480C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028480C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028480C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028480C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028480C8 */ if (_t9) goto L_028480D4; else goto L_028480CC;
|
|
L_028480CC: ; // 0x28480cc
|
|
/* 028480CC */ cpu->r[3] = cpu->r[30];
|
|
/* 028480D0 */ Gambit_fn_02801BB0(cpu);
|
|
L_028480D4: ; // 0x28480d4
|
|
/* 028480D4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 028480D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028480D8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 028480D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028480DC */ cpu->lr = cpu->r[0];
|
|
/* 028480E0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028480E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028480E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028480E8 */ return;
|
|
}
|
|
|
|
// fn_0284807C @ 0x284807c
|
|
void Gambit_fn_0284807C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0284807C: ; // 0x284807c
|
|
/* 0284807C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284807C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284807C */ cpu->r[1] = _t0;
|
|
/* 02848080 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848080 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02848084 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02848084 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02848088 */ cpu->r[30] = cpu->r[3];
|
|
/* 02848088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284808C */ cpu->r[31] = cpu->r[4];
|
|
/* 02848090 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02848090 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02848094 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848094 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02848094 */ if (_t5) goto L_028480D4; else goto L_02848098;
|
|
L_02848098: ; // 0x2848098
|
|
/* 02848098 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284809C */ cpu->r[12] = 0x10130000u;
|
|
/* 028480A0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF658u;
|
|
/* 028480A4 */ cpu->r[12] = cpu->r[12] + 0xFFFFF688u;
|
|
/* 028480A8 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 028480A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028480AC */ cpu->r[3] = cpu->r[30];
|
|
/* 028480B0 */ _t7 = cpu->r[30] + 0x000002D4u;
|
|
/* 028480B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 028480B4 */ Gambit_fn_02848038(cpu);
|
|
/* 028480B8 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 028480BC */ cpu->r[4] = 0x00000000u;
|
|
/* 028480C0 */ Gambit_fn_02C208CC(cpu);
|
|
/* 028480C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028480C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028480C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028480C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028480C8 */ if (_t9) goto L_028480D4; else goto L_028480CC;
|
|
L_028480CC: ; // 0x28480cc
|
|
/* 028480CC */ cpu->r[3] = cpu->r[30];
|
|
/* 028480D0 */ Gambit_fn_02801BB0(cpu);
|
|
L_028480D4: ; // 0x28480d4
|
|
/* 028480D4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 028480D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028480D8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 028480D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028480DC */ cpu->lr = cpu->r[0];
|
|
/* 028480E0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028480E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028480E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028480E8 */ return;
|
|
}
|
|
|
|
// fn_028480EC @ 0x28480ec
|
|
void Gambit_fn_028480EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028480EC: ; // 0x28480ec
|
|
/* 028480EC */ cpu->r[0] = cpu->lr;
|
|
/* 028480F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028480F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028480F0 */ cpu->r[1] = _t0;
|
|
/* 028480F4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028480F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028480F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028480F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 028480FC */ cpu->r[31] = cpu->r[3];
|
|
/* 028480FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02848100 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02848100 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02848104 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848104 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02848108 */ cpu->r[29] = cpu->r[4];
|
|
/* 0284810C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284810C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284810C */ if (_t6) goto L_02848198; else goto L_02848110;
|
|
L_02848110: ; // 0x2848110
|
|
/* 02848110 */ cpu->r[0] = 0x10130000u;
|
|
/* 02848114 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02848114 */ cpu->r[11] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02848118 */ cpu->r[0] = cpu->r[0] + 0xFFFFF6D8u;
|
|
/* 0284811C */ cpu->r[10] = 0x10130000u;
|
|
/* 02848120 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02848120 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02848124 */ cpu->r[10] = cpu->r[10] + 0xFFFFF708u;
|
|
/* 02848128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284812C */ cpu->r[30] = 0x00000000u;
|
|
/* 02848130 */ _t9 = cpu->r[31] + 0x00000214u;
|
|
/* 02848130 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02848134 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848134 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02848134 */ if (_t11) goto L_02848144; else goto L_02848138;
|
|
L_02848138: ; // 0x2848138
|
|
/* 02848138 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284813C */ Gambit_fn_02C1EE68(cpu);
|
|
/* 02848140 */ _t12 = cpu->r[31] + 0x00000230u;
|
|
/* 02848140 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[30]);
|
|
L_02848144: ; // 0x2848144
|
|
/* 02848144 */ _t13 = cpu->r[31] + 0x00000220u;
|
|
/* 02848144 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02848148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284814C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284814C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284814C */ if (_t15) goto L_02848168; else goto L_02848150;
|
|
L_02848150: ; // 0x2848150
|
|
/* 02848150 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02848150 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02848154 */ _t17 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02848154 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02848158 */ cpu->ctr = cpu->r[12];
|
|
/* 0284815C */ cpu->r[4] = 0x00000003u;
|
|
/* 02848160 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848164 */ _t18 = cpu->r[31] + 0x00000220u;
|
|
/* 02848164 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
L_02848168: ; // 0x2848168
|
|
/* 02848168 */ _t19 = cpu->r[31] + 0x00000224u;
|
|
/* 02848168 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284816C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848170 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848170 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02848170 */ if (_t21) goto L_0284817C; else goto L_02848174;
|
|
L_02848174: ; // 0x2848174
|
|
/* 02848174 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02848178 */ _t22 = cpu->r[31] + 0x00000224u;
|
|
/* 02848178 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
L_0284817C: ; // 0x284817c
|
|
/* 0284817C */ cpu->r[3] = cpu->r[31];
|
|
/* 02848180 */ cpu->r[4] = 0x00000000u;
|
|
/* 02848184 */ Gambit_fn_02C1BC00(cpu);
|
|
/* 02848188 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02848188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284818C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284818C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0284818C */ if (_t24) goto L_02848198; else goto L_02848190;
|
|
L_02848190: ; // 0x2848190
|
|
/* 02848190 */ cpu->r[3] = cpu->r[31];
|
|
/* 02848194 */ Gambit_fn_02801BB0(cpu);
|
|
L_02848198: ; // 0x2848198
|
|
/* 02848198 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848198 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284819C */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284819C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028481A0 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 028481A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 028481A4 */ cpu->lr = cpu->r[0];
|
|
/* 028481A8 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 028481A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028481AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028481B0 */ return;
|
|
}
|
|
|
|
// fn_028480F0 @ 0x28480f0
|
|
void Gambit_fn_028480F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028480F0: ; // 0x28480f0
|
|
/* 028480F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028480F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028480F0 */ cpu->r[1] = _t0;
|
|
/* 028480F4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028480F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028480F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028480F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 028480FC */ cpu->r[31] = cpu->r[3];
|
|
/* 028480FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02848100 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02848100 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02848104 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848104 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02848108 */ cpu->r[29] = cpu->r[4];
|
|
/* 0284810C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284810C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284810C */ if (_t6) goto L_02848198; else goto L_02848110;
|
|
L_02848110: ; // 0x2848110
|
|
/* 02848110 */ cpu->r[0] = 0x10130000u;
|
|
/* 02848114 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02848114 */ cpu->r[11] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02848118 */ cpu->r[0] = cpu->r[0] + 0xFFFFF6D8u;
|
|
/* 0284811C */ cpu->r[10] = 0x10130000u;
|
|
/* 02848120 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02848120 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02848124 */ cpu->r[10] = cpu->r[10] + 0xFFFFF708u;
|
|
/* 02848128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284812C */ cpu->r[30] = 0x00000000u;
|
|
/* 02848130 */ _t9 = cpu->r[31] + 0x00000214u;
|
|
/* 02848130 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02848134 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848134 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02848134 */ if (_t11) goto L_02848144; else goto L_02848138;
|
|
L_02848138: ; // 0x2848138
|
|
/* 02848138 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284813C */ Gambit_fn_02C1EE68(cpu);
|
|
/* 02848140 */ _t12 = cpu->r[31] + 0x00000230u;
|
|
/* 02848140 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[30]);
|
|
L_02848144: ; // 0x2848144
|
|
/* 02848144 */ _t13 = cpu->r[31] + 0x00000220u;
|
|
/* 02848144 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02848148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284814C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284814C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284814C */ if (_t15) goto L_02848168; else goto L_02848150;
|
|
L_02848150: ; // 0x2848150
|
|
/* 02848150 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02848150 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02848154 */ _t17 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02848154 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02848158 */ cpu->ctr = cpu->r[12];
|
|
/* 0284815C */ cpu->r[4] = 0x00000003u;
|
|
/* 02848160 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848164 */ _t18 = cpu->r[31] + 0x00000220u;
|
|
/* 02848164 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
L_02848168: ; // 0x2848168
|
|
/* 02848168 */ _t19 = cpu->r[31] + 0x00000224u;
|
|
/* 02848168 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284816C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848170 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848170 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02848170 */ if (_t21) goto L_0284817C; else goto L_02848174;
|
|
L_02848174: ; // 0x2848174
|
|
/* 02848174 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02848178 */ _t22 = cpu->r[31] + 0x00000224u;
|
|
/* 02848178 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
L_0284817C: ; // 0x284817c
|
|
/* 0284817C */ cpu->r[3] = cpu->r[31];
|
|
/* 02848180 */ cpu->r[4] = 0x00000000u;
|
|
/* 02848184 */ Gambit_fn_02C1BC00(cpu);
|
|
/* 02848188 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02848188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284818C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284818C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0284818C */ if (_t24) goto L_02848198; else goto L_02848190;
|
|
L_02848190: ; // 0x2848190
|
|
/* 02848190 */ cpu->r[3] = cpu->r[31];
|
|
/* 02848194 */ Gambit_fn_02801BB0(cpu);
|
|
L_02848198: ; // 0x2848198
|
|
/* 02848198 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848198 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284819C */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284819C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028481A0 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 028481A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 028481A4 */ cpu->lr = cpu->r[0];
|
|
/* 028481A8 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 028481A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028481AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028481B0 */ return;
|
|
}
|
|
|
|
// fn_028481B4 @ 0x28481b4
|
|
void Gambit_fn_028481B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_028481B4: ; // 0x28481b4
|
|
/* 028481B4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF4u;
|
|
/* 028481B8 */ goto L_02C1BC60;
|
|
L_02C1BC60: ; // 0x2c1bc60
|
|
/* 02C1BC60 */ _t0 = cpu->r[3] + 0x00000218u;
|
|
/* 02C1BC60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C1BC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C1BC68 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C1BC68 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C1BC68 */ if (_t2) goto L_02C1BC6C; else goto L_02C1BC74;
|
|
L_02C1BC6C: ; // 0x2c1bc6c
|
|
/* 02C1BC6C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C1BC70 */ return;
|
|
L_02C1BC74: ; // 0x2c1bc74
|
|
/* 02C1BC74 */ cpu->r[12] = cpu->r[11] + 0x00000004u;
|
|
/* 02C1BC78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C1BC7C */ _t3 = cpu->r[12] + cpu->r[0];
|
|
/* 02C1BC7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C1BC80 */ _t4 = cpu->r[12] + cpu->r[0];
|
|
/* 02C1BC80 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02C1BC84 */ return;
|
|
}
|
|
|
|
// fn_028481BC @ 0x28481bc
|
|
void Gambit_fn_028481BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_028481BC: ; // 0x28481bc
|
|
/* 028481BC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF4u;
|
|
/* 028481C0 */ goto L_02C1BCE4;
|
|
L_02C1BCE4: ; // 0x2c1bce4
|
|
/* 02C1BCE4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C1BCE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C1BCE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C1BCE8 */ cpu->r[1] = _t0;
|
|
/* 02C1BCEC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C1BCEC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C1BCF0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C1BCF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C1BCF4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C1BCF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C1BCF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C1BCFC */ _t4 = cpu->r[30] + 0x0000021Cu;
|
|
/* 02C1BCFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C1BD00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C1BD04 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C1BD08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C1BD08 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C1BD08 */ if (_t6) goto L_02C1BD28; else goto L_02C1BD0C;
|
|
L_02C1BD0C: ; // 0x2c1bd0c
|
|
/* 02C1BD0C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C1BD0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C1BD10 */ _t8 = cpu->r[12] + 0x00000014u;
|
|
/* 02C1BD10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C1BD14 */ cpu->ctr = cpu->r[10];
|
|
/* 02C1BD18 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C1BD1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C1BD20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C1BD24 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C1BD24 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C1BD24 */ if (_t10) goto L_02C1BD28; else goto L_02C1BD54;
|
|
L_02C1BD28: ; // 0x2c1bd28
|
|
/* 02C1BD28 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C1BD2C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C1BD30 */ Gambit_fn_02C1BCC0(cpu);
|
|
/* 02C1BD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C1BD38 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C1BD38 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C1BD38 */ if (_t12) goto L_02C1BD3C; else goto L_02C1BD54;
|
|
L_02C1BD3C: ; // 0x2c1bd3c
|
|
/* 02C1BD3C */ _t13 = cpu->r[30] + 0x00000008u;
|
|
/* 02C1BD3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C1BD40 */ _t14 = cpu->r[9] + 0x00000024u;
|
|
/* 02C1BD40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C1BD44 */ cpu->ctr = cpu->r[0];
|
|
/* 02C1BD48 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C1BD4C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C1BD50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C1BD54: ; // 0x2c1bd54
|
|
/* 02C1BD54 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C1BD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C1BD58 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C1BD58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C1BD5C */ cpu->lr = cpu->r[0];
|
|
/* 02C1BD60 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C1BD60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C1BD64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C1BD68 */ return;
|
|
}
|
|
|
|
// fn_028481C4 @ 0x28481c4
|
|
void Gambit_fn_028481C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_028481C4: ; // 0x28481c4
|
|
/* 028481C4 */ cpu->r[0] = cpu->lr;
|
|
/* 028481C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028481C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028481C8 */ cpu->r[1] = _t0;
|
|
/* 028481CC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 028481CC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028481D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028481D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028481D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028481D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028481D8 */ cpu->r[30] = cpu->r[4];
|
|
/* 028481DC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028481DC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028481E0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028481E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028481E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028481E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028481E4 */ if (_t6) goto L_028481E8; else goto L_028481F8;
|
|
L_028481E8: ; // 0x28481e8
|
|
/* 028481E8 */ cpu->r[3] = 0x00000658u;
|
|
/* 028481EC */ Gambit_fn_02801A78(cpu);
|
|
/* 028481F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028481F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028481F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028481F4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028481F4 */ if (_t8) goto L_02848254; else goto L_028481F8;
|
|
L_028481F8: ; // 0x28481f8
|
|
/* 028481F8 */ cpu->r[0] = 0x10130000u;
|
|
/* 028481FC */ cpu->r[29] = 0x00000000u;
|
|
/* 02848200 */ cpu->r[0] = cpu->r[0] + 0xFFFFF554u;
|
|
/* 02848204 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02848204 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 02848208 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 0284820C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0284820C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02848210 */ Gambit_fn_02C1F3E4(cpu);
|
|
/* 02848214 */ cpu->r[11] = 0x10130000u;
|
|
/* 02848218 */ _t11 = cpu->r[31] + 0x0000063Cu;
|
|
/* 02848218 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0284821C */ cpu->r[11] = cpu->r[11] + 0xFFFFF5D8u;
|
|
/* 02848220 */ _t12 = cpu->r[31] + 0x00000638u;
|
|
/* 02848220 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02848224 */ cpu->r[12] = 0x10130000u;
|
|
/* 02848228 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02848228 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0284822C */ cpu->r[12] = cpu->r[12] + 0xFFFFF608u;
|
|
/* 02848230 */ _t14 = cpu->r[31] + 0x00000640u;
|
|
/* 02848230 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 02848234 */ _t15 = cpu->r[31] + 0x000002D4u;
|
|
/* 02848234 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02848238 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0284823C */ _t16 = cpu->r[31] + 0x00000644u;
|
|
/* 0284823C */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[29]);
|
|
/* 02848240 */ _t17 = cpu->r[12] + 0xFFFF9A08u;
|
|
/* 02848240 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02848244 */ _t18 = cpu->r[31] + 0x00000654u;
|
|
/* 02848244 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 02848248 */ _t19 = cpu->r[31] + 0x00000648u;
|
|
/* 02848248 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 0284824C */ _t20 = cpu->r[31] + 0x0000064Cu;
|
|
/* 0284824C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[29]);
|
|
/* 02848250 */ _t21 = cpu->r[31] + 0x00000650u;
|
|
/* 02848250 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
L_02848254: ; // 0x2848254
|
|
/* 02848254 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848254 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02848258 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284825C */ cpu->r[3] = cpu->r[31];
|
|
/* 02848260 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02848260 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02848264 */ cpu->lr = cpu->r[0];
|
|
/* 02848268 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02848268 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284826C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02848270 */ return;
|
|
}
|
|
|
|
// fn_028481C8 @ 0x28481c8
|
|
void Gambit_fn_028481C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_028481C8: ; // 0x28481c8
|
|
/* 028481C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028481C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028481C8 */ cpu->r[1] = _t0;
|
|
/* 028481CC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 028481CC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028481D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028481D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028481D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028481D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028481D8 */ cpu->r[30] = cpu->r[4];
|
|
/* 028481DC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028481DC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028481E0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028481E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028481E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028481E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028481E4 */ if (_t6) goto L_028481E8; else goto L_028481F8;
|
|
L_028481E8: ; // 0x28481e8
|
|
/* 028481E8 */ cpu->r[3] = 0x00000658u;
|
|
/* 028481EC */ Gambit_fn_02801A78(cpu);
|
|
/* 028481F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028481F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028481F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028481F4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028481F4 */ if (_t8) goto L_02848254; else goto L_028481F8;
|
|
L_028481F8: ; // 0x28481f8
|
|
/* 028481F8 */ cpu->r[0] = 0x10130000u;
|
|
/* 028481FC */ cpu->r[29] = 0x00000000u;
|
|
/* 02848200 */ cpu->r[0] = cpu->r[0] + 0xFFFFF554u;
|
|
/* 02848204 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02848204 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 02848208 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 0284820C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0284820C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02848210 */ Gambit_fn_02C1F3E4(cpu);
|
|
/* 02848214 */ cpu->r[11] = 0x10130000u;
|
|
/* 02848218 */ _t11 = cpu->r[31] + 0x0000063Cu;
|
|
/* 02848218 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0284821C */ cpu->r[11] = cpu->r[11] + 0xFFFFF5D8u;
|
|
/* 02848220 */ _t12 = cpu->r[31] + 0x00000638u;
|
|
/* 02848220 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02848224 */ cpu->r[12] = 0x10130000u;
|
|
/* 02848228 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02848228 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0284822C */ cpu->r[12] = cpu->r[12] + 0xFFFFF608u;
|
|
/* 02848230 */ _t14 = cpu->r[31] + 0x00000640u;
|
|
/* 02848230 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 02848234 */ _t15 = cpu->r[31] + 0x000002D4u;
|
|
/* 02848234 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02848238 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0284823C */ _t16 = cpu->r[31] + 0x00000644u;
|
|
/* 0284823C */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[29]);
|
|
/* 02848240 */ _t17 = cpu->r[12] + 0xFFFF9A08u;
|
|
/* 02848240 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02848244 */ _t18 = cpu->r[31] + 0x00000654u;
|
|
/* 02848244 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 02848248 */ _t19 = cpu->r[31] + 0x00000648u;
|
|
/* 02848248 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 0284824C */ _t20 = cpu->r[31] + 0x0000064Cu;
|
|
/* 0284824C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[29]);
|
|
/* 02848250 */ _t21 = cpu->r[31] + 0x00000650u;
|
|
/* 02848250 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
L_02848254: ; // 0x2848254
|
|
/* 02848254 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848254 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02848258 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284825C */ cpu->r[3] = cpu->r[31];
|
|
/* 02848260 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02848260 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02848264 */ cpu->lr = cpu->r[0];
|
|
/* 02848268 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02848268 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284826C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02848270 */ return;
|
|
}
|
|
|
|
// fn_02848274 @ 0x2848274
|
|
void Gambit_fn_02848274(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02848274: ; // 0x2848274
|
|
/* 02848274 */ _t0 = cpu->r[3] + 0x00000644u;
|
|
/* 02848274 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02848278 */ return;
|
|
}
|
|
|
|
// fn_0284827C @ 0x284827c
|
|
void Gambit_fn_0284827C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0284827C: ; // 0x284827c
|
|
/* 0284827C */ _t0 = cpu->r[3] + 0x00000648u;
|
|
/* 0284827C */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02848280 */ return;
|
|
}
|
|
|
|
// fn_02848284 @ 0x2848284
|
|
void Gambit_fn_02848284(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02848284: ; // 0x2848284
|
|
/* 02848284 */ _t0 = cpu->r[3] + 0x0000064Cu;
|
|
/* 02848284 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02848288 */ return;
|
|
}
|
|
|
|
// fn_0284828C @ 0x284828c
|
|
void Gambit_fn_0284828C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_0284828C: ; // 0x284828c
|
|
/* 0284828C */ _t0 = cpu->r[1] + 0xFFFFFDB8u;
|
|
/* 0284828C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284828C */ cpu->r[1] = _t0;
|
|
/* 02848290 */ /* nop */
|
|
/* 02848294 */ cpu->r[0] = cpu->lr;
|
|
/* 02848298 */ _t1 = cpu->r[1] + 0x0000024Cu;
|
|
/* 02848298 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284829C */ cpu->r[29] = cpu->r[4];
|
|
/* 028482A0 */ cpu->r[28] = cpu->r[3];
|
|
/* 028482A4 */ _t2 = cpu->r[28] + 0x0000064Cu;
|
|
/* 028482A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 028482A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028482AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028482AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 028482AC */ if (_t4) goto L_028482B8; else goto L_028482B0;
|
|
L_028482B0: ; // 0x28482b0
|
|
/* 028482B0 */ cpu->r[6] = 0x00000001u;
|
|
/* 028482B4 */ _t5 = cpu->r[28] + 0x000003ADu;
|
|
/* 028482B4 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[6]);
|
|
L_028482B8: ; // 0x28482b8
|
|
/* 028482B8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 028482BC */ _t6 = cpu->r[12] + 0xFFFF988Cu;
|
|
/* 028482BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028482C0 */ cpu->r[0] = cpu->r[12] + 0x00000024u;
|
|
/* 028482C4 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 028482C8 */ _t7 = cpu->r[28] + 0x00000654u;
|
|
/* 028482C8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028482CC */ Gambit_fn_02C1F6B4(cpu);
|
|
/* 028482D0 */ cpu->r[5] = 0x00000040u;
|
|
/* 028482D4 */ _t8 = cpu->r[28] + 0x00000638u;
|
|
/* 028482D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028482D8 */ cpu->r[27] = cpu->r[3];
|
|
/* 028482DC */ Gambit_fn_02801ADC(cpu);
|
|
/* 028482E0 */ cpu->r[31] = 0x10110000u;
|
|
/* 028482E4 */ _t9 = cpu->r[28] + 0x00000650u;
|
|
/* 028482E4 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 028482E8 */ cpu->r[26] = cpu->r[1] + 0x0000001Cu;
|
|
/* 028482EC */ _t10 = cpu->r[31] + 0x00007399u;
|
|
/* 028482EC */ cpu->r[31] = rbrew_read8(cpu->mem, _t10);
|
|
/* 028482F0 */ cpu->r[9] = 0x10130000u;
|
|
/* 028482F4 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 028482F4 */ rbrew_write32(cpu->mem, _t11, cpu->r[26]);
|
|
/* 028482F8 */ _t12 = cpu->r[1] + 0x0000021Bu;
|
|
/* 028482F8 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[31]);
|
|
/* 028482FC */ cpu->r[8] = 0x00000200u;
|
|
/* 02848300 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848300 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[31]);
|
|
/* 02848304 */ cpu->r[25] = 0x10130000u;
|
|
/* 02848308 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02848308 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 0284830C */ cpu->r[25] = cpu->r[25] + 0xFFFFF524u;
|
|
/* 02848310 */ _t15 = cpu->r[28] + 0x00000648u;
|
|
/* 02848310 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02848314 */ cpu->r[9] = cpu->r[9] + 0xFFFFF5ACu;
|
|
/* 02848318 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848318 */ rbrew_write32(cpu->mem, _t16, cpu->r[25]);
|
|
/* 0284831C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0284831C */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 02848320 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02848324 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02848324 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02848328 */ Gambit_fn_02848CFC(cpu);
|
|
/* 0284832C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0284832C */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02848330 */ _t20 = cpu->r[6] + 0x00000000u;
|
|
/* 02848330 */ cpu->r[10] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02848334 */ cpu->r[30] = 0x00000000u;
|
|
/* 02848338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0284833C */ cpu->r[7] = 0x00080000u;
|
|
/* 02848340 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848340 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02848340 */ if (_t22) goto L_02848368; else goto L_02848344;
|
|
L_02848344: ; // 0x2848344
|
|
/* 02848344 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02848348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 0284834C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02848350 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02848350 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02848350 */ if (_t24) goto L_02848364; else goto L_02848354;
|
|
L_02848354: ; // 0x2848354
|
|
/* 02848354 */ _t25 = cpu->r[6] + 0x00000000u;
|
|
/* 02848354 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02848358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0284835C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284835C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0284835C */ if (_t27) goto L_02848360; else goto L_02848344;
|
|
L_02848360: ; // 0x2848360
|
|
/* 02848360 */ goto L_02848368;
|
|
L_02848364: ; // 0x2848364
|
|
/* 02848364 */ cpu->r[30] = 0x00000000u;
|
|
L_02848368: ; // 0x2848368
|
|
/* 02848368 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 02848368 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284836C */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284836C */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02848370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 02848374 */ _t30 = cpu->r[5] + 0x00000014u;
|
|
/* 02848374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02848378 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02848378 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02848378 */ if (_t32) goto L_02848380; else goto L_0284837C;
|
|
L_0284837C: ; // 0x284837c
|
|
/* 0284837C */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02848380: ; // 0x2848380
|
|
/* 02848380 */ cpu->ctr = cpu->r[0];
|
|
/* 02848384 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02848388 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284838C */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 0284838C */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02848390 */ cpu->r[3] = cpu->r[26];
|
|
/* 02848394 */ cpu->r[5] = cpu->r[30];
|
|
/* 02848398 */ cpu->r[6] = 0x00000000u;
|
|
/* 0284839C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028483A0 */ _t34 = cpu->r[26] + cpu->r[30];
|
|
/* 028483A0 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[31]);
|
|
/* 028483A4 */ cpu->r[0] = 0x10130000u;
|
|
/* 028483A8 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 028483A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 028483AC */ cpu->r[0] = cpu->r[0] + 0xFFFFF5D4u;
|
|
/* 028483B0 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028483B0 */ rbrew_write32(cpu->mem, _t36, cpu->r[25]);
|
|
/* 028483B4 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 028483B4 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 028483B8 */ _t38 = cpu->r[8] + 0x00000014u;
|
|
/* 028483B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 028483BC */ cpu->ctr = cpu->r[9];
|
|
/* 028483C0 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 028483C0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t39);
|
|
/* 028483C4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028483C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028483CC */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 028483CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 028483D0 */ _t41 = cpu->r[12] + 0x00000000u;
|
|
/* 028483D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t41);
|
|
/* 028483D4 */ cpu->r[30] = 0x00000000u;
|
|
/* 028483D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028483DC */ cpu->r[0] = 0x00080000u;
|
|
/* 028483E0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028483E0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 028483E0 */ if (_t43) goto L_02848408; else goto L_028483E4;
|
|
L_028483E4: ; // 0x28483e4
|
|
/* 028483E4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028483E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 028483EC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028483F0 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028483F0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 028483F0 */ if (_t45) goto L_02848404; else goto L_028483F4;
|
|
L_028483F4: ; // 0x28483f4
|
|
/* 028483F4 */ _t46 = cpu->r[12] + 0x00000000u;
|
|
/* 028483F4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t46);
|
|
/* 028483F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 028483FC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028483FC */ _t48 = _t47 & 0x00000001u;
|
|
/* 028483FC */ if (_t48) goto L_02848400; else goto L_028483E4;
|
|
L_02848400: ; // 0x2848400
|
|
/* 02848400 */ goto L_02848408;
|
|
L_02848404: ; // 0x2848404
|
|
/* 02848404 */ cpu->r[30] = 0x00000000u;
|
|
L_02848408: ; // 0x2848408
|
|
/* 02848408 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0284840C */ cpu->r[22] = cpu->r[30];
|
|
/* 0284840C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02848410 */ _t50 = cpu->r[12] + 0x00000014u;
|
|
/* 02848410 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02848414 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02848414 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02848414 */ if (_t52) goto L_02848418; else goto L_0284841C;
|
|
L_02848418: ; // 0x2848418
|
|
/* 02848418 */ cpu->r[22] = 0x00000000u;
|
|
L_0284841C: ; // 0x284841c
|
|
/* 0284841C */ cpu->ctr = cpu->r[5];
|
|
/* 02848420 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02848424 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848428 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02848428 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0284842C */ _t54 = cpu->r[8] + 0x00000000u;
|
|
/* 0284842C */ cpu->r[6] = rbrew_read8(cpu->mem, _t54);
|
|
/* 02848430 */ cpu->r[26] = 0x00000000u;
|
|
/* 02848434 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02848438 */ cpu->r[10] = 0x00080000u;
|
|
/* 0284843C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284843C */ _t56 = _t55 & 0x00000001u;
|
|
/* 0284843C */ if (_t56) goto L_02848464; else goto L_02848440;
|
|
L_02848440: ; // 0x2848440
|
|
/* 02848440 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02848444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[10]);
|
|
/* 02848448 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0284844C */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284844C */ _t58 = _t57 & 0x00000001u;
|
|
/* 0284844C */ if (_t58) goto L_02848460; else goto L_02848450;
|
|
L_02848450: ; // 0x2848450
|
|
/* 02848450 */ _t59 = cpu->r[8] + 0x00000000u;
|
|
/* 02848450 */ cpu->r[7] = rbrew_read8(cpu->mem, _t59);
|
|
/* 02848454 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02848458 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848458 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02848458 */ if (_t61) goto L_0284845C; else goto L_02848440;
|
|
L_0284845C: ; // 0x284845c
|
|
/* 0284845C */ goto L_02848464;
|
|
L_02848460: ; // 0x2848460
|
|
/* 02848460 */ cpu->r[26] = 0x00000000u;
|
|
L_02848464: ; // 0x2848464
|
|
/* 02848464 */ _t62 = cpu->r[1] + 0x00000018u;
|
|
/* 02848464 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02848468 */ cpu->r[9] = cpu->r[8] - cpu->r[22];
|
|
/* 0284846C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[9]);
|
|
/* 02848470 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02848470 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02848470 */ if (_t64) goto L_02848478; else goto L_02848474;
|
|
L_02848474: ; // 0x2848474
|
|
/* 02848474 */ cpu->r[26] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02848478: ; // 0x2848478
|
|
/* 02848478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0284847C */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284847C */ _t66 = _t65 & 0x00000001u;
|
|
/* 0284847C */ if (_t66) goto L_02848480; else goto L_028484BC;
|
|
L_02848480: ; // 0x2848480
|
|
/* 02848480 */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848480 */ cpu->r[9] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02848484 */ _t68 = cpu->r[9] + 0x00000014u;
|
|
/* 02848484 */ cpu->r[10] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02848488 */ cpu->ctr = cpu->r[10];
|
|
/* 0284848C */ cpu->r[23] = cpu->r[24] + cpu->r[22];
|
|
/* 02848490 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02848494 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848498 */ _t69 = cpu->r[1] + 0x00000008u;
|
|
/* 02848498 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0284849C */ cpu->r[6] = 0x00000000u;
|
|
/* 028484A0 */ cpu->r[5] = cpu->r[26];
|
|
/* 028484A4 */ cpu->r[3] = cpu->r[23];
|
|
/* 028484A8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028484AC */ cpu->r[0] = cpu->r[22] + cpu->r[26];
|
|
/* 028484B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 028484B4 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028484B4 */ _t71 = _t70 & 0x00000001u;
|
|
/* 028484B4 */ if (_t71) goto L_028484B8; else goto L_028484BC;
|
|
L_028484B8: ; // 0x28484b8
|
|
/* 028484B8 */ _t72 = cpu->r[24] + cpu->r[0];
|
|
/* 028484B8 */ rbrew_write8(cpu->mem, _t72, (uint8_t)cpu->r[31]);
|
|
L_028484BC: ; // 0x28484bc
|
|
/* 028484BC */ _t73 = cpu->r[1] + 0x00000014u;
|
|
/* 028484BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 028484C0 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 028484C0 */ rbrew_write32(cpu->mem, _t74, cpu->r[29]);
|
|
/* 028484C4 */ _t75 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028484C4 */ rbrew_write32(cpu->mem, _t75, cpu->r[25]);
|
|
/* 028484C8 */ _t76 = cpu->r[12] + 0x00000014u;
|
|
/* 028484C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 028484CC */ cpu->ctr = cpu->r[0];
|
|
/* 028484D0 */ _t77 = cpu->r[1] + 0x00000010u;
|
|
/* 028484D0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t77);
|
|
/* 028484D4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028484D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028484DC */ _t78 = cpu->r[1] + 0x00000010u;
|
|
/* 028484DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t78);
|
|
/* 028484E0 */ _t79 = cpu->r[12] + 0x00000000u;
|
|
/* 028484E0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t79);
|
|
/* 028484E4 */ cpu->r[30] = 0x00000000u;
|
|
/* 028484E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 028484EC */ cpu->r[5] = 0x00080000u;
|
|
/* 028484F0 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028484F0 */ _t81 = _t80 & 0x00000001u;
|
|
/* 028484F0 */ if (_t81) goto L_02848518; else goto L_028484F4;
|
|
L_028484F4: ; // 0x28484f4
|
|
/* 028484F4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028484F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 028484FC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02848500 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02848500 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02848500 */ if (_t83) goto L_02848514; else goto L_02848504;
|
|
L_02848504: ; // 0x2848504
|
|
/* 02848504 */ _t84 = cpu->r[12] + 0x00000000u;
|
|
/* 02848504 */ cpu->r[6] = rbrew_read8(cpu->mem, _t84);
|
|
/* 02848508 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0284850C */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284850C */ _t86 = _t85 & 0x00000001u;
|
|
/* 0284850C */ if (_t86) goto L_02848510; else goto L_028484F4;
|
|
L_02848510: ; // 0x2848510
|
|
/* 02848510 */ goto L_02848518;
|
|
L_02848514: ; // 0x2848514
|
|
/* 02848514 */ cpu->r[30] = 0x00000000u;
|
|
L_02848518: ; // 0x2848518
|
|
/* 02848518 */ _t87 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848518 */ cpu->r[8] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0284851C */ cpu->r[24] = cpu->r[30];
|
|
/* 0284851C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02848520 */ _t88 = cpu->r[8] + 0x00000014u;
|
|
/* 02848520 */ cpu->r[10] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02848524 */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02848524 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02848524 */ if (_t90) goto L_02848528; else goto L_0284852C;
|
|
L_02848528: ; // 0x2848528
|
|
/* 02848528 */ cpu->r[24] = 0x00000000u;
|
|
L_0284852C: ; // 0x284852c
|
|
/* 0284852C */ cpu->ctr = cpu->r[10];
|
|
/* 02848530 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02848534 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848538 */ _t91 = cpu->r[1] + 0x00000008u;
|
|
/* 02848538 */ cpu->r[7] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0284853C */ _t92 = cpu->r[7] + 0x00000000u;
|
|
/* 0284853C */ cpu->r[11] = rbrew_read8(cpu->mem, _t92);
|
|
/* 02848540 */ cpu->r[9] = 0x00080000u;
|
|
/* 02848544 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02848548 */ cpu->r[29] = 0x00000000u;
|
|
/* 0284854C */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284854C */ _t94 = _t93 & 0x00000001u;
|
|
/* 0284854C */ if (_t94) goto L_02848574; else goto L_02848550;
|
|
L_02848550: ; // 0x2848550
|
|
/* 02848550 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02848554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 02848558 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0284855C */ _t95 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284855C */ _t96 = _t95 & 0x00000001u;
|
|
/* 0284855C */ if (_t96) goto L_02848570; else goto L_02848560;
|
|
L_02848560: ; // 0x2848560
|
|
/* 02848560 */ _t97 = cpu->r[7] + 0x00000000u;
|
|
/* 02848560 */ cpu->r[0] = rbrew_read8(cpu->mem, _t97);
|
|
/* 02848564 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02848568 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848568 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02848568 */ if (_t99) goto L_0284856C; else goto L_02848550;
|
|
L_0284856C: ; // 0x284856c
|
|
/* 0284856C */ goto L_02848574;
|
|
L_02848570: ; // 0x2848570
|
|
/* 02848570 */ cpu->r[29] = 0x00000000u;
|
|
L_02848574: ; // 0x2848574
|
|
/* 02848574 */ _t100 = cpu->r[1] + 0x00000018u;
|
|
/* 02848574 */ cpu->r[8] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02848578 */ cpu->r[10] = cpu->r[8] - cpu->r[24];
|
|
/* 0284857C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 02848580 */ _t101 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02848580 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02848580 */ if (_t102) goto L_02848588; else goto L_02848584;
|
|
L_02848584: ; // 0x2848584
|
|
/* 02848584 */ cpu->r[29] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02848588: ; // 0x2848588
|
|
/* 02848588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0284858C */ _t103 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284858C */ _t104 = _t103 & 0x00000001u;
|
|
/* 0284858C */ if (_t104) goto L_02848590; else goto L_028485CC;
|
|
L_02848590: ; // 0x2848590
|
|
/* 02848590 */ _t105 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848590 */ cpu->r[6] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02848594 */ _t106 = cpu->r[6] + 0x00000014u;
|
|
/* 02848594 */ cpu->r[7] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02848598 */ cpu->ctr = cpu->r[7];
|
|
/* 0284859C */ cpu->r[25] = cpu->r[26] + cpu->r[24];
|
|
/* 028485A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028485A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028485A8 */ _t107 = cpu->r[1] + 0x00000008u;
|
|
/* 028485A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t107);
|
|
/* 028485AC */ cpu->r[6] = 0x00000000u;
|
|
/* 028485B0 */ cpu->r[5] = cpu->r[29];
|
|
/* 028485B4 */ cpu->r[3] = cpu->r[25];
|
|
/* 028485B8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028485BC */ cpu->r[0] = cpu->r[24] + cpu->r[29];
|
|
/* 028485C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[30]);
|
|
/* 028485C4 */ _t108 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028485C4 */ _t109 = _t108 & 0x00000001u;
|
|
/* 028485C4 */ if (_t109) goto L_028485C8; else goto L_028485CC;
|
|
L_028485C8: ; // 0x28485c8
|
|
/* 028485C8 */ _t110 = cpu->r[26] + cpu->r[0];
|
|
/* 028485C8 */ rbrew_write8(cpu->mem, _t110, (uint8_t)cpu->r[31]);
|
|
L_028485CC: ; // 0x28485cc
|
|
/* 028485CC */ _t111 = cpu->r[1] + 0x00000014u;
|
|
/* 028485CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t111);
|
|
/* 028485D0 */ _t112 = cpu->r[9] + 0x00000014u;
|
|
/* 028485D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 028485D4 */ cpu->ctr = cpu->r[0];
|
|
/* 028485D8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028485DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028485E0 */ _t113 = cpu->r[28] + 0x00000654u;
|
|
/* 028485E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t113);
|
|
/* 028485E4 */ cpu->r[7] = cpu->r[27];
|
|
/* 028485E8 */ _t114 = cpu->r[1] + 0x00000010u;
|
|
/* 028485E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t114);
|
|
/* 028485EC */ cpu->r[9] = 0x00000008u;
|
|
/* 028485F0 */ _t115 = cpu->r[28] + 0x00000650u;
|
|
/* 028485F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t115);
|
|
/* 028485F4 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 028485F8 */ cpu->r[8] = 0x00000010u;
|
|
/* 028485FC */ Gambit_fn_02C1FB58(cpu);
|
|
/* 02848600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848604 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848604 */ _t117 = _t116 & 0x00000001u;
|
|
/* 02848604 */ if (_t117) goto L_02848608; else goto L_02848620;
|
|
L_02848608: ; // 0x2848608
|
|
/* 02848608 */ /* nop */
|
|
/* 0284860C */ _t118 = cpu->r[1] + 0x0000024Cu;
|
|
/* 0284860C */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02848610 */ cpu->lr = cpu->r[0];
|
|
/* 02848614 */ cpu->r[1] = cpu->r[1] + 0x00000248u;
|
|
/* 02848618 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284861C */ return;
|
|
L_02848620: ; // 0x2848620
|
|
/* 02848620 */ cpu->r[3] = cpu->r[28] + 0x000002D8u;
|
|
/* 02848624 */ cpu->r[31] = cpu->r[28] + 0x00000008u;
|
|
/* 02848628 */ Gambit_fn_02C1FED4(cpu);
|
|
/* 0284862C */ _t119 = cpu->r[28] + 0x00000638u;
|
|
/* 0284862C */ cpu->r[4] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02848630 */ cpu->r[5] = 0x00000040u;
|
|
/* 02848634 */ cpu->r[30] = cpu->r[3];
|
|
/* 02848638 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0284863C */ cpu->r[4] = cpu->r[3];
|
|
/* 02848640 */ cpu->r[5] = cpu->r[30];
|
|
/* 02848644 */ cpu->r[3] = cpu->r[31];
|
|
/* 02848648 */ _t120 = cpu->r[28] + 0x0000063Cu;
|
|
/* 02848648 */ rbrew_write32(cpu->mem, _t120, cpu->r[4]);
|
|
/* 0284864C */ Gambit_fn_02C200D0(cpu);
|
|
/* 02848650 */ _t121 = cpu->r[28] + 0x00000644u;
|
|
/* 02848650 */ cpu->r[0] = rbrew_read8(cpu->mem, _t121);
|
|
/* 02848654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02848658 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848658 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02848658 */ if (_t123) goto L_0284868C; else goto L_0284865C;
|
|
L_0284865C: ; // 0x284865c
|
|
/* 0284865C */ cpu->r[3] = cpu->r[28] + 0x000002D8u;
|
|
/* 02848660 */ cpu->r[31] = cpu->r[28] + 0x00000008u;
|
|
/* 02848664 */ Gambit_fn_02C201E0(cpu);
|
|
/* 02848668 */ _t124 = cpu->r[28] + 0x00000638u;
|
|
/* 02848668 */ cpu->r[4] = rbrew_read32(cpu->mem, _t124);
|
|
/* 0284866C */ cpu->r[5] = 0x00000040u;
|
|
/* 02848670 */ cpu->r[30] = cpu->r[3];
|
|
/* 02848674 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02848678 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284867C */ cpu->r[5] = cpu->r[30];
|
|
/* 02848680 */ cpu->r[3] = cpu->r[31];
|
|
/* 02848684 */ _t125 = cpu->r[28] + 0x00000640u;
|
|
/* 02848684 */ rbrew_write32(cpu->mem, _t125, cpu->r[4]);
|
|
/* 02848688 */ Gambit_fn_02C20214(cpu);
|
|
L_0284868C: ; // 0x284868c
|
|
/* 0284868C */ /* nop */
|
|
/* 02848690 */ _t126 = cpu->r[1] + 0x0000024Cu;
|
|
/* 02848690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02848694 */ cpu->lr = cpu->r[0];
|
|
/* 02848698 */ cpu->r[1] = cpu->r[1] + 0x00000248u;
|
|
/* 0284869C */ cpu->r[3] = 0x00000001u;
|
|
/* 028486A0 */ return;
|
|
}
|
|
|
|
// fn_028486A4 @ 0x28486a4
|
|
void Gambit_fn_028486A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_028486A4: ; // 0x28486a4
|
|
/* 028486A4 */ cpu->r[0] = cpu->lr;
|
|
/* 028486A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028486A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028486A8 */ cpu->r[1] = _t0;
|
|
/* 028486AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028486AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028486B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028486B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028486B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028486B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028486B8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028486B8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028486B8 */ if (_t4) goto L_028486BC; else goto L_028486CC;
|
|
L_028486BC: ; // 0x28486bc
|
|
/* 028486BC */ cpu->r[3] = 0x00000320u;
|
|
/* 028486C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028486C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028486C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028486C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028486C8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028486C8 */ if (_t6) goto L_02848700; else goto L_028486CC;
|
|
L_028486CC: ; // 0x28486cc
|
|
/* 028486CC */ cpu->r[0] = 0x10130000u;
|
|
/* 028486D0 */ cpu->r[12] = 0x00000001u;
|
|
/* 028486D4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF554u;
|
|
/* 028486D8 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 028486D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 028486DC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 028486E0 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 028486E0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 028486E4 */ Gambit_fn_02C20868(cpu);
|
|
/* 028486E8 */ cpu->r[0] = 0x10130000u;
|
|
/* 028486EC */ cpu->r[11] = 0x10130000u;
|
|
/* 028486F0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF658u;
|
|
/* 028486F4 */ cpu->r[11] = cpu->r[11] + 0xFFFFF688u;
|
|
/* 028486F8 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 028486F8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028486FC */ _t10 = cpu->r[31] + 0x000002D4u;
|
|
/* 028486FC */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
L_02848700: ; // 0x2848700
|
|
/* 02848700 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02848700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02848704 */ cpu->r[3] = cpu->r[31];
|
|
/* 02848708 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848708 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284870C */ cpu->lr = cpu->r[0];
|
|
/* 02848710 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02848714 */ return;
|
|
}
|
|
|
|
// fn_028486A8 @ 0x28486a8
|
|
void Gambit_fn_028486A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_028486A8: ; // 0x28486a8
|
|
/* 028486A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028486A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028486A8 */ cpu->r[1] = _t0;
|
|
/* 028486AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028486AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028486B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028486B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028486B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028486B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028486B8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028486B8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028486B8 */ if (_t4) goto L_028486BC; else goto L_028486CC;
|
|
L_028486BC: ; // 0x28486bc
|
|
/* 028486BC */ cpu->r[3] = 0x00000320u;
|
|
/* 028486C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028486C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028486C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028486C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028486C8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028486C8 */ if (_t6) goto L_02848700; else goto L_028486CC;
|
|
L_028486CC: ; // 0x28486cc
|
|
/* 028486CC */ cpu->r[0] = 0x10130000u;
|
|
/* 028486D0 */ cpu->r[12] = 0x00000001u;
|
|
/* 028486D4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF554u;
|
|
/* 028486D8 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 028486D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 028486DC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 028486E0 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 028486E0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 028486E4 */ Gambit_fn_02C20868(cpu);
|
|
/* 028486E8 */ cpu->r[0] = 0x10130000u;
|
|
/* 028486EC */ cpu->r[11] = 0x10130000u;
|
|
/* 028486F0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF658u;
|
|
/* 028486F4 */ cpu->r[11] = cpu->r[11] + 0xFFFFF688u;
|
|
/* 028486F8 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 028486F8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028486FC */ _t10 = cpu->r[31] + 0x000002D4u;
|
|
/* 028486FC */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
L_02848700: ; // 0x2848700
|
|
/* 02848700 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02848700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02848704 */ cpu->r[3] = cpu->r[31];
|
|
/* 02848708 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848708 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284870C */ cpu->lr = cpu->r[0];
|
|
/* 02848710 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02848714 */ return;
|
|
}
|
|
|
|
// fn_02848718 @ 0x2848718
|
|
void Gambit_fn_02848718(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02848718: ; // 0x2848718
|
|
/* 02848718 */ cpu->r[0] = cpu->lr;
|
|
/* 0284871C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0284871C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02848720 */ cpu->r[3] = cpu->r[3] + 0x00000008u;
|
|
/* 02848724 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02848724 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02848724 */ cpu->r[1] = _t1;
|
|
/* 02848728 */ Gambit_fn_02C20920(cpu);
|
|
/* 0284872C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284872C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02848730 */ cpu->lr = cpu->r[0];
|
|
/* 02848734 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02848738 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284873C */ return;
|
|
}
|
|
|
|
// fn_02848724 @ 0x2848724
|
|
void Gambit_fn_02848724(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02848724: ; // 0x2848724
|
|
/* 02848724 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02848724 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848724 */ cpu->r[1] = _t0;
|
|
/* 02848728 */ Gambit_fn_02C20920(cpu);
|
|
/* 0284872C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284872C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02848730 */ cpu->lr = cpu->r[0];
|
|
/* 02848734 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02848738 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284873C */ return;
|
|
}
|
|
|
|
// fn_02848740 @ 0x2848740
|
|
void Gambit_fn_02848740(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02848740: ; // 0x2848740
|
|
/* 02848740 */ cpu->r[0] = cpu->lr;
|
|
/* 02848744 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02848744 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848744 */ cpu->r[1] = _t0;
|
|
/* 02848748 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848748 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284874C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284874C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02848750 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02848750 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02848754 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848754 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02848754 */ if (_t4) goto L_02848758; else goto L_02848768;
|
|
L_02848758: ; // 0x2848758
|
|
/* 02848758 */ cpu->r[3] = 0x00000234u;
|
|
/* 0284875C */ Gambit_fn_02801A78(cpu);
|
|
/* 02848760 */ cpu->r[31] = cpu->r[3];
|
|
/* 02848760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02848764 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848764 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02848764 */ if (_t6) goto L_028487A0; else goto L_02848768;
|
|
L_02848768: ; // 0x2848768
|
|
/* 02848768 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284876C */ Gambit_fn_02C1E6E8(cpu);
|
|
/* 02848770 */ cpu->r[0] = 0x10130000u;
|
|
/* 02848774 */ cpu->r[11] = 0x10130000u;
|
|
/* 02848778 */ cpu->r[0] = cpu->r[0] + 0xFFFFF6D8u;
|
|
/* 0284877C */ cpu->r[11] = cpu->r[11] + 0xFFFFF708u;
|
|
/* 02848780 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02848780 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02848784 */ cpu->r[12] = 0x00000000u;
|
|
/* 02848788 */ _t8 = cpu->r[31] + 0x00000214u;
|
|
/* 02848788 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0284878C */ _t9 = cpu->r[31] + 0x00000230u;
|
|
/* 0284878C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 02848790 */ _t10 = cpu->r[31] + 0x00000220u;
|
|
/* 02848790 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02848794 */ _t11 = cpu->r[31] + 0x0000022Cu;
|
|
/* 02848794 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02848798 */ _t12 = cpu->r[31] + 0x00000224u;
|
|
/* 02848798 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0284879C */ _t13 = cpu->r[31] + 0x00000228u;
|
|
/* 0284879C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_028487A0: ; // 0x28487a0
|
|
/* 028487A0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 028487A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028487A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028487A8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028487A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028487AC */ cpu->lr = cpu->r[0];
|
|
/* 028487B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028487B4 */ return;
|
|
}
|
|
|
|
// fn_02848744 @ 0x2848744
|
|
void Gambit_fn_02848744(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02848744: ; // 0x2848744
|
|
/* 02848744 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02848744 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848744 */ cpu->r[1] = _t0;
|
|
/* 02848748 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848748 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284874C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284874C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02848750 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02848750 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02848754 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848754 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02848754 */ if (_t4) goto L_02848758; else goto L_02848768;
|
|
L_02848758: ; // 0x2848758
|
|
/* 02848758 */ cpu->r[3] = 0x00000234u;
|
|
/* 0284875C */ Gambit_fn_02801A78(cpu);
|
|
/* 02848760 */ cpu->r[31] = cpu->r[3];
|
|
/* 02848760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02848764 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848764 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02848764 */ if (_t6) goto L_028487A0; else goto L_02848768;
|
|
L_02848768: ; // 0x2848768
|
|
/* 02848768 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284876C */ Gambit_fn_02C1E6E8(cpu);
|
|
/* 02848770 */ cpu->r[0] = 0x10130000u;
|
|
/* 02848774 */ cpu->r[11] = 0x10130000u;
|
|
/* 02848778 */ cpu->r[0] = cpu->r[0] + 0xFFFFF6D8u;
|
|
/* 0284877C */ cpu->r[11] = cpu->r[11] + 0xFFFFF708u;
|
|
/* 02848780 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02848780 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02848784 */ cpu->r[12] = 0x00000000u;
|
|
/* 02848788 */ _t8 = cpu->r[31] + 0x00000214u;
|
|
/* 02848788 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0284878C */ _t9 = cpu->r[31] + 0x00000230u;
|
|
/* 0284878C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 02848790 */ _t10 = cpu->r[31] + 0x00000220u;
|
|
/* 02848790 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02848794 */ _t11 = cpu->r[31] + 0x0000022Cu;
|
|
/* 02848794 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02848798 */ _t12 = cpu->r[31] + 0x00000224u;
|
|
/* 02848798 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0284879C */ _t13 = cpu->r[31] + 0x00000228u;
|
|
/* 0284879C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_028487A0: ; // 0x28487a0
|
|
/* 028487A0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 028487A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028487A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028487A8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028487A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028487AC */ cpu->lr = cpu->r[0];
|
|
/* 028487B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028487B4 */ return;
|
|
}
|
|
|
|
// fn_028487B8 @ 0x28487b8
|
|
void Gambit_fn_028487B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_028487B8: ; // 0x28487b8
|
|
/* 028487B8 */ cpu->r[0] = cpu->lr;
|
|
/* 028487BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028487BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028487BC */ cpu->r[1] = _t0;
|
|
/* 028487C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028487C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028487C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028487C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028487C8 */ _t3 = cpu->r[3] + 0x00000220u;
|
|
/* 028487C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028487CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028487D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028487D0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028487D0 */ if (_t5) goto L_028488B8; else goto L_028487D4;
|
|
L_028487D4: ; // 0x28487d4
|
|
/* 028487D4 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 028487D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028487D8 */ cpu->r[7] = 0x10130000u;
|
|
/* 028487DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 028487E0 */ cpu->r[7] = cpu->r[7] + 0xFFFFF584u;
|
|
/* 028487E4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028487E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028487E4 */ if (_t8) goto L_028487F4; else goto L_028487E8;
|
|
L_028487E8: ; // 0x28487e8
|
|
/* 028487E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028487E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028487E8 */ if (_t10) goto L_02848858; else goto L_028487EC;
|
|
L_028487EC: ; // 0x28487ec
|
|
/* 028487EC */ cpu->r[3] = 0x00000000u;
|
|
/* 028487F0 */ goto L_028488BC;
|
|
L_028487F4: ; // 0x28487f4
|
|
/* 028487F4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 028487F8 */ _t11 = cpu->r[12] + 0x000016F8u;
|
|
/* 028487F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028487FC */ cpu->r[4] = 0x101D0000u;
|
|
/* 02848800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02848804 */ cpu->r[4] = cpu->r[4] + 0x00001700u;
|
|
/* 02848808 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848808 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02848808 */ if (_t13) goto L_0284880C; else goto L_0284881C;
|
|
L_0284880C: ; // 0x284880c
|
|
/* 0284880C */ _t14 = cpu->r[4] + 0x00000000u;
|
|
/* 0284880C */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
|
|
/* 02848810 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02848814 */ cpu->r[8] = 0x00000001u;
|
|
/* 02848818 */ _t15 = cpu->r[7] + 0x000016F8u;
|
|
/* 02848818 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
L_0284881C: ; // 0x284881c
|
|
/* 0284881C */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 0284881C */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02848820 */ _t17 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02848820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02848824 */ cpu->ctr = cpu->r[12];
|
|
/* 02848828 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284882C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848834 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848834 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02848834 */ if (_t19) goto L_028488B8; else goto L_02848838;
|
|
L_02848838: ; // 0x2848838
|
|
/* 02848838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284883C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284883C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284883C */ if (_t21) goto L_028488B8; else goto L_02848840;
|
|
L_02848840: ; // 0x2848840
|
|
/* 02848840 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02848840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02848844 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02848848 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848848 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284884C */ cpu->lr = cpu->r[0];
|
|
/* 02848850 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02848854 */ return;
|
|
L_02848858: ; // 0x2848858
|
|
/* 02848858 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0284885C */ _t24 = cpu->r[9] + 0x000016FCu;
|
|
/* 0284885C */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284885C */ cpu->r[9] = _t24;
|
|
/* 02848860 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02848864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02848868 */ cpu->r[4] = cpu->r[4] + 0x00001704u;
|
|
/* 0284886C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284886C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0284886C */ if (_t26) goto L_02848870; else goto L_0284887C;
|
|
L_02848870: ; // 0x2848870
|
|
/* 02848870 */ _t27 = cpu->r[4] + 0x00000000u;
|
|
/* 02848870 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
/* 02848874 */ cpu->r[0] = 0x00000001u;
|
|
/* 02848878 */ _t28 = cpu->r[9] + 0x00000000u;
|
|
/* 02848878 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
L_0284887C: ; // 0x284887c
|
|
/* 0284887C */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 0284887C */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02848880 */ _t30 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02848880 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02848884 */ cpu->ctr = cpu->r[11];
|
|
/* 02848888 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284888C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848894 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848894 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02848894 */ if (_t32) goto L_028488B8; else goto L_02848898;
|
|
L_02848898: ; // 0x2848898
|
|
/* 02848898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284889C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284889C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0284889C */ if (_t34) goto L_028488B8; else goto L_028488A0;
|
|
L_028488A0: ; // 0x28488a0
|
|
/* 028488A0 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 028488A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 028488A4 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 028488A8 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028488A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 028488AC */ cpu->lr = cpu->r[0];
|
|
/* 028488B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028488B4 */ return;
|
|
L_028488B8: ; // 0x28488b8
|
|
/* 028488B8 */ cpu->r[3] = 0x00000000u;
|
|
L_028488BC: ; // 0x28488bc
|
|
/* 028488BC */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 028488BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028488C0 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028488C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 028488C4 */ cpu->lr = cpu->r[0];
|
|
/* 028488C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028488CC */ return;
|
|
}
|
|
|
|
// fn_028487BC @ 0x28487bc
|
|
void Gambit_fn_028487BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_028487BC: ; // 0x28487bc
|
|
/* 028487BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028487BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028487BC */ cpu->r[1] = _t0;
|
|
/* 028487C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028487C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028487C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028487C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028487C8 */ _t3 = cpu->r[3] + 0x00000220u;
|
|
/* 028487C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028487CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028487D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028487D0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028487D0 */ if (_t5) goto L_028488B8; else goto L_028487D4;
|
|
L_028487D4: ; // 0x28487d4
|
|
/* 028487D4 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 028487D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028487D8 */ cpu->r[7] = 0x10130000u;
|
|
/* 028487DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 028487E0 */ cpu->r[7] = cpu->r[7] + 0xFFFFF584u;
|
|
/* 028487E4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028487E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028487E4 */ if (_t8) goto L_028487F4; else goto L_028487E8;
|
|
L_028487E8: ; // 0x28487e8
|
|
/* 028487E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028487E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028487E8 */ if (_t10) goto L_02848858; else goto L_028487EC;
|
|
L_028487EC: ; // 0x28487ec
|
|
/* 028487EC */ cpu->r[3] = 0x00000000u;
|
|
/* 028487F0 */ goto L_028488BC;
|
|
L_028487F4: ; // 0x28487f4
|
|
/* 028487F4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 028487F8 */ _t11 = cpu->r[12] + 0x000016F8u;
|
|
/* 028487F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028487FC */ cpu->r[4] = 0x101D0000u;
|
|
/* 02848800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02848804 */ cpu->r[4] = cpu->r[4] + 0x00001700u;
|
|
/* 02848808 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848808 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02848808 */ if (_t13) goto L_0284880C; else goto L_0284881C;
|
|
L_0284880C: ; // 0x284880c
|
|
/* 0284880C */ _t14 = cpu->r[4] + 0x00000000u;
|
|
/* 0284880C */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
|
|
/* 02848810 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02848814 */ cpu->r[8] = 0x00000001u;
|
|
/* 02848818 */ _t15 = cpu->r[7] + 0x000016F8u;
|
|
/* 02848818 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
L_0284881C: ; // 0x284881c
|
|
/* 0284881C */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 0284881C */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02848820 */ _t17 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02848820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02848824 */ cpu->ctr = cpu->r[12];
|
|
/* 02848828 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284882C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848834 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848834 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02848834 */ if (_t19) goto L_028488B8; else goto L_02848838;
|
|
L_02848838: ; // 0x2848838
|
|
/* 02848838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284883C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284883C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284883C */ if (_t21) goto L_028488B8; else goto L_02848840;
|
|
L_02848840: ; // 0x2848840
|
|
/* 02848840 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02848840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02848844 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02848848 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848848 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284884C */ cpu->lr = cpu->r[0];
|
|
/* 02848850 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02848854 */ return;
|
|
L_02848858: ; // 0x2848858
|
|
/* 02848858 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0284885C */ _t24 = cpu->r[9] + 0x000016FCu;
|
|
/* 0284885C */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284885C */ cpu->r[9] = _t24;
|
|
/* 02848860 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02848864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02848868 */ cpu->r[4] = cpu->r[4] + 0x00001704u;
|
|
/* 0284886C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284886C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0284886C */ if (_t26) goto L_02848870; else goto L_0284887C;
|
|
L_02848870: ; // 0x2848870
|
|
/* 02848870 */ _t27 = cpu->r[4] + 0x00000000u;
|
|
/* 02848870 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
/* 02848874 */ cpu->r[0] = 0x00000001u;
|
|
/* 02848878 */ _t28 = cpu->r[9] + 0x00000000u;
|
|
/* 02848878 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
L_0284887C: ; // 0x284887c
|
|
/* 0284887C */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 0284887C */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02848880 */ _t30 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02848880 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02848884 */ cpu->ctr = cpu->r[11];
|
|
/* 02848888 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284888C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848894 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848894 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02848894 */ if (_t32) goto L_028488B8; else goto L_02848898;
|
|
L_02848898: ; // 0x2848898
|
|
/* 02848898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284889C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284889C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0284889C */ if (_t34) goto L_028488B8; else goto L_028488A0;
|
|
L_028488A0: ; // 0x28488a0
|
|
/* 028488A0 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 028488A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 028488A4 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 028488A8 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028488A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 028488AC */ cpu->lr = cpu->r[0];
|
|
/* 028488B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028488B4 */ return;
|
|
L_028488B8: ; // 0x28488b8
|
|
/* 028488B8 */ cpu->r[3] = 0x00000000u;
|
|
L_028488BC: ; // 0x28488bc
|
|
/* 028488BC */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 028488BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028488C0 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028488C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 028488C4 */ cpu->lr = cpu->r[0];
|
|
/* 028488C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028488CC */ return;
|
|
}
|
|
|
|
// fn_028488D0 @ 0x28488d0
|
|
void Gambit_fn_028488D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028488D0: ; // 0x28488d0
|
|
/* 028488D0 */ cpu->r[0] = cpu->lr;
|
|
/* 028488D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028488D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028488D4 */ cpu->r[1] = _t0;
|
|
/* 028488D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028488D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028488DC */ cpu->r[31] = cpu->r[3];
|
|
/* 028488E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028488E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028488E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 028488E8 */ _t3 = cpu->r[31] + 0x00000228u;
|
|
/* 028488E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 028488EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028488EC */ _t5 = _t4 & 0x00000001u;
|
|
/* 028488EC */ if (_t5) goto L_0284890C; else goto L_028488F0;
|
|
L_028488F0: ; // 0x28488f0
|
|
/* 028488F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028488F4 */ Gambit_fn_028487B8(cpu);
|
|
/* 028488F8 */ cpu->r[5] = cpu->r[3];
|
|
/* 028488F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 028488FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028488FC */ _t7 = _t6 & 0x00000001u;
|
|
/* 028488FC */ if (_t7) goto L_0284890C; else goto L_02848900;
|
|
L_02848900: ; // 0x2848900
|
|
/* 02848900 */ _t8 = cpu->r[31] + 0x00000228u;
|
|
/* 02848900 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02848904 */ cpu->r[4] = cpu->r[31];
|
|
/* 02848908 */ Gambit_fn_02849110(cpu);
|
|
L_0284890C: ; // 0x284890c
|
|
/* 0284890C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284890C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02848910 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848910 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02848914 */ cpu->lr = cpu->r[0];
|
|
/* 02848918 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284891C */ return;
|
|
}
|
|
|
|
// fn_028488D4 @ 0x28488d4
|
|
void Gambit_fn_028488D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028488D4: ; // 0x28488d4
|
|
/* 028488D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028488D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028488D4 */ cpu->r[1] = _t0;
|
|
/* 028488D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028488D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028488DC */ cpu->r[31] = cpu->r[3];
|
|
/* 028488E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028488E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028488E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 028488E8 */ _t3 = cpu->r[31] + 0x00000228u;
|
|
/* 028488E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 028488EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028488EC */ _t5 = _t4 & 0x00000001u;
|
|
/* 028488EC */ if (_t5) goto L_0284890C; else goto L_028488F0;
|
|
L_028488F0: ; // 0x28488f0
|
|
/* 028488F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028488F4 */ Gambit_fn_028487B8(cpu);
|
|
/* 028488F8 */ cpu->r[5] = cpu->r[3];
|
|
/* 028488F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 028488FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028488FC */ _t7 = _t6 & 0x00000001u;
|
|
/* 028488FC */ if (_t7) goto L_0284890C; else goto L_02848900;
|
|
L_02848900: ; // 0x2848900
|
|
/* 02848900 */ _t8 = cpu->r[31] + 0x00000228u;
|
|
/* 02848900 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02848904 */ cpu->r[4] = cpu->r[31];
|
|
/* 02848908 */ Gambit_fn_02849110(cpu);
|
|
L_0284890C: ; // 0x284890c
|
|
/* 0284890C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284890C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02848910 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848910 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02848914 */ cpu->lr = cpu->r[0];
|
|
/* 02848918 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284891C */ return;
|
|
}
|
|
|
|
// fn_02848920 @ 0x2848920
|
|
void Gambit_fn_02848920(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02848920: ; // 0x2848920
|
|
/* 02848920 */ _t0 = cpu->r[3] + 0x0000022Cu;
|
|
/* 02848920 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02848924 */ return;
|
|
}
|
|
|
|
// fn_02848928 @ 0x2848928
|
|
void Gambit_fn_02848928(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02848928: ; // 0x2848928
|
|
/* 02848928 */ cpu->r[0] = cpu->lr;
|
|
/* 0284892C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284892C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284892C */ cpu->r[1] = _t0;
|
|
/* 02848930 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02848930 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02848934 */ cpu->r[31] = cpu->r[4];
|
|
/* 02848938 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848938 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284893C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284893C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02848940 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848940 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02848944 */ cpu->r[29] = cpu->r[3];
|
|
/* 02848948 */ Gambit_fn_028487B8(cpu);
|
|
/* 0284894C */ cpu->r[4] = cpu->r[3];
|
|
/* 02848950 */ cpu->r[3] = cpu->r[29];
|
|
/* 02848954 */ Gambit_fn_02C1E788(cpu);
|
|
/* 02848958 */ cpu->r[5] = 0x00000040u;
|
|
/* 0284895C */ cpu->r[4] = cpu->r[31];
|
|
/* 02848960 */ cpu->r[30] = cpu->r[3];
|
|
/* 02848964 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02848968 */ _t5 = cpu->r[29] + 0x00000224u;
|
|
/* 02848968 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0284896C */ cpu->r[3] = cpu->r[29];
|
|
/* 02848970 */ Gambit_fn_028487B8(cpu);
|
|
/* 02848974 */ _t6 = cpu->r[29] + 0x00000224u;
|
|
/* 02848974 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02848978 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284897C */ cpu->r[3] = cpu->r[29];
|
|
/* 02848980 */ cpu->r[6] = cpu->r[30];
|
|
/* 02848984 */ Gambit_fn_02C1EB98(cpu);
|
|
/* 02848988 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284898C */ _t7 = cpu->r[29] + 0x00000230u;
|
|
/* 0284898C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 02848990 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848990 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02848994 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02848998 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02848998 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284899C */ cpu->lr = cpu->r[0];
|
|
/* 028489A0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 028489A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028489A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028489A8 */ return;
|
|
}
|
|
|
|
// fn_0284892C @ 0x284892c
|
|
void Gambit_fn_0284892C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0284892C: ; // 0x284892c
|
|
/* 0284892C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284892C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284892C */ cpu->r[1] = _t0;
|
|
/* 02848930 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02848930 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02848934 */ cpu->r[31] = cpu->r[4];
|
|
/* 02848938 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848938 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284893C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284893C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02848940 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848940 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02848944 */ cpu->r[29] = cpu->r[3];
|
|
/* 02848948 */ Gambit_fn_028487B8(cpu);
|
|
/* 0284894C */ cpu->r[4] = cpu->r[3];
|
|
/* 02848950 */ cpu->r[3] = cpu->r[29];
|
|
/* 02848954 */ Gambit_fn_02C1E788(cpu);
|
|
/* 02848958 */ cpu->r[5] = 0x00000040u;
|
|
/* 0284895C */ cpu->r[4] = cpu->r[31];
|
|
/* 02848960 */ cpu->r[30] = cpu->r[3];
|
|
/* 02848964 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02848968 */ _t5 = cpu->r[29] + 0x00000224u;
|
|
/* 02848968 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0284896C */ cpu->r[3] = cpu->r[29];
|
|
/* 02848970 */ Gambit_fn_028487B8(cpu);
|
|
/* 02848974 */ _t6 = cpu->r[29] + 0x00000224u;
|
|
/* 02848974 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02848978 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284897C */ cpu->r[3] = cpu->r[29];
|
|
/* 02848980 */ cpu->r[6] = cpu->r[30];
|
|
/* 02848984 */ Gambit_fn_02C1EB98(cpu);
|
|
/* 02848988 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284898C */ _t7 = cpu->r[29] + 0x00000230u;
|
|
/* 0284898C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 02848990 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848990 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02848994 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02848998 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02848998 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284899C */ cpu->lr = cpu->r[0];
|
|
/* 028489A0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 028489A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028489A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028489A8 */ return;
|
|
}
|
|
|
|
// fn_028489AC @ 0x28489ac
|
|
void Gambit_fn_028489AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_028489AC: ; // 0x28489ac
|
|
/* 028489AC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028489AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028489AC */ cpu->r[1] = _t0;
|
|
/* 028489B0 */ cpu->r[0] = cpu->lr;
|
|
/* 028489B4 */ /* nop */
|
|
/* 028489B8 */ cpu->r[27] = cpu->r[3];
|
|
/* 028489BC */ cpu->r[30] = cpu->r[6];
|
|
/* 028489C0 */ cpu->r[3] = 0x00000658u;
|
|
/* 028489C4 */ cpu->r[28] = cpu->r[4];
|
|
/* 028489C8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 028489C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028489CC */ cpu->r[29] = cpu->r[5];
|
|
/* 028489D0 */ cpu->r[5] = 0x00000040u;
|
|
/* 028489D4 */ cpu->r[4] = cpu->r[29];
|
|
/* 028489D8 */ cpu->r[31] = cpu->r[7];
|
|
/* 028489DC */ Gambit_fn_02801AC8(cpu);
|
|
/* 028489E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028489E4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028489E4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 028489E4 */ if (_t3) goto L_028489F0; else goto L_028489E8;
|
|
L_028489E8: ; // 0x28489e8
|
|
/* 028489E8 */ cpu->r[4] = cpu->r[29];
|
|
/* 028489EC */ Gambit_fn_028481C4(cpu);
|
|
L_028489F0: ; // 0x28489f0
|
|
/* 028489F0 */ _t4 = cpu->r[27] + 0x00000220u;
|
|
/* 028489F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 028489F4 */ cpu->r[4] = cpu->r[31];
|
|
/* 028489F8 */ Gambit_fn_02848274(cpu);
|
|
/* 028489FC */ _t5 = cpu->r[27] + 0x0000022Cu;
|
|
/* 028489FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02848A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02848A04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02848A08 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848A08 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02848A08 */ if (_t7) goto L_02848A14; else goto L_02848A0C;
|
|
L_02848A0C: ; // 0x2848a0c
|
|
/* 02848A0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02848A10 */ Gambit_fn_0284827C(cpu);
|
|
L_02848A14: ; // 0x2848a14
|
|
/* 02848A14 */ cpu->r[4] = cpu->r[30];
|
|
/* 02848A18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02848A1C */ Gambit_fn_02848284(cpu);
|
|
/* 02848A20 */ _t8 = cpu->r[28] + 0x00000004u;
|
|
/* 02848A20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02848A24 */ _t9 = cpu->r[11] + 0x00000014u;
|
|
/* 02848A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02848A28 */ cpu->ctr = cpu->r[0];
|
|
/* 02848A2C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02848A2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02848A30 */ cpu->r[3] = cpu->r[28];
|
|
/* 02848A34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848A38 */ _t11 = cpu->r[30] + 0x00000024u;
|
|
/* 02848A38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02848A3C */ cpu->ctr = cpu->r[0];
|
|
/* 02848A40 */ _t12 = cpu->r[28] + 0x00000000u;
|
|
/* 02848A40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02848A44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02848A48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848A4C */ cpu->r[4] = cpu->r[29];
|
|
/* 02848A50 */ cpu->r[3] = cpu->r[27];
|
|
/* 02848A54 */ Gambit_fn_02848928(cpu);
|
|
/* 02848A58 */ /* nop */
|
|
/* 02848A5C */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02848A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02848A60 */ cpu->lr = cpu->r[0];
|
|
/* 02848A64 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02848A68 */ return;
|
|
}
|
|
|
|
// fn_02848A6C @ 0x2848a6c
|
|
void Gambit_fn_02848A6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02848A6C: ; // 0x2848a6c
|
|
/* 02848A6C */ cpu->r[0] = cpu->lr;
|
|
/* 02848A70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02848A70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848A70 */ cpu->r[1] = _t0;
|
|
/* 02848A74 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02848A74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02848A78 */ cpu->r[31] = cpu->r[5];
|
|
/* 02848A7C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02848A7C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02848A80 */ cpu->r[30] = cpu->r[4];
|
|
/* 02848A84 */ cpu->r[4] = cpu->r[31];
|
|
/* 02848A88 */ cpu->r[5] = 0x00000040u;
|
|
/* 02848A8C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848A8C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02848A90 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848A90 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02848A94 */ cpu->r[29] = cpu->r[3];
|
|
/* 02848A98 */ cpu->r[3] = 0x00000320u;
|
|
/* 02848A9C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02848AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848AA4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848AA4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02848AA4 */ if (_t6) goto L_02848AB0; else goto L_02848AA8;
|
|
L_02848AA8: ; // 0x2848aa8
|
|
/* 02848AA8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02848AAC */ Gambit_fn_028486A4(cpu);
|
|
L_02848AB0: ; // 0x2848ab0
|
|
/* 02848AB0 */ _t7 = cpu->r[29] + 0x00000220u;
|
|
/* 02848AB0 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02848AB4 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02848AB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02848AB8 */ _t9 = cpu->r[12] + 0x00000024u;
|
|
/* 02848AB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02848ABC */ cpu->ctr = cpu->r[0];
|
|
/* 02848AC0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02848AC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848AC8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02848ACC */ cpu->r[4] = cpu->r[31];
|
|
/* 02848AD0 */ Gambit_fn_02848928(cpu);
|
|
/* 02848AD4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848AD4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02848AD8 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02848ADC */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02848ADC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02848AE0 */ cpu->lr = cpu->r[0];
|
|
/* 02848AE4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02848AE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02848AE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02848AEC */ return;
|
|
}
|
|
|
|
// fn_02848A70 @ 0x2848a70
|
|
void Gambit_fn_02848A70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02848A70: ; // 0x2848a70
|
|
/* 02848A70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02848A70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848A70 */ cpu->r[1] = _t0;
|
|
/* 02848A74 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02848A74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02848A78 */ cpu->r[31] = cpu->r[5];
|
|
/* 02848A7C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02848A7C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02848A80 */ cpu->r[30] = cpu->r[4];
|
|
/* 02848A84 */ cpu->r[4] = cpu->r[31];
|
|
/* 02848A88 */ cpu->r[5] = 0x00000040u;
|
|
/* 02848A8C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848A8C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02848A90 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848A90 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02848A94 */ cpu->r[29] = cpu->r[3];
|
|
/* 02848A98 */ cpu->r[3] = 0x00000320u;
|
|
/* 02848A9C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02848AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848AA4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848AA4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02848AA4 */ if (_t6) goto L_02848AB0; else goto L_02848AA8;
|
|
L_02848AA8: ; // 0x2848aa8
|
|
/* 02848AA8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02848AAC */ Gambit_fn_028486A4(cpu);
|
|
L_02848AB0: ; // 0x2848ab0
|
|
/* 02848AB0 */ _t7 = cpu->r[29] + 0x00000220u;
|
|
/* 02848AB0 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02848AB4 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02848AB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02848AB8 */ _t9 = cpu->r[12] + 0x00000024u;
|
|
/* 02848AB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02848ABC */ cpu->ctr = cpu->r[0];
|
|
/* 02848AC0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02848AC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848AC8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02848ACC */ cpu->r[4] = cpu->r[31];
|
|
/* 02848AD0 */ Gambit_fn_02848928(cpu);
|
|
/* 02848AD4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848AD4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02848AD8 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02848ADC */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02848ADC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02848AE0 */ cpu->lr = cpu->r[0];
|
|
/* 02848AE4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02848AE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02848AE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02848AEC */ return;
|
|
}
|
|
|
|
// fn_02848AF0 @ 0x2848af0
|
|
void Gambit_fn_02848AF0(CPUState* 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_02848AF0: ; // 0x2848af0
|
|
/* 02848AF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02848AF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02848AF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848AF4 */ cpu->r[1] = _t0;
|
|
/* 02848AF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848AF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02848AFC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02848AFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02848B00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02848B04 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02848B04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02848B08 */ _t4 = cpu->r[31] + 0x00000230u;
|
|
/* 02848B08 */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02848B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02848B10 */ cpu->r[30] = 0x00000000u;
|
|
/* 02848B14 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848B14 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02848B14 */ if (_t6) goto L_02848B24; else goto L_02848B18;
|
|
L_02848B18: ; // 0x2848b18
|
|
/* 02848B18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02848B1C */ Gambit_fn_02C1EE68(cpu);
|
|
/* 02848B20 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02848B20 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[30]);
|
|
L_02848B24: ; // 0x2848b24
|
|
/* 02848B24 */ _t8 = cpu->r[31] + 0x00000220u;
|
|
/* 02848B24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02848B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848B2C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848B2C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02848B2C */ if (_t10) goto L_02848B44; else goto L_02848B30;
|
|
L_02848B30: ; // 0x2848b30
|
|
/* 02848B30 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02848B30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02848B34 */ _t12 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02848B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02848B38 */ cpu->ctr = cpu->r[0];
|
|
/* 02848B3C */ cpu->r[4] = 0x00000003u;
|
|
/* 02848B40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02848B44: ; // 0x2848b44
|
|
/* 02848B44 */ _t13 = cpu->r[31] + 0x00000224u;
|
|
/* 02848B44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02848B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848B4C */ _t14 = cpu->r[31] + 0x00000220u;
|
|
/* 02848B4C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02848B50 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848B50 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02848B50 */ if (_t16) goto L_02848B5C; else goto L_02848B54;
|
|
L_02848B54: ; // 0x2848b54
|
|
/* 02848B54 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02848B58 */ _t17 = cpu->r[31] + 0x00000224u;
|
|
/* 02848B58 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
L_02848B5C: ; // 0x2848b5c
|
|
/* 02848B5C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02848B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02848B60 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02848B60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02848B64 */ cpu->lr = cpu->r[0];
|
|
/* 02848B68 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848B68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02848B6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02848B70 */ return;
|
|
}
|
|
|
|
// fn_02848AF4 @ 0x2848af4
|
|
void Gambit_fn_02848AF4(CPUState* 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_02848AF4: ; // 0x2848af4
|
|
/* 02848AF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02848AF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848AF4 */ cpu->r[1] = _t0;
|
|
/* 02848AF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848AF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02848AFC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02848AFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02848B00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02848B04 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02848B04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02848B08 */ _t4 = cpu->r[31] + 0x00000230u;
|
|
/* 02848B08 */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02848B0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02848B10 */ cpu->r[30] = 0x00000000u;
|
|
/* 02848B14 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848B14 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02848B14 */ if (_t6) goto L_02848B24; else goto L_02848B18;
|
|
L_02848B18: ; // 0x2848b18
|
|
/* 02848B18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02848B1C */ Gambit_fn_02C1EE68(cpu);
|
|
/* 02848B20 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 02848B20 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[30]);
|
|
L_02848B24: ; // 0x2848b24
|
|
/* 02848B24 */ _t8 = cpu->r[31] + 0x00000220u;
|
|
/* 02848B24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02848B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848B2C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848B2C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02848B2C */ if (_t10) goto L_02848B44; else goto L_02848B30;
|
|
L_02848B30: ; // 0x2848b30
|
|
/* 02848B30 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02848B30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02848B34 */ _t12 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02848B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02848B38 */ cpu->ctr = cpu->r[0];
|
|
/* 02848B3C */ cpu->r[4] = 0x00000003u;
|
|
/* 02848B40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02848B44: ; // 0x2848b44
|
|
/* 02848B44 */ _t13 = cpu->r[31] + 0x00000224u;
|
|
/* 02848B44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02848B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848B4C */ _t14 = cpu->r[31] + 0x00000220u;
|
|
/* 02848B4C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02848B50 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848B50 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02848B50 */ if (_t16) goto L_02848B5C; else goto L_02848B54;
|
|
L_02848B54: ; // 0x2848b54
|
|
/* 02848B54 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02848B58 */ _t17 = cpu->r[31] + 0x00000224u;
|
|
/* 02848B58 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
L_02848B5C: ; // 0x2848b5c
|
|
/* 02848B5C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02848B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02848B60 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02848B60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02848B64 */ cpu->lr = cpu->r[0];
|
|
/* 02848B68 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848B68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02848B6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02848B70 */ return;
|
|
}
|
|
|
|
// fn_02848B74 @ 0x2848b74
|
|
void Gambit_fn_02848B74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02848B74: ; // 0x2848b74
|
|
/* 02848B74 */ cpu->r[0] = cpu->lr;
|
|
/* 02848B78 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02848B78 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02848B7C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02848B7C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02848B7C */ cpu->r[1] = _t1;
|
|
/* 02848B80 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02848B80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02848B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02848B88 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848B88 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02848B88 */ if (_t4) goto L_02848B8C; else goto L_02848B9C;
|
|
L_02848B8C: ; // 0x2848b8c
|
|
/* 02848B8C */ _t5 = cpu->r[3] + 0x00000228u;
|
|
/* 02848B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02848B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02848B94 */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 02848B94 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02848B98 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848B98 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02848B98 */ if (_t8) goto L_02848BAC; else goto L_02848B9C;
|
|
L_02848B9C: ; // 0x2848b9c
|
|
/* 02848B9C */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02848BA0 */ Gambit_fn_02C339F0(cpu);
|
|
/* 02848BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848BA8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848BA8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02848BA8 */ if (_t10) goto L_02848BAC; else goto L_02848BC0;
|
|
L_02848BAC: ; // 0x2848bac
|
|
/* 02848BAC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848BAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02848BB0 */ cpu->lr = cpu->r[0];
|
|
/* 02848BB4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02848BB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02848BBC */ return;
|
|
L_02848BC0: ; // 0x2848bc0
|
|
/* 02848BC0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848BC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02848BC4 */ cpu->lr = cpu->r[0];
|
|
/* 02848BC8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02848BCC */ cpu->r[3] = 0x00000001u;
|
|
/* 02848BD0 */ return;
|
|
}
|
|
|
|
// fn_02848B7C @ 0x2848b7c
|
|
void Gambit_fn_02848B7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02848B7C: ; // 0x2848b7c
|
|
/* 02848B7C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02848B7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848B7C */ cpu->r[1] = _t0;
|
|
/* 02848B80 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02848B80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02848B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02848B88 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848B88 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02848B88 */ if (_t3) goto L_02848B8C; else goto L_02848B9C;
|
|
L_02848B8C: ; // 0x2848b8c
|
|
/* 02848B8C */ _t4 = cpu->r[3] + 0x00000228u;
|
|
/* 02848B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02848B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02848B94 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02848B94 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02848B98 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848B98 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02848B98 */ if (_t7) goto L_02848BAC; else goto L_02848B9C;
|
|
L_02848B9C: ; // 0x2848b9c
|
|
/* 02848B9C */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02848BA0 */ Gambit_fn_02C339F0(cpu);
|
|
/* 02848BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848BA8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848BA8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02848BA8 */ if (_t9) goto L_02848BAC; else goto L_02848BC0;
|
|
L_02848BAC: ; // 0x2848bac
|
|
/* 02848BAC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848BAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02848BB0 */ cpu->lr = cpu->r[0];
|
|
/* 02848BB4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02848BB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02848BBC */ return;
|
|
L_02848BC0: ; // 0x2848bc0
|
|
/* 02848BC0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848BC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02848BC4 */ cpu->lr = cpu->r[0];
|
|
/* 02848BC8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02848BCC */ cpu->r[3] = 0x00000001u;
|
|
/* 02848BD0 */ return;
|
|
}
|
|
|
|
// fn_02848BD4 @ 0x2848bd4
|
|
void Gambit_fn_02848BD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02848BD4: ; // 0x2848bd4
|
|
/* 02848BD4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02848BD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848BD4 */ cpu->r[1] = _t0;
|
|
/* 02848BD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02848BDC */ /* nop */
|
|
/* 02848BE0 */ cpu->r[28] = cpu->r[4];
|
|
/* 02848BE4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02848BE8 */ cpu->r[31] = cpu->r[6];
|
|
/* 02848BEC */ cpu->r[30] = cpu->r[5];
|
|
/* 02848BF0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02848BF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02848BF4 */ cpu->r[27] = cpu->r[3];
|
|
/* 02848BF8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02848BF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[7]);
|
|
/* 02848BFC */ cpu->r[29] = 0x00000000u;
|
|
/* 02848C00 */ Gambit_fn_02848B74(cpu);
|
|
/* 02848C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848C08 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848C08 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02848C08 */ if (_t4) goto L_02848C28; else goto L_02848C0C;
|
|
L_02848C0C: ; // 0x2848c0c
|
|
/* 02848C0C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02848C0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02848C10 */ cpu->r[7] = cpu->r[31];
|
|
/* 02848C14 */ cpu->r[6] = cpu->r[30];
|
|
/* 02848C18 */ cpu->r[4] = cpu->r[28];
|
|
/* 02848C1C */ cpu->r[3] = cpu->r[27] + 0x0000000Cu;
|
|
/* 02848C20 */ Gambit_fn_02C3512C(cpu);
|
|
/* 02848C24 */ cpu->r[29] = cpu->r[3];
|
|
L_02848C28: ; // 0x2848c28
|
|
/* 02848C28 */ cpu->r[3] = cpu->r[29];
|
|
/* 02848C2C */ /* nop */
|
|
/* 02848C30 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02848C30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02848C34 */ cpu->lr = cpu->r[0];
|
|
/* 02848C38 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02848C3C */ return;
|
|
}
|
|
|
|
// fn_02848C40 @ 0x2848c40
|
|
void Gambit_fn_02848C40(CPUState* cpu) {
|
|
uint32_t _t0, _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_02848C40: ; // 0x2848c40
|
|
/* 02848C40 */ cpu->r[0] = cpu->lr;
|
|
/* 02848C44 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02848C44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848C44 */ cpu->r[1] = _t0;
|
|
/* 02848C48 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848C48 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02848C4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02848C4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02848C50 */ _t3 = cpu->r[3] + 0x00000220u;
|
|
/* 02848C50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02848C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02848C58 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848C58 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02848C58 */ if (_t5) goto L_02848CD0; else goto L_02848C5C;
|
|
L_02848C5C: ; // 0x2848c5c
|
|
/* 02848C5C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02848C5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02848C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02848C64 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848C64 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02848C64 */ if (_t8) goto L_02848C68; else goto L_02848CD0;
|
|
L_02848C68: ; // 0x2848c68
|
|
/* 02848C68 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02848C6C */ _t9 = cpu->r[12] + 0x000016F8u;
|
|
/* 02848C6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02848C6C */ cpu->r[12] = _t9;
|
|
/* 02848C70 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02848C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02848C78 */ cpu->r[4] = cpu->r[4] + 0x00001700u;
|
|
/* 02848C7C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848C7C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02848C7C */ if (_t11) goto L_02848C80; else goto L_02848C94;
|
|
L_02848C80: ; // 0x2848c80
|
|
/* 02848C80 */ cpu->r[8] = 0x10130000u;
|
|
/* 02848C84 */ cpu->r[0] = 0x00000001u;
|
|
/* 02848C88 */ cpu->r[8] = cpu->r[8] + 0xFFFFF584u;
|
|
/* 02848C8C */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 02848C8C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02848C90 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 02848C90 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
L_02848C94: ; // 0x2848c94
|
|
/* 02848C94 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02848C94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02848C98 */ _t15 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02848C98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02848C9C */ cpu->ctr = cpu->r[0];
|
|
/* 02848CA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02848CA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848CAC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848CAC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02848CAC */ if (_t17) goto L_02848CD0; else goto L_02848CB0;
|
|
L_02848CB0: ; // 0x2848cb0
|
|
/* 02848CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02848CB4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848CB4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02848CB4 */ if (_t19) goto L_02848CD0; else goto L_02848CB8;
|
|
L_02848CB8: ; // 0x2848cb8
|
|
/* 02848CB8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02848CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02848CBC */ _t21 = cpu->r[31] + 0x00000654u;
|
|
/* 02848CBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02848CC0 */ cpu->lr = cpu->r[0];
|
|
/* 02848CC4 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848CC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02848CC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02848CCC */ return;
|
|
L_02848CD0: ; // 0x2848cd0
|
|
/* 02848CD0 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02848CD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02848CD4 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848CD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02848CD8 */ cpu->lr = cpu->r[0];
|
|
/* 02848CDC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02848CE0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02848CE4 */ return;
|
|
}
|
|
|
|
// fn_02848C44 @ 0x2848c44
|
|
void Gambit_fn_02848C44(CPUState* cpu) {
|
|
uint32_t _t0, _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_02848C44: ; // 0x2848c44
|
|
/* 02848C44 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02848C44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848C44 */ cpu->r[1] = _t0;
|
|
/* 02848C48 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848C48 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02848C4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02848C4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02848C50 */ _t3 = cpu->r[3] + 0x00000220u;
|
|
/* 02848C50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02848C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02848C58 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848C58 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02848C58 */ if (_t5) goto L_02848CD0; else goto L_02848C5C;
|
|
L_02848C5C: ; // 0x2848c5c
|
|
/* 02848C5C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02848C5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02848C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02848C64 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848C64 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02848C64 */ if (_t8) goto L_02848C68; else goto L_02848CD0;
|
|
L_02848C68: ; // 0x2848c68
|
|
/* 02848C68 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02848C6C */ _t9 = cpu->r[12] + 0x000016F8u;
|
|
/* 02848C6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02848C6C */ cpu->r[12] = _t9;
|
|
/* 02848C70 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02848C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02848C78 */ cpu->r[4] = cpu->r[4] + 0x00001700u;
|
|
/* 02848C7C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848C7C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02848C7C */ if (_t11) goto L_02848C80; else goto L_02848C94;
|
|
L_02848C80: ; // 0x2848c80
|
|
/* 02848C80 */ cpu->r[8] = 0x10130000u;
|
|
/* 02848C84 */ cpu->r[0] = 0x00000001u;
|
|
/* 02848C88 */ cpu->r[8] = cpu->r[8] + 0xFFFFF584u;
|
|
/* 02848C8C */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 02848C8C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02848C90 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 02848C90 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
L_02848C94: ; // 0x2848c94
|
|
/* 02848C94 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02848C94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02848C98 */ _t15 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02848C98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02848C9C */ cpu->ctr = cpu->r[0];
|
|
/* 02848CA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02848CA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848CAC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848CAC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02848CAC */ if (_t17) goto L_02848CD0; else goto L_02848CB0;
|
|
L_02848CB0: ; // 0x2848cb0
|
|
/* 02848CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02848CB4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848CB4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02848CB4 */ if (_t19) goto L_02848CD0; else goto L_02848CB8;
|
|
L_02848CB8: ; // 0x2848cb8
|
|
/* 02848CB8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02848CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02848CBC */ _t21 = cpu->r[31] + 0x00000654u;
|
|
/* 02848CBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02848CC0 */ cpu->lr = cpu->r[0];
|
|
/* 02848CC4 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848CC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02848CC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02848CCC */ return;
|
|
L_02848CD0: ; // 0x2848cd0
|
|
/* 02848CD0 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02848CD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02848CD4 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848CD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02848CD8 */ cpu->lr = cpu->r[0];
|
|
/* 02848CDC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02848CE0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02848CE4 */ return;
|
|
}
|
|
|
|
// fn_02848CE8 @ 0x2848ce8
|
|
void Gambit_fn_02848CE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02848CE8: ; // 0x2848ce8
|
|
/* 02848CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848CEC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848CEC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02848CEC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02848CEC */ goto L_02848CF0;
|
|
L_02848CF0: ; // 0x2848cf0
|
|
/* 02848CF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02848CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02848CF4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848CF4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02848CF4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02848CF4 */ goto L_02848CF8;
|
|
L_02848CF8: ; // 0x2848cf8
|
|
/* 02848CF8 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02848CFC @ 0x2848cfc
|
|
void Gambit_fn_02848CFC(CPUState* cpu) {
|
|
L_02848CFC: ; // 0x2848cfc
|
|
/* 02848CFC */ return;
|
|
}
|
|
|
|
// fn_02848D00 @ 0x2848d00
|
|
void Gambit_fn_02848D00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02848D00: ; // 0x2848d00
|
|
/* 02848D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848D04 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848D04 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02848D04 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02848D04 */ goto L_02848D08;
|
|
L_02848D08: ; // 0x2848d08
|
|
/* 02848D08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02848D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02848D0C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848D0C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02848D0C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02848D0C */ goto L_02848D10;
|
|
L_02848D10: ; // 0x2848d10
|
|
/* 02848D10 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02848D14 @ 0x2848d14
|
|
void Gambit_fn_02848D14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02848D14: ; // 0x2848d14
|
|
/* 02848D14 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02848D14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02848D18 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02848D18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02848D1C */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02848D20 */ cpu->r[11] = 0x10110000u;
|
|
/* 02848D24 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02848D24 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02848D28 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02848D28 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02848D2C */ return;
|
|
}
|
|
|
|
// fn_02848D30 @ 0x2848d30
|
|
void Gambit_fn_02848D30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02848D30: ; // 0x2848d30
|
|
/* 02848D30 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02848D34 */ _t0 = cpu->r[11] + 0x000016F4u;
|
|
/* 02848D34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02848D34 */ cpu->r[11] = _t0;
|
|
/* 02848D38 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02848D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02848D40 */ cpu->r[12] = cpu->r[12] + 0x00001708u;
|
|
/* 02848D44 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848D44 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02848D44 */ if (_t2) goto L_02848D48; else goto L_02848D5C;
|
|
L_02848D48: ; // 0x2848d48
|
|
/* 02848D48 */ cpu->r[9] = 0x10130000u;
|
|
/* 02848D4C */ cpu->r[8] = 0x00000001u;
|
|
/* 02848D50 */ cpu->r[9] = cpu->r[9] + 0xFFFFF514u;
|
|
/* 02848D54 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 02848D54 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02848D58 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02848D58 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02848D5C: ; // 0x2848d5c
|
|
/* 02848D5C */ cpu->r[10] = cpu->r[4] ^ cpu->r[12];
|
|
/* 02848D60 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 02848D64 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02848D68 */ return;
|
|
}
|
|
|
|
// fn_02848D6C @ 0x2848d6c
|
|
void Gambit_fn_02848D6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02848D6C: ; // 0x2848d6c
|
|
/* 02848D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848D70 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848D70 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02848D70 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02848D70 */ goto L_02848D74;
|
|
L_02848D74: ; // 0x2848d74
|
|
/* 02848D74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02848D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02848D78 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848D78 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02848D78 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02848D78 */ goto L_02848D7C;
|
|
L_02848D7C: ; // 0x2848d7c
|
|
/* 02848D7C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02848D80 @ 0x2848d80
|
|
void Gambit_fn_02848D80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02848D80: ; // 0x2848d80
|
|
/* 02848D80 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02848D84 */ _t0 = cpu->r[9] + 0x000016F8u;
|
|
/* 02848D84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02848D84 */ cpu->r[9] = _t0;
|
|
/* 02848D88 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02848D8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02848D90 */ cpu->r[12] = cpu->r[12] + 0x00001700u;
|
|
/* 02848D94 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848D94 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02848D94 */ if (_t2) goto L_02848D98; else goto L_02848DAC;
|
|
L_02848D98: ; // 0x2848d98
|
|
/* 02848D98 */ cpu->r[7] = 0x10130000u;
|
|
/* 02848D9C */ cpu->r[0] = 0x00000001u;
|
|
/* 02848DA0 */ cpu->r[7] = cpu->r[7] + 0xFFFFF584u;
|
|
/* 02848DA4 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02848DA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02848DA8 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02848DA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02848DAC: ; // 0x2848dac
|
|
/* 02848DAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02848DB0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848DB0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02848DB0 */ if (_t6) goto L_02848DB4; else goto L_02848DBC;
|
|
L_02848DB4: ; // 0x2848db4
|
|
/* 02848DB4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02848DB8 */ return;
|
|
L_02848DBC: ; // 0x2848dbc
|
|
/* 02848DBC */ cpu->r[7] = 0x101D0000u;
|
|
/* 02848DC0 */ _t7 = cpu->r[7] + 0x000016F4u;
|
|
/* 02848DC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02848DC0 */ cpu->r[7] = _t7;
|
|
/* 02848DC4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02848DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02848DCC */ cpu->r[11] = cpu->r[11] + 0x00001708u;
|
|
/* 02848DD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848DD0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02848DD0 */ if (_t9) goto L_02848DD4; else goto L_02848DE8;
|
|
L_02848DD4: ; // 0x2848dd4
|
|
/* 02848DD4 */ cpu->r[0] = 0x10130000u;
|
|
/* 02848DD8 */ cpu->r[9] = 0x00000001u;
|
|
/* 02848DDC */ cpu->r[0] = cpu->r[0] + 0xFFFFF514u;
|
|
/* 02848DE0 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02848DE0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02848DE4 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02848DE4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02848DE8: ; // 0x2848de8
|
|
/* 02848DE8 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02848DEC */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02848DF0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02848DF4 */ return;
|
|
}
|
|
|
|
// fn_02848DF8 @ 0x2848df8
|
|
void Gambit_fn_02848DF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02848DF8: ; // 0x2848df8
|
|
/* 02848DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848DFC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848DFC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02848DFC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02848DFC */ goto L_02848E00;
|
|
L_02848E00: ; // 0x2848e00
|
|
/* 02848E00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02848E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02848E04 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848E04 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02848E04 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02848E04 */ goto L_02848E08;
|
|
L_02848E08: ; // 0x2848e08
|
|
/* 02848E08 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02848E0C @ 0x2848e0c
|
|
void Gambit_fn_02848E0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02848E0C: ; // 0x2848e0c
|
|
/* 02848E0C */ cpu->r[9] = 0x101D0000u;
|
|
/* 02848E10 */ _t0 = cpu->r[9] + 0x000016FCu;
|
|
/* 02848E10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02848E10 */ cpu->r[9] = _t0;
|
|
/* 02848E14 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02848E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02848E1C */ cpu->r[12] = cpu->r[12] + 0x00001704u;
|
|
/* 02848E20 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848E20 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02848E20 */ if (_t2) goto L_02848E24; else goto L_02848E38;
|
|
L_02848E24: ; // 0x2848e24
|
|
/* 02848E24 */ cpu->r[7] = 0x10130000u;
|
|
/* 02848E28 */ cpu->r[0] = 0x00000001u;
|
|
/* 02848E2C */ cpu->r[7] = cpu->r[7] + 0xFFFFF584u;
|
|
/* 02848E30 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02848E30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02848E34 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02848E34 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02848E38: ; // 0x2848e38
|
|
/* 02848E38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02848E3C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848E3C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02848E3C */ if (_t6) goto L_02848E40; else goto L_02848E48;
|
|
L_02848E40: ; // 0x2848e40
|
|
/* 02848E40 */ cpu->r[3] = 0x00000001u;
|
|
/* 02848E44 */ return;
|
|
L_02848E48: ; // 0x2848e48
|
|
/* 02848E48 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02848E4C */ _t7 = cpu->r[7] + 0x000016F4u;
|
|
/* 02848E4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02848E4C */ cpu->r[7] = _t7;
|
|
/* 02848E50 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02848E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02848E58 */ cpu->r[11] = cpu->r[11] + 0x00001708u;
|
|
/* 02848E5C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848E5C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02848E5C */ if (_t9) goto L_02848E60; else goto L_02848E74;
|
|
L_02848E60: ; // 0x2848e60
|
|
/* 02848E60 */ cpu->r[0] = 0x10130000u;
|
|
/* 02848E64 */ cpu->r[9] = 0x00000001u;
|
|
/* 02848E68 */ cpu->r[0] = cpu->r[0] + 0xFFFFF514u;
|
|
/* 02848E6C */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02848E6C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02848E70 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02848E70 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02848E74: ; // 0x2848e74
|
|
/* 02848E74 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02848E78 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02848E7C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02848E80 */ return;
|
|
}
|
|
|
|
// fn_02848E84 @ 0x2848e84
|
|
void Gambit_fn_02848E84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02848E84: ; // 0x2848e84
|
|
/* 02848E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02848E88 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848E88 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02848E88 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02848E88 */ goto L_02848E8C;
|
|
L_02848E8C: ; // 0x2848e8c
|
|
/* 02848E8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02848E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02848E90 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848E90 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02848E90 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02848E90 */ goto L_02848E94;
|
|
L_02848E94: ; // 0x2848e94
|
|
/* 02848E94 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02848E98 @ 0x2848e98
|
|
void Gambit_fn_02848E98(CPUState* cpu) {
|
|
L_02848E98: ; // 0x2848e98
|
|
/* 02848E98 */ return;
|
|
}
|
|
|
|
// fn_02848E9C @ 0x2848e9c
|
|
void Gambit_fn_02848E9C(CPUState* cpu) {
|
|
L_02848E9C: ; // 0x2848e9c
|
|
/* 02848E9C */ return;
|
|
}
|
|
|
|
// fn_02848EA0 @ 0x2848ea0
|
|
void Gambit_fn_02848EA0(CPUState* cpu) {
|
|
L_02848EA0: ; // 0x2848ea0
|
|
/* 02848EA0 */ cpu->r[3] = 0x00000010u;
|
|
/* 02848EA4 */ return;
|
|
}
|
|
|
|
// fn_02848EA8 @ 0x2848ea8
|
|
void Gambit_fn_02848EA8(CPUState* cpu) {
|
|
L_02848EA8: ; // 0x2848ea8
|
|
/* 02848EA8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02848EAC */ return;
|
|
}
|
|
|
|
// fn_02848EB0 @ 0x2848eb0
|
|
void Gambit_fn_02848EB0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02848EB0: ; // 0x2848eb0
|
|
/* 02848EB0 */ _t0 = cpu->r[3] + 0x0000062Cu;
|
|
/* 02848EB0 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02848EB4 */ return;
|
|
}
|
|
|
|
// fn_02848EB8 @ 0x2848eb8
|
|
void Gambit_fn_02848EB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02848EB8: ; // 0x2848eb8
|
|
/* 02848EB8 */ cpu->r[0] = cpu->lr;
|
|
/* 02848EBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02848EBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848EBC */ cpu->r[1] = _t0;
|
|
/* 02848EC0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848EC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02848EC4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02848EC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02848EC8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02848EC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02848ECC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848ECC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02848ED0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02848ED4 */ _t5 = cpu->r[29] + 0x00000048u;
|
|
/* 02848ED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02848ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02848EDC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848EDC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02848EDC */ if (_t7) goto L_02848F10; else goto L_02848EE0;
|
|
L_02848EE0: ; // 0x2848ee0
|
|
/* 02848EE0 */ cpu->r[30] = cpu->r[29] + 0x00000004u;
|
|
/* 02848EE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02848EE8 */ rbrew_dispatch(cpu, 0x02d0ad48u);
|
|
/* 02848EEC */ cpu->r[3] = cpu->r[29] + 0x00000034u;
|
|
/* 02848EF0 */ Gambit_fn_02C35E14(cpu);
|
|
/* 02848EF4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02848EF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02848EFC */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02848F00 */ cpu->r[0] = cpu->r[31] + cpu->r[29];
|
|
/* 02848F04 */ cpu->r[0] = cpu->r[31] ^ cpu->r[0];
|
|
/* 02848F08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000002u);
|
|
/* 02848F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02848F0C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848F0C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02848F0C */ if (_t9) goto L_02848F10; else goto L_02848F30;
|
|
L_02848F10: ; // 0x2848f10
|
|
/* 02848F10 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848F10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02848F14 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02848F18 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02848F18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02848F1C */ cpu->lr = cpu->r[0];
|
|
/* 02848F20 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02848F20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02848F24 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02848F28 */ cpu->r[3] = 0x00000000u;
|
|
/* 02848F2C */ return;
|
|
L_02848F30: ; // 0x2848f30
|
|
/* 02848F30 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848F30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02848F34 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848F34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02848F38 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02848F38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02848F3C */ cpu->lr = cpu->r[0];
|
|
/* 02848F40 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02848F40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02848F44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02848F48 */ cpu->r[3] = 0x00000001u;
|
|
/* 02848F4C */ return;
|
|
}
|
|
|
|
// fn_02848EBC @ 0x2848ebc
|
|
void Gambit_fn_02848EBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02848EBC: ; // 0x2848ebc
|
|
/* 02848EBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02848EBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848EBC */ cpu->r[1] = _t0;
|
|
/* 02848EC0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848EC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02848EC4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02848EC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02848EC8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02848EC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02848ECC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848ECC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02848ED0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02848ED4 */ _t5 = cpu->r[29] + 0x00000048u;
|
|
/* 02848ED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02848ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02848EDC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848EDC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02848EDC */ if (_t7) goto L_02848F10; else goto L_02848EE0;
|
|
L_02848EE0: ; // 0x2848ee0
|
|
/* 02848EE0 */ cpu->r[30] = cpu->r[29] + 0x00000004u;
|
|
/* 02848EE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02848EE8 */ rbrew_dispatch(cpu, 0x02d0ad48u);
|
|
/* 02848EEC */ cpu->r[3] = cpu->r[29] + 0x00000034u;
|
|
/* 02848EF0 */ Gambit_fn_02C35E14(cpu);
|
|
/* 02848EF4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02848EF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02848EFC */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02848F00 */ cpu->r[0] = cpu->r[31] + cpu->r[29];
|
|
/* 02848F04 */ cpu->r[0] = cpu->r[31] ^ cpu->r[0];
|
|
/* 02848F08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000002u);
|
|
/* 02848F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02848F0C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848F0C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02848F0C */ if (_t9) goto L_02848F10; else goto L_02848F30;
|
|
L_02848F10: ; // 0x2848f10
|
|
/* 02848F10 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848F10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02848F14 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02848F18 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02848F18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02848F1C */ cpu->lr = cpu->r[0];
|
|
/* 02848F20 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02848F20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02848F24 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02848F28 */ cpu->r[3] = 0x00000000u;
|
|
/* 02848F2C */ return;
|
|
L_02848F30: ; // 0x2848f30
|
|
/* 02848F30 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848F30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02848F34 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848F34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02848F38 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02848F38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02848F3C */ cpu->lr = cpu->r[0];
|
|
/* 02848F40 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02848F40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02848F44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02848F48 */ cpu->r[3] = 0x00000001u;
|
|
/* 02848F4C */ return;
|
|
}
|
|
|
|
// fn_02848F50 @ 0x2848f50
|
|
void Gambit_fn_02848F50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02848F50: ; // 0x2848f50
|
|
/* 02848F50 */ cpu->r[0] = cpu->lr;
|
|
/* 02848F54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02848F54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848F54 */ cpu->r[1] = _t0;
|
|
/* 02848F58 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02848F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02848F5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02848F5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02848F60 */ cpu->r[31] = cpu->r[5];
|
|
/* 02848F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02848F64 */ cpu->r[30] = cpu->r[4];
|
|
/* 02848F68 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848F68 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02848F6C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848F6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02848F70 */ cpu->r[29] = cpu->r[3];
|
|
/* 02848F74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848F74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02848F74 */ if (_t6) goto L_02848F78; else goto L_02848F88;
|
|
L_02848F78: ; // 0x2848f78
|
|
/* 02848F78 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02848F7C */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02848F7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02848F80 */ Gambit_fn_02826F20(cpu);
|
|
/* 02848F84 */ cpu->r[31] = cpu->r[3];
|
|
L_02848F88: ; // 0x2848f88
|
|
/* 02848F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02848F8C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848F8C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02848F8C */ if (_t9) goto L_02848F90; else goto L_02848FAC;
|
|
L_02848F90: ; // 0x2848f90
|
|
/* 02848F90 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02848F90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02848F94 */ _t11 = cpu->r[12] + 0x00000084u;
|
|
/* 02848F94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02848F98 */ cpu->ctr = cpu->r[0];
|
|
/* 02848F9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02848FA0 */ cpu->r[4] = 0x00000040u;
|
|
/* 02848FA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848FA8 */ cpu->r[30] = cpu->r[3] + 0xFFFFFFC0u;
|
|
L_02848FAC: ; // 0x2848fac
|
|
/* 02848FAC */ cpu->r[5] = 0x00000040u;
|
|
/* 02848FB0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02848FB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02848FB8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02848FBC */ cpu->r[4] = cpu->r[3];
|
|
/* 02848FC0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02848FC4 */ cpu->r[5] = cpu->r[30];
|
|
/* 02848FC8 */ _t12 = cpu->r[29] + 0x00000048u;
|
|
/* 02848FC8 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 02848FCC */ Gambit_fn_02C32930(cpu);
|
|
/* 02848FD0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02848FD4 */ Gambit_fn_02848EB8(cpu);
|
|
/* 02848FD8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848FD8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02848FDC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848FDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02848FE0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02848FE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02848FE4 */ cpu->lr = cpu->r[0];
|
|
/* 02848FE8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02848FE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02848FEC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02848FF0 */ return;
|
|
}
|
|
|
|
// fn_02848F54 @ 0x2848f54
|
|
void Gambit_fn_02848F54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02848F54: ; // 0x2848f54
|
|
/* 02848F54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02848F54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848F54 */ cpu->r[1] = _t0;
|
|
/* 02848F58 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02848F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02848F5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02848F5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02848F60 */ cpu->r[31] = cpu->r[5];
|
|
/* 02848F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02848F64 */ cpu->r[30] = cpu->r[4];
|
|
/* 02848F68 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848F68 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02848F6C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848F6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02848F70 */ cpu->r[29] = cpu->r[3];
|
|
/* 02848F74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848F74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02848F74 */ if (_t6) goto L_02848F78; else goto L_02848F88;
|
|
L_02848F78: ; // 0x2848f78
|
|
/* 02848F78 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02848F7C */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02848F7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02848F80 */ Gambit_fn_02826F20(cpu);
|
|
/* 02848F84 */ cpu->r[31] = cpu->r[3];
|
|
L_02848F88: ; // 0x2848f88
|
|
/* 02848F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02848F8C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02848F8C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02848F8C */ if (_t9) goto L_02848F90; else goto L_02848FAC;
|
|
L_02848F90: ; // 0x2848f90
|
|
/* 02848F90 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02848F90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02848F94 */ _t11 = cpu->r[12] + 0x00000084u;
|
|
/* 02848F94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02848F98 */ cpu->ctr = cpu->r[0];
|
|
/* 02848F9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02848FA0 */ cpu->r[4] = 0x00000040u;
|
|
/* 02848FA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02848FA8 */ cpu->r[30] = cpu->r[3] + 0xFFFFFFC0u;
|
|
L_02848FAC: ; // 0x2848fac
|
|
/* 02848FAC */ cpu->r[5] = 0x00000040u;
|
|
/* 02848FB0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02848FB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02848FB8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02848FBC */ cpu->r[4] = cpu->r[3];
|
|
/* 02848FC0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02848FC4 */ cpu->r[5] = cpu->r[30];
|
|
/* 02848FC8 */ _t12 = cpu->r[29] + 0x00000048u;
|
|
/* 02848FC8 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 02848FCC */ Gambit_fn_02C32930(cpu);
|
|
/* 02848FD0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02848FD4 */ Gambit_fn_02848EB8(cpu);
|
|
/* 02848FD8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02848FD8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02848FDC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02848FDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02848FE0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02848FE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02848FE4 */ cpu->lr = cpu->r[0];
|
|
/* 02848FE8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02848FE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02848FEC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02848FF0 */ return;
|
|
}
|
|
|
|
// fn_02848FF4 @ 0x2848ff4
|
|
void Gambit_fn_02848FF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02848FF4: ; // 0x2848ff4
|
|
/* 02848FF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02848FF8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02848FF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848FF8 */ cpu->r[1] = _t0;
|
|
/* 02848FFC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02848FFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02849000 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02849000 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02849004 */ cpu->r[30] = cpu->r[5];
|
|
/* 02849008 */ cpu->r[31] = cpu->r[3];
|
|
/* 02849008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284900C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284900C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02849010 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02849010 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02849014 */ cpu->r[29] = cpu->r[4];
|
|
/* 02849018 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849018 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02849018 */ if (_t6) goto L_0284901C; else goto L_0284902C;
|
|
L_0284901C: ; // 0x284901c
|
|
/* 0284901C */ cpu->r[3] = 0x00000054u;
|
|
/* 02849020 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849024 */ cpu->r[31] = cpu->r[3];
|
|
/* 02849024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02849028 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849028 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02849028 */ if (_t8) goto L_0284906C; else goto L_0284902C;
|
|
L_0284902C: ; // 0x284902c
|
|
/* 0284902C */ cpu->r[3] = cpu->r[31];
|
|
/* 02849030 */ Gambit_fn_02C32150(cpu);
|
|
/* 02849034 */ cpu->r[10] = 0x10130000u;
|
|
/* 02849038 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284903C */ cpu->r[10] = cpu->r[10] + 0xFFFFF7A4u;
|
|
/* 02849040 */ cpu->r[0] = cpu->r[0] + 0xFFFFF78Cu;
|
|
/* 02849044 */ _t9 = cpu->r[31] + 0x00000044u;
|
|
/* 02849044 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02849048 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02849048 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0284904C */ cpu->r[0] = 0x00000000u;
|
|
/* 02849050 */ cpu->r[3] = cpu->r[31];
|
|
/* 02849054 */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 02849054 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02849058 */ cpu->r[5] = cpu->r[30];
|
|
/* 0284905C */ _t12 = cpu->r[31] + 0x00000048u;
|
|
/* 0284905C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02849060 */ cpu->r[4] = cpu->r[29];
|
|
/* 02849064 */ _t13 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02849064 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02849068 */ Gambit_fn_02848F50(cpu);
|
|
L_0284906C: ; // 0x284906c
|
|
/* 0284906C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284906C */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02849070 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02849070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02849074 */ cpu->r[3] = cpu->r[31];
|
|
/* 02849078 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02849078 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284907C */ cpu->lr = cpu->r[0];
|
|
/* 02849080 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02849080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02849084 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02849088 */ return;
|
|
}
|
|
|
|
// fn_02848FF8 @ 0x2848ff8
|
|
void Gambit_fn_02848FF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02848FF8: ; // 0x2848ff8
|
|
/* 02848FF8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02848FF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02848FF8 */ cpu->r[1] = _t0;
|
|
/* 02848FFC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02848FFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02849000 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02849000 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02849004 */ cpu->r[30] = cpu->r[5];
|
|
/* 02849008 */ cpu->r[31] = cpu->r[3];
|
|
/* 02849008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284900C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284900C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02849010 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02849010 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02849014 */ cpu->r[29] = cpu->r[4];
|
|
/* 02849018 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849018 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02849018 */ if (_t6) goto L_0284901C; else goto L_0284902C;
|
|
L_0284901C: ; // 0x284901c
|
|
/* 0284901C */ cpu->r[3] = 0x00000054u;
|
|
/* 02849020 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849024 */ cpu->r[31] = cpu->r[3];
|
|
/* 02849024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02849028 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849028 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02849028 */ if (_t8) goto L_0284906C; else goto L_0284902C;
|
|
L_0284902C: ; // 0x284902c
|
|
/* 0284902C */ cpu->r[3] = cpu->r[31];
|
|
/* 02849030 */ Gambit_fn_02C32150(cpu);
|
|
/* 02849034 */ cpu->r[10] = 0x10130000u;
|
|
/* 02849038 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284903C */ cpu->r[10] = cpu->r[10] + 0xFFFFF7A4u;
|
|
/* 02849040 */ cpu->r[0] = cpu->r[0] + 0xFFFFF78Cu;
|
|
/* 02849044 */ _t9 = cpu->r[31] + 0x00000044u;
|
|
/* 02849044 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02849048 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02849048 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0284904C */ cpu->r[0] = 0x00000000u;
|
|
/* 02849050 */ cpu->r[3] = cpu->r[31];
|
|
/* 02849054 */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 02849054 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02849058 */ cpu->r[5] = cpu->r[30];
|
|
/* 0284905C */ _t12 = cpu->r[31] + 0x00000048u;
|
|
/* 0284905C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02849060 */ cpu->r[4] = cpu->r[29];
|
|
/* 02849064 */ _t13 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02849064 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02849068 */ Gambit_fn_02848F50(cpu);
|
|
L_0284906C: ; // 0x284906c
|
|
/* 0284906C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284906C */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02849070 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02849070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02849074 */ cpu->r[3] = cpu->r[31];
|
|
/* 02849078 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02849078 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284907C */ cpu->lr = cpu->r[0];
|
|
/* 02849080 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02849080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02849084 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02849088 */ return;
|
|
}
|
|
|
|
// fn_0284908C @ 0x284908c
|
|
void Gambit_fn_0284908C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0284908C: ; // 0x284908c
|
|
/* 0284908C */ cpu->r[0] = cpu->lr;
|
|
/* 02849090 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02849090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02849090 */ cpu->r[1] = _t0;
|
|
/* 02849094 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849094 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02849098 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02849098 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284909C */ cpu->r[30] = cpu->r[3];
|
|
/* 0284909C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028490A0 */ cpu->r[31] = cpu->r[4];
|
|
/* 028490A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028490A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028490A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028490A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028490A8 */ if (_t5) goto L_028490F8; else goto L_028490AC;
|
|
L_028490AC: ; // 0x28490ac
|
|
/* 028490AC */ cpu->r[11] = 0x10130000u;
|
|
/* 028490B0 */ cpu->r[0] = 0x10130000u;
|
|
/* 028490B4 */ cpu->r[11] = cpu->r[11] + 0xFFFFF78Cu;
|
|
/* 028490B8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF7A4u;
|
|
/* 028490BC */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 028490BC */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 028490C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028490C4 */ _t7 = cpu->r[30] + 0x00000044u;
|
|
/* 028490C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028490C8 */ Gambit_fn_02C3274C(cpu);
|
|
/* 028490CC */ _t8 = cpu->r[30] + 0x00000048u;
|
|
/* 028490CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028490D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028490D4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028490D4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028490D4 */ if (_t10) goto L_028490DC; else goto L_028490D8;
|
|
L_028490D8: ; // 0x28490d8
|
|
/* 028490D8 */ Gambit_fn_02801BB4(cpu);
|
|
L_028490DC: ; // 0x28490dc
|
|
/* 028490DC */ cpu->r[3] = cpu->r[30];
|
|
/* 028490E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 028490E4 */ Gambit_fn_02C32808(cpu);
|
|
/* 028490E8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028490E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028490EC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028490EC */ _t12 = _t11 & 0x00000001u;
|
|
/* 028490EC */ if (_t12) goto L_028490F8; else goto L_028490F0;
|
|
L_028490F0: ; // 0x28490f0
|
|
/* 028490F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028490F4 */ Gambit_fn_02801BB0(cpu);
|
|
L_028490F8: ; // 0x28490f8
|
|
/* 028490F8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 028490F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028490FC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 028490FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02849100 */ cpu->lr = cpu->r[0];
|
|
/* 02849104 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849104 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02849108 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284910C */ return;
|
|
}
|
|
|
|
// fn_02849090 @ 0x2849090
|
|
void Gambit_fn_02849090(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02849090: ; // 0x2849090
|
|
/* 02849090 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02849090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02849090 */ cpu->r[1] = _t0;
|
|
/* 02849094 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849094 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02849098 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02849098 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284909C */ cpu->r[30] = cpu->r[3];
|
|
/* 0284909C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028490A0 */ cpu->r[31] = cpu->r[4];
|
|
/* 028490A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028490A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028490A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028490A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028490A8 */ if (_t5) goto L_028490F8; else goto L_028490AC;
|
|
L_028490AC: ; // 0x28490ac
|
|
/* 028490AC */ cpu->r[11] = 0x10130000u;
|
|
/* 028490B0 */ cpu->r[0] = 0x10130000u;
|
|
/* 028490B4 */ cpu->r[11] = cpu->r[11] + 0xFFFFF78Cu;
|
|
/* 028490B8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF7A4u;
|
|
/* 028490BC */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 028490BC */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 028490C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028490C4 */ _t7 = cpu->r[30] + 0x00000044u;
|
|
/* 028490C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028490C8 */ Gambit_fn_02C3274C(cpu);
|
|
/* 028490CC */ _t8 = cpu->r[30] + 0x00000048u;
|
|
/* 028490CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028490D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028490D4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028490D4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028490D4 */ if (_t10) goto L_028490DC; else goto L_028490D8;
|
|
L_028490D8: ; // 0x28490d8
|
|
/* 028490D8 */ Gambit_fn_02801BB4(cpu);
|
|
L_028490DC: ; // 0x28490dc
|
|
/* 028490DC */ cpu->r[3] = cpu->r[30];
|
|
/* 028490E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 028490E4 */ Gambit_fn_02C32808(cpu);
|
|
/* 028490E8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028490E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028490EC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028490EC */ _t12 = _t11 & 0x00000001u;
|
|
/* 028490EC */ if (_t12) goto L_028490F8; else goto L_028490F0;
|
|
L_028490F0: ; // 0x28490f0
|
|
/* 028490F0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028490F4 */ Gambit_fn_02801BB0(cpu);
|
|
L_028490F8: ; // 0x28490f8
|
|
/* 028490F8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 028490F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028490FC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 028490FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02849100 */ cpu->lr = cpu->r[0];
|
|
/* 02849104 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849104 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02849108 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284910C */ return;
|
|
}
|
|
|
|
// fn_02849110 @ 0x2849110
|
|
void Gambit_fn_02849110(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02849110: ; // 0x2849110
|
|
/* 02849110 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 02849110 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02849114 */ _t1 = cpu->r[3] + 0x00000050u;
|
|
/* 02849114 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02849118 */ return;
|
|
}
|
|
|
|
// fn_0284911C @ 0x284911c
|
|
void Gambit_fn_0284911C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0284911C: ; // 0x284911c
|
|
/* 0284911C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02849120 */ cpu->r[11] = 0x10130000u;
|
|
/* 02849124 */ cpu->r[0] = 0x10130000u;
|
|
/* 02849128 */ cpu->r[12] = cpu->r[12] + 0x00006CA0u;
|
|
/* 0284912C */ cpu->r[11] = cpu->r[11] + 0xFFFFF740u;
|
|
/* 02849130 */ cpu->r[0] = cpu->r[0] + 0xFFFFF780u;
|
|
/* 02849134 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02849134 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 02849138 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 02849138 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284913C */ return;
|
|
}
|
|
|
|
// fn_02849140 @ 0x2849140
|
|
void Gambit_fn_02849140(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02849140: ; // 0x2849140
|
|
/* 02849140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849144 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849144 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02849144 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02849144 */ goto L_02849148;
|
|
L_02849148: ; // 0x2849148
|
|
/* 02849148 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02849148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284914C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284914C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284914C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284914C */ goto L_02849150;
|
|
L_02849150: ; // 0x2849150
|
|
/* 02849150 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02849154 @ 0x2849154
|
|
void Gambit_fn_02849154(CPUState* cpu) {
|
|
L_02849154: ; // 0x2849154
|
|
/* 02849154 */ return;
|
|
}
|
|
|
|
// fn_02849158 @ 0x2849158
|
|
void Gambit_fn_02849158(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02849158: ; // 0x2849158
|
|
/* 02849158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284915C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284915C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284915C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284915C */ goto L_02849160;
|
|
L_02849160: ; // 0x2849160
|
|
/* 02849160 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02849160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02849164 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849164 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02849164 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02849164 */ goto L_02849168;
|
|
L_02849168: ; // 0x2849168
|
|
/* 02849168 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0284916C @ 0x284916c
|
|
void Gambit_fn_0284916C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0284916C: ; // 0x284916c
|
|
/* 0284916C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0284916C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02849170 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02849170 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02849174 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02849178 */ cpu->r[11] = 0x10110000u;
|
|
/* 0284917C */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0284917C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02849180 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02849180 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02849184 */ return;
|
|
}
|
|
|
|
// fn_02849188 @ 0x2849188
|
|
void Gambit_fn_02849188(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_02849188: ; // 0x2849188
|
|
/* 02849188 */ cpu->r[0] = cpu->lr;
|
|
/* 0284918C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284918C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284918C */ cpu->r[1] = _t0;
|
|
/* 02849190 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849190 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02849194 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02849194 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02849198 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02849198 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284919C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0284919C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028491A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 028491A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028491A4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028491A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028491A8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028491A8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028491A8 */ if (_t7) goto L_028491AC; else goto L_028491BC;
|
|
L_028491AC: ; // 0x28491ac
|
|
/* 028491AC */ cpu->r[3] = 0x00000028u;
|
|
/* 028491B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028491B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028491B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028491B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028491B8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028491B8 */ if (_t9) goto L_02849288; else goto L_028491BC;
|
|
L_028491BC: ; // 0x28491bc
|
|
/* 028491BC */ cpu->r[0] = 0x10130000u;
|
|
/* 028491C0 */ cpu->r[28] = 0x00000000u;
|
|
/* 028491C4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF7ECu;
|
|
/* 028491C8 */ _t10 = cpu->r[30] + 0x00000008u;
|
|
/* 028491C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 028491CC */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 028491CC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 028491D0 */ _t12 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028491D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 028491D4 */ _t13 = cpu->r[30] + 0x00000004u;
|
|
/* 028491D4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[28]);
|
|
/* 028491D8 */ cpu->r[31] = cpu->r[30] + 0x00000010u;
|
|
/* 028491D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028491DC */ _t14 = cpu->r[30] + 0x00000005u;
|
|
/* 028491DC */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[28]);
|
|
/* 028491E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028491E0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 028491E0 */ if (_t16) goto L_028491E4; else goto L_028491F4;
|
|
L_028491E4: ; // 0x28491e4
|
|
/* 028491E4 */ cpu->r[3] = 0x00000018u;
|
|
/* 028491E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028491EC */ cpu->r[31] = cpu->r[3];
|
|
/* 028491EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028491F0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028491F0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028491F0 */ if (_t18) goto L_02849224; else goto L_028491F4;
|
|
L_028491F4: ; // 0x28491f4
|
|
/* 028491F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028491F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028491F8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028491F8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028491F8 */ if (_t20) goto L_028491FC; else goto L_0284920C;
|
|
L_028491FC: ; // 0x28491fc
|
|
/* 028491FC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02849200 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849208 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849208 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02849208 */ if (_t22) goto L_02849218; else goto L_0284920C;
|
|
L_0284920C: ; // 0x284920c
|
|
/* 0284920C */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 0284920C */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 02849210 */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 02849210 */ rbrew_write32(cpu->mem, _t24, cpu->r[28]);
|
|
/* 02849214 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02849214 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
L_02849218: ; // 0x2849218
|
|
/* 02849218 */ _t26 = cpu->r[31] + 0x00000010u;
|
|
/* 02849218 */ rbrew_write32(cpu->mem, _t26, cpu->r[28]);
|
|
/* 0284921C */ _t27 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284921C */ rbrew_write32(cpu->mem, _t27, cpu->r[28]);
|
|
/* 02849220 */ _t28 = cpu->r[31] + 0x00000014u;
|
|
/* 02849220 */ rbrew_write32(cpu->mem, _t28, cpu->r[28]);
|
|
L_02849224: ; // 0x2849224
|
|
/* 02849224 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02849228 */ _t29 = cpu->r[31] + 0xFFFF9A10u;
|
|
/* 02849228 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284922C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02849230 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02849230 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02849230 */ if (_t31) goto L_02849234; else goto L_02849288;
|
|
L_02849234: ; // 0x2849234
|
|
/* 02849234 */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000018u);
|
|
/* 02849238 */ cpu->r[5] = 0x00000004u;
|
|
/* 0284923C */ cpu->r[4] = 0x00000000u;
|
|
/* 02849240 */ cpu->r[3] = cpu->r[29];
|
|
/* 02849244 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02849248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284924C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284924C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0284924C */ if (_t33) goto L_02849288; else goto L_02849250;
|
|
L_02849250: ; // 0x2849250
|
|
/* 02849250 */ cpu->r[10] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02849250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02849254 */ _t34 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02849254 */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
|
|
/* 02849258 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02849258 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02849258 */ if (_t36) goto L_0284925C; else goto L_02849278;
|
|
L_0284925C: ; // 0x284925c
|
|
/* 0284925C */ cpu->ctr = cpu->r[10];
|
|
/* 02849260 */ cpu->r[11] = 0x00000000u;
|
|
/* 02849264 */ cpu->r[12] = cpu->r[3] + 0x00000018u;
|
|
L_02849268: ; // 0x2849268
|
|
/* 02849268 */ _t37 = cpu->r[3] + cpu->r[11];
|
|
/* 02849268 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 0284926C */ cpu->r[11] = cpu->r[11] + 0x00000018u;
|
|
/* 02849270 */ cpu->r[12] = cpu->r[12] + 0x00000018u;
|
|
/* 02849274 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02849274 */ _t38 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02849274 */ _t39 = _t38 >> (0x00000002u & 31u);
|
|
/* 02849274 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02849274 */ if (_t40) goto L_02849268; else goto L_02849278;
|
|
L_02849278: ; // 0x2849278
|
|
/* 02849278 */ cpu->r[9] = cpu->r[3] + cpu->r[29];
|
|
/* 0284927C */ _t41 = cpu->r[9] + 0xFFFFFFE8u;
|
|
/* 0284927C */ rbrew_write32(cpu->mem, _t41, cpu->r[28]);
|
|
/* 02849280 */ _t42 = cpu->r[30] + 0x00000024u;
|
|
/* 02849280 */ rbrew_write32(cpu->mem, _t42, cpu->r[31]);
|
|
/* 02849284 */ _t43 = cpu->r[30] + 0x00000020u;
|
|
/* 02849284 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
L_02849288: ; // 0x2849288
|
|
/* 02849288 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02849288 */ cpu->r[28] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0284928C */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284928C */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02849290 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02849290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02849294 */ cpu->r[3] = cpu->r[30];
|
|
/* 02849298 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02849298 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0284929C */ cpu->lr = cpu->r[0];
|
|
/* 028492A0 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 028492A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 028492A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028492A8 */ return;
|
|
}
|
|
|
|
// fn_0284918C @ 0x284918c
|
|
void Gambit_fn_0284918C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_0284918C: ; // 0x284918c
|
|
/* 0284918C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284918C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284918C */ cpu->r[1] = _t0;
|
|
/* 02849190 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849190 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02849194 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02849194 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02849198 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02849198 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284919C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0284919C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028491A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 028491A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028491A4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028491A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028491A8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028491A8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028491A8 */ if (_t7) goto L_028491AC; else goto L_028491BC;
|
|
L_028491AC: ; // 0x28491ac
|
|
/* 028491AC */ cpu->r[3] = 0x00000028u;
|
|
/* 028491B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028491B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028491B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028491B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028491B8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028491B8 */ if (_t9) goto L_02849288; else goto L_028491BC;
|
|
L_028491BC: ; // 0x28491bc
|
|
/* 028491BC */ cpu->r[0] = 0x10130000u;
|
|
/* 028491C0 */ cpu->r[28] = 0x00000000u;
|
|
/* 028491C4 */ cpu->r[0] = cpu->r[0] + 0xFFFFF7ECu;
|
|
/* 028491C8 */ _t10 = cpu->r[30] + 0x00000008u;
|
|
/* 028491C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 028491CC */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 028491CC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 028491D0 */ _t12 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028491D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 028491D4 */ _t13 = cpu->r[30] + 0x00000004u;
|
|
/* 028491D4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[28]);
|
|
/* 028491D8 */ cpu->r[31] = cpu->r[30] + 0x00000010u;
|
|
/* 028491D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028491DC */ _t14 = cpu->r[30] + 0x00000005u;
|
|
/* 028491DC */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[28]);
|
|
/* 028491E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028491E0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 028491E0 */ if (_t16) goto L_028491E4; else goto L_028491F4;
|
|
L_028491E4: ; // 0x28491e4
|
|
/* 028491E4 */ cpu->r[3] = 0x00000018u;
|
|
/* 028491E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028491EC */ cpu->r[31] = cpu->r[3];
|
|
/* 028491EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028491F0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028491F0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028491F0 */ if (_t18) goto L_02849224; else goto L_028491F4;
|
|
L_028491F4: ; // 0x28491f4
|
|
/* 028491F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028491F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028491F8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028491F8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028491F8 */ if (_t20) goto L_028491FC; else goto L_0284920C;
|
|
L_028491FC: ; // 0x28491fc
|
|
/* 028491FC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02849200 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849208 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849208 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02849208 */ if (_t22) goto L_02849218; else goto L_0284920C;
|
|
L_0284920C: ; // 0x284920c
|
|
/* 0284920C */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 0284920C */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 02849210 */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 02849210 */ rbrew_write32(cpu->mem, _t24, cpu->r[28]);
|
|
/* 02849214 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02849214 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
L_02849218: ; // 0x2849218
|
|
/* 02849218 */ _t26 = cpu->r[31] + 0x00000010u;
|
|
/* 02849218 */ rbrew_write32(cpu->mem, _t26, cpu->r[28]);
|
|
/* 0284921C */ _t27 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284921C */ rbrew_write32(cpu->mem, _t27, cpu->r[28]);
|
|
/* 02849220 */ _t28 = cpu->r[31] + 0x00000014u;
|
|
/* 02849220 */ rbrew_write32(cpu->mem, _t28, cpu->r[28]);
|
|
L_02849224: ; // 0x2849224
|
|
/* 02849224 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02849228 */ _t29 = cpu->r[31] + 0xFFFF9A10u;
|
|
/* 02849228 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284922C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02849230 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02849230 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02849230 */ if (_t31) goto L_02849234; else goto L_02849288;
|
|
L_02849234: ; // 0x2849234
|
|
/* 02849234 */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000018u);
|
|
/* 02849238 */ cpu->r[5] = 0x00000004u;
|
|
/* 0284923C */ cpu->r[4] = 0x00000000u;
|
|
/* 02849240 */ cpu->r[3] = cpu->r[29];
|
|
/* 02849244 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02849248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284924C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284924C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0284924C */ if (_t33) goto L_02849288; else goto L_02849250;
|
|
L_02849250: ; // 0x2849250
|
|
/* 02849250 */ cpu->r[10] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02849250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02849254 */ _t34 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02849254 */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
|
|
/* 02849258 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02849258 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02849258 */ if (_t36) goto L_0284925C; else goto L_02849278;
|
|
L_0284925C: ; // 0x284925c
|
|
/* 0284925C */ cpu->ctr = cpu->r[10];
|
|
/* 02849260 */ cpu->r[11] = 0x00000000u;
|
|
/* 02849264 */ cpu->r[12] = cpu->r[3] + 0x00000018u;
|
|
L_02849268: ; // 0x2849268
|
|
/* 02849268 */ _t37 = cpu->r[3] + cpu->r[11];
|
|
/* 02849268 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 0284926C */ cpu->r[11] = cpu->r[11] + 0x00000018u;
|
|
/* 02849270 */ cpu->r[12] = cpu->r[12] + 0x00000018u;
|
|
/* 02849274 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02849274 */ _t38 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02849274 */ _t39 = _t38 >> (0x00000002u & 31u);
|
|
/* 02849274 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02849274 */ if (_t40) goto L_02849268; else goto L_02849278;
|
|
L_02849278: ; // 0x2849278
|
|
/* 02849278 */ cpu->r[9] = cpu->r[3] + cpu->r[29];
|
|
/* 0284927C */ _t41 = cpu->r[9] + 0xFFFFFFE8u;
|
|
/* 0284927C */ rbrew_write32(cpu->mem, _t41, cpu->r[28]);
|
|
/* 02849280 */ _t42 = cpu->r[30] + 0x00000024u;
|
|
/* 02849280 */ rbrew_write32(cpu->mem, _t42, cpu->r[31]);
|
|
/* 02849284 */ _t43 = cpu->r[30] + 0x00000020u;
|
|
/* 02849284 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
L_02849288: ; // 0x2849288
|
|
/* 02849288 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02849288 */ cpu->r[28] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0284928C */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284928C */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02849290 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02849290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02849294 */ cpu->r[3] = cpu->r[30];
|
|
/* 02849298 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02849298 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0284929C */ cpu->lr = cpu->r[0];
|
|
/* 028492A0 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 028492A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 028492A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028492A8 */ return;
|
|
}
|
|
|
|
// fn_028492AC @ 0x28492ac
|
|
void Gambit_fn_028492AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_028492AC: ; // 0x28492ac
|
|
/* 028492AC */ cpu->r[0] = cpu->lr;
|
|
/* 028492B0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 028492B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 028492B4 */ cpu->r[3] = cpu->r[4];
|
|
/* 028492B8 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028492B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 028492B8 */ cpu->r[1] = _t1;
|
|
/* 028492BC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028492C0 */ rbrew_dispatch(cpu, 0x02d08fd8u);
|
|
/* 028492C4 */ _t2 = cpu->r[3] | cpu->r[3];
|
|
/* 028492C4 */ cpu->r[12] = ~_t2;
|
|
/* 028492C8 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 028492CC */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 028492D0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028492D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028492D4 */ cpu->lr = cpu->r[0];
|
|
/* 028492D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028492DC */ return;
|
|
}
|
|
|
|
// fn_028492B8 @ 0x28492b8
|
|
void Gambit_fn_028492B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_028492B8: ; // 0x28492b8
|
|
/* 028492B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028492B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028492B8 */ cpu->r[1] = _t0;
|
|
/* 028492BC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028492C0 */ rbrew_dispatch(cpu, 0x02d08fd8u);
|
|
/* 028492C4 */ _t1 = cpu->r[3] | cpu->r[3];
|
|
/* 028492C4 */ cpu->r[12] = ~_t1;
|
|
/* 028492C8 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 028492CC */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 028492D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028492D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028492D4 */ cpu->lr = cpu->r[0];
|
|
/* 028492D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028492DC */ return;
|
|
}
|
|
|
|
// fn_028492E0 @ 0x28492e0
|
|
void Gambit_fn_028492E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_028492E0: ; // 0x28492e0
|
|
/* 028492E0 */ cpu->r[0] = cpu->lr;
|
|
/* 028492E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028492E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028492E4 */ cpu->r[1] = _t0;
|
|
/* 028492E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028492E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028492EC */ cpu->r[31] = cpu->r[4];
|
|
/* 028492F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028492F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028492F4 */ Gambit_fn_028492AC(cpu);
|
|
/* 028492F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028492FC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028492FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 028492FC */ if (_t4) goto L_02849300; else goto L_02849318;
|
|
L_02849300: ; // 0x2849300
|
|
/* 02849300 */ Gambit_fn_02C26330(cpu);
|
|
/* 02849304 */ cpu->r[4] = cpu->r[31];
|
|
/* 02849308 */ Gambit_fn_02C2629C(cpu);
|
|
/* 0284930C */ Gambit_fn_02C25FB8(cpu);
|
|
/* 02849310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849314 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849314 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02849314 */ if (_t6) goto L_0284932C; else goto L_02849318;
|
|
L_02849318: ; // 0x2849318
|
|
/* 02849318 */ Gambit_fn_02C26330(cpu);
|
|
/* 0284931C */ cpu->r[4] = cpu->r[31];
|
|
/* 02849320 */ Gambit_fn_02C2629C(cpu);
|
|
/* 02849324 */ cpu->r[4] = 0x00000000u;
|
|
/* 02849328 */ Gambit_fn_02C25F44(cpu);
|
|
L_0284932C: ; // 0x284932c
|
|
/* 0284932C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0284932C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02849330 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849330 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02849334 */ cpu->lr = cpu->r[0];
|
|
/* 02849338 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284933C */ return;
|
|
}
|
|
|
|
// fn_028492E4 @ 0x28492e4
|
|
void Gambit_fn_028492E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_028492E4: ; // 0x28492e4
|
|
/* 028492E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028492E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028492E4 */ cpu->r[1] = _t0;
|
|
/* 028492E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028492E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028492EC */ cpu->r[31] = cpu->r[4];
|
|
/* 028492F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028492F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028492F4 */ Gambit_fn_028492AC(cpu);
|
|
/* 028492F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028492FC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028492FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 028492FC */ if (_t4) goto L_02849300; else goto L_02849318;
|
|
L_02849300: ; // 0x2849300
|
|
/* 02849300 */ Gambit_fn_02C26330(cpu);
|
|
/* 02849304 */ cpu->r[4] = cpu->r[31];
|
|
/* 02849308 */ Gambit_fn_02C2629C(cpu);
|
|
/* 0284930C */ Gambit_fn_02C25FB8(cpu);
|
|
/* 02849310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849314 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849314 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02849314 */ if (_t6) goto L_0284932C; else goto L_02849318;
|
|
L_02849318: ; // 0x2849318
|
|
/* 02849318 */ Gambit_fn_02C26330(cpu);
|
|
/* 0284931C */ cpu->r[4] = cpu->r[31];
|
|
/* 02849320 */ Gambit_fn_02C2629C(cpu);
|
|
/* 02849324 */ cpu->r[4] = 0x00000000u;
|
|
/* 02849328 */ Gambit_fn_02C25F44(cpu);
|
|
L_0284932C: ; // 0x284932c
|
|
/* 0284932C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0284932C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02849330 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849330 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02849334 */ cpu->lr = cpu->r[0];
|
|
/* 02849338 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284933C */ return;
|
|
}
|
|
|
|
// fn_02849340 @ 0x2849340
|
|
void Gambit_fn_02849340(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_02849340: ; // 0x2849340
|
|
/* 02849340 */ cpu->r[0] = cpu->lr;
|
|
/* 02849344 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02849344 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02849344 */ cpu->r[1] = _t0;
|
|
/* 02849348 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02849348 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284934C */ cpu->r[31] = cpu->r[4];
|
|
/* 02849350 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02849350 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02849354 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02849354 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02849358 */ cpu->r[30] = cpu->r[3];
|
|
/* 02849358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284935C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284935C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02849360 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02849360 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02849364 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849364 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02849364 */ if (_t7) goto L_028493B4; else goto L_02849368;
|
|
L_02849368: ; // 0x2849368
|
|
/* 02849368 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284936C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02849370 */ cpu->r[10] = cpu->r[10] + 0xFFFFF7ECu;
|
|
/* 02849374 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02849374 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02849378 */ _t9 = cpu->r[29] + 0xFFFF9A0Cu;
|
|
/* 02849378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02849378 */ cpu->r[29] = _t9;
|
|
/* 0284937C */ cpu->r[28] = 0x00000000u;
|
|
/* 02849380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02849384 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02849384 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02849384 */ if (_t11) goto L_02849388; else goto L_028493A4;
|
|
L_02849388: ; // 0x2849388
|
|
/* 02849388 */ cpu->r[4] = cpu->r[28];
|
|
/* 0284938C */ cpu->r[3] = cpu->r[30];
|
|
/* 02849390 */ Gambit_fn_028492E0(cpu);
|
|
/* 02849394 */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 02849394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02849398 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0284939C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 028493A0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028493A0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028493A0 */ if (_t14) goto L_02849388; else goto L_028493A4;
|
|
L_028493A4: ; // 0x28493a4
|
|
/* 028493A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028493A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028493A8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028493A8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 028493A8 */ if (_t16) goto L_028493B4; else goto L_028493AC;
|
|
L_028493AC: ; // 0x28493ac
|
|
/* 028493AC */ cpu->r[3] = cpu->r[30];
|
|
/* 028493B0 */ Gambit_fn_02801BB0(cpu);
|
|
L_028493B4: ; // 0x28493b4
|
|
/* 028493B4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 028493B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028493B8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028493B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028493BC */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028493BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028493C0 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 028493C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028493C4 */ cpu->lr = cpu->r[0];
|
|
/* 028493C8 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 028493C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028493CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028493D0 */ return;
|
|
}
|
|
|
|
// fn_02849344 @ 0x2849344
|
|
void Gambit_fn_02849344(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_02849344: ; // 0x2849344
|
|
/* 02849344 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02849344 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02849344 */ cpu->r[1] = _t0;
|
|
/* 02849348 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02849348 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284934C */ cpu->r[31] = cpu->r[4];
|
|
/* 02849350 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02849350 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02849354 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02849354 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02849358 */ cpu->r[30] = cpu->r[3];
|
|
/* 02849358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284935C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284935C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02849360 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02849360 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02849364 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849364 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02849364 */ if (_t7) goto L_028493B4; else goto L_02849368;
|
|
L_02849368: ; // 0x2849368
|
|
/* 02849368 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284936C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02849370 */ cpu->r[10] = cpu->r[10] + 0xFFFFF7ECu;
|
|
/* 02849374 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02849374 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02849378 */ _t9 = cpu->r[29] + 0xFFFF9A0Cu;
|
|
/* 02849378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02849378 */ cpu->r[29] = _t9;
|
|
/* 0284937C */ cpu->r[28] = 0x00000000u;
|
|
/* 02849380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 02849384 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02849384 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02849384 */ if (_t11) goto L_02849388; else goto L_028493A4;
|
|
L_02849388: ; // 0x2849388
|
|
/* 02849388 */ cpu->r[4] = cpu->r[28];
|
|
/* 0284938C */ cpu->r[3] = cpu->r[30];
|
|
/* 02849390 */ Gambit_fn_028492E0(cpu);
|
|
/* 02849394 */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 02849394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02849398 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0284939C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 028493A0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028493A0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028493A0 */ if (_t14) goto L_02849388; else goto L_028493A4;
|
|
L_028493A4: ; // 0x28493a4
|
|
/* 028493A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028493A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028493A8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028493A8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 028493A8 */ if (_t16) goto L_028493B4; else goto L_028493AC;
|
|
L_028493AC: ; // 0x28493ac
|
|
/* 028493AC */ cpu->r[3] = cpu->r[30];
|
|
/* 028493B0 */ Gambit_fn_02801BB0(cpu);
|
|
L_028493B4: ; // 0x28493b4
|
|
/* 028493B4 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 028493B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028493B8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028493B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028493BC */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028493BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028493C0 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 028493C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028493C4 */ cpu->lr = cpu->r[0];
|
|
/* 028493C8 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 028493C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028493CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028493D0 */ return;
|
|
}
|
|
|
|
// fn_028493D4 @ 0x28493d4
|
|
void Gambit_fn_028493D4(CPUState* cpu) {
|
|
uint32_t _t0, _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_028493D4: ; // 0x28493d4
|
|
/* 028493D4 */ cpu->r[0] = cpu->lr;
|
|
/* 028493D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028493D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028493D8 */ cpu->r[1] = _t0;
|
|
/* 028493DC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 028493DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028493E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028493E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028493E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028493E8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028493E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028493EC */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 028493EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028493F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 028493F4 */ cpu->r[3] = 0x00000001u;
|
|
/* 028493F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028493F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028493F8 */ if (_t6) goto L_02849408; else goto L_028493FC;
|
|
L_028493FC: ; // 0x28493fc
|
|
/* 028493FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02849400 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849400 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02849400 */ if (_t8) goto L_02849420; else goto L_02849404;
|
|
L_02849404: ; // 0x2849404
|
|
/* 02849404 */ goto L_02849474;
|
|
L_02849408: ; // 0x2849408
|
|
/* 02849408 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02849408 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284940C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02849410 */ rbrew_dispatch(cpu, 0x02d08fd8u);
|
|
/* 02849414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 02849418 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849418 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02849418 */ if (_t11) goto L_0284941C; else goto L_02849440;
|
|
L_0284941C: ; // 0x284941c
|
|
/* 0284941C */ goto L_02849470;
|
|
L_02849420: ; // 0x2849420
|
|
/* 02849420 */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 02849420 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02849424 */ Gambit_fn_02C26330(cpu);
|
|
/* 02849428 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284942C */ Gambit_fn_02C2629C(cpu);
|
|
/* 02849430 */ _t13 = cpu->r[30] + 0x00000008u;
|
|
/* 02849430 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02849434 */ Gambit_fn_02C25F44(cpu);
|
|
/* 02849438 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284943C */ goto L_02849474;
|
|
L_02849440: ; // 0x2849440
|
|
/* 02849440 */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 02849440 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02849444 */ Gambit_fn_02C26330(cpu);
|
|
/* 02849448 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284944C */ Gambit_fn_02C2629C(cpu);
|
|
/* 02849450 */ _t15 = cpu->r[30] + 0x00000008u;
|
|
/* 02849450 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02849454 */ Gambit_fn_02C25ED4(cpu);
|
|
/* 02849458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284945C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284945C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284945C */ if (_t17) goto L_02849460; else goto L_02849474;
|
|
L_02849460: ; // 0x2849460
|
|
/* 02849460 */ _t18 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02849460 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02849464 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02849464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02849468 */ _t19 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02849468 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 0284946C */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284946C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284946C */ if (_t21) goto L_02849474; else goto L_02849470;
|
|
L_02849470: ; // 0x2849470
|
|
/* 02849470 */ cpu->r[3] = 0x00000001u;
|
|
L_02849474: ; // 0x2849474
|
|
/* 02849474 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02849474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02849478 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02849478 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284947C */ cpu->lr = cpu->r[0];
|
|
/* 02849480 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02849480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02849484 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02849488 */ return;
|
|
}
|
|
|
|
// fn_028493D8 @ 0x28493d8
|
|
void Gambit_fn_028493D8(CPUState* cpu) {
|
|
uint32_t _t0, _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_028493D8: ; // 0x28493d8
|
|
/* 028493D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028493D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028493D8 */ cpu->r[1] = _t0;
|
|
/* 028493DC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 028493DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028493E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028493E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028493E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028493E8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028493E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028493EC */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 028493EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028493F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 028493F4 */ cpu->r[3] = 0x00000001u;
|
|
/* 028493F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028493F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028493F8 */ if (_t6) goto L_02849408; else goto L_028493FC;
|
|
L_028493FC: ; // 0x28493fc
|
|
/* 028493FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02849400 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849400 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02849400 */ if (_t8) goto L_02849420; else goto L_02849404;
|
|
L_02849404: ; // 0x2849404
|
|
/* 02849404 */ goto L_02849474;
|
|
L_02849408: ; // 0x2849408
|
|
/* 02849408 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02849408 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284940C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02849410 */ rbrew_dispatch(cpu, 0x02d08fd8u);
|
|
/* 02849414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 02849418 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849418 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02849418 */ if (_t11) goto L_0284941C; else goto L_02849440;
|
|
L_0284941C: ; // 0x284941c
|
|
/* 0284941C */ goto L_02849470;
|
|
L_02849420: ; // 0x2849420
|
|
/* 02849420 */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 02849420 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02849424 */ Gambit_fn_02C26330(cpu);
|
|
/* 02849428 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284942C */ Gambit_fn_02C2629C(cpu);
|
|
/* 02849430 */ _t13 = cpu->r[30] + 0x00000008u;
|
|
/* 02849430 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02849434 */ Gambit_fn_02C25F44(cpu);
|
|
/* 02849438 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284943C */ goto L_02849474;
|
|
L_02849440: ; // 0x2849440
|
|
/* 02849440 */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 02849440 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02849444 */ Gambit_fn_02C26330(cpu);
|
|
/* 02849448 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284944C */ Gambit_fn_02C2629C(cpu);
|
|
/* 02849450 */ _t15 = cpu->r[30] + 0x00000008u;
|
|
/* 02849450 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02849454 */ Gambit_fn_02C25ED4(cpu);
|
|
/* 02849458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284945C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284945C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284945C */ if (_t17) goto L_02849460; else goto L_02849474;
|
|
L_02849460: ; // 0x2849460
|
|
/* 02849460 */ _t18 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02849460 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02849464 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02849464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02849468 */ _t19 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02849468 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 0284946C */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284946C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284946C */ if (_t21) goto L_02849474; else goto L_02849470;
|
|
L_02849470: ; // 0x2849470
|
|
/* 02849470 */ cpu->r[3] = 0x00000001u;
|
|
L_02849474: ; // 0x2849474
|
|
/* 02849474 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02849474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02849478 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02849478 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284947C */ cpu->lr = cpu->r[0];
|
|
/* 02849480 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02849480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02849484 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02849488 */ return;
|
|
}
|
|
|
|
// fn_0284948C @ 0x284948c
|
|
void Gambit_fn_0284948C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0284948C: ; // 0x284948c
|
|
/* 0284948C */ cpu->r[0] = cpu->lr;
|
|
/* 02849490 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02849490 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02849490 */ cpu->r[1] = _t0;
|
|
/* 02849494 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02849494 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02849498 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849498 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284949C */ cpu->r[31] = cpu->r[4];
|
|
/* 028494A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 028494A4 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 028494A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028494A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028494AC */ Gambit_fn_02801EDC(cpu);
|
|
/* 028494B0 */ _t4 = cpu->r[30] + 0x00000018u;
|
|
/* 028494B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028494B4 */ _t5 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028494B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028494B8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 028494BC */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 028494BC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 028494C0 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 028494C0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028494C4 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028494C4 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 028494C8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 028494C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028494CC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028494CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028494D0 */ cpu->lr = cpu->r[0];
|
|
/* 028494D4 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 028494D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028494D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028494DC */ return;
|
|
}
|
|
|
|
// fn_02849490 @ 0x2849490
|
|
void Gambit_fn_02849490(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02849490: ; // 0x2849490
|
|
/* 02849490 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02849490 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02849490 */ cpu->r[1] = _t0;
|
|
/* 02849494 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02849494 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02849498 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849498 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284949C */ cpu->r[31] = cpu->r[4];
|
|
/* 028494A0 */ cpu->r[30] = cpu->r[3];
|
|
/* 028494A4 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 028494A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028494A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028494AC */ Gambit_fn_02801EDC(cpu);
|
|
/* 028494B0 */ _t4 = cpu->r[30] + 0x00000018u;
|
|
/* 028494B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028494B4 */ _t5 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028494B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028494B8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 028494BC */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 028494BC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 028494C0 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 028494C0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028494C4 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028494C4 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 028494C8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 028494C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028494CC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028494CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028494D0 */ cpu->lr = cpu->r[0];
|
|
/* 028494D4 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 028494D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028494D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028494DC */ return;
|
|
}
|
|
|
|
// fn_028494E0 @ 0x28494e0
|
|
void Gambit_fn_028494E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_028022C4: ; // 0x28022c4
|
|
/* 028022C4 */ cpu->r[0] = cpu->lr;
|
|
/* 028022C8 */ cpu->r[10] = cpu->r[4];
|
|
/* 028022CC */ cpu->r[3] = cpu->r[5];
|
|
/* 028022D0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 028022D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 028022D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[3]);
|
|
/* 028022D8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 028022D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 028022D8 */ cpu->r[1] = _t1;
|
|
/* 028022DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028022DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 028022DC */ if (_t3) goto L_028022F0; else goto L_028022E0;
|
|
L_028022E0: ; // 0x28022e0
|
|
/* 028022E0 */ Gambit_fn_02801EDC(cpu);
|
|
/* 028022E4 */ cpu->r[4] = cpu->r[3];
|
|
/* 028022E8 */ cpu->r[3] = cpu->r[10];
|
|
/* 028022EC */ Gambit_fn_02801E9C(cpu);
|
|
L_028022F0: ; // 0x28022f0
|
|
/* 028022F0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028022F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028022F4 */ cpu->lr = cpu->r[0];
|
|
/* 028022F8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028022FC */ return;
|
|
L_028494E0: ; // 0x28494e0
|
|
/* 028494E0 */ _t5 = cpu->r[3] + 0x00000018u;
|
|
/* 028494E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028494E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028494E8 */ cpu->r[12] = cpu->r[4];
|
|
/* 028494EC */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028494EC */ _t7 = _t6 & 0x00000001u;
|
|
/* 028494EC */ if (_t7) goto L_028494F0; else goto L_0284950C;
|
|
L_028494F0: ; // 0x28494f0
|
|
/* 028494F0 */ _t8 = cpu->r[3] + 0x00000010u;
|
|
/* 028494F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028494F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 028494F8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028494F8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028494F8 */ if (_t10) goto L_0284950C; else goto L_028494FC;
|
|
L_028494FC: ; // 0x28494fc
|
|
/* 028494FC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02849500 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02849504 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849504 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02849504 */ if (_t12) goto L_02849508; else goto L_02849518;
|
|
L_02849508: ; // 0x2849508
|
|
/* 02849508 */ return;
|
|
L_0284950C: ; // 0x284950c
|
|
/* 0284950C */ cpu->r[11] = 0x00000000u;
|
|
/* 02849510 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02849514 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849514 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02849514 */ if (_t14) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02849514 */ goto L_02849518;
|
|
L_02849518: ; // 0x2849518
|
|
/* 02849518 */ cpu->r[5] = cpu->r[12] + 0x00000010u;
|
|
/* 0284951C */ cpu->r[4] = cpu->r[11] + 0x00000010u;
|
|
/* 02849520 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02849524 */ goto L_028022C4;
|
|
}
|
|
|
|
// fn_02849528 @ 0x2849528
|
|
void Gambit_fn_02849528(CPUState* cpu) {
|
|
uint32_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_02849528: ; // 0x2849528
|
|
/* 02849528 */ cpu->r[0] = cpu->lr;
|
|
/* 0284952C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284952C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284952C */ cpu->r[1] = _t0;
|
|
/* 02849530 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849530 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02849534 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02849534 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02849538 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284953C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284953C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02849540 */ _t4 = cpu->r[31] + 0x00000005u;
|
|
/* 02849540 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02849544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02849548 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849548 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02849548 */ if (_t6) goto L_0284954C; else goto L_028495A4;
|
|
L_0284954C: ; // 0x284954c
|
|
/* 0284954C */ _t7 = cpu->r[31] + 0x00000018u;
|
|
/* 0284954C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02849550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02849554 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02849554 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02849554 */ if (_t9) goto L_02849558; else goto L_028495A4;
|
|
L_02849558: ; // 0x2849558
|
|
/* 02849558 */ _t10 = cpu->r[31] + 0x00000014u;
|
|
/* 02849558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284955C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02849560 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849560 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02849560 */ if (_t12) goto L_028495A4; else goto L_02849564;
|
|
L_02849564: ; // 0x2849564
|
|
/* 02849564 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFF0u;
|
|
/* 02849564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02849568 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849568 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02849568 */ if (_t14) goto L_028495A4; else goto L_0284956C;
|
|
L_0284956C: ; // 0x284956c
|
|
/* 0284956C */ cpu->r[3] = cpu->r[30];
|
|
/* 02849570 */ Gambit_fn_028493D4(cpu);
|
|
/* 02849574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849578 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284957C */ cpu->r[4] = cpu->r[30];
|
|
/* 02849580 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849580 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02849580 */ if (_t16) goto L_028495A0; else goto L_02849584;
|
|
L_02849584: ; // 0x2849584
|
|
/* 02849584 */ Gambit_fn_0284948C(cpu);
|
|
/* 02849588 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02849588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284958C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0284958C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02849590 */ cpu->lr = cpu->r[0];
|
|
/* 02849594 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02849598 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284959C */ return;
|
|
L_028495A0: ; // 0x28495a0
|
|
/* 028495A0 */ Gambit_fn_028494E0(cpu);
|
|
L_028495A4: ; // 0x28495a4
|
|
/* 028495A4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 028495A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028495A8 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 028495A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028495AC */ cpu->lr = cpu->r[0];
|
|
/* 028495B0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028495B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028495B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028495B8 */ return;
|
|
}
|
|
|
|
// fn_0284952C @ 0x284952c
|
|
void Gambit_fn_0284952C(CPUState* cpu) {
|
|
uint32_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_0284952C: ; // 0x284952c
|
|
/* 0284952C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284952C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284952C */ cpu->r[1] = _t0;
|
|
/* 02849530 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849530 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02849534 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02849534 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02849538 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284953C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284953C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02849540 */ _t4 = cpu->r[31] + 0x00000005u;
|
|
/* 02849540 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02849544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02849548 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849548 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02849548 */ if (_t6) goto L_0284954C; else goto L_028495A4;
|
|
L_0284954C: ; // 0x284954c
|
|
/* 0284954C */ _t7 = cpu->r[31] + 0x00000018u;
|
|
/* 0284954C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02849550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02849554 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02849554 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02849554 */ if (_t9) goto L_02849558; else goto L_028495A4;
|
|
L_02849558: ; // 0x2849558
|
|
/* 02849558 */ _t10 = cpu->r[31] + 0x00000014u;
|
|
/* 02849558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284955C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02849560 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849560 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02849560 */ if (_t12) goto L_028495A4; else goto L_02849564;
|
|
L_02849564: ; // 0x2849564
|
|
/* 02849564 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFF0u;
|
|
/* 02849564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02849568 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849568 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02849568 */ if (_t14) goto L_028495A4; else goto L_0284956C;
|
|
L_0284956C: ; // 0x284956c
|
|
/* 0284956C */ cpu->r[3] = cpu->r[30];
|
|
/* 02849570 */ Gambit_fn_028493D4(cpu);
|
|
/* 02849574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849578 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284957C */ cpu->r[4] = cpu->r[30];
|
|
/* 02849580 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849580 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02849580 */ if (_t16) goto L_028495A0; else goto L_02849584;
|
|
L_02849584: ; // 0x2849584
|
|
/* 02849584 */ Gambit_fn_0284948C(cpu);
|
|
/* 02849588 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02849588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284958C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0284958C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02849590 */ cpu->lr = cpu->r[0];
|
|
/* 02849594 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02849598 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284959C */ return;
|
|
L_028495A0: ; // 0x28495a0
|
|
/* 028495A0 */ Gambit_fn_028494E0(cpu);
|
|
L_028495A4: ; // 0x28495a4
|
|
/* 028495A4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 028495A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028495A8 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 028495A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028495AC */ cpu->lr = cpu->r[0];
|
|
/* 028495B0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028495B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028495B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028495B8 */ return;
|
|
}
|
|
|
|
// fn_028495BC @ 0x28495bc
|
|
void Gambit_fn_028495BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_028495BC: ; // 0x28495bc
|
|
/* 028495BC */ cpu->r[12] = 0x101F0000u;
|
|
/* 028495C0 */ cpu->r[11] = 0x10130000u;
|
|
/* 028495C4 */ cpu->r[0] = 0x10130000u;
|
|
/* 028495C8 */ cpu->r[12] = cpu->r[12] + 0x00006CA8u;
|
|
/* 028495CC */ cpu->r[11] = cpu->r[11] + 0xFFFFF7C4u;
|
|
/* 028495D0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF7FCu;
|
|
/* 028495D4 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 028495D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 028495D8 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 028495D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028495DC */ return;
|
|
}
|
|
|
|
// fn_028495E0 @ 0x28495e0
|
|
void Gambit_fn_028495E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_028495E0: ; // 0x28495e0
|
|
/* 028495E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028495E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028495E4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028495E4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028495E4 */ goto L_028495E8;
|
|
L_028495E8: ; // 0x28495e8
|
|
/* 028495E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028495E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028495EC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028495EC */ _t19 = _t18 & 0x00000001u;
|
|
/* 028495EC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028495EC */ goto L_028495F0;
|
|
L_028495F0: ; // 0x28495f0
|
|
/* 028495F0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028495F4 @ 0x28495f4
|
|
void Gambit_fn_028495F4(CPUState* cpu) {
|
|
L_028495F4: ; // 0x28495f4
|
|
/* 028495F4 */ return;
|
|
}
|
|
|
|
// fn_028495F8 @ 0x28495f8
|
|
void Gambit_fn_028495F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_028495F8: ; // 0x28495f8
|
|
/* 028495F8 */ _t0 = cpu->r[3] + 0x00000070u;
|
|
/* 028495F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 028495FC */ _t1 = cpu->r[3] + 0x0000006Cu;
|
|
/* 028495FC */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02849600 */ return;
|
|
}
|
|
|
|
// fn_02849628 @ 0x2849628
|
|
void Gambit_fn_02849628(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02849628: ; // 0x2849628
|
|
/* 02849628 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284962C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0284962C */ rbrew_write32(cpu->mem, _t0, cpu->r[12]);
|
|
/* 02849630 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 02849630 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02849634 */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02849634 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02849638 */ _t3 = cpu->r[3] + 0x00000018u;
|
|
/* 02849638 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0284963C */ _t4 = cpu->r[3] + 0x00000020u;
|
|
/* 0284963C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02849640 */ _t5 = cpu->r[3] + 0x00000030u;
|
|
/* 02849640 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02849644 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 02849644 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02849648 */ _t7 = cpu->r[3] + 0x00000034u;
|
|
/* 02849648 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0284964C */ _t8 = cpu->r[3] + 0x00000038u;
|
|
/* 0284964C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02849650 */ _t9 = cpu->r[3] + 0x00000014u;
|
|
/* 02849650 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02849654 */ _t10 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02849654 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02849658 */ _t11 = cpu->r[3] + 0x00000024u;
|
|
/* 02849658 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 0284965C */ _t12 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0284965C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02849660 */ _t13 = cpu->r[3] + 0x00000008u;
|
|
/* 02849660 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 02849664 */ return;
|
|
}
|
|
|
|
// fn_02849668 @ 0x2849668
|
|
void Gambit_fn_02849668(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02849668: ; // 0x2849668
|
|
/* 02849668 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284966C */ _t0 = cpu->r[3] + 0x00000050u;
|
|
/* 0284966C */ rbrew_write32(cpu->mem, _t0, cpu->r[12]);
|
|
/* 02849670 */ _t1 = cpu->r[3] + 0x00000040u;
|
|
/* 02849670 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02849674 */ _t2 = cpu->r[3] + 0x00000044u;
|
|
/* 02849674 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02849678 */ _t3 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02849678 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0284967C */ _t4 = cpu->r[3] + 0x00000060u;
|
|
/* 0284967C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02849680 */ _t5 = cpu->r[3] + 0x00000054u;
|
|
/* 02849680 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02849684 */ _t6 = cpu->r[3] + 0x00000058u;
|
|
/* 02849684 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02849688 */ _t7 = cpu->r[3] + 0x00000048u;
|
|
/* 02849688 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0284968C */ _t8 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0284968C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02849690 */ _t9 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02849690 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02849694 */ return;
|
|
}
|
|
|
|
// fn_02849698 @ 0x2849698
|
|
void Gambit_fn_02849698(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_02849698: ; // 0x2849698
|
|
/* 02849698 */ cpu->r[0] = cpu->lr;
|
|
/* 0284969C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284969C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284969C */ cpu->r[1] = _t0;
|
|
/* 028496A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028496A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028496A4 */ cpu->r[31] = cpu->r[4];
|
|
/* 028496A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028496AC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028496AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028496B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028496B0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028496B0 */ if (_t4) goto L_028496B4; else goto L_028496C4;
|
|
L_028496B4: ; // 0x28496b4
|
|
/* 028496B4 */ cpu->r[3] = 0x000000B0u;
|
|
/* 028496B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028496BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028496C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028496C0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028496C0 */ if (_t6) goto L_02849748; else goto L_028496C4;
|
|
L_028496C4: ; // 0x28496c4
|
|
/* 028496C4 */ _t7 = cpu->r[3] + 0x00000064u;
|
|
/* 028496C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 028496C8 */ cpu->r[0] = 0x00000000u;
|
|
/* 028496CC */ cpu->r[12] = 0x10130000u;
|
|
/* 028496D0 */ _t8 = cpu->r[3] + 0x00000083u;
|
|
/* 028496D0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 028496D4 */ _t9 = cpu->r[12] + 0xFFFFF950u;
|
|
/* 028496D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 028496D8 */ _t10 = cpu->r[3] + 0x00000094u;
|
|
/* 028496D8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 028496DC */ _t11 = cpu->r[3] + 0x000000A8u;
|
|
/* 028496DC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 028496E0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 028496E4 */ _t12 = cpu->r[3] + 0x00000084u;
|
|
/* 028496E4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 028496E8 */ _t13 = cpu->r[3] + 0x00000068u;
|
|
/* 028496E8 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 028496EC */ cpu->r[11] = 0x10130000u;
|
|
/* 028496F0 */ _t14 = cpu->r[3] + 0x000000A4u;
|
|
/* 028496F0 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 028496F4 */ cpu->r[11] = cpu->r[11] + 0xFFFFF858u;
|
|
/* 028496F8 */ _t15 = cpu->r[3] + 0x00000090u;
|
|
/* 028496F8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 028496FC */ _t16 = cpu->r[3] + 0x0000009Cu;
|
|
/* 028496FC */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02849700 */ _t17 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02849700 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02849704 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 02849704 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02849708 */ cpu->r[11] = 0x00007D00u;
|
|
/* 0284970C */ _t19 = cpu->r[3] + 0x000000ADu;
|
|
/* 0284970C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
/* 02849710 */ _t20 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02849710 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02849714 */ _t21 = cpu->r[3] + 0x00000082u;
|
|
/* 02849714 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 02849718 */ _t22 = cpu->r[3] + 0x00000074u;
|
|
/* 02849718 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0284971C */ _t23 = cpu->r[3] + 0x00000078u;
|
|
/* 0284971C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02849720 */ _t24 = cpu->r[3] + 0x00000098u;
|
|
/* 02849720 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 02849724 */ _t25 = cpu->r[3] + 0x00000088u;
|
|
/* 02849724 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02849728 */ _t26 = cpu->r[3] + 0x000000ACu;
|
|
/* 02849728 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
|
|
/* 0284972C */ _t27 = cpu->r[3] + 0x00000080u;
|
|
/* 0284972C */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
|
|
/* 02849730 */ _t28 = cpu->r[3] + 0x00000081u;
|
|
/* 02849730 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 02849734 */ _t29 = cpu->r[3] + 0x000000A0u;
|
|
/* 02849734 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
/* 02849738 */ Gambit_fn_02849628(cpu);
|
|
/* 0284973C */ Gambit_fn_02849668(cpu);
|
|
/* 02849740 */ _t30 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02849740 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02849744 */ _t31 = cpu->r[3] + 0x00000070u;
|
|
/* 02849744 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
L_02849748: ; // 0x2849748
|
|
/* 02849748 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02849748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284974C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284974C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02849750 */ cpu->lr = cpu->r[0];
|
|
/* 02849754 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02849758 */ return;
|
|
}
|
|
|
|
// fn_0284969C @ 0x284969c
|
|
void Gambit_fn_0284969C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_0284969C: ; // 0x284969c
|
|
/* 0284969C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284969C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284969C */ cpu->r[1] = _t0;
|
|
/* 028496A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028496A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028496A4 */ cpu->r[31] = cpu->r[4];
|
|
/* 028496A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028496AC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028496AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028496B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028496B0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028496B0 */ if (_t4) goto L_028496B4; else goto L_028496C4;
|
|
L_028496B4: ; // 0x28496b4
|
|
/* 028496B4 */ cpu->r[3] = 0x000000B0u;
|
|
/* 028496B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028496BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028496C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028496C0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028496C0 */ if (_t6) goto L_02849748; else goto L_028496C4;
|
|
L_028496C4: ; // 0x28496c4
|
|
/* 028496C4 */ _t7 = cpu->r[3] + 0x00000064u;
|
|
/* 028496C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 028496C8 */ cpu->r[0] = 0x00000000u;
|
|
/* 028496CC */ cpu->r[12] = 0x10130000u;
|
|
/* 028496D0 */ _t8 = cpu->r[3] + 0x00000083u;
|
|
/* 028496D0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 028496D4 */ _t9 = cpu->r[12] + 0xFFFFF950u;
|
|
/* 028496D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 028496D8 */ _t10 = cpu->r[3] + 0x00000094u;
|
|
/* 028496D8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 028496DC */ _t11 = cpu->r[3] + 0x000000A8u;
|
|
/* 028496DC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 028496E0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 028496E4 */ _t12 = cpu->r[3] + 0x00000084u;
|
|
/* 028496E4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 028496E8 */ _t13 = cpu->r[3] + 0x00000068u;
|
|
/* 028496E8 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 028496EC */ cpu->r[11] = 0x10130000u;
|
|
/* 028496F0 */ _t14 = cpu->r[3] + 0x000000A4u;
|
|
/* 028496F0 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 028496F4 */ cpu->r[11] = cpu->r[11] + 0xFFFFF858u;
|
|
/* 028496F8 */ _t15 = cpu->r[3] + 0x00000090u;
|
|
/* 028496F8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 028496FC */ _t16 = cpu->r[3] + 0x0000009Cu;
|
|
/* 028496FC */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02849700 */ _t17 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02849700 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02849704 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 02849704 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02849708 */ cpu->r[11] = 0x00007D00u;
|
|
/* 0284970C */ _t19 = cpu->r[3] + 0x000000ADu;
|
|
/* 0284970C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
/* 02849710 */ _t20 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02849710 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02849714 */ _t21 = cpu->r[3] + 0x00000082u;
|
|
/* 02849714 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 02849718 */ _t22 = cpu->r[3] + 0x00000074u;
|
|
/* 02849718 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0284971C */ _t23 = cpu->r[3] + 0x00000078u;
|
|
/* 0284971C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02849720 */ _t24 = cpu->r[3] + 0x00000098u;
|
|
/* 02849720 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 02849724 */ _t25 = cpu->r[3] + 0x00000088u;
|
|
/* 02849724 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02849728 */ _t26 = cpu->r[3] + 0x000000ACu;
|
|
/* 02849728 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
|
|
/* 0284972C */ _t27 = cpu->r[3] + 0x00000080u;
|
|
/* 0284972C */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
|
|
/* 02849730 */ _t28 = cpu->r[3] + 0x00000081u;
|
|
/* 02849730 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 02849734 */ _t29 = cpu->r[3] + 0x000000A0u;
|
|
/* 02849734 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
/* 02849738 */ Gambit_fn_02849628(cpu);
|
|
/* 0284973C */ Gambit_fn_02849668(cpu);
|
|
/* 02849740 */ _t30 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02849740 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02849744 */ _t31 = cpu->r[3] + 0x00000070u;
|
|
/* 02849744 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
L_02849748: ; // 0x2849748
|
|
/* 02849748 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02849748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284974C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284974C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02849750 */ cpu->lr = cpu->r[0];
|
|
/* 02849754 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02849758 */ return;
|
|
}
|
|
|
|
// fn_0284975C @ 0x284975c
|
|
void Gambit_fn_0284975C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284975C: ; // 0x284975c
|
|
/* 0284975C */ cpu->r[0] = cpu->lr;
|
|
/* 02849760 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02849760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02849760 */ cpu->r[1] = _t0;
|
|
/* 02849764 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849764 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02849768 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284976C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284976C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02849770 */ Gambit_fn_02849668(cpu);
|
|
/* 02849774 */ _t3 = cpu->r[31] + 0x00000068u;
|
|
/* 02849774 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02849778 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284977C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849780 */ _t4 = cpu->r[31] + 0x00000080u;
|
|
/* 02849780 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 02849784 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02849784 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02849784 */ if (_t6) goto L_02849794; else goto L_02849788;
|
|
L_02849788: ; // 0x2849788
|
|
/* 02849788 */ rbrew_dispatch(cpu, 0x02d0bdd0u);
|
|
/* 0284978C */ _t7 = cpu->r[31] + 0x00000068u;
|
|
/* 0284978C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02849790 */ rbrew_dispatch(cpu, 0x02d0be08u);
|
|
L_02849794: ; // 0x2849794
|
|
/* 02849794 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02849798 */ _t8 = cpu->r[31] + 0x00000068u;
|
|
/* 02849798 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 0284979C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284979C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028497A0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028497A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028497A4 */ cpu->lr = cpu->r[0];
|
|
/* 028497A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028497AC */ return;
|
|
}
|
|
|
|
// fn_02849760 @ 0x2849760
|
|
void Gambit_fn_02849760(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02849760: ; // 0x2849760
|
|
/* 02849760 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02849760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02849760 */ cpu->r[1] = _t0;
|
|
/* 02849764 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849764 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02849768 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284976C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284976C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02849770 */ Gambit_fn_02849668(cpu);
|
|
/* 02849774 */ _t3 = cpu->r[31] + 0x00000068u;
|
|
/* 02849774 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02849778 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284977C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849780 */ _t4 = cpu->r[31] + 0x00000080u;
|
|
/* 02849780 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 02849784 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02849784 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02849784 */ if (_t6) goto L_02849794; else goto L_02849788;
|
|
L_02849788: ; // 0x2849788
|
|
/* 02849788 */ rbrew_dispatch(cpu, 0x02d0bdd0u);
|
|
/* 0284978C */ _t7 = cpu->r[31] + 0x00000068u;
|
|
/* 0284978C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02849790 */ rbrew_dispatch(cpu, 0x02d0be08u);
|
|
L_02849794: ; // 0x2849794
|
|
/* 02849794 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02849798 */ _t8 = cpu->r[31] + 0x00000068u;
|
|
/* 02849798 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 0284979C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284979C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028497A0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028497A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028497A4 */ cpu->lr = cpu->r[0];
|
|
/* 028497A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028497AC */ return;
|
|
}
|
|
|
|
// fn_028497B0 @ 0x28497b0
|
|
void Gambit_fn_028497B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_028497B0: ; // 0x28497b0
|
|
/* 028497B0 */ cpu->r[0] = cpu->lr;
|
|
/* 028497B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028497B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028497B4 */ cpu->r[1] = _t0;
|
|
/* 028497B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028497B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028497BC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028497BC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028497C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028497C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028497C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028497C8 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 028497C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028497CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028497D0 */ cpu->r[30] = 0x00000000u;
|
|
/* 028497D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028497D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028497D4 */ if (_t6) goto L_028497E0; else goto L_028497D8;
|
|
L_028497D8: ; // 0x28497d8
|
|
/* 028497D8 */ Gambit_fn_02801BB0(cpu);
|
|
/* 028497DC */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 028497DC */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
L_028497E0: ; // 0x28497e0
|
|
/* 028497E0 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 028497E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028497E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028497E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028497E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028497E8 */ if (_t10) goto L_028497F4; else goto L_028497EC;
|
|
L_028497EC: ; // 0x28497ec
|
|
/* 028497EC */ Gambit_fn_02801BB0(cpu);
|
|
/* 028497F0 */ _t11 = cpu->r[31] + 0x00000008u;
|
|
/* 028497F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
L_028497F4: ; // 0x28497f4
|
|
/* 028497F4 */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028497F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028497F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028497FC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028497FC */ _t14 = _t13 & 0x00000001u;
|
|
/* 028497FC */ if (_t14) goto L_02849808; else goto L_02849800;
|
|
L_02849800: ; // 0x2849800
|
|
/* 02849800 */ Gambit_fn_02801BB0(cpu);
|
|
/* 02849804 */ _t15 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02849804 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
L_02849808: ; // 0x2849808
|
|
/* 02849808 */ _t16 = cpu->r[31] + 0x00000010u;
|
|
/* 02849808 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284980C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849810 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849810 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02849810 */ if (_t18) goto L_0284981C; else goto L_02849814;
|
|
L_02849814: ; // 0x2849814
|
|
/* 02849814 */ Gambit_fn_02801BB0(cpu);
|
|
/* 02849818 */ _t19 = cpu->r[31] + 0x00000010u;
|
|
/* 02849818 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_0284981C: ; // 0x284981c
|
|
/* 0284981C */ _t20 = cpu->r[31] + 0x00000014u;
|
|
/* 0284981C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02849820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849824 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849824 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02849824 */ if (_t22) goto L_02849830; else goto L_02849828;
|
|
L_02849828: ; // 0x2849828
|
|
/* 02849828 */ Gambit_fn_02801BB0(cpu);
|
|
/* 0284982C */ _t23 = cpu->r[31] + 0x00000014u;
|
|
/* 0284982C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
L_02849830: ; // 0x2849830
|
|
/* 02849830 */ _t24 = cpu->r[31] + 0x00000018u;
|
|
/* 02849830 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02849834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849838 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849838 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02849838 */ if (_t26) goto L_02849844; else goto L_0284983C;
|
|
L_0284983C: ; // 0x284983c
|
|
/* 0284983C */ Gambit_fn_02801BB0(cpu);
|
|
/* 02849840 */ _t27 = cpu->r[31] + 0x00000018u;
|
|
/* 02849840 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
L_02849844: ; // 0x2849844
|
|
/* 02849844 */ _t28 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02849844 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02849848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284984C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284984C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284984C */ if (_t30) goto L_02849858; else goto L_02849850;
|
|
L_02849850: ; // 0x2849850
|
|
/* 02849850 */ Gambit_fn_02801BB0(cpu);
|
|
/* 02849854 */ _t31 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02849854 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
L_02849858: ; // 0x2849858
|
|
/* 02849858 */ _t32 = cpu->r[31] + 0x00000020u;
|
|
/* 02849858 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284985C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849860 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849860 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02849860 */ if (_t34) goto L_0284986C; else goto L_02849864;
|
|
L_02849864: ; // 0x2849864
|
|
/* 02849864 */ Gambit_fn_02801BB0(cpu);
|
|
/* 02849868 */ _t35 = cpu->r[31] + 0x00000020u;
|
|
/* 02849868 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
|
|
L_0284986C: ; // 0x284986c
|
|
/* 0284986C */ _t36 = cpu->r[31] + 0x00000024u;
|
|
/* 0284986C */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02849870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849874 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849874 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02849874 */ if (_t38) goto L_02849880; else goto L_02849878;
|
|
L_02849878: ; // 0x2849878
|
|
/* 02849878 */ Gambit_fn_02801BB0(cpu);
|
|
/* 0284987C */ _t39 = cpu->r[31] + 0x00000024u;
|
|
/* 0284987C */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
L_02849880: ; // 0x2849880
|
|
/* 02849880 */ _t40 = cpu->r[31] + 0x00000028u;
|
|
/* 02849880 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02849884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849888 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849888 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02849888 */ if (_t42) goto L_02849894; else goto L_0284988C;
|
|
L_0284988C: ; // 0x284988c
|
|
/* 0284988C */ Gambit_fn_02801BB0(cpu);
|
|
/* 02849890 */ _t43 = cpu->r[31] + 0x00000028u;
|
|
/* 02849890 */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
|
|
L_02849894: ; // 0x2849894
|
|
/* 02849894 */ _t44 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02849894 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02849898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284989C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284989C */ _t46 = _t45 & 0x00000001u;
|
|
/* 0284989C */ if (_t46) goto L_028498A8; else goto L_028498A0;
|
|
L_028498A0: ; // 0x28498a0
|
|
/* 028498A0 */ Gambit_fn_02801BB0(cpu);
|
|
/* 028498A4 */ _t47 = cpu->r[31] + 0x0000002Cu;
|
|
/* 028498A4 */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
|
|
L_028498A8: ; // 0x28498a8
|
|
/* 028498A8 */ _t48 = cpu->r[31] + 0x00000030u;
|
|
/* 028498A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 028498AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028498B0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028498B0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 028498B0 */ if (_t50) goto L_028498BC; else goto L_028498B4;
|
|
L_028498B4: ; // 0x28498b4
|
|
/* 028498B4 */ Gambit_fn_02801BB0(cpu);
|
|
/* 028498B8 */ _t51 = cpu->r[31] + 0x00000030u;
|
|
/* 028498B8 */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
|
|
L_028498BC: ; // 0x28498bc
|
|
/* 028498BC */ _t52 = cpu->r[31] + 0x00000034u;
|
|
/* 028498BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 028498C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028498C4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028498C4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 028498C4 */ if (_t54) goto L_028498D0; else goto L_028498C8;
|
|
L_028498C8: ; // 0x28498c8
|
|
/* 028498C8 */ Gambit_fn_02801BB0(cpu);
|
|
/* 028498CC */ _t55 = cpu->r[31] + 0x00000034u;
|
|
/* 028498CC */ rbrew_write32(cpu->mem, _t55, cpu->r[30]);
|
|
L_028498D0: ; // 0x28498d0
|
|
/* 028498D0 */ _t56 = cpu->r[31] + 0x00000038u;
|
|
/* 028498D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
|
|
/* 028498D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028498D8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028498D8 */ _t58 = _t57 & 0x00000001u;
|
|
/* 028498D8 */ if (_t58) goto L_028498E4; else goto L_028498DC;
|
|
L_028498DC: ; // 0x28498dc
|
|
/* 028498DC */ Gambit_fn_02801BB0(cpu);
|
|
/* 028498E0 */ _t59 = cpu->r[31] + 0x00000038u;
|
|
/* 028498E0 */ rbrew_write32(cpu->mem, _t59, cpu->r[30]);
|
|
L_028498E4: ; // 0x28498e4
|
|
/* 028498E4 */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 028498E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 028498E8 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 028498E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 028498EC */ cpu->lr = cpu->r[0];
|
|
/* 028498F0 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028498F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 028498F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028498F8 */ return;
|
|
}
|
|
|
|
// fn_028497B4 @ 0x28497b4
|
|
void Gambit_fn_028497B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_028497B4: ; // 0x28497b4
|
|
/* 028497B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028497B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028497B4 */ cpu->r[1] = _t0;
|
|
/* 028497B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028497B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028497BC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028497BC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028497C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028497C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028497C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028497C8 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 028497C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028497CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028497D0 */ cpu->r[30] = 0x00000000u;
|
|
/* 028497D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028497D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028497D4 */ if (_t6) goto L_028497E0; else goto L_028497D8;
|
|
L_028497D8: ; // 0x28497d8
|
|
/* 028497D8 */ Gambit_fn_02801BB0(cpu);
|
|
/* 028497DC */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 028497DC */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
L_028497E0: ; // 0x28497e0
|
|
/* 028497E0 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 028497E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028497E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028497E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028497E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028497E8 */ if (_t10) goto L_028497F4; else goto L_028497EC;
|
|
L_028497EC: ; // 0x28497ec
|
|
/* 028497EC */ Gambit_fn_02801BB0(cpu);
|
|
/* 028497F0 */ _t11 = cpu->r[31] + 0x00000008u;
|
|
/* 028497F0 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
L_028497F4: ; // 0x28497f4
|
|
/* 028497F4 */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028497F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028497F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028497FC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028497FC */ _t14 = _t13 & 0x00000001u;
|
|
/* 028497FC */ if (_t14) goto L_02849808; else goto L_02849800;
|
|
L_02849800: ; // 0x2849800
|
|
/* 02849800 */ Gambit_fn_02801BB0(cpu);
|
|
/* 02849804 */ _t15 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02849804 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
L_02849808: ; // 0x2849808
|
|
/* 02849808 */ _t16 = cpu->r[31] + 0x00000010u;
|
|
/* 02849808 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284980C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849810 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849810 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02849810 */ if (_t18) goto L_0284981C; else goto L_02849814;
|
|
L_02849814: ; // 0x2849814
|
|
/* 02849814 */ Gambit_fn_02801BB0(cpu);
|
|
/* 02849818 */ _t19 = cpu->r[31] + 0x00000010u;
|
|
/* 02849818 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_0284981C: ; // 0x284981c
|
|
/* 0284981C */ _t20 = cpu->r[31] + 0x00000014u;
|
|
/* 0284981C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02849820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849824 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849824 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02849824 */ if (_t22) goto L_02849830; else goto L_02849828;
|
|
L_02849828: ; // 0x2849828
|
|
/* 02849828 */ Gambit_fn_02801BB0(cpu);
|
|
/* 0284982C */ _t23 = cpu->r[31] + 0x00000014u;
|
|
/* 0284982C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
L_02849830: ; // 0x2849830
|
|
/* 02849830 */ _t24 = cpu->r[31] + 0x00000018u;
|
|
/* 02849830 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02849834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849838 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849838 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02849838 */ if (_t26) goto L_02849844; else goto L_0284983C;
|
|
L_0284983C: ; // 0x284983c
|
|
/* 0284983C */ Gambit_fn_02801BB0(cpu);
|
|
/* 02849840 */ _t27 = cpu->r[31] + 0x00000018u;
|
|
/* 02849840 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
L_02849844: ; // 0x2849844
|
|
/* 02849844 */ _t28 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02849844 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02849848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284984C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284984C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284984C */ if (_t30) goto L_02849858; else goto L_02849850;
|
|
L_02849850: ; // 0x2849850
|
|
/* 02849850 */ Gambit_fn_02801BB0(cpu);
|
|
/* 02849854 */ _t31 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02849854 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
L_02849858: ; // 0x2849858
|
|
/* 02849858 */ _t32 = cpu->r[31] + 0x00000020u;
|
|
/* 02849858 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284985C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849860 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849860 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02849860 */ if (_t34) goto L_0284986C; else goto L_02849864;
|
|
L_02849864: ; // 0x2849864
|
|
/* 02849864 */ Gambit_fn_02801BB0(cpu);
|
|
/* 02849868 */ _t35 = cpu->r[31] + 0x00000020u;
|
|
/* 02849868 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
|
|
L_0284986C: ; // 0x284986c
|
|
/* 0284986C */ _t36 = cpu->r[31] + 0x00000024u;
|
|
/* 0284986C */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02849870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849874 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849874 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02849874 */ if (_t38) goto L_02849880; else goto L_02849878;
|
|
L_02849878: ; // 0x2849878
|
|
/* 02849878 */ Gambit_fn_02801BB0(cpu);
|
|
/* 0284987C */ _t39 = cpu->r[31] + 0x00000024u;
|
|
/* 0284987C */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
L_02849880: ; // 0x2849880
|
|
/* 02849880 */ _t40 = cpu->r[31] + 0x00000028u;
|
|
/* 02849880 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02849884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849888 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849888 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02849888 */ if (_t42) goto L_02849894; else goto L_0284988C;
|
|
L_0284988C: ; // 0x284988c
|
|
/* 0284988C */ Gambit_fn_02801BB0(cpu);
|
|
/* 02849890 */ _t43 = cpu->r[31] + 0x00000028u;
|
|
/* 02849890 */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
|
|
L_02849894: ; // 0x2849894
|
|
/* 02849894 */ _t44 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02849894 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02849898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284989C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284989C */ _t46 = _t45 & 0x00000001u;
|
|
/* 0284989C */ if (_t46) goto L_028498A8; else goto L_028498A0;
|
|
L_028498A0: ; // 0x28498a0
|
|
/* 028498A0 */ Gambit_fn_02801BB0(cpu);
|
|
/* 028498A4 */ _t47 = cpu->r[31] + 0x0000002Cu;
|
|
/* 028498A4 */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
|
|
L_028498A8: ; // 0x28498a8
|
|
/* 028498A8 */ _t48 = cpu->r[31] + 0x00000030u;
|
|
/* 028498A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 028498AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028498B0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028498B0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 028498B0 */ if (_t50) goto L_028498BC; else goto L_028498B4;
|
|
L_028498B4: ; // 0x28498b4
|
|
/* 028498B4 */ Gambit_fn_02801BB0(cpu);
|
|
/* 028498B8 */ _t51 = cpu->r[31] + 0x00000030u;
|
|
/* 028498B8 */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
|
|
L_028498BC: ; // 0x28498bc
|
|
/* 028498BC */ _t52 = cpu->r[31] + 0x00000034u;
|
|
/* 028498BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 028498C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028498C4 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028498C4 */ _t54 = _t53 & 0x00000001u;
|
|
/* 028498C4 */ if (_t54) goto L_028498D0; else goto L_028498C8;
|
|
L_028498C8: ; // 0x28498c8
|
|
/* 028498C8 */ Gambit_fn_02801BB0(cpu);
|
|
/* 028498CC */ _t55 = cpu->r[31] + 0x00000034u;
|
|
/* 028498CC */ rbrew_write32(cpu->mem, _t55, cpu->r[30]);
|
|
L_028498D0: ; // 0x28498d0
|
|
/* 028498D0 */ _t56 = cpu->r[31] + 0x00000038u;
|
|
/* 028498D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
|
|
/* 028498D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028498D8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028498D8 */ _t58 = _t57 & 0x00000001u;
|
|
/* 028498D8 */ if (_t58) goto L_028498E4; else goto L_028498DC;
|
|
L_028498DC: ; // 0x28498dc
|
|
/* 028498DC */ Gambit_fn_02801BB0(cpu);
|
|
/* 028498E0 */ _t59 = cpu->r[31] + 0x00000038u;
|
|
/* 028498E0 */ rbrew_write32(cpu->mem, _t59, cpu->r[30]);
|
|
L_028498E4: ; // 0x28498e4
|
|
/* 028498E4 */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 028498E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 028498E8 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 028498E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 028498EC */ cpu->lr = cpu->r[0];
|
|
/* 028498F0 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028498F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 028498F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028498F8 */ return;
|
|
}
|
|
|
|
// fn_028498FC @ 0x28498fc
|
|
void Gambit_fn_028498FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_028498FC: ; // 0x28498fc
|
|
/* 028498FC */ cpu->r[0] = cpu->lr;
|
|
/* 02849900 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02849900 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02849900 */ cpu->r[1] = _t0;
|
|
/* 02849904 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849904 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02849908 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02849908 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284990C */ cpu->r[30] = cpu->r[3];
|
|
/* 0284990C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02849910 */ cpu->r[31] = cpu->r[4];
|
|
/* 02849914 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02849914 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02849918 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849918 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02849918 */ if (_t5) goto L_02849960; else goto L_0284991C;
|
|
L_0284991C: ; // 0x284991c
|
|
/* 0284991C */ cpu->r[11] = 0x10130000u;
|
|
/* 02849920 */ cpu->r[11] = cpu->r[11] + 0xFFFFF858u;
|
|
/* 02849924 */ cpu->r[3] = cpu->r[30];
|
|
/* 02849928 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02849928 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0284992C */ Gambit_fn_0284975C(cpu);
|
|
/* 02849930 */ _t7 = cpu->r[30] + 0x00000074u;
|
|
/* 02849930 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02849934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849938 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849938 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02849938 */ if (_t9) goto L_02849948; else goto L_0284993C;
|
|
L_0284993C: ; // 0x284993c
|
|
/* 0284993C */ Gambit_fn_02801BB4(cpu);
|
|
/* 02849940 */ cpu->r[12] = 0x00000000u;
|
|
/* 02849944 */ _t10 = cpu->r[30] + 0x00000074u;
|
|
/* 02849944 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
L_02849948: ; // 0x2849948
|
|
/* 02849948 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284994C */ Gambit_fn_028497B0(cpu);
|
|
/* 02849950 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02849950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02849954 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849954 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02849954 */ if (_t12) goto L_02849960; else goto L_02849958;
|
|
L_02849958: ; // 0x2849958
|
|
/* 02849958 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284995C */ Gambit_fn_02801BB0(cpu);
|
|
L_02849960: ; // 0x2849960
|
|
/* 02849960 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02849960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02849964 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02849964 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02849968 */ cpu->lr = cpu->r[0];
|
|
/* 0284996C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284996C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02849970 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02849974 */ return;
|
|
}
|
|
|
|
// fn_02849900 @ 0x2849900
|
|
void Gambit_fn_02849900(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02849900: ; // 0x2849900
|
|
/* 02849900 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02849900 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02849900 */ cpu->r[1] = _t0;
|
|
/* 02849904 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849904 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02849908 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02849908 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284990C */ cpu->r[30] = cpu->r[3];
|
|
/* 0284990C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02849910 */ cpu->r[31] = cpu->r[4];
|
|
/* 02849914 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02849914 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02849918 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849918 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02849918 */ if (_t5) goto L_02849960; else goto L_0284991C;
|
|
L_0284991C: ; // 0x284991c
|
|
/* 0284991C */ cpu->r[11] = 0x10130000u;
|
|
/* 02849920 */ cpu->r[11] = cpu->r[11] + 0xFFFFF858u;
|
|
/* 02849924 */ cpu->r[3] = cpu->r[30];
|
|
/* 02849928 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02849928 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0284992C */ Gambit_fn_0284975C(cpu);
|
|
/* 02849930 */ _t7 = cpu->r[30] + 0x00000074u;
|
|
/* 02849930 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02849934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849938 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849938 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02849938 */ if (_t9) goto L_02849948; else goto L_0284993C;
|
|
L_0284993C: ; // 0x284993c
|
|
/* 0284993C */ Gambit_fn_02801BB4(cpu);
|
|
/* 02849940 */ cpu->r[12] = 0x00000000u;
|
|
/* 02849944 */ _t10 = cpu->r[30] + 0x00000074u;
|
|
/* 02849944 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
L_02849948: ; // 0x2849948
|
|
/* 02849948 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284994C */ Gambit_fn_028497B0(cpu);
|
|
/* 02849950 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02849950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02849954 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849954 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02849954 */ if (_t12) goto L_02849960; else goto L_02849958;
|
|
L_02849958: ; // 0x2849958
|
|
/* 02849958 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284995C */ Gambit_fn_02801BB0(cpu);
|
|
L_02849960: ; // 0x2849960
|
|
/* 02849960 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02849960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02849964 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02849964 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02849968 */ cpu->lr = cpu->r[0];
|
|
/* 0284996C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284996C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02849970 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02849974 */ return;
|
|
}
|
|
|
|
// fn_02849978 @ 0x2849978
|
|
void Gambit_fn_02849978(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02849978: ; // 0x2849978
|
|
/* 02849978 */ _t0 = cpu->r[3] + 0x00000070u;
|
|
/* 02849978 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284997C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02849980 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849980 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02849980 */ if (_t2) goto L_02849990; else goto L_02849984;
|
|
L_02849984: ; // 0x2849984
|
|
/* 02849984 */ _t3 = cpu->r[3] + 0x0000006Cu;
|
|
/* 02849984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02849988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284998C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284998C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284998C */ if (_t5) goto L_02849990; else goto L_02849998;
|
|
L_02849990: ; // 0x2849990
|
|
/* 02849990 */ cpu->r[3] = 0x00000000u;
|
|
/* 02849994 */ return;
|
|
L_02849998: ; // 0x2849998
|
|
/* 02849998 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284999C */ return;
|
|
}
|
|
|
|
// fn_028499A0 @ 0x28499a0
|
|
void Gambit_fn_028499A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_028499A0: ; // 0x28499a0
|
|
/* 028499A0 */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 028499A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028499A0 */ cpu->r[1] = _t0;
|
|
/* 028499A4 */ cpu->r[0] = cpu->lr;
|
|
/* 028499A8 */ /* nop */
|
|
/* 028499AC */ cpu->r[5] = 0x00000004u;
|
|
/* 028499B0 */ _t1 = cpu->r[1] + 0x00000094u;
|
|
/* 028499B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028499B4 */ cpu->r[29] = cpu->r[3];
|
|
/* 028499B8 */ cpu->r[3] = 0x00000010u;
|
|
/* 028499BC */ cpu->r[30] = cpu->r[4];
|
|
/* 028499C0 */ Gambit_fn_02801AC8(cpu);
|
|
/* 028499C4 */ cpu->r[27] = 0x10130000u;
|
|
/* 028499C8 */ cpu->r[28] = 0x10130000u;
|
|
/* 028499CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028499D0 */ cpu->r[27] = cpu->r[27] + 0xFFFFF880u;
|
|
/* 028499D4 */ cpu->r[28] = cpu->r[28] + 0xFFFFF868u;
|
|
/* 028499D8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028499D8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 028499D8 */ if (_t3) goto L_02849A4C; else goto L_028499DC;
|
|
L_028499DC: ; // 0x28499dc
|
|
/* 028499DC */ cpu->r[7] = 0x00000000u;
|
|
/* 028499E0 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 028499E4 */ cpu->r[12] = 0x02850000u;
|
|
/* 028499E8 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 028499E8 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[7]);
|
|
/* 028499EC */ cpu->r[12] = cpu->r[12] + 0xFFFFAB3Cu;
|
|
/* 028499F0 */ _t5 = cpu->r[1] + 0x0000000Au;
|
|
/* 028499F0 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[5]);
|
|
/* 028499F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028499F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028499F8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028499F8 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 028499FC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028499FC */ _t8 = _t7 & 0x00000001u;
|
|
/* 028499FC */ if (_t8) goto L_02849A00; else goto L_02849A10;
|
|
L_02849A00: ; // 0x2849a00
|
|
/* 02849A00 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849A04 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849A0C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849A0C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02849A0C */ if (_t10) goto L_02849A28; else goto L_02849A10;
|
|
L_02849A10: ; // 0x2849a10
|
|
/* 02849A10 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02849A10 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02849A14 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02849A14 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02849A18 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02849A18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02849A1C */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 02849A1C */ rbrew_write32(cpu->mem, _t14, cpu->r[6]);
|
|
/* 02849A20 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02849A20 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02849A24 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02849A24 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
L_02849A28: ; // 0x2849a28
|
|
/* 02849A28 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 02849A28 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 02849A2C */ cpu->r[5] = 0x00000004u;
|
|
/* 02849A30 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849A34 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849A38 */ _t18 = cpu->r[29] + 0x00000004u;
|
|
/* 02849A38 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02849A3C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849A44 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849A44 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02849A44 */ if (_t20) goto L_02849ADC; else goto L_02849A48;
|
|
L_02849A48: ; // 0x2849a48
|
|
/* 02849A48 */ goto L_02849A6C;
|
|
L_02849A4C: ; // 0x2849a4c
|
|
/* 02849A4C */ cpu->r[31] = 0x00000000u;
|
|
/* 02849A50 */ cpu->r[5] = 0x00000004u;
|
|
/* 02849A54 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849A58 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849A5C */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 02849A5C */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 02849A60 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849A68 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849A68 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02849A68 */ if (_t23) goto L_02849ADC; else goto L_02849A6C;
|
|
L_02849A6C: ; // 0x2849a6c
|
|
/* 02849A6C */ cpu->r[11] = 0x00000000u;
|
|
/* 02849A70 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02849A74 */ cpu->r[9] = 0x02850000u;
|
|
/* 02849A78 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02849A78 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[11]);
|
|
/* 02849A7C */ cpu->r[9] = cpu->r[9] + 0xFFFFB1F8u;
|
|
/* 02849A80 */ _t25 = cpu->r[1] + 0x00000012u;
|
|
/* 02849A80 */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[10]);
|
|
/* 02849A84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02849A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02849A88 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02849A88 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 02849A8C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849A8C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02849A8C */ if (_t28) goto L_02849A90; else goto L_02849AA0;
|
|
L_02849A90: ; // 0x2849a90
|
|
/* 02849A90 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849A94 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849A9C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849A9C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02849A9C */ if (_t30) goto L_02849AB8; else goto L_02849AA0;
|
|
L_02849AA0: ; // 0x2849aa0
|
|
/* 02849AA0 */ _t31 = cpu->r[3] + 0x00000004u;
|
|
/* 02849AA0 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 02849AA4 */ _t32 = cpu->r[3] + 0x00000000u;
|
|
/* 02849AA4 */ rbrew_write32(cpu->mem, _t32, cpu->r[28]);
|
|
/* 02849AA8 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02849AA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02849AAC */ _t34 = cpu->r[3] + 0x00000008u;
|
|
/* 02849AAC */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02849AB0 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02849AB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02849AB4 */ _t36 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02849AB4 */ rbrew_write32(cpu->mem, _t36, cpu->r[10]);
|
|
L_02849AB8: ; // 0x2849ab8
|
|
/* 02849AB8 */ _t37 = cpu->r[31] + 0x00000000u;
|
|
/* 02849AB8 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
/* 02849ABC */ cpu->r[5] = 0x00000004u;
|
|
/* 02849AC0 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849AC4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849AC8 */ _t38 = cpu->r[29] + 0x00000008u;
|
|
/* 02849AC8 */ rbrew_write32(cpu->mem, _t38, cpu->r[31]);
|
|
/* 02849ACC */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849AD4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849AD4 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02849AD4 */ if (_t40) goto L_02849B6C; else goto L_02849AD8;
|
|
L_02849AD8: ; // 0x2849ad8
|
|
/* 02849AD8 */ goto L_02849AFC;
|
|
L_02849ADC: ; // 0x2849adc
|
|
/* 02849ADC */ cpu->r[31] = 0x00000000u;
|
|
/* 02849AE0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02849AE4 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849AE8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849AEC */ _t41 = cpu->r[29] + 0x00000008u;
|
|
/* 02849AEC */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 02849AF0 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849AF8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849AF8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02849AF8 */ if (_t43) goto L_02849B6C; else goto L_02849AFC;
|
|
L_02849AFC: ; // 0x2849afc
|
|
/* 02849AFC */ cpu->r[8] = 0x00000000u;
|
|
/* 02849B00 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02849B04 */ cpu->r[0] = 0x02850000u;
|
|
/* 02849B08 */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 02849B08 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[8]);
|
|
/* 02849B0C */ cpu->r[0] = cpu->r[0] + 0xFFFFABA4u;
|
|
/* 02849B10 */ _t45 = cpu->r[1] + 0x0000001Au;
|
|
/* 02849B10 */ rbrew_write16(cpu->mem, _t45, (uint16_t)cpu->r[6]);
|
|
/* 02849B14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02849B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02849B18 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02849B18 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02849B1C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849B1C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02849B1C */ if (_t48) goto L_02849B20; else goto L_02849B30;
|
|
L_02849B20: ; // 0x2849b20
|
|
/* 02849B20 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849B24 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849B28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849B2C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849B2C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02849B2C */ if (_t50) goto L_02849B48; else goto L_02849B30;
|
|
L_02849B30: ; // 0x2849b30
|
|
/* 02849B30 */ _t51 = cpu->r[3] + 0x00000004u;
|
|
/* 02849B30 */ rbrew_write32(cpu->mem, _t51, cpu->r[29]);
|
|
/* 02849B34 */ _t52 = cpu->r[3] + 0x00000000u;
|
|
/* 02849B34 */ rbrew_write32(cpu->mem, _t52, cpu->r[28]);
|
|
/* 02849B38 */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 02849B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02849B3C */ _t54 = cpu->r[3] + 0x00000008u;
|
|
/* 02849B3C */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 02849B40 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02849B40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02849B44 */ _t56 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02849B44 */ rbrew_write32(cpu->mem, _t56, cpu->r[6]);
|
|
L_02849B48: ; // 0x2849b48
|
|
/* 02849B48 */ _t57 = cpu->r[31] + 0x00000000u;
|
|
/* 02849B48 */ rbrew_write32(cpu->mem, _t57, cpu->r[27]);
|
|
/* 02849B4C */ cpu->r[5] = 0x00000004u;
|
|
/* 02849B50 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849B54 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849B58 */ _t58 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02849B58 */ rbrew_write32(cpu->mem, _t58, cpu->r[31]);
|
|
/* 02849B5C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849B64 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849B64 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02849B64 */ if (_t60) goto L_02849BFC; else goto L_02849B68;
|
|
L_02849B68: ; // 0x2849b68
|
|
/* 02849B68 */ goto L_02849B8C;
|
|
L_02849B6C: ; // 0x2849b6c
|
|
/* 02849B6C */ cpu->r[31] = 0x00000000u;
|
|
/* 02849B70 */ cpu->r[5] = 0x00000004u;
|
|
/* 02849B74 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849B78 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849B7C */ _t61 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02849B7C */ rbrew_write32(cpu->mem, _t61, cpu->r[31]);
|
|
/* 02849B80 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849B88 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849B88 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02849B88 */ if (_t63) goto L_02849BFC; else goto L_02849B8C;
|
|
L_02849B8C: ; // 0x2849b8c
|
|
/* 02849B8C */ cpu->r[12] = 0x00000000u;
|
|
/* 02849B90 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02849B94 */ cpu->r[9] = 0x02850000u;
|
|
/* 02849B98 */ _t64 = cpu->r[1] + 0x00000020u;
|
|
/* 02849B98 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[12]);
|
|
/* 02849B9C */ cpu->r[9] = cpu->r[9] + 0xFFFFAC10u;
|
|
/* 02849BA0 */ _t65 = cpu->r[1] + 0x00000022u;
|
|
/* 02849BA0 */ rbrew_write16(cpu->mem, _t65, (uint16_t)cpu->r[10]);
|
|
/* 02849BA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02849BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02849BA8 */ _t66 = cpu->r[1] + 0x00000024u;
|
|
/* 02849BA8 */ rbrew_write32(cpu->mem, _t66, cpu->r[9]);
|
|
/* 02849BAC */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849BAC */ _t68 = _t67 & 0x00000001u;
|
|
/* 02849BAC */ if (_t68) goto L_02849BB0; else goto L_02849BC0;
|
|
L_02849BB0: ; // 0x2849bb0
|
|
/* 02849BB0 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849BB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849BBC */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849BBC */ _t70 = _t69 & 0x00000001u;
|
|
/* 02849BBC */ if (_t70) goto L_02849BD8; else goto L_02849BC0;
|
|
L_02849BC0: ; // 0x2849bc0
|
|
/* 02849BC0 */ _t71 = cpu->r[3] + 0x00000004u;
|
|
/* 02849BC0 */ rbrew_write32(cpu->mem, _t71, cpu->r[29]);
|
|
/* 02849BC4 */ _t72 = cpu->r[3] + 0x00000000u;
|
|
/* 02849BC4 */ rbrew_write32(cpu->mem, _t72, cpu->r[28]);
|
|
/* 02849BC8 */ _t73 = cpu->r[1] + 0x00000020u;
|
|
/* 02849BC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02849BCC */ _t74 = cpu->r[3] + 0x00000008u;
|
|
/* 02849BCC */ rbrew_write32(cpu->mem, _t74, cpu->r[12]);
|
|
/* 02849BD0 */ _t75 = cpu->r[1] + 0x00000024u;
|
|
/* 02849BD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02849BD4 */ _t76 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02849BD4 */ rbrew_write32(cpu->mem, _t76, cpu->r[5]);
|
|
L_02849BD8: ; // 0x2849bd8
|
|
/* 02849BD8 */ _t77 = cpu->r[31] + 0x00000000u;
|
|
/* 02849BD8 */ rbrew_write32(cpu->mem, _t77, cpu->r[27]);
|
|
/* 02849BDC */ cpu->r[5] = 0x00000004u;
|
|
/* 02849BE0 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849BE4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849BE8 */ _t78 = cpu->r[29] + 0x00000010u;
|
|
/* 02849BE8 */ rbrew_write32(cpu->mem, _t78, cpu->r[31]);
|
|
/* 02849BEC */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849BF4 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849BF4 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02849BF4 */ if (_t80) goto L_02849C8C; else goto L_02849BF8;
|
|
L_02849BF8: ; // 0x2849bf8
|
|
/* 02849BF8 */ goto L_02849C1C;
|
|
L_02849BFC: ; // 0x2849bfc
|
|
/* 02849BFC */ cpu->r[31] = 0x00000000u;
|
|
/* 02849C00 */ cpu->r[5] = 0x00000004u;
|
|
/* 02849C04 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849C08 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849C0C */ _t81 = cpu->r[29] + 0x00000010u;
|
|
/* 02849C0C */ rbrew_write32(cpu->mem, _t81, cpu->r[31]);
|
|
/* 02849C10 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849C18 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849C18 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02849C18 */ if (_t83) goto L_02849C8C; else goto L_02849C1C;
|
|
L_02849C1C: ; // 0x2849c1c
|
|
/* 02849C1C */ cpu->r[8] = 0x00000000u;
|
|
/* 02849C20 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02849C24 */ cpu->r[5] = 0x02850000u;
|
|
/* 02849C28 */ _t84 = cpu->r[1] + 0x00000028u;
|
|
/* 02849C28 */ rbrew_write16(cpu->mem, _t84, (uint16_t)cpu->r[8]);
|
|
/* 02849C2C */ cpu->r[5] = cpu->r[5] + 0xFFFFAC1Cu;
|
|
/* 02849C30 */ _t85 = cpu->r[1] + 0x0000002Au;
|
|
/* 02849C30 */ rbrew_write16(cpu->mem, _t85, (uint16_t)cpu->r[7]);
|
|
/* 02849C34 */ cpu->r[31] = cpu->r[3];
|
|
/* 02849C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02849C38 */ _t86 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02849C38 */ rbrew_write32(cpu->mem, _t86, cpu->r[5]);
|
|
/* 02849C3C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849C3C */ _t88 = _t87 & 0x00000001u;
|
|
/* 02849C3C */ if (_t88) goto L_02849C40; else goto L_02849C50;
|
|
L_02849C40: ; // 0x2849c40
|
|
/* 02849C40 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849C44 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849C4C */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849C4C */ _t90 = _t89 & 0x00000001u;
|
|
/* 02849C4C */ if (_t90) goto L_02849C68; else goto L_02849C50;
|
|
L_02849C50: ; // 0x2849c50
|
|
/* 02849C50 */ _t91 = cpu->r[3] + 0x00000004u;
|
|
/* 02849C50 */ rbrew_write32(cpu->mem, _t91, cpu->r[29]);
|
|
/* 02849C54 */ _t92 = cpu->r[3] + 0x00000000u;
|
|
/* 02849C54 */ rbrew_write32(cpu->mem, _t92, cpu->r[28]);
|
|
/* 02849C58 */ _t93 = cpu->r[1] + 0x00000028u;
|
|
/* 02849C58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02849C5C */ _t94 = cpu->r[3] + 0x00000008u;
|
|
/* 02849C5C */ rbrew_write32(cpu->mem, _t94, cpu->r[11]);
|
|
/* 02849C60 */ _t95 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02849C60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02849C64 */ _t96 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02849C64 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_02849C68: ; // 0x2849c68
|
|
/* 02849C68 */ _t97 = cpu->r[31] + 0x00000000u;
|
|
/* 02849C68 */ rbrew_write32(cpu->mem, _t97, cpu->r[27]);
|
|
/* 02849C6C */ cpu->r[5] = 0x00000004u;
|
|
/* 02849C70 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849C74 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849C78 */ _t98 = cpu->r[29] + 0x00000014u;
|
|
/* 02849C78 */ rbrew_write32(cpu->mem, _t98, cpu->r[31]);
|
|
/* 02849C7C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849C84 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849C84 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02849C84 */ if (_t100) goto L_02849D1C; else goto L_02849C88;
|
|
L_02849C88: ; // 0x2849c88
|
|
/* 02849C88 */ goto L_02849CAC;
|
|
L_02849C8C: ; // 0x2849c8c
|
|
/* 02849C8C */ cpu->r[31] = 0x00000000u;
|
|
/* 02849C90 */ cpu->r[5] = 0x00000004u;
|
|
/* 02849C94 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849C98 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849C9C */ _t101 = cpu->r[29] + 0x00000014u;
|
|
/* 02849C9C */ rbrew_write32(cpu->mem, _t101, cpu->r[31]);
|
|
/* 02849CA0 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849CA8 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849CA8 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02849CA8 */ if (_t103) goto L_02849D1C; else goto L_02849CAC;
|
|
L_02849CAC: ; // 0x2849cac
|
|
/* 02849CAC */ cpu->r[0] = 0x00000000u;
|
|
/* 02849CB0 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02849CB4 */ cpu->r[9] = 0x02850000u;
|
|
/* 02849CB8 */ _t104 = cpu->r[1] + 0x00000030u;
|
|
/* 02849CB8 */ rbrew_write16(cpu->mem, _t104, (uint16_t)cpu->r[0]);
|
|
/* 02849CBC */ cpu->r[9] = cpu->r[9] + 0xFFFFAC48u;
|
|
/* 02849CC0 */ _t105 = cpu->r[1] + 0x00000032u;
|
|
/* 02849CC0 */ rbrew_write16(cpu->mem, _t105, (uint16_t)cpu->r[11]);
|
|
/* 02849CC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02849CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02849CC8 */ _t106 = cpu->r[1] + 0x00000034u;
|
|
/* 02849CC8 */ rbrew_write32(cpu->mem, _t106, cpu->r[9]);
|
|
/* 02849CCC */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849CCC */ _t108 = _t107 & 0x00000001u;
|
|
/* 02849CCC */ if (_t108) goto L_02849CD0; else goto L_02849CE0;
|
|
L_02849CD0: ; // 0x2849cd0
|
|
/* 02849CD0 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849CD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849CDC */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849CDC */ _t110 = _t109 & 0x00000001u;
|
|
/* 02849CDC */ if (_t110) goto L_02849CF8; else goto L_02849CE0;
|
|
L_02849CE0: ; // 0x2849ce0
|
|
/* 02849CE0 */ _t111 = cpu->r[3] + 0x00000004u;
|
|
/* 02849CE0 */ rbrew_write32(cpu->mem, _t111, cpu->r[29]);
|
|
/* 02849CE4 */ _t112 = cpu->r[3] + 0x00000000u;
|
|
/* 02849CE4 */ rbrew_write32(cpu->mem, _t112, cpu->r[28]);
|
|
/* 02849CE8 */ _t113 = cpu->r[1] + 0x00000030u;
|
|
/* 02849CE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02849CEC */ _t114 = cpu->r[3] + 0x00000008u;
|
|
/* 02849CEC */ rbrew_write32(cpu->mem, _t114, cpu->r[10]);
|
|
/* 02849CF0 */ _t115 = cpu->r[1] + 0x00000034u;
|
|
/* 02849CF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02849CF4 */ _t116 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02849CF4 */ rbrew_write32(cpu->mem, _t116, cpu->r[12]);
|
|
L_02849CF8: ; // 0x2849cf8
|
|
/* 02849CF8 */ _t117 = cpu->r[31] + 0x00000000u;
|
|
/* 02849CF8 */ rbrew_write32(cpu->mem, _t117, cpu->r[27]);
|
|
/* 02849CFC */ cpu->r[5] = 0x00000004u;
|
|
/* 02849D00 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849D04 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849D08 */ _t118 = cpu->r[29] + 0x00000018u;
|
|
/* 02849D08 */ rbrew_write32(cpu->mem, _t118, cpu->r[31]);
|
|
/* 02849D0C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849D14 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849D14 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02849D14 */ if (_t120) goto L_02849DAC; else goto L_02849D18;
|
|
L_02849D18: ; // 0x2849d18
|
|
/* 02849D18 */ goto L_02849D3C;
|
|
L_02849D1C: ; // 0x2849d1c
|
|
/* 02849D1C */ cpu->r[31] = 0x00000000u;
|
|
/* 02849D20 */ cpu->r[5] = 0x00000004u;
|
|
/* 02849D24 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849D28 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849D2C */ _t121 = cpu->r[29] + 0x00000018u;
|
|
/* 02849D2C */ rbrew_write32(cpu->mem, _t121, cpu->r[31]);
|
|
/* 02849D30 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849D38 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849D38 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02849D38 */ if (_t123) goto L_02849DAC; else goto L_02849D3C;
|
|
L_02849D3C: ; // 0x2849d3c
|
|
/* 02849D3C */ cpu->r[9] = 0x00000000u;
|
|
/* 02849D40 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02849D44 */ cpu->r[6] = 0x02850000u;
|
|
/* 02849D48 */ _t124 = cpu->r[1] + 0x00000038u;
|
|
/* 02849D48 */ rbrew_write16(cpu->mem, _t124, (uint16_t)cpu->r[9]);
|
|
/* 02849D4C */ cpu->r[6] = cpu->r[6] + 0xFFFFAC74u;
|
|
/* 02849D50 */ _t125 = cpu->r[1] + 0x0000003Au;
|
|
/* 02849D50 */ rbrew_write16(cpu->mem, _t125, (uint16_t)cpu->r[7]);
|
|
/* 02849D54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02849D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02849D58 */ _t126 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02849D58 */ rbrew_write32(cpu->mem, _t126, cpu->r[6]);
|
|
/* 02849D5C */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849D5C */ _t128 = _t127 & 0x00000001u;
|
|
/* 02849D5C */ if (_t128) goto L_02849D60; else goto L_02849D70;
|
|
L_02849D60: ; // 0x2849d60
|
|
/* 02849D60 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849D64 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849D6C */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849D6C */ _t130 = _t129 & 0x00000001u;
|
|
/* 02849D6C */ if (_t130) goto L_02849D88; else goto L_02849D70;
|
|
L_02849D70: ; // 0x2849d70
|
|
/* 02849D70 */ _t131 = cpu->r[3] + 0x00000004u;
|
|
/* 02849D70 */ rbrew_write32(cpu->mem, _t131, cpu->r[29]);
|
|
/* 02849D74 */ _t132 = cpu->r[3] + 0x00000000u;
|
|
/* 02849D74 */ rbrew_write32(cpu->mem, _t132, cpu->r[28]);
|
|
/* 02849D78 */ _t133 = cpu->r[1] + 0x00000038u;
|
|
/* 02849D78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02849D7C */ _t134 = cpu->r[3] + 0x00000008u;
|
|
/* 02849D7C */ rbrew_write32(cpu->mem, _t134, cpu->r[8]);
|
|
/* 02849D80 */ _t135 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02849D80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02849D84 */ _t136 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02849D84 */ rbrew_write32(cpu->mem, _t136, cpu->r[10]);
|
|
L_02849D88: ; // 0x2849d88
|
|
/* 02849D88 */ _t137 = cpu->r[31] + 0x00000000u;
|
|
/* 02849D88 */ rbrew_write32(cpu->mem, _t137, cpu->r[27]);
|
|
/* 02849D8C */ cpu->r[5] = 0x00000004u;
|
|
/* 02849D90 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849D94 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849D98 */ _t138 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02849D98 */ rbrew_write32(cpu->mem, _t138, cpu->r[31]);
|
|
/* 02849D9C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849DA4 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849DA4 */ _t140 = _t139 & 0x00000001u;
|
|
/* 02849DA4 */ if (_t140) goto L_02849E3C; else goto L_02849DA8;
|
|
L_02849DA8: ; // 0x2849da8
|
|
/* 02849DA8 */ goto L_02849DCC;
|
|
L_02849DAC: ; // 0x2849dac
|
|
/* 02849DAC */ cpu->r[31] = 0x00000000u;
|
|
/* 02849DB0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02849DB4 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849DB8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849DBC */ _t141 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02849DBC */ rbrew_write32(cpu->mem, _t141, cpu->r[31]);
|
|
/* 02849DC0 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849DC8 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849DC8 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02849DC8 */ if (_t143) goto L_02849E3C; else goto L_02849DCC;
|
|
L_02849DCC: ; // 0x2849dcc
|
|
/* 02849DCC */ cpu->r[6] = 0x00000000u;
|
|
/* 02849DD0 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02849DD4 */ cpu->r[0] = 0x02850000u;
|
|
/* 02849DD8 */ _t144 = cpu->r[1] + 0x00000040u;
|
|
/* 02849DD8 */ rbrew_write16(cpu->mem, _t144, (uint16_t)cpu->r[6]);
|
|
/* 02849DDC */ cpu->r[0] = cpu->r[0] + 0xFFFFAC98u;
|
|
/* 02849DE0 */ _t145 = cpu->r[1] + 0x00000042u;
|
|
/* 02849DE0 */ rbrew_write16(cpu->mem, _t145, (uint16_t)cpu->r[5]);
|
|
/* 02849DE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02849DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02849DE8 */ _t146 = cpu->r[1] + 0x00000044u;
|
|
/* 02849DE8 */ rbrew_write32(cpu->mem, _t146, cpu->r[0]);
|
|
/* 02849DEC */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849DEC */ _t148 = _t147 & 0x00000001u;
|
|
/* 02849DEC */ if (_t148) goto L_02849DF0; else goto L_02849E00;
|
|
L_02849DF0: ; // 0x2849df0
|
|
/* 02849DF0 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849DF4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849DFC */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849DFC */ _t150 = _t149 & 0x00000001u;
|
|
/* 02849DFC */ if (_t150) goto L_02849E18; else goto L_02849E00;
|
|
L_02849E00: ; // 0x2849e00
|
|
/* 02849E00 */ _t151 = cpu->r[3] + 0x00000004u;
|
|
/* 02849E00 */ rbrew_write32(cpu->mem, _t151, cpu->r[29]);
|
|
/* 02849E04 */ _t152 = cpu->r[3] + 0x00000000u;
|
|
/* 02849E04 */ rbrew_write32(cpu->mem, _t152, cpu->r[28]);
|
|
/* 02849E08 */ _t153 = cpu->r[1] + 0x00000040u;
|
|
/* 02849E08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02849E0C */ _t154 = cpu->r[3] + 0x00000008u;
|
|
/* 02849E0C */ rbrew_write32(cpu->mem, _t154, cpu->r[8]);
|
|
/* 02849E10 */ _t155 = cpu->r[1] + 0x00000044u;
|
|
/* 02849E10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02849E14 */ _t156 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02849E14 */ rbrew_write32(cpu->mem, _t156, cpu->r[10]);
|
|
L_02849E18: ; // 0x2849e18
|
|
/* 02849E18 */ _t157 = cpu->r[31] + 0x00000000u;
|
|
/* 02849E18 */ rbrew_write32(cpu->mem, _t157, cpu->r[27]);
|
|
/* 02849E1C */ cpu->r[5] = 0x00000004u;
|
|
/* 02849E20 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849E24 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849E28 */ _t158 = cpu->r[29] + 0x00000020u;
|
|
/* 02849E28 */ rbrew_write32(cpu->mem, _t158, cpu->r[31]);
|
|
/* 02849E2C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849E34 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849E34 */ _t160 = _t159 & 0x00000001u;
|
|
/* 02849E34 */ if (_t160) goto L_02849ECC; else goto L_02849E38;
|
|
L_02849E38: ; // 0x2849e38
|
|
/* 02849E38 */ goto L_02849E5C;
|
|
L_02849E3C: ; // 0x2849e3c
|
|
/* 02849E3C */ cpu->r[31] = 0x00000000u;
|
|
/* 02849E40 */ cpu->r[5] = 0x00000004u;
|
|
/* 02849E44 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849E48 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849E4C */ _t161 = cpu->r[29] + 0x00000020u;
|
|
/* 02849E4C */ rbrew_write32(cpu->mem, _t161, cpu->r[31]);
|
|
/* 02849E50 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849E58 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849E58 */ _t163 = _t162 & 0x00000001u;
|
|
/* 02849E58 */ if (_t163) goto L_02849ECC; else goto L_02849E5C;
|
|
L_02849E5C: ; // 0x2849e5c
|
|
/* 02849E5C */ cpu->r[0] = 0x00000000u;
|
|
/* 02849E60 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02849E64 */ cpu->r[7] = 0x02850000u;
|
|
/* 02849E68 */ _t164 = cpu->r[1] + 0x00000048u;
|
|
/* 02849E68 */ rbrew_write16(cpu->mem, _t164, (uint16_t)cpu->r[0]);
|
|
/* 02849E6C */ cpu->r[7] = cpu->r[7] + 0xFFFFACBCu;
|
|
/* 02849E70 */ _t165 = cpu->r[1] + 0x0000004Au;
|
|
/* 02849E70 */ rbrew_write16(cpu->mem, _t165, (uint16_t)cpu->r[9]);
|
|
/* 02849E74 */ cpu->r[31] = cpu->r[3];
|
|
/* 02849E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02849E78 */ _t166 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02849E78 */ rbrew_write32(cpu->mem, _t166, cpu->r[7]);
|
|
/* 02849E7C */ _t167 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849E7C */ _t168 = _t167 & 0x00000001u;
|
|
/* 02849E7C */ if (_t168) goto L_02849E80; else goto L_02849E90;
|
|
L_02849E80: ; // 0x2849e80
|
|
/* 02849E80 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849E84 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849E8C */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849E8C */ _t170 = _t169 & 0x00000001u;
|
|
/* 02849E8C */ if (_t170) goto L_02849EA8; else goto L_02849E90;
|
|
L_02849E90: ; // 0x2849e90
|
|
/* 02849E90 */ _t171 = cpu->r[3] + 0x00000004u;
|
|
/* 02849E90 */ rbrew_write32(cpu->mem, _t171, cpu->r[29]);
|
|
/* 02849E94 */ _t172 = cpu->r[3] + 0x00000000u;
|
|
/* 02849E94 */ rbrew_write32(cpu->mem, _t172, cpu->r[28]);
|
|
/* 02849E98 */ _t173 = cpu->r[1] + 0x00000048u;
|
|
/* 02849E98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t173);
|
|
/* 02849E9C */ _t174 = cpu->r[3] + 0x00000008u;
|
|
/* 02849E9C */ rbrew_write32(cpu->mem, _t174, cpu->r[8]);
|
|
/* 02849EA0 */ _t175 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02849EA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02849EA4 */ _t176 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02849EA4 */ rbrew_write32(cpu->mem, _t176, cpu->r[10]);
|
|
L_02849EA8: ; // 0x2849ea8
|
|
/* 02849EA8 */ _t177 = cpu->r[31] + 0x00000000u;
|
|
/* 02849EA8 */ rbrew_write32(cpu->mem, _t177, cpu->r[27]);
|
|
/* 02849EAC */ cpu->r[5] = 0x00000004u;
|
|
/* 02849EB0 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849EB4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849EB8 */ _t178 = cpu->r[29] + 0x00000024u;
|
|
/* 02849EB8 */ rbrew_write32(cpu->mem, _t178, cpu->r[31]);
|
|
/* 02849EBC */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849EC4 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849EC4 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02849EC4 */ if (_t180) goto L_02849F5C; else goto L_02849EC8;
|
|
L_02849EC8: ; // 0x2849ec8
|
|
/* 02849EC8 */ goto L_02849EEC;
|
|
L_02849ECC: ; // 0x2849ecc
|
|
/* 02849ECC */ cpu->r[31] = 0x00000000u;
|
|
/* 02849ED0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02849ED4 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849ED8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849EDC */ _t181 = cpu->r[29] + 0x00000024u;
|
|
/* 02849EDC */ rbrew_write32(cpu->mem, _t181, cpu->r[31]);
|
|
/* 02849EE0 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849EE8 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849EE8 */ _t183 = _t182 & 0x00000001u;
|
|
/* 02849EE8 */ if (_t183) goto L_02849F5C; else goto L_02849EEC;
|
|
L_02849EEC: ; // 0x2849eec
|
|
/* 02849EEC */ cpu->r[7] = 0x00000000u;
|
|
/* 02849EF0 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02849EF4 */ cpu->r[5] = 0x02850000u;
|
|
/* 02849EF8 */ _t184 = cpu->r[1] + 0x00000050u;
|
|
/* 02849EF8 */ rbrew_write16(cpu->mem, _t184, (uint16_t)cpu->r[7]);
|
|
/* 02849EFC */ cpu->r[5] = cpu->r[5] + 0xFFFFACE8u;
|
|
/* 02849F00 */ _t185 = cpu->r[1] + 0x00000052u;
|
|
/* 02849F00 */ rbrew_write16(cpu->mem, _t185, (uint16_t)cpu->r[6]);
|
|
/* 02849F04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02849F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02849F08 */ _t186 = cpu->r[1] + 0x00000054u;
|
|
/* 02849F08 */ rbrew_write32(cpu->mem, _t186, cpu->r[5]);
|
|
/* 02849F0C */ _t187 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849F0C */ _t188 = _t187 & 0x00000001u;
|
|
/* 02849F0C */ if (_t188) goto L_02849F10; else goto L_02849F20;
|
|
L_02849F10: ; // 0x2849f10
|
|
/* 02849F10 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849F14 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849F1C */ _t189 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849F1C */ _t190 = _t189 & 0x00000001u;
|
|
/* 02849F1C */ if (_t190) goto L_02849F38; else goto L_02849F20;
|
|
L_02849F20: ; // 0x2849f20
|
|
/* 02849F20 */ _t191 = cpu->r[3] + 0x00000004u;
|
|
/* 02849F20 */ rbrew_write32(cpu->mem, _t191, cpu->r[29]);
|
|
/* 02849F24 */ _t192 = cpu->r[3] + 0x00000000u;
|
|
/* 02849F24 */ rbrew_write32(cpu->mem, _t192, cpu->r[28]);
|
|
/* 02849F28 */ _t193 = cpu->r[1] + 0x00000050u;
|
|
/* 02849F28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t193);
|
|
/* 02849F2C */ _t194 = cpu->r[3] + 0x00000008u;
|
|
/* 02849F2C */ rbrew_write32(cpu->mem, _t194, cpu->r[8]);
|
|
/* 02849F30 */ _t195 = cpu->r[1] + 0x00000054u;
|
|
/* 02849F30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02849F34 */ _t196 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02849F34 */ rbrew_write32(cpu->mem, _t196, cpu->r[10]);
|
|
L_02849F38: ; // 0x2849f38
|
|
/* 02849F38 */ _t197 = cpu->r[31] + 0x00000000u;
|
|
/* 02849F38 */ rbrew_write32(cpu->mem, _t197, cpu->r[27]);
|
|
/* 02849F3C */ cpu->r[5] = 0x00000004u;
|
|
/* 02849F40 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849F44 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849F48 */ _t198 = cpu->r[29] + 0x00000028u;
|
|
/* 02849F48 */ rbrew_write32(cpu->mem, _t198, cpu->r[31]);
|
|
/* 02849F4C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849F54 */ _t199 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849F54 */ _t200 = _t199 & 0x00000001u;
|
|
/* 02849F54 */ if (_t200) goto L_02849FEC; else goto L_02849F58;
|
|
L_02849F58: ; // 0x2849f58
|
|
/* 02849F58 */ goto L_02849F7C;
|
|
L_02849F5C: ; // 0x2849f5c
|
|
/* 02849F5C */ cpu->r[31] = 0x00000000u;
|
|
/* 02849F60 */ cpu->r[5] = 0x00000004u;
|
|
/* 02849F64 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849F68 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849F6C */ _t201 = cpu->r[29] + 0x00000028u;
|
|
/* 02849F6C */ rbrew_write32(cpu->mem, _t201, cpu->r[31]);
|
|
/* 02849F70 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849F78 */ _t202 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849F78 */ _t203 = _t202 & 0x00000001u;
|
|
/* 02849F78 */ if (_t203) goto L_02849FEC; else goto L_02849F7C;
|
|
L_02849F7C: ; // 0x2849f7c
|
|
/* 02849F7C */ cpu->r[5] = 0x00000000u;
|
|
/* 02849F80 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02849F84 */ cpu->r[9] = 0x02850000u;
|
|
/* 02849F88 */ _t204 = cpu->r[1] + 0x00000058u;
|
|
/* 02849F88 */ rbrew_write16(cpu->mem, _t204, (uint16_t)cpu->r[5]);
|
|
/* 02849F8C */ cpu->r[9] = cpu->r[9] + 0xFFFFAD14u;
|
|
/* 02849F90 */ _t205 = cpu->r[1] + 0x0000005Au;
|
|
/* 02849F90 */ rbrew_write16(cpu->mem, _t205, (uint16_t)cpu->r[0]);
|
|
/* 02849F94 */ cpu->r[31] = cpu->r[3];
|
|
/* 02849F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02849F98 */ _t206 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02849F98 */ rbrew_write32(cpu->mem, _t206, cpu->r[9]);
|
|
/* 02849F9C */ _t207 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849F9C */ _t208 = _t207 & 0x00000001u;
|
|
/* 02849F9C */ if (_t208) goto L_02849FA0; else goto L_02849FB0;
|
|
L_02849FA0: ; // 0x2849fa0
|
|
/* 02849FA0 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849FA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02849FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849FAC */ _t209 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849FAC */ _t210 = _t209 & 0x00000001u;
|
|
/* 02849FAC */ if (_t210) goto L_02849FC8; else goto L_02849FB0;
|
|
L_02849FB0: ; // 0x2849fb0
|
|
/* 02849FB0 */ _t211 = cpu->r[3] + 0x00000004u;
|
|
/* 02849FB0 */ rbrew_write32(cpu->mem, _t211, cpu->r[29]);
|
|
/* 02849FB4 */ _t212 = cpu->r[3] + 0x00000000u;
|
|
/* 02849FB4 */ rbrew_write32(cpu->mem, _t212, cpu->r[28]);
|
|
/* 02849FB8 */ _t213 = cpu->r[1] + 0x00000058u;
|
|
/* 02849FB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t213);
|
|
/* 02849FBC */ _t214 = cpu->r[3] + 0x00000008u;
|
|
/* 02849FBC */ rbrew_write32(cpu->mem, _t214, cpu->r[8]);
|
|
/* 02849FC0 */ _t215 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02849FC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t215);
|
|
/* 02849FC4 */ _t216 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02849FC4 */ rbrew_write32(cpu->mem, _t216, cpu->r[10]);
|
|
L_02849FC8: ; // 0x2849fc8
|
|
/* 02849FC8 */ _t217 = cpu->r[31] + 0x00000000u;
|
|
/* 02849FC8 */ rbrew_write32(cpu->mem, _t217, cpu->r[27]);
|
|
/* 02849FCC */ cpu->r[5] = 0x00000004u;
|
|
/* 02849FD0 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849FD4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849FD8 */ _t218 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02849FD8 */ rbrew_write32(cpu->mem, _t218, cpu->r[31]);
|
|
/* 02849FDC */ Gambit_fn_02801AC8(cpu);
|
|
/* 02849FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02849FE4 */ _t219 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02849FE4 */ _t220 = _t219 & 0x00000001u;
|
|
/* 02849FE4 */ if (_t220) goto L_0284A07C; else goto L_02849FE8;
|
|
L_02849FE8: ; // 0x2849fe8
|
|
/* 02849FE8 */ goto L_0284A00C;
|
|
L_02849FEC: ; // 0x2849fec
|
|
/* 02849FEC */ cpu->r[31] = 0x00000000u;
|
|
/* 02849FF0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02849FF4 */ cpu->r[3] = 0x00000010u;
|
|
/* 02849FF8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02849FFC */ _t221 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02849FFC */ rbrew_write32(cpu->mem, _t221, cpu->r[31]);
|
|
/* 0284A000 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0284A004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A008 */ _t222 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A008 */ _t223 = _t222 & 0x00000001u;
|
|
/* 0284A008 */ if (_t223) goto L_0284A07C; else goto L_0284A00C;
|
|
L_0284A00C: ; // 0x284a00c
|
|
/* 0284A00C */ cpu->r[9] = 0x00000000u;
|
|
/* 0284A010 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 0284A014 */ cpu->r[6] = 0x02850000u;
|
|
/* 0284A018 */ _t224 = cpu->r[1] + 0x00000060u;
|
|
/* 0284A018 */ rbrew_write16(cpu->mem, _t224, (uint16_t)cpu->r[9]);
|
|
/* 0284A01C */ cpu->r[6] = cpu->r[6] + 0xFFFFAD40u;
|
|
/* 0284A020 */ _t225 = cpu->r[1] + 0x00000062u;
|
|
/* 0284A020 */ rbrew_write16(cpu->mem, _t225, (uint16_t)cpu->r[7]);
|
|
/* 0284A024 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284A028 */ _t226 = cpu->r[1] + 0x00000064u;
|
|
/* 0284A028 */ rbrew_write32(cpu->mem, _t226, cpu->r[6]);
|
|
/* 0284A02C */ _t227 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A02C */ _t228 = _t227 & 0x00000001u;
|
|
/* 0284A02C */ if (_t228) goto L_0284A030; else goto L_0284A040;
|
|
L_0284A030: ; // 0x284a030
|
|
/* 0284A030 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284A034 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284A038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A03C */ _t229 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A03C */ _t230 = _t229 & 0x00000001u;
|
|
/* 0284A03C */ if (_t230) goto L_0284A058; else goto L_0284A040;
|
|
L_0284A040: ; // 0x284a040
|
|
/* 0284A040 */ _t231 = cpu->r[3] + 0x00000004u;
|
|
/* 0284A040 */ rbrew_write32(cpu->mem, _t231, cpu->r[29]);
|
|
/* 0284A044 */ _t232 = cpu->r[3] + 0x00000000u;
|
|
/* 0284A044 */ rbrew_write32(cpu->mem, _t232, cpu->r[28]);
|
|
/* 0284A048 */ _t233 = cpu->r[1] + 0x00000060u;
|
|
/* 0284A048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t233);
|
|
/* 0284A04C */ _t234 = cpu->r[3] + 0x00000008u;
|
|
/* 0284A04C */ rbrew_write32(cpu->mem, _t234, cpu->r[0]);
|
|
/* 0284A050 */ _t235 = cpu->r[1] + 0x00000064u;
|
|
/* 0284A050 */ cpu->r[7] = rbrew_read32(cpu->mem, _t235);
|
|
/* 0284A054 */ _t236 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284A054 */ rbrew_write32(cpu->mem, _t236, cpu->r[7]);
|
|
L_0284A058: ; // 0x284a058
|
|
/* 0284A058 */ _t237 = cpu->r[31] + 0x00000000u;
|
|
/* 0284A058 */ rbrew_write32(cpu->mem, _t237, cpu->r[27]);
|
|
/* 0284A05C */ cpu->r[5] = 0x00000004u;
|
|
/* 0284A060 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284A064 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284A068 */ _t238 = cpu->r[29] + 0x00000030u;
|
|
/* 0284A068 */ rbrew_write32(cpu->mem, _t238, cpu->r[31]);
|
|
/* 0284A06C */ Gambit_fn_02801AC8(cpu);
|
|
/* 0284A070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A074 */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A074 */ _t240 = _t239 & 0x00000001u;
|
|
/* 0284A074 */ if (_t240) goto L_0284A114; else goto L_0284A078;
|
|
L_0284A078: ; // 0x284a078
|
|
/* 0284A078 */ goto L_0284A09C;
|
|
L_0284A07C: ; // 0x284a07c
|
|
/* 0284A07C */ cpu->r[31] = 0x00000000u;
|
|
/* 0284A080 */ cpu->r[5] = 0x00000004u;
|
|
/* 0284A084 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284A088 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284A08C */ _t241 = cpu->r[29] + 0x00000030u;
|
|
/* 0284A08C */ rbrew_write32(cpu->mem, _t241, cpu->r[31]);
|
|
/* 0284A090 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0284A094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A098 */ _t242 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A098 */ _t243 = _t242 & 0x00000001u;
|
|
/* 0284A098 */ if (_t243) goto L_0284A114; else goto L_0284A09C;
|
|
L_0284A09C: ; // 0x284a09c
|
|
/* 0284A09C */ cpu->r[6] = 0x00000000u;
|
|
/* 0284A0A0 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0284A0A4 */ cpu->r[0] = 0x02850000u;
|
|
/* 0284A0A8 */ _t244 = cpu->r[1] + 0x00000068u;
|
|
/* 0284A0A8 */ rbrew_write16(cpu->mem, _t244, (uint16_t)cpu->r[6]);
|
|
/* 0284A0AC */ cpu->r[0] = cpu->r[0] + 0xFFFFAD60u;
|
|
/* 0284A0B0 */ _t245 = cpu->r[1] + 0x0000006Au;
|
|
/* 0284A0B0 */ rbrew_write16(cpu->mem, _t245, (uint16_t)cpu->r[5]);
|
|
/* 0284A0B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284A0B8 */ _t246 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0284A0B8 */ rbrew_write32(cpu->mem, _t246, cpu->r[0]);
|
|
/* 0284A0BC */ _t247 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A0BC */ _t248 = _t247 & 0x00000001u;
|
|
/* 0284A0BC */ if (_t248) goto L_0284A0C0; else goto L_0284A0D0;
|
|
L_0284A0C0: ; // 0x284a0c0
|
|
/* 0284A0C0 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284A0C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284A0C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A0CC */ _t249 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A0CC */ _t250 = _t249 & 0x00000001u;
|
|
/* 0284A0CC */ if (_t250) goto L_0284A0E8; else goto L_0284A0D0;
|
|
L_0284A0D0: ; // 0x284a0d0
|
|
/* 0284A0D0 */ _t251 = cpu->r[3] + 0x00000004u;
|
|
/* 0284A0D0 */ rbrew_write32(cpu->mem, _t251, cpu->r[29]);
|
|
/* 0284A0D4 */ _t252 = cpu->r[3] + 0x00000000u;
|
|
/* 0284A0D4 */ rbrew_write32(cpu->mem, _t252, cpu->r[28]);
|
|
/* 0284A0D8 */ _t253 = cpu->r[1] + 0x00000068u;
|
|
/* 0284A0D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t253);
|
|
/* 0284A0DC */ _t254 = cpu->r[3] + 0x00000008u;
|
|
/* 0284A0DC */ rbrew_write32(cpu->mem, _t254, cpu->r[9]);
|
|
/* 0284A0E0 */ _t255 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0284A0E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t255);
|
|
/* 0284A0E4 */ _t256 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284A0E4 */ rbrew_write32(cpu->mem, _t256, cpu->r[10]);
|
|
L_0284A0E8: ; // 0x284a0e8
|
|
/* 0284A0E8 */ _t257 = cpu->r[31] + 0x00000000u;
|
|
/* 0284A0E8 */ rbrew_write32(cpu->mem, _t257, cpu->r[27]);
|
|
/* 0284A0EC */ cpu->r[5] = 0x00000004u;
|
|
/* 0284A0F0 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284A0F4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284A0F8 */ _t258 = cpu->r[29] + 0x00000034u;
|
|
/* 0284A0F8 */ rbrew_write32(cpu->mem, _t258, cpu->r[31]);
|
|
/* 0284A0FC */ Gambit_fn_02801AC8(cpu);
|
|
/* 0284A100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A104 */ _t259 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A104 */ _t260 = _t259 & 0x00000001u;
|
|
/* 0284A104 */ if (_t260) goto L_0284A108; else goto L_0284A134;
|
|
L_0284A108: ; // 0x284a108
|
|
/* 0284A108 */ cpu->r[31] = 0x00000000u;
|
|
/* 0284A10C */ _t261 = cpu->r[29] + 0x00000038u;
|
|
/* 0284A10C */ rbrew_write32(cpu->mem, _t261, cpu->r[31]);
|
|
/* 0284A110 */ goto L_0284A188;
|
|
L_0284A114: ; // 0x284a114
|
|
/* 0284A114 */ cpu->r[31] = 0x00000000u;
|
|
/* 0284A118 */ cpu->r[5] = 0x00000004u;
|
|
/* 0284A11C */ cpu->r[3] = 0x00000010u;
|
|
/* 0284A120 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284A124 */ _t262 = cpu->r[29] + 0x00000034u;
|
|
/* 0284A124 */ rbrew_write32(cpu->mem, _t262, cpu->r[31]);
|
|
/* 0284A128 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0284A12C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A130 */ _t263 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A130 */ _t264 = _t263 & 0x00000001u;
|
|
/* 0284A130 */ if (_t264) goto L_0284A108; else goto L_0284A134;
|
|
L_0284A134: ; // 0x284a134
|
|
/* 0284A134 */ cpu->r[11] = 0x00000000u;
|
|
/* 0284A138 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 0284A13C */ cpu->r[7] = 0x02850000u;
|
|
/* 0284A140 */ _t265 = cpu->r[1] + 0x00000070u;
|
|
/* 0284A140 */ rbrew_write16(cpu->mem, _t265, (uint16_t)cpu->r[11]);
|
|
/* 0284A144 */ cpu->r[7] = cpu->r[7] + 0xFFFFAD80u;
|
|
/* 0284A148 */ _t266 = cpu->r[1] + 0x00000072u;
|
|
/* 0284A148 */ rbrew_write16(cpu->mem, _t266, (uint16_t)cpu->r[9]);
|
|
/* 0284A14C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284A150 */ _t267 = cpu->r[1] + 0x00000074u;
|
|
/* 0284A150 */ rbrew_write32(cpu->mem, _t267, cpu->r[7]);
|
|
/* 0284A154 */ _t268 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A154 */ _t269 = _t268 & 0x00000001u;
|
|
/* 0284A154 */ if (_t269) goto L_0284A158; else goto L_0284A168;
|
|
L_0284A158: ; // 0x284a158
|
|
/* 0284A158 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284A15C */ Gambit_fn_02801A78(cpu);
|
|
/* 0284A160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A164 */ _t270 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A164 */ _t271 = _t270 & 0x00000001u;
|
|
/* 0284A164 */ if (_t271) goto L_0284A180; else goto L_0284A168;
|
|
L_0284A168: ; // 0x284a168
|
|
/* 0284A168 */ _t272 = cpu->r[3] + 0x00000004u;
|
|
/* 0284A168 */ rbrew_write32(cpu->mem, _t272, cpu->r[29]);
|
|
/* 0284A16C */ _t273 = cpu->r[3] + 0x00000000u;
|
|
/* 0284A16C */ rbrew_write32(cpu->mem, _t273, cpu->r[28]);
|
|
/* 0284A170 */ _t274 = cpu->r[1] + 0x00000070u;
|
|
/* 0284A170 */ cpu->r[12] = rbrew_read32(cpu->mem, _t274);
|
|
/* 0284A174 */ _t275 = cpu->r[3] + 0x00000008u;
|
|
/* 0284A174 */ rbrew_write32(cpu->mem, _t275, cpu->r[12]);
|
|
/* 0284A178 */ _t276 = cpu->r[1] + 0x00000074u;
|
|
/* 0284A178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t276);
|
|
/* 0284A17C */ _t277 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284A17C */ rbrew_write32(cpu->mem, _t277, cpu->r[0]);
|
|
L_0284A180: ; // 0x284a180
|
|
/* 0284A180 */ _t278 = cpu->r[31] + 0x00000000u;
|
|
/* 0284A180 */ rbrew_write32(cpu->mem, _t278, cpu->r[27]);
|
|
/* 0284A184 */ _t279 = cpu->r[29] + 0x00000038u;
|
|
/* 0284A184 */ rbrew_write32(cpu->mem, _t279, cpu->r[31]);
|
|
L_0284A188: ; // 0x284a188
|
|
/* 0284A188 */ /* nop */
|
|
/* 0284A18C */ _t280 = cpu->r[1] + 0x00000094u;
|
|
/* 0284A18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t280);
|
|
/* 0284A190 */ cpu->lr = cpu->r[0];
|
|
/* 0284A194 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 0284A198 */ return;
|
|
}
|
|
|
|
// fn_0284A19C @ 0x284a19c
|
|
void Gambit_fn_0284A19C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0284A19C: ; // 0x284a19c
|
|
/* 0284A19C */ cpu->r[0] = cpu->lr;
|
|
/* 0284A1A0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284A1A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A1A0 */ cpu->r[1] = _t0;
|
|
/* 0284A1A4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284A1A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284A1A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A1A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284A1AC */ cpu->r[31] = cpu->r[5];
|
|
/* 0284A1B0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0284A1B4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A1B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0284A1B8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284A1B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284A1BC */ cpu->r[29] = cpu->r[3];
|
|
/* 0284A1C0 */ Gambit_fn_02849978(cpu);
|
|
/* 0284A1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A1C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A1C8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284A1C8 */ if (_t6) goto L_0284A1CC; else goto L_0284A1F0;
|
|
L_0284A1CC: ; // 0x284a1cc
|
|
/* 0284A1CC */ cpu->r[5] = 0x00000040u;
|
|
/* 0284A1D0 */ cpu->r[3] = 0x00005000u;
|
|
/* 0284A1D4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284A1D8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0284A1DC */ cpu->r[4] = cpu->r[3];
|
|
/* 0284A1E0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284A1E4 */ cpu->r[5] = 0x00002800u;
|
|
/* 0284A1E8 */ _t7 = cpu->r[29] + 0x00000074u;
|
|
/* 0284A1E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 0284A1EC */ Gambit_fn_028495F8(cpu);
|
|
L_0284A1F0: ; // 0x284a1f0
|
|
/* 0284A1F0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284A1F4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284A1F8 */ _t8 = cpu->r[29] + 0x00000078u;
|
|
/* 0284A1F8 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0284A1FC */ Gambit_fn_028499A0(cpu);
|
|
/* 0284A200 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284A204 */ Gambit_fn_02849668(cpu);
|
|
/* 0284A208 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A208 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284A20C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284A20C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284A210 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0284A210 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A214 */ cpu->lr = cpu->r[0];
|
|
/* 0284A218 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A21C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284A220 */ return;
|
|
}
|
|
|
|
// fn_0284A1A0 @ 0x284a1a0
|
|
void Gambit_fn_0284A1A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0284A1A0: ; // 0x284a1a0
|
|
/* 0284A1A0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284A1A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A1A0 */ cpu->r[1] = _t0;
|
|
/* 0284A1A4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284A1A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284A1A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A1A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284A1AC */ cpu->r[31] = cpu->r[5];
|
|
/* 0284A1B0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0284A1B4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A1B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0284A1B8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284A1B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284A1BC */ cpu->r[29] = cpu->r[3];
|
|
/* 0284A1C0 */ Gambit_fn_02849978(cpu);
|
|
/* 0284A1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A1C8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A1C8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284A1C8 */ if (_t6) goto L_0284A1CC; else goto L_0284A1F0;
|
|
L_0284A1CC: ; // 0x284a1cc
|
|
/* 0284A1CC */ cpu->r[5] = 0x00000040u;
|
|
/* 0284A1D0 */ cpu->r[3] = 0x00005000u;
|
|
/* 0284A1D4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284A1D8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0284A1DC */ cpu->r[4] = cpu->r[3];
|
|
/* 0284A1E0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284A1E4 */ cpu->r[5] = 0x00002800u;
|
|
/* 0284A1E8 */ _t7 = cpu->r[29] + 0x00000074u;
|
|
/* 0284A1E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 0284A1EC */ Gambit_fn_028495F8(cpu);
|
|
L_0284A1F0: ; // 0x284a1f0
|
|
/* 0284A1F0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284A1F4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284A1F8 */ _t8 = cpu->r[29] + 0x00000078u;
|
|
/* 0284A1F8 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0284A1FC */ Gambit_fn_028499A0(cpu);
|
|
/* 0284A200 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284A204 */ Gambit_fn_02849668(cpu);
|
|
/* 0284A208 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A208 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284A20C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284A20C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284A210 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0284A210 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A214 */ cpu->lr = cpu->r[0];
|
|
/* 0284A218 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A21C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284A220 */ return;
|
|
}
|
|
|
|
// fn_0284A224 @ 0x284a224
|
|
void Gambit_fn_0284A224(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_0284A224: ; // 0x284a224
|
|
/* 0284A224 */ cpu->r[0] = cpu->lr;
|
|
/* 0284A228 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A228 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A228 */ cpu->r[1] = _t0;
|
|
/* 0284A22C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A22C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A230 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A234 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A234 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A238 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A23C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A240 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A240 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A240 */ if (_t5) goto L_0284A2D4; else goto L_0284A244;
|
|
L_0284A244: ; // 0x284a244
|
|
/* 0284A244 */ _t6 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0284A244 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
|
|
/* 0284A24C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A24C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A24C */ if (_t8) goto L_0284A26C; else goto L_0284A250;
|
|
L_0284A250: ; // 0x284a250
|
|
/* 0284A250 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u);
|
|
/* 0284A254 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A254 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284A254 */ if (_t10) goto L_0284A294; else goto L_0284A258;
|
|
L_0284A258: ; // 0x284a258
|
|
/* 0284A258 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A25C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A25C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A260 */ cpu->lr = cpu->r[0];
|
|
/* 0284A264 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A268 */ return;
|
|
L_0284A26C: ; // 0x284a26c
|
|
/* 0284A26C */ _t13 = cpu->r[31] + 0x00000080u;
|
|
/* 0284A26C */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284A270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A274 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A274 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284A274 */ if (_t15) goto L_0284A2CC; else goto L_0284A278;
|
|
L_0284A278: ; // 0x284a278
|
|
/* 0284A278 */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 0284A278 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284A27C */ cpu->r[5] = cpu->r[31] + 0x0000006Cu;
|
|
/* 0284A280 */ _t17 = cpu->r[31] + 0x00000064u;
|
|
/* 0284A280 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284A284 */ Gambit_fn_0284B3D4(cpu);
|
|
/* 0284A288 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284A28C */ _t18 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0284A28C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0284A290 */ goto L_0284A2D4;
|
|
L_0284A294: ; // 0x284a294
|
|
/* 0284A294 */ _t19 = cpu->r[31] + 0x00000080u;
|
|
/* 0284A294 */ cpu->r[10] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0284A298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284A29C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A29C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284A29C */ if (_t21) goto L_0284A2CC; else goto L_0284A2A0;
|
|
L_0284A2A0: ; // 0x284a2a0
|
|
/* 0284A2A0 */ _t22 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A2A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284A2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A2A8 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A2A8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0284A2A8 */ if (_t24) goto L_0284A2AC; else goto L_0284A2B8;
|
|
L_0284A2AC: ; // 0x284a2ac
|
|
/* 0284A2AC */ cpu->r[0] = 0x00000001u;
|
|
/* 0284A2B0 */ _t25 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0284A2B0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0284A2B4 */ goto L_0284A2D4;
|
|
L_0284A2B8: ; // 0x284a2b8
|
|
/* 0284A2B8 */ _t26 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284A2B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284A2BC */ Gambit_fn_0284B4F4(cpu);
|
|
/* 0284A2C0 */ cpu->r[0] = 0x00000004u;
|
|
/* 0284A2C4 */ _t27 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0284A2C4 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 0284A2C8 */ goto L_0284A2D4;
|
|
L_0284A2CC: ; // 0x284a2cc
|
|
/* 0284A2CC */ cpu->r[0] = 0x00000000u;
|
|
/* 0284A2D0 */ _t28 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0284A2D0 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
L_0284A2D4: ; // 0x284a2d4
|
|
/* 0284A2D4 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A2D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284A2D8 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A2D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284A2DC */ cpu->lr = cpu->r[0];
|
|
/* 0284A2E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A2E4 */ return;
|
|
}
|
|
|
|
// fn_0284A228 @ 0x284a228
|
|
void Gambit_fn_0284A228(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_0284A228: ; // 0x284a228
|
|
/* 0284A228 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A228 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A228 */ cpu->r[1] = _t0;
|
|
/* 0284A22C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A22C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A230 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A234 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A234 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A238 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A23C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A240 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A240 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A240 */ if (_t5) goto L_0284A2D4; else goto L_0284A244;
|
|
L_0284A244: ; // 0x284a244
|
|
/* 0284A244 */ _t6 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0284A244 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
|
|
/* 0284A24C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A24C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A24C */ if (_t8) goto L_0284A26C; else goto L_0284A250;
|
|
L_0284A250: ; // 0x284a250
|
|
/* 0284A250 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u);
|
|
/* 0284A254 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A254 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284A254 */ if (_t10) goto L_0284A294; else goto L_0284A258;
|
|
L_0284A258: ; // 0x284a258
|
|
/* 0284A258 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A25C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A25C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A260 */ cpu->lr = cpu->r[0];
|
|
/* 0284A264 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A268 */ return;
|
|
L_0284A26C: ; // 0x284a26c
|
|
/* 0284A26C */ _t13 = cpu->r[31] + 0x00000080u;
|
|
/* 0284A26C */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284A270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A274 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A274 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284A274 */ if (_t15) goto L_0284A2CC; else goto L_0284A278;
|
|
L_0284A278: ; // 0x284a278
|
|
/* 0284A278 */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 0284A278 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284A27C */ cpu->r[5] = cpu->r[31] + 0x0000006Cu;
|
|
/* 0284A280 */ _t17 = cpu->r[31] + 0x00000064u;
|
|
/* 0284A280 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284A284 */ Gambit_fn_0284B3D4(cpu);
|
|
/* 0284A288 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284A28C */ _t18 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0284A28C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0284A290 */ goto L_0284A2D4;
|
|
L_0284A294: ; // 0x284a294
|
|
/* 0284A294 */ _t19 = cpu->r[31] + 0x00000080u;
|
|
/* 0284A294 */ cpu->r[10] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0284A298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284A29C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A29C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284A29C */ if (_t21) goto L_0284A2CC; else goto L_0284A2A0;
|
|
L_0284A2A0: ; // 0x284a2a0
|
|
/* 0284A2A0 */ _t22 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A2A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284A2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A2A8 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A2A8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0284A2A8 */ if (_t24) goto L_0284A2AC; else goto L_0284A2B8;
|
|
L_0284A2AC: ; // 0x284a2ac
|
|
/* 0284A2AC */ cpu->r[0] = 0x00000001u;
|
|
/* 0284A2B0 */ _t25 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0284A2B0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0284A2B4 */ goto L_0284A2D4;
|
|
L_0284A2B8: ; // 0x284a2b8
|
|
/* 0284A2B8 */ _t26 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284A2B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284A2BC */ Gambit_fn_0284B4F4(cpu);
|
|
/* 0284A2C0 */ cpu->r[0] = 0x00000004u;
|
|
/* 0284A2C4 */ _t27 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0284A2C4 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 0284A2C8 */ goto L_0284A2D4;
|
|
L_0284A2CC: ; // 0x284a2cc
|
|
/* 0284A2CC */ cpu->r[0] = 0x00000000u;
|
|
/* 0284A2D0 */ _t28 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0284A2D0 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
L_0284A2D4: ; // 0x284a2d4
|
|
/* 0284A2D4 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A2D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284A2D8 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A2D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284A2DC */ cpu->lr = cpu->r[0];
|
|
/* 0284A2E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A2E4 */ return;
|
|
}
|
|
|
|
// fn_0284A2E8 @ 0x284a2e8
|
|
void Gambit_fn_0284A2E8(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_0284A2E8: ; // 0x284a2e8
|
|
/* 0284A2E8 */ cpu->r[0] = cpu->lr;
|
|
/* 0284A2EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A2EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A2EC */ cpu->r[1] = _t0;
|
|
/* 0284A2F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A2F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A2F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A2F8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A2F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A2FC */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A2FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A304 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A304 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A304 */ if (_t5) goto L_0284A348; else goto L_0284A308;
|
|
L_0284A308: ; // 0x284a308
|
|
/* 0284A308 */ _t6 = cpu->r[31] + 0x00000040u;
|
|
/* 0284A308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A30C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0284A310 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A310 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A310 */ if (_t8) goto L_0284A314; else goto L_0284A348;
|
|
L_0284A314: ; // 0x284a314
|
|
/* 0284A314 */ _t9 = cpu->r[31] + 0x00000080u;
|
|
/* 0284A314 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0284A318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A31C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A31C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284A31C */ if (_t11) goto L_0284A320; else goto L_0284A32C;
|
|
L_0284A320: ; // 0x284a320
|
|
/* 0284A320 */ _t12 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A320 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A328 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A328 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284A328 */ if (_t14) goto L_0284A32C; else goto L_0284A338;
|
|
L_0284A32C: ; // 0x284a32c
|
|
/* 0284A32C */ cpu->r[11] = 0x00000000u;
|
|
/* 0284A330 */ _t15 = cpu->r[31] + 0x00000040u;
|
|
/* 0284A330 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 0284A334 */ goto L_0284A348;
|
|
L_0284A338: ; // 0x284a338
|
|
/* 0284A338 */ _t16 = cpu->r[31] + 0x00000010u;
|
|
/* 0284A338 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284A33C */ Gambit_fn_0284B54C(cpu);
|
|
/* 0284A340 */ cpu->r[11] = 0x00000002u;
|
|
/* 0284A344 */ _t17 = cpu->r[31] + 0x00000040u;
|
|
/* 0284A344 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
L_0284A348: ; // 0x284a348
|
|
/* 0284A348 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284A34C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A34C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284A350 */ cpu->lr = cpu->r[0];
|
|
/* 0284A354 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A358 */ return;
|
|
}
|
|
|
|
// fn_0284A2EC @ 0x284a2ec
|
|
void Gambit_fn_0284A2EC(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_0284A2EC: ; // 0x284a2ec
|
|
/* 0284A2EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A2EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A2EC */ cpu->r[1] = _t0;
|
|
/* 0284A2F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A2F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A2F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A2F8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A2F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A2FC */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A2FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A304 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A304 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A304 */ if (_t5) goto L_0284A348; else goto L_0284A308;
|
|
L_0284A308: ; // 0x284a308
|
|
/* 0284A308 */ _t6 = cpu->r[31] + 0x00000040u;
|
|
/* 0284A308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A30C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0284A310 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A310 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A310 */ if (_t8) goto L_0284A314; else goto L_0284A348;
|
|
L_0284A314: ; // 0x284a314
|
|
/* 0284A314 */ _t9 = cpu->r[31] + 0x00000080u;
|
|
/* 0284A314 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0284A318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A31C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A31C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284A31C */ if (_t11) goto L_0284A320; else goto L_0284A32C;
|
|
L_0284A320: ; // 0x284a320
|
|
/* 0284A320 */ _t12 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A320 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A328 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A328 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284A328 */ if (_t14) goto L_0284A32C; else goto L_0284A338;
|
|
L_0284A32C: ; // 0x284a32c
|
|
/* 0284A32C */ cpu->r[11] = 0x00000000u;
|
|
/* 0284A330 */ _t15 = cpu->r[31] + 0x00000040u;
|
|
/* 0284A330 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 0284A334 */ goto L_0284A348;
|
|
L_0284A338: ; // 0x284a338
|
|
/* 0284A338 */ _t16 = cpu->r[31] + 0x00000010u;
|
|
/* 0284A338 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284A33C */ Gambit_fn_0284B54C(cpu);
|
|
/* 0284A340 */ cpu->r[11] = 0x00000002u;
|
|
/* 0284A344 */ _t17 = cpu->r[31] + 0x00000040u;
|
|
/* 0284A344 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
L_0284A348: ; // 0x284a348
|
|
/* 0284A348 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284A34C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A34C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284A350 */ cpu->lr = cpu->r[0];
|
|
/* 0284A354 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A358 */ return;
|
|
}
|
|
|
|
// fn_0284A35C @ 0x284a35c
|
|
void Gambit_fn_0284A35C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_0284A35C: ; // 0x284a35c
|
|
/* 0284A35C */ cpu->r[0] = cpu->lr;
|
|
/* 0284A360 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A360 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A360 */ cpu->r[1] = _t0;
|
|
/* 0284A364 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A364 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A368 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A36C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A36C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A370 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A370 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A378 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A378 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A378 */ if (_t5) goto L_0284A408; else goto L_0284A37C;
|
|
L_0284A37C: ; // 0x284a37c
|
|
/* 0284A37C */ _t6 = cpu->r[31] + 0x00000044u;
|
|
/* 0284A37C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A380 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 0284A384 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A384 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A384 */ if (_t8) goto L_0284A3A4; else goto L_0284A388;
|
|
L_0284A388: ; // 0x284a388
|
|
/* 0284A388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 0284A38C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A38C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284A38C */ if (_t10) goto L_0284A3D4; else goto L_0284A390;
|
|
L_0284A390: ; // 0x284a390
|
|
/* 0284A390 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A394 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A394 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A398 */ cpu->lr = cpu->r[0];
|
|
/* 0284A39C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A3A0 */ return;
|
|
L_0284A3A4: ; // 0x284a3a4
|
|
/* 0284A3A4 */ _t13 = cpu->r[31] + 0x00000082u;
|
|
/* 0284A3A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284A3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A3AC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A3AC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284A3AC */ if (_t15) goto L_0284A3BC; else goto L_0284A3B0;
|
|
L_0284A3B0: ; // 0x284a3b0
|
|
/* 0284A3B0 */ cpu->r[11] = 0x00000000u;
|
|
/* 0284A3B4 */ _t16 = cpu->r[31] + 0x00000044u;
|
|
/* 0284A3B4 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 0284A3B8 */ goto L_0284A408;
|
|
L_0284A3BC: ; // 0x284a3bc
|
|
/* 0284A3BC */ _t17 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A3BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0284A3C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A3C4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A3C4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284A3C4 */ if (_t19) goto L_0284A408; else goto L_0284A3C8;
|
|
L_0284A3C8: ; // 0x284a3c8
|
|
/* 0284A3C8 */ cpu->r[11] = 0x00000002u;
|
|
/* 0284A3CC */ _t20 = cpu->r[31] + 0x00000044u;
|
|
/* 0284A3CC */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 0284A3D0 */ goto L_0284A408;
|
|
L_0284A3D4: ; // 0x284a3d4
|
|
/* 0284A3D4 */ _t21 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A3D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0284A3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A3DC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A3DC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0284A3DC */ if (_t23) goto L_0284A3EC; else goto L_0284A3E0;
|
|
L_0284A3E0: ; // 0x284a3e0
|
|
/* 0284A3E0 */ _t24 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A3E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284A3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A3E8 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A3E8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0284A3E8 */ if (_t26) goto L_0284A3EC; else goto L_0284A3F8;
|
|
L_0284A3EC: ; // 0x284a3ec
|
|
/* 0284A3EC */ cpu->r[11] = 0x00000001u;
|
|
/* 0284A3F0 */ _t27 = cpu->r[31] + 0x00000044u;
|
|
/* 0284A3F0 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 0284A3F4 */ goto L_0284A408;
|
|
L_0284A3F8: ; // 0x284a3f8
|
|
/* 0284A3F8 */ _t28 = cpu->r[31] + 0x00000014u;
|
|
/* 0284A3F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284A3FC */ Gambit_fn_0284B75C(cpu);
|
|
/* 0284A400 */ cpu->r[11] = 0x00000003u;
|
|
/* 0284A404 */ _t29 = cpu->r[31] + 0x00000044u;
|
|
/* 0284A404 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
L_0284A408: ; // 0x284a408
|
|
/* 0284A408 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284A40C */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A40C */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284A410 */ cpu->lr = cpu->r[0];
|
|
/* 0284A414 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A418 */ return;
|
|
}
|
|
|
|
// fn_0284A360 @ 0x284a360
|
|
void Gambit_fn_0284A360(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_0284A360: ; // 0x284a360
|
|
/* 0284A360 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A360 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A360 */ cpu->r[1] = _t0;
|
|
/* 0284A364 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A364 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A368 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A36C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A36C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A370 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A370 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A378 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A378 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A378 */ if (_t5) goto L_0284A408; else goto L_0284A37C;
|
|
L_0284A37C: ; // 0x284a37c
|
|
/* 0284A37C */ _t6 = cpu->r[31] + 0x00000044u;
|
|
/* 0284A37C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A380 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 0284A384 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A384 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A384 */ if (_t8) goto L_0284A3A4; else goto L_0284A388;
|
|
L_0284A388: ; // 0x284a388
|
|
/* 0284A388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 0284A38C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A38C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284A38C */ if (_t10) goto L_0284A3D4; else goto L_0284A390;
|
|
L_0284A390: ; // 0x284a390
|
|
/* 0284A390 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A394 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A394 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A398 */ cpu->lr = cpu->r[0];
|
|
/* 0284A39C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A3A0 */ return;
|
|
L_0284A3A4: ; // 0x284a3a4
|
|
/* 0284A3A4 */ _t13 = cpu->r[31] + 0x00000082u;
|
|
/* 0284A3A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284A3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A3AC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A3AC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284A3AC */ if (_t15) goto L_0284A3BC; else goto L_0284A3B0;
|
|
L_0284A3B0: ; // 0x284a3b0
|
|
/* 0284A3B0 */ cpu->r[11] = 0x00000000u;
|
|
/* 0284A3B4 */ _t16 = cpu->r[31] + 0x00000044u;
|
|
/* 0284A3B4 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 0284A3B8 */ goto L_0284A408;
|
|
L_0284A3BC: ; // 0x284a3bc
|
|
/* 0284A3BC */ _t17 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A3BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0284A3C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A3C4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A3C4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284A3C4 */ if (_t19) goto L_0284A408; else goto L_0284A3C8;
|
|
L_0284A3C8: ; // 0x284a3c8
|
|
/* 0284A3C8 */ cpu->r[11] = 0x00000002u;
|
|
/* 0284A3CC */ _t20 = cpu->r[31] + 0x00000044u;
|
|
/* 0284A3CC */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 0284A3D0 */ goto L_0284A408;
|
|
L_0284A3D4: ; // 0x284a3d4
|
|
/* 0284A3D4 */ _t21 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A3D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0284A3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A3DC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A3DC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0284A3DC */ if (_t23) goto L_0284A3EC; else goto L_0284A3E0;
|
|
L_0284A3E0: ; // 0x284a3e0
|
|
/* 0284A3E0 */ _t24 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A3E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284A3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A3E8 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A3E8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0284A3E8 */ if (_t26) goto L_0284A3EC; else goto L_0284A3F8;
|
|
L_0284A3EC: ; // 0x284a3ec
|
|
/* 0284A3EC */ cpu->r[11] = 0x00000001u;
|
|
/* 0284A3F0 */ _t27 = cpu->r[31] + 0x00000044u;
|
|
/* 0284A3F0 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 0284A3F4 */ goto L_0284A408;
|
|
L_0284A3F8: ; // 0x284a3f8
|
|
/* 0284A3F8 */ _t28 = cpu->r[31] + 0x00000014u;
|
|
/* 0284A3F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284A3FC */ Gambit_fn_0284B75C(cpu);
|
|
/* 0284A400 */ cpu->r[11] = 0x00000003u;
|
|
/* 0284A404 */ _t29 = cpu->r[31] + 0x00000044u;
|
|
/* 0284A404 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
L_0284A408: ; // 0x284a408
|
|
/* 0284A408 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284A40C */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A40C */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284A410 */ cpu->lr = cpu->r[0];
|
|
/* 0284A414 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A418 */ return;
|
|
}
|
|
|
|
// fn_0284A41C @ 0x284a41c
|
|
void Gambit_fn_0284A41C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51;
|
|
|
|
L_0284A41C: ; // 0x284a41c
|
|
/* 0284A41C */ cpu->r[0] = cpu->lr;
|
|
/* 0284A420 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A420 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A420 */ cpu->r[1] = _t0;
|
|
/* 0284A424 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A424 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A428 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A42C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A42C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A430 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A430 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A438 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A438 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A438 */ if (_t5) goto L_0284A530; else goto L_0284A43C;
|
|
L_0284A43C: ; // 0x284a43c
|
|
/* 0284A43C */ _t6 = cpu->r[31] + 0x00000048u;
|
|
/* 0284A43C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0284A444 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A444 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A444 */ if (_t8) goto L_0284A474; else goto L_0284A448;
|
|
L_0284A448: ; // 0x284a448
|
|
/* 0284A448 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0284A44C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A44C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284A44C */ if (_t10) goto L_0284A4A4; else goto L_0284A450;
|
|
L_0284A450: ; // 0x284a450
|
|
/* 0284A450 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 0284A454 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A454 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284A454 */ if (_t12) goto L_0284A4D0; else goto L_0284A458;
|
|
L_0284A458: ; // 0x284a458
|
|
/* 0284A458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
|
|
/* 0284A45C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A45C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284A45C */ if (_t14) goto L_0284A4FC; else goto L_0284A460;
|
|
L_0284A460: ; // 0x284a460
|
|
/* 0284A460 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284A464 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A464 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284A468 */ cpu->lr = cpu->r[0];
|
|
/* 0284A46C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A470 */ return;
|
|
L_0284A474: ; // 0x284a474
|
|
/* 0284A474 */ _t17 = cpu->r[31] + 0x00000083u;
|
|
/* 0284A474 */ cpu->r[12] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0284A478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A47C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A47C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284A47C */ if (_t19) goto L_0284A48C; else goto L_0284A480;
|
|
L_0284A480: ; // 0x284a480
|
|
/* 0284A480 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284A484 */ _t20 = cpu->r[31] + 0x00000048u;
|
|
/* 0284A484 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 0284A488 */ goto L_0284A530;
|
|
L_0284A48C: ; // 0x284a48c
|
|
/* 0284A48C */ _t21 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A48C */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0284A490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A494 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A494 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0284A494 */ if (_t23) goto L_0284A530; else goto L_0284A498;
|
|
L_0284A498: ; // 0x284a498
|
|
/* 0284A498 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284A49C */ _t24 = cpu->r[31] + 0x00000048u;
|
|
/* 0284A49C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0284A4A0 */ goto L_0284A530;
|
|
L_0284A4A4: ; // 0x284a4a4
|
|
/* 0284A4A4 */ _t25 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A4A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0284A4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A4AC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A4AC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0284A4AC */ if (_t27) goto L_0284A514; else goto L_0284A4B0;
|
|
L_0284A4B0: ; // 0x284a4b0
|
|
/* 0284A4B0 */ _t28 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A4B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284A4B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A4B8 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A4B8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284A4B8 */ if (_t30) goto L_0284A514; else goto L_0284A4BC;
|
|
L_0284A4BC: ; // 0x284a4bc
|
|
/* 0284A4BC */ _t31 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284A4BC */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284A4C0 */ Gambit_fn_0284B5FC(cpu);
|
|
/* 0284A4C4 */ cpu->r[0] = 0x00000003u;
|
|
/* 0284A4C8 */ _t32 = cpu->r[31] + 0x00000048u;
|
|
/* 0284A4C8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0284A4CC */ goto L_0284A530;
|
|
L_0284A4D0: ; // 0x284a4d0
|
|
/* 0284A4D0 */ _t33 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A4D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0284A4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A4D8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A4D8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0284A4D8 */ if (_t35) goto L_0284A514; else goto L_0284A4DC;
|
|
L_0284A4DC: ; // 0x284a4dc
|
|
/* 0284A4DC */ _t36 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A4DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0284A4E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A4E4 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A4E4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0284A4E4 */ if (_t38) goto L_0284A514; else goto L_0284A4E8;
|
|
L_0284A4E8: ; // 0x284a4e8
|
|
/* 0284A4E8 */ _t39 = cpu->r[31] + 0x00000020u;
|
|
/* 0284A4E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284A4EC */ Gambit_fn_0284B654(cpu);
|
|
/* 0284A4F0 */ cpu->r[0] = 0x00000005u;
|
|
/* 0284A4F4 */ _t40 = cpu->r[31] + 0x00000048u;
|
|
/* 0284A4F4 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 0284A4F8 */ goto L_0284A530;
|
|
L_0284A4FC: ; // 0x284a4fc
|
|
/* 0284A4FC */ _t41 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A4FC */ cpu->r[12] = rbrew_read8(cpu->mem, _t41);
|
|
/* 0284A500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A504 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A504 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0284A504 */ if (_t43) goto L_0284A514; else goto L_0284A508;
|
|
L_0284A508: ; // 0x284a508
|
|
/* 0284A508 */ _t44 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A508 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0284A50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A510 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A510 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0284A510 */ if (_t46) goto L_0284A514; else goto L_0284A520;
|
|
L_0284A514: ; // 0x284a514
|
|
/* 0284A514 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284A518 */ _t47 = cpu->r[31] + 0x00000048u;
|
|
/* 0284A518 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 0284A51C */ goto L_0284A530;
|
|
L_0284A520: ; // 0x284a520
|
|
/* 0284A520 */ _t48 = cpu->r[31] + 0x00000024u;
|
|
/* 0284A520 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0284A524 */ Gambit_fn_0284B6AC(cpu);
|
|
/* 0284A528 */ cpu->r[0] = 0x00000007u;
|
|
/* 0284A52C */ _t49 = cpu->r[31] + 0x00000048u;
|
|
/* 0284A52C */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
L_0284A530: ; // 0x284a530
|
|
/* 0284A530 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0284A534 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A534 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0284A538 */ cpu->lr = cpu->r[0];
|
|
/* 0284A53C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A540 */ return;
|
|
}
|
|
|
|
// fn_0284A420 @ 0x284a420
|
|
void Gambit_fn_0284A420(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51;
|
|
|
|
L_0284A420: ; // 0x284a420
|
|
/* 0284A420 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A420 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A420 */ cpu->r[1] = _t0;
|
|
/* 0284A424 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A424 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A428 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A42C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A42C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A430 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A430 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A438 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A438 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A438 */ if (_t5) goto L_0284A530; else goto L_0284A43C;
|
|
L_0284A43C: ; // 0x284a43c
|
|
/* 0284A43C */ _t6 = cpu->r[31] + 0x00000048u;
|
|
/* 0284A43C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0284A444 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A444 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A444 */ if (_t8) goto L_0284A474; else goto L_0284A448;
|
|
L_0284A448: ; // 0x284a448
|
|
/* 0284A448 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0284A44C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A44C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284A44C */ if (_t10) goto L_0284A4A4; else goto L_0284A450;
|
|
L_0284A450: ; // 0x284a450
|
|
/* 0284A450 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 0284A454 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A454 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284A454 */ if (_t12) goto L_0284A4D0; else goto L_0284A458;
|
|
L_0284A458: ; // 0x284a458
|
|
/* 0284A458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
|
|
/* 0284A45C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A45C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284A45C */ if (_t14) goto L_0284A4FC; else goto L_0284A460;
|
|
L_0284A460: ; // 0x284a460
|
|
/* 0284A460 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284A464 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A464 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284A468 */ cpu->lr = cpu->r[0];
|
|
/* 0284A46C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A470 */ return;
|
|
L_0284A474: ; // 0x284a474
|
|
/* 0284A474 */ _t17 = cpu->r[31] + 0x00000083u;
|
|
/* 0284A474 */ cpu->r[12] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0284A478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A47C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A47C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284A47C */ if (_t19) goto L_0284A48C; else goto L_0284A480;
|
|
L_0284A480: ; // 0x284a480
|
|
/* 0284A480 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284A484 */ _t20 = cpu->r[31] + 0x00000048u;
|
|
/* 0284A484 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 0284A488 */ goto L_0284A530;
|
|
L_0284A48C: ; // 0x284a48c
|
|
/* 0284A48C */ _t21 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A48C */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0284A490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A494 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A494 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0284A494 */ if (_t23) goto L_0284A530; else goto L_0284A498;
|
|
L_0284A498: ; // 0x284a498
|
|
/* 0284A498 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284A49C */ _t24 = cpu->r[31] + 0x00000048u;
|
|
/* 0284A49C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0284A4A0 */ goto L_0284A530;
|
|
L_0284A4A4: ; // 0x284a4a4
|
|
/* 0284A4A4 */ _t25 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A4A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0284A4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A4AC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A4AC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0284A4AC */ if (_t27) goto L_0284A514; else goto L_0284A4B0;
|
|
L_0284A4B0: ; // 0x284a4b0
|
|
/* 0284A4B0 */ _t28 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A4B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284A4B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A4B8 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A4B8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284A4B8 */ if (_t30) goto L_0284A514; else goto L_0284A4BC;
|
|
L_0284A4BC: ; // 0x284a4bc
|
|
/* 0284A4BC */ _t31 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284A4BC */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284A4C0 */ Gambit_fn_0284B5FC(cpu);
|
|
/* 0284A4C4 */ cpu->r[0] = 0x00000003u;
|
|
/* 0284A4C8 */ _t32 = cpu->r[31] + 0x00000048u;
|
|
/* 0284A4C8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0284A4CC */ goto L_0284A530;
|
|
L_0284A4D0: ; // 0x284a4d0
|
|
/* 0284A4D0 */ _t33 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A4D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0284A4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A4D8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A4D8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0284A4D8 */ if (_t35) goto L_0284A514; else goto L_0284A4DC;
|
|
L_0284A4DC: ; // 0x284a4dc
|
|
/* 0284A4DC */ _t36 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A4DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0284A4E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A4E4 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A4E4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0284A4E4 */ if (_t38) goto L_0284A514; else goto L_0284A4E8;
|
|
L_0284A4E8: ; // 0x284a4e8
|
|
/* 0284A4E8 */ _t39 = cpu->r[31] + 0x00000020u;
|
|
/* 0284A4E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284A4EC */ Gambit_fn_0284B654(cpu);
|
|
/* 0284A4F0 */ cpu->r[0] = 0x00000005u;
|
|
/* 0284A4F4 */ _t40 = cpu->r[31] + 0x00000048u;
|
|
/* 0284A4F4 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 0284A4F8 */ goto L_0284A530;
|
|
L_0284A4FC: ; // 0x284a4fc
|
|
/* 0284A4FC */ _t41 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A4FC */ cpu->r[12] = rbrew_read8(cpu->mem, _t41);
|
|
/* 0284A500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A504 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A504 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0284A504 */ if (_t43) goto L_0284A514; else goto L_0284A508;
|
|
L_0284A508: ; // 0x284a508
|
|
/* 0284A508 */ _t44 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A508 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0284A50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A510 */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A510 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0284A510 */ if (_t46) goto L_0284A514; else goto L_0284A520;
|
|
L_0284A514: ; // 0x284a514
|
|
/* 0284A514 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284A518 */ _t47 = cpu->r[31] + 0x00000048u;
|
|
/* 0284A518 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 0284A51C */ goto L_0284A530;
|
|
L_0284A520: ; // 0x284a520
|
|
/* 0284A520 */ _t48 = cpu->r[31] + 0x00000024u;
|
|
/* 0284A520 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0284A524 */ Gambit_fn_0284B6AC(cpu);
|
|
/* 0284A528 */ cpu->r[0] = 0x00000007u;
|
|
/* 0284A52C */ _t49 = cpu->r[31] + 0x00000048u;
|
|
/* 0284A52C */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
L_0284A530: ; // 0x284a530
|
|
/* 0284A530 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0284A534 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A534 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0284A538 */ cpu->lr = cpu->r[0];
|
|
/* 0284A53C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A540 */ return;
|
|
}
|
|
|
|
// fn_0284A544 @ 0x284a544
|
|
void Gambit_fn_0284A544(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_0284A544: ; // 0x284a544
|
|
/* 0284A544 */ cpu->r[0] = cpu->lr;
|
|
/* 0284A548 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A548 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A548 */ cpu->r[1] = _t0;
|
|
/* 0284A54C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A54C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A550 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A554 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A554 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A558 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A560 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A560 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A560 */ if (_t5) goto L_0284A5F4; else goto L_0284A564;
|
|
L_0284A564: ; // 0x284a564
|
|
/* 0284A564 */ _t6 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0284A564 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A568 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 0284A56C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A56C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A56C */ if (_t8) goto L_0284A58C; else goto L_0284A570;
|
|
L_0284A570: ; // 0x284a570
|
|
/* 0284A570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 0284A574 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A574 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284A574 */ if (_t10) goto L_0284A5B0; else goto L_0284A578;
|
|
L_0284A578: ; // 0x284a578
|
|
/* 0284A578 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A57C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A57C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A580 */ cpu->lr = cpu->r[0];
|
|
/* 0284A584 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A588 */ return;
|
|
L_0284A58C: ; // 0x284a58c
|
|
/* 0284A58C */ _t13 = cpu->r[31] + 0x00000083u;
|
|
/* 0284A58C */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284A590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A594 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A594 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284A594 */ if (_t15) goto L_0284A5F4; else goto L_0284A598;
|
|
L_0284A598: ; // 0x284a598
|
|
/* 0284A598 */ _t16 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A598 */ cpu->r[12] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0284A59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A5A0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A5A0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0284A5A0 */ if (_t18) goto L_0284A5F4; else goto L_0284A5A4;
|
|
L_0284A5A4: ; // 0x284a5a4
|
|
/* 0284A5A4 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284A5A8 */ _t19 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0284A5A8 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0284A5AC */ goto L_0284A5F4;
|
|
L_0284A5B0: ; // 0x284a5b0
|
|
/* 0284A5B0 */ _t20 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A5B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0284A5B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A5B8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A5B8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284A5B8 */ if (_t22) goto L_0284A5C8; else goto L_0284A5BC;
|
|
L_0284A5BC: ; // 0x284a5bc
|
|
/* 0284A5BC */ _t23 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A5BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284A5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A5C4 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A5C4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0284A5C4 */ if (_t25) goto L_0284A5C8; else goto L_0284A5D4;
|
|
L_0284A5C8: ; // 0x284a5c8
|
|
/* 0284A5C8 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284A5CC */ _t26 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0284A5CC */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0284A5D0 */ goto L_0284A5F4;
|
|
L_0284A5D4: ; // 0x284a5d4
|
|
/* 0284A5D4 */ _t27 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A5D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284A5D8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284A5DC */ _t28 = cpu->r[31] + 0x00000018u;
|
|
/* 0284A5DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284A5E0 */ _t29 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A5E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284A5E4 */ _t30 = cpu->r[31] + 0x00000090u;
|
|
/* 0284A5E4 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 0284A5E8 */ Gambit_fn_0284B5A4(cpu);
|
|
/* 0284A5EC */ cpu->r[0] = 0x00000003u;
|
|
/* 0284A5F0 */ _t31 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0284A5F0 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
L_0284A5F4: ; // 0x284a5f4
|
|
/* 0284A5F4 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284A5F8 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A5F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0284A5FC */ cpu->lr = cpu->r[0];
|
|
/* 0284A600 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A604 */ return;
|
|
}
|
|
|
|
// fn_0284A548 @ 0x284a548
|
|
void Gambit_fn_0284A548(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_0284A548: ; // 0x284a548
|
|
/* 0284A548 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A548 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A548 */ cpu->r[1] = _t0;
|
|
/* 0284A54C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A54C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A550 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A554 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A554 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A558 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A560 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A560 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A560 */ if (_t5) goto L_0284A5F4; else goto L_0284A564;
|
|
L_0284A564: ; // 0x284a564
|
|
/* 0284A564 */ _t6 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0284A564 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A568 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 0284A56C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A56C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A56C */ if (_t8) goto L_0284A58C; else goto L_0284A570;
|
|
L_0284A570: ; // 0x284a570
|
|
/* 0284A570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 0284A574 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A574 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284A574 */ if (_t10) goto L_0284A5B0; else goto L_0284A578;
|
|
L_0284A578: ; // 0x284a578
|
|
/* 0284A578 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A57C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A57C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A580 */ cpu->lr = cpu->r[0];
|
|
/* 0284A584 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A588 */ return;
|
|
L_0284A58C: ; // 0x284a58c
|
|
/* 0284A58C */ _t13 = cpu->r[31] + 0x00000083u;
|
|
/* 0284A58C */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284A590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A594 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A594 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284A594 */ if (_t15) goto L_0284A5F4; else goto L_0284A598;
|
|
L_0284A598: ; // 0x284a598
|
|
/* 0284A598 */ _t16 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A598 */ cpu->r[12] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0284A59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A5A0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A5A0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0284A5A0 */ if (_t18) goto L_0284A5F4; else goto L_0284A5A4;
|
|
L_0284A5A4: ; // 0x284a5a4
|
|
/* 0284A5A4 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284A5A8 */ _t19 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0284A5A8 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0284A5AC */ goto L_0284A5F4;
|
|
L_0284A5B0: ; // 0x284a5b0
|
|
/* 0284A5B0 */ _t20 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A5B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0284A5B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A5B8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A5B8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284A5B8 */ if (_t22) goto L_0284A5C8; else goto L_0284A5BC;
|
|
L_0284A5BC: ; // 0x284a5bc
|
|
/* 0284A5BC */ _t23 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A5BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284A5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A5C4 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A5C4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0284A5C4 */ if (_t25) goto L_0284A5C8; else goto L_0284A5D4;
|
|
L_0284A5C8: ; // 0x284a5c8
|
|
/* 0284A5C8 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284A5CC */ _t26 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0284A5CC */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0284A5D0 */ goto L_0284A5F4;
|
|
L_0284A5D4: ; // 0x284a5d4
|
|
/* 0284A5D4 */ _t27 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A5D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284A5D8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284A5DC */ _t28 = cpu->r[31] + 0x00000018u;
|
|
/* 0284A5DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284A5E0 */ _t29 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A5E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284A5E4 */ _t30 = cpu->r[31] + 0x00000090u;
|
|
/* 0284A5E4 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 0284A5E8 */ Gambit_fn_0284B5A4(cpu);
|
|
/* 0284A5EC */ cpu->r[0] = 0x00000003u;
|
|
/* 0284A5F0 */ _t31 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0284A5F0 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
L_0284A5F4: ; // 0x284a5f4
|
|
/* 0284A5F4 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284A5F8 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A5F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0284A5FC */ cpu->lr = cpu->r[0];
|
|
/* 0284A600 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A604 */ return;
|
|
}
|
|
|
|
// fn_0284A608 @ 0x284a608
|
|
void Gambit_fn_0284A608(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_0284A608: ; // 0x284a608
|
|
/* 0284A608 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284A608 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A608 */ cpu->r[1] = _t0;
|
|
/* 0284A60C */ _t1 = cpu->r[3] + 0x00000083u;
|
|
/* 0284A60C */ cpu->r[10] = rbrew_read8(cpu->mem, _t1);
|
|
/* 0284A610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284A614 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A614 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0284A614 */ if (_t3) goto L_0284A618; else goto L_0284A624;
|
|
L_0284A618: ; // 0x284a618
|
|
/* 0284A618 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284A61C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284A620 */ return;
|
|
L_0284A624: ; // 0x284a624
|
|
/* 0284A624 */ _t4 = cpu->r[3] + 0x00000088u;
|
|
/* 0284A624 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284A628 */ cpu->r[9] = 0x10130000u;
|
|
/* 0284A62C */ _t5 = cpu->r[3] + 0x00000084u;
|
|
/* 0284A62C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284A630 */ _t6 = cpu->r[9] + 0xFFFFF958u;
|
|
/* 0284A630 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 0284A634 */ cpu->r[0] = cpu->r[12] - cpu->r[11];
|
|
/* 0284A638 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A638 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0284A63C */ cpu->r[0] = 0x43300000u;
|
|
/* 0284A640 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0284A640 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0284A644 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0284A644 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 0284A648 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 0284A64C */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 0284A650 */ cpu->r[7] = 0x10130000u;
|
|
/* 0284A654 */ cpu->f[0] = cpu->f[1] * cpu->f[13];
|
|
/* 0284A658 */ _t10 = cpu->r[7] + 0xFFFFF960u;
|
|
/* 0284A658 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0284A65C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[13]);
|
|
/* 0284A660 */ _t11 = cpu->r[3] + 0x0000008Cu;
|
|
/* 0284A660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A664 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A664 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284A664 */ if (_t13) goto L_0284A668; else goto L_0284A690;
|
|
L_0284A668: ; // 0x284a668
|
|
/* 0284A668 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 0284A66C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0284A670 */ /* nop */
|
|
/* 0284A674 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0284A674 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284A678 */ cpu->r[7] = cpu->r[10] + cpu->r[11];
|
|
/* 0284A67C */ cpu->r[10] = cpu->r[7] / cpu->r[0];
|
|
/* 0284A680 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[0]);
|
|
/* 0284A684 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 0284A688 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A688 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0284A688 */ if (_t16) goto L_0284A6BC; else goto L_0284A68C;
|
|
L_0284A68C: ; // 0x284a68c
|
|
/* 0284A68C */ goto L_0284A6C4;
|
|
L_0284A690: ; // 0x284a690
|
|
/* 0284A690 */ cpu->f[13] = cpu->f[0] - cpu->f[13];
|
|
/* 0284A694 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 0284A698 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 0284A69C */ /* nop */
|
|
/* 0284A6A0 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0284A6A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284A6A4 */ cpu->r[10] = cpu->r[8] + 0x80000000u;
|
|
/* 0284A6A8 */ cpu->r[7] = cpu->r[10] + cpu->r[11];
|
|
/* 0284A6AC */ cpu->r[10] = cpu->r[7] / cpu->r[0];
|
|
/* 0284A6B0 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)cpu->r[0]);
|
|
/* 0284A6B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 0284A6B8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A6B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284A6B8 */ if (_t19) goto L_0284A6BC; else goto L_0284A6C4;
|
|
L_0284A6BC: ; // 0x284a6bc
|
|
/* 0284A6BC */ cpu->r[3] = cpu->r[11];
|
|
/* 0284A6C0 */ goto L_0284A6D0;
|
|
L_0284A6C4: ; // 0x284a6c4
|
|
/* 0284A6C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 0284A6C8 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284A6C8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284A6C8 */ if (_t21) goto L_0284A6CC; else goto L_0284A6D0;
|
|
L_0284A6CC: ; // 0x284a6cc
|
|
/* 0284A6CC */ cpu->r[3] = cpu->r[12];
|
|
L_0284A6D0: ; // 0x284a6d0
|
|
/* 0284A6D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284A6D4 */ return;
|
|
}
|
|
|
|
// fn_0284A6D8 @ 0x284a6d8
|
|
void Gambit_fn_0284A6D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_0284A6D8: ; // 0x284a6d8
|
|
/* 0284A6D8 */ cpu->r[0] = cpu->lr;
|
|
/* 0284A6DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A6DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A6DC */ cpu->r[1] = _t0;
|
|
/* 0284A6E0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284A6E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284A6E4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A6E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284A6E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284A6EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A6EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284A6F0 */ _t4 = cpu->r[30] + 0x00000078u;
|
|
/* 0284A6F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284A6F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284A6F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A6F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284A6F8 */ if (_t6) goto L_0284A7B8; else goto L_0284A6FC;
|
|
L_0284A6FC: ; // 0x284a6fc
|
|
/* 0284A6FC */ _t7 = cpu->r[30] + 0x00000050u;
|
|
/* 0284A6FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284A700 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 0284A704 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A704 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284A704 */ if (_t9) goto L_0284A728; else goto L_0284A708;
|
|
L_0284A708: ; // 0x284a708
|
|
/* 0284A708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 0284A70C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A70C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284A70C */ if (_t11) goto L_0284A758; else goto L_0284A710;
|
|
L_0284A710: ; // 0x284a710
|
|
/* 0284A710 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A714 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0284A714 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284A718 */ cpu->lr = cpu->r[0];
|
|
/* 0284A71C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A71C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284A720 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A724 */ return;
|
|
L_0284A728: ; // 0x284a728
|
|
/* 0284A728 */ _t15 = cpu->r[30] + 0x00000081u;
|
|
/* 0284A728 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0284A72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A730 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A730 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284A730 */ if (_t17) goto L_0284A7B8; else goto L_0284A734;
|
|
L_0284A734: ; // 0x284a734
|
|
/* 0284A734 */ _t18 = cpu->r[30] + 0x00000083u;
|
|
/* 0284A734 */ cpu->r[11] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0284A738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284A73C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A73C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284A73C */ if (_t20) goto L_0284A7B8; else goto L_0284A740;
|
|
L_0284A740: ; // 0x284a740
|
|
/* 0284A740 */ _t21 = cpu->r[30] + 0x00000090u;
|
|
/* 0284A740 */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0284A744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A748 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A748 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0284A748 */ if (_t23) goto L_0284A7B8; else goto L_0284A74C;
|
|
L_0284A74C: ; // 0x284a74c
|
|
/* 0284A74C */ cpu->r[0] = 0x00000002u;
|
|
/* 0284A750 */ _t24 = cpu->r[30] + 0x00000050u;
|
|
/* 0284A750 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0284A754 */ goto L_0284A7B8;
|
|
L_0284A758: ; // 0x284a758
|
|
/* 0284A758 */ _t25 = cpu->r[30] + 0x00000081u;
|
|
/* 0284A758 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0284A75C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A760 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A760 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0284A760 */ if (_t27) goto L_0284A788; else goto L_0284A764;
|
|
L_0284A764: ; // 0x284a764
|
|
/* 0284A764 */ _t28 = cpu->r[30] + 0x00000083u;
|
|
/* 0284A764 */ cpu->r[11] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0284A768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284A76C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A76C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284A76C */ if (_t30) goto L_0284A788; else goto L_0284A770;
|
|
L_0284A770: ; // 0x284a770
|
|
/* 0284A770 */ _t31 = cpu->r[30] + 0x00000090u;
|
|
/* 0284A770 */ cpu->r[12] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0284A774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A778 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A778 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0284A778 */ if (_t33) goto L_0284A788; else goto L_0284A77C;
|
|
L_0284A77C: ; // 0x284a77c
|
|
/* 0284A77C */ _t34 = cpu->r[30] + 0x00000068u;
|
|
/* 0284A77C */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284A780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A784 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A784 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0284A784 */ if (_t36) goto L_0284A788; else goto L_0284A794;
|
|
L_0284A788: ; // 0x284a788
|
|
/* 0284A788 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284A78C */ _t37 = cpu->r[30] + 0x00000050u;
|
|
/* 0284A78C */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 0284A790 */ goto L_0284A7B8;
|
|
L_0284A794: ; // 0x284a794
|
|
/* 0284A794 */ _t38 = cpu->r[30] + 0x000000A8u;
|
|
/* 0284A794 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0284A798 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284A79C */ Gambit_fn_0284A608(cpu);
|
|
/* 0284A7A0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0284A7A4 */ _t39 = cpu->r[30] + 0x00000030u;
|
|
/* 0284A7A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284A7A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284A7AC */ Gambit_fn_0284B80C(cpu);
|
|
/* 0284A7B0 */ cpu->r[0] = 0x00000003u;
|
|
/* 0284A7B4 */ _t40 = cpu->r[30] + 0x00000050u;
|
|
/* 0284A7B4 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
L_0284A7B8: ; // 0x284a7b8
|
|
/* 0284A7B8 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0284A7BC */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 0284A7BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0284A7C0 */ cpu->lr = cpu->r[0];
|
|
/* 0284A7C4 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A7C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0284A7C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A7CC */ return;
|
|
}
|
|
|
|
// fn_0284A6DC @ 0x284a6dc
|
|
void Gambit_fn_0284A6DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_0284A6DC: ; // 0x284a6dc
|
|
/* 0284A6DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A6DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A6DC */ cpu->r[1] = _t0;
|
|
/* 0284A6E0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284A6E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284A6E4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A6E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284A6E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284A6EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A6EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284A6F0 */ _t4 = cpu->r[30] + 0x00000078u;
|
|
/* 0284A6F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284A6F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284A6F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A6F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284A6F8 */ if (_t6) goto L_0284A7B8; else goto L_0284A6FC;
|
|
L_0284A6FC: ; // 0x284a6fc
|
|
/* 0284A6FC */ _t7 = cpu->r[30] + 0x00000050u;
|
|
/* 0284A6FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284A700 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 0284A704 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A704 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284A704 */ if (_t9) goto L_0284A728; else goto L_0284A708;
|
|
L_0284A708: ; // 0x284a708
|
|
/* 0284A708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 0284A70C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A70C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284A70C */ if (_t11) goto L_0284A758; else goto L_0284A710;
|
|
L_0284A710: ; // 0x284a710
|
|
/* 0284A710 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A714 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0284A714 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284A718 */ cpu->lr = cpu->r[0];
|
|
/* 0284A71C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A71C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284A720 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A724 */ return;
|
|
L_0284A728: ; // 0x284a728
|
|
/* 0284A728 */ _t15 = cpu->r[30] + 0x00000081u;
|
|
/* 0284A728 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0284A72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A730 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A730 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284A730 */ if (_t17) goto L_0284A7B8; else goto L_0284A734;
|
|
L_0284A734: ; // 0x284a734
|
|
/* 0284A734 */ _t18 = cpu->r[30] + 0x00000083u;
|
|
/* 0284A734 */ cpu->r[11] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0284A738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284A73C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A73C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284A73C */ if (_t20) goto L_0284A7B8; else goto L_0284A740;
|
|
L_0284A740: ; // 0x284a740
|
|
/* 0284A740 */ _t21 = cpu->r[30] + 0x00000090u;
|
|
/* 0284A740 */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0284A744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A748 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A748 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0284A748 */ if (_t23) goto L_0284A7B8; else goto L_0284A74C;
|
|
L_0284A74C: ; // 0x284a74c
|
|
/* 0284A74C */ cpu->r[0] = 0x00000002u;
|
|
/* 0284A750 */ _t24 = cpu->r[30] + 0x00000050u;
|
|
/* 0284A750 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0284A754 */ goto L_0284A7B8;
|
|
L_0284A758: ; // 0x284a758
|
|
/* 0284A758 */ _t25 = cpu->r[30] + 0x00000081u;
|
|
/* 0284A758 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0284A75C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A760 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A760 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0284A760 */ if (_t27) goto L_0284A788; else goto L_0284A764;
|
|
L_0284A764: ; // 0x284a764
|
|
/* 0284A764 */ _t28 = cpu->r[30] + 0x00000083u;
|
|
/* 0284A764 */ cpu->r[11] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0284A768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284A76C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A76C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284A76C */ if (_t30) goto L_0284A788; else goto L_0284A770;
|
|
L_0284A770: ; // 0x284a770
|
|
/* 0284A770 */ _t31 = cpu->r[30] + 0x00000090u;
|
|
/* 0284A770 */ cpu->r[12] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0284A774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A778 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A778 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0284A778 */ if (_t33) goto L_0284A788; else goto L_0284A77C;
|
|
L_0284A77C: ; // 0x284a77c
|
|
/* 0284A77C */ _t34 = cpu->r[30] + 0x00000068u;
|
|
/* 0284A77C */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284A780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A784 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A784 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0284A784 */ if (_t36) goto L_0284A788; else goto L_0284A794;
|
|
L_0284A788: ; // 0x284a788
|
|
/* 0284A788 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284A78C */ _t37 = cpu->r[30] + 0x00000050u;
|
|
/* 0284A78C */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 0284A790 */ goto L_0284A7B8;
|
|
L_0284A794: ; // 0x284a794
|
|
/* 0284A794 */ _t38 = cpu->r[30] + 0x000000A8u;
|
|
/* 0284A794 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0284A798 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284A79C */ Gambit_fn_0284A608(cpu);
|
|
/* 0284A7A0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0284A7A4 */ _t39 = cpu->r[30] + 0x00000030u;
|
|
/* 0284A7A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284A7A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284A7AC */ Gambit_fn_0284B80C(cpu);
|
|
/* 0284A7B0 */ cpu->r[0] = 0x00000003u;
|
|
/* 0284A7B4 */ _t40 = cpu->r[30] + 0x00000050u;
|
|
/* 0284A7B4 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
L_0284A7B8: ; // 0x284a7b8
|
|
/* 0284A7B8 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0284A7BC */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 0284A7BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0284A7C0 */ cpu->lr = cpu->r[0];
|
|
/* 0284A7C4 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A7C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0284A7C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A7CC */ return;
|
|
}
|
|
|
|
// fn_0284A7D0 @ 0x284a7d0
|
|
void Gambit_fn_0284A7D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_0284A7D0: ; // 0x284a7d0
|
|
/* 0284A7D0 */ cpu->r[0] = cpu->lr;
|
|
/* 0284A7D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A7D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A7D4 */ cpu->r[1] = _t0;
|
|
/* 0284A7D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A7D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A7DC */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A7E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A7E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A7E4 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A7E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A7EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A7EC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A7EC */ if (_t5) goto L_0284A874; else goto L_0284A7F0;
|
|
L_0284A7F0: ; // 0x284a7f0
|
|
/* 0284A7F0 */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 0284A7F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A7F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0284A7F8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A7F8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A7F8 */ if (_t8) goto L_0284A818; else goto L_0284A7FC;
|
|
L_0284A7FC: ; // 0x284a7fc
|
|
/* 0284A7FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0284A800 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A800 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284A800 */ if (_t10) goto L_0284A830; else goto L_0284A804;
|
|
L_0284A804: ; // 0x284a804
|
|
/* 0284A804 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A808 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A80C */ cpu->lr = cpu->r[0];
|
|
/* 0284A810 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A814 */ return;
|
|
L_0284A818: ; // 0x284a818
|
|
/* 0284A818 */ _t13 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A818 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284A81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284A820 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A820 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284A820 */ if (_t15) goto L_0284A874; else goto L_0284A824;
|
|
L_0284A824: ; // 0x284a824
|
|
/* 0284A824 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284A828 */ _t16 = cpu->r[31] + 0x00000054u;
|
|
/* 0284A828 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0284A82C */ goto L_0284A874;
|
|
L_0284A830: ; // 0x284a830
|
|
/* 0284A830 */ _t17 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A830 */ cpu->r[12] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0284A834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A838 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A838 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284A838 */ if (_t19) goto L_0284A848; else goto L_0284A83C;
|
|
L_0284A83C: ; // 0x284a83c
|
|
/* 0284A83C */ _t20 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A83C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284A840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A844 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A844 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284A844 */ if (_t22) goto L_0284A848; else goto L_0284A854;
|
|
L_0284A848: ; // 0x284a848
|
|
/* 0284A848 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284A84C */ _t23 = cpu->r[31] + 0x00000054u;
|
|
/* 0284A84C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 0284A850 */ goto L_0284A874;
|
|
L_0284A854: ; // 0x284a854
|
|
/* 0284A854 */ _t24 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A854 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284A858 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284A85C */ _t25 = cpu->r[31] + 0x00000028u;
|
|
/* 0284A85C */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284A860 */ _t26 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A860 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284A864 */ _t27 = cpu->r[31] + 0x00000098u;
|
|
/* 0284A864 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[12]);
|
|
/* 0284A868 */ Gambit_fn_0284B704(cpu);
|
|
/* 0284A86C */ cpu->r[0] = 0x00000003u;
|
|
/* 0284A870 */ _t28 = cpu->r[31] + 0x00000054u;
|
|
/* 0284A870 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
L_0284A874: ; // 0x284a874
|
|
/* 0284A874 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284A878 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A878 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284A87C */ cpu->lr = cpu->r[0];
|
|
/* 0284A880 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A884 */ return;
|
|
}
|
|
|
|
// fn_0284A7D4 @ 0x284a7d4
|
|
void Gambit_fn_0284A7D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_0284A7D4: ; // 0x284a7d4
|
|
/* 0284A7D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A7D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A7D4 */ cpu->r[1] = _t0;
|
|
/* 0284A7D8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A7D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A7DC */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A7E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A7E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A7E4 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A7E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A7EC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A7EC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A7EC */ if (_t5) goto L_0284A874; else goto L_0284A7F0;
|
|
L_0284A7F0: ; // 0x284a7f0
|
|
/* 0284A7F0 */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 0284A7F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A7F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0284A7F8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A7F8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A7F8 */ if (_t8) goto L_0284A818; else goto L_0284A7FC;
|
|
L_0284A7FC: ; // 0x284a7fc
|
|
/* 0284A7FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0284A800 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A800 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284A800 */ if (_t10) goto L_0284A830; else goto L_0284A804;
|
|
L_0284A804: ; // 0x284a804
|
|
/* 0284A804 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A808 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A80C */ cpu->lr = cpu->r[0];
|
|
/* 0284A810 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A814 */ return;
|
|
L_0284A818: ; // 0x284a818
|
|
/* 0284A818 */ _t13 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A818 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284A81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284A820 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A820 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284A820 */ if (_t15) goto L_0284A874; else goto L_0284A824;
|
|
L_0284A824: ; // 0x284a824
|
|
/* 0284A824 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284A828 */ _t16 = cpu->r[31] + 0x00000054u;
|
|
/* 0284A828 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0284A82C */ goto L_0284A874;
|
|
L_0284A830: ; // 0x284a830
|
|
/* 0284A830 */ _t17 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A830 */ cpu->r[12] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0284A834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A838 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A838 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284A838 */ if (_t19) goto L_0284A848; else goto L_0284A83C;
|
|
L_0284A83C: ; // 0x284a83c
|
|
/* 0284A83C */ _t20 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A83C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284A840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A844 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A844 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284A844 */ if (_t22) goto L_0284A848; else goto L_0284A854;
|
|
L_0284A848: ; // 0x284a848
|
|
/* 0284A848 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284A84C */ _t23 = cpu->r[31] + 0x00000054u;
|
|
/* 0284A84C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 0284A850 */ goto L_0284A874;
|
|
L_0284A854: ; // 0x284a854
|
|
/* 0284A854 */ _t24 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A854 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284A858 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284A85C */ _t25 = cpu->r[31] + 0x00000028u;
|
|
/* 0284A85C */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284A860 */ _t26 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A860 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284A864 */ _t27 = cpu->r[31] + 0x00000098u;
|
|
/* 0284A864 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[12]);
|
|
/* 0284A868 */ Gambit_fn_0284B704(cpu);
|
|
/* 0284A86C */ cpu->r[0] = 0x00000003u;
|
|
/* 0284A870 */ _t28 = cpu->r[31] + 0x00000054u;
|
|
/* 0284A870 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
L_0284A874: ; // 0x284a874
|
|
/* 0284A874 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284A878 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A878 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284A87C */ cpu->lr = cpu->r[0];
|
|
/* 0284A880 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A884 */ return;
|
|
}
|
|
|
|
// fn_0284A888 @ 0x284a888
|
|
void Gambit_fn_0284A888(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_0284A888: ; // 0x284a888
|
|
/* 0284A888 */ cpu->r[0] = cpu->lr;
|
|
/* 0284A88C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A88C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A88C */ cpu->r[1] = _t0;
|
|
/* 0284A890 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A890 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A894 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A898 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A898 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A89C */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A89C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A8A4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A8A4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A8A4 */ if (_t5) goto L_0284A938; else goto L_0284A8A8;
|
|
L_0284A8A8: ; // 0x284a8a8
|
|
/* 0284A8A8 */ _t6 = cpu->r[31] + 0x00000058u;
|
|
/* 0284A8A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A8AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
|
|
/* 0284A8B0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A8B0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A8B0 */ if (_t8) goto L_0284A8D0; else goto L_0284A8B4;
|
|
L_0284A8B4: ; // 0x284a8b4
|
|
/* 0284A8B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 0284A8B8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A8B8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284A8B8 */ if (_t10) goto L_0284A8F4; else goto L_0284A8BC;
|
|
L_0284A8BC: ; // 0x284a8bc
|
|
/* 0284A8BC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A8BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A8C0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A8C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A8C4 */ cpu->lr = cpu->r[0];
|
|
/* 0284A8C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A8CC */ return;
|
|
L_0284A8D0: ; // 0x284a8d0
|
|
/* 0284A8D0 */ _t13 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A8D0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284A8D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A8D8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A8D8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284A8D8 */ if (_t15) goto L_0284A938; else goto L_0284A8DC;
|
|
L_0284A8DC: ; // 0x284a8dc
|
|
/* 0284A8DC */ _t16 = cpu->r[31] + 0x00000098u;
|
|
/* 0284A8DC */ cpu->r[11] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0284A8E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284A8E4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A8E4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0284A8E4 */ if (_t18) goto L_0284A938; else goto L_0284A8E8;
|
|
L_0284A8E8: ; // 0x284a8e8
|
|
/* 0284A8E8 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284A8EC */ _t19 = cpu->r[31] + 0x00000058u;
|
|
/* 0284A8EC */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0284A8F0 */ goto L_0284A938;
|
|
L_0284A8F4: ; // 0x284a8f4
|
|
/* 0284A8F4 */ _t20 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A8F4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0284A8F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A8FC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A8FC */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284A8FC */ if (_t22) goto L_0284A918; else goto L_0284A900;
|
|
L_0284A900: ; // 0x284a900
|
|
/* 0284A900 */ _t23 = cpu->r[31] + 0x00000098u;
|
|
/* 0284A900 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0284A904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A908 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A908 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0284A908 */ if (_t25) goto L_0284A918; else goto L_0284A90C;
|
|
L_0284A90C: ; // 0x284a90c
|
|
/* 0284A90C */ _t26 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A90C */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284A910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A914 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A914 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0284A914 */ if (_t28) goto L_0284A918; else goto L_0284A924;
|
|
L_0284A918: ; // 0x284a918
|
|
/* 0284A918 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284A91C */ _t29 = cpu->r[31] + 0x00000058u;
|
|
/* 0284A91C */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0284A920 */ goto L_0284A938;
|
|
L_0284A924: ; // 0x284a924
|
|
/* 0284A924 */ _t30 = cpu->r[31] + 0x00000034u;
|
|
/* 0284A924 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284A928 */ _t31 = cpu->r[31] + 0x000000ACu;
|
|
/* 0284A928 */ cpu->r[5] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0284A92C */ Gambit_fn_0284B860(cpu);
|
|
/* 0284A930 */ cpu->r[0] = 0x00000003u;
|
|
/* 0284A934 */ _t32 = cpu->r[31] + 0x00000058u;
|
|
/* 0284A934 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_0284A938: ; // 0x284a938
|
|
/* 0284A938 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0284A93C */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A93C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284A940 */ cpu->lr = cpu->r[0];
|
|
/* 0284A944 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A948 */ return;
|
|
}
|
|
|
|
// fn_0284A88C @ 0x284a88c
|
|
void Gambit_fn_0284A88C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_0284A88C: ; // 0x284a88c
|
|
/* 0284A88C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A88C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A88C */ cpu->r[1] = _t0;
|
|
/* 0284A890 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A890 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A894 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A898 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A898 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A89C */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A89C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284A8A4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A8A4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A8A4 */ if (_t5) goto L_0284A938; else goto L_0284A8A8;
|
|
L_0284A8A8: ; // 0x284a8a8
|
|
/* 0284A8A8 */ _t6 = cpu->r[31] + 0x00000058u;
|
|
/* 0284A8A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A8AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
|
|
/* 0284A8B0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A8B0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A8B0 */ if (_t8) goto L_0284A8D0; else goto L_0284A8B4;
|
|
L_0284A8B4: ; // 0x284a8b4
|
|
/* 0284A8B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 0284A8B8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A8B8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284A8B8 */ if (_t10) goto L_0284A8F4; else goto L_0284A8BC;
|
|
L_0284A8BC: ; // 0x284a8bc
|
|
/* 0284A8BC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A8BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A8C0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A8C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A8C4 */ cpu->lr = cpu->r[0];
|
|
/* 0284A8C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A8CC */ return;
|
|
L_0284A8D0: ; // 0x284a8d0
|
|
/* 0284A8D0 */ _t13 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A8D0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284A8D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A8D8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A8D8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284A8D8 */ if (_t15) goto L_0284A938; else goto L_0284A8DC;
|
|
L_0284A8DC: ; // 0x284a8dc
|
|
/* 0284A8DC */ _t16 = cpu->r[31] + 0x00000098u;
|
|
/* 0284A8DC */ cpu->r[11] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0284A8E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284A8E4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A8E4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0284A8E4 */ if (_t18) goto L_0284A938; else goto L_0284A8E8;
|
|
L_0284A8E8: ; // 0x284a8e8
|
|
/* 0284A8E8 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284A8EC */ _t19 = cpu->r[31] + 0x00000058u;
|
|
/* 0284A8EC */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0284A8F0 */ goto L_0284A938;
|
|
L_0284A8F4: ; // 0x284a8f4
|
|
/* 0284A8F4 */ _t20 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A8F4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0284A8F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A8FC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A8FC */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284A8FC */ if (_t22) goto L_0284A918; else goto L_0284A900;
|
|
L_0284A900: ; // 0x284a900
|
|
/* 0284A900 */ _t23 = cpu->r[31] + 0x00000098u;
|
|
/* 0284A900 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0284A904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A908 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A908 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0284A908 */ if (_t25) goto L_0284A918; else goto L_0284A90C;
|
|
L_0284A90C: ; // 0x284a90c
|
|
/* 0284A90C */ _t26 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A90C */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284A910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284A914 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A914 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0284A914 */ if (_t28) goto L_0284A918; else goto L_0284A924;
|
|
L_0284A918: ; // 0x284a918
|
|
/* 0284A918 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284A91C */ _t29 = cpu->r[31] + 0x00000058u;
|
|
/* 0284A91C */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0284A920 */ goto L_0284A938;
|
|
L_0284A924: ; // 0x284a924
|
|
/* 0284A924 */ _t30 = cpu->r[31] + 0x00000034u;
|
|
/* 0284A924 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284A928 */ _t31 = cpu->r[31] + 0x000000ACu;
|
|
/* 0284A928 */ cpu->r[5] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0284A92C */ Gambit_fn_0284B860(cpu);
|
|
/* 0284A930 */ cpu->r[0] = 0x00000003u;
|
|
/* 0284A934 */ _t32 = cpu->r[31] + 0x00000058u;
|
|
/* 0284A934 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_0284A938: ; // 0x284a938
|
|
/* 0284A938 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0284A93C */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A93C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284A940 */ cpu->lr = cpu->r[0];
|
|
/* 0284A944 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A948 */ return;
|
|
}
|
|
|
|
// fn_0284A94C @ 0x284a94c
|
|
void Gambit_fn_0284A94C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_0284A94C: ; // 0x284a94c
|
|
/* 0284A94C */ cpu->r[0] = cpu->lr;
|
|
/* 0284A950 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A950 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A950 */ cpu->r[1] = _t0;
|
|
/* 0284A954 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A954 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A958 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A95C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A95C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A960 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A968 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A968 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A968 */ if (_t5) goto L_0284A9F0; else goto L_0284A96C;
|
|
L_0284A96C: ; // 0x284a96c
|
|
/* 0284A96C */ _t6 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0284A96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A970 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0284A974 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A974 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A974 */ if (_t8) goto L_0284A994; else goto L_0284A978;
|
|
L_0284A978: ; // 0x284a978
|
|
/* 0284A978 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0284A97C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A97C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284A97C */ if (_t10) goto L_0284A9AC; else goto L_0284A980;
|
|
L_0284A980: ; // 0x284a980
|
|
/* 0284A980 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A984 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A984 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A988 */ cpu->lr = cpu->r[0];
|
|
/* 0284A98C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A990 */ return;
|
|
L_0284A994: ; // 0x284a994
|
|
/* 0284A994 */ _t13 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A994 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284A998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284A99C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A99C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284A99C */ if (_t15) goto L_0284A9F0; else goto L_0284A9A0;
|
|
L_0284A9A0: ; // 0x284a9a0
|
|
/* 0284A9A0 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284A9A4 */ _t16 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0284A9A4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0284A9A8 */ goto L_0284A9F0;
|
|
L_0284A9AC: ; // 0x284a9ac
|
|
/* 0284A9AC */ _t17 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A9AC */ cpu->r[12] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0284A9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A9B4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A9B4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284A9B4 */ if (_t19) goto L_0284A9C4; else goto L_0284A9B8;
|
|
L_0284A9B8: ; // 0x284a9b8
|
|
/* 0284A9B8 */ _t20 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A9B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284A9BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A9C0 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A9C0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284A9C0 */ if (_t22) goto L_0284A9C4; else goto L_0284A9D0;
|
|
L_0284A9C4: ; // 0x284a9c4
|
|
/* 0284A9C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284A9C8 */ _t23 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0284A9C8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 0284A9CC */ goto L_0284A9F0;
|
|
L_0284A9D0: ; // 0x284a9d0
|
|
/* 0284A9D0 */ _t24 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A9D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284A9D4 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284A9D8 */ _t25 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0284A9D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284A9DC */ _t26 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A9DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284A9E0 */ _t27 = cpu->r[31] + 0x000000A0u;
|
|
/* 0284A9E0 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[12]);
|
|
/* 0284A9E4 */ Gambit_fn_0284B7B4(cpu);
|
|
/* 0284A9E8 */ cpu->r[0] = 0x00000003u;
|
|
/* 0284A9EC */ _t28 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0284A9EC */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
L_0284A9F0: ; // 0x284a9f0
|
|
/* 0284A9F0 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A9F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284A9F4 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A9F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284A9F8 */ cpu->lr = cpu->r[0];
|
|
/* 0284A9FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284AA00 */ return;
|
|
}
|
|
|
|
// fn_0284A950 @ 0x284a950
|
|
void Gambit_fn_0284A950(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_0284A950: ; // 0x284a950
|
|
/* 0284A950 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284A950 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284A950 */ cpu->r[1] = _t0;
|
|
/* 0284A954 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A954 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284A958 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284A95C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A95C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284A960 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284A964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A968 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A968 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284A968 */ if (_t5) goto L_0284A9F0; else goto L_0284A96C;
|
|
L_0284A96C: ; // 0x284a96c
|
|
/* 0284A96C */ _t6 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0284A96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284A970 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0284A974 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A974 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284A974 */ if (_t8) goto L_0284A994; else goto L_0284A978;
|
|
L_0284A978: ; // 0x284a978
|
|
/* 0284A978 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0284A97C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A97C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284A97C */ if (_t10) goto L_0284A9AC; else goto L_0284A980;
|
|
L_0284A980: ; // 0x284a980
|
|
/* 0284A980 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284A984 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A984 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284A988 */ cpu->lr = cpu->r[0];
|
|
/* 0284A98C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284A990 */ return;
|
|
L_0284A994: ; // 0x284a994
|
|
/* 0284A994 */ _t13 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A994 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284A998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284A99C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A99C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284A99C */ if (_t15) goto L_0284A9F0; else goto L_0284A9A0;
|
|
L_0284A9A0: ; // 0x284a9a0
|
|
/* 0284A9A0 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284A9A4 */ _t16 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0284A9A4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0284A9A8 */ goto L_0284A9F0;
|
|
L_0284A9AC: ; // 0x284a9ac
|
|
/* 0284A9AC */ _t17 = cpu->r[31] + 0x00000081u;
|
|
/* 0284A9AC */ cpu->r[12] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0284A9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284A9B4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284A9B4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284A9B4 */ if (_t19) goto L_0284A9C4; else goto L_0284A9B8;
|
|
L_0284A9B8: ; // 0x284a9b8
|
|
/* 0284A9B8 */ _t20 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A9B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284A9BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284A9C0 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284A9C0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284A9C0 */ if (_t22) goto L_0284A9C4; else goto L_0284A9D0;
|
|
L_0284A9C4: ; // 0x284a9c4
|
|
/* 0284A9C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284A9C8 */ _t23 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0284A9C8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 0284A9CC */ goto L_0284A9F0;
|
|
L_0284A9D0: ; // 0x284a9d0
|
|
/* 0284A9D0 */ _t24 = cpu->r[31] + 0x00000078u;
|
|
/* 0284A9D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284A9D4 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284A9D8 */ _t25 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0284A9D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284A9DC */ _t26 = cpu->r[31] + 0x00000068u;
|
|
/* 0284A9DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284A9E0 */ _t27 = cpu->r[31] + 0x000000A0u;
|
|
/* 0284A9E0 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[12]);
|
|
/* 0284A9E4 */ Gambit_fn_0284B7B4(cpu);
|
|
/* 0284A9E8 */ cpu->r[0] = 0x00000003u;
|
|
/* 0284A9EC */ _t28 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0284A9EC */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
L_0284A9F0: ; // 0x284a9f0
|
|
/* 0284A9F0 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0284A9F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284A9F4 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284A9F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284A9F8 */ cpu->lr = cpu->r[0];
|
|
/* 0284A9FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284AA00 */ return;
|
|
}
|
|
|
|
// fn_0284AA04 @ 0x284aa04
|
|
void Gambit_fn_0284AA04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_0284AA04: ; // 0x284aa04
|
|
/* 0284AA04 */ cpu->r[0] = cpu->lr;
|
|
/* 0284AA08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284AA08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284AA08 */ cpu->r[1] = _t0;
|
|
/* 0284AA0C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AA0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284AA10 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284AA14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AA14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284AA18 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284AA18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284AA1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284AA20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AA20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284AA20 */ if (_t5) goto L_0284AAB4; else goto L_0284AA24;
|
|
L_0284AA24: ; // 0x284aa24
|
|
/* 0284AA24 */ _t6 = cpu->r[31] + 0x00000060u;
|
|
/* 0284AA24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284AA28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
|
|
/* 0284AA2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AA2C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284AA2C */ if (_t8) goto L_0284AA4C; else goto L_0284AA30;
|
|
L_0284AA30: ; // 0x284aa30
|
|
/* 0284AA30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 0284AA34 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AA34 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284AA34 */ if (_t10) goto L_0284AA70; else goto L_0284AA38;
|
|
L_0284AA38: ; // 0x284aa38
|
|
/* 0284AA38 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AA38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284AA3C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AA3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284AA40 */ cpu->lr = cpu->r[0];
|
|
/* 0284AA44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284AA48 */ return;
|
|
L_0284AA4C: ; // 0x284aa4c
|
|
/* 0284AA4C */ _t13 = cpu->r[31] + 0x00000081u;
|
|
/* 0284AA4C */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284AA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284AA54 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AA54 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284AA54 */ if (_t15) goto L_0284AAB4; else goto L_0284AA58;
|
|
L_0284AA58: ; // 0x284aa58
|
|
/* 0284AA58 */ _t16 = cpu->r[31] + 0x000000A0u;
|
|
/* 0284AA58 */ cpu->r[11] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0284AA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284AA60 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AA60 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0284AA60 */ if (_t18) goto L_0284AAB4; else goto L_0284AA64;
|
|
L_0284AA64: ; // 0x284aa64
|
|
/* 0284AA64 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284AA68 */ _t19 = cpu->r[31] + 0x00000060u;
|
|
/* 0284AA68 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0284AA6C */ goto L_0284AAB4;
|
|
L_0284AA70: ; // 0x284aa70
|
|
/* 0284AA70 */ _t20 = cpu->r[31] + 0x00000081u;
|
|
/* 0284AA70 */ cpu->r[12] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0284AA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284AA78 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AA78 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284AA78 */ if (_t22) goto L_0284AA94; else goto L_0284AA7C;
|
|
L_0284AA7C: ; // 0x284aa7c
|
|
/* 0284AA7C */ _t23 = cpu->r[31] + 0x000000A0u;
|
|
/* 0284AA7C */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0284AA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284AA84 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AA84 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0284AA84 */ if (_t25) goto L_0284AA94; else goto L_0284AA88;
|
|
L_0284AA88: ; // 0x284aa88
|
|
/* 0284AA88 */ _t26 = cpu->r[31] + 0x00000068u;
|
|
/* 0284AA88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284AA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284AA90 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284AA90 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0284AA90 */ if (_t28) goto L_0284AA94; else goto L_0284AAA0;
|
|
L_0284AA94: ; // 0x284aa94
|
|
/* 0284AA94 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284AA98 */ _t29 = cpu->r[31] + 0x00000060u;
|
|
/* 0284AA98 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0284AA9C */ goto L_0284AAB4;
|
|
L_0284AAA0: ; // 0x284aaa0
|
|
/* 0284AAA0 */ _t30 = cpu->r[31] + 0x00000038u;
|
|
/* 0284AAA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284AAA4 */ _t31 = cpu->r[31] + 0x000000ADu;
|
|
/* 0284AAA4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0284AAA8 */ Gambit_fn_0284B8B4(cpu);
|
|
/* 0284AAAC */ cpu->r[0] = 0x00000003u;
|
|
/* 0284AAB0 */ _t32 = cpu->r[31] + 0x00000060u;
|
|
/* 0284AAB0 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_0284AAB4: ; // 0x284aab4
|
|
/* 0284AAB4 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AAB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0284AAB8 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AAB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284AABC */ cpu->lr = cpu->r[0];
|
|
/* 0284AAC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284AAC4 */ return;
|
|
}
|
|
|
|
// fn_0284AA08 @ 0x284aa08
|
|
void Gambit_fn_0284AA08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_0284AA08: ; // 0x284aa08
|
|
/* 0284AA08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284AA08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284AA08 */ cpu->r[1] = _t0;
|
|
/* 0284AA0C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AA0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284AA10 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284AA14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AA14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284AA18 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 0284AA18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284AA1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284AA20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AA20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284AA20 */ if (_t5) goto L_0284AAB4; else goto L_0284AA24;
|
|
L_0284AA24: ; // 0x284aa24
|
|
/* 0284AA24 */ _t6 = cpu->r[31] + 0x00000060u;
|
|
/* 0284AA24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284AA28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
|
|
/* 0284AA2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AA2C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284AA2C */ if (_t8) goto L_0284AA4C; else goto L_0284AA30;
|
|
L_0284AA30: ; // 0x284aa30
|
|
/* 0284AA30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 0284AA34 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AA34 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284AA34 */ if (_t10) goto L_0284AA70; else goto L_0284AA38;
|
|
L_0284AA38: ; // 0x284aa38
|
|
/* 0284AA38 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AA38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284AA3C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AA3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284AA40 */ cpu->lr = cpu->r[0];
|
|
/* 0284AA44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284AA48 */ return;
|
|
L_0284AA4C: ; // 0x284aa4c
|
|
/* 0284AA4C */ _t13 = cpu->r[31] + 0x00000081u;
|
|
/* 0284AA4C */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284AA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284AA54 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AA54 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284AA54 */ if (_t15) goto L_0284AAB4; else goto L_0284AA58;
|
|
L_0284AA58: ; // 0x284aa58
|
|
/* 0284AA58 */ _t16 = cpu->r[31] + 0x000000A0u;
|
|
/* 0284AA58 */ cpu->r[11] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0284AA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284AA60 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AA60 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0284AA60 */ if (_t18) goto L_0284AAB4; else goto L_0284AA64;
|
|
L_0284AA64: ; // 0x284aa64
|
|
/* 0284AA64 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284AA68 */ _t19 = cpu->r[31] + 0x00000060u;
|
|
/* 0284AA68 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0284AA6C */ goto L_0284AAB4;
|
|
L_0284AA70: ; // 0x284aa70
|
|
/* 0284AA70 */ _t20 = cpu->r[31] + 0x00000081u;
|
|
/* 0284AA70 */ cpu->r[12] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0284AA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284AA78 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AA78 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284AA78 */ if (_t22) goto L_0284AA94; else goto L_0284AA7C;
|
|
L_0284AA7C: ; // 0x284aa7c
|
|
/* 0284AA7C */ _t23 = cpu->r[31] + 0x000000A0u;
|
|
/* 0284AA7C */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0284AA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284AA84 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AA84 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0284AA84 */ if (_t25) goto L_0284AA94; else goto L_0284AA88;
|
|
L_0284AA88: ; // 0x284aa88
|
|
/* 0284AA88 */ _t26 = cpu->r[31] + 0x00000068u;
|
|
/* 0284AA88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284AA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284AA90 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284AA90 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0284AA90 */ if (_t28) goto L_0284AA94; else goto L_0284AAA0;
|
|
L_0284AA94: ; // 0x284aa94
|
|
/* 0284AA94 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284AA98 */ _t29 = cpu->r[31] + 0x00000060u;
|
|
/* 0284AA98 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 0284AA9C */ goto L_0284AAB4;
|
|
L_0284AAA0: ; // 0x284aaa0
|
|
/* 0284AAA0 */ _t30 = cpu->r[31] + 0x00000038u;
|
|
/* 0284AAA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284AAA4 */ _t31 = cpu->r[31] + 0x000000ADu;
|
|
/* 0284AAA4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0284AAA8 */ Gambit_fn_0284B8B4(cpu);
|
|
/* 0284AAAC */ cpu->r[0] = 0x00000003u;
|
|
/* 0284AAB0 */ _t32 = cpu->r[31] + 0x00000060u;
|
|
/* 0284AAB0 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_0284AAB4: ; // 0x284aab4
|
|
/* 0284AAB4 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AAB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0284AAB8 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AAB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284AABC */ cpu->lr = cpu->r[0];
|
|
/* 0284AAC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284AAC4 */ return;
|
|
}
|
|
|
|
// fn_0284AAC8 @ 0x284aac8
|
|
void Gambit_fn_0284AAC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0284AAC8: ; // 0x284aac8
|
|
/* 0284AAC8 */ cpu->r[0] = cpu->lr;
|
|
/* 0284AACC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284AACC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284AACC */ cpu->r[1] = _t0;
|
|
/* 0284AAD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AAD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284AAD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284AAD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AAD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284AADC */ Gambit_fn_0284A224(cpu);
|
|
/* 0284AAE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AAE4 */ Gambit_fn_0284A2E8(cpu);
|
|
/* 0284AAE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AAEC */ Gambit_fn_0284A35C(cpu);
|
|
/* 0284AAF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AAF4 */ Gambit_fn_0284A41C(cpu);
|
|
/* 0284AAF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AAFC */ Gambit_fn_0284A544(cpu);
|
|
/* 0284AB00 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AB04 */ Gambit_fn_0284A6D8(cpu);
|
|
/* 0284AB08 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AB0C */ Gambit_fn_0284A7D0(cpu);
|
|
/* 0284AB10 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AB14 */ Gambit_fn_0284A888(cpu);
|
|
/* 0284AB18 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AB1C */ Gambit_fn_0284A94C(cpu);
|
|
/* 0284AB20 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AB24 */ Gambit_fn_0284AA04(cpu);
|
|
/* 0284AB28 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AB28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284AB2C */ cpu->lr = cpu->r[0];
|
|
/* 0284AB30 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AB30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284AB34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284AB38 */ return;
|
|
}
|
|
|
|
// fn_0284AACC @ 0x284aacc
|
|
void Gambit_fn_0284AACC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0284AACC: ; // 0x284aacc
|
|
/* 0284AACC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284AACC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284AACC */ cpu->r[1] = _t0;
|
|
/* 0284AAD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AAD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284AAD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284AAD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AAD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284AADC */ Gambit_fn_0284A224(cpu);
|
|
/* 0284AAE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AAE4 */ Gambit_fn_0284A2E8(cpu);
|
|
/* 0284AAE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AAEC */ Gambit_fn_0284A35C(cpu);
|
|
/* 0284AAF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AAF4 */ Gambit_fn_0284A41C(cpu);
|
|
/* 0284AAF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AAFC */ Gambit_fn_0284A544(cpu);
|
|
/* 0284AB00 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AB04 */ Gambit_fn_0284A6D8(cpu);
|
|
/* 0284AB08 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AB0C */ Gambit_fn_0284A7D0(cpu);
|
|
/* 0284AB10 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AB14 */ Gambit_fn_0284A888(cpu);
|
|
/* 0284AB18 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AB1C */ Gambit_fn_0284A94C(cpu);
|
|
/* 0284AB20 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AB24 */ Gambit_fn_0284AA04(cpu);
|
|
/* 0284AB28 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AB28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284AB2C */ cpu->lr = cpu->r[0];
|
|
/* 0284AB30 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AB30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284AB34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284AB38 */ return;
|
|
}
|
|
|
|
// fn_0284AB40 @ 0x284ab40
|
|
void Gambit_fn_0284AB40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0284AB40: ; // 0x284ab40
|
|
/* 0284AB40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284AB40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284AB40 */ cpu->r[1] = _t0;
|
|
/* 0284AB44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AB44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284AB48 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284AB4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000000u);
|
|
/* 0284AB50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AB50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284AB54 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AB54 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0284AB54 */ if (_t4) goto L_0284AB6C; else goto L_0284AB58;
|
|
L_0284AB58: ; // 0x284ab58
|
|
/* 0284AB58 */ cpu->r[0] = 0xFFFFFFFBu;
|
|
/* 0284AB5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0284AB60 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AB60 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284AB60 */ if (_t6) goto L_0284AB88; else goto L_0284AB64;
|
|
L_0284AB64: ; // 0x284ab64
|
|
/* 0284AB64 */ cpu->r[12] = 0x00000001u;
|
|
/* 0284AB68 */ goto L_0284AB8C;
|
|
L_0284AB6C: ; // 0x284ab6c
|
|
/* 0284AB6C */ _t7 = cpu->r[31] + 0x00000064u;
|
|
/* 0284AB6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284AB70 */ _t8 = cpu->r[31] + 0x00000078u;
|
|
/* 0284AB70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284AB74 */ _t9 = cpu->r[31] + 0x00000068u;
|
|
/* 0284AB74 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0284AB78 */ Gambit_fn_0284B3B0(cpu);
|
|
/* 0284AB7C */ cpu->r[12] = 0x00000003u;
|
|
/* 0284AB80 */ _t10 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0284AB80 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0284AB84 */ goto L_0284AB90;
|
|
L_0284AB88: ; // 0x284ab88
|
|
/* 0284AB88 */ cpu->r[12] = 0x00000003u;
|
|
L_0284AB8C: ; // 0x284ab8c
|
|
/* 0284AB8C */ _t11 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0284AB8C */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_0284AB90: ; // 0x284ab90
|
|
/* 0284AB90 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AB90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284AB94 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AB94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284AB98 */ cpu->lr = cpu->r[0];
|
|
/* 0284AB9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284ABA0 */ return;
|
|
}
|
|
|
|
// fn_0284ADA0 @ 0x284ada0
|
|
void Gambit_fn_0284ADA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_0284ADA0: ; // 0x284ada0
|
|
/* 0284ADA0 */ cpu->r[0] = cpu->lr;
|
|
/* 0284ADA4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284ADA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284ADA4 */ cpu->r[1] = _t0;
|
|
/* 0284ADA8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284ADA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284ADAC */ cpu->r[31] = cpu->r[3];
|
|
/* 0284ADAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284ADB0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284ADB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284ADB4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284ADB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284ADB8 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0284ADB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0284ADBC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284ADBC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284ADC0 */ cpu->r[29] = cpu->r[4];
|
|
/* 0284ADC4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284ADC4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284ADC4 */ if (_t7) goto L_0284ADC8; else goto L_0284ADD8;
|
|
L_0284ADC8: ; // 0x284adc8
|
|
/* 0284ADC8 */ cpu->r[3] = 0x00000024u;
|
|
/* 0284ADCC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284ADD0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284ADD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284ADD4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284ADD4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284ADD4 */ if (_t9) goto L_0284AE88; else goto L_0284ADD8;
|
|
L_0284ADD8: ; // 0x284add8
|
|
/* 0284ADD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284ADD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284ADDC */ cpu->r[30] = 0x00000000u;
|
|
/* 0284ADE0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284ADE0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284ADE0 */ if (_t11) goto L_0284ADE4; else goto L_0284ADF4;
|
|
L_0284ADE4: ; // 0x284ade4
|
|
/* 0284ADE4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284ADE8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284ADEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284ADF0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284ADF0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284ADF0 */ if (_t13) goto L_0284AE08; else goto L_0284ADF4;
|
|
L_0284ADF4: ; // 0x284adf4
|
|
/* 0284ADF4 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284ADF8 */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 0284ADF8 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 0284ADFC */ cpu->r[11] = cpu->r[11] + 0xFFFFF8B0u;
|
|
/* 0284AE00 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 0284AE00 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 0284AE04 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0284AE04 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
L_0284AE08: ; // 0x284ae08
|
|
/* 0284AE08 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284AE0C */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 0284AE0C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0284AE10 */ cpu->r[12] = cpu->r[12] + 0xFFFFF978u;
|
|
/* 0284AE14 */ _t18 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284AE14 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 0284AE18 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 0284AE18 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 0284AE1C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0284AE20 */ cpu->r[10] = 0x00000020u;
|
|
/* 0284AE24 */ _t20 = cpu->r[31] + 0x00000014u;
|
|
/* 0284AE24 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 0284AE28 */ _t21 = cpu->r[12] + 0xFFFF9954u;
|
|
/* 0284AE28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284AE2C */ cpu->r[9] = 0x00001000u;
|
|
/* 0284AE30 */ _t22 = cpu->r[31] + 0x00000020u;
|
|
/* 0284AE30 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 0284AE34 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 0284AE38 */ _t23 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284AE38 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 0284AE3C */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284AE40 */ _t24 = cpu->r[31] + 0x00000018u;
|
|
/* 0284AE40 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0284AE44 */ Gambit_fn_02801A8C(cpu);
|
|
/* 0284AE48 */ _t25 = cpu->r[31] + 0x00000010u;
|
|
/* 0284AE48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284AE4C */ cpu->r[28] = 0x00000000u;
|
|
/* 0284AE50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 0284AE54 */ _t26 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284AE54 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 0284AE58 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284AE58 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0284AE58 */ if (_t28) goto L_0284AE5C; else goto L_0284AE88;
|
|
L_0284AE5C: ; // 0x284ae5c
|
|
/* 0284AE5C */ cpu->r[29] = 0x00000000u;
|
|
L_0284AE60: ; // 0x284ae60
|
|
/* 0284AE60 */ _t29 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284AE60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284AE64 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284AE68 */ cpu->r[4] = cpu->r[28];
|
|
/* 0284AE6C */ Gambit_fn_02849698(cpu);
|
|
/* 0284AE70 */ _t30 = cpu->r[30] + cpu->r[29];
|
|
/* 0284AE70 */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
/* 0284AE74 */ _t31 = cpu->r[31] + 0x00000010u;
|
|
/* 0284AE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284AE78 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0284AE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 0284AE80 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 0284AE84 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284AE84 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0284AE84 */ if (_t33) goto L_0284AE60; else goto L_0284AE88;
|
|
L_0284AE88: ; // 0x284ae88
|
|
/* 0284AE88 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 0284AE88 */ cpu->r[28] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284AE8C */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AE8C */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0284AE90 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284AE90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0284AE94 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AE98 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0284AE98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0284AE9C */ cpu->lr = cpu->r[0];
|
|
/* 0284AEA0 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AEA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0284AEA4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284AEA8 */ return;
|
|
}
|
|
|
|
// fn_0284ADA4 @ 0x284ada4
|
|
void Gambit_fn_0284ADA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_0284ADA4: ; // 0x284ada4
|
|
/* 0284ADA4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284ADA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284ADA4 */ cpu->r[1] = _t0;
|
|
/* 0284ADA8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284ADA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284ADAC */ cpu->r[31] = cpu->r[3];
|
|
/* 0284ADAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284ADB0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284ADB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284ADB4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284ADB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284ADB8 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0284ADB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0284ADBC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284ADBC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284ADC0 */ cpu->r[29] = cpu->r[4];
|
|
/* 0284ADC4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284ADC4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284ADC4 */ if (_t7) goto L_0284ADC8; else goto L_0284ADD8;
|
|
L_0284ADC8: ; // 0x284adc8
|
|
/* 0284ADC8 */ cpu->r[3] = 0x00000024u;
|
|
/* 0284ADCC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284ADD0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284ADD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284ADD4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284ADD4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284ADD4 */ if (_t9) goto L_0284AE88; else goto L_0284ADD8;
|
|
L_0284ADD8: ; // 0x284add8
|
|
/* 0284ADD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284ADD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284ADDC */ cpu->r[30] = 0x00000000u;
|
|
/* 0284ADE0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284ADE0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284ADE0 */ if (_t11) goto L_0284ADE4; else goto L_0284ADF4;
|
|
L_0284ADE4: ; // 0x284ade4
|
|
/* 0284ADE4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284ADE8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284ADEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284ADF0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284ADF0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284ADF0 */ if (_t13) goto L_0284AE08; else goto L_0284ADF4;
|
|
L_0284ADF4: ; // 0x284adf4
|
|
/* 0284ADF4 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284ADF8 */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 0284ADF8 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 0284ADFC */ cpu->r[11] = cpu->r[11] + 0xFFFFF8B0u;
|
|
/* 0284AE00 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 0284AE00 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 0284AE04 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0284AE04 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
L_0284AE08: ; // 0x284ae08
|
|
/* 0284AE08 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284AE0C */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 0284AE0C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0284AE10 */ cpu->r[12] = cpu->r[12] + 0xFFFFF978u;
|
|
/* 0284AE14 */ _t18 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284AE14 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 0284AE18 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 0284AE18 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 0284AE1C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0284AE20 */ cpu->r[10] = 0x00000020u;
|
|
/* 0284AE24 */ _t20 = cpu->r[31] + 0x00000014u;
|
|
/* 0284AE24 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 0284AE28 */ _t21 = cpu->r[12] + 0xFFFF9954u;
|
|
/* 0284AE28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284AE2C */ cpu->r[9] = 0x00001000u;
|
|
/* 0284AE30 */ _t22 = cpu->r[31] + 0x00000020u;
|
|
/* 0284AE30 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 0284AE34 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 0284AE38 */ _t23 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284AE38 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 0284AE3C */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284AE40 */ _t24 = cpu->r[31] + 0x00000018u;
|
|
/* 0284AE40 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0284AE44 */ Gambit_fn_02801A8C(cpu);
|
|
/* 0284AE48 */ _t25 = cpu->r[31] + 0x00000010u;
|
|
/* 0284AE48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284AE4C */ cpu->r[28] = 0x00000000u;
|
|
/* 0284AE50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 0284AE54 */ _t26 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284AE54 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 0284AE58 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284AE58 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0284AE58 */ if (_t28) goto L_0284AE5C; else goto L_0284AE88;
|
|
L_0284AE5C: ; // 0x284ae5c
|
|
/* 0284AE5C */ cpu->r[29] = 0x00000000u;
|
|
L_0284AE60: ; // 0x284ae60
|
|
/* 0284AE60 */ _t29 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284AE60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284AE64 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284AE68 */ cpu->r[4] = cpu->r[28];
|
|
/* 0284AE6C */ Gambit_fn_02849698(cpu);
|
|
/* 0284AE70 */ _t30 = cpu->r[30] + cpu->r[29];
|
|
/* 0284AE70 */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
/* 0284AE74 */ _t31 = cpu->r[31] + 0x00000010u;
|
|
/* 0284AE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284AE78 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0284AE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 0284AE80 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 0284AE84 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284AE84 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0284AE84 */ if (_t33) goto L_0284AE60; else goto L_0284AE88;
|
|
L_0284AE88: ; // 0x284ae88
|
|
/* 0284AE88 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 0284AE88 */ cpu->r[28] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284AE8C */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AE8C */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0284AE90 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284AE90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0284AE94 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AE98 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0284AE98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0284AE9C */ cpu->lr = cpu->r[0];
|
|
/* 0284AEA0 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AEA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0284AEA4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284AEA8 */ return;
|
|
}
|
|
|
|
// fn_0284AEAC @ 0x284aeac
|
|
void Gambit_fn_0284AEAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0284AEAC: ; // 0x284aeac
|
|
/* 0284AEAC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284AEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284AEB0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284AEB4 */ _t1 = cpu->r[12] + cpu->r[0];
|
|
/* 0284AEB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0284AEB8 */ return;
|
|
}
|
|
|
|
// fn_0284AEBC @ 0x284aebc
|
|
void Gambit_fn_0284AEBC(CPUState* cpu) {
|
|
uint32_t _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_0284AEBC: ; // 0x284aebc
|
|
/* 0284AEBC */ cpu->r[0] = cpu->lr;
|
|
/* 0284AEC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284AEC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284AEC0 */ cpu->r[1] = _t0;
|
|
/* 0284AEC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AEC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284AEC8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284AEC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284AECC */ cpu->r[31] = cpu->r[3];
|
|
/* 0284AED0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AED0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284AED4 */ _t4 = cpu->r[31] + 0x00000010u;
|
|
/* 0284AED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284AED8 */ cpu->r[30] = 0x00000000u;
|
|
/* 0284AEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0284AEE0 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284AEE0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284AEE0 */ if (_t6) goto L_0284AEE4; else goto L_0284AF04;
|
|
L_0284AEE4: ; // 0x284aee4
|
|
/* 0284AEE4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284AEE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AEEC */ Gambit_fn_0284AEAC(cpu);
|
|
/* 0284AEF0 */ Gambit_fn_0284975C(cpu);
|
|
/* 0284AEF4 */ _t7 = cpu->r[31] + 0x00000010u;
|
|
/* 0284AEF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284AEF8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0284AEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 0284AF00 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284AF00 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284AF00 */ if (_t9) goto L_0284AEE4; else goto L_0284AF04;
|
|
L_0284AF04: ; // 0x284af04
|
|
/* 0284AF04 */ _t10 = cpu->r[31] + 0x00000014u;
|
|
/* 0284AF04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284AF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284AF0C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AF0C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284AF0C */ if (_t12) goto L_0284AF4C; else goto L_0284AF10;
|
|
L_0284AF10: ; // 0x284af10
|
|
/* 0284AF10 */ _t13 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284AF10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284AF14 */ _t14 = cpu->r[12] + 0x00000054u;
|
|
/* 0284AF14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284AF18 */ cpu->ctr = cpu->r[0];
|
|
/* 0284AF1C */ cpu->r[4] = 0x00000000u;
|
|
/* 0284AF20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284AF24 */ _t15 = cpu->r[31] + 0x00000014u;
|
|
/* 0284AF24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284AF28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284AF2C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AF2C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284AF2C */ if (_t17) goto L_0284AF44; else goto L_0284AF30;
|
|
L_0284AF30: ; // 0x284af30
|
|
/* 0284AF30 */ _t18 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284AF30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284AF34 */ _t19 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0284AF34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284AF38 */ cpu->ctr = cpu->r[11];
|
|
/* 0284AF3C */ cpu->r[4] = 0x00000003u;
|
|
/* 0284AF40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284AF44: ; // 0x284af44
|
|
/* 0284AF44 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284AF48 */ _t20 = cpu->r[31] + 0x00000014u;
|
|
/* 0284AF48 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
L_0284AF4C: ; // 0x284af4c
|
|
/* 0284AF4C */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AF4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284AF50 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0284AF50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284AF54 */ cpu->lr = cpu->r[0];
|
|
/* 0284AF58 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AF58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284AF5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284AF60 */ return;
|
|
}
|
|
|
|
// fn_0284AEC0 @ 0x284aec0
|
|
void Gambit_fn_0284AEC0(CPUState* cpu) {
|
|
uint32_t _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_0284AEC0: ; // 0x284aec0
|
|
/* 0284AEC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284AEC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284AEC0 */ cpu->r[1] = _t0;
|
|
/* 0284AEC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AEC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284AEC8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284AEC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284AECC */ cpu->r[31] = cpu->r[3];
|
|
/* 0284AED0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AED0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284AED4 */ _t4 = cpu->r[31] + 0x00000010u;
|
|
/* 0284AED4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284AED8 */ cpu->r[30] = 0x00000000u;
|
|
/* 0284AEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0284AEE0 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284AEE0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284AEE0 */ if (_t6) goto L_0284AEE4; else goto L_0284AF04;
|
|
L_0284AEE4: ; // 0x284aee4
|
|
/* 0284AEE4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284AEE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284AEEC */ Gambit_fn_0284AEAC(cpu);
|
|
/* 0284AEF0 */ Gambit_fn_0284975C(cpu);
|
|
/* 0284AEF4 */ _t7 = cpu->r[31] + 0x00000010u;
|
|
/* 0284AEF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284AEF8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0284AEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 0284AF00 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284AF00 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284AF00 */ if (_t9) goto L_0284AEE4; else goto L_0284AF04;
|
|
L_0284AF04: ; // 0x284af04
|
|
/* 0284AF04 */ _t10 = cpu->r[31] + 0x00000014u;
|
|
/* 0284AF04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284AF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284AF0C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AF0C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284AF0C */ if (_t12) goto L_0284AF4C; else goto L_0284AF10;
|
|
L_0284AF10: ; // 0x284af10
|
|
/* 0284AF10 */ _t13 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284AF10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284AF14 */ _t14 = cpu->r[12] + 0x00000054u;
|
|
/* 0284AF14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284AF18 */ cpu->ctr = cpu->r[0];
|
|
/* 0284AF1C */ cpu->r[4] = 0x00000000u;
|
|
/* 0284AF20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284AF24 */ _t15 = cpu->r[31] + 0x00000014u;
|
|
/* 0284AF24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284AF28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284AF2C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AF2C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284AF2C */ if (_t17) goto L_0284AF44; else goto L_0284AF30;
|
|
L_0284AF30: ; // 0x284af30
|
|
/* 0284AF30 */ _t18 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284AF30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284AF34 */ _t19 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0284AF34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284AF38 */ cpu->ctr = cpu->r[11];
|
|
/* 0284AF3C */ cpu->r[4] = 0x00000003u;
|
|
/* 0284AF40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284AF44: ; // 0x284af44
|
|
/* 0284AF44 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284AF48 */ _t20 = cpu->r[31] + 0x00000014u;
|
|
/* 0284AF48 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
L_0284AF4C: ; // 0x284af4c
|
|
/* 0284AF4C */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0284AF4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284AF50 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0284AF50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284AF54 */ cpu->lr = cpu->r[0];
|
|
/* 0284AF58 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284AF58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284AF5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284AF60 */ return;
|
|
}
|
|
|
|
// fn_0284AF64 @ 0x284af64
|
|
void Gambit_fn_0284AF64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_0284AF64: ; // 0x284af64
|
|
/* 0284AF64 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0284AF64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284AF64 */ cpu->r[1] = _t0;
|
|
/* 0284AF68 */ cpu->r[0] = cpu->lr;
|
|
/* 0284AF6C */ /* nop */
|
|
/* 0284AF70 */ cpu->r[27] = cpu->r[3];
|
|
/* 0284AF70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0284AF74 */ cpu->r[28] = cpu->r[4];
|
|
/* 0284AF78 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0284AF78 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284AF7C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AF7C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0284AF7C */ if (_t3) goto L_0284B030; else goto L_0284AF80;
|
|
L_0284AF80: ; // 0x284af80
|
|
/* 0284AF80 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284AF84 */ cpu->r[12] = cpu->r[12] + 0xFFFFF978u;
|
|
/* 0284AF88 */ cpu->r[3] = cpu->r[27];
|
|
/* 0284AF8C */ _t4 = cpu->r[27] + 0x00000000u;
|
|
/* 0284AF8C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0284AF90 */ Gambit_fn_0284AEBC(cpu);
|
|
/* 0284AF94 */ cpu->r[31] = 0x00000000u;
|
|
/* 0284AF98 */ _t5 = cpu->r[27] + 0x00000010u;
|
|
/* 0284AF98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284AF9C */ cpu->r[29] = cpu->r[31];
|
|
/* 0284AFA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0284AFA4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284AFA4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284AFA4 */ if (_t7) goto L_0284AFA8; else goto L_0284AFD0;
|
|
L_0284AFA8: ; // 0x284afa8
|
|
/* 0284AFA8 */ cpu->r[30] = 0x00000000u;
|
|
L_0284AFAC: ; // 0x284afac
|
|
/* 0284AFAC */ _t8 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0284AFAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284AFB0 */ _t9 = cpu->r[8] + cpu->r[30];
|
|
/* 0284AFB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284AFB4 */ cpu->r[4] = 0x00000003u;
|
|
/* 0284AFB8 */ Gambit_fn_028498FC(cpu);
|
|
/* 0284AFBC */ _t10 = cpu->r[27] + 0x00000010u;
|
|
/* 0284AFBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284AFC0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0284AFC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0284AFC8 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 0284AFCC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284AFCC */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284AFCC */ if (_t12) goto L_0284AFAC; else goto L_0284AFD0;
|
|
L_0284AFD0: ; // 0x284afd0
|
|
/* 0284AFD0 */ _t13 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0284AFD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284AFD4 */ Gambit_fn_02801BB4(cpu);
|
|
/* 0284AFD8 */ _t14 = cpu->r[27] + 0x00000014u;
|
|
/* 0284AFD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284AFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284AFE0 */ _t15 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0284AFE0 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 0284AFE4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284AFE4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284AFE4 */ if (_t17) goto L_0284B020; else goto L_0284AFE8;
|
|
L_0284AFE8: ; // 0x284afe8
|
|
/* 0284AFE8 */ _t18 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284AFE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284AFEC */ _t19 = cpu->r[10] + 0x00000054u;
|
|
/* 0284AFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284AFF0 */ cpu->ctr = cpu->r[0];
|
|
/* 0284AFF4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284AFF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284AFFC */ _t20 = cpu->r[27] + 0x00000014u;
|
|
/* 0284AFFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284B000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284B004 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B004 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284B004 */ if (_t22) goto L_0284B01C; else goto L_0284B008;
|
|
L_0284B008: ; // 0x284b008
|
|
/* 0284B008 */ _t23 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284B008 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284B00C */ _t24 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0284B00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284B010 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B014 */ cpu->r[4] = 0x00000003u;
|
|
/* 0284B018 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284B01C: ; // 0x284b01c
|
|
/* 0284B01C */ _t25 = cpu->r[27] + 0x00000014u;
|
|
/* 0284B01C */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
L_0284B020: ; // 0x284b020
|
|
/* 0284B020 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284B020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284B024 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B024 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0284B024 */ if (_t27) goto L_0284B030; else goto L_0284B028;
|
|
L_0284B028: ; // 0x284b028
|
|
/* 0284B028 */ cpu->r[3] = cpu->r[27];
|
|
/* 0284B02C */ Gambit_fn_02801BB0(cpu);
|
|
L_0284B030: ; // 0x284b030
|
|
/* 0284B030 */ /* nop */
|
|
/* 0284B034 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 0284B034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284B038 */ cpu->lr = cpu->r[0];
|
|
/* 0284B03C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0284B040 */ return;
|
|
}
|
|
|
|
// fn_0284B044 @ 0x284b044
|
|
void Gambit_fn_0284B044(CPUState* cpu) {
|
|
uint32_t _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_0284B044: ; // 0x284b044
|
|
/* 0284B044 */ cpu->r[0] = cpu->lr;
|
|
/* 0284B048 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284B048 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B048 */ cpu->r[1] = _t0;
|
|
/* 0284B04C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284B04C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284B050 */ cpu->r[30] = cpu->r[5];
|
|
/* 0284B054 */ cpu->r[5] = 0x00000004u;
|
|
/* 0284B058 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B058 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284B05C */ cpu->r[4] = cpu->r[30];
|
|
/* 0284B060 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B060 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0284B064 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284B064 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284B068 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284B06C */ cpu->r[3] = 0x00000120u;
|
|
/* 0284B070 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0284B074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284B078 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B078 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284B078 */ if (_t6) goto L_0284B090; else goto L_0284B07C;
|
|
L_0284B07C: ; // 0x284b07c
|
|
/* 0284B07C */ _t7 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0284B07C */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284B080 */ cpu->r[5] = cpu->r[30];
|
|
/* 0284B084 */ _t8 = cpu->r[29] + 0x00000018u;
|
|
/* 0284B084 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284B088 */ _t9 = cpu->r[29] + 0x00000020u;
|
|
/* 0284B088 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284B08C */ Gambit_fn_0284B250(cpu);
|
|
L_0284B090: ; // 0x284b090
|
|
/* 0284B090 */ _t10 = cpu->r[29] + 0x00000010u;
|
|
/* 0284B090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284B094 */ cpu->r[31] = 0x00000000u;
|
|
/* 0284B098 */ cpu->r[5] = cpu->r[3];
|
|
/* 0284B09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0284B0A0 */ _t11 = cpu->r[29] + 0x00000014u;
|
|
/* 0284B0A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[5]);
|
|
/* 0284B0A4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284B0A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284B0A4 */ if (_t13) goto L_0284B0A8; else goto L_0284B0D0;
|
|
L_0284B0A8: ; // 0x284b0a8
|
|
/* 0284B0A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284B0AC */ cpu->r[3] = cpu->r[29];
|
|
/* 0284B0B0 */ Gambit_fn_0284AEAC(cpu);
|
|
/* 0284B0B4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284B0B8 */ Gambit_fn_0284A19C(cpu);
|
|
/* 0284B0BC */ _t14 = cpu->r[29] + 0x00000010u;
|
|
/* 0284B0BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284B0C0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0284B0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0284B0C8 */ _t15 = cpu->r[29] + 0x00000014u;
|
|
/* 0284B0C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284B0CC */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284B0CC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284B0CC */ if (_t17) goto L_0284B0A8; else goto L_0284B0D0;
|
|
L_0284B0D0: ; // 0x284b0d0
|
|
/* 0284B0D0 */ _t18 = cpu->r[5] + 0x0000000Cu;
|
|
/* 0284B0D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284B0D4 */ _t19 = cpu->r[11] + 0x00000034u;
|
|
/* 0284B0D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284B0D8 */ cpu->ctr = cpu->r[12];
|
|
/* 0284B0DC */ cpu->r[3] = cpu->r[5];
|
|
/* 0284B0E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B0E4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B0E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284B0E8 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284B0E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284B0EC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0284B0EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284B0F0 */ cpu->lr = cpu->r[0];
|
|
/* 0284B0F4 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B0F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284B0F8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284B0FC */ return;
|
|
}
|
|
|
|
// fn_0284B048 @ 0x284b048
|
|
void Gambit_fn_0284B048(CPUState* cpu) {
|
|
uint32_t _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_0284B048: ; // 0x284b048
|
|
/* 0284B048 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284B048 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B048 */ cpu->r[1] = _t0;
|
|
/* 0284B04C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284B04C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284B050 */ cpu->r[30] = cpu->r[5];
|
|
/* 0284B054 */ cpu->r[5] = 0x00000004u;
|
|
/* 0284B058 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B058 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284B05C */ cpu->r[4] = cpu->r[30];
|
|
/* 0284B060 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B060 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0284B064 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284B064 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284B068 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284B06C */ cpu->r[3] = 0x00000120u;
|
|
/* 0284B070 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0284B074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284B078 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B078 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284B078 */ if (_t6) goto L_0284B090; else goto L_0284B07C;
|
|
L_0284B07C: ; // 0x284b07c
|
|
/* 0284B07C */ _t7 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0284B07C */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284B080 */ cpu->r[5] = cpu->r[30];
|
|
/* 0284B084 */ _t8 = cpu->r[29] + 0x00000018u;
|
|
/* 0284B084 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284B088 */ _t9 = cpu->r[29] + 0x00000020u;
|
|
/* 0284B088 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284B08C */ Gambit_fn_0284B250(cpu);
|
|
L_0284B090: ; // 0x284b090
|
|
/* 0284B090 */ _t10 = cpu->r[29] + 0x00000010u;
|
|
/* 0284B090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284B094 */ cpu->r[31] = 0x00000000u;
|
|
/* 0284B098 */ cpu->r[5] = cpu->r[3];
|
|
/* 0284B09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0284B0A0 */ _t11 = cpu->r[29] + 0x00000014u;
|
|
/* 0284B0A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[5]);
|
|
/* 0284B0A4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284B0A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284B0A4 */ if (_t13) goto L_0284B0A8; else goto L_0284B0D0;
|
|
L_0284B0A8: ; // 0x284b0a8
|
|
/* 0284B0A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284B0AC */ cpu->r[3] = cpu->r[29];
|
|
/* 0284B0B0 */ Gambit_fn_0284AEAC(cpu);
|
|
/* 0284B0B4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284B0B8 */ Gambit_fn_0284A19C(cpu);
|
|
/* 0284B0BC */ _t14 = cpu->r[29] + 0x00000010u;
|
|
/* 0284B0BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284B0C0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0284B0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0284B0C8 */ _t15 = cpu->r[29] + 0x00000014u;
|
|
/* 0284B0C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284B0CC */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284B0CC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284B0CC */ if (_t17) goto L_0284B0A8; else goto L_0284B0D0;
|
|
L_0284B0D0: ; // 0x284b0d0
|
|
/* 0284B0D0 */ _t18 = cpu->r[5] + 0x0000000Cu;
|
|
/* 0284B0D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284B0D4 */ _t19 = cpu->r[11] + 0x00000034u;
|
|
/* 0284B0D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284B0D8 */ cpu->ctr = cpu->r[12];
|
|
/* 0284B0DC */ cpu->r[3] = cpu->r[5];
|
|
/* 0284B0E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B0E4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B0E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284B0E8 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284B0E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284B0EC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0284B0EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284B0F0 */ cpu->lr = cpu->r[0];
|
|
/* 0284B0F4 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B0F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284B0F8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284B0FC */ return;
|
|
}
|
|
|
|
// fn_0284B100 @ 0x284b100
|
|
void Gambit_fn_0284B100(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0284B100: ; // 0x284b100
|
|
/* 0284B100 */ cpu->r[0] = cpu->lr;
|
|
/* 0284B104 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B104 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B104 */ cpu->r[1] = _t0;
|
|
/* 0284B108 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284B108 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284B10C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B10C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284B110 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284B114 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B114 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284B118 */ _t4 = cpu->r[30] + 0x00000010u;
|
|
/* 0284B118 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B11C */ cpu->r[31] = 0x00000000u;
|
|
/* 0284B120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0284B124 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284B124 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284B124 */ if (_t6) goto L_0284B128; else goto L_0284B148;
|
|
L_0284B128: ; // 0x284b128
|
|
/* 0284B128 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284B12C */ cpu->r[3] = cpu->r[30];
|
|
/* 0284B130 */ Gambit_fn_0284AEAC(cpu);
|
|
/* 0284B134 */ Gambit_fn_0284AAC8(cpu);
|
|
/* 0284B138 */ _t7 = cpu->r[30] + 0x00000010u;
|
|
/* 0284B138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284B13C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0284B140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0284B144 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284B144 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284B144 */ if (_t9) goto L_0284B128; else goto L_0284B148;
|
|
L_0284B148: ; // 0x284b148
|
|
/* 0284B148 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284B14C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0284B14C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284B150 */ cpu->lr = cpu->r[0];
|
|
/* 0284B154 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B154 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284B158 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B15C */ return;
|
|
}
|
|
|
|
// fn_0284B104 @ 0x284b104
|
|
void Gambit_fn_0284B104(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0284B104: ; // 0x284b104
|
|
/* 0284B104 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B104 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B104 */ cpu->r[1] = _t0;
|
|
/* 0284B108 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284B108 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284B10C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B10C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284B110 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284B114 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B114 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284B118 */ _t4 = cpu->r[30] + 0x00000010u;
|
|
/* 0284B118 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B11C */ cpu->r[31] = 0x00000000u;
|
|
/* 0284B120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0284B124 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284B124 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284B124 */ if (_t6) goto L_0284B128; else goto L_0284B148;
|
|
L_0284B128: ; // 0x284b128
|
|
/* 0284B128 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284B12C */ cpu->r[3] = cpu->r[30];
|
|
/* 0284B130 */ Gambit_fn_0284AEAC(cpu);
|
|
/* 0284B134 */ Gambit_fn_0284AAC8(cpu);
|
|
/* 0284B138 */ _t7 = cpu->r[30] + 0x00000010u;
|
|
/* 0284B138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284B13C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0284B140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0284B144 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284B144 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284B144 */ if (_t9) goto L_0284B128; else goto L_0284B148;
|
|
L_0284B148: ; // 0x284b148
|
|
/* 0284B148 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284B14C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0284B14C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284B150 */ cpu->lr = cpu->r[0];
|
|
/* 0284B154 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B154 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284B158 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B15C */ return;
|
|
}
|
|
|
|
// fn_0284B160 @ 0x284b160
|
|
void Gambit_fn_0284B160(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0284B160: ; // 0x284b160
|
|
/* 0284B160 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0284B164 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284B168 */ cpu->r[9] = 0x10130000u;
|
|
/* 0284B16C */ cpu->r[12] = cpu->r[12] + 0x00006CB8u;
|
|
/* 0284B170 */ cpu->r[9] = cpu->r[9] + 0xFFFFF830u;
|
|
/* 0284B174 */ cpu->r[0] = cpu->r[0] + 0xFFFFF964u;
|
|
/* 0284B178 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0284B17C */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 0284B17C */ rbrew_write32(cpu->mem, _t0, cpu->r[9]);
|
|
/* 0284B180 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284B184 */ cpu->r[11] = cpu->r[11] + 0x00006CB0u;
|
|
/* 0284B188 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 0284B188 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284B18C */ cpu->r[10] = cpu->r[10] + 0xFFFFF96Cu;
|
|
/* 0284B190 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 0284B190 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 0284B194 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 0284B194 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 0284B198 */ return;
|
|
}
|
|
|
|
// fn_0284B19C @ 0x284b19c
|
|
void Gambit_fn_0284B19C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_0284B19C: ; // 0x284b19c
|
|
/* 0284B19C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284B1A0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B1A0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284B1A0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284B1A0 */ goto L_0284B1A4;
|
|
L_0284B1A4: ; // 0x284b1a4
|
|
/* 0284B1A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284B1A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284B1A8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B1A8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284B1A8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284B1A8 */ goto L_0284B1AC;
|
|
L_0284B1AC: ; // 0x284b1ac
|
|
/* 0284B1AC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0284B1B0 @ 0x284b1b0
|
|
void Gambit_fn_0284B1B0(CPUState* cpu) {
|
|
L_0284B1B0: ; // 0x284b1b0
|
|
/* 0284B1B0 */ return;
|
|
}
|
|
|
|
// fn_0284B1B4 @ 0x284b1b4
|
|
void Gambit_fn_0284B1B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_0284B1B4: ; // 0x284b1b4
|
|
/* 0284B1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284B1B8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B1B8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284B1B8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284B1B8 */ goto L_0284B1BC;
|
|
L_0284B1BC: ; // 0x284b1bc
|
|
/* 0284B1BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284B1BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284B1C0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B1C0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284B1C0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284B1C0 */ goto L_0284B1C4;
|
|
L_0284B1C4: ; // 0x284b1c4
|
|
/* 0284B1C4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0284B1C8 @ 0x284b1c8
|
|
void Gambit_fn_0284B1C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0284B1C8: ; // 0x284b1c8
|
|
/* 0284B1C8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0284B1C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284B1CC */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0284B1CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0284B1D0 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0284B1D4 */ cpu->r[11] = 0x10110000u;
|
|
/* 0284B1D8 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0284B1D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0284B1DC */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0284B1DC */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0284B1E0 */ return;
|
|
}
|
|
|
|
// fn_0284B1E4 @ 0x284b1e4
|
|
void Gambit_fn_0284B1E4(CPUState* cpu) {
|
|
L_0284B1E4: ; // 0x284b1e4
|
|
/* 0284B1E4 */ return;
|
|
}
|
|
|
|
// fn_0284B1E8 @ 0x284b1e8
|
|
void Gambit_fn_0284B1E8(CPUState* cpu) {
|
|
L_0284B1E8: ; // 0x284b1e8
|
|
/* 0284B1E8 */ return;
|
|
}
|
|
|
|
// fn_0284B1EC @ 0x284b1ec
|
|
void Gambit_fn_0284B1EC(CPUState* cpu) {
|
|
L_0284B1EC: ; // 0x284b1ec
|
|
/* 0284B1EC */ return;
|
|
}
|
|
|
|
// fn_0284B1F0 @ 0x284b1f0
|
|
void Gambit_fn_0284B1F0(CPUState* cpu) {
|
|
L_0284B1F0: ; // 0x284b1f0
|
|
/* 0284B1F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284B1F4 */ return;
|
|
}
|
|
|
|
// fn_0284B1FC @ 0x284b1fc
|
|
void Gambit_fn_0284B1FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0284B1FC: ; // 0x284b1fc
|
|
/* 0284B1FC */ cpu->r[12] = cpu->r[3];
|
|
/* 0284B200 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 0284B200 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284B204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0284B208 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B208 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0284B208 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284B208 */ goto L_0284B20C;
|
|
L_0284B20C: ; // 0x284b20c
|
|
/* 0284B20C */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 0284B20C */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 0284B210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0284B214 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B214 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284B214 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284B214 */ goto L_0284B218;
|
|
L_0284B218: ; // 0x284b218
|
|
/* 0284B218 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 0284B218 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 0284B21C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0284B220 */ cpu->r[3] = cpu->r[9] + cpu->r[6];
|
|
/* 0284B224 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284B224 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284B224 */ if (_t8) goto L_0284B228; else goto L_0284B234;
|
|
L_0284B228: ; // 0x284b228
|
|
/* 0284B228 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0284B228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284B22C */ cpu->ctr = cpu->r[0];
|
|
/* 0284B230 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0284B234: ; // 0x284b234
|
|
/* 0284B234 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 0284B234 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 0284B238 */ _t11 = cpu->r[3] + cpu->r[8];
|
|
/* 0284B238 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284B23C */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0284B240 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 0284B244 */ _t12 = cpu->r[12] + 0x00000004u;
|
|
/* 0284B244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284B248 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B24C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0284B250 @ 0x284b250
|
|
void Gambit_fn_0284B250(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0284B250: ; // 0x284b250
|
|
/* 0284B250 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0284B250 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B250 */ cpu->r[1] = _t0;
|
|
/* 0284B254 */ cpu->r[0] = cpu->lr;
|
|
/* 0284B258 */ /* nop */
|
|
/* 0284B25C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B25C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284B260 */ cpu->r[27] = cpu->r[4];
|
|
/* 0284B264 */ cpu->r[28] = cpu->r[5];
|
|
/* 0284B268 */ cpu->r[30] = cpu->r[7];
|
|
/* 0284B26C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0284B26C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284B270 */ cpu->r[29] = cpu->r[6];
|
|
/* 0284B274 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B274 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0284B274 */ if (_t3) goto L_0284B278; else goto L_0284B288;
|
|
L_0284B278: ; // 0x284b278
|
|
/* 0284B278 */ cpu->r[3] = 0x00000120u;
|
|
/* 0284B27C */ Gambit_fn_02801A78(cpu);
|
|
/* 0284B280 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284B284 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B284 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284B284 */ if (_t5) goto L_0284B30C; else goto L_0284B288;
|
|
L_0284B288: ; // 0x284b288
|
|
/* 0284B288 */ cpu->r[4] = 0x101F0000u;
|
|
/* 0284B28C */ cpu->r[8] = 0x80000000u;
|
|
/* 0284B290 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B294 */ cpu->r[5] = cpu->r[28];
|
|
/* 0284B298 */ cpu->r[6] = cpu->r[27];
|
|
/* 0284B29C */ cpu->r[9] = cpu->r[29];
|
|
/* 0284B2A0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 0284B2A4 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B2A8 */ cpu->r[4] = cpu->r[4] + 0x00006CC0u;
|
|
/* 0284B2AC */ cpu->r[10] = cpu->r[30];
|
|
/* 0284B2B0 */ Gambit_fn_02837758(cpu);
|
|
/* 0284B2B4 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284B2B8 */ cpu->r[11] = 0x00000002u;
|
|
/* 0284B2BC */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0284B2C0 */ cpu->r[0] = cpu->r[0] + 0xFFFFFA58u;
|
|
/* 0284B2C4 */ cpu->r[10] = 0x00000000u;
|
|
/* 0284B2C8 */ cpu->r[8] = cpu->r[31] + 0x00000098u;
|
|
/* 0284B2CC */ cpu->r[7] = cpu->r[31] + 0x00000064u;
|
|
/* 0284B2D0 */ cpu->r[6] = cpu->r[10];
|
|
/* 0284B2D4 */ cpu->r[9] = cpu->r[31] + 0x00000118u;
|
|
/* 0284B2D8 */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B2D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_0284B2DC: ; // 0x284b2dc
|
|
/* 0284B2DC */ cpu->r[7] = cpu->r[7] + 0x0000003Cu;
|
|
/* 0284B2E0 */ cpu->r[0] = 0x0000000Fu;
|
|
/* 0284B2E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284B2E8 */ cpu->r[12] = cpu->r[7] + 0xFFFFFFFCu;
|
|
/* 0284B2EC */ cpu->ctr = cpu->r[0];
|
|
/* 0284B2F0 */ _t7 = cpu->r[8] + cpu->r[10];
|
|
/* 0284B2F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
L_0284B2F4: ; // 0x284b2f4
|
|
/* 0284B2F4 */ _t8 = cpu->r[12] + 0x00000004u;
|
|
/* 0284B2F4 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 0284B2F4 */ cpu->r[12] = _t8;
|
|
/* 0284B2F8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284B2F8 */ _t9 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284B2F8 */ _t10 = _t9 >> (0x00000002u & 31u);
|
|
/* 0284B2F8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284B2F8 */ if (_t11) goto L_0284B2F4; else goto L_0284B2FC;
|
|
L_0284B2FC: ; // 0x284b2fc
|
|
/* 0284B2FC */ _t12 = cpu->r[9] + cpu->r[10];
|
|
/* 0284B2FC */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
/* 0284B300 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0284B300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284B304 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 0284B308 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B308 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284B308 */ if (_t14) goto L_0284B30C; else goto L_0284B2DC;
|
|
L_0284B30C: ; // 0x284b30c
|
|
/* 0284B30C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B310 */ /* nop */
|
|
/* 0284B314 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 0284B314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284B318 */ cpu->lr = cpu->r[0];
|
|
/* 0284B31C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0284B320 */ return;
|
|
}
|
|
|
|
// fn_0284B324 @ 0x284b324
|
|
void Gambit_fn_0284B324(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0284B324: ; // 0x284b324
|
|
/* 0284B324 */ cpu->r[0] = cpu->lr;
|
|
/* 0284B328 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B328 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B328 */ cpu->r[1] = _t0;
|
|
/* 0284B32C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B32C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B330 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284B330 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284B334 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284B334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284B338 */ cpu->r[31] = cpu->r[4];
|
|
/* 0284B33C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B33C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284B340 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B340 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284B340 */ if (_t5) goto L_0284B398; else goto L_0284B344;
|
|
L_0284B344: ; // 0x284b344
|
|
/* 0284B344 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284B348 */ _t6 = cpu->r[30] + 0x00000084u;
|
|
/* 0284B348 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B34C */ cpu->r[10] = cpu->r[10] + 0xFFFFFA58u;
|
|
/* 0284B350 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284B354 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284B354 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0284B358 */ cpu->r[0] = cpu->r[0] + 0xFFFFFA18u;
|
|
/* 0284B35C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0284B360 */ _t8 = cpu->r[30] + 0x00000018u;
|
|
/* 0284B360 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0284B364 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B364 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284B364 */ if (_t10) goto L_0284B37C; else goto L_0284B368;
|
|
L_0284B368: ; // 0x284b368
|
|
/* 0284B368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000004u);
|
|
/* 0284B36C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B36C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284B36C */ if (_t12) goto L_0284B37C; else goto L_0284B370;
|
|
L_0284B370: ; // 0x284b370
|
|
/* 0284B370 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284B374 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284B378 */ Gambit_fn_02836C90(cpu);
|
|
L_0284B37C: ; // 0x284b37c
|
|
/* 0284B37C */ cpu->r[3] = cpu->r[30];
|
|
/* 0284B380 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284B384 */ Gambit_fn_028379A8(cpu);
|
|
/* 0284B388 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284B388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284B38C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B38C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284B38C */ if (_t14) goto L_0284B398; else goto L_0284B390;
|
|
L_0284B390: ; // 0x284b390
|
|
/* 0284B390 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284B394 */ Gambit_fn_02801BB0(cpu);
|
|
L_0284B398: ; // 0x284b398
|
|
/* 0284B398 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284B39C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0284B39C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284B3A0 */ cpu->lr = cpu->r[0];
|
|
/* 0284B3A4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B3A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284B3A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B3AC */ return;
|
|
}
|
|
|
|
// fn_0284B328 @ 0x284b328
|
|
void Gambit_fn_0284B328(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0284B328: ; // 0x284b328
|
|
/* 0284B328 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B328 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B328 */ cpu->r[1] = _t0;
|
|
/* 0284B32C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B32C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B330 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284B330 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284B334 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284B334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284B338 */ cpu->r[31] = cpu->r[4];
|
|
/* 0284B33C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B33C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284B340 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B340 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284B340 */ if (_t5) goto L_0284B398; else goto L_0284B344;
|
|
L_0284B344: ; // 0x284b344
|
|
/* 0284B344 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284B348 */ _t6 = cpu->r[30] + 0x00000084u;
|
|
/* 0284B348 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B34C */ cpu->r[10] = cpu->r[10] + 0xFFFFFA58u;
|
|
/* 0284B350 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284B354 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284B354 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0284B358 */ cpu->r[0] = cpu->r[0] + 0xFFFFFA18u;
|
|
/* 0284B35C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0284B360 */ _t8 = cpu->r[30] + 0x00000018u;
|
|
/* 0284B360 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0284B364 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B364 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284B364 */ if (_t10) goto L_0284B37C; else goto L_0284B368;
|
|
L_0284B368: ; // 0x284b368
|
|
/* 0284B368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000004u);
|
|
/* 0284B36C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B36C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284B36C */ if (_t12) goto L_0284B37C; else goto L_0284B370;
|
|
L_0284B370: ; // 0x284b370
|
|
/* 0284B370 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284B374 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284B378 */ Gambit_fn_02836C90(cpu);
|
|
L_0284B37C: ; // 0x284b37c
|
|
/* 0284B37C */ cpu->r[3] = cpu->r[30];
|
|
/* 0284B380 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284B384 */ Gambit_fn_028379A8(cpu);
|
|
/* 0284B388 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284B388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284B38C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B38C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284B38C */ if (_t14) goto L_0284B398; else goto L_0284B390;
|
|
L_0284B390: ; // 0x284b390
|
|
/* 0284B390 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284B394 */ Gambit_fn_02801BB0(cpu);
|
|
L_0284B398: ; // 0x284b398
|
|
/* 0284B398 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284B39C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0284B39C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284B3A0 */ cpu->lr = cpu->r[0];
|
|
/* 0284B3A4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B3A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284B3A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B3AC */ return;
|
|
}
|
|
|
|
// fn_0284B3B0 @ 0x284b3b0
|
|
void Gambit_fn_0284B3B0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0284B3B0: ; // 0x284b3b0
|
|
/* 0284B3B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284B3B4 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 0284B3B8 */ _t0 = cpu->r[12] + 0x00000098u;
|
|
/* 0284B3B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[5]);
|
|
/* 0284B3BC */ return;
|
|
}
|
|
|
|
// fn_0284B3C0 @ 0x284b3c0
|
|
void Gambit_fn_0284B3C0(CPUState* cpu) {
|
|
L_0284B3C0: ; // 0x284b3c0
|
|
/* 0284B3C0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 0284B3C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 0284B3C8 */ cpu->r[0] = cpu->r[4] | cpu->r[11];
|
|
/* 0284B3CC */ cpu->r[3] = cpu->r[0] | cpu->r[12];
|
|
/* 0284B3D0 */ return;
|
|
}
|
|
|
|
// fn_0284B3D4 @ 0x284b3d4
|
|
void Gambit_fn_0284B3D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B3D4: ; // 0x284b3d4
|
|
/* 0284B3D4 */ cpu->r[0] = cpu->lr;
|
|
/* 0284B3D8 */ cpu->r[9] = cpu->r[6];
|
|
/* 0284B3DC */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000003Cu);
|
|
/* 0284B3E0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284B3E4 */ cpu->r[7] = cpu->r[3] + cpu->r[6];
|
|
/* 0284B3E8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0284B3EC */ cpu->r[10] = cpu->r[3];
|
|
/* 0284B3F0 */ cpu->r[12] = cpu->r[3] + cpu->r[11];
|
|
/* 0284B3F4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0284B3F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0284B3F8 */ cpu->r[0] = cpu->r[5];
|
|
/* 0284B3FC */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B400 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284B400 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0284B400 */ cpu->r[1] = _t1;
|
|
/* 0284B404 */ _t2 = cpu->r[12] + 0x00000118u;
|
|
/* 0284B404 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B408 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284B40C */ _t3 = cpu->r[7] + 0x000000A4u;
|
|
/* 0284B40C */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0284B410 */ Gambit_fn_0284B3C0(cpu);
|
|
/* 0284B414 */ _t4 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0284B414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B418 */ _t5 = cpu->r[8] + 0x0000001Cu;
|
|
/* 0284B418 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B41C */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B420 */ cpu->ctr = cpu->r[9];
|
|
/* 0284B424 */ cpu->r[3] = cpu->r[10];
|
|
/* 0284B428 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B42C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B430 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B434 */ cpu->lr = cpu->r[0];
|
|
/* 0284B438 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284B43C */ return;
|
|
}
|
|
|
|
// fn_0284B400 @ 0x284b400
|
|
void Gambit_fn_0284B400(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0284B400: ; // 0x284b400
|
|
/* 0284B400 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284B400 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B400 */ cpu->r[1] = _t0;
|
|
/* 0284B404 */ _t1 = cpu->r[12] + 0x00000118u;
|
|
/* 0284B404 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284B408 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284B40C */ _t2 = cpu->r[7] + 0x000000A4u;
|
|
/* 0284B40C */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 0284B410 */ Gambit_fn_0284B3C0(cpu);
|
|
/* 0284B414 */ _t3 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0284B414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B418 */ _t4 = cpu->r[8] + 0x0000001Cu;
|
|
/* 0284B418 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B41C */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B420 */ cpu->ctr = cpu->r[9];
|
|
/* 0284B424 */ cpu->r[3] = cpu->r[10];
|
|
/* 0284B428 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B42C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B430 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B434 */ cpu->lr = cpu->r[0];
|
|
/* 0284B438 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284B43C */ return;
|
|
}
|
|
|
|
// fn_0284B440 @ 0x284b440
|
|
void Gambit_fn_0284B440(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0284B440: ; // 0x284b440
|
|
/* 0284B440 */ cpu->r[10] = 0x00000002u;
|
|
/* 0284B444 */ cpu->r[12] = cpu->r[3] + 0x00000094u;
|
|
/* 0284B448 */ cpu->ctr = cpu->r[10];
|
|
/* 0284B44C */ cpu->r[3] = 0x00000000u;
|
|
L_0284B450: ; // 0x284b450
|
|
/* 0284B450 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 0284B450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284B450 */ cpu->r[12] = _t0;
|
|
/* 0284B454 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 0284B458 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B458 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0284B458 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284B458 */ goto L_0284B45C;
|
|
L_0284B45C: ; // 0x284b45c
|
|
/* 0284B45C */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 0284B460 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284B460 */ _t3 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284B460 */ _t4 = _t3 >> (0x00000002u & 31u);
|
|
/* 0284B460 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284B460 */ if (_t5) goto L_0284B450; else goto L_0284B464;
|
|
L_0284B464: ; // 0x284b464
|
|
/* 0284B464 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284B468 */ return;
|
|
}
|
|
|
|
// fn_0284B46C @ 0x284b46c
|
|
void Gambit_fn_0284B46C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0284B46C: ; // 0x284b46c
|
|
/* 0284B46C */ cpu->r[0] = cpu->lr;
|
|
/* 0284B470 */ cpu->r[11] = cpu->r[4];
|
|
/* 0284B474 */ cpu->r[4] = cpu->r[5];
|
|
/* 0284B478 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0284B478 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0284B47C */ cpu->r[9] = cpu->r[3];
|
|
/* 0284B480 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284B480 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0284B480 */ cpu->r[1] = _t1;
|
|
/* 0284B484 */ Gambit_fn_0284B440(cpu);
|
|
/* 0284B488 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x0000000Fu);
|
|
/* 0284B48C */ cpu->r[0] = cpu->r[12] + cpu->r[11];
|
|
/* 0284B490 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284B494 */ cpu->r[8] = cpu->r[9] + cpu->r[0];
|
|
/* 0284B498 */ _t2 = cpu->r[8] + 0x000000A0u;
|
|
/* 0284B498 */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
|
|
/* 0284B49C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B49C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B4A0 */ cpu->lr = cpu->r[0];
|
|
/* 0284B4A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284B4A8 */ return;
|
|
}
|
|
|
|
// fn_0284B480 @ 0x284b480
|
|
void Gambit_fn_0284B480(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0284B480: ; // 0x284b480
|
|
/* 0284B480 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284B480 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B480 */ cpu->r[1] = _t0;
|
|
/* 0284B484 */ Gambit_fn_0284B440(cpu);
|
|
/* 0284B488 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x0000000Fu);
|
|
/* 0284B48C */ cpu->r[0] = cpu->r[12] + cpu->r[11];
|
|
/* 0284B490 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284B494 */ cpu->r[8] = cpu->r[9] + cpu->r[0];
|
|
/* 0284B498 */ _t1 = cpu->r[8] + 0x000000A0u;
|
|
/* 0284B498 */ rbrew_write32(cpu->mem, _t1, cpu->r[6]);
|
|
/* 0284B49C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B49C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0284B4A0 */ cpu->lr = cpu->r[0];
|
|
/* 0284B4A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284B4A8 */ return;
|
|
}
|
|
|
|
// fn_0284B4AC @ 0x284b4ac
|
|
void Gambit_fn_0284B4AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B4AC: ; // 0x284b4ac
|
|
/* 0284B4AC */ cpu->r[0] = cpu->lr;
|
|
/* 0284B4B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B4B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B4B0 */ cpu->r[1] = _t0;
|
|
/* 0284B4B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B4B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B4B8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284B4B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284B4BC */ cpu->r[30] = cpu->r[4];
|
|
/* 0284B4C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B4C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B4C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284B4C8 */ Gambit_fn_0284B46C(cpu);
|
|
/* 0284B4CC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B4D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284B4D4 */ cpu->r[6] = cpu->r[7];
|
|
/* 0284B4D8 */ Gambit_fn_0284B3C0(cpu);
|
|
/* 0284B4DC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B4DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B4E0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B4E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B4E4 */ cpu->lr = cpu->r[0];
|
|
/* 0284B4E8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0284B4E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B4EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B4F0 */ return;
|
|
}
|
|
|
|
// fn_0284B4B0 @ 0x284b4b0
|
|
void Gambit_fn_0284B4B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B4B0: ; // 0x284b4b0
|
|
/* 0284B4B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B4B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B4B0 */ cpu->r[1] = _t0;
|
|
/* 0284B4B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B4B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B4B8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284B4B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284B4BC */ cpu->r[30] = cpu->r[4];
|
|
/* 0284B4C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B4C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B4C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284B4C8 */ Gambit_fn_0284B46C(cpu);
|
|
/* 0284B4CC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B4D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284B4D4 */ cpu->r[6] = cpu->r[7];
|
|
/* 0284B4D8 */ Gambit_fn_0284B3C0(cpu);
|
|
/* 0284B4DC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B4DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B4E0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B4E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B4E4 */ cpu->lr = cpu->r[0];
|
|
/* 0284B4E8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0284B4E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B4EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B4F0 */ return;
|
|
}
|
|
|
|
// fn_0284B4F4 @ 0x284b4f4
|
|
void Gambit_fn_0284B4F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B4F4: ; // 0x284b4f4
|
|
/* 0284B4F4 */ cpu->r[0] = cpu->lr;
|
|
/* 0284B4F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B4F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B4F8 */ cpu->r[1] = _t0;
|
|
/* 0284B4FC */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B500 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B500 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B504 */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B508 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B50C */ cpu->r[4] = 0x00000003u;
|
|
/* 0284B510 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B514 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B514 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B518 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B51C */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B51C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B520 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B524 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B528 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B52C */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B530 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B534 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B538 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B53C */ cpu->lr = cpu->r[0];
|
|
/* 0284B540 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B544 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B548 */ return;
|
|
}
|
|
|
|
// fn_0284B4F8 @ 0x284b4f8
|
|
void Gambit_fn_0284B4F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B4F8: ; // 0x284b4f8
|
|
/* 0284B4F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B4F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B4F8 */ cpu->r[1] = _t0;
|
|
/* 0284B4FC */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B500 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B500 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B504 */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B508 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B50C */ cpu->r[4] = 0x00000003u;
|
|
/* 0284B510 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B514 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B514 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B518 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B51C */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B51C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B520 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B524 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B528 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B52C */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B530 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B534 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B538 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B53C */ cpu->lr = cpu->r[0];
|
|
/* 0284B540 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B544 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B548 */ return;
|
|
}
|
|
|
|
// fn_0284B54C @ 0x284b54c
|
|
void Gambit_fn_0284B54C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B54C: ; // 0x284b54c
|
|
/* 0284B54C */ cpu->r[0] = cpu->lr;
|
|
/* 0284B550 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B550 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B550 */ cpu->r[1] = _t0;
|
|
/* 0284B554 */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B558 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B558 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B55C */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B560 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B564 */ cpu->r[4] = 0x00000004u;
|
|
/* 0284B568 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B56C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B56C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B570 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B574 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B574 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B578 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B57C */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B580 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B584 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B588 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B58C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B590 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B594 */ cpu->lr = cpu->r[0];
|
|
/* 0284B598 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B59C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B5A0 */ return;
|
|
}
|
|
|
|
// fn_0284B550 @ 0x284b550
|
|
void Gambit_fn_0284B550(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B550: ; // 0x284b550
|
|
/* 0284B550 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B550 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B550 */ cpu->r[1] = _t0;
|
|
/* 0284B554 */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B558 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B558 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B55C */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B560 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B564 */ cpu->r[4] = 0x00000004u;
|
|
/* 0284B568 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B56C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B56C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B570 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B574 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B574 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B578 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B57C */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B580 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B584 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B588 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B58C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B590 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B594 */ cpu->lr = cpu->r[0];
|
|
/* 0284B598 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B598 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B59C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B5A0 */ return;
|
|
}
|
|
|
|
// fn_0284B5A4 @ 0x284b5a4
|
|
void Gambit_fn_0284B5A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B5A4: ; // 0x284b5a4
|
|
/* 0284B5A4 */ cpu->r[0] = cpu->lr;
|
|
/* 0284B5A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B5A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B5A8 */ cpu->r[1] = _t0;
|
|
/* 0284B5AC */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B5B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B5B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B5B4 */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B5B8 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B5BC */ cpu->r[4] = 0x00000005u;
|
|
/* 0284B5C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B5C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B5C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B5C8 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B5CC */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B5CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B5D0 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B5D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B5D4 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B5D8 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B5DC */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B5E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B5E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B5E8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B5E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B5EC */ cpu->lr = cpu->r[0];
|
|
/* 0284B5F0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B5F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B5F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B5F8 */ return;
|
|
}
|
|
|
|
// fn_0284B5A8 @ 0x284b5a8
|
|
void Gambit_fn_0284B5A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B5A8: ; // 0x284b5a8
|
|
/* 0284B5A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B5A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B5A8 */ cpu->r[1] = _t0;
|
|
/* 0284B5AC */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B5B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B5B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B5B4 */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B5B8 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B5BC */ cpu->r[4] = 0x00000005u;
|
|
/* 0284B5C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B5C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B5C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B5C8 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B5CC */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B5CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B5D0 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B5D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B5D4 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B5D8 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B5DC */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B5E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B5E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B5E8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B5E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B5EC */ cpu->lr = cpu->r[0];
|
|
/* 0284B5F0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B5F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B5F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B5F8 */ return;
|
|
}
|
|
|
|
// fn_0284B5FC @ 0x284b5fc
|
|
void Gambit_fn_0284B5FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B5FC: ; // 0x284b5fc
|
|
/* 0284B5FC */ cpu->r[0] = cpu->lr;
|
|
/* 0284B600 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B600 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B600 */ cpu->r[1] = _t0;
|
|
/* 0284B604 */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B608 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B608 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B60C */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B610 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B614 */ cpu->r[4] = 0x00000006u;
|
|
/* 0284B618 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B61C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B61C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B620 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B624 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B624 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B628 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B62C */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B630 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B634 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B638 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B63C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B640 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B644 */ cpu->lr = cpu->r[0];
|
|
/* 0284B648 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B648 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B64C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B650 */ return;
|
|
}
|
|
|
|
// fn_0284B600 @ 0x284b600
|
|
void Gambit_fn_0284B600(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B600: ; // 0x284b600
|
|
/* 0284B600 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B600 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B600 */ cpu->r[1] = _t0;
|
|
/* 0284B604 */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B608 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B608 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B60C */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B610 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B614 */ cpu->r[4] = 0x00000006u;
|
|
/* 0284B618 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B61C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B61C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B620 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B624 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B624 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B628 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B62C */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B630 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B634 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B638 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B63C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B640 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B644 */ cpu->lr = cpu->r[0];
|
|
/* 0284B648 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B648 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B64C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B650 */ return;
|
|
}
|
|
|
|
// fn_0284B654 @ 0x284b654
|
|
void Gambit_fn_0284B654(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B654: ; // 0x284b654
|
|
/* 0284B654 */ cpu->r[0] = cpu->lr;
|
|
/* 0284B658 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B658 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B658 */ cpu->r[1] = _t0;
|
|
/* 0284B65C */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B660 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B660 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B664 */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B668 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B66C */ cpu->r[4] = 0x00000007u;
|
|
/* 0284B670 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B674 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B674 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B678 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B67C */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B67C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B680 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B684 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B688 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B68C */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B690 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B694 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B698 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B69C */ cpu->lr = cpu->r[0];
|
|
/* 0284B6A0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B6A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B6A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B6A8 */ return;
|
|
}
|
|
|
|
// fn_0284B658 @ 0x284b658
|
|
void Gambit_fn_0284B658(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B658: ; // 0x284b658
|
|
/* 0284B658 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B658 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B658 */ cpu->r[1] = _t0;
|
|
/* 0284B65C */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B660 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B660 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B664 */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B668 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B66C */ cpu->r[4] = 0x00000007u;
|
|
/* 0284B670 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B674 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B674 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B678 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B67C */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B67C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B680 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B684 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B688 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B68C */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B690 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B694 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B698 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B69C */ cpu->lr = cpu->r[0];
|
|
/* 0284B6A0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B6A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B6A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B6A8 */ return;
|
|
}
|
|
|
|
// fn_0284B6AC @ 0x284b6ac
|
|
void Gambit_fn_0284B6AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B6AC: ; // 0x284b6ac
|
|
/* 0284B6AC */ cpu->r[0] = cpu->lr;
|
|
/* 0284B6B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B6B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B6B0 */ cpu->r[1] = _t0;
|
|
/* 0284B6B4 */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B6B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B6B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B6BC */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B6C0 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B6C4 */ cpu->r[4] = 0x00000008u;
|
|
/* 0284B6C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B6CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B6CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B6D0 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B6D4 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B6D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B6D8 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B6D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B6DC */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B6E0 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B6E4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B6E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B6EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B6F0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B6F4 */ cpu->lr = cpu->r[0];
|
|
/* 0284B6F8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B6F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B6FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B700 */ return;
|
|
}
|
|
|
|
// fn_0284B6B0 @ 0x284b6b0
|
|
void Gambit_fn_0284B6B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B6B0: ; // 0x284b6b0
|
|
/* 0284B6B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B6B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B6B0 */ cpu->r[1] = _t0;
|
|
/* 0284B6B4 */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B6B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B6B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B6BC */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B6C0 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B6C4 */ cpu->r[4] = 0x00000008u;
|
|
/* 0284B6C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B6CC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B6CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B6D0 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B6D4 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B6D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B6D8 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B6D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B6DC */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B6E0 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B6E4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B6E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B6EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B6F0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B6F4 */ cpu->lr = cpu->r[0];
|
|
/* 0284B6F8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B6F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B6FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B700 */ return;
|
|
}
|
|
|
|
// fn_0284B704 @ 0x284b704
|
|
void Gambit_fn_0284B704(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B704: ; // 0x284b704
|
|
/* 0284B704 */ cpu->r[0] = cpu->lr;
|
|
/* 0284B708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B708 */ cpu->r[1] = _t0;
|
|
/* 0284B70C */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B710 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B710 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B714 */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B718 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B71C */ cpu->r[4] = 0x00000009u;
|
|
/* 0284B720 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B724 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B724 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B728 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B72C */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B72C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B730 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B730 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B734 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B738 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B73C */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B740 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B744 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B748 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B74C */ cpu->lr = cpu->r[0];
|
|
/* 0284B750 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B750 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B754 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B758 */ return;
|
|
}
|
|
|
|
// fn_0284B708 @ 0x284b708
|
|
void Gambit_fn_0284B708(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B708: ; // 0x284b708
|
|
/* 0284B708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B708 */ cpu->r[1] = _t0;
|
|
/* 0284B70C */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B710 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B710 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B714 */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B718 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B71C */ cpu->r[4] = 0x00000009u;
|
|
/* 0284B720 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B724 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B724 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B728 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B72C */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B72C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B730 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B730 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B734 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B738 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B73C */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B740 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B744 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B748 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B74C */ cpu->lr = cpu->r[0];
|
|
/* 0284B750 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B750 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B754 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B758 */ return;
|
|
}
|
|
|
|
// fn_0284B75C @ 0x284b75c
|
|
void Gambit_fn_0284B75C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B75C: ; // 0x284b75c
|
|
/* 0284B75C */ cpu->r[0] = cpu->lr;
|
|
/* 0284B760 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B760 */ cpu->r[1] = _t0;
|
|
/* 0284B764 */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B768 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B768 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B76C */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B770 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B774 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0284B778 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B77C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B77C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B780 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B784 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B784 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B788 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B78C */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B790 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B794 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B798 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B79C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B7A0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B7A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B7A4 */ cpu->lr = cpu->r[0];
|
|
/* 0284B7A8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B7A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B7AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B7B0 */ return;
|
|
}
|
|
|
|
// fn_0284B760 @ 0x284b760
|
|
void Gambit_fn_0284B760(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B760: ; // 0x284b760
|
|
/* 0284B760 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B760 */ cpu->r[1] = _t0;
|
|
/* 0284B764 */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B768 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B768 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B76C */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B770 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B774 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0284B778 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B77C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B77C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B780 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B784 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B784 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B788 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B78C */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B790 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B794 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B798 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B79C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B7A0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B7A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B7A4 */ cpu->lr = cpu->r[0];
|
|
/* 0284B7A8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B7A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B7AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B7B0 */ return;
|
|
}
|
|
|
|
// fn_0284B7B4 @ 0x284b7b4
|
|
void Gambit_fn_0284B7B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B7B4: ; // 0x284b7b4
|
|
/* 0284B7B4 */ cpu->r[0] = cpu->lr;
|
|
/* 0284B7B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B7B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B7B8 */ cpu->r[1] = _t0;
|
|
/* 0284B7BC */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B7C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B7C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B7C4 */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B7C8 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B7CC */ cpu->r[4] = 0x0000000Bu;
|
|
/* 0284B7D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B7D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B7D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B7D8 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B7DC */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B7DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B7E0 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B7E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B7E4 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B7E8 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B7EC */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B7F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B7F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B7F8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B7F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B7FC */ cpu->lr = cpu->r[0];
|
|
/* 0284B800 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B800 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B804 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B808 */ return;
|
|
}
|
|
|
|
// fn_0284B7B8 @ 0x284b7b8
|
|
void Gambit_fn_0284B7B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B7B8: ; // 0x284b7b8
|
|
/* 0284B7B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B7B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B7B8 */ cpu->r[1] = _t0;
|
|
/* 0284B7BC */ cpu->r[6] = cpu->r[5];
|
|
/* 0284B7C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B7C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B7C4 */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B7C8 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B7CC */ cpu->r[4] = 0x0000000Bu;
|
|
/* 0284B7D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B7D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B7D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B7D8 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B7DC */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B7DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B7E0 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B7E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B7E4 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B7E8 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B7EC */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B7F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B7F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B7F8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B7F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B7FC */ cpu->lr = cpu->r[0];
|
|
/* 0284B800 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B800 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B804 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B808 */ return;
|
|
}
|
|
|
|
// fn_0284B80C @ 0x284b80c
|
|
void Gambit_fn_0284B80C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B80C: ; // 0x284b80c
|
|
/* 0284B80C */ cpu->r[0] = cpu->lr;
|
|
/* 0284B810 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B810 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B810 */ cpu->r[1] = _t0;
|
|
/* 0284B814 */ cpu->r[7] = cpu->r[5];
|
|
/* 0284B818 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B818 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B81C */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B820 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 0284B824 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B828 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B828 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B82C */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B830 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B830 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B834 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B838 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B83C */ cpu->ctr = cpu->r[0];
|
|
/* 0284B840 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B844 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B848 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B84C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B84C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B850 */ cpu->lr = cpu->r[0];
|
|
/* 0284B854 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B854 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B858 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B85C */ return;
|
|
}
|
|
|
|
// fn_0284B810 @ 0x284b810
|
|
void Gambit_fn_0284B810(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B810: ; // 0x284b810
|
|
/* 0284B810 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B810 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B810 */ cpu->r[1] = _t0;
|
|
/* 0284B814 */ cpu->r[7] = cpu->r[5];
|
|
/* 0284B818 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B818 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B81C */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B820 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 0284B824 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B828 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B828 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B82C */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B830 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B830 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B834 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B838 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B83C */ cpu->ctr = cpu->r[0];
|
|
/* 0284B840 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B844 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B848 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B84C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B84C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B850 */ cpu->lr = cpu->r[0];
|
|
/* 0284B854 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B854 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B858 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B85C */ return;
|
|
}
|
|
|
|
// fn_0284B860 @ 0x284b860
|
|
void Gambit_fn_0284B860(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B860: ; // 0x284b860
|
|
/* 0284B860 */ cpu->r[0] = cpu->lr;
|
|
/* 0284B864 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B864 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B864 */ cpu->r[1] = _t0;
|
|
/* 0284B868 */ cpu->r[7] = cpu->r[5];
|
|
/* 0284B86C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B86C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B870 */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B874 */ cpu->r[4] = 0x0000000Du;
|
|
/* 0284B878 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B87C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B87C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B880 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B884 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B884 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B888 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B88C */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B890 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B894 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B898 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B89C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B8A0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B8A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B8A4 */ cpu->lr = cpu->r[0];
|
|
/* 0284B8A8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B8A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B8AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B8B0 */ return;
|
|
}
|
|
|
|
// fn_0284B864 @ 0x284b864
|
|
void Gambit_fn_0284B864(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B864: ; // 0x284b864
|
|
/* 0284B864 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B864 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B864 */ cpu->r[1] = _t0;
|
|
/* 0284B868 */ cpu->r[7] = cpu->r[5];
|
|
/* 0284B86C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B86C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B870 */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B874 */ cpu->r[4] = 0x0000000Du;
|
|
/* 0284B878 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B87C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B87C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B880 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B884 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B884 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B888 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B88C */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B890 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B894 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B898 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B89C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B8A0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B8A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B8A4 */ cpu->lr = cpu->r[0];
|
|
/* 0284B8A8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B8A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B8AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B8B0 */ return;
|
|
}
|
|
|
|
// fn_0284B8B4 @ 0x284b8b4
|
|
void Gambit_fn_0284B8B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B8B4: ; // 0x284b8b4
|
|
/* 0284B8B4 */ cpu->r[0] = cpu->lr;
|
|
/* 0284B8B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B8B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B8B8 */ cpu->r[1] = _t0;
|
|
/* 0284B8BC */ cpu->r[7] = cpu->r[5];
|
|
/* 0284B8C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B8C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B8C4 */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B8C8 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 0284B8CC */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B8D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B8D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B8D4 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B8D8 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B8D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B8DC */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B8DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B8E0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B8E4 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B8E8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B8EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B8F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B8F4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B8F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B8F8 */ cpu->lr = cpu->r[0];
|
|
/* 0284B8FC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B8FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B900 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B904 */ return;
|
|
}
|
|
|
|
// fn_0284B8B8 @ 0x284b8b8
|
|
void Gambit_fn_0284B8B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284B8B8: ; // 0x284b8b8
|
|
/* 0284B8B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284B8B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B8B8 */ cpu->r[1] = _t0;
|
|
/* 0284B8BC */ cpu->r[7] = cpu->r[5];
|
|
/* 0284B8C0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B8C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284B8C4 */ cpu->r[5] = cpu->r[4];
|
|
/* 0284B8C8 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 0284B8CC */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B8D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B8D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284B8D4 */ Gambit_fn_0284B4AC(cpu);
|
|
/* 0284B8D8 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284B8D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B8DC */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0284B8DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B8E0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B8E4 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B8E8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B8EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B8F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284B8F4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B8F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B8F8 */ cpu->lr = cpu->r[0];
|
|
/* 0284B8FC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B8FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B900 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284B904 */ return;
|
|
}
|
|
|
|
// fn_0284B908 @ 0x284b908
|
|
void Gambit_fn_0284B908(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0284B908: ; // 0x284b908
|
|
/* 0284B908 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000000Fu);
|
|
/* 0284B90C */ cpu->r[9] = cpu->r[8] + cpu->r[5];
|
|
/* 0284B910 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284B914 */ cpu->r[11] = cpu->r[3] + cpu->r[10];
|
|
/* 0284B918 */ _t0 = cpu->r[11] + 0x000000A0u;
|
|
/* 0284B918 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284B91C */ cpu->r[5] = cpu->r[7];
|
|
/* 0284B920 */ cpu->r[4] = cpu->r[6];
|
|
/* 0284B924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284B928 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284B928 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0284B928 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284B928 */ goto L_0284B92C;
|
|
L_0284B92C: ; // 0x284b92c
|
|
/* 0284B92C */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0284B92C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284B930 */ _t4 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0284B930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B934 */ cpu->ctr = cpu->r[0];
|
|
/* 0284B938 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0284B940 @ 0x284b940
|
|
void Gambit_fn_0284B940(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0284B940: ; // 0x284b940
|
|
/* 0284B940 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284B940 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B940 */ cpu->r[1] = _t0;
|
|
/* 0284B944 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284B944 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284B948 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B948 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284B94C */ cpu->r[31] = cpu->r[4];
|
|
/* 0284B950 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284B954 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284B954 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284B958 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284B95C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0284B960 */ cpu->r[11] = cpu->r[30] + cpu->r[0];
|
|
/* 0284B964 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284B968 */ _t4 = cpu->r[11] + 0x00000118u;
|
|
/* 0284B968 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284B96C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284B970 */ rbrew_dispatch(cpu, 0x02d0bde8u);
|
|
/* 0284B974 */ cpu->r[7] = cpu->r[3];
|
|
/* 0284B978 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0284B978 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284B97C */ cpu->r[3] = cpu->r[30];
|
|
/* 0284B980 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284B984 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284B988 */ Gambit_fn_0284B908(cpu);
|
|
/* 0284B98C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0284B98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284B990 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 0284B994 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 0284B994 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284B998 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284B99C */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284B99C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284B9A0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B9A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284B9A4 */ cpu->lr = cpu->r[0];
|
|
/* 0284B9A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284B9AC */ return;
|
|
}
|
|
|
|
// fn_0284B9B4 @ 0x284b9b4
|
|
void Gambit_fn_0284B9B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0284B9B4: ; // 0x284b9b4
|
|
/* 0284B9B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284B9B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284B9B4 */ cpu->r[1] = _t0;
|
|
/* 0284B9B8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284B9B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284B9BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284B9BC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284B9C0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0284B9C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284B9C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0284B9C8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284B9C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284B9CC */ cpu->r[29] = cpu->r[3];
|
|
/* 0284B9D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284B9D4 */ rbrew_dispatch(cpu, 0x02d0be08u);
|
|
/* 0284B9D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284B9DC */ cpu->r[3] = cpu->r[29];
|
|
/* 0284B9E0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284B9E4 */ cpu->r[6] = cpu->r[31];
|
|
/* 0284B9E8 */ Gambit_fn_0284B440(cpu);
|
|
/* 0284B9EC */ cpu->r[4] = cpu->r[3];
|
|
/* 0284B9F0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284B9F4 */ cpu->r[5] = 0x00000002u;
|
|
/* 0284B9F8 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284B9FC */ Gambit_fn_0284B908(cpu);
|
|
/* 0284BA00 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BA00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284BA04 */ cpu->r[0] = rbrew_clz32(cpu->r[31]);
|
|
/* 0284BA08 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284BA0C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BA0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284BA10 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BA10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284BA14 */ cpu->lr = cpu->r[0];
|
|
/* 0284BA18 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BA18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284BA1C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284BA20 */ return;
|
|
}
|
|
|
|
// fn_0284BA28 @ 0x284ba28
|
|
void Gambit_fn_0284BA28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0284BA28: ; // 0x284ba28
|
|
/* 0284BA28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284BA28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284BA28 */ cpu->r[1] = _t0;
|
|
/* 0284BA2C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BA2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284BA30 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BA30 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284BA34 */ cpu->r[30] = cpu->r[4];
|
|
/* 0284BA38 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BA38 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0284BA3C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BA3C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284BA40 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284BA44 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284BA48 */ rbrew_dispatch(cpu, 0x02d0bdf0u);
|
|
/* 0284BA4C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284BA50 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284BA54 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284BA58 */ cpu->r[6] = cpu->r[31];
|
|
/* 0284BA5C */ Gambit_fn_0284B440(cpu);
|
|
/* 0284BA60 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284BA64 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284BA68 */ cpu->r[5] = 0x00000003u;
|
|
/* 0284BA6C */ cpu->r[7] = 0x00000000u;
|
|
/* 0284BA70 */ Gambit_fn_0284B908(cpu);
|
|
/* 0284BA74 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BA74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284BA78 */ cpu->r[0] = rbrew_clz32(cpu->r[31]);
|
|
/* 0284BA7C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284BA80 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BA80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284BA84 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BA84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284BA88 */ cpu->lr = cpu->r[0];
|
|
/* 0284BA8C */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BA8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284BA90 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284BA94 */ return;
|
|
}
|
|
|
|
// fn_0284BA9C @ 0x284ba9c
|
|
void Gambit_fn_0284BA9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0284BA9C: ; // 0x284ba9c
|
|
/* 0284BA9C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284BA9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284BA9C */ cpu->r[1] = _t0;
|
|
/* 0284BAA0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BAA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284BAA4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BAA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284BAA8 */ cpu->r[30] = cpu->r[4];
|
|
/* 0284BAAC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BAAC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0284BAB0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BAB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284BAB4 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284BAB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284BABC */ rbrew_dispatch(cpu, 0x02d0bdd0u);
|
|
/* 0284BAC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284BAC4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284BAC8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284BACC */ cpu->r[6] = cpu->r[31];
|
|
/* 0284BAD0 */ Gambit_fn_0284B440(cpu);
|
|
/* 0284BAD4 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284BAD8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284BADC */ cpu->r[5] = 0x00000004u;
|
|
/* 0284BAE0 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284BAE4 */ Gambit_fn_0284B908(cpu);
|
|
/* 0284BAE8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BAE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284BAEC */ cpu->r[0] = rbrew_clz32(cpu->r[31]);
|
|
/* 0284BAF0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284BAF4 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BAF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284BAF8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BAF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284BAFC */ cpu->lr = cpu->r[0];
|
|
/* 0284BB00 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BB00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284BB04 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284BB08 */ return;
|
|
}
|
|
|
|
// fn_0284BB10 @ 0x284bb10
|
|
void Gambit_fn_0284BB10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284BB10: ; // 0x284bb10
|
|
/* 0284BB10 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284BB10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284BB10 */ cpu->r[1] = _t0;
|
|
/* 0284BB14 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BB14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284BB18 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BB18 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284BB1C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284BB20 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BB20 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284BB24 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BB24 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284BB28 */ Gambit_fn_0284B440(cpu);
|
|
/* 0284BB2C */ cpu->r[0] = 0x00000000u;
|
|
/* 0284BB30 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0284BB34 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284BB38 */ cpu->r[3] = cpu->r[4];
|
|
/* 0284BB3C */ cpu->r[4] = 0x00000001u;
|
|
/* 0284BB40 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BB40 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284BB44 */ rbrew_dispatch(cpu, 0x02d0bdd8u);
|
|
/* 0284BB48 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284BB4C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BB4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284BB50 */ cpu->r[4] = cpu->r[29];
|
|
/* 0284BB54 */ cpu->r[6] = cpu->r[30];
|
|
/* 0284BB58 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284BB5C */ cpu->r[5] = 0x00000005u;
|
|
/* 0284BB60 */ Gambit_fn_0284B908(cpu);
|
|
/* 0284BB64 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BB64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284BB68 */ cpu->r[0] = rbrew_clz32(cpu->r[30]);
|
|
/* 0284BB6C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284BB70 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BB70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284BB74 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BB74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284BB78 */ cpu->lr = cpu->r[0];
|
|
/* 0284BB7C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BB7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284BB80 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284BB84 */ return;
|
|
}
|
|
|
|
// fn_0284BB8C @ 0x284bb8c
|
|
void Gambit_fn_0284BB8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284BB8C: ; // 0x284bb8c
|
|
/* 0284BB8C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284BB8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284BB8C */ cpu->r[1] = _t0;
|
|
/* 0284BB90 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BB90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284BB94 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BB94 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284BB98 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284BB9C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BB9C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284BBA0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BBA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284BBA4 */ Gambit_fn_0284B440(cpu);
|
|
/* 0284BBA8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284BBAC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0284BBB0 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284BBB4 */ cpu->r[3] = cpu->r[4];
|
|
/* 0284BBB8 */ cpu->r[4] = 0x00000002u;
|
|
/* 0284BBBC */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BBBC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284BBC0 */ rbrew_dispatch(cpu, 0x02d0bdd8u);
|
|
/* 0284BBC4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284BBC8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BBC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284BBCC */ cpu->r[4] = cpu->r[29];
|
|
/* 0284BBD0 */ cpu->r[6] = cpu->r[30];
|
|
/* 0284BBD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284BBD8 */ cpu->r[5] = 0x00000006u;
|
|
/* 0284BBDC */ Gambit_fn_0284B908(cpu);
|
|
/* 0284BBE0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BBE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284BBE4 */ cpu->r[0] = rbrew_clz32(cpu->r[30]);
|
|
/* 0284BBE8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284BBEC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BBEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284BBF0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BBF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284BBF4 */ cpu->lr = cpu->r[0];
|
|
/* 0284BBF8 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BBF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284BBFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284BC00 */ return;
|
|
}
|
|
|
|
// fn_0284BC08 @ 0x284bc08
|
|
void Gambit_fn_0284BC08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284BC08: ; // 0x284bc08
|
|
/* 0284BC08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284BC08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284BC08 */ cpu->r[1] = _t0;
|
|
/* 0284BC0C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BC0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284BC10 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BC10 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284BC14 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284BC18 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BC18 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284BC1C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BC1C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284BC20 */ Gambit_fn_0284B440(cpu);
|
|
/* 0284BC24 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284BC28 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0284BC2C */ cpu->r[29] = cpu->r[3];
|
|
/* 0284BC30 */ cpu->r[3] = cpu->r[4];
|
|
/* 0284BC34 */ cpu->r[4] = 0x00000003u;
|
|
/* 0284BC38 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BC38 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284BC3C */ rbrew_dispatch(cpu, 0x02d0bdd8u);
|
|
/* 0284BC40 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284BC44 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BC44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284BC48 */ cpu->r[4] = cpu->r[29];
|
|
/* 0284BC4C */ cpu->r[6] = cpu->r[30];
|
|
/* 0284BC50 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284BC54 */ cpu->r[5] = 0x00000007u;
|
|
/* 0284BC58 */ Gambit_fn_0284B908(cpu);
|
|
/* 0284BC5C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BC5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284BC60 */ cpu->r[0] = rbrew_clz32(cpu->r[30]);
|
|
/* 0284BC64 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284BC68 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BC68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284BC6C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BC6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284BC70 */ cpu->lr = cpu->r[0];
|
|
/* 0284BC74 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BC74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284BC78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284BC7C */ return;
|
|
}
|
|
|
|
// fn_0284BC84 @ 0x284bc84
|
|
void Gambit_fn_0284BC84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284BC84: ; // 0x284bc84
|
|
/* 0284BC84 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284BC84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284BC84 */ cpu->r[1] = _t0;
|
|
/* 0284BC88 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BC88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284BC8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BC8C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284BC90 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284BC94 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BC94 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284BC98 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BC98 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284BC9C */ Gambit_fn_0284B440(cpu);
|
|
/* 0284BCA0 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284BCA4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0284BCA8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284BCAC */ cpu->r[3] = cpu->r[4];
|
|
/* 0284BCB0 */ cpu->r[4] = 0x00000004u;
|
|
/* 0284BCB4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BCB4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284BCB8 */ rbrew_dispatch(cpu, 0x02d0bdd8u);
|
|
/* 0284BCBC */ cpu->r[30] = cpu->r[3];
|
|
/* 0284BCC0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BCC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284BCC4 */ cpu->r[4] = cpu->r[29];
|
|
/* 0284BCC8 */ cpu->r[6] = cpu->r[30];
|
|
/* 0284BCCC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284BCD0 */ cpu->r[5] = 0x00000008u;
|
|
/* 0284BCD4 */ Gambit_fn_0284B908(cpu);
|
|
/* 0284BCD8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BCD8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284BCDC */ cpu->r[0] = rbrew_clz32(cpu->r[30]);
|
|
/* 0284BCE0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284BCE4 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BCE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284BCE8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BCE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284BCEC */ cpu->lr = cpu->r[0];
|
|
/* 0284BCF0 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BCF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284BCF4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284BCF8 */ return;
|
|
}
|
|
|
|
// fn_0284BD00 @ 0x284bd00
|
|
void Gambit_fn_0284BD00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284BD00: ; // 0x284bd00
|
|
/* 0284BD00 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284BD00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284BD00 */ cpu->r[1] = _t0;
|
|
/* 0284BD04 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BD04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284BD08 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BD08 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284BD0C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284BD10 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BD10 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284BD14 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BD14 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284BD18 */ Gambit_fn_0284B440(cpu);
|
|
/* 0284BD1C */ cpu->r[0] = 0x00000000u;
|
|
/* 0284BD20 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0284BD24 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284BD28 */ cpu->r[3] = cpu->r[4];
|
|
/* 0284BD2C */ cpu->r[4] = 0x00000007u;
|
|
/* 0284BD30 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BD30 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284BD34 */ rbrew_dispatch(cpu, 0x02d0bdd8u);
|
|
/* 0284BD38 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284BD3C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BD3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284BD40 */ cpu->r[4] = cpu->r[29];
|
|
/* 0284BD44 */ cpu->r[6] = cpu->r[30];
|
|
/* 0284BD48 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284BD4C */ cpu->r[5] = 0x00000009u;
|
|
/* 0284BD50 */ Gambit_fn_0284B908(cpu);
|
|
/* 0284BD54 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BD54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284BD58 */ cpu->r[0] = rbrew_clz32(cpu->r[30]);
|
|
/* 0284BD5C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284BD60 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BD60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284BD64 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BD64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284BD68 */ cpu->lr = cpu->r[0];
|
|
/* 0284BD6C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BD6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284BD70 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284BD74 */ return;
|
|
}
|
|
|
|
// fn_0284BD7C @ 0x284bd7c
|
|
void Gambit_fn_0284BD7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284BD7C: ; // 0x284bd7c
|
|
/* 0284BD7C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284BD7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284BD7C */ cpu->r[1] = _t0;
|
|
/* 0284BD80 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BD80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284BD84 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BD84 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284BD88 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284BD8C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BD8C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284BD90 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BD90 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284BD94 */ Gambit_fn_0284B440(cpu);
|
|
/* 0284BD98 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284BD9C */ cpu->r[3] = cpu->r[4];
|
|
/* 0284BDA0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284BDA4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0284BDA8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BDA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 0284BDAC */ rbrew_dispatch(cpu, 0x02d0bdd8u);
|
|
/* 0284BDB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284BDB4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BDB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284BDB8 */ cpu->r[4] = cpu->r[29];
|
|
/* 0284BDBC */ cpu->r[6] = cpu->r[30];
|
|
/* 0284BDC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284BDC4 */ cpu->r[5] = 0x0000000Au;
|
|
/* 0284BDC8 */ Gambit_fn_0284B908(cpu);
|
|
/* 0284BDCC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BDCC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284BDD0 */ cpu->r[0] = rbrew_clz32(cpu->r[30]);
|
|
/* 0284BDD4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284BDD8 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284BDDC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BDDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284BDE0 */ cpu->lr = cpu->r[0];
|
|
/* 0284BDE4 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BDE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284BDE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284BDEC */ return;
|
|
}
|
|
|
|
// fn_0284BDF4 @ 0x284bdf4
|
|
void Gambit_fn_0284BDF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284BDF4: ; // 0x284bdf4
|
|
/* 0284BDF4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284BDF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284BDF4 */ cpu->r[1] = _t0;
|
|
/* 0284BDF8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BDF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284BDFC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BDFC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284BE00 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284BE04 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BE04 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284BE08 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BE08 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284BE0C */ Gambit_fn_0284B440(cpu);
|
|
/* 0284BE10 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284BE14 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0284BE18 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284BE1C */ cpu->r[3] = cpu->r[4];
|
|
/* 0284BE20 */ cpu->r[4] = 0x00000008u;
|
|
/* 0284BE24 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BE24 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284BE28 */ rbrew_dispatch(cpu, 0x02d0bdd8u);
|
|
/* 0284BE2C */ cpu->r[30] = cpu->r[3];
|
|
/* 0284BE30 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BE30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284BE34 */ cpu->r[4] = cpu->r[29];
|
|
/* 0284BE38 */ cpu->r[6] = cpu->r[30];
|
|
/* 0284BE3C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284BE40 */ cpu->r[5] = 0x0000000Bu;
|
|
/* 0284BE44 */ Gambit_fn_0284B908(cpu);
|
|
/* 0284BE48 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BE48 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284BE4C */ cpu->r[0] = rbrew_clz32(cpu->r[30]);
|
|
/* 0284BE50 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284BE54 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BE54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284BE58 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BE58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284BE5C */ cpu->lr = cpu->r[0];
|
|
/* 0284BE60 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BE60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284BE64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284BE68 */ return;
|
|
}
|
|
|
|
// fn_0284BE70 @ 0x284be70
|
|
void Gambit_fn_0284BE70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284BE70: ; // 0x284be70
|
|
/* 0284BE70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284BE70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284BE70 */ cpu->r[1] = _t0;
|
|
/* 0284BE74 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BE74 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284BE78 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284BE7C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BE7C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284BE80 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BE80 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284BE84 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BE84 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0284BE88 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BE88 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284BE8C */ Gambit_fn_0284B440(cpu);
|
|
/* 0284BE90 */ cpu->r[28] = cpu->r[3];
|
|
/* 0284BE94 */ cpu->r[3] = cpu->r[4];
|
|
/* 0284BE98 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284BE9C */ cpu->r[31] = cpu->r[5];
|
|
/* 0284BEA0 */ rbrew_dispatch(cpu, 0x02d0be00u);
|
|
/* 0284BEA4 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284BEA8 */ cpu->r[4] = cpu->r[28];
|
|
/* 0284BEAC */ cpu->r[3] = cpu->r[30];
|
|
/* 0284BEB0 */ cpu->r[6] = cpu->r[29];
|
|
/* 0284BEB4 */ cpu->r[7] = cpu->r[31];
|
|
/* 0284BEB8 */ cpu->r[5] = 0x0000000Cu;
|
|
/* 0284BEBC */ Gambit_fn_0284B908(cpu);
|
|
/* 0284BEC0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BEC0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284BEC4 */ cpu->r[0] = rbrew_clz32(cpu->r[29]);
|
|
/* 0284BEC8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BEC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284BECC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284BED0 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284BED4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BED4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284BED8 */ cpu->lr = cpu->r[0];
|
|
/* 0284BEDC */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BEDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284BEE0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284BEE4 */ return;
|
|
}
|
|
|
|
// fn_0284BEEC @ 0x284beec
|
|
void Gambit_fn_0284BEEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284BEEC: ; // 0x284beec
|
|
/* 0284BEEC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284BEEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284BEEC */ cpu->r[1] = _t0;
|
|
/* 0284BEF0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BEF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284BEF4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284BEF8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BEF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284BEFC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BEFC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284BF00 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BF00 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0284BF04 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BF04 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284BF08 */ Gambit_fn_0284B440(cpu);
|
|
/* 0284BF0C */ cpu->r[28] = cpu->r[3];
|
|
/* 0284BF10 */ cpu->r[3] = cpu->r[4];
|
|
/* 0284BF14 */ cpu->r[4] = 0x00000007u;
|
|
/* 0284BF18 */ cpu->r[31] = cpu->r[5];
|
|
/* 0284BF1C */ rbrew_dispatch(cpu, 0x02d0be00u);
|
|
/* 0284BF20 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284BF24 */ cpu->r[4] = cpu->r[28];
|
|
/* 0284BF28 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284BF2C */ cpu->r[6] = cpu->r[29];
|
|
/* 0284BF30 */ cpu->r[7] = cpu->r[31];
|
|
/* 0284BF34 */ cpu->r[5] = 0x0000000Du;
|
|
/* 0284BF38 */ Gambit_fn_0284B908(cpu);
|
|
/* 0284BF3C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BF3C */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284BF40 */ cpu->r[0] = rbrew_clz32(cpu->r[29]);
|
|
/* 0284BF44 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BF44 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284BF48 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284BF4C */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BF4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284BF50 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BF50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284BF54 */ cpu->lr = cpu->r[0];
|
|
/* 0284BF58 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BF58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284BF5C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284BF60 */ return;
|
|
}
|
|
|
|
// fn_0284BF68 @ 0x284bf68
|
|
void Gambit_fn_0284BF68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284BF68: ; // 0x284bf68
|
|
/* 0284BF68 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284BF68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284BF68 */ cpu->r[1] = _t0;
|
|
/* 0284BF6C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BF6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284BF70 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284BF74 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BF74 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284BF78 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BF78 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284BF7C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BF7C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0284BF80 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BF80 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284BF84 */ Gambit_fn_0284B440(cpu);
|
|
/* 0284BF88 */ cpu->r[28] = cpu->r[3];
|
|
/* 0284BF8C */ cpu->r[3] = cpu->r[4];
|
|
/* 0284BF90 */ cpu->r[4] = 0x00000008u;
|
|
/* 0284BF94 */ cpu->r[31] = cpu->r[5];
|
|
/* 0284BF98 */ rbrew_dispatch(cpu, 0x02d0be00u);
|
|
/* 0284BF9C */ cpu->r[29] = cpu->r[3];
|
|
/* 0284BFA0 */ cpu->r[4] = cpu->r[28];
|
|
/* 0284BFA4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284BFA8 */ cpu->r[6] = cpu->r[29];
|
|
/* 0284BFAC */ cpu->r[7] = cpu->r[31];
|
|
/* 0284BFB0 */ cpu->r[5] = 0x0000000Eu;
|
|
/* 0284BFB4 */ Gambit_fn_0284B908(cpu);
|
|
/* 0284BFB8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0284BFB8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284BFBC */ cpu->r[0] = rbrew_clz32(cpu->r[29]);
|
|
/* 0284BFC0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284BFC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284BFC4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284BFC8 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284BFC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284BFCC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284BFCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284BFD0 */ cpu->lr = cpu->r[0];
|
|
/* 0284BFD4 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 0284BFD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284BFD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284BFDC */ return;
|
|
}
|
|
|
|
// fn_0284BFE0 @ 0x284bfe0
|
|
void Gambit_fn_0284BFE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0284BFE0: ; // 0x284bfe0
|
|
/* 0284BFE0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0284BFE4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000010u, 0x00000010u, 0x0000001Fu);
|
|
/* 0284BFE8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 0284BFEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000000Eu);
|
|
/* 0284BFF0 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284BFF0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0284BFF0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284BFF0 */ goto L_0284BFF4;
|
|
L_0284BFF4: ; // 0x284bff4
|
|
/* 0284BFF4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284BFF8 */ cpu->r[12] = cpu->r[11] + 0x02850000u;
|
|
/* 0284BFFC */ cpu->r[12] = cpu->r[12] + 0xFFFFC008u;
|
|
/* 0284C000 */ cpu->ctr = cpu->r[12];
|
|
/* 0284C004 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0284C080 @ 0x284c080
|
|
void Gambit_fn_0284C080(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0284C080: ; // 0x284c080
|
|
/* 0284C080 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0284C084 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284C088 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284C08C */ cpu->r[12] = cpu->r[12] + 0x00006CC0u;
|
|
/* 0284C090 */ cpu->r[11] = cpu->r[11] + 0xFFFFFA28u;
|
|
/* 0284C094 */ cpu->r[0] = cpu->r[0] + 0xFFFFFA40u;
|
|
/* 0284C098 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 0284C098 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 0284C09C */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 0284C09C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284C0A0 */ return;
|
|
}
|
|
|
|
// fn_0284C0A4 @ 0x284c0a4
|
|
void Gambit_fn_0284C0A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_0284C0A4: ; // 0x284c0a4
|
|
/* 0284C0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C0A8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C0A8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284C0A8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284C0A8 */ goto L_0284C0AC;
|
|
L_0284C0AC: ; // 0x284c0ac
|
|
/* 0284C0AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284C0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284C0B0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C0B0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284C0B0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284C0B0 */ goto L_0284C0B4;
|
|
L_0284C0B4: ; // 0x284c0b4
|
|
/* 0284C0B4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0284C0B8 @ 0x284c0b8
|
|
void Gambit_fn_0284C0B8(CPUState* cpu) {
|
|
L_0284C0B8: ; // 0x284c0b8
|
|
/* 0284C0B8 */ return;
|
|
}
|
|
|
|
// fn_0284C0BC @ 0x284c0bc
|
|
void Gambit_fn_0284C0BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_0284C0BC: ; // 0x284c0bc
|
|
/* 0284C0BC */ cpu->r[0] = cpu->lr;
|
|
/* 0284C0C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284C0C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C0C0 */ cpu->r[1] = _t0;
|
|
/* 0284C0C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C0C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284C0C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C0C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284C0CC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C0CC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284C0D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284C0D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284C0D4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C0D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284C0D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C0D8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284C0D8 */ if (_t6) goto L_0284C0DC; else goto L_0284C0EC;
|
|
L_0284C0DC: ; // 0x284c0dc
|
|
/* 0284C0DC */ cpu->r[3] = 0x00000030u;
|
|
/* 0284C0E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284C0E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284C0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284C0E8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C0E8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284C0E8 */ if (_t8) goto L_0284C1C8; else goto L_0284C0EC;
|
|
L_0284C0EC: ; // 0x284c0ec
|
|
/* 0284C0EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C0EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C0F0 */ cpu->r[29] = 0x00000000u;
|
|
/* 0284C0F4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C0F4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284C0F4 */ if (_t10) goto L_0284C0F8; else goto L_0284C108;
|
|
L_0284C0F8: ; // 0x284c0f8
|
|
/* 0284C0F8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284C0FC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284C100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C104 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C104 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284C104 */ if (_t12) goto L_0284C11C; else goto L_0284C108;
|
|
L_0284C108: ; // 0x284c108
|
|
/* 0284C108 */ cpu->r[8] = 0x10130000u;
|
|
/* 0284C10C */ _t13 = cpu->r[3] + 0x00000008u;
|
|
/* 0284C10C */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 0284C110 */ cpu->r[8] = cpu->r[8] + 0xFFFFFB30u;
|
|
/* 0284C114 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 0284C114 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 0284C118 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0284C118 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
L_0284C11C: ; // 0x284c11c
|
|
/* 0284C11C */ cpu->r[9] = 0x10130000u;
|
|
/* 0284C120 */ cpu->r[9] = cpu->r[9] + 0xFFFFFBDCu;
|
|
/* 0284C124 */ cpu->r[30] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284C124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284C128 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 0284C128 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 0284C12C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C12C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0284C12C */ if (_t18) goto L_0284C130; else goto L_0284C140;
|
|
L_0284C130: ; // 0x284c130
|
|
/* 0284C130 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284C134 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284C138 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284C138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284C13C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C13C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284C13C */ if (_t20) goto L_0284C16C; else goto L_0284C140;
|
|
L_0284C140: ; // 0x284c140
|
|
/* 0284C140 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284C140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C144 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C144 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284C144 */ if (_t22) goto L_0284C148; else goto L_0284C158;
|
|
L_0284C148: ; // 0x284c148
|
|
/* 0284C148 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284C14C */ Gambit_fn_02801A78(cpu);
|
|
/* 0284C150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C154 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C154 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0284C154 */ if (_t24) goto L_0284C164; else goto L_0284C158;
|
|
L_0284C158: ; // 0x284c158
|
|
/* 0284C158 */ _t25 = cpu->r[3] + 0x00000004u;
|
|
/* 0284C158 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
/* 0284C15C */ _t26 = cpu->r[3] + 0x00000008u;
|
|
/* 0284C15C */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 0284C160 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 0284C160 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
L_0284C164: ; // 0x284c164
|
|
/* 0284C164 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 0284C168 */ _t28 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C168 */ rbrew_write32(cpu->mem, _t28, cpu->r[10]);
|
|
L_0284C16C: ; // 0x284c16c
|
|
/* 0284C16C */ cpu->r[30] = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284C16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284C170 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C170 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284C170 */ if (_t30) goto L_0284C174; else goto L_0284C184;
|
|
L_0284C174: ; // 0x284c174
|
|
/* 0284C174 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284C178 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284C17C */ cpu->r[30] = cpu->r[3];
|
|
/* 0284C17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284C180 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C180 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0284C180 */ if (_t32) goto L_0284C1B0; else goto L_0284C184;
|
|
L_0284C184: ; // 0x284c184
|
|
/* 0284C184 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284C184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C188 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C188 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0284C188 */ if (_t34) goto L_0284C18C; else goto L_0284C19C;
|
|
L_0284C18C: ; // 0x284c18c
|
|
/* 0284C18C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284C190 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284C194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C198 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C198 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0284C198 */ if (_t36) goto L_0284C1A8; else goto L_0284C19C;
|
|
L_0284C19C: ; // 0x284c19c
|
|
/* 0284C19C */ _t37 = cpu->r[3] + 0x00000004u;
|
|
/* 0284C19C */ rbrew_write32(cpu->mem, _t37, cpu->r[3]);
|
|
/* 0284C1A0 */ _t38 = cpu->r[3] + 0x00000008u;
|
|
/* 0284C1A0 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
|
|
/* 0284C1A4 */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 0284C1A4 */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
L_0284C1A8: ; // 0x284c1a8
|
|
/* 0284C1A8 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0284C1AC */ _t40 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C1AC */ rbrew_write32(cpu->mem, _t40, cpu->r[11]);
|
|
L_0284C1B0: ; // 0x284c1b0
|
|
/* 0284C1B0 */ _t41 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0284C1B0 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[29]);
|
|
/* 0284C1B4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0284C1B8 */ cpu->r[12] = 0x00000004u;
|
|
/* 0284C1BC */ _t42 = cpu->r[11] + 0xFFFF9A14u;
|
|
/* 0284C1BC */ rbrew_write32(cpu->mem, _t42, cpu->r[31]);
|
|
/* 0284C1C0 */ _t43 = cpu->r[31] + 0x00000018u;
|
|
/* 0284C1C0 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0284C1C4 */ _t44 = cpu->r[31] + 0x00000028u;
|
|
/* 0284C1C4 */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
L_0284C1C8: ; // 0x284c1c8
|
|
/* 0284C1C8 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C1C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0284C1CC */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C1CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0284C1D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C1D4 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C1D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0284C1D8 */ cpu->lr = cpu->r[0];
|
|
/* 0284C1DC */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C1DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0284C1E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284C1E4 */ return;
|
|
}
|
|
|
|
// fn_0284C0C0 @ 0x284c0c0
|
|
void Gambit_fn_0284C0C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_0284C0C0: ; // 0x284c0c0
|
|
/* 0284C0C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284C0C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C0C0 */ cpu->r[1] = _t0;
|
|
/* 0284C0C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C0C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284C0C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C0C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284C0CC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C0CC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284C0D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284C0D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284C0D4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C0D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284C0D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C0D8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284C0D8 */ if (_t6) goto L_0284C0DC; else goto L_0284C0EC;
|
|
L_0284C0DC: ; // 0x284c0dc
|
|
/* 0284C0DC */ cpu->r[3] = 0x00000030u;
|
|
/* 0284C0E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284C0E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284C0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284C0E8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C0E8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284C0E8 */ if (_t8) goto L_0284C1C8; else goto L_0284C0EC;
|
|
L_0284C0EC: ; // 0x284c0ec
|
|
/* 0284C0EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C0EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C0F0 */ cpu->r[29] = 0x00000000u;
|
|
/* 0284C0F4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C0F4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284C0F4 */ if (_t10) goto L_0284C0F8; else goto L_0284C108;
|
|
L_0284C0F8: ; // 0x284c0f8
|
|
/* 0284C0F8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284C0FC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284C100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C104 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C104 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284C104 */ if (_t12) goto L_0284C11C; else goto L_0284C108;
|
|
L_0284C108: ; // 0x284c108
|
|
/* 0284C108 */ cpu->r[8] = 0x10130000u;
|
|
/* 0284C10C */ _t13 = cpu->r[3] + 0x00000008u;
|
|
/* 0284C10C */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 0284C110 */ cpu->r[8] = cpu->r[8] + 0xFFFFFB30u;
|
|
/* 0284C114 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 0284C114 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 0284C118 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0284C118 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
L_0284C11C: ; // 0x284c11c
|
|
/* 0284C11C */ cpu->r[9] = 0x10130000u;
|
|
/* 0284C120 */ cpu->r[9] = cpu->r[9] + 0xFFFFFBDCu;
|
|
/* 0284C124 */ cpu->r[30] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284C124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284C128 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 0284C128 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 0284C12C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C12C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0284C12C */ if (_t18) goto L_0284C130; else goto L_0284C140;
|
|
L_0284C130: ; // 0x284c130
|
|
/* 0284C130 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284C134 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284C138 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284C138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284C13C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C13C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284C13C */ if (_t20) goto L_0284C16C; else goto L_0284C140;
|
|
L_0284C140: ; // 0x284c140
|
|
/* 0284C140 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284C140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C144 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C144 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284C144 */ if (_t22) goto L_0284C148; else goto L_0284C158;
|
|
L_0284C148: ; // 0x284c148
|
|
/* 0284C148 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284C14C */ Gambit_fn_02801A78(cpu);
|
|
/* 0284C150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C154 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C154 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0284C154 */ if (_t24) goto L_0284C164; else goto L_0284C158;
|
|
L_0284C158: ; // 0x284c158
|
|
/* 0284C158 */ _t25 = cpu->r[3] + 0x00000004u;
|
|
/* 0284C158 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
/* 0284C15C */ _t26 = cpu->r[3] + 0x00000008u;
|
|
/* 0284C15C */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 0284C160 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 0284C160 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
L_0284C164: ; // 0x284c164
|
|
/* 0284C164 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 0284C168 */ _t28 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C168 */ rbrew_write32(cpu->mem, _t28, cpu->r[10]);
|
|
L_0284C16C: ; // 0x284c16c
|
|
/* 0284C16C */ cpu->r[30] = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284C16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284C170 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C170 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284C170 */ if (_t30) goto L_0284C174; else goto L_0284C184;
|
|
L_0284C174: ; // 0x284c174
|
|
/* 0284C174 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284C178 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284C17C */ cpu->r[30] = cpu->r[3];
|
|
/* 0284C17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284C180 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C180 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0284C180 */ if (_t32) goto L_0284C1B0; else goto L_0284C184;
|
|
L_0284C184: ; // 0x284c184
|
|
/* 0284C184 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284C184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C188 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C188 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0284C188 */ if (_t34) goto L_0284C18C; else goto L_0284C19C;
|
|
L_0284C18C: ; // 0x284c18c
|
|
/* 0284C18C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284C190 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284C194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C198 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C198 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0284C198 */ if (_t36) goto L_0284C1A8; else goto L_0284C19C;
|
|
L_0284C19C: ; // 0x284c19c
|
|
/* 0284C19C */ _t37 = cpu->r[3] + 0x00000004u;
|
|
/* 0284C19C */ rbrew_write32(cpu->mem, _t37, cpu->r[3]);
|
|
/* 0284C1A0 */ _t38 = cpu->r[3] + 0x00000008u;
|
|
/* 0284C1A0 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
|
|
/* 0284C1A4 */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 0284C1A4 */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
L_0284C1A8: ; // 0x284c1a8
|
|
/* 0284C1A8 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 0284C1AC */ _t40 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C1AC */ rbrew_write32(cpu->mem, _t40, cpu->r[11]);
|
|
L_0284C1B0: ; // 0x284c1b0
|
|
/* 0284C1B0 */ _t41 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0284C1B0 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[29]);
|
|
/* 0284C1B4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0284C1B8 */ cpu->r[12] = 0x00000004u;
|
|
/* 0284C1BC */ _t42 = cpu->r[11] + 0xFFFF9A14u;
|
|
/* 0284C1BC */ rbrew_write32(cpu->mem, _t42, cpu->r[31]);
|
|
/* 0284C1C0 */ _t43 = cpu->r[31] + 0x00000018u;
|
|
/* 0284C1C0 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0284C1C4 */ _t44 = cpu->r[31] + 0x00000028u;
|
|
/* 0284C1C4 */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
L_0284C1C8: ; // 0x284c1c8
|
|
/* 0284C1C8 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C1C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0284C1CC */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C1CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0284C1D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C1D4 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C1D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0284C1D8 */ cpu->lr = cpu->r[0];
|
|
/* 0284C1DC */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C1DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0284C1E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284C1E4 */ return;
|
|
}
|
|
|
|
// fn_0284C1E8 @ 0x284c1e8
|
|
void Gambit_fn_0284C1E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_0284C1E8: ; // 0x284c1e8
|
|
/* 0284C1E8 */ cpu->r[0] = cpu->lr;
|
|
/* 0284C1EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284C1EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C1EC */ cpu->r[1] = _t0;
|
|
/* 0284C1F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C1F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284C1F4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C1F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284C1F8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C1F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0284C1FC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C1FC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284C200 */ cpu->r[29] = cpu->r[4];
|
|
/* 0284C204 */ _t5 = cpu->r[29] + 0x00000008u;
|
|
/* 0284C204 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284C208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284C20C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C20C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284C20C */ if (_t7) goto L_0284C258; else goto L_0284C210;
|
|
L_0284C210: ; // 0x284c210
|
|
/* 0284C210 */ _t8 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0284C210 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284C214 */ _t9 = cpu->r[29] + 0x00000004u;
|
|
/* 0284C214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284C218 */ cpu->r[9] = cpu->r[29] - cpu->r[31];
|
|
/* 0284C21C */ cpu->r[30] = cpu->r[0] - cpu->r[31];
|
|
/* 0284C220 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 0284C224 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C224 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284C224 */ if (_t11) goto L_0284C258; else goto L_0284C228;
|
|
L_0284C228: ; // 0x284c228
|
|
/* 0284C228 */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 0284C228 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284C22C */ _t13 = cpu->r[12] + 0x00000024u;
|
|
/* 0284C22C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284C230 */ cpu->ctr = cpu->r[9];
|
|
/* 0284C234 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284C238 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284C23C */ _t14 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0284C23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284C240 */ cpu->r[10] = cpu->r[30] + cpu->r[31];
|
|
/* 0284C244 */ _t15 = cpu->r[10] + 0x00000004u;
|
|
/* 0284C244 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284C248 */ cpu->r[11] = cpu->r[29] - cpu->r[0];
|
|
/* 0284C24C */ cpu->r[30] = cpu->r[12] - cpu->r[31];
|
|
/* 0284C250 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
|
|
/* 0284C254 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C254 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284C254 */ if (_t17) goto L_0284C258; else goto L_0284C228;
|
|
L_0284C258: ; // 0x284c258
|
|
/* 0284C258 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C258 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284C25C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C25C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284C260 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C260 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284C264 */ cpu->lr = cpu->r[0];
|
|
/* 0284C268 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C268 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284C26C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284C270 */ return;
|
|
}
|
|
|
|
// fn_0284C1EC @ 0x284c1ec
|
|
void Gambit_fn_0284C1EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_0284C1EC: ; // 0x284c1ec
|
|
/* 0284C1EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284C1EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C1EC */ cpu->r[1] = _t0;
|
|
/* 0284C1F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C1F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284C1F4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C1F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284C1F8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C1F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0284C1FC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C1FC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284C200 */ cpu->r[29] = cpu->r[4];
|
|
/* 0284C204 */ _t5 = cpu->r[29] + 0x00000008u;
|
|
/* 0284C204 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284C208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284C20C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C20C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284C20C */ if (_t7) goto L_0284C258; else goto L_0284C210;
|
|
L_0284C210: ; // 0x284c210
|
|
/* 0284C210 */ _t8 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0284C210 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284C214 */ _t9 = cpu->r[29] + 0x00000004u;
|
|
/* 0284C214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284C218 */ cpu->r[9] = cpu->r[29] - cpu->r[31];
|
|
/* 0284C21C */ cpu->r[30] = cpu->r[0] - cpu->r[31];
|
|
/* 0284C220 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 0284C224 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C224 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284C224 */ if (_t11) goto L_0284C258; else goto L_0284C228;
|
|
L_0284C228: ; // 0x284c228
|
|
/* 0284C228 */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 0284C228 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284C22C */ _t13 = cpu->r[12] + 0x00000024u;
|
|
/* 0284C22C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284C230 */ cpu->ctr = cpu->r[9];
|
|
/* 0284C234 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284C238 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284C23C */ _t14 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0284C23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284C240 */ cpu->r[10] = cpu->r[30] + cpu->r[31];
|
|
/* 0284C244 */ _t15 = cpu->r[10] + 0x00000004u;
|
|
/* 0284C244 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284C248 */ cpu->r[11] = cpu->r[29] - cpu->r[0];
|
|
/* 0284C24C */ cpu->r[30] = cpu->r[12] - cpu->r[31];
|
|
/* 0284C250 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
|
|
/* 0284C254 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C254 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284C254 */ if (_t17) goto L_0284C258; else goto L_0284C228;
|
|
L_0284C258: ; // 0x284c258
|
|
/* 0284C258 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C258 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284C25C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C25C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284C260 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C260 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284C264 */ cpu->lr = cpu->r[0];
|
|
/* 0284C268 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C268 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284C26C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284C270 */ return;
|
|
}
|
|
|
|
// fn_0284C274 @ 0x284c274
|
|
void Gambit_fn_0284C274(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284C274: ; // 0x284c274
|
|
/* 0284C274 */ cpu->r[0] = cpu->lr;
|
|
/* 0284C278 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284C278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C278 */ cpu->r[1] = _t0;
|
|
/* 0284C27C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C27C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284C280 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0284C284 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C284 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284C288 */ _t3 = cpu->r[31] + 0xFFFF9A18u;
|
|
/* 0284C288 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284C28C */ cpu->r[3] = 0x00000000u;
|
|
/* 0284C290 */ rbrew_dispatch(cpu, 0x02d06748u);
|
|
/* 0284C294 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284C298 */ _t4 = cpu->r[31] + 0xFFFF9A18u;
|
|
/* 0284C298 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284C29C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C29C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284C2A0 */ cpu->lr = cpu->r[0];
|
|
/* 0284C2A4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C2A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284C2A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284C2AC */ return;
|
|
}
|
|
|
|
// fn_0284C278 @ 0x284c278
|
|
void Gambit_fn_0284C278(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284C278: ; // 0x284c278
|
|
/* 0284C278 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284C278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C278 */ cpu->r[1] = _t0;
|
|
/* 0284C27C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C27C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284C280 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0284C284 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C284 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284C288 */ _t3 = cpu->r[31] + 0xFFFF9A18u;
|
|
/* 0284C288 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284C28C */ cpu->r[3] = 0x00000000u;
|
|
/* 0284C290 */ rbrew_dispatch(cpu, 0x02d06748u);
|
|
/* 0284C294 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284C298 */ _t4 = cpu->r[31] + 0xFFFF9A18u;
|
|
/* 0284C298 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284C29C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C29C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284C2A0 */ cpu->lr = cpu->r[0];
|
|
/* 0284C2A4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C2A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284C2A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284C2AC */ return;
|
|
}
|
|
|
|
// fn_0284C2B0 @ 0x284c2b0
|
|
void Gambit_fn_0284C2B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284C2B0: ; // 0x284c2b0
|
|
/* 0284C2B0 */ cpu->r[0] = cpu->lr;
|
|
/* 0284C2B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284C2B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C2B4 */ cpu->r[1] = _t0;
|
|
/* 0284C2B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C2B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284C2BC */ cpu->r[31] = 0x101D0000u;
|
|
/* 0284C2C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C2C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284C2C4 */ _t3 = cpu->r[31] + 0xFFFF9A1Cu;
|
|
/* 0284C2C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284C2C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284C2CC */ rbrew_dispatch(cpu, 0x02d06748u);
|
|
/* 0284C2D0 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284C2D4 */ _t4 = cpu->r[31] + 0xFFFF9A1Cu;
|
|
/* 0284C2D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284C2D8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C2D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284C2DC */ cpu->lr = cpu->r[0];
|
|
/* 0284C2E0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C2E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284C2E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284C2E8 */ return;
|
|
}
|
|
|
|
// fn_0284C2B4 @ 0x284c2b4
|
|
void Gambit_fn_0284C2B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284C2B4: ; // 0x284c2b4
|
|
/* 0284C2B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284C2B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C2B4 */ cpu->r[1] = _t0;
|
|
/* 0284C2B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C2B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284C2BC */ cpu->r[31] = 0x101D0000u;
|
|
/* 0284C2C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C2C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284C2C4 */ _t3 = cpu->r[31] + 0xFFFF9A1Cu;
|
|
/* 0284C2C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284C2C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284C2CC */ rbrew_dispatch(cpu, 0x02d06748u);
|
|
/* 0284C2D0 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284C2D4 */ _t4 = cpu->r[31] + 0xFFFF9A1Cu;
|
|
/* 0284C2D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284C2D8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C2D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284C2DC */ cpu->lr = cpu->r[0];
|
|
/* 0284C2E0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C2E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284C2E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284C2E8 */ return;
|
|
}
|
|
|
|
// fn_0284C2EC @ 0x284c2ec
|
|
void Gambit_fn_0284C2EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0284C2EC: ; // 0x284c2ec
|
|
/* 0284C2EC */ cpu->r[0] = cpu->lr;
|
|
/* 0284C2F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284C2F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C2F0 */ cpu->r[1] = _t0;
|
|
/* 0284C2F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C2F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284C2F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284C2FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C2FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284C300 */ _t3 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0284C300 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0284C304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284C308 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C308 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284C308 */ if (_t5) goto L_0284C33C; else goto L_0284C30C;
|
|
L_0284C30C: ; // 0x284c30c
|
|
/* 0284C30C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C310 */ cpu->r[4] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284C314 */ Gambit_fn_0284C1E8(cpu);
|
|
/* 0284C318 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C31C */ cpu->r[4] = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284C320 */ Gambit_fn_0284C1E8(cpu);
|
|
/* 0284C324 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C328 */ Gambit_fn_0284C274(cpu);
|
|
/* 0284C32C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C330 */ Gambit_fn_0284C2B0(cpu);
|
|
/* 0284C334 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284C338 */ _t6 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0284C338 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
L_0284C33C: ; // 0x284c33c
|
|
/* 0284C33C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C33C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284C340 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C340 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284C344 */ cpu->lr = cpu->r[0];
|
|
/* 0284C348 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284C34C */ return;
|
|
}
|
|
|
|
// fn_0284C2F0 @ 0x284c2f0
|
|
void Gambit_fn_0284C2F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0284C2F0: ; // 0x284c2f0
|
|
/* 0284C2F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284C2F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C2F0 */ cpu->r[1] = _t0;
|
|
/* 0284C2F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C2F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284C2F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284C2FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C2FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284C300 */ _t3 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0284C300 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0284C304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284C308 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C308 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284C308 */ if (_t5) goto L_0284C33C; else goto L_0284C30C;
|
|
L_0284C30C: ; // 0x284c30c
|
|
/* 0284C30C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C310 */ cpu->r[4] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284C314 */ Gambit_fn_0284C1E8(cpu);
|
|
/* 0284C318 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C31C */ cpu->r[4] = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284C320 */ Gambit_fn_0284C1E8(cpu);
|
|
/* 0284C324 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C328 */ Gambit_fn_0284C274(cpu);
|
|
/* 0284C32C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C330 */ Gambit_fn_0284C2B0(cpu);
|
|
/* 0284C334 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284C338 */ _t6 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0284C338 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
L_0284C33C: ; // 0x284c33c
|
|
/* 0284C33C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C33C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284C340 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C340 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284C344 */ cpu->lr = cpu->r[0];
|
|
/* 0284C348 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284C34C */ return;
|
|
}
|
|
|
|
// fn_0284C350 @ 0x284c350
|
|
void Gambit_fn_0284C350(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0284C350: ; // 0x284c350
|
|
/* 0284C350 */ cpu->r[0] = cpu->lr;
|
|
/* 0284C354 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284C354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C354 */ cpu->r[1] = _t0;
|
|
/* 0284C358 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284C358 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284C35C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C35C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284C360 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284C360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284C364 */ cpu->r[30] = cpu->r[4];
|
|
/* 0284C368 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C368 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284C36C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C36C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284C36C */ if (_t5) goto L_0284C394; else goto L_0284C370;
|
|
L_0284C370: ; // 0x284c370
|
|
/* 0284C370 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284C374 */ cpu->r[0] = cpu->r[0] + 0xFFFFFBDCu;
|
|
/* 0284C378 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C37C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 0284C37C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0284C380 */ Gambit_fn_0284C2EC(cpu);
|
|
/* 0284C384 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284C384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284C388 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C388 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284C388 */ if (_t8) goto L_0284C394; else goto L_0284C38C;
|
|
L_0284C38C: ; // 0x284c38c
|
|
/* 0284C38C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C390 */ Gambit_fn_02801BB0(cpu);
|
|
L_0284C394: ; // 0x284c394
|
|
/* 0284C394 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284C398 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0284C398 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284C39C */ cpu->lr = cpu->r[0];
|
|
/* 0284C3A0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C3A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284C3A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284C3A8 */ return;
|
|
}
|
|
|
|
// fn_0284C354 @ 0x284c354
|
|
void Gambit_fn_0284C354(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0284C354: ; // 0x284c354
|
|
/* 0284C354 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284C354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C354 */ cpu->r[1] = _t0;
|
|
/* 0284C358 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284C358 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284C35C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C35C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284C360 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284C360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284C364 */ cpu->r[30] = cpu->r[4];
|
|
/* 0284C368 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C368 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284C36C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C36C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284C36C */ if (_t5) goto L_0284C394; else goto L_0284C370;
|
|
L_0284C370: ; // 0x284c370
|
|
/* 0284C370 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284C374 */ cpu->r[0] = cpu->r[0] + 0xFFFFFBDCu;
|
|
/* 0284C378 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C37C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 0284C37C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0284C380 */ Gambit_fn_0284C2EC(cpu);
|
|
/* 0284C384 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284C384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284C388 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C388 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284C388 */ if (_t8) goto L_0284C394; else goto L_0284C38C;
|
|
L_0284C38C: ; // 0x284c38c
|
|
/* 0284C38C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C390 */ Gambit_fn_02801BB0(cpu);
|
|
L_0284C394: ; // 0x284c394
|
|
/* 0284C394 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284C398 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0284C398 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284C39C */ cpu->lr = cpu->r[0];
|
|
/* 0284C3A0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C3A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284C3A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284C3A8 */ return;
|
|
}
|
|
|
|
// fn_0284C3AC @ 0x284c3ac
|
|
void Gambit_fn_0284C3AC(CPUState* cpu) {
|
|
uint32_t _t0, _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_0284C3AC: ; // 0x284c3ac
|
|
/* 0284C3AC */ cpu->r[0] = cpu->lr;
|
|
/* 0284C3B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284C3B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C3B0 */ cpu->r[1] = _t0;
|
|
/* 0284C3B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C3B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284C3B8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C3B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284C3BC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284C3BC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284C3C0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C3C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0284C3C4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C3C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284C3C8 */ _t6 = cpu->r[3] + 0x00000014u;
|
|
/* 0284C3C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284C3CC */ cpu->r[31] = cpu->r[4];
|
|
/* 0284C3D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284C3D4 */ cpu->r[30] = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284C3D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C3D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284C3D8 */ if (_t8) goto L_0284C424; else goto L_0284C3DC;
|
|
L_0284C3DC: ; // 0x284c3dc
|
|
/* 0284C3DC */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C3DC */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284C3E0 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 0284C3E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284C3E4 */ cpu->r[0] = cpu->r[30] - cpu->r[28];
|
|
/* 0284C3E8 */ cpu->r[3] = cpu->r[11] - cpu->r[28];
|
|
/* 0284C3EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 0284C3F0 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 0284C3F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284C3F4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C3F4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284C3F4 */ if (_t13) goto L_0284C424; else goto L_0284C3F8;
|
|
L_0284C3F8: ; // 0x284c3f8
|
|
/* 0284C3F8 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 0284C3F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284C3FC */ _t15 = cpu->r[7] + 0x0000002Cu;
|
|
/* 0284C3FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284C400 */ cpu->ctr = cpu->r[0];
|
|
/* 0284C404 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284C408 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284C40C */ cpu->r[3] = cpu->r[29] - cpu->r[28];
|
|
/* 0284C410 */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 0284C410 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284C414 */ _t17 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C414 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284C418 */ cpu->r[0] = cpu->r[30] - cpu->r[9];
|
|
/* 0284C41C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 0284C420 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C420 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284C420 */ if (_t19) goto L_0284C424; else goto L_0284C3F8;
|
|
L_0284C424: ; // 0x284c424
|
|
/* 0284C424 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0284C424 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284C428 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C428 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284C42C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284C430 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C430 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284C434 */ cpu->lr = cpu->r[0];
|
|
/* 0284C438 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C438 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284C43C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284C440 */ return;
|
|
}
|
|
|
|
// fn_0284C3B0 @ 0x284c3b0
|
|
void Gambit_fn_0284C3B0(CPUState* cpu) {
|
|
uint32_t _t0, _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_0284C3B0: ; // 0x284c3b0
|
|
/* 0284C3B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284C3B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C3B0 */ cpu->r[1] = _t0;
|
|
/* 0284C3B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C3B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284C3B8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C3B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284C3BC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284C3BC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284C3C0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C3C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0284C3C4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C3C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284C3C8 */ _t6 = cpu->r[3] + 0x00000014u;
|
|
/* 0284C3C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284C3CC */ cpu->r[31] = cpu->r[4];
|
|
/* 0284C3D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284C3D4 */ cpu->r[30] = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284C3D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C3D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284C3D8 */ if (_t8) goto L_0284C424; else goto L_0284C3DC;
|
|
L_0284C3DC: ; // 0x284c3dc
|
|
/* 0284C3DC */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C3DC */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284C3E0 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 0284C3E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284C3E4 */ cpu->r[0] = cpu->r[30] - cpu->r[28];
|
|
/* 0284C3E8 */ cpu->r[3] = cpu->r[11] - cpu->r[28];
|
|
/* 0284C3EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 0284C3F0 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 0284C3F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284C3F4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C3F4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284C3F4 */ if (_t13) goto L_0284C424; else goto L_0284C3F8;
|
|
L_0284C3F8: ; // 0x284c3f8
|
|
/* 0284C3F8 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 0284C3F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284C3FC */ _t15 = cpu->r[7] + 0x0000002Cu;
|
|
/* 0284C3FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284C400 */ cpu->ctr = cpu->r[0];
|
|
/* 0284C404 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284C408 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284C40C */ cpu->r[3] = cpu->r[29] - cpu->r[28];
|
|
/* 0284C410 */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 0284C410 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284C414 */ _t17 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C414 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284C418 */ cpu->r[0] = cpu->r[30] - cpu->r[9];
|
|
/* 0284C41C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 0284C420 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C420 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284C420 */ if (_t19) goto L_0284C424; else goto L_0284C3F8;
|
|
L_0284C424: ; // 0x284c424
|
|
/* 0284C424 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0284C424 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284C428 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C428 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284C42C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284C430 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C430 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284C434 */ cpu->lr = cpu->r[0];
|
|
/* 0284C438 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C438 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284C43C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284C440 */ return;
|
|
}
|
|
|
|
// fn_0284C448 @ 0x284c448
|
|
void Gambit_fn_0284C448(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0284C448: ; // 0x284c448
|
|
/* 0284C448 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284C448 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C448 */ cpu->r[1] = _t0;
|
|
/* 0284C44C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C44C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284C450 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0284C454 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C454 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284C458 */ _t3 = cpu->r[12] + 0xFFFF9A18u;
|
|
/* 0284C458 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284C45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284C460 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284C464 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C464 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284C464 */ if (_t5) goto L_0284C474; else goto L_0284C468;
|
|
L_0284C468: ; // 0x284c468
|
|
/* 0284C468 */ cpu->ctr = cpu->r[12];
|
|
/* 0284C46C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C470 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284C474: ; // 0x284c474
|
|
/* 0284C474 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0284C478 */ _t6 = cpu->r[3] + 0xFFFF9A14u;
|
|
/* 0284C478 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284C47C */ cpu->r[4] = cpu->r[31];
|
|
/* 0284C480 */ Gambit_fn_0284C3AC(cpu);
|
|
/* 0284C484 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284C488 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C488 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284C48C */ cpu->lr = cpu->r[0];
|
|
/* 0284C490 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284C494 */ return;
|
|
}
|
|
|
|
// fn_0284C498 @ 0x284c498
|
|
void Gambit_fn_0284C498(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0284C498: ; // 0x284c498
|
|
/* 0284C498 */ cpu->r[0] = cpu->lr;
|
|
/* 0284C49C */ cpu->r[4] = 0x101D0000u;
|
|
/* 0284C4A0 */ cpu->r[4] = cpu->r[4] + 0xFFFF9A18u;
|
|
/* 0284C4A4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0284C4A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0284C4A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284C4AC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284C4AC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0284C4AC */ cpu->r[1] = _t1;
|
|
/* 0284C4B0 */ rbrew_dispatch(cpu, 0x02d065a0u);
|
|
/* 0284C4B4 */ cpu->r[4] = 0x02850000u;
|
|
/* 0284C4B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284C4BC */ cpu->r[4] = cpu->r[4] + 0xFFFFC444u;
|
|
/* 0284C4C0 */ rbrew_dispatch(cpu, 0x02d06748u);
|
|
/* 0284C4C4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0284C4C8 */ cpu->lr = cpu->r[0];
|
|
/* 0284C4CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284C4D0 */ return;
|
|
}
|
|
|
|
// fn_0284C4AC @ 0x284c4ac
|
|
void Gambit_fn_0284C4AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0284C4AC: ; // 0x284c4ac
|
|
/* 0284C4AC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284C4AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C4AC */ cpu->r[1] = _t0;
|
|
/* 0284C4B0 */ rbrew_dispatch(cpu, 0x02d065a0u);
|
|
/* 0284C4B4 */ cpu->r[4] = 0x02850000u;
|
|
/* 0284C4B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284C4BC */ cpu->r[4] = cpu->r[4] + 0xFFFFC444u;
|
|
/* 0284C4C0 */ rbrew_dispatch(cpu, 0x02d06748u);
|
|
/* 0284C4C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0284C4C8 */ cpu->lr = cpu->r[0];
|
|
/* 0284C4CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284C4D0 */ return;
|
|
}
|
|
|
|
// fn_0284C4D4 @ 0x284c4d4
|
|
void Gambit_fn_0284C4D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0284C4D4: ; // 0x284c4d4
|
|
/* 0284C4D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0284C4D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C4D4 */ cpu->r[1] = _t0;
|
|
/* 0284C4D8 */ /* nop */
|
|
/* 0284C4DC */ cpu->r[0] = cpu->lr;
|
|
/* 0284C4E0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0284C4E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284C4E4 */ cpu->r[29] = cpu->r[6];
|
|
/* 0284C4E8 */ cpu->r[27] = cpu->r[4];
|
|
/* 0284C4EC */ _t2 = cpu->r[27] + 0x00000008u;
|
|
/* 0284C4EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0284C4F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0284C4F4 */ cpu->r[28] = cpu->r[5];
|
|
/* 0284C4F8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C4F8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0284C4F8 */ if (_t4) goto L_0284C54C; else goto L_0284C4FC;
|
|
L_0284C4FC: ; // 0x284c4fc
|
|
/* 0284C4FC */ _t5 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0284C4FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284C500 */ _t6 = cpu->r[27] + 0x00000004u;
|
|
/* 0284C500 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284C504 */ cpu->r[0] = cpu->r[27] - cpu->r[31];
|
|
/* 0284C508 */ cpu->r[30] = cpu->r[8] - cpu->r[31];
|
|
/* 0284C50C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 0284C510 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C510 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284C510 */ if (_t8) goto L_0284C54C; else goto L_0284C514;
|
|
L_0284C514: ; // 0x284c514
|
|
/* 0284C514 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 0284C514 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284C518 */ _t10 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0284C518 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284C51C */ cpu->ctr = cpu->r[12];
|
|
/* 0284C520 */ cpu->r[5] = cpu->r[29];
|
|
/* 0284C524 */ cpu->r[4] = cpu->r[28];
|
|
/* 0284C528 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284C52C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284C530 */ _t11 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0284C530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284C534 */ cpu->r[9] = cpu->r[30] + cpu->r[31];
|
|
/* 0284C538 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 0284C538 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284C53C */ cpu->r[10] = cpu->r[27] - cpu->r[0];
|
|
/* 0284C540 */ cpu->r[30] = cpu->r[12] - cpu->r[31];
|
|
/* 0284C544 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 0284C548 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C548 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284C548 */ if (_t14) goto L_0284C54C; else goto L_0284C514;
|
|
L_0284C54C: ; // 0x284c54c
|
|
/* 0284C54C */ /* nop */
|
|
/* 0284C550 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 0284C550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284C554 */ cpu->lr = cpu->r[0];
|
|
/* 0284C558 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0284C55C */ return;
|
|
}
|
|
|
|
// fn_0284C560 @ 0x284c560
|
|
void Gambit_fn_0284C560(CPUState* cpu) {
|
|
uint32_t _t0, _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_0284C560: ; // 0x284c560
|
|
/* 0284C560 */ cpu->r[0] = cpu->lr;
|
|
/* 0284C564 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284C564 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C564 */ cpu->r[1] = _t0;
|
|
/* 0284C568 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C568 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284C56C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C56C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284C570 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284C570 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284C574 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C574 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0284C578 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C578 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284C57C */ _t6 = cpu->r[3] + 0x00000024u;
|
|
/* 0284C57C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284C580 */ cpu->r[31] = cpu->r[4];
|
|
/* 0284C584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284C588 */ cpu->r[30] = cpu->r[3] + 0x0000001Cu;
|
|
/* 0284C58C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C58C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284C58C */ if (_t8) goto L_0284C5D8; else goto L_0284C590;
|
|
L_0284C590: ; // 0x284c590
|
|
/* 0284C590 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C590 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284C594 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 0284C594 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284C598 */ cpu->r[0] = cpu->r[30] - cpu->r[28];
|
|
/* 0284C59C */ cpu->r[3] = cpu->r[11] - cpu->r[28];
|
|
/* 0284C5A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 0284C5A4 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 0284C5A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284C5A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C5A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284C5A8 */ if (_t13) goto L_0284C5D8; else goto L_0284C5AC;
|
|
L_0284C5AC: ; // 0x284c5ac
|
|
/* 0284C5AC */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 0284C5AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284C5B0 */ _t15 = cpu->r[7] + 0x0000002Cu;
|
|
/* 0284C5B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284C5B4 */ cpu->ctr = cpu->r[0];
|
|
/* 0284C5B8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284C5BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284C5C0 */ cpu->r[3] = cpu->r[29] - cpu->r[28];
|
|
/* 0284C5C4 */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 0284C5C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284C5C8 */ _t17 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C5C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284C5CC */ cpu->r[0] = cpu->r[30] - cpu->r[9];
|
|
/* 0284C5D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 0284C5D4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C5D4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284C5D4 */ if (_t19) goto L_0284C5D8; else goto L_0284C5AC;
|
|
L_0284C5D8: ; // 0x284c5d8
|
|
/* 0284C5D8 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0284C5D8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284C5DC */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C5DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284C5E0 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C5E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284C5E4 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C5E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284C5E8 */ cpu->lr = cpu->r[0];
|
|
/* 0284C5EC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C5EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284C5F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284C5F4 */ return;
|
|
}
|
|
|
|
// fn_0284C564 @ 0x284c564
|
|
void Gambit_fn_0284C564(CPUState* cpu) {
|
|
uint32_t _t0, _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_0284C564: ; // 0x284c564
|
|
/* 0284C564 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284C564 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C564 */ cpu->r[1] = _t0;
|
|
/* 0284C568 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C568 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284C56C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C56C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284C570 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284C570 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284C574 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C574 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0284C578 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C578 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284C57C */ _t6 = cpu->r[3] + 0x00000024u;
|
|
/* 0284C57C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284C580 */ cpu->r[31] = cpu->r[4];
|
|
/* 0284C584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284C588 */ cpu->r[30] = cpu->r[3] + 0x0000001Cu;
|
|
/* 0284C58C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C58C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284C58C */ if (_t8) goto L_0284C5D8; else goto L_0284C590;
|
|
L_0284C590: ; // 0x284c590
|
|
/* 0284C590 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C590 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284C594 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 0284C594 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284C598 */ cpu->r[0] = cpu->r[30] - cpu->r[28];
|
|
/* 0284C59C */ cpu->r[3] = cpu->r[11] - cpu->r[28];
|
|
/* 0284C5A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 0284C5A4 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 0284C5A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284C5A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C5A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284C5A8 */ if (_t13) goto L_0284C5D8; else goto L_0284C5AC;
|
|
L_0284C5AC: ; // 0x284c5ac
|
|
/* 0284C5AC */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 0284C5AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284C5B0 */ _t15 = cpu->r[7] + 0x0000002Cu;
|
|
/* 0284C5B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284C5B4 */ cpu->ctr = cpu->r[0];
|
|
/* 0284C5B8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284C5BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284C5C0 */ cpu->r[3] = cpu->r[29] - cpu->r[28];
|
|
/* 0284C5C4 */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 0284C5C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284C5C8 */ _t17 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C5C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284C5CC */ cpu->r[0] = cpu->r[30] - cpu->r[9];
|
|
/* 0284C5D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 0284C5D4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C5D4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284C5D4 */ if (_t19) goto L_0284C5D8; else goto L_0284C5AC;
|
|
L_0284C5D8: ; // 0x284c5d8
|
|
/* 0284C5D8 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0284C5D8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284C5DC */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C5DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284C5E0 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C5E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284C5E4 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C5E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284C5E8 */ cpu->lr = cpu->r[0];
|
|
/* 0284C5EC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C5EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284C5F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284C5F4 */ return;
|
|
}
|
|
|
|
// fn_0284C5FC @ 0x284c5fc
|
|
void Gambit_fn_0284C5FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0284C5FC: ; // 0x284c5fc
|
|
/* 0284C5FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284C5FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C5FC */ cpu->r[1] = _t0;
|
|
/* 0284C600 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C600 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284C604 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0284C608 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C608 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284C60C */ _t3 = cpu->r[12] + 0xFFFF9A1Cu;
|
|
/* 0284C60C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284C610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284C614 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284C618 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C618 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284C618 */ if (_t5) goto L_0284C628; else goto L_0284C61C;
|
|
L_0284C61C: ; // 0x284c61c
|
|
/* 0284C61C */ cpu->ctr = cpu->r[12];
|
|
/* 0284C620 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284C624 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284C628: ; // 0x284c628
|
|
/* 0284C628 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0284C62C */ _t6 = cpu->r[3] + 0xFFFF9A14u;
|
|
/* 0284C62C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284C630 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284C634 */ Gambit_fn_0284C560(cpu);
|
|
/* 0284C638 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C638 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284C63C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C63C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284C640 */ cpu->lr = cpu->r[0];
|
|
/* 0284C644 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284C648 */ return;
|
|
}
|
|
|
|
// fn_0284C64C @ 0x284c64c
|
|
void Gambit_fn_0284C64C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0284C64C: ; // 0x284c64c
|
|
/* 0284C64C */ cpu->r[0] = cpu->lr;
|
|
/* 0284C650 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0284C654 */ cpu->r[4] = cpu->r[4] + 0xFFFF9A1Cu;
|
|
/* 0284C658 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0284C658 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0284C65C */ cpu->r[3] = 0x00000001u;
|
|
/* 0284C660 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284C660 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0284C660 */ cpu->r[1] = _t1;
|
|
/* 0284C664 */ rbrew_dispatch(cpu, 0x02d065a0u);
|
|
/* 0284C668 */ cpu->r[4] = 0x02850000u;
|
|
/* 0284C66C */ cpu->r[3] = 0x00000001u;
|
|
/* 0284C670 */ cpu->r[4] = cpu->r[4] + 0xFFFFC5F8u;
|
|
/* 0284C674 */ rbrew_dispatch(cpu, 0x02d06748u);
|
|
/* 0284C678 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0284C67C */ cpu->lr = cpu->r[0];
|
|
/* 0284C680 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284C684 */ return;
|
|
}
|
|
|
|
// fn_0284C660 @ 0x284c660
|
|
void Gambit_fn_0284C660(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0284C660: ; // 0x284c660
|
|
/* 0284C660 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284C660 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C660 */ cpu->r[1] = _t0;
|
|
/* 0284C664 */ rbrew_dispatch(cpu, 0x02d065a0u);
|
|
/* 0284C668 */ cpu->r[4] = 0x02850000u;
|
|
/* 0284C66C */ cpu->r[3] = 0x00000001u;
|
|
/* 0284C670 */ cpu->r[4] = cpu->r[4] + 0xFFFFC5F8u;
|
|
/* 0284C674 */ rbrew_dispatch(cpu, 0x02d06748u);
|
|
/* 0284C678 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0284C67C */ cpu->lr = cpu->r[0];
|
|
/* 0284C680 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284C684 */ return;
|
|
}
|
|
|
|
// fn_0284C688 @ 0x284c688
|
|
void Gambit_fn_0284C688(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0284C688: ; // 0x284c688
|
|
/* 0284C688 */ cpu->r[0] = cpu->lr;
|
|
/* 0284C68C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284C68C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C68C */ cpu->r[1] = _t0;
|
|
/* 0284C690 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C690 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284C694 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C694 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284C698 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C698 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0284C69C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C69C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284C6A0 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284C6A4 */ _t5 = cpu->r[29] + 0x0000002Cu;
|
|
/* 0284C6A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0284C6A8 */ cpu->r[31] = cpu->r[5];
|
|
/* 0284C6AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284C6B0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0284C6B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C6B4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284C6B4 */ if (_t7) goto L_0284C6B8; else goto L_0284C710;
|
|
L_0284C6B8: ; // 0x284c6b8
|
|
/* 0284C6B8 */ _t8 = cpu->r[29] + 0x00000014u;
|
|
/* 0284C6B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284C6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284C6C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C6C0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284C6C0 */ if (_t10) goto L_0284C6E0; else goto L_0284C6C4;
|
|
L_0284C6C4: ; // 0x284c6c4
|
|
/* 0284C6C4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284C6C8 */ Gambit_fn_0284C498(cpu);
|
|
/* 0284C6CC */ cpu->r[6] = cpu->r[31];
|
|
/* 0284C6D0 */ cpu->r[5] = cpu->r[30];
|
|
/* 0284C6D4 */ cpu->r[4] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0284C6D8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284C6DC */ Gambit_fn_0284C4D4(cpu);
|
|
L_0284C6E0: ; // 0x284c6e0
|
|
/* 0284C6E0 */ _t11 = cpu->r[29] + 0x00000024u;
|
|
/* 0284C6E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284C6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284C6E8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C6E8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284C6E8 */ if (_t13) goto L_0284C708; else goto L_0284C6EC;
|
|
L_0284C6EC: ; // 0x284c6ec
|
|
/* 0284C6EC */ cpu->r[3] = cpu->r[29];
|
|
/* 0284C6F0 */ Gambit_fn_0284C64C(cpu);
|
|
/* 0284C6F4 */ cpu->r[6] = cpu->r[31];
|
|
/* 0284C6F8 */ cpu->r[5] = cpu->r[30];
|
|
/* 0284C6FC */ cpu->r[4] = cpu->r[29] + 0x0000001Cu;
|
|
/* 0284C700 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284C704 */ Gambit_fn_0284C4D4(cpu);
|
|
L_0284C708: ; // 0x284c708
|
|
/* 0284C708 */ cpu->r[11] = 0x00000001u;
|
|
/* 0284C70C */ _t14 = cpu->r[29] + 0x0000002Cu;
|
|
/* 0284C70C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[11]);
|
|
L_0284C710: ; // 0x284c710
|
|
/* 0284C710 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C710 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284C714 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284C718 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C718 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284C71C */ cpu->lr = cpu->r[0];
|
|
/* 0284C720 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C720 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284C724 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284C728 */ return;
|
|
}
|
|
|
|
// fn_0284C68C @ 0x284c68c
|
|
void Gambit_fn_0284C68C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0284C68C: ; // 0x284c68c
|
|
/* 0284C68C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284C68C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C68C */ cpu->r[1] = _t0;
|
|
/* 0284C690 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C690 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284C694 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C694 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284C698 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C698 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0284C69C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C69C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284C6A0 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284C6A4 */ _t5 = cpu->r[29] + 0x0000002Cu;
|
|
/* 0284C6A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0284C6A8 */ cpu->r[31] = cpu->r[5];
|
|
/* 0284C6AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284C6B0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0284C6B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C6B4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284C6B4 */ if (_t7) goto L_0284C6B8; else goto L_0284C710;
|
|
L_0284C6B8: ; // 0x284c6b8
|
|
/* 0284C6B8 */ _t8 = cpu->r[29] + 0x00000014u;
|
|
/* 0284C6B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284C6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284C6C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C6C0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284C6C0 */ if (_t10) goto L_0284C6E0; else goto L_0284C6C4;
|
|
L_0284C6C4: ; // 0x284c6c4
|
|
/* 0284C6C4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284C6C8 */ Gambit_fn_0284C498(cpu);
|
|
/* 0284C6CC */ cpu->r[6] = cpu->r[31];
|
|
/* 0284C6D0 */ cpu->r[5] = cpu->r[30];
|
|
/* 0284C6D4 */ cpu->r[4] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0284C6D8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284C6DC */ Gambit_fn_0284C4D4(cpu);
|
|
L_0284C6E0: ; // 0x284c6e0
|
|
/* 0284C6E0 */ _t11 = cpu->r[29] + 0x00000024u;
|
|
/* 0284C6E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284C6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284C6E8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C6E8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284C6E8 */ if (_t13) goto L_0284C708; else goto L_0284C6EC;
|
|
L_0284C6EC: ; // 0x284c6ec
|
|
/* 0284C6EC */ cpu->r[3] = cpu->r[29];
|
|
/* 0284C6F0 */ Gambit_fn_0284C64C(cpu);
|
|
/* 0284C6F4 */ cpu->r[6] = cpu->r[31];
|
|
/* 0284C6F8 */ cpu->r[5] = cpu->r[30];
|
|
/* 0284C6FC */ cpu->r[4] = cpu->r[29] + 0x0000001Cu;
|
|
/* 0284C700 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284C704 */ Gambit_fn_0284C4D4(cpu);
|
|
L_0284C708: ; // 0x284c708
|
|
/* 0284C708 */ cpu->r[11] = 0x00000001u;
|
|
/* 0284C70C */ _t14 = cpu->r[29] + 0x0000002Cu;
|
|
/* 0284C70C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[11]);
|
|
L_0284C710: ; // 0x284c710
|
|
/* 0284C710 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C710 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284C714 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284C718 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C718 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284C71C */ cpu->lr = cpu->r[0];
|
|
/* 0284C720 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C720 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284C724 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284C728 */ return;
|
|
}
|
|
|
|
// fn_0284C72C @ 0x284c72c
|
|
void Gambit_fn_0284C72C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_0284C72C: ; // 0x284c72c
|
|
/* 0284C72C */ cpu->r[0] = cpu->lr;
|
|
/* 0284C730 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284C730 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C730 */ cpu->r[1] = _t0;
|
|
/* 0284C734 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C734 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284C738 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C738 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284C73C */ cpu->r[30] = cpu->r[5];
|
|
/* 0284C740 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C740 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0284C744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000001u);
|
|
/* 0284C748 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C748 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284C74C */ cpu->r[29] = cpu->r[3];
|
|
/* 0284C750 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284C750 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284C750 */ if (_t6) goto L_0284C774; else goto L_0284C754;
|
|
L_0284C754: ; // 0x284c754
|
|
/* 0284C754 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C754 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284C754 */ if (_t8) goto L_0284C7D8; else goto L_0284C758;
|
|
L_0284C758: ; // 0x284c758
|
|
/* 0284C758 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C758 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284C75C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C75C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284C760 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C760 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284C764 */ cpu->lr = cpu->r[0];
|
|
/* 0284C768 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C768 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284C76C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284C770 */ return;
|
|
L_0284C774: ; // 0x284c774
|
|
/* 0284C774 */ _t13 = cpu->r[29] + 0x0000002Cu;
|
|
/* 0284C774 */ cpu->r[10] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284C778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284C77C */ cpu->r[31] = cpu->r[29] + 0x00000014u;
|
|
/* 0284C780 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C780 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284C780 */ if (_t15) goto L_0284C784; else goto L_0284C7A4;
|
|
L_0284C784: ; // 0x284c784
|
|
/* 0284C784 */ _t16 = cpu->r[29] + 0x00000018u;
|
|
/* 0284C784 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284C788 */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0284C78C */ cpu->r[4] = cpu->r[30] + cpu->r[12];
|
|
/* 0284C790 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0284C794 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 0284C794 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284C798 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0284C79C */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 0284C79C */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0284C7A0 */ goto L_0284C814;
|
|
L_0284C7A4: ; // 0x284c7a4
|
|
/* 0284C7A4 */ _t19 = cpu->r[29] + 0x00000014u;
|
|
/* 0284C7A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284C7A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284C7AC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C7AC */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284C7AC */ if (_t21) goto L_0284C7B8; else goto L_0284C7B0;
|
|
L_0284C7B0: ; // 0x284c7b0
|
|
/* 0284C7B0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284C7B4 */ Gambit_fn_0284C498(cpu);
|
|
L_0284C7B8: ; // 0x284c7b8
|
|
/* 0284C7B8 */ _t22 = cpu->r[29] + 0x00000018u;
|
|
/* 0284C7B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284C7BC */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0284C7C0 */ cpu->r[4] = cpu->r[30] + cpu->r[12];
|
|
/* 0284C7C4 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0284C7C8 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 0284C7C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284C7CC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0284C7D0 */ _t24 = cpu->r[31] + 0x00000000u;
|
|
/* 0284C7D0 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0284C7D4 */ goto L_0284C814;
|
|
L_0284C7D8: ; // 0x284c7d8
|
|
/* 0284C7D8 */ _t25 = cpu->r[29] + 0x0000002Cu;
|
|
/* 0284C7D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0284C7DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284C7E0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C7E0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0284C7E0 */ if (_t27) goto L_0284C7F8; else goto L_0284C7E4;
|
|
L_0284C7E4: ; // 0x284c7e4
|
|
/* 0284C7E4 */ _t28 = cpu->r[29] + 0x00000014u;
|
|
/* 0284C7E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284C7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284C7EC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C7EC */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284C7EC */ if (_t30) goto L_0284C7F8; else goto L_0284C7F0;
|
|
L_0284C7F0: ; // 0x284c7f0
|
|
/* 0284C7F0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284C7F4 */ Gambit_fn_0284C64C(cpu);
|
|
L_0284C7F8: ; // 0x284c7f8
|
|
/* 0284C7F8 */ _t31 = cpu->r[29] + 0x00000028u;
|
|
/* 0284C7F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284C7FC */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 0284C800 */ cpu->r[4] = cpu->r[30] + cpu->r[0];
|
|
/* 0284C804 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0284C808 */ _t32 = cpu->r[29] + 0x00000024u;
|
|
/* 0284C808 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284C80C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0284C810 */ _t33 = cpu->r[29] + 0x00000024u;
|
|
/* 0284C810 */ rbrew_write32(cpu->mem, _t33, cpu->r[9]);
|
|
L_0284C814: ; // 0x284c814
|
|
/* 0284C814 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C814 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284C818 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0284C81C */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C81C */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0284C820 */ cpu->lr = cpu->r[0];
|
|
/* 0284C824 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C824 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0284C828 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284C82C */ return;
|
|
}
|
|
|
|
// fn_0284C730 @ 0x284c730
|
|
void Gambit_fn_0284C730(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_0284C730: ; // 0x284c730
|
|
/* 0284C730 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284C730 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C730 */ cpu->r[1] = _t0;
|
|
/* 0284C734 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C734 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284C738 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C738 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284C73C */ cpu->r[30] = cpu->r[5];
|
|
/* 0284C740 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C740 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0284C744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000001u);
|
|
/* 0284C748 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C748 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284C74C */ cpu->r[29] = cpu->r[3];
|
|
/* 0284C750 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284C750 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284C750 */ if (_t6) goto L_0284C774; else goto L_0284C754;
|
|
L_0284C754: ; // 0x284c754
|
|
/* 0284C754 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C754 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284C754 */ if (_t8) goto L_0284C7D8; else goto L_0284C758;
|
|
L_0284C758: ; // 0x284c758
|
|
/* 0284C758 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C758 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284C75C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C75C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284C760 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C760 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284C764 */ cpu->lr = cpu->r[0];
|
|
/* 0284C768 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C768 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284C76C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284C770 */ return;
|
|
L_0284C774: ; // 0x284c774
|
|
/* 0284C774 */ _t13 = cpu->r[29] + 0x0000002Cu;
|
|
/* 0284C774 */ cpu->r[10] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284C778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284C77C */ cpu->r[31] = cpu->r[29] + 0x00000014u;
|
|
/* 0284C780 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C780 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284C780 */ if (_t15) goto L_0284C784; else goto L_0284C7A4;
|
|
L_0284C784: ; // 0x284c784
|
|
/* 0284C784 */ _t16 = cpu->r[29] + 0x00000018u;
|
|
/* 0284C784 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284C788 */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0284C78C */ cpu->r[4] = cpu->r[30] + cpu->r[12];
|
|
/* 0284C790 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0284C794 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 0284C794 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284C798 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0284C79C */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 0284C79C */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0284C7A0 */ goto L_0284C814;
|
|
L_0284C7A4: ; // 0x284c7a4
|
|
/* 0284C7A4 */ _t19 = cpu->r[29] + 0x00000014u;
|
|
/* 0284C7A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284C7A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284C7AC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C7AC */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284C7AC */ if (_t21) goto L_0284C7B8; else goto L_0284C7B0;
|
|
L_0284C7B0: ; // 0x284c7b0
|
|
/* 0284C7B0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284C7B4 */ Gambit_fn_0284C498(cpu);
|
|
L_0284C7B8: ; // 0x284c7b8
|
|
/* 0284C7B8 */ _t22 = cpu->r[29] + 0x00000018u;
|
|
/* 0284C7B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284C7BC */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0284C7C0 */ cpu->r[4] = cpu->r[30] + cpu->r[12];
|
|
/* 0284C7C4 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0284C7C8 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 0284C7C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284C7CC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0284C7D0 */ _t24 = cpu->r[31] + 0x00000000u;
|
|
/* 0284C7D0 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0284C7D4 */ goto L_0284C814;
|
|
L_0284C7D8: ; // 0x284c7d8
|
|
/* 0284C7D8 */ _t25 = cpu->r[29] + 0x0000002Cu;
|
|
/* 0284C7D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0284C7DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284C7E0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C7E0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0284C7E0 */ if (_t27) goto L_0284C7F8; else goto L_0284C7E4;
|
|
L_0284C7E4: ; // 0x284c7e4
|
|
/* 0284C7E4 */ _t28 = cpu->r[29] + 0x00000014u;
|
|
/* 0284C7E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284C7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284C7EC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C7EC */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284C7EC */ if (_t30) goto L_0284C7F8; else goto L_0284C7F0;
|
|
L_0284C7F0: ; // 0x284c7f0
|
|
/* 0284C7F0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284C7F4 */ Gambit_fn_0284C64C(cpu);
|
|
L_0284C7F8: ; // 0x284c7f8
|
|
/* 0284C7F8 */ _t31 = cpu->r[29] + 0x00000028u;
|
|
/* 0284C7F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284C7FC */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 0284C800 */ cpu->r[4] = cpu->r[30] + cpu->r[0];
|
|
/* 0284C804 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0284C808 */ _t32 = cpu->r[29] + 0x00000024u;
|
|
/* 0284C808 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284C80C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0284C810 */ _t33 = cpu->r[29] + 0x00000024u;
|
|
/* 0284C810 */ rbrew_write32(cpu->mem, _t33, cpu->r[9]);
|
|
L_0284C814: ; // 0x284c814
|
|
/* 0284C814 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284C814 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284C818 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284C818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0284C81C */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 0284C81C */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0284C820 */ cpu->lr = cpu->r[0];
|
|
/* 0284C824 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 0284C824 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0284C828 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284C82C */ return;
|
|
}
|
|
|
|
// fn_0284C830 @ 0x284c830
|
|
void Gambit_fn_0284C830(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0284C830: ; // 0x284c830
|
|
/* 0284C830 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0284C834 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284C838 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284C83C */ cpu->r[12] = cpu->r[12] + 0x00006CC8u;
|
|
/* 0284C840 */ cpu->r[11] = cpu->r[11] + 0xFFFFFB08u;
|
|
/* 0284C844 */ cpu->r[0] = cpu->r[0] + 0xFFFFFBD0u;
|
|
/* 0284C848 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 0284C848 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 0284C84C */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 0284C84C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284C850 */ return;
|
|
}
|
|
|
|
// fn_0284C854 @ 0x284c854
|
|
void Gambit_fn_0284C854(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_0284C854: ; // 0x284c854
|
|
/* 0284C854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C858 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C858 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284C858 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284C858 */ goto L_0284C85C;
|
|
L_0284C85C: ; // 0x284c85c
|
|
/* 0284C85C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284C85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284C860 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C860 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284C860 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284C860 */ goto L_0284C864;
|
|
L_0284C864: ; // 0x284c864
|
|
/* 0284C864 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0284C868 @ 0x284c868
|
|
void Gambit_fn_0284C868(CPUState* cpu) {
|
|
L_0284C868: ; // 0x284c868
|
|
/* 0284C868 */ return;
|
|
}
|
|
|
|
// fn_0284C86C @ 0x284c86c
|
|
void Gambit_fn_0284C86C(CPUState* cpu) {
|
|
L_0284C86C: ; // 0x284c86c
|
|
/* 0284C86C */ return;
|
|
}
|
|
|
|
// fn_0284C870 @ 0x284c870
|
|
void Gambit_fn_0284C870(CPUState* cpu) {
|
|
L_0284C870: ; // 0x284c870
|
|
/* 0284C870 */ return;
|
|
}
|
|
|
|
// fn_0284C874 @ 0x284c874
|
|
void Gambit_fn_0284C874(CPUState* cpu) {
|
|
L_0284C874: ; // 0x284c874
|
|
/* 0284C874 */ return;
|
|
}
|
|
|
|
// fn_0284C878 @ 0x284c878
|
|
void Gambit_fn_0284C878(CPUState* cpu) {
|
|
L_0284C878: ; // 0x284c878
|
|
/* 0284C878 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284C87C */ return;
|
|
}
|
|
|
|
// fn_0284C880 @ 0x284c880
|
|
void Gambit_fn_0284C880(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0284C880: ; // 0x284c880
|
|
/* 0284C880 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284C884 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0284C884 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 0284C888 */ return;
|
|
}
|
|
|
|
// fn_0284C88C @ 0x284c88c
|
|
void Gambit_fn_0284C88C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0284C880: ; // 0x284c880
|
|
/* 0284C880 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284C884 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0284C884 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 0284C888 */ return;
|
|
L_0284C88C: ; // 0x284c88c
|
|
/* 0284C88C */ goto L_0284C880;
|
|
}
|
|
|
|
// fn_0284C890 @ 0x284c890
|
|
void Gambit_fn_0284C890(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_0284C890: ; // 0x284c890
|
|
/* 0284C890 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0284C890 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C890 */ cpu->r[1] = _t0;
|
|
/* 0284C894 */ cpu->r[0] = cpu->lr;
|
|
/* 0284C898 */ /* nop */
|
|
/* 0284C89C */ cpu->r[30] = cpu->r[3];
|
|
/* 0284C89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284C8A0 */ cpu->r[31] = cpu->r[4];
|
|
/* 0284C8A4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284C8A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284C8A8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C8A8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0284C8A8 */ if (_t3) goto L_0284C98C; else goto L_0284C8AC;
|
|
L_0284C8AC: ; // 0x284c8ac
|
|
/* 0284C8AC */ cpu->r[0] = 0x10130000u;
|
|
/* 0284C8B0 */ cpu->r[0] = cpu->r[0] + 0xFFFFFD28u;
|
|
/* 0284C8B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284C8B8 */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 0284C8B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284C8BC */ Gambit_fn_0284C88C(cpu);
|
|
/* 0284C8C0 */ cpu->r[29] = 0x00000000u;
|
|
/* 0284C8C4 */ _t5 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C8C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284C8C8 */ cpu->r[24] = cpu->r[29];
|
|
/* 0284C8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]);
|
|
/* 0284C8D0 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 0284C8D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284C8D4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284C8D4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284C8D4 */ if (_t8) goto L_0284C8E4; else goto L_0284C8D8;
|
|
L_0284C8D8: ; // 0x284c8d8
|
|
/* 0284C8D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C8DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C8DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284C8DC */ if (_t10) goto L_0284C968; else goto L_0284C8E0;
|
|
L_0284C8E0: ; // 0x284c8e0
|
|
/* 0284C8E0 */ goto L_0284C94C;
|
|
L_0284C8E4: ; // 0x284c8e4
|
|
/* 0284C8E4 */ cpu->r[25] = 0x00000000u;
|
|
/* 0284C8E8 */ cpu->r[28] = 0x101D0000u;
|
|
/* 0284C8EC */ cpu->r[27] = cpu->r[25];
|
|
L_0284C8F0: ; // 0x284c8f0
|
|
/* 0284C8F0 */ cpu->r[26] = cpu->r[3] + cpu->r[25];
|
|
/* 0284C8F4 */ _t11 = cpu->r[26] + 0x00000004u;
|
|
/* 0284C8F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284C8F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284C8FC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C8FC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284C8FC */ if (_t13) goto L_0284C934; else goto L_0284C900;
|
|
L_0284C900: ; // 0x284c900
|
|
/* 0284C900 */ _t14 = cpu->r[26] + 0x00000000u;
|
|
/* 0284C900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284C904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284C908 */ _t15 = cpu->r[28] + 0xFFFF98F0u;
|
|
/* 0284C908 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284C90C */ Gambit_fn_02826B90(cpu);
|
|
/* 0284C910 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284C910 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284C914 */ _t17 = cpu->r[9] + 0x0000003Cu;
|
|
/* 0284C914 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284C918 */ cpu->ctr = cpu->r[10];
|
|
/* 0284C91C */ _t18 = cpu->r[26] + 0x00000004u;
|
|
/* 0284C91C */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284C920 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284C924 */ _t19 = cpu->r[26] + 0x00000004u;
|
|
/* 0284C924 */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
/* 0284C928 */ _t20 = cpu->r[26] + 0x00000000u;
|
|
/* 0284C928 */ rbrew_write32(cpu->mem, _t20, cpu->r[27]);
|
|
/* 0284C92C */ _t21 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C92C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284C930 */ _t22 = cpu->r[30] + 0x00000018u;
|
|
/* 0284C930 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
L_0284C934: ; // 0x284c934
|
|
/* 0284C934 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 0284C938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]);
|
|
/* 0284C93C */ cpu->r[25] = cpu->r[25] + 0x00000008u;
|
|
/* 0284C940 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284C940 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0284C940 */ if (_t24) goto L_0284C8F0; else goto L_0284C944;
|
|
L_0284C944: ; // 0x284c944
|
|
/* 0284C944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C948 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C948 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0284C948 */ if (_t26) goto L_0284C968; else goto L_0284C94C;
|
|
L_0284C94C: ; // 0x284c94c
|
|
/* 0284C94C */ cpu->r[6] = 0x00000000u;
|
|
/* 0284C950 */ cpu->r[7] = 0x00000001u;
|
|
/* 0284C954 */ cpu->r[5] = 0x00000008u;
|
|
/* 0284C958 */ cpu->r[8] = cpu->r[6];
|
|
/* 0284C95C */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 0284C960 */ Gambit_fn_02C82F38(cpu);
|
|
/* 0284C964 */ _t27 = cpu->r[30] + 0x00000018u;
|
|
/* 0284C964 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
L_0284C968: ; // 0x284c968
|
|
/* 0284C968 */ _t28 = cpu->r[30] + 0x00000020u;
|
|
/* 0284C968 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284C96C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284C970 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C970 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284C970 */ if (_t30) goto L_0284C97C; else goto L_0284C974;
|
|
L_0284C974: ; // 0x284c974
|
|
/* 0284C974 */ Gambit_fn_02801BB4(cpu);
|
|
/* 0284C978 */ _t31 = cpu->r[30] + 0x00000020u;
|
|
/* 0284C978 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
L_0284C97C: ; // 0x284c97c
|
|
/* 0284C97C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284C97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284C980 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C980 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0284C980 */ if (_t33) goto L_0284C98C; else goto L_0284C984;
|
|
L_0284C984: ; // 0x284c984
|
|
/* 0284C984 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284C988 */ Gambit_fn_02801BB0(cpu);
|
|
L_0284C98C: ; // 0x284c98c
|
|
/* 0284C98C */ /* nop */
|
|
/* 0284C990 */ _t34 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284C990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284C994 */ cpu->lr = cpu->r[0];
|
|
/* 0284C998 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0284C99C */ return;
|
|
}
|
|
|
|
// fn_0284C9A0 @ 0x284c9a0
|
|
void Gambit_fn_0284C9A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51;
|
|
|
|
L_0284C9A0: ; // 0x284c9a0
|
|
/* 0284C9A0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0284C9A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284C9A0 */ cpu->r[1] = _t0;
|
|
/* 0284C9A4 */ /* nop */
|
|
/* 0284C9A8 */ cpu->r[0] = cpu->lr;
|
|
/* 0284C9AC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284C9AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284C9B0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284C9B4 */ _t2 = cpu->r[30] + 0x00000010u;
|
|
/* 0284C9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0284C9B8 */ _t3 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0284C9B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284C9BC */ _t4 = cpu->r[30] + 0x00000024u;
|
|
/* 0284C9BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284C9C0 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[0]);
|
|
/* 0284C9C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0284C9C8 */ cpu->r[28] = cpu->r[5];
|
|
/* 0284C9CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284C9CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284C9CC */ if (_t6) goto L_0284C9D4; else goto L_0284C9D0;
|
|
L_0284C9D0: ; // 0x284c9d0
|
|
/* 0284C9D0 */ cpu->r[28] = cpu->r[6];
|
|
L_0284C9D4: ; // 0x284c9d4
|
|
/* 0284C9D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284C9D8 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284C9D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284C9DC */ cpu->r[29] = 0x00000000u;
|
|
/* 0284C9E0 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284C9E0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284C9E0 */ if (_t9) goto L_0284CA48; else goto L_0284C9E4;
|
|
L_0284C9E4: ; // 0x284c9e4
|
|
/* 0284C9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0284C9E8 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284C9E8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284C9E8 */ if (_t11) goto L_0284C9EC; else goto L_0284CAF8;
|
|
L_0284C9EC: ; // 0x284c9ec
|
|
/* 0284C9EC */ cpu->r[5] = 0x00000000u;
|
|
L_0284C9F0: ; // 0x284c9f0
|
|
/* 0284C9F0 */ _t12 = cpu->r[30] + 0x00000018u;
|
|
/* 0284C9F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284C9F4 */ _t13 = cpu->r[11] + cpu->r[5];
|
|
/* 0284C9F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284C9F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0284C9FC */ cpu->r[7] = cpu->r[11] + cpu->r[5];
|
|
/* 0284CA00 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284CA00 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284CA00 */ if (_t15) goto L_0284CA04; else goto L_0284CA24;
|
|
L_0284CA04: ; // 0x284ca04
|
|
/* 0284CA04 */ cpu->r[11] = 0x00000000u;
|
|
/* 0284CA08 */ cpu->ctr = cpu->r[9];
|
|
/* 0284CA0C */ cpu->r[0] = cpu->r[11];
|
|
L_0284CA10: ; // 0x284ca10
|
|
/* 0284CA10 */ _t16 = cpu->r[7] + 0x00000004u;
|
|
/* 0284CA10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284CA14 */ _t17 = cpu->r[12] + cpu->r[11];
|
|
/* 0284CA14 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[0]);
|
|
/* 0284CA18 */ cpu->r[11] = cpu->r[11] + 0x00000002u;
|
|
/* 0284CA1C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284CA1C */ _t18 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284CA1C */ _t19 = _t18 >> (0x00000002u & 31u);
|
|
/* 0284CA1C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284CA1C */ if (_t20) goto L_0284CA10; else goto L_0284CA20;
|
|
L_0284CA20: ; // 0x284ca20
|
|
/* 0284CA20 */ _t21 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284CA20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
L_0284CA24: ; // 0x284ca24
|
|
/* 0284CA24 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0284CA28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0284CA2C */ cpu->r[5] = cpu->r[5] + 0x00000008u;
|
|
/* 0284CA30 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284CA30 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0284CA30 */ if (_t23) goto L_0284C9F0; else goto L_0284CA34;
|
|
L_0284CA34: ; // 0x284ca34
|
|
/* 0284CA34 */ /* nop */
|
|
/* 0284CA38 */ _t24 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284CA38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284CA3C */ cpu->lr = cpu->r[0];
|
|
/* 0284CA40 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0284CA44 */ return;
|
|
L_0284CA48: ; // 0x284ca48
|
|
/* 0284CA48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0284CA4C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284CA4C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0284CA4C */ if (_t26) goto L_0284CA50; else goto L_0284CAF8;
|
|
L_0284CA50: ; // 0x284ca50
|
|
/* 0284CA50 */ cpu->r[27] = 0x101D0000u;
|
|
/* 0284CA54 */ cpu->r[26] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0284CA58 */ cpu->r[25] = 0x00000000u;
|
|
L_0284CA5C: ; // 0x284ca5c
|
|
/* 0284CA5C */ _t27 = cpu->r[30] + 0x00000018u;
|
|
/* 0284CA5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284CA60 */ cpu->r[10] = cpu->r[28];
|
|
/* 0284CA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284CA64 */ cpu->r[24] = cpu->r[4] + cpu->r[25];
|
|
/* 0284CA68 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CA68 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0284CA68 */ if (_t29) goto L_0284CA6C; else goto L_0284CA78;
|
|
L_0284CA6C: ; // 0x284ca6c
|
|
/* 0284CA6C */ _t30 = cpu->r[27] + 0xFFFF98F0u;
|
|
/* 0284CA6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284CA70 */ Gambit_fn_02826F20(cpu);
|
|
/* 0284CA74 */ cpu->r[10] = cpu->r[3];
|
|
L_0284CA78: ; // 0x284ca78
|
|
/* 0284CA78 */ _t31 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0284CA78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284CA7C */ _t32 = cpu->r[5] + 0x00000034u;
|
|
/* 0284CA7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284CA80 */ cpu->ctr = cpu->r[7];
|
|
/* 0284CA84 */ cpu->r[5] = 0x00000040u;
|
|
/* 0284CA88 */ cpu->r[4] = cpu->r[26];
|
|
/* 0284CA8C */ cpu->r[3] = cpu->r[10];
|
|
/* 0284CA90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284CA94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284CA98 */ cpu->r[0] = cpu->r[31];
|
|
/* 0284CA9C */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284CA9C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0284CA9C */ if (_t34) goto L_0284CAA4; else goto L_0284CAA0;
|
|
L_0284CAA0: ; // 0x284caa0
|
|
/* 0284CAA0 */ cpu->r[0] = 0x00000001u;
|
|
L_0284CAA4: ; // 0x284caa4
|
|
/* 0284CAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284CAA8 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CAA8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0284CAA8 */ if (_t36) goto L_0284CAB4; else goto L_0284CAAC;
|
|
L_0284CAAC: ; // 0x284caac
|
|
/* 0284CAAC */ _t37 = cpu->r[24] + 0x00000004u;
|
|
/* 0284CAAC */ rbrew_write32(cpu->mem, _t37, cpu->r[3]);
|
|
/* 0284CAB0 */ _t38 = cpu->r[24] + 0x00000000u;
|
|
/* 0284CAB0 */ rbrew_write32(cpu->mem, _t38, cpu->r[31]);
|
|
L_0284CAB4: ; // 0x284cab4
|
|
/* 0284CAB4 */ _t39 = cpu->r[30] + 0x00000018u;
|
|
/* 0284CAB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284CAB8 */ _t40 = cpu->r[8] + cpu->r[25];
|
|
/* 0284CAB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0284CABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0284CAC0 */ cpu->r[7] = cpu->r[8] + cpu->r[25];
|
|
/* 0284CAC4 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284CAC4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0284CAC4 */ if (_t42) goto L_0284CAC8; else goto L_0284CAE4;
|
|
L_0284CAC8: ; // 0x284cac8
|
|
/* 0284CAC8 */ cpu->r[8] = 0x00000000u;
|
|
/* 0284CACC */ cpu->ctr = cpu->r[6];
|
|
/* 0284CAD0 */ cpu->r[0] = cpu->r[8];
|
|
L_0284CAD4: ; // 0x284cad4
|
|
/* 0284CAD4 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 0284CAD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0284CAD8 */ _t44 = cpu->r[10] + cpu->r[8];
|
|
/* 0284CAD8 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 0284CADC */ cpu->r[8] = cpu->r[8] + 0x00000002u;
|
|
/* 0284CAE0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284CAE0 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284CAE0 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 0284CAE0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0284CAE0 */ if (_t47) goto L_0284CAD4; else goto L_0284CAE4;
|
|
L_0284CAE4: ; // 0x284cae4
|
|
/* 0284CAE4 */ _t48 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284CAE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0284CAE8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0284CAEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 0284CAF0 */ cpu->r[25] = cpu->r[25] + 0x00000008u;
|
|
/* 0284CAF4 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284CAF4 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0284CAF4 */ if (_t50) goto L_0284CA5C; else goto L_0284CAF8;
|
|
L_0284CAF8: ; // 0x284caf8
|
|
/* 0284CAF8 */ /* nop */
|
|
/* 0284CAFC */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284CAFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0284CB00 */ cpu->lr = cpu->r[0];
|
|
/* 0284CB04 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0284CB08 */ return;
|
|
}
|
|
|
|
// fn_0284CB0C @ 0x284cb0c
|
|
void Gambit_fn_0284CB0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_0284CB0C: ; // 0x284cb0c
|
|
/* 0284CB0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284CB0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284CB0C */ cpu->r[1] = _t0;
|
|
/* 0284CB10 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CB10 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284CB14 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CB14 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284CB18 */ _t3 = cpu->r[3] + 0x00000020u;
|
|
/* 0284CB18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284CB1C */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284CB20 */ _t4 = cpu->r[31] + cpu->r[12];
|
|
/* 0284CB20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284CB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 0284CB28 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284CB28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284CB28 */ if (_t6) goto L_0284CB40; else goto L_0284CB2C;
|
|
L_0284CB2C: ; // 0x284cb2c
|
|
/* 0284CB2C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CB2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284CB30 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CB30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284CB34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284CB38 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284CB3C */ return;
|
|
L_0284CB40: ; // 0x284cb40
|
|
/* 0284CB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0284CB44 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284CB44 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284CB44 */ if (_t10) goto L_0284CB48; else goto L_0284CBE0;
|
|
L_0284CB48: ; // 0x284cb48
|
|
/* 0284CB48 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_0284CB4C: ; // 0x284cb4c
|
|
/* 0284CB4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0284CB50 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284CB50 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284CB50 */ if (_t12) goto L_0284CB54; else goto L_0284CBD4;
|
|
L_0284CB54: ; // 0x284cb54
|
|
/* 0284CB54 */ cpu->ctr = cpu->r[7];
|
|
/* 0284CB58 */ _t13 = cpu->r[31] + cpu->r[12];
|
|
/* 0284CB58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284CB5C */ cpu->r[30] = cpu->r[6] - cpu->r[11];
|
|
L_0284CB60: ; // 0x284cb60
|
|
/* 0284CB60 */ _t14 = cpu->r[30] + cpu->r[11];
|
|
/* 0284CB60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284CB60 */ cpu->r[30] = _t14;
|
|
/* 0284CB64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFF8000u);
|
|
/* 0284CB68 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284CB68 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0284CB68 */ if (_t16) goto L_0284CB6C; else goto L_0284CB9C;
|
|
L_0284CB6C: ; // 0x284cb6c
|
|
/* 0284CB6C */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0284CB70 */ cpu->r[4] = 0xFFFF8000u;
|
|
/* 0284CB74 */ _t17 = cpu->r[10] + cpu->r[5];
|
|
/* 0284CB74 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[4]);
|
|
/* 0284CB78 */ _t18 = cpu->r[3] + 0x00000020u;
|
|
/* 0284CB78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284CB7C */ _t19 = cpu->r[31] + cpu->r[12];
|
|
/* 0284CB7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284CB80 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0284CB84 */ _t20 = cpu->r[31] + cpu->r[12];
|
|
/* 0284CB84 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 0284CB88 */ _t21 = cpu->r[3] + 0x00000020u;
|
|
/* 0284CB88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284CB8C */ _t22 = cpu->r[31] + cpu->r[12];
|
|
/* 0284CB8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284CB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 0284CB94 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284CB94 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0284CB94 */ if (_t24) goto L_0284CB98; else goto L_0284CB2C;
|
|
L_0284CB98: ; // 0x284cb98
|
|
/* 0284CB98 */ goto L_0284CBD0;
|
|
L_0284CB9C: ; // 0x284cb9c
|
|
/* 0284CB9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00007FFFu);
|
|
/* 0284CBA0 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284CBA0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0284CBA0 */ if (_t26) goto L_0284CBA4; else goto L_0284CBA8;
|
|
L_0284CBA4: ; // 0x284cba4
|
|
/* 0284CBA4 */ cpu->r[4] = 0x00007FFFu;
|
|
L_0284CBA8: ; // 0x284cba8
|
|
/* 0284CBA8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0284CBAC */ _t27 = cpu->r[10] + cpu->r[5];
|
|
/* 0284CBAC */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[4]);
|
|
/* 0284CBB0 */ _t28 = cpu->r[3] + 0x00000020u;
|
|
/* 0284CBB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284CBB4 */ _t29 = cpu->r[31] + cpu->r[12];
|
|
/* 0284CBB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284CBB8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0284CBBC */ _t30 = cpu->r[31] + cpu->r[12];
|
|
/* 0284CBBC */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 0284CBC0 */ _t31 = cpu->r[3] + 0x00000020u;
|
|
/* 0284CBC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284CBC4 */ _t32 = cpu->r[31] + cpu->r[12];
|
|
/* 0284CBC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284CBC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 0284CBCC */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284CBCC */ _t34 = _t33 & 0x00000001u;
|
|
/* 0284CBCC */ if (_t34) goto L_0284CBD0; else goto L_0284CB2C;
|
|
L_0284CBD0: ; // 0x284cbd0
|
|
/* 0284CBD0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284CBD0 */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284CBD0 */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 0284CBD0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0284CBD0 */ if (_t37) goto L_0284CB60; else goto L_0284CBD4;
|
|
L_0284CBD4: ; // 0x284cbd4
|
|
/* 0284CBD4 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 0284CBD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0284CBD8 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 0284CBDC */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CBDC */ _t39 = _t38 & 0x00000001u;
|
|
/* 0284CBDC */ if (_t39) goto L_0284CBE0; else goto L_0284CB4C;
|
|
L_0284CBE0: ; // 0x284cbe0
|
|
/* 0284CBE0 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CBE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0284CBE4 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CBE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0284CBE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284CBEC */ cpu->r[3] = 0x00000000u;
|
|
/* 0284CBF0 */ return;
|
|
}
|
|
|
|
// fn_0284CBF4 @ 0x284cbf4
|
|
void Gambit_fn_0284CBF4(CPUState* cpu) {
|
|
uint32_t _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_0284CBF4: ; // 0x284cbf4
|
|
/* 0284CBF4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0284CBF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284CBF4 */ cpu->r[1] = _t0;
|
|
/* 0284CBF8 */ /* nop */
|
|
/* 0284CBFC */ cpu->r[0] = cpu->lr;
|
|
/* 0284CC00 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284CC00 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284CC04 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284CC08 */ _t2 = cpu->r[31] + 0x00000014u;
|
|
/* 0284CC08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0284CC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284CC10 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CC10 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0284CC10 */ if (_t4) goto L_0284CC98; else goto L_0284CC14;
|
|
L_0284CC14: ; // 0x284cc14
|
|
/* 0284CC14 */ _t5 = cpu->r[4] + 0x00000008u;
|
|
/* 0284CC14 */ cpu->r[27] = rbrew_read16(cpu->mem, _t5);
|
|
/* 0284CC18 */ cpu->r[26] = 0x00000001u;
|
|
/* 0284CC1C */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 0284CC1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284CC20 */ _t7 = cpu->r[4] + 0x00000006u;
|
|
/* 0284CC20 */ cpu->r[25] = rbrew_read16(cpu->mem, _t7);
|
|
/* 0284CC24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0284CC28 */ _t8 = cpu->r[4] + 0x00000004u;
|
|
/* 0284CC28 */ cpu->r[7] = rbrew_read16(cpu->mem, _t8);
|
|
/* 0284CC2C */ cpu->r[28] = 0x00000000u;
|
|
/* 0284CC30 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CC30 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284CC30 */ if (_t10) goto L_0284CC90; else goto L_0284CC34;
|
|
L_0284CC34: ; // 0x284cc34
|
|
/* 0284CC34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284CC38 */ cpu->r[30] = 0x00000000u;
|
|
/* 0284CC3C */ cpu->r[29] = cpu->r[9] - cpu->r[0];
|
|
L_0284CC40: ; // 0x284cc40
|
|
/* 0284CC40 */ _t11 = cpu->r[31] + 0x00000018u;
|
|
/* 0284CC40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284CC44 */ _t12 = cpu->r[29] + cpu->r[0];
|
|
/* 0284CC44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284CC44 */ cpu->r[29] = _t12;
|
|
/* 0284CC48 */ cpu->r[12] = cpu->r[10] + cpu->r[30];
|
|
/* 0284CC4C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284CC50 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 0284CC50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284CC54 */ cpu->r[4] = cpu->r[28];
|
|
/* 0284CC58 */ _t14 = cpu->r[12] + 0x00000004u;
|
|
/* 0284CC58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284CC5C */ cpu->r[8] = cpu->r[25];
|
|
/* 0284CC60 */ Gambit_fn_0284CB0C(cpu);
|
|
/* 0284CC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284CC68 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CC68 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0284CC68 */ if (_t16) goto L_0284CC6C; else goto L_0284CC78;
|
|
L_0284CC6C: ; // 0x284cc6c
|
|
/* 0284CC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0284CC70 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CC70 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0284CC70 */ if (_t18) goto L_0284CC78; else goto L_0284CC74;
|
|
L_0284CC74: ; // 0x284cc74
|
|
/* 0284CC74 */ cpu->r[26] = 0x00000000u;
|
|
L_0284CC78: ; // 0x284cc78
|
|
/* 0284CC78 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 0284CC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0284CC7C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0284CC80 */ cpu->r[30] = cpu->r[30] + 0x00000008u;
|
|
/* 0284CC84 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CC84 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284CC84 */ if (_t20) goto L_0284CC88; else goto L_0284CC40;
|
|
L_0284CC88: ; // 0x284cc88
|
|
/* 0284CC88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0284CC8C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CC8C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284CC8C */ if (_t22) goto L_0284CC98; else goto L_0284CC90;
|
|
L_0284CC90: ; // 0x284cc90
|
|
/* 0284CC90 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284CC94 */ Gambit_fn_0284C880(cpu);
|
|
L_0284CC98: ; // 0x284cc98
|
|
/* 0284CC98 */ /* nop */
|
|
/* 0284CC9C */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284CC9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284CCA0 */ cpu->lr = cpu->r[0];
|
|
/* 0284CCA4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0284CCA8 */ return;
|
|
}
|
|
|
|
// fn_0284CCAC @ 0x284ccac
|
|
void Gambit_fn_0284CCAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_0284CCAC: ; // 0x284ccac
|
|
/* 0284CCAC */ cpu->r[0] = cpu->lr;
|
|
/* 0284CCB0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284CCB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284CCB0 */ cpu->r[1] = _t0;
|
|
/* 0284CCB4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CCB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284CCB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284CCB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284CCBC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284CCBC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284CCC0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CCC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284CCC4 */ cpu->r[30] = cpu->r[6];
|
|
/* 0284CCC8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CCC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0284CCCC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284CCCC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284CCD0 */ cpu->r[29] = cpu->r[5];
|
|
/* 0284CCD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CCD4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284CCD4 */ if (_t7) goto L_0284CCD8; else goto L_0284CCE8;
|
|
L_0284CCD8: ; // 0x284ccd8
|
|
/* 0284CCD8 */ cpu->r[3] = 0x00000028u;
|
|
/* 0284CCDC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284CCE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284CCE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284CCE4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CCE4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284CCE4 */ if (_t9) goto L_0284CDAC; else goto L_0284CCE8;
|
|
L_0284CCE8: ; // 0x284cce8
|
|
/* 0284CCE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284CCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284CCEC */ cpu->r[28] = 0x00000000u;
|
|
/* 0284CCF0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CCF0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284CCF0 */ if (_t11) goto L_0284CCF4; else goto L_0284CD04;
|
|
L_0284CCF4: ; // 0x284ccf4
|
|
/* 0284CCF4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284CCF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284CCFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284CD00 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CD00 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284CD00 */ if (_t13) goto L_0284CD18; else goto L_0284CD04;
|
|
L_0284CD04: ; // 0x284cd04
|
|
/* 0284CD04 */ cpu->r[9] = 0x10130000u;
|
|
/* 0284CD08 */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 0284CD08 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 0284CD0C */ cpu->r[9] = cpu->r[9] + 0xFFFFFCB4u;
|
|
/* 0284CD10 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 0284CD10 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 0284CD14 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0284CD14 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
L_0284CD18: ; // 0x284cd18
|
|
/* 0284CD18 */ _t17 = cpu->r[31] + 0x00000014u;
|
|
/* 0284CD18 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[28]);
|
|
/* 0284CD1C */ cpu->r[11] = 0x00020000u;
|
|
/* 0284CD20 */ _t18 = cpu->r[31] + 0x00000018u;
|
|
/* 0284CD20 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
/* 0284CD24 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284CD28 */ _t19 = cpu->r[31] + 0x00000020u;
|
|
/* 0284CD28 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 0284CD2C */ cpu->r[10] = cpu->r[10] + 0xFFFFFD28u;
|
|
/* 0284CD30 */ _t20 = cpu->r[31] + 0x00000024u;
|
|
/* 0284CD30 */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
/* 0284CD34 */ cpu->r[11] = cpu->r[11] + 0x00007100u;
|
|
/* 0284CD38 */ _t21 = cpu->r[31] + 0x00000000u;
|
|
/* 0284CD38 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 0284CD3C */ cpu->r[6] = 0x02850000u;
|
|
/* 0284CD40 */ cpu->r[4] = cpu->r[29];
|
|
/* 0284CD44 */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284CD44 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0284CD48 */ cpu->r[6] = cpu->r[6] + 0xFFFFD0CCu;
|
|
/* 0284CD4C */ cpu->r[3] = 0x00000000u;
|
|
/* 0284CD50 */ _t23 = cpu->r[31] + 0x00000010u;
|
|
/* 0284CD50 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 0284CD54 */ cpu->r[5] = 0x00000008u;
|
|
/* 0284CD58 */ _t24 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284CD58 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 0284CD5C */ Gambit_fn_02C82E00(cpu);
|
|
/* 0284CD60 */ _t25 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284CD60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284CD64 */ _t26 = cpu->r[31] + 0x00000018u;
|
|
/* 0284CD64 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 0284CD68 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284CD6C */ Gambit_fn_02801A8C(cpu);
|
|
/* 0284CD70 */ _t27 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284CD70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284CD74 */ cpu->r[6] = 0x00000000u;
|
|
/* 0284CD78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[0]);
|
|
/* 0284CD7C */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 0284CD7C */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 0284CD80 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284CD80 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284CD80 */ if (_t30) goto L_0284CD84; else goto L_0284CDAC;
|
|
L_0284CD84: ; // 0x284cd84
|
|
/* 0284CD84 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284CD88 */ cpu->r[0] = cpu->r[12];
|
|
L_0284CD8C: ; // 0x284cd8c
|
|
/* 0284CD8C */ _t31 = cpu->r[3] + cpu->r[12];
|
|
/* 0284CD8C */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0284CD90 */ _t32 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284CD90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284CD94 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0284CD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[8]);
|
|
/* 0284CD9C */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 0284CDA0 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284CDA0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0284CDA0 */ if (_t34) goto L_0284CDA4; else goto L_0284CDAC;
|
|
L_0284CDA4: ; // 0x284cda4
|
|
/* 0284CDA4 */ _t35 = cpu->r[31] + 0x00000020u;
|
|
/* 0284CDA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0284CDA8 */ goto L_0284CD8C;
|
|
L_0284CDAC: ; // 0x284cdac
|
|
/* 0284CDAC */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CDAC */ cpu->r[28] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0284CDB0 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CDB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0284CDB4 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284CDB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0284CDB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284CDBC */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 0284CDBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284CDC0 */ cpu->lr = cpu->r[0];
|
|
/* 0284CDC4 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CDC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0284CDC8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284CDCC */ return;
|
|
}
|
|
|
|
// fn_0284CCB0 @ 0x284ccb0
|
|
void Gambit_fn_0284CCB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_0284CCB0: ; // 0x284ccb0
|
|
/* 0284CCB0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284CCB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284CCB0 */ cpu->r[1] = _t0;
|
|
/* 0284CCB4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CCB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284CCB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284CCB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284CCBC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284CCBC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284CCC0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CCC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284CCC4 */ cpu->r[30] = cpu->r[6];
|
|
/* 0284CCC8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CCC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0284CCCC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284CCCC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284CCD0 */ cpu->r[29] = cpu->r[5];
|
|
/* 0284CCD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CCD4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284CCD4 */ if (_t7) goto L_0284CCD8; else goto L_0284CCE8;
|
|
L_0284CCD8: ; // 0x284ccd8
|
|
/* 0284CCD8 */ cpu->r[3] = 0x00000028u;
|
|
/* 0284CCDC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284CCE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284CCE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284CCE4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CCE4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284CCE4 */ if (_t9) goto L_0284CDAC; else goto L_0284CCE8;
|
|
L_0284CCE8: ; // 0x284cce8
|
|
/* 0284CCE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284CCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284CCEC */ cpu->r[28] = 0x00000000u;
|
|
/* 0284CCF0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CCF0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284CCF0 */ if (_t11) goto L_0284CCF4; else goto L_0284CD04;
|
|
L_0284CCF4: ; // 0x284ccf4
|
|
/* 0284CCF4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284CCF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284CCFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284CD00 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CD00 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284CD00 */ if (_t13) goto L_0284CD18; else goto L_0284CD04;
|
|
L_0284CD04: ; // 0x284cd04
|
|
/* 0284CD04 */ cpu->r[9] = 0x10130000u;
|
|
/* 0284CD08 */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 0284CD08 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 0284CD0C */ cpu->r[9] = cpu->r[9] + 0xFFFFFCB4u;
|
|
/* 0284CD10 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 0284CD10 */ rbrew_write32(cpu->mem, _t15, cpu->r[28]);
|
|
/* 0284CD14 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0284CD14 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
L_0284CD18: ; // 0x284cd18
|
|
/* 0284CD18 */ _t17 = cpu->r[31] + 0x00000014u;
|
|
/* 0284CD18 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[28]);
|
|
/* 0284CD1C */ cpu->r[11] = 0x00020000u;
|
|
/* 0284CD20 */ _t18 = cpu->r[31] + 0x00000018u;
|
|
/* 0284CD20 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
/* 0284CD24 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284CD28 */ _t19 = cpu->r[31] + 0x00000020u;
|
|
/* 0284CD28 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 0284CD2C */ cpu->r[10] = cpu->r[10] + 0xFFFFFD28u;
|
|
/* 0284CD30 */ _t20 = cpu->r[31] + 0x00000024u;
|
|
/* 0284CD30 */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
/* 0284CD34 */ cpu->r[11] = cpu->r[11] + 0x00007100u;
|
|
/* 0284CD38 */ _t21 = cpu->r[31] + 0x00000000u;
|
|
/* 0284CD38 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 0284CD3C */ cpu->r[6] = 0x02850000u;
|
|
/* 0284CD40 */ cpu->r[4] = cpu->r[29];
|
|
/* 0284CD44 */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284CD44 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 0284CD48 */ cpu->r[6] = cpu->r[6] + 0xFFFFD0CCu;
|
|
/* 0284CD4C */ cpu->r[3] = 0x00000000u;
|
|
/* 0284CD50 */ _t23 = cpu->r[31] + 0x00000010u;
|
|
/* 0284CD50 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 0284CD54 */ cpu->r[5] = 0x00000008u;
|
|
/* 0284CD58 */ _t24 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284CD58 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 0284CD5C */ Gambit_fn_02C82E00(cpu);
|
|
/* 0284CD60 */ _t25 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284CD60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284CD64 */ _t26 = cpu->r[31] + 0x00000018u;
|
|
/* 0284CD64 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 0284CD68 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284CD6C */ Gambit_fn_02801A8C(cpu);
|
|
/* 0284CD70 */ _t27 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284CD70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284CD74 */ cpu->r[6] = 0x00000000u;
|
|
/* 0284CD78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[0]);
|
|
/* 0284CD7C */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 0284CD7C */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 0284CD80 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284CD80 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284CD80 */ if (_t30) goto L_0284CD84; else goto L_0284CDAC;
|
|
L_0284CD84: ; // 0x284cd84
|
|
/* 0284CD84 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284CD88 */ cpu->r[0] = cpu->r[12];
|
|
L_0284CD8C: ; // 0x284cd8c
|
|
/* 0284CD8C */ _t31 = cpu->r[3] + cpu->r[12];
|
|
/* 0284CD8C */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 0284CD90 */ _t32 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284CD90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284CD94 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0284CD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[8]);
|
|
/* 0284CD9C */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 0284CDA0 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284CDA0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0284CDA0 */ if (_t34) goto L_0284CDA4; else goto L_0284CDAC;
|
|
L_0284CDA4: ; // 0x284cda4
|
|
/* 0284CDA4 */ _t35 = cpu->r[31] + 0x00000020u;
|
|
/* 0284CDA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0284CDA8 */ goto L_0284CD8C;
|
|
L_0284CDAC: ; // 0x284cdac
|
|
/* 0284CDAC */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CDAC */ cpu->r[28] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0284CDB0 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CDB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0284CDB4 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284CDB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0284CDB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284CDBC */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 0284CDBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284CDC0 */ cpu->lr = cpu->r[0];
|
|
/* 0284CDC4 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CDC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0284CDC8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284CDCC */ return;
|
|
}
|
|
|
|
// fn_0284CDD0 @ 0x284cdd0
|
|
void Gambit_fn_0284CDD0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0284CDD0: ; // 0x284cdd0
|
|
/* 0284CDD0 */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0284CDD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0284CDD4 */ return;
|
|
}
|
|
|
|
// fn_0284CDD8 @ 0x284cdd8
|
|
void Gambit_fn_0284CDD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0284CDD8: ; // 0x284cdd8
|
|
/* 0284CDD8 */ cpu->r[0] = cpu->lr;
|
|
/* 0284CDDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284CDDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284CDDC */ cpu->r[1] = _t0;
|
|
/* 0284CDE0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CDE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284CDE4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CDE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284CDE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284CDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284CDEC */ cpu->r[30] = cpu->r[4];
|
|
/* 0284CDF0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CDF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284CDF4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CDF4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284CDF4 */ if (_t5) goto L_0284CDF8; else goto L_0284CE08;
|
|
L_0284CDF8: ; // 0x284cdf8
|
|
/* 0284CDF8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284CDFC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284CE00 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284CE00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284CE04 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CE04 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284CE04 */ if (_t7) goto L_0284CE4C; else goto L_0284CE08;
|
|
L_0284CE08: ; // 0x284ce08
|
|
/* 0284CE08 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284CE0C */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0284CE0C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0284CE10 */ cpu->r[30] = 0x00000000u;
|
|
/* 0284CE14 */ cpu->r[11] = cpu->r[11] + 0xFFFFFD58u;
|
|
/* 0284CE18 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 0284CE18 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0284CE1C */ cpu->r[3] = 0x00000008u;
|
|
/* 0284CE20 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 0284CE20 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0284CE24 */ Gambit_fn_02801A8C(cpu);
|
|
/* 0284CE28 */ cpu->r[10] = 0x00000002u;
|
|
/* 0284CE2C */ cpu->r[12] = cpu->r[30];
|
|
/* 0284CE30 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0284CE30 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
L_0284CE34: ; // 0x284ce34
|
|
/* 0284CE34 */ _t12 = cpu->r[3] + cpu->r[30];
|
|
/* 0284CE34 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0284CE38 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 0284CE38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284CE3C */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 0284CE40 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CE40 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284CE40 */ if (_t14) goto L_0284CE4C; else goto L_0284CE44;
|
|
L_0284CE44: ; // 0x284ce44
|
|
/* 0284CE44 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 0284CE44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284CE48 */ goto L_0284CE34;
|
|
L_0284CE4C: ; // 0x284ce4c
|
|
/* 0284CE4C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CE4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284CE50 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284CE54 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CE54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284CE58 */ cpu->lr = cpu->r[0];
|
|
/* 0284CE5C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CE5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284CE60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284CE64 */ return;
|
|
}
|
|
|
|
// fn_0284CDDC @ 0x284cddc
|
|
void Gambit_fn_0284CDDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0284CDDC: ; // 0x284cddc
|
|
/* 0284CDDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284CDDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284CDDC */ cpu->r[1] = _t0;
|
|
/* 0284CDE0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CDE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284CDE4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CDE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284CDE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284CDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284CDEC */ cpu->r[30] = cpu->r[4];
|
|
/* 0284CDF0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CDF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284CDF4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CDF4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284CDF4 */ if (_t5) goto L_0284CDF8; else goto L_0284CE08;
|
|
L_0284CDF8: ; // 0x284cdf8
|
|
/* 0284CDF8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284CDFC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284CE00 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284CE00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284CE04 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CE04 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284CE04 */ if (_t7) goto L_0284CE4C; else goto L_0284CE08;
|
|
L_0284CE08: ; // 0x284ce08
|
|
/* 0284CE08 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284CE0C */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0284CE0C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0284CE10 */ cpu->r[30] = 0x00000000u;
|
|
/* 0284CE14 */ cpu->r[11] = cpu->r[11] + 0xFFFFFD58u;
|
|
/* 0284CE18 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 0284CE18 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0284CE1C */ cpu->r[3] = 0x00000008u;
|
|
/* 0284CE20 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 0284CE20 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0284CE24 */ Gambit_fn_02801A8C(cpu);
|
|
/* 0284CE28 */ cpu->r[10] = 0x00000002u;
|
|
/* 0284CE2C */ cpu->r[12] = cpu->r[30];
|
|
/* 0284CE30 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0284CE30 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
L_0284CE34: ; // 0x284ce34
|
|
/* 0284CE34 */ _t12 = cpu->r[3] + cpu->r[30];
|
|
/* 0284CE34 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0284CE38 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 0284CE38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284CE3C */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 0284CE40 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CE40 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284CE40 */ if (_t14) goto L_0284CE4C; else goto L_0284CE44;
|
|
L_0284CE44: ; // 0x284ce44
|
|
/* 0284CE44 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 0284CE44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284CE48 */ goto L_0284CE34;
|
|
L_0284CE4C: ; // 0x284ce4c
|
|
/* 0284CE4C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CE4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284CE50 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284CE54 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CE54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284CE58 */ cpu->lr = cpu->r[0];
|
|
/* 0284CE5C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CE5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284CE60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284CE64 */ return;
|
|
}
|
|
|
|
// fn_0284CE68 @ 0x284ce68
|
|
void Gambit_fn_0284CE68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0284CE68: ; // 0x284ce68
|
|
/* 0284CE68 */ cpu->r[0] = cpu->lr;
|
|
/* 0284CE6C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284CE6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284CE6C */ cpu->r[1] = _t0;
|
|
/* 0284CE70 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CE70 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0284CE74 */ cpu->r[28] = cpu->r[3];
|
|
/* 0284CE74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0284CE78 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284CE78 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284CE7C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CE7C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0284CE80 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CE80 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0284CE84 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284CE84 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284CE88 */ cpu->r[29] = cpu->r[4];
|
|
/* 0284CE8C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CE8C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284CE8C */ if (_t7) goto L_0284CF00; else goto L_0284CE90;
|
|
L_0284CE90: ; // 0x284ce90
|
|
/* 0284CE90 */ _t8 = cpu->r[28] + 0x00000000u;
|
|
/* 0284CE90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284CE94 */ cpu->r[6] = 0x10130000u;
|
|
/* 0284CE98 */ cpu->r[6] = cpu->r[6] + 0xFFFFFD58u;
|
|
/* 0284CE9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284CEA0 */ _t9 = cpu->r[28] + 0x00000008u;
|
|
/* 0284CEA0 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0284CEA4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CEA4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284CEA4 */ if (_t11) goto L_0284CEF0; else goto L_0284CEA8;
|
|
L_0284CEA8: ; // 0x284cea8
|
|
/* 0284CEA8 */ cpu->r[31] = 0x00000000u;
|
|
/* 0284CEAC */ cpu->r[30] = 0x00000002u;
|
|
L_0284CEB0: ; // 0x284ceb0
|
|
/* 0284CEB0 */ _t12 = cpu->r[11] + cpu->r[31];
|
|
/* 0284CEB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284CEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284CEB8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CEB8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284CEB8 */ if (_t14) goto L_0284CED4; else goto L_0284CEBC;
|
|
L_0284CEBC: ; // 0x284cebc
|
|
/* 0284CEBC */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0284CEBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284CEC0 */ _t16 = cpu->r[7] + 0x00000014u;
|
|
/* 0284CEC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284CEC4 */ cpu->ctr = cpu->r[8];
|
|
/* 0284CEC8 */ cpu->r[4] = 0x00000003u;
|
|
/* 0284CECC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284CED0 */ _t17 = cpu->r[28] + 0x00000000u;
|
|
/* 0284CED0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
L_0284CED4: ; // 0x284ced4
|
|
/* 0284CED4 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0284CED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284CED8 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 0284CEDC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CEDC */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284CEDC */ if (_t19) goto L_0284CEE0; else goto L_0284CEB0;
|
|
L_0284CEE0: ; // 0x284cee0
|
|
/* 0284CEE0 */ cpu->r[3] = cpu->r[11];
|
|
/* 0284CEE4 */ Gambit_fn_02801BB4(cpu);
|
|
/* 0284CEE8 */ cpu->r[9] = 0x00000000u;
|
|
/* 0284CEEC */ _t20 = cpu->r[28] + 0x00000000u;
|
|
/* 0284CEEC */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
L_0284CEF0: ; // 0x284cef0
|
|
/* 0284CEF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284CEF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284CEF4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CEF4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284CEF4 */ if (_t22) goto L_0284CF00; else goto L_0284CEF8;
|
|
L_0284CEF8: ; // 0x284cef8
|
|
/* 0284CEF8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0284CEFC */ Gambit_fn_02801BB0(cpu);
|
|
L_0284CF00: ; // 0x284cf00
|
|
/* 0284CF00 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CF00 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284CF04 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CF04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284CF08 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284CF08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284CF0C */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 0284CF0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284CF10 */ cpu->lr = cpu->r[0];
|
|
/* 0284CF14 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CF14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284CF18 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284CF1C */ return;
|
|
}
|
|
|
|
// fn_0284CE6C @ 0x284ce6c
|
|
void Gambit_fn_0284CE6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0284CE6C: ; // 0x284ce6c
|
|
/* 0284CE6C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284CE6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284CE6C */ cpu->r[1] = _t0;
|
|
/* 0284CE70 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CE70 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0284CE74 */ cpu->r[28] = cpu->r[3];
|
|
/* 0284CE74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0284CE78 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284CE78 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284CE7C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CE7C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0284CE80 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CE80 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0284CE84 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284CE84 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284CE88 */ cpu->r[29] = cpu->r[4];
|
|
/* 0284CE8C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CE8C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284CE8C */ if (_t7) goto L_0284CF00; else goto L_0284CE90;
|
|
L_0284CE90: ; // 0x284ce90
|
|
/* 0284CE90 */ _t8 = cpu->r[28] + 0x00000000u;
|
|
/* 0284CE90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284CE94 */ cpu->r[6] = 0x10130000u;
|
|
/* 0284CE98 */ cpu->r[6] = cpu->r[6] + 0xFFFFFD58u;
|
|
/* 0284CE9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284CEA0 */ _t9 = cpu->r[28] + 0x00000008u;
|
|
/* 0284CEA0 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0284CEA4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CEA4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284CEA4 */ if (_t11) goto L_0284CEF0; else goto L_0284CEA8;
|
|
L_0284CEA8: ; // 0x284cea8
|
|
/* 0284CEA8 */ cpu->r[31] = 0x00000000u;
|
|
/* 0284CEAC */ cpu->r[30] = 0x00000002u;
|
|
L_0284CEB0: ; // 0x284ceb0
|
|
/* 0284CEB0 */ _t12 = cpu->r[11] + cpu->r[31];
|
|
/* 0284CEB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284CEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284CEB8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CEB8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284CEB8 */ if (_t14) goto L_0284CED4; else goto L_0284CEBC;
|
|
L_0284CEBC: ; // 0x284cebc
|
|
/* 0284CEBC */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0284CEBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284CEC0 */ _t16 = cpu->r[7] + 0x00000014u;
|
|
/* 0284CEC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284CEC4 */ cpu->ctr = cpu->r[8];
|
|
/* 0284CEC8 */ cpu->r[4] = 0x00000003u;
|
|
/* 0284CECC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284CED0 */ _t17 = cpu->r[28] + 0x00000000u;
|
|
/* 0284CED0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
L_0284CED4: ; // 0x284ced4
|
|
/* 0284CED4 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0284CED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284CED8 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 0284CEDC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CEDC */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284CEDC */ if (_t19) goto L_0284CEE0; else goto L_0284CEB0;
|
|
L_0284CEE0: ; // 0x284cee0
|
|
/* 0284CEE0 */ cpu->r[3] = cpu->r[11];
|
|
/* 0284CEE4 */ Gambit_fn_02801BB4(cpu);
|
|
/* 0284CEE8 */ cpu->r[9] = 0x00000000u;
|
|
/* 0284CEEC */ _t20 = cpu->r[28] + 0x00000000u;
|
|
/* 0284CEEC */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
L_0284CEF0: ; // 0x284cef0
|
|
/* 0284CEF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284CEF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284CEF4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CEF4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284CEF4 */ if (_t22) goto L_0284CF00; else goto L_0284CEF8;
|
|
L_0284CEF8: ; // 0x284cef8
|
|
/* 0284CEF8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0284CEFC */ Gambit_fn_02801BB0(cpu);
|
|
L_0284CF00: ; // 0x284cf00
|
|
/* 0284CF00 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CF00 */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284CF04 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CF04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284CF08 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284CF08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284CF0C */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 0284CF0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284CF10 */ cpu->lr = cpu->r[0];
|
|
/* 0284CF14 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CF14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284CF18 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284CF1C */ return;
|
|
}
|
|
|
|
// fn_0284CF20 @ 0x284cf20
|
|
void Gambit_fn_0284CF20(CPUState* 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_0284CF20: ; // 0x284cf20
|
|
/* 0284CF20 */ cpu->r[0] = cpu->lr;
|
|
/* 0284CF24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284CF24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284CF24 */ cpu->r[1] = _t0;
|
|
/* 0284CF28 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CF28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284CF2C */ cpu->r[31] = cpu->r[4];
|
|
/* 0284CF30 */ cpu->r[4] = cpu->r[5];
|
|
/* 0284CF34 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CF34 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284CF38 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284CF3C */ cpu->r[5] = 0x00000004u;
|
|
/* 0284CF40 */ cpu->r[3] = 0x00000028u;
|
|
/* 0284CF44 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CF44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284CF48 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0284CF4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284CF50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CF50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284CF50 */ if (_t5) goto L_0284CF68; else goto L_0284CF54;
|
|
L_0284CF54: ; // 0x284cf54
|
|
/* 0284CF54 */ cpu->r[4] = 0x101F0000u;
|
|
/* 0284CF58 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284CF5C */ cpu->r[6] = 0x00000006u;
|
|
/* 0284CF60 */ cpu->r[4] = cpu->r[4] + 0x00006CD8u;
|
|
/* 0284CF64 */ Gambit_fn_0284CCAC(cpu);
|
|
L_0284CF68: ; // 0x284cf68
|
|
/* 0284CF68 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 0284CF68 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284CF6C */ _t7 = cpu->r[9] + 0x00000000u;
|
|
/* 0284CF6C */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0284CF70 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0284CF70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284CF74 */ _t9 = cpu->r[3] + 0x00000024u;
|
|
/* 0284CF74 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0284CF78 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 0284CF78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284CF7C */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 0284CF7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284CF80 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 0284CF80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284CF84 */ Gambit_fn_0284CDD0(cpu);
|
|
/* 0284CF88 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 0284CF88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284CF8C */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 0284CF8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284CF90 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0284CF90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284CF94 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284CF98 */ Gambit_fn_0284C72C(cpu);
|
|
/* 0284CF9C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CF9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284CFA0 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 0284CFA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284CFA4 */ cpu->lr = cpu->r[0];
|
|
/* 0284CFA8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CFA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284CFAC */ _t19 = cpu->r[8] + 0x00000000u;
|
|
/* 0284CFAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284CFB0 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CFB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284CFB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284CFB8 */ return;
|
|
}
|
|
|
|
// fn_0284CF24 @ 0x284cf24
|
|
void Gambit_fn_0284CF24(CPUState* 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_0284CF24: ; // 0x284cf24
|
|
/* 0284CF24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284CF24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284CF24 */ cpu->r[1] = _t0;
|
|
/* 0284CF28 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CF28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284CF2C */ cpu->r[31] = cpu->r[4];
|
|
/* 0284CF30 */ cpu->r[4] = cpu->r[5];
|
|
/* 0284CF34 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CF34 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284CF38 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284CF3C */ cpu->r[5] = 0x00000004u;
|
|
/* 0284CF40 */ cpu->r[3] = 0x00000028u;
|
|
/* 0284CF44 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CF44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284CF48 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0284CF4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284CF50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CF50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284CF50 */ if (_t5) goto L_0284CF68; else goto L_0284CF54;
|
|
L_0284CF54: ; // 0x284cf54
|
|
/* 0284CF54 */ cpu->r[4] = 0x101F0000u;
|
|
/* 0284CF58 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284CF5C */ cpu->r[6] = 0x00000006u;
|
|
/* 0284CF60 */ cpu->r[4] = cpu->r[4] + 0x00006CD8u;
|
|
/* 0284CF64 */ Gambit_fn_0284CCAC(cpu);
|
|
L_0284CF68: ; // 0x284cf68
|
|
/* 0284CF68 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 0284CF68 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284CF6C */ _t7 = cpu->r[9] + 0x00000000u;
|
|
/* 0284CF6C */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0284CF70 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0284CF70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284CF74 */ _t9 = cpu->r[3] + 0x00000024u;
|
|
/* 0284CF74 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0284CF78 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 0284CF78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284CF7C */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 0284CF7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284CF80 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 0284CF80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284CF84 */ Gambit_fn_0284CDD0(cpu);
|
|
/* 0284CF88 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 0284CF88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284CF8C */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 0284CF8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284CF90 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0284CF90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284CF94 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284CF98 */ Gambit_fn_0284C72C(cpu);
|
|
/* 0284CF9C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CF9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284CFA0 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 0284CFA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284CFA4 */ cpu->lr = cpu->r[0];
|
|
/* 0284CFA8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CFA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284CFAC */ _t19 = cpu->r[8] + 0x00000000u;
|
|
/* 0284CFAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284CFB0 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CFB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284CFB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284CFB8 */ return;
|
|
}
|
|
|
|
// fn_0284CFBC @ 0x284cfbc
|
|
void Gambit_fn_0284CFBC(CPUState* 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_0284CFBC: ; // 0x284cfbc
|
|
/* 0284CFBC */ cpu->r[0] = cpu->lr;
|
|
/* 0284CFC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284CFC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284CFC0 */ cpu->r[1] = _t0;
|
|
/* 0284CFC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CFC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284CFC8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0284CFCC */ cpu->r[4] = cpu->r[5];
|
|
/* 0284CFD0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CFD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284CFD4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284CFD8 */ cpu->r[5] = 0x00000004u;
|
|
/* 0284CFDC */ cpu->r[3] = 0x00000028u;
|
|
/* 0284CFE0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CFE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284CFE4 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0284CFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284CFEC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CFEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284CFEC */ if (_t5) goto L_0284D004; else goto L_0284CFF0;
|
|
L_0284CFF0: ; // 0x284cff0
|
|
/* 0284CFF0 */ cpu->r[4] = 0x101F0000u;
|
|
/* 0284CFF4 */ cpu->r[5] = 0x00000002u;
|
|
/* 0284CFF8 */ cpu->r[6] = 0x00000004u;
|
|
/* 0284CFFC */ cpu->r[4] = cpu->r[4] + 0x00006CE0u;
|
|
/* 0284D000 */ Gambit_fn_0284CCAC(cpu);
|
|
L_0284D004: ; // 0x284d004
|
|
/* 0284D004 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 0284D004 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284D008 */ _t7 = cpu->r[9] + 0x00000004u;
|
|
/* 0284D008 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0284D00C */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0284D00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284D010 */ _t9 = cpu->r[3] + 0x00000024u;
|
|
/* 0284D010 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0284D014 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 0284D014 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284D018 */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 0284D018 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284D01C */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 0284D01C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284D020 */ Gambit_fn_0284CDD0(cpu);
|
|
/* 0284D024 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 0284D024 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284D028 */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 0284D028 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284D02C */ _t15 = cpu->r[12] + 0x00000004u;
|
|
/* 0284D02C */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284D030 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284D034 */ Gambit_fn_0284C72C(cpu);
|
|
/* 0284D038 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284D03C */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 0284D03C */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284D040 */ cpu->lr = cpu->r[0];
|
|
/* 0284D044 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D044 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284D048 */ _t19 = cpu->r[8] + 0x00000004u;
|
|
/* 0284D048 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284D04C */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D04C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284D050 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D054 */ return;
|
|
}
|
|
|
|
// fn_0284CFC0 @ 0x284cfc0
|
|
void Gambit_fn_0284CFC0(CPUState* 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_0284CFC0: ; // 0x284cfc0
|
|
/* 0284CFC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284CFC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284CFC0 */ cpu->r[1] = _t0;
|
|
/* 0284CFC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284CFC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284CFC8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0284CFCC */ cpu->r[4] = cpu->r[5];
|
|
/* 0284CFD0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284CFD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284CFD4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284CFD8 */ cpu->r[5] = 0x00000004u;
|
|
/* 0284CFDC */ cpu->r[3] = 0x00000028u;
|
|
/* 0284CFE0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284CFE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284CFE4 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0284CFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284CFEC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284CFEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284CFEC */ if (_t5) goto L_0284D004; else goto L_0284CFF0;
|
|
L_0284CFF0: ; // 0x284cff0
|
|
/* 0284CFF0 */ cpu->r[4] = 0x101F0000u;
|
|
/* 0284CFF4 */ cpu->r[5] = 0x00000002u;
|
|
/* 0284CFF8 */ cpu->r[6] = 0x00000004u;
|
|
/* 0284CFFC */ cpu->r[4] = cpu->r[4] + 0x00006CE0u;
|
|
/* 0284D000 */ Gambit_fn_0284CCAC(cpu);
|
|
L_0284D004: ; // 0x284d004
|
|
/* 0284D004 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 0284D004 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284D008 */ _t7 = cpu->r[9] + 0x00000004u;
|
|
/* 0284D008 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0284D00C */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0284D00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284D010 */ _t9 = cpu->r[3] + 0x00000024u;
|
|
/* 0284D010 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0284D014 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 0284D014 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284D018 */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 0284D018 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284D01C */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 0284D01C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284D020 */ Gambit_fn_0284CDD0(cpu);
|
|
/* 0284D024 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 0284D024 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284D028 */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 0284D028 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284D02C */ _t15 = cpu->r[12] + 0x00000004u;
|
|
/* 0284D02C */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284D030 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284D034 */ Gambit_fn_0284C72C(cpu);
|
|
/* 0284D038 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284D03C */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 0284D03C */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284D040 */ cpu->lr = cpu->r[0];
|
|
/* 0284D044 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D044 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284D048 */ _t19 = cpu->r[8] + 0x00000004u;
|
|
/* 0284D048 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284D04C */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D04C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284D050 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D054 */ return;
|
|
}
|
|
|
|
// fn_0284D058 @ 0x284d058
|
|
void Gambit_fn_0284D058(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0284D058: ; // 0x284d058
|
|
/* 0284D058 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0284D05C */ cpu->r[8] = 0x10130000u;
|
|
/* 0284D060 */ cpu->r[12] = cpu->r[12] + 0x00006CD0u;
|
|
/* 0284D064 */ cpu->r[8] = cpu->r[8] + 0xFFFFFC8Cu;
|
|
/* 0284D068 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284D06C */ cpu->r[10] = 0x101F0000u;
|
|
/* 0284D070 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 0284D070 */ rbrew_write32(cpu->mem, _t0, cpu->r[8]);
|
|
/* 0284D074 */ cpu->r[0] = cpu->r[0] + 0xFFFFFCFCu;
|
|
/* 0284D078 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0284D07C */ cpu->r[10] = cpu->r[10] + 0x00006CE0u;
|
|
/* 0284D080 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 0284D080 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284D084 */ cpu->r[11] = cpu->r[11] + 0x00006CD8u;
|
|
/* 0284D088 */ cpu->r[9] = 0x10130000u;
|
|
/* 0284D08C */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 0284D08C */ rbrew_write32(cpu->mem, _t2, cpu->r[8]);
|
|
/* 0284D090 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284D094 */ cpu->r[9] = cpu->r[9] + 0xFFFFFCE4u;
|
|
/* 0284D098 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 0284D098 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0284D09C */ cpu->r[0] = cpu->r[0] + 0xFFFFFD10u;
|
|
/* 0284D0A0 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 0284D0A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0284D0A4 */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 0284D0A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284D0A8 */ return;
|
|
}
|
|
|
|
// fn_0284D0AC @ 0x284d0ac
|
|
void Gambit_fn_0284D0AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_0284D0AC: ; // 0x284d0ac
|
|
/* 0284D0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284D0B0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D0B0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284D0B0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284D0B0 */ goto L_0284D0B4;
|
|
L_0284D0B4: ; // 0x284d0b4
|
|
/* 0284D0B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284D0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284D0B8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D0B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284D0B8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284D0B8 */ goto L_0284D0BC;
|
|
L_0284D0BC: ; // 0x284d0bc
|
|
/* 0284D0BC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0284D0C0 @ 0x284d0c0
|
|
void Gambit_fn_0284D0C0(CPUState* cpu) {
|
|
L_0284D0C0: ; // 0x284d0c0
|
|
/* 0284D0C0 */ return;
|
|
}
|
|
|
|
// fn_0284D0C4 @ 0x284d0c4
|
|
void Gambit_fn_0284D0C4(CPUState* cpu) {
|
|
L_0284D0C4: ; // 0x284d0c4
|
|
/* 0284D0C4 */ return;
|
|
}
|
|
|
|
// fn_0284D0C8 @ 0x284d0c8
|
|
void Gambit_fn_0284D0C8(CPUState* cpu) {
|
|
L_0284D0C8: ; // 0x284d0c8
|
|
/* 0284D0C8 */ return;
|
|
}
|
|
|
|
// fn_0284D0D8 @ 0x284d0d8
|
|
void Gambit_fn_0284D0D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0284D0D8: ; // 0x284d0d8
|
|
/* 0284D0D8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284D0D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D0D8 */ cpu->r[1] = _t0;
|
|
/* 0284D0DC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D0DC */ _t2 = _t1 & 0x00000001u;
|
|
/* 0284D0DC */ if (_t2) goto L_0284D0E0; else goto L_0284D0F0;
|
|
L_0284D0E0: ; // 0x284d0e0
|
|
/* 0284D0E0 */ cpu->r[3] = 0x00000008u;
|
|
/* 0284D0E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284D0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284D0EC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D0EC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0284D0EC */ if (_t4) goto L_0284D0FC; else goto L_0284D0F0;
|
|
L_0284D0F0: ; // 0x284d0f0
|
|
/* 0284D0F0 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284D0F4 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0284D0F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0284D0F8 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 0284D0F8 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
L_0284D0FC: ; // 0x284d0fc
|
|
/* 0284D0FC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D0FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284D100 */ cpu->lr = cpu->r[0];
|
|
/* 0284D104 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284D108 */ return;
|
|
}
|
|
|
|
// fn_0284D10C @ 0x284d10c
|
|
void Gambit_fn_0284D10C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0284D10C: ; // 0x284d10c
|
|
/* 0284D10C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0284D10C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D10C */ cpu->r[1] = _t0;
|
|
/* 0284D110 */ cpu->r[0] = cpu->lr;
|
|
/* 0284D114 */ /* nop */
|
|
/* 0284D118 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284D11C */ cpu->r[27] = cpu->r[4];
|
|
/* 0284D120 */ cpu->r[28] = cpu->r[5];
|
|
/* 0284D124 */ cpu->r[30] = cpu->r[7];
|
|
/* 0284D128 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0284D128 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284D12C */ cpu->r[29] = cpu->r[6];
|
|
/* 0284D130 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D130 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0284D130 */ if (_t3) goto L_0284D134; else goto L_0284D144;
|
|
L_0284D134: ; // 0x284d134
|
|
/* 0284D134 */ cpu->r[3] = 0x00000098u;
|
|
/* 0284D138 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284D13C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D13C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284D140 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D140 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284D140 */ if (_t5) goto L_0284D17C; else goto L_0284D144;
|
|
L_0284D144: ; // 0x284d144
|
|
/* 0284D144 */ cpu->r[4] = 0x101F0000u;
|
|
/* 0284D148 */ cpu->r[8] = 0x80000000u;
|
|
/* 0284D14C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D150 */ cpu->r[5] = cpu->r[28];
|
|
/* 0284D154 */ cpu->r[6] = cpu->r[27];
|
|
/* 0284D158 */ cpu->r[9] = cpu->r[29];
|
|
/* 0284D15C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 0284D160 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284D164 */ cpu->r[4] = cpu->r[4] + 0x00006CE8u;
|
|
/* 0284D168 */ cpu->r[10] = cpu->r[30];
|
|
/* 0284D16C */ Gambit_fn_02837758(cpu);
|
|
/* 0284D170 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284D174 */ cpu->r[0] = cpu->r[0] + 0xFFFFFDA8u;
|
|
/* 0284D178 */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284D178 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_0284D17C: ; // 0x284d17c
|
|
/* 0284D17C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D180 */ /* nop */
|
|
/* 0284D184 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 0284D184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284D188 */ cpu->lr = cpu->r[0];
|
|
/* 0284D18C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0284D190 */ return;
|
|
}
|
|
|
|
// fn_0284D194 @ 0x284d194
|
|
void Gambit_fn_0284D194(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0284D194: ; // 0x284d194
|
|
/* 0284D194 */ cpu->r[0] = cpu->lr;
|
|
/* 0284D198 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284D198 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D198 */ cpu->r[1] = _t0;
|
|
/* 0284D19C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D19C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284D1A0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D1A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284D1A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284D1A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284D1A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0284D1AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D1AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284D1B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D1B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284D1B0 */ if (_t5) goto L_0284D208; else goto L_0284D1B4;
|
|
L_0284D1B4: ; // 0x284d1b4
|
|
/* 0284D1B4 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284D1B8 */ _t6 = cpu->r[30] + 0x00000084u;
|
|
/* 0284D1B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284D1BC */ cpu->r[10] = cpu->r[10] + 0xFFFFFDA8u;
|
|
/* 0284D1C0 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284D1C4 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284D1C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0284D1C8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFD68u;
|
|
/* 0284D1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0284D1D0 */ _t8 = cpu->r[30] + 0x00000018u;
|
|
/* 0284D1D0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0284D1D4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D1D4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284D1D4 */ if (_t10) goto L_0284D1EC; else goto L_0284D1D8;
|
|
L_0284D1D8: ; // 0x284d1d8
|
|
/* 0284D1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000004u);
|
|
/* 0284D1DC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D1DC */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284D1DC */ if (_t12) goto L_0284D1EC; else goto L_0284D1E0;
|
|
L_0284D1E0: ; // 0x284d1e0
|
|
/* 0284D1E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284D1E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284D1E8 */ Gambit_fn_02836C90(cpu);
|
|
L_0284D1EC: ; // 0x284d1ec
|
|
/* 0284D1EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0284D1F0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284D1F4 */ Gambit_fn_028379A8(cpu);
|
|
/* 0284D1F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284D1F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284D1FC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D1FC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284D1FC */ if (_t14) goto L_0284D208; else goto L_0284D200;
|
|
L_0284D200: ; // 0x284d200
|
|
/* 0284D200 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284D204 */ Gambit_fn_02801BB0(cpu);
|
|
L_0284D208: ; // 0x284d208
|
|
/* 0284D208 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284D20C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D20C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284D210 */ cpu->lr = cpu->r[0];
|
|
/* 0284D214 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D214 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284D218 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D21C */ return;
|
|
}
|
|
|
|
// fn_0284D198 @ 0x284d198
|
|
void Gambit_fn_0284D198(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0284D198: ; // 0x284d198
|
|
/* 0284D198 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284D198 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D198 */ cpu->r[1] = _t0;
|
|
/* 0284D19C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D19C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284D1A0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D1A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284D1A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284D1A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284D1A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0284D1AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D1AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284D1B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D1B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284D1B0 */ if (_t5) goto L_0284D208; else goto L_0284D1B4;
|
|
L_0284D1B4: ; // 0x284d1b4
|
|
/* 0284D1B4 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284D1B8 */ _t6 = cpu->r[30] + 0x00000084u;
|
|
/* 0284D1B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284D1BC */ cpu->r[10] = cpu->r[10] + 0xFFFFFDA8u;
|
|
/* 0284D1C0 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284D1C4 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284D1C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0284D1C8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFD68u;
|
|
/* 0284D1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 0284D1D0 */ _t8 = cpu->r[30] + 0x00000018u;
|
|
/* 0284D1D0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0284D1D4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D1D4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284D1D4 */ if (_t10) goto L_0284D1EC; else goto L_0284D1D8;
|
|
L_0284D1D8: ; // 0x284d1d8
|
|
/* 0284D1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000004u);
|
|
/* 0284D1DC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D1DC */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284D1DC */ if (_t12) goto L_0284D1EC; else goto L_0284D1E0;
|
|
L_0284D1E0: ; // 0x284d1e0
|
|
/* 0284D1E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284D1E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284D1E8 */ Gambit_fn_02836C90(cpu);
|
|
L_0284D1EC: ; // 0x284d1ec
|
|
/* 0284D1EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0284D1F0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284D1F4 */ Gambit_fn_028379A8(cpu);
|
|
/* 0284D1F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284D1F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284D1FC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D1FC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284D1FC */ if (_t14) goto L_0284D208; else goto L_0284D200;
|
|
L_0284D200: ; // 0x284d200
|
|
/* 0284D200 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284D204 */ Gambit_fn_02801BB0(cpu);
|
|
L_0284D208: ; // 0x284d208
|
|
/* 0284D208 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284D20C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D20C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284D210 */ cpu->lr = cpu->r[0];
|
|
/* 0284D214 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D214 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284D218 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D21C */ return;
|
|
}
|
|
|
|
// fn_0284D220 @ 0x284d220
|
|
void Gambit_fn_0284D220(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284D220: ; // 0x284d220
|
|
/* 0284D220 */ cpu->r[0] = cpu->lr;
|
|
/* 0284D224 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284D224 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D224 */ cpu->r[1] = _t0;
|
|
/* 0284D228 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D228 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284D22C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D230 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284D230 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284D234 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
|
|
/* 0284D238 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284D23C */ cpu->r[9] = cpu->r[10] + 0x101F0000u;
|
|
/* 0284D240 */ _t3 = cpu->r[9] + 0x000065D0u;
|
|
/* 0284D240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284D244 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0284D244 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284D248 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0284D248 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284D24C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D24C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0284D250 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D250 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284D254 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284D258 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D25C */ /* nop */
|
|
/* 0284D260 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0284D264 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D264 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 0284D268 */ Gambit_fn_02837C8C(cpu);
|
|
/* 0284D26C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D270 */ Gambit_fn_02837B34(cpu);
|
|
/* 0284D274 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284D274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284D278 */ cpu->lr = cpu->r[0];
|
|
/* 0284D27C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D27C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284D280 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284D284 */ return;
|
|
}
|
|
|
|
// fn_0284D224 @ 0x284d224
|
|
void Gambit_fn_0284D224(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284D224: ; // 0x284d224
|
|
/* 0284D224 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284D224 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D224 */ cpu->r[1] = _t0;
|
|
/* 0284D228 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D228 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284D22C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D230 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284D230 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284D234 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
|
|
/* 0284D238 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284D23C */ cpu->r[9] = cpu->r[10] + 0x101F0000u;
|
|
/* 0284D240 */ _t3 = cpu->r[9] + 0x000065D0u;
|
|
/* 0284D240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284D244 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0284D244 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284D248 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 0284D248 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284D24C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D24C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0284D250 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D250 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284D254 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284D258 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D25C */ /* nop */
|
|
/* 0284D260 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0284D264 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D264 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 0284D268 */ Gambit_fn_02837C8C(cpu);
|
|
/* 0284D26C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D270 */ Gambit_fn_02837B34(cpu);
|
|
/* 0284D274 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284D274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284D278 */ cpu->lr = cpu->r[0];
|
|
/* 0284D27C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D27C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284D280 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284D284 */ return;
|
|
}
|
|
|
|
// fn_0284D288 @ 0x284d288
|
|
void Gambit_fn_0284D288(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0284D288: ; // 0x284d288
|
|
/* 0284D288 */ cpu->r[0] = cpu->lr;
|
|
/* 0284D28C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284D28C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D28C */ cpu->r[1] = _t0;
|
|
/* 0284D290 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D290 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284D294 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D294 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284D298 */ _t3 = cpu->r[3] + 0x00000084u;
|
|
/* 0284D298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284D29C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0284D2A0 */ cpu->r[31] = cpu->r[4];
|
|
/* 0284D2A4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D2A4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284D2A4 */ if (_t5) goto L_0284D2B0; else goto L_0284D2A8;
|
|
L_0284D2A8: ; // 0x284d2a8
|
|
/* 0284D2A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0284D2AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D2AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284D2AC */ if (_t7) goto L_0284D2B0; else goto L_0284D2C8;
|
|
L_0284D2B0: ; // 0x284d2b0
|
|
/* 0284D2B0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D2B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284D2B4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D2B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284D2B8 */ cpu->lr = cpu->r[0];
|
|
/* 0284D2BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D2C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284D2C4 */ return;
|
|
L_0284D2C8: ; // 0x284d2c8
|
|
/* 0284D2C8 */ _t10 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284D2C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284D2CC */ _t11 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0284D2CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284D2D0 */ cpu->ctr = cpu->r[0];
|
|
/* 0284D2D4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284D2D8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284D2DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284D2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284D2E4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D2E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284D2E4 */ if (_t13) goto L_0284D2FC; else goto L_0284D2E8;
|
|
L_0284D2E8: ; // 0x284d2e8
|
|
/* 0284D2E8 */ _t14 = cpu->r[0] + cpu->r[31];
|
|
/* 0284D2E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284D2EC */ /* nop */
|
|
/* 0284D2F0 */ cpu->r[12] = cpu->r[10] + 0x00000001u;
|
|
/* 0284D2F4 */ /* nop */
|
|
/* 0284D2F8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D2F8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0284D2F8 */ if (_t16) goto L_0284D2FC; else goto L_0284D2E8;
|
|
L_0284D2FC: ; // 0x284d2fc
|
|
/* 0284D2FC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D2FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284D300 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284D304 */ cpu->lr = cpu->r[0];
|
|
/* 0284D308 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D30C */ return;
|
|
}
|
|
|
|
// fn_0284D28C @ 0x284d28c
|
|
void Gambit_fn_0284D28C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0284D28C: ; // 0x284d28c
|
|
/* 0284D28C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284D28C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D28C */ cpu->r[1] = _t0;
|
|
/* 0284D290 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D290 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284D294 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D294 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284D298 */ _t3 = cpu->r[3] + 0x00000084u;
|
|
/* 0284D298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284D29C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0284D2A0 */ cpu->r[31] = cpu->r[4];
|
|
/* 0284D2A4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D2A4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284D2A4 */ if (_t5) goto L_0284D2B0; else goto L_0284D2A8;
|
|
L_0284D2A8: ; // 0x284d2a8
|
|
/* 0284D2A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 0284D2AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D2AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284D2AC */ if (_t7) goto L_0284D2B0; else goto L_0284D2C8;
|
|
L_0284D2B0: ; // 0x284d2b0
|
|
/* 0284D2B0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D2B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284D2B4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D2B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284D2B8 */ cpu->lr = cpu->r[0];
|
|
/* 0284D2BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D2C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284D2C4 */ return;
|
|
L_0284D2C8: ; // 0x284d2c8
|
|
/* 0284D2C8 */ _t10 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284D2C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284D2CC */ _t11 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0284D2CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284D2D0 */ cpu->ctr = cpu->r[0];
|
|
/* 0284D2D4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284D2D8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0284D2DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284D2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284D2E4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D2E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284D2E4 */ if (_t13) goto L_0284D2FC; else goto L_0284D2E8;
|
|
L_0284D2E8: ; // 0x284d2e8
|
|
/* 0284D2E8 */ _t14 = cpu->r[0] + cpu->r[31];
|
|
/* 0284D2E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284D2EC */ /* nop */
|
|
/* 0284D2F0 */ cpu->r[12] = cpu->r[10] + 0x00000001u;
|
|
/* 0284D2F4 */ /* nop */
|
|
/* 0284D2F8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D2F8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0284D2F8 */ if (_t16) goto L_0284D2FC; else goto L_0284D2E8;
|
|
L_0284D2FC: ; // 0x284d2fc
|
|
/* 0284D2FC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D2FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284D300 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D300 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284D304 */ cpu->lr = cpu->r[0];
|
|
/* 0284D308 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D30C */ return;
|
|
}
|
|
|
|
// fn_0284D310 @ 0x284d310
|
|
void Gambit_fn_0284D310(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0284D310: ; // 0x284d310
|
|
/* 0284D310 */ cpu->r[0] = cpu->lr;
|
|
/* 0284D314 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284D314 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D314 */ cpu->r[1] = _t0;
|
|
/* 0284D318 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D318 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284D31C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284D320 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D320 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284D324 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D324 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0284D324 */ if (_t4) goto L_0284D364; else goto L_0284D328;
|
|
L_0284D328: ; // 0x284d328
|
|
/* 0284D328 */ _t5 = cpu->r[3] + 0x00000084u;
|
|
/* 0284D328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284D32C */ cpu->r[31] = cpu->r[4];
|
|
/* 0284D330 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0284D330 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284D334 */ cpu->r[11] = cpu->r[0] ^ 0x00000002u;
|
|
/* 0284D338 */ _t7 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0284D338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284D33C */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 0284D340 */ cpu->ctr = cpu->r[0];
|
|
/* 0284D344 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284D348 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D34C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284D350: ; // 0x284d350
|
|
/* 0284D350 */ _t8 = cpu->r[0] + cpu->r[31];
|
|
/* 0284D350 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284D354 */ /* nop */
|
|
/* 0284D358 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0284D35C */ /* nop */
|
|
/* 0284D360 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D360 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284D360 */ if (_t10) goto L_0284D364; else goto L_0284D350;
|
|
L_0284D364: ; // 0x284d364
|
|
/* 0284D364 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284D368 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284D36C */ cpu->lr = cpu->r[0];
|
|
/* 0284D370 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D374 */ return;
|
|
}
|
|
|
|
// fn_0284D314 @ 0x284d314
|
|
void Gambit_fn_0284D314(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0284D314: ; // 0x284d314
|
|
/* 0284D314 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284D314 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D314 */ cpu->r[1] = _t0;
|
|
/* 0284D318 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D318 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284D31C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284D320 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D320 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284D324 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D324 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0284D324 */ if (_t4) goto L_0284D364; else goto L_0284D328;
|
|
L_0284D328: ; // 0x284d328
|
|
/* 0284D328 */ _t5 = cpu->r[3] + 0x00000084u;
|
|
/* 0284D328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284D32C */ cpu->r[31] = cpu->r[4];
|
|
/* 0284D330 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0284D330 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284D334 */ cpu->r[11] = cpu->r[0] ^ 0x00000002u;
|
|
/* 0284D338 */ _t7 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0284D338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284D33C */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 0284D340 */ cpu->ctr = cpu->r[0];
|
|
/* 0284D344 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284D348 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D34C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284D350: ; // 0x284d350
|
|
/* 0284D350 */ _t8 = cpu->r[0] + cpu->r[31];
|
|
/* 0284D350 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284D354 */ /* nop */
|
|
/* 0284D358 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0284D35C */ /* nop */
|
|
/* 0284D360 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D360 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284D360 */ if (_t10) goto L_0284D364; else goto L_0284D350;
|
|
L_0284D364: ; // 0x284d364
|
|
/* 0284D364 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284D368 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284D36C */ cpu->lr = cpu->r[0];
|
|
/* 0284D370 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D374 */ return;
|
|
}
|
|
|
|
// fn_0284D378 @ 0x284d378
|
|
void Gambit_fn_0284D378(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0284D378: ; // 0x284d378
|
|
/* 0284D378 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0284D37C */ cpu->r[11] = 0x10130000u;
|
|
/* 0284D380 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284D384 */ cpu->r[12] = cpu->r[12] + 0x00006CE8u;
|
|
/* 0284D388 */ cpu->r[11] = cpu->r[11] + 0xFFFFFD78u;
|
|
/* 0284D38C */ cpu->r[0] = cpu->r[0] + 0xFFFFFD90u;
|
|
/* 0284D390 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 0284D390 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 0284D394 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 0284D394 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284D398 */ return;
|
|
}
|
|
|
|
// fn_0284D39C @ 0x284d39c
|
|
void Gambit_fn_0284D39C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_0284D39C: ; // 0x284d39c
|
|
/* 0284D39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284D3A0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D3A0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284D3A0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284D3A0 */ goto L_0284D3A4;
|
|
L_0284D3A4: ; // 0x284d3a4
|
|
/* 0284D3A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284D3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284D3A8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D3A8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284D3A8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284D3A8 */ goto L_0284D3AC;
|
|
L_0284D3AC: ; // 0x284d3ac
|
|
/* 0284D3AC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0284D3B0 @ 0x284d3b0
|
|
void Gambit_fn_0284D3B0(CPUState* cpu) {
|
|
L_0284D3B0: ; // 0x284d3b0
|
|
/* 0284D3B0 */ return;
|
|
}
|
|
|
|
// fn_0284D3B4 @ 0x284d3b4
|
|
void Gambit_fn_0284D3B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0284D3B4: ; // 0x284d3b4
|
|
/* 0284D3B4 */ cpu->r[0] = cpu->lr;
|
|
/* 0284D3B8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0284D3B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0284D3BC */ cpu->r[3] = 0x00000000u;
|
|
/* 0284D3C0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284D3C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0284D3C0 */ cpu->r[1] = _t1;
|
|
/* 0284D3C4 */ rbrew_dispatch(cpu, 0x02d081a0u);
|
|
/* 0284D3C8 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 0284D3CC */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 0284D3D0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284D3D4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D3D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0284D3D8 */ cpu->lr = cpu->r[0];
|
|
/* 0284D3DC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284D3E0 */ return;
|
|
}
|
|
|
|
// fn_0284D3C0 @ 0x284d3c0
|
|
void Gambit_fn_0284D3C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0284D3C0: ; // 0x284d3c0
|
|
/* 0284D3C0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284D3C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D3C0 */ cpu->r[1] = _t0;
|
|
/* 0284D3C4 */ rbrew_dispatch(cpu, 0x02d081a0u);
|
|
/* 0284D3C8 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 0284D3CC */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 0284D3D0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284D3D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D3D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0284D3D8 */ cpu->lr = cpu->r[0];
|
|
/* 0284D3DC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284D3E0 */ return;
|
|
}
|
|
|
|
// fn_0284D3E4 @ 0x284d3e4
|
|
void Gambit_fn_0284D3E4(CPUState* cpu) {
|
|
L_0284D3E4: ; // 0x284d3e4
|
|
/* 0284D3E4 */ cpu->r[3] = cpu->r[4];
|
|
/* 0284D3E8 */ rbrew_dispatch(cpu, 0x02d06a30u); return;
|
|
}
|
|
|
|
// fn_0284D3EC @ 0x284d3ec
|
|
void Gambit_fn_0284D3EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284D3EC: ; // 0x284d3ec
|
|
/* 0284D3EC */ cpu->r[0] = cpu->lr;
|
|
/* 0284D3F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284D3F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D3F0 */ cpu->r[1] = _t0;
|
|
/* 0284D3F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D3F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284D3F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284D3FC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D3FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284D400 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D400 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284D404 */ Gambit_fn_0284D3B4(cpu);
|
|
/* 0284D408 */ _t4 = cpu->r[30] + 0x00000079u;
|
|
/* 0284D408 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0284D40C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D410 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 0284D414 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D414 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284D414 */ if (_t6) goto L_0284D424; else goto L_0284D418;
|
|
L_0284D418: ; // 0x284d418
|
|
/* 0284D418 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284D41C */ cpu->r[4] = cpu->r[31];
|
|
/* 0284D420 */ Gambit_fn_0284D3E4(cpu);
|
|
L_0284D424: ; // 0x284d424
|
|
/* 0284D424 */ _t7 = cpu->r[30] + 0x00000079u;
|
|
/* 0284D424 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 0284D428 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284D42C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D42C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284D430 */ cpu->lr = cpu->r[0];
|
|
/* 0284D434 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284D438 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D43C */ return;
|
|
}
|
|
|
|
// fn_0284D3F0 @ 0x284d3f0
|
|
void Gambit_fn_0284D3F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284D3F0: ; // 0x284d3f0
|
|
/* 0284D3F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284D3F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D3F0 */ cpu->r[1] = _t0;
|
|
/* 0284D3F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D3F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284D3F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284D3FC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D3FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284D400 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D400 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284D404 */ Gambit_fn_0284D3B4(cpu);
|
|
/* 0284D408 */ _t4 = cpu->r[30] + 0x00000079u;
|
|
/* 0284D408 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0284D40C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D410 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 0284D414 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D414 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284D414 */ if (_t6) goto L_0284D424; else goto L_0284D418;
|
|
L_0284D418: ; // 0x284d418
|
|
/* 0284D418 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284D41C */ cpu->r[4] = cpu->r[31];
|
|
/* 0284D420 */ Gambit_fn_0284D3E4(cpu);
|
|
L_0284D424: ; // 0x284d424
|
|
/* 0284D424 */ _t7 = cpu->r[30] + 0x00000079u;
|
|
/* 0284D424 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 0284D428 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284D42C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D42C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284D430 */ cpu->lr = cpu->r[0];
|
|
/* 0284D434 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284D438 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D43C */ return;
|
|
}
|
|
|
|
// fn_0284D440 @ 0x284d440
|
|
void Gambit_fn_0284D440(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_0284D440: ; // 0x284d440
|
|
/* 0284D440 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284D440 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D440 */ cpu->r[1] = _t0;
|
|
/* 0284D444 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284D448 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 0284D448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0284D44C */ cpu->r[11] = 0x43300000u;
|
|
/* 0284D450 */ _t2 = cpu->r[12] + 0xFFFFFE38u;
|
|
/* 0284D450 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t2);
|
|
/* 0284D454 */ cpu->r[10] = cpu->r[0] ^ 0x80000000u;
|
|
/* 0284D458 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D458 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 0284D45C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D45C */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 0284D460 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D460 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t5);
|
|
/* 0284D464 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
|
|
/* 0284D468 */ _t6 = cpu->r[3] + 0x000000C0u;
|
|
/* 0284D468 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0284D46C */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 0284D470 */ _t7 = cpu->r[3] + 0x000000BCu;
|
|
/* 0284D470 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0284D474 */ cpu->f[0] = -cpu->f[11];
|
|
/* 0284D478 */ cpu->f[13] = cpu->f[12] * cpu->f[13];
|
|
/* 0284D47C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0284D480 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284D480 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284D480 */ if (_t9) goto L_0284D4AC; else goto L_0284D484;
|
|
L_0284D484: ; // 0x284d484
|
|
/* 0284D484 */ cpu->f[12] = cpu->f[13] + cpu->f[11];
|
|
/* 0284D488 */ _t10 = cpu->r[3] + 0x000000C4u;
|
|
/* 0284D488 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0284D48C */ cpu->f[13] = fma(cpu->f[12], cpu->f[0], -(cpu->f[11]));
|
|
/* 0284D490 */ _t11 = cpu->r[3] + 0x000000C8u;
|
|
/* 0284D490 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 0284D494 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284D498 */ cpu->f[11] = cpu->f[13] * cpu->f[11];
|
|
/* 0284D49C */ _t12 = cpu->r[10] + 0xFFFFFE40u;
|
|
/* 0284D49C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0284D4A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 0284D4A4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284D4A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284D4A4 */ if (_t14) goto L_0284D4D8; else goto L_0284D4A8;
|
|
L_0284D4A8: ; // 0x284d4a8
|
|
/* 0284D4A8 */ goto L_0284D4F0;
|
|
L_0284D4AC: ; // 0x284d4ac
|
|
/* 0284D4AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[11]);
|
|
/* 0284D4B0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284D4B0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0284D4B0 */ if (_t16) goto L_0284D4C0; else goto L_0284D4B4;
|
|
L_0284D4B4: ; // 0x284d4b4
|
|
/* 0284D4B4 */ cpu->f[13] = cpu->f[13] - cpu->f[11];
|
|
/* 0284D4B8 */ _t17 = cpu->r[3] + 0x000000C4u;
|
|
/* 0284D4B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0284D4BC */ cpu->f[13] = fma(cpu->f[13], cpu->f[0], cpu->f[11]);
|
|
L_0284D4C0: ; // 0x284d4c0
|
|
/* 0284D4C0 */ _t18 = cpu->r[3] + 0x000000C8u;
|
|
/* 0284D4C0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0284D4C4 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284D4C8 */ cpu->f[11] = cpu->f[13] * cpu->f[11];
|
|
/* 0284D4CC */ _t19 = cpu->r[10] + 0xFFFFFE40u;
|
|
/* 0284D4CC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0284D4D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 0284D4D4 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284D4D4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284D4D4 */ if (_t21) goto L_0284D4D8; else goto L_0284D4F0;
|
|
L_0284D4D8: ; // 0x284d4d8
|
|
/* 0284D4D8 */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 0284D4DC */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 0284D4E0 */ /* nop */
|
|
/* 0284D4E4 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D4E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284D4E8 */ _t23 = cpu->r[4] + 0x00000000u;
|
|
/* 0284D4E8 */ rbrew_write32(cpu->mem, _t23, cpu->r[11]);
|
|
/* 0284D4EC */ goto L_0284D518;
|
|
L_0284D4F0: ; // 0x284d4f0
|
|
/* 0284D4F0 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284D4F4 */ _t24 = cpu->r[12] + 0xFFFFFE44u;
|
|
/* 0284D4F4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0284D4F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 0284D4FC */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284D4FC */ _t26 = _t25 & 0x00000001u;
|
|
/* 0284D4FC */ if (_t26) goto L_0284D500; else goto L_0284D504;
|
|
L_0284D500: ; // 0x284d500
|
|
/* 0284D500 */ cpu->f[11] = cpu->f[12];
|
|
L_0284D504: ; // 0x284d504
|
|
/* 0284D504 */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 0284D508 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 0284D50C */ /* nop */
|
|
/* 0284D510 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D510 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284D514 */ _t28 = cpu->r[4] + 0x00000000u;
|
|
/* 0284D514 */ rbrew_write32(cpu->mem, _t28, cpu->r[11]);
|
|
L_0284D518: ; // 0x284d518
|
|
/* 0284D518 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284D51C */ return;
|
|
}
|
|
|
|
// fn_0284D520 @ 0x284d520
|
|
void Gambit_fn_0284D520(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0284D520: ; // 0x284d520
|
|
/* 0284D520 */ cpu->r[0] = cpu->lr;
|
|
/* 0284D524 */ cpu->r[9] = cpu->r[4];
|
|
/* 0284D528 */ cpu->r[7] = 0x00000090u;
|
|
/* 0284D52C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0284D52C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0284D530 */ cpu->r[8] = 0x00000000u;
|
|
/* 0284D534 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284D534 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0284D534 */ cpu->r[1] = _t1;
|
|
L_0284D538: ; // 0x284d538
|
|
/* 0284D538 */ _t2 = cpu->r[9] + 0x00000000u;
|
|
/* 0284D538 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0284D53C */ cpu->r[4] = cpu->r[12] + cpu->r[8];
|
|
/* 0284D540 */ Gambit_fn_0284D440(cpu);
|
|
/* 0284D544 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 0284D544 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284D548 */ cpu->r[4] = cpu->r[11] + cpu->r[8];
|
|
/* 0284D54C */ Gambit_fn_0284D440(cpu);
|
|
/* 0284D550 */ _t4 = cpu->r[9] + 0x00000008u;
|
|
/* 0284D550 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284D554 */ cpu->r[4] = cpu->r[10] + cpu->r[8];
|
|
/* 0284D558 */ Gambit_fn_0284D440(cpu);
|
|
/* 0284D55C */ _t5 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0284D55C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284D560 */ cpu->r[4] = cpu->r[11] + cpu->r[8];
|
|
/* 0284D564 */ Gambit_fn_0284D440(cpu);
|
|
/* 0284D568 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 0284D568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0284D56C */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 0284D570 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D570 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284D570 */ if (_t7) goto L_0284D574; else goto L_0284D538;
|
|
L_0284D574: ; // 0x284d574
|
|
/* 0284D574 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284D578 */ cpu->lr = cpu->r[0];
|
|
/* 0284D57C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284D580 */ return;
|
|
}
|
|
|
|
// fn_0284D534 @ 0x284d534
|
|
void Gambit_fn_0284D534(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0284D534: ; // 0x284d534
|
|
/* 0284D534 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284D534 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D534 */ cpu->r[1] = _t0;
|
|
L_0284D538: ; // 0x284d538
|
|
/* 0284D538 */ _t1 = cpu->r[9] + 0x00000000u;
|
|
/* 0284D538 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0284D53C */ cpu->r[4] = cpu->r[12] + cpu->r[8];
|
|
/* 0284D540 */ Gambit_fn_0284D440(cpu);
|
|
/* 0284D544 */ _t2 = cpu->r[9] + 0x00000004u;
|
|
/* 0284D544 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0284D548 */ cpu->r[4] = cpu->r[11] + cpu->r[8];
|
|
/* 0284D54C */ Gambit_fn_0284D440(cpu);
|
|
/* 0284D550 */ _t3 = cpu->r[9] + 0x00000008u;
|
|
/* 0284D550 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284D554 */ cpu->r[4] = cpu->r[10] + cpu->r[8];
|
|
/* 0284D558 */ Gambit_fn_0284D440(cpu);
|
|
/* 0284D55C */ _t4 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0284D55C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284D560 */ cpu->r[4] = cpu->r[11] + cpu->r[8];
|
|
/* 0284D564 */ Gambit_fn_0284D440(cpu);
|
|
/* 0284D568 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 0284D568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0284D56C */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 0284D570 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D570 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284D570 */ if (_t6) goto L_0284D574; else goto L_0284D538;
|
|
L_0284D574: ; // 0x284d574
|
|
/* 0284D574 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284D578 */ cpu->lr = cpu->r[0];
|
|
/* 0284D57C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284D580 */ return;
|
|
}
|
|
|
|
// fn_0284D588 @ 0x284d588
|
|
void Gambit_fn_0284D588(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49;
|
|
|
|
L_0284D588: ; // 0x284d588
|
|
/* 0284D588 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0284D588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D588 */ cpu->r[1] = _t0;
|
|
/* 0284D58C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0284D58C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0284D590 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 0284D590 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284D594 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 0284D594 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0284D598 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284D598 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0284D59C */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 0284D59C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284D5A0 */ _t6 = cpu->r[3] + 0x000000A8u;
|
|
/* 0284D5A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284D5A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D5A8 */ _t7 = cpu->r[3] + 0x000000B0u;
|
|
/* 0284D5A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284D5AC */ Gambit_fn_0284D3EC(cpu);
|
|
/* 0284D5B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 0284D5B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D5B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284D5B4 */ if (_t9) goto L_0284D69C; else goto L_0284D5B8;
|
|
L_0284D5B8: ; // 0x284d5b8
|
|
/* 0284D5B8 */ _t10 = cpu->r[31] + 0x00000084u;
|
|
/* 0284D5B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284D5BC */ cpu->r[30] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284D5C0 */ _t11 = cpu->r[31] + 0x00000080u;
|
|
/* 0284D5C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284D5C4 */ _t12 = cpu->r[31] + 0x00000088u;
|
|
/* 0284D5C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284D5C8 */ cpu->r[8] = cpu->r[6] + cpu->r[30];
|
|
/* 0284D5CC */ _t13 = cpu->r[31] + 0x0000008Cu;
|
|
/* 0284D5CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284D5D0 */ cpu->r[0] = cpu->r[12] + cpu->r[30];
|
|
/* 0284D5D4 */ _t14 = cpu->r[31] + 0x000000B9u;
|
|
/* 0284D5D4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0284D5D8 */ cpu->r[7] = cpu->r[9] + cpu->r[30];
|
|
/* 0284D5DC */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D5DC */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 0284D5E0 */ cpu->r[10] = cpu->r[11] + cpu->r[30];
|
|
/* 0284D5E4 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0284D5E4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0284D5E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284D5EC */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284D5EC */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0284D5F0 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 0284D5F0 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 0284D5F4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D5F4 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0284D5F8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D5F8 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 0284D5FC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D5FC */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284D5FC */ if (_t22) goto L_0284D60C; else goto L_0284D600;
|
|
L_0284D600: ; // 0x284d600
|
|
/* 0284D600 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D604 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D608 */ Gambit_fn_0284D520(cpu);
|
|
L_0284D60C: ; // 0x284d60c
|
|
/* 0284D60C */ cpu->r[5] = 0x00000090u;
|
|
/* 0284D610 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0284D614 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D618 */ rbrew_dispatch(cpu, 0x02d069f0u);
|
|
/* 0284D61C */ _t23 = cpu->r[31] + 0x000000D1u;
|
|
/* 0284D61C */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0284D620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284D624 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D624 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0284D624 */ if (_t25) goto L_0284D67C; else goto L_0284D628;
|
|
L_0284D628: ; // 0x284d628
|
|
/* 0284D628 */ _t26 = cpu->r[31] + 0x00000090u;
|
|
/* 0284D628 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284D62C */ cpu->r[9] = 0x00000000u;
|
|
/* 0284D630 */ cpu->r[6] = 0x00000090u;
|
|
/* 0284D634 */ _t27 = cpu->r[31] + 0x00000094u;
|
|
/* 0284D634 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284D638 */ cpu->r[7] = cpu->r[4] + cpu->r[30];
|
|
/* 0284D63C */ cpu->ctr = cpu->r[6];
|
|
/* 0284D640 */ cpu->r[6] = cpu->r[5] + cpu->r[30];
|
|
/* 0284D644 */ cpu->r[5] = cpu->r[7] + 0xFFFFFFFCu;
|
|
/* 0284D648 */ cpu->r[12] = cpu->r[6] + 0xFFFFFFFCu;
|
|
L_0284D64C: ; // 0x284d64c
|
|
/* 0284D64C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D64C */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284D650 */ _t29 = cpu->r[5] + 0x00000004u;
|
|
/* 0284D650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284D650 */ cpu->r[5] = _t29;
|
|
/* 0284D654 */ _t30 = cpu->r[11] + cpu->r[9];
|
|
/* 0284D654 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284D658 */ cpu->r[8] = cpu->r[8] + cpu->r[0];
|
|
/* 0284D65C */ _t31 = cpu->r[11] + cpu->r[9];
|
|
/* 0284D65C */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 0284D660 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D660 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284D664 */ _t33 = cpu->r[10] + cpu->r[9];
|
|
/* 0284D664 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0284D668 */ _t34 = cpu->r[12] + 0x00000004u;
|
|
/* 0284D668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284D668 */ cpu->r[12] = _t34;
|
|
/* 0284D66C */ cpu->r[4] = cpu->r[4] + cpu->r[0];
|
|
/* 0284D670 */ _t35 = cpu->r[10] + cpu->r[9];
|
|
/* 0284D670 */ rbrew_write32(cpu->mem, _t35, cpu->r[4]);
|
|
/* 0284D674 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 0284D678 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284D678 */ _t36 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284D678 */ _t37 = _t36 >> (0x00000002u & 31u);
|
|
/* 0284D678 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0284D678 */ if (_t38) goto L_0284D64C; else goto L_0284D67C;
|
|
L_0284D67C: ; // 0x284d67c
|
|
/* 0284D67C */ _t39 = cpu->r[31] + 0x000000A0u;
|
|
/* 0284D67C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284D680 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000090u);
|
|
/* 0284D684 */ cpu->r[29] = cpu->r[29] + 0x00000090u;
|
|
/* 0284D688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[11]);
|
|
/* 0284D68C */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284D68C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0284D68C */ if (_t41) goto L_0284D694; else goto L_0284D690;
|
|
L_0284D690: ; // 0x284d690
|
|
/* 0284D690 */ cpu->r[29] = 0x00000000u;
|
|
L_0284D694: ; // 0x284d694
|
|
/* 0284D694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 0284D698 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D698 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0284D698 */ if (_t43) goto L_0284D69C; else goto L_0284D5B8;
|
|
L_0284D69C: ; // 0x284d69c
|
|
/* 0284D69C */ _t44 = cpu->r[31] + 0x000000B0u;
|
|
/* 0284D69C */ rbrew_write32(cpu->mem, _t44, cpu->r[29]);
|
|
/* 0284D6A0 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 0284D6A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0284D6A4 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 0284D6A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0284D6A8 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 0284D6A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0284D6AC */ _t48 = cpu->r[1] + 0x00000028u;
|
|
/* 0284D6AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0284D6B0 */ cpu->lr = cpu->r[0];
|
|
/* 0284D6B4 */ _t49 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284D6B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0284D6B8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0284D6BC */ return;
|
|
}
|
|
|
|
// fn_0284D6C0 @ 0x284d6c0
|
|
void Gambit_fn_0284D6C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
|
|
|
|
L_0284D584: ; // 0x284d584
|
|
/* 0284D584 */ cpu->r[0] = cpu->lr;
|
|
/* 0284D588 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0284D588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D588 */ cpu->r[1] = _t0;
|
|
/* 0284D58C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0284D58C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0284D590 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 0284D590 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284D594 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 0284D594 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0284D598 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284D598 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0284D59C */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 0284D59C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284D5A0 */ _t6 = cpu->r[3] + 0x000000A8u;
|
|
/* 0284D5A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284D5A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D5A8 */ _t7 = cpu->r[3] + 0x000000B0u;
|
|
/* 0284D5A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284D5AC */ Gambit_fn_0284D3EC(cpu);
|
|
/* 0284D5B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 0284D5B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D5B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284D5B4 */ if (_t9) goto L_0284D69C; else goto L_0284D5B8;
|
|
L_0284D5B8: ; // 0x284d5b8
|
|
/* 0284D5B8 */ _t10 = cpu->r[31] + 0x00000084u;
|
|
/* 0284D5B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284D5BC */ cpu->r[30] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284D5C0 */ _t11 = cpu->r[31] + 0x00000080u;
|
|
/* 0284D5C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284D5C4 */ _t12 = cpu->r[31] + 0x00000088u;
|
|
/* 0284D5C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284D5C8 */ cpu->r[8] = cpu->r[6] + cpu->r[30];
|
|
/* 0284D5CC */ _t13 = cpu->r[31] + 0x0000008Cu;
|
|
/* 0284D5CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284D5D0 */ cpu->r[0] = cpu->r[12] + cpu->r[30];
|
|
/* 0284D5D4 */ _t14 = cpu->r[31] + 0x000000B9u;
|
|
/* 0284D5D4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0284D5D8 */ cpu->r[7] = cpu->r[9] + cpu->r[30];
|
|
/* 0284D5DC */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D5DC */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 0284D5E0 */ cpu->r[10] = cpu->r[11] + cpu->r[30];
|
|
/* 0284D5E4 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0284D5E4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0284D5E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284D5EC */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284D5EC */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0284D5F0 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 0284D5F0 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 0284D5F4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D5F4 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0284D5F8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D5F8 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 0284D5FC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D5FC */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284D5FC */ if (_t22) goto L_0284D60C; else goto L_0284D600;
|
|
L_0284D600: ; // 0x284d600
|
|
/* 0284D600 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D604 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D608 */ Gambit_fn_0284D520(cpu);
|
|
L_0284D60C: ; // 0x284d60c
|
|
/* 0284D60C */ cpu->r[5] = 0x00000090u;
|
|
/* 0284D610 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0284D614 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D618 */ rbrew_dispatch(cpu, 0x02d069f0u);
|
|
/* 0284D61C */ _t23 = cpu->r[31] + 0x000000D1u;
|
|
/* 0284D61C */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0284D620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284D624 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D624 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0284D624 */ if (_t25) goto L_0284D67C; else goto L_0284D628;
|
|
L_0284D628: ; // 0x284d628
|
|
/* 0284D628 */ _t26 = cpu->r[31] + 0x00000090u;
|
|
/* 0284D628 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284D62C */ cpu->r[9] = 0x00000000u;
|
|
/* 0284D630 */ cpu->r[6] = 0x00000090u;
|
|
/* 0284D634 */ _t27 = cpu->r[31] + 0x00000094u;
|
|
/* 0284D634 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284D638 */ cpu->r[7] = cpu->r[4] + cpu->r[30];
|
|
/* 0284D63C */ cpu->ctr = cpu->r[6];
|
|
/* 0284D640 */ cpu->r[6] = cpu->r[5] + cpu->r[30];
|
|
/* 0284D644 */ cpu->r[5] = cpu->r[7] + 0xFFFFFFFCu;
|
|
/* 0284D648 */ cpu->r[12] = cpu->r[6] + 0xFFFFFFFCu;
|
|
L_0284D64C: ; // 0x284d64c
|
|
/* 0284D64C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D64C */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284D650 */ _t29 = cpu->r[5] + 0x00000004u;
|
|
/* 0284D650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284D650 */ cpu->r[5] = _t29;
|
|
/* 0284D654 */ _t30 = cpu->r[11] + cpu->r[9];
|
|
/* 0284D654 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284D658 */ cpu->r[8] = cpu->r[8] + cpu->r[0];
|
|
/* 0284D65C */ _t31 = cpu->r[11] + cpu->r[9];
|
|
/* 0284D65C */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 0284D660 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D660 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284D664 */ _t33 = cpu->r[10] + cpu->r[9];
|
|
/* 0284D664 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0284D668 */ _t34 = cpu->r[12] + 0x00000004u;
|
|
/* 0284D668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284D668 */ cpu->r[12] = _t34;
|
|
/* 0284D66C */ cpu->r[4] = cpu->r[4] + cpu->r[0];
|
|
/* 0284D670 */ _t35 = cpu->r[10] + cpu->r[9];
|
|
/* 0284D670 */ rbrew_write32(cpu->mem, _t35, cpu->r[4]);
|
|
/* 0284D674 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 0284D678 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284D678 */ _t36 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284D678 */ _t37 = _t36 >> (0x00000002u & 31u);
|
|
/* 0284D678 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0284D678 */ if (_t38) goto L_0284D64C; else goto L_0284D67C;
|
|
L_0284D67C: ; // 0x284d67c
|
|
/* 0284D67C */ _t39 = cpu->r[31] + 0x000000A0u;
|
|
/* 0284D67C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284D680 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000090u);
|
|
/* 0284D684 */ cpu->r[29] = cpu->r[29] + 0x00000090u;
|
|
/* 0284D688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[11]);
|
|
/* 0284D68C */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284D68C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0284D68C */ if (_t41) goto L_0284D694; else goto L_0284D690;
|
|
L_0284D690: ; // 0x284d690
|
|
/* 0284D690 */ cpu->r[29] = 0x00000000u;
|
|
L_0284D694: ; // 0x284d694
|
|
/* 0284D694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 0284D698 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D698 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0284D698 */ if (_t43) goto L_0284D69C; else goto L_0284D5B8;
|
|
L_0284D69C: ; // 0x284d69c
|
|
/* 0284D69C */ _t44 = cpu->r[31] + 0x000000B0u;
|
|
/* 0284D69C */ rbrew_write32(cpu->mem, _t44, cpu->r[29]);
|
|
/* 0284D6A0 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 0284D6A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0284D6A4 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 0284D6A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0284D6A8 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 0284D6A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0284D6AC */ _t48 = cpu->r[1] + 0x00000028u;
|
|
/* 0284D6AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0284D6B0 */ cpu->lr = cpu->r[0];
|
|
/* 0284D6B4 */ _t49 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284D6B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0284D6B8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0284D6BC */ return;
|
|
L_0284D6C0: ; // 0x284d6c0
|
|
/* 0284D6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284D6C4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D6C4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0284D6C4 */ _t52 = _t51 ^ 0x00000001u;
|
|
/* 0284D6C4 */ if (_t52) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284D6C4 */ goto L_0284D6C8;
|
|
L_0284D6C8: ; // 0x284d6c8
|
|
/* 0284D6C8 */ _t53 = cpu->r[3] + 0x00000078u;
|
|
/* 0284D6C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t53);
|
|
/* 0284D6CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284D6D0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D6D0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0284D6D0 */ if (_t55) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284D6D0 */ goto L_0284D6D4;
|
|
L_0284D6D4: ; // 0x284d6d4
|
|
/* 0284D6D4 */ goto L_0284D584;
|
|
}
|
|
|
|
// fn_0284D6D8 @ 0x284d6d8
|
|
void Gambit_fn_0284D6D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
|
|
|
|
L_0284D584: ; // 0x284d584
|
|
/* 0284D584 */ cpu->r[0] = cpu->lr;
|
|
/* 0284D588 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0284D588 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D588 */ cpu->r[1] = _t0;
|
|
/* 0284D58C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0284D58C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0284D590 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 0284D590 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284D594 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 0284D594 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0284D598 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284D598 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0284D59C */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 0284D59C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284D5A0 */ _t6 = cpu->r[3] + 0x000000A8u;
|
|
/* 0284D5A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284D5A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D5A8 */ _t7 = cpu->r[3] + 0x000000B0u;
|
|
/* 0284D5A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284D5AC */ Gambit_fn_0284D3EC(cpu);
|
|
/* 0284D5B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 0284D5B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D5B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284D5B4 */ if (_t9) goto L_0284D69C; else goto L_0284D5B8;
|
|
L_0284D5B8: ; // 0x284d5b8
|
|
/* 0284D5B8 */ _t10 = cpu->r[31] + 0x00000084u;
|
|
/* 0284D5B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284D5BC */ cpu->r[30] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284D5C0 */ _t11 = cpu->r[31] + 0x00000080u;
|
|
/* 0284D5C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284D5C4 */ _t12 = cpu->r[31] + 0x00000088u;
|
|
/* 0284D5C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284D5C8 */ cpu->r[8] = cpu->r[6] + cpu->r[30];
|
|
/* 0284D5CC */ _t13 = cpu->r[31] + 0x0000008Cu;
|
|
/* 0284D5CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284D5D0 */ cpu->r[0] = cpu->r[12] + cpu->r[30];
|
|
/* 0284D5D4 */ _t14 = cpu->r[31] + 0x000000B9u;
|
|
/* 0284D5D4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0284D5D8 */ cpu->r[7] = cpu->r[9] + cpu->r[30];
|
|
/* 0284D5DC */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D5DC */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 0284D5E0 */ cpu->r[10] = cpu->r[11] + cpu->r[30];
|
|
/* 0284D5E4 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0284D5E4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0284D5E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284D5EC */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284D5EC */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0284D5F0 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 0284D5F0 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 0284D5F4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D5F4 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0284D5F8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D5F8 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 0284D5FC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D5FC */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284D5FC */ if (_t22) goto L_0284D60C; else goto L_0284D600;
|
|
L_0284D600: ; // 0x284d600
|
|
/* 0284D600 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D604 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D608 */ Gambit_fn_0284D520(cpu);
|
|
L_0284D60C: ; // 0x284d60c
|
|
/* 0284D60C */ cpu->r[5] = 0x00000090u;
|
|
/* 0284D610 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0284D614 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D618 */ rbrew_dispatch(cpu, 0x02d069f0u);
|
|
/* 0284D61C */ _t23 = cpu->r[31] + 0x000000D1u;
|
|
/* 0284D61C */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0284D620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284D624 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D624 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0284D624 */ if (_t25) goto L_0284D67C; else goto L_0284D628;
|
|
L_0284D628: ; // 0x284d628
|
|
/* 0284D628 */ _t26 = cpu->r[31] + 0x00000090u;
|
|
/* 0284D628 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284D62C */ cpu->r[9] = 0x00000000u;
|
|
/* 0284D630 */ cpu->r[6] = 0x00000090u;
|
|
/* 0284D634 */ _t27 = cpu->r[31] + 0x00000094u;
|
|
/* 0284D634 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284D638 */ cpu->r[7] = cpu->r[4] + cpu->r[30];
|
|
/* 0284D63C */ cpu->ctr = cpu->r[6];
|
|
/* 0284D640 */ cpu->r[6] = cpu->r[5] + cpu->r[30];
|
|
/* 0284D644 */ cpu->r[5] = cpu->r[7] + 0xFFFFFFFCu;
|
|
/* 0284D648 */ cpu->r[12] = cpu->r[6] + 0xFFFFFFFCu;
|
|
L_0284D64C: ; // 0x284d64c
|
|
/* 0284D64C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D64C */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284D650 */ _t29 = cpu->r[5] + 0x00000004u;
|
|
/* 0284D650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284D650 */ cpu->r[5] = _t29;
|
|
/* 0284D654 */ _t30 = cpu->r[11] + cpu->r[9];
|
|
/* 0284D654 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284D658 */ cpu->r[8] = cpu->r[8] + cpu->r[0];
|
|
/* 0284D65C */ _t31 = cpu->r[11] + cpu->r[9];
|
|
/* 0284D65C */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 0284D660 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D660 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284D664 */ _t33 = cpu->r[10] + cpu->r[9];
|
|
/* 0284D664 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0284D668 */ _t34 = cpu->r[12] + 0x00000004u;
|
|
/* 0284D668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284D668 */ cpu->r[12] = _t34;
|
|
/* 0284D66C */ cpu->r[4] = cpu->r[4] + cpu->r[0];
|
|
/* 0284D670 */ _t35 = cpu->r[10] + cpu->r[9];
|
|
/* 0284D670 */ rbrew_write32(cpu->mem, _t35, cpu->r[4]);
|
|
/* 0284D674 */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 0284D678 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284D678 */ _t36 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284D678 */ _t37 = _t36 >> (0x00000002u & 31u);
|
|
/* 0284D678 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0284D678 */ if (_t38) goto L_0284D64C; else goto L_0284D67C;
|
|
L_0284D67C: ; // 0x284d67c
|
|
/* 0284D67C */ _t39 = cpu->r[31] + 0x000000A0u;
|
|
/* 0284D67C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284D680 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000090u);
|
|
/* 0284D684 */ cpu->r[29] = cpu->r[29] + 0x00000090u;
|
|
/* 0284D688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[11]);
|
|
/* 0284D68C */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284D68C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0284D68C */ if (_t41) goto L_0284D694; else goto L_0284D690;
|
|
L_0284D690: ; // 0x284d690
|
|
/* 0284D690 */ cpu->r[29] = 0x00000000u;
|
|
L_0284D694: ; // 0x284d694
|
|
/* 0284D694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 0284D698 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D698 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0284D698 */ if (_t43) goto L_0284D69C; else goto L_0284D5B8;
|
|
L_0284D69C: ; // 0x284d69c
|
|
/* 0284D69C */ _t44 = cpu->r[31] + 0x000000B0u;
|
|
/* 0284D69C */ rbrew_write32(cpu->mem, _t44, cpu->r[29]);
|
|
/* 0284D6A0 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 0284D6A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0284D6A4 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 0284D6A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0284D6A8 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 0284D6A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0284D6AC */ _t48 = cpu->r[1] + 0x00000028u;
|
|
/* 0284D6AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0284D6B0 */ cpu->lr = cpu->r[0];
|
|
/* 0284D6B4 */ _t49 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284D6B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0284D6B8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0284D6BC */ return;
|
|
L_0284D6C0: ; // 0x284d6c0
|
|
/* 0284D6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0284D6C4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D6C4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0284D6C4 */ _t52 = _t51 ^ 0x00000001u;
|
|
/* 0284D6C4 */ if (_t52) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284D6C4 */ goto L_0284D6C8;
|
|
L_0284D6C8: ; // 0x284d6c8
|
|
/* 0284D6C8 */ _t53 = cpu->r[3] + 0x00000078u;
|
|
/* 0284D6C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t53);
|
|
/* 0284D6CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284D6D0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D6D0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0284D6D0 */ if (_t55) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284D6D0 */ goto L_0284D6D4;
|
|
L_0284D6D4: ; // 0x284d6d4
|
|
/* 0284D6D4 */ goto L_0284D584;
|
|
L_0284D6D8: ; // 0x284d6d8
|
|
/* 0284D6D8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 0284D6DC */ goto L_0284D6C0;
|
|
}
|
|
|
|
// fn_0284D6E0 @ 0x284d6e0
|
|
void Gambit_fn_0284D6E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0284D6E0: ; // 0x284d6e0
|
|
/* 0284D6E0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284D6E4 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284D6E8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0284D6E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0284D6EC */ _t1 = cpu->r[11] + 0xFFFFFE48u;
|
|
/* 0284D6EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0284D6F0 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 0284D6F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284D6F4 */ _t3 = cpu->r[3] + 0x00000014u;
|
|
/* 0284D6F4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 0284D6F8 */ _t4 = cpu->r[3] + 0x00000018u;
|
|
/* 0284D6F8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
|
|
/* 0284D6FC */ _t5 = cpu->r[3] + 0x00000024u;
|
|
/* 0284D6FC */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 0284D700 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 0284D700 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0284D704 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284D708 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 0284D708 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 0284D70C */ _t8 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0284D70C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 0284D710 */ _t9 = cpu->r[3] + 0x00000020u;
|
|
/* 0284D710 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 0284D714 */ _t10 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284D714 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 0284D718 */ return;
|
|
}
|
|
|
|
// fn_0284D754 @ 0x284d754
|
|
void Gambit_fn_0284D754(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0284D71C: ; // 0x284d71c
|
|
/* 0284D71C */ cpu->r[12] = 0x10130000u;
|
|
/* 0284D720 */ _t0 = cpu->r[12] + 0xFFFFFE48u;
|
|
/* 0284D720 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0284D724 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284D728 */ cpu->f[10] = cpu->f[0] - cpu->f[1];
|
|
/* 0284D72C */ _t1 = cpu->r[12] + 0xFFFFFE44u;
|
|
/* 0284D72C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0284D730 */ cpu->f[11] = fma(cpu->f[10], cpu->f[2], cpu->f[1]);
|
|
/* 0284D734 */ cpu->f[13] = cpu->f[1] * cpu->f[13];
|
|
/* 0284D738 */ cpu->f[9] = cpu->f[11] * cpu->f[3];
|
|
/* 0284D73C */ _t2 = cpu->r[3] + 0x000000C0u;
|
|
/* 0284D73C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[13]);
|
|
/* 0284D740 */ _t3 = cpu->r[3] + 0x000000BCu;
|
|
/* 0284D740 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[3]);
|
|
/* 0284D744 */ cpu->f[12] = cpu->f[0] / cpu->f[9];
|
|
/* 0284D748 */ _t4 = cpu->r[3] + 0x000000C4u;
|
|
/* 0284D748 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[2]);
|
|
/* 0284D74C */ _t5 = cpu->r[3] + 0x000000C8u;
|
|
/* 0284D74C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[12]);
|
|
/* 0284D750 */ return;
|
|
L_0284D754: ; // 0x284d754
|
|
/* 0284D754 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284D758 */ _t6 = cpu->r[12] + 0xFFFFFE50u;
|
|
/* 0284D758 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0284D75C */ cpu->r[12] = 0x10130000u;
|
|
/* 0284D760 */ _t7 = cpu->r[12] + 0xFFFFFE48u;
|
|
/* 0284D760 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0284D764 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284D768 */ _t8 = cpu->r[12] + 0xFFFFFE4Cu;
|
|
/* 0284D768 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0284D76C */ goto L_0284D71C;
|
|
}
|
|
|
|
// fn_0284D770 @ 0x284d770
|
|
void Gambit_fn_0284D770(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52;
|
|
|
|
L_0284D770: ; // 0x284d770
|
|
/* 0284D770 */ cpu->r[0] = cpu->lr;
|
|
/* 0284D774 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284D774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D774 */ cpu->r[1] = _t0;
|
|
/* 0284D778 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D778 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284D77C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D77C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284D780 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284D780 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284D784 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284D788 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284D788 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284D78C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D78C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284D78C */ if (_t6) goto L_0284D790; else goto L_0284D7A0;
|
|
L_0284D790: ; // 0x284d790
|
|
/* 0284D790 */ cpu->r[3] = 0x000000D4u;
|
|
/* 0284D794 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284D798 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284D79C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D79C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284D79C */ if (_t8) goto L_0284D8A8; else goto L_0284D7A0;
|
|
L_0284D7A0: ; // 0x284d7a0
|
|
/* 0284D7A0 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284D7A4 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
|
|
/* 0284D7A8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFE84u;
|
|
/* 0284D7AC */ cpu->r[0] = 0x10130000u;
|
|
/* 0284D7B0 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 0284D7B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 0284D7B4 */ cpu->r[0] = cpu->r[0] + 0xFFFFFEA4u;
|
|
/* 0284D7B8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284D7B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284D7BC */ cpu->r[30] = 0x00000000u;
|
|
/* 0284D7C0 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 0284D7C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0284D7C4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D7C4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284D7C4 */ if (_t12) goto L_0284D7C8; else goto L_0284D7D8;
|
|
L_0284D7C8: ; // 0x284d7c8
|
|
/* 0284D7C8 */ cpu->r[3] = 0x00000004u;
|
|
/* 0284D7CC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284D7D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284D7D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D7D4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284D7D4 */ if (_t14) goto L_0284D7DC; else goto L_0284D7D8;
|
|
L_0284D7D8: ; // 0x284d7d8
|
|
/* 0284D7D8 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0284D7D8 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
L_0284D7DC: ; // 0x284d7dc
|
|
/* 0284D7DC */ cpu->r[6] = 0x10130000u;
|
|
/* 0284D7E0 */ cpu->r[7] = 0x10130000u;
|
|
/* 0284D7E4 */ cpu->r[6] = cpu->r[6] + 0xFFFFFEF8u;
|
|
/* 0284D7E8 */ cpu->r[7] = cpu->r[7] + 0xFFFFFF18u;
|
|
/* 0284D7EC */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 0284D7EC */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 0284D7F0 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284D7F4 */ _t17 = cpu->r[29] + 0x00000004u;
|
|
/* 0284D7F4 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 0284D7F8 */ Gambit_fn_0284D6E0(cpu);
|
|
/* 0284D7FC */ cpu->r[3] = cpu->r[31] + 0x00000034u;
|
|
/* 0284D800 */ Gambit_fn_0284D6E0(cpu);
|
|
/* 0284D804 */ _t18 = cpu->r[31] + 0x000000D1u;
|
|
/* 0284D804 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]);
|
|
/* 0284D808 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284D80C */ _t19 = cpu->r[31] + 0x000000B8u;
|
|
/* 0284D80C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 0284D810 */ cpu->r[9] = 0x00001000u;
|
|
/* 0284D814 */ _t20 = cpu->r[31] + 0x00000060u;
|
|
/* 0284D814 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 0284D818 */ cpu->r[12] = cpu->r[31] + 0x0000007Cu;
|
|
/* 0284D81C */ _t21 = cpu->r[10] + 0xFFFFFE48u;
|
|
/* 0284D81C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0284D820 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284D824 */ _t22 = cpu->r[31] + 0x00000078u;
|
|
/* 0284D824 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
|
|
/* 0284D828 */ _t23 = cpu->r[31] + 0x00000074u;
|
|
/* 0284D828 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 0284D82C */ cpu->r[0] = 0x00000008u;
|
|
/* 0284D830 */ _t24 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0284D830 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0284D834 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0284D838 */ _t25 = cpu->r[31] + 0x000000A0u;
|
|
/* 0284D838 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0284D83C */ _t26 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0284D83C */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
|
|
/* 0284D840 */ _t27 = cpu->r[31] + 0x000000A8u;
|
|
/* 0284D840 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 0284D844 */ cpu->r[9] = 0x00000004u;
|
|
/* 0284D848 */ _t28 = cpu->r[31] + 0x00000064u;
|
|
/* 0284D848 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 0284D84C */ _t29 = cpu->r[31] + 0x000000A4u;
|
|
/* 0284D84C */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 0284D850 */ _t30 = cpu->r[31] + 0x000000D0u;
|
|
/* 0284D850 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[30]);
|
|
/* 0284D854 */ _t31 = cpu->r[31] + 0x00000079u;
|
|
/* 0284D854 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[30]);
|
|
/* 0284D858 */ _t32 = cpu->r[31] + 0x000000C0u;
|
|
/* 0284D858 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 0284D85C */ _t33 = cpu->r[31] + 0x000000ACu;
|
|
/* 0284D85C */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 0284D860 */ _t34 = cpu->r[31] + 0x000000BCu;
|
|
/* 0284D860 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 0284D864 */ _t35 = cpu->r[31] + 0x00000068u;
|
|
/* 0284D864 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
|
|
/* 0284D868 */ _t36 = cpu->r[31] + 0x000000C8u;
|
|
/* 0284D868 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 0284D86C */ _t37 = cpu->r[31] + 0x000000B4u;
|
|
/* 0284D86C */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 0284D870 */ _t38 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0284D870 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
/* 0284D874 */ _t39 = cpu->r[31] + 0x000000B0u;
|
|
/* 0284D874 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 0284D878 */ _t40 = cpu->r[31] + 0x000000CCu;
|
|
/* 0284D878 */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
|
|
/* 0284D87C */ _t41 = cpu->r[31] + 0x000000C4u;
|
|
/* 0284D87C */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 0284D880 */ cpu->r[11] = 0x00000010u;
|
|
/* 0284D884 */ _t42 = cpu->r[31] + 0x000000B9u;
|
|
/* 0284D884 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[30]);
|
|
/* 0284D888 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284D88C */ _t43 = cpu->r[31] + 0x00000070u;
|
|
/* 0284D88C */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
|
|
/* 0284D890 */ cpu->ctr = cpu->r[0];
|
|
/* 0284D894 */ _t44 = cpu->r[8] + 0xFFFF9A20u;
|
|
/* 0284D894 */ rbrew_write32(cpu->mem, _t44, cpu->r[31]);
|
|
L_0284D898: ; // 0x284d898
|
|
/* 0284D898 */ _t45 = cpu->r[12] + 0x00000004u;
|
|
/* 0284D898 */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 0284D898 */ cpu->r[12] = _t45;
|
|
/* 0284D89C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284D89C */ _t46 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284D89C */ _t47 = _t46 >> (0x00000002u & 31u);
|
|
/* 0284D89C */ _t48 = _t47 & 0x00000001u;
|
|
/* 0284D89C */ if (_t48) goto L_0284D898; else goto L_0284D8A0;
|
|
L_0284D8A0: ; // 0x284d8a0
|
|
/* 0284D8A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D8A4 */ Gambit_fn_0284D754(cpu);
|
|
L_0284D8A8: ; // 0x284d8a8
|
|
/* 0284D8A8 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D8A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0284D8AC */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284D8AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0284D8B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D8B4 */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 0284D8B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0284D8B8 */ cpu->lr = cpu->r[0];
|
|
/* 0284D8BC */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D8BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0284D8C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284D8C4 */ return;
|
|
}
|
|
|
|
// fn_0284D774 @ 0x284d774
|
|
void Gambit_fn_0284D774(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52;
|
|
|
|
L_0284D774: ; // 0x284d774
|
|
/* 0284D774 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284D774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D774 */ cpu->r[1] = _t0;
|
|
/* 0284D778 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D778 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284D77C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D77C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284D780 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284D780 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284D784 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284D788 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284D788 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284D78C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D78C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284D78C */ if (_t6) goto L_0284D790; else goto L_0284D7A0;
|
|
L_0284D790: ; // 0x284d790
|
|
/* 0284D790 */ cpu->r[3] = 0x000000D4u;
|
|
/* 0284D794 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284D798 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284D79C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D79C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284D79C */ if (_t8) goto L_0284D8A8; else goto L_0284D7A0;
|
|
L_0284D7A0: ; // 0x284d7a0
|
|
/* 0284D7A0 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284D7A4 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
|
|
/* 0284D7A8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFE84u;
|
|
/* 0284D7AC */ cpu->r[0] = 0x10130000u;
|
|
/* 0284D7B0 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 0284D7B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 0284D7B4 */ cpu->r[0] = cpu->r[0] + 0xFFFFFEA4u;
|
|
/* 0284D7B8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284D7B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284D7BC */ cpu->r[30] = 0x00000000u;
|
|
/* 0284D7C0 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 0284D7C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0284D7C4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D7C4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284D7C4 */ if (_t12) goto L_0284D7C8; else goto L_0284D7D8;
|
|
L_0284D7C8: ; // 0x284d7c8
|
|
/* 0284D7C8 */ cpu->r[3] = 0x00000004u;
|
|
/* 0284D7CC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284D7D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284D7D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284D7D4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284D7D4 */ if (_t14) goto L_0284D7DC; else goto L_0284D7D8;
|
|
L_0284D7D8: ; // 0x284d7d8
|
|
/* 0284D7D8 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0284D7D8 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
L_0284D7DC: ; // 0x284d7dc
|
|
/* 0284D7DC */ cpu->r[6] = 0x10130000u;
|
|
/* 0284D7E0 */ cpu->r[7] = 0x10130000u;
|
|
/* 0284D7E4 */ cpu->r[6] = cpu->r[6] + 0xFFFFFEF8u;
|
|
/* 0284D7E8 */ cpu->r[7] = cpu->r[7] + 0xFFFFFF18u;
|
|
/* 0284D7EC */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 0284D7EC */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 0284D7F0 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284D7F4 */ _t17 = cpu->r[29] + 0x00000004u;
|
|
/* 0284D7F4 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 0284D7F8 */ Gambit_fn_0284D6E0(cpu);
|
|
/* 0284D7FC */ cpu->r[3] = cpu->r[31] + 0x00000034u;
|
|
/* 0284D800 */ Gambit_fn_0284D6E0(cpu);
|
|
/* 0284D804 */ _t18 = cpu->r[31] + 0x000000D1u;
|
|
/* 0284D804 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]);
|
|
/* 0284D808 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284D80C */ _t19 = cpu->r[31] + 0x000000B8u;
|
|
/* 0284D80C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 0284D810 */ cpu->r[9] = 0x00001000u;
|
|
/* 0284D814 */ _t20 = cpu->r[31] + 0x00000060u;
|
|
/* 0284D814 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 0284D818 */ cpu->r[12] = cpu->r[31] + 0x0000007Cu;
|
|
/* 0284D81C */ _t21 = cpu->r[10] + 0xFFFFFE48u;
|
|
/* 0284D81C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0284D820 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284D824 */ _t22 = cpu->r[31] + 0x00000078u;
|
|
/* 0284D824 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
|
|
/* 0284D828 */ _t23 = cpu->r[31] + 0x00000074u;
|
|
/* 0284D828 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 0284D82C */ cpu->r[0] = 0x00000008u;
|
|
/* 0284D830 */ _t24 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0284D830 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0284D834 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0284D838 */ _t25 = cpu->r[31] + 0x000000A0u;
|
|
/* 0284D838 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0284D83C */ _t26 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0284D83C */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
|
|
/* 0284D840 */ _t27 = cpu->r[31] + 0x000000A8u;
|
|
/* 0284D840 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 0284D844 */ cpu->r[9] = 0x00000004u;
|
|
/* 0284D848 */ _t28 = cpu->r[31] + 0x00000064u;
|
|
/* 0284D848 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 0284D84C */ _t29 = cpu->r[31] + 0x000000A4u;
|
|
/* 0284D84C */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 0284D850 */ _t30 = cpu->r[31] + 0x000000D0u;
|
|
/* 0284D850 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[30]);
|
|
/* 0284D854 */ _t31 = cpu->r[31] + 0x00000079u;
|
|
/* 0284D854 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[30]);
|
|
/* 0284D858 */ _t32 = cpu->r[31] + 0x000000C0u;
|
|
/* 0284D858 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 0284D85C */ _t33 = cpu->r[31] + 0x000000ACu;
|
|
/* 0284D85C */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 0284D860 */ _t34 = cpu->r[31] + 0x000000BCu;
|
|
/* 0284D860 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 0284D864 */ _t35 = cpu->r[31] + 0x00000068u;
|
|
/* 0284D864 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
|
|
/* 0284D868 */ _t36 = cpu->r[31] + 0x000000C8u;
|
|
/* 0284D868 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 0284D86C */ _t37 = cpu->r[31] + 0x000000B4u;
|
|
/* 0284D86C */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 0284D870 */ _t38 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0284D870 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
/* 0284D874 */ _t39 = cpu->r[31] + 0x000000B0u;
|
|
/* 0284D874 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 0284D878 */ _t40 = cpu->r[31] + 0x000000CCu;
|
|
/* 0284D878 */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
|
|
/* 0284D87C */ _t41 = cpu->r[31] + 0x000000C4u;
|
|
/* 0284D87C */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 0284D880 */ cpu->r[11] = 0x00000010u;
|
|
/* 0284D884 */ _t42 = cpu->r[31] + 0x000000B9u;
|
|
/* 0284D884 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[30]);
|
|
/* 0284D888 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284D88C */ _t43 = cpu->r[31] + 0x00000070u;
|
|
/* 0284D88C */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
|
|
/* 0284D890 */ cpu->ctr = cpu->r[0];
|
|
/* 0284D894 */ _t44 = cpu->r[8] + 0xFFFF9A20u;
|
|
/* 0284D894 */ rbrew_write32(cpu->mem, _t44, cpu->r[31]);
|
|
L_0284D898: ; // 0x284d898
|
|
/* 0284D898 */ _t45 = cpu->r[12] + 0x00000004u;
|
|
/* 0284D898 */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 0284D898 */ cpu->r[12] = _t45;
|
|
/* 0284D89C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284D89C */ _t46 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284D89C */ _t47 = _t46 >> (0x00000002u & 31u);
|
|
/* 0284D89C */ _t48 = _t47 & 0x00000001u;
|
|
/* 0284D89C */ if (_t48) goto L_0284D898; else goto L_0284D8A0;
|
|
L_0284D8A0: ; // 0x284d8a0
|
|
/* 0284D8A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D8A4 */ Gambit_fn_0284D754(cpu);
|
|
L_0284D8A8: ; // 0x284d8a8
|
|
/* 0284D8A8 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D8A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0284D8AC */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284D8AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0284D8B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D8B4 */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 0284D8B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0284D8B8 */ cpu->lr = cpu->r[0];
|
|
/* 0284D8BC */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D8BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0284D8C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284D8C4 */ return;
|
|
}
|
|
|
|
// fn_0284D8C8 @ 0x284d8c8
|
|
void Gambit_fn_0284D8C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284D8C8: ; // 0x284d8c8
|
|
/* 0284D8C8 */ cpu->r[0] = cpu->lr;
|
|
/* 0284D8CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284D8CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D8CC */ cpu->r[1] = _t0;
|
|
/* 0284D8D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D8D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284D8D4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0284D8D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D8D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284D8DC */ _t3 = cpu->r[31] + 0xFFFF9A24u;
|
|
/* 0284D8DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284D8E0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284D8E4 */ rbrew_dispatch(cpu, 0x02d06748u);
|
|
/* 0284D8E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284D8EC */ _t4 = cpu->r[31] + 0xFFFF9A24u;
|
|
/* 0284D8EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284D8F0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D8F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284D8F4 */ cpu->lr = cpu->r[0];
|
|
/* 0284D8F8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D8F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284D8FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D900 */ return;
|
|
}
|
|
|
|
// fn_0284D8CC @ 0x284d8cc
|
|
void Gambit_fn_0284D8CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284D8CC: ; // 0x284d8cc
|
|
/* 0284D8CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284D8CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D8CC */ cpu->r[1] = _t0;
|
|
/* 0284D8D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D8D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284D8D4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0284D8D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D8D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284D8DC */ _t3 = cpu->r[31] + 0xFFFF9A24u;
|
|
/* 0284D8DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284D8E0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284D8E4 */ rbrew_dispatch(cpu, 0x02d06748u);
|
|
/* 0284D8E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284D8EC */ _t4 = cpu->r[31] + 0xFFFF9A24u;
|
|
/* 0284D8EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284D8F0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D8F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284D8F4 */ cpu->lr = cpu->r[0];
|
|
/* 0284D8F8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D8F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284D8FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284D900 */ return;
|
|
}
|
|
|
|
// fn_0284D904 @ 0x284d904
|
|
void Gambit_fn_0284D904(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0284D904: ; // 0x284d904
|
|
/* 0284D904 */ _t0 = cpu->r[3] + 0x00000074u;
|
|
/* 0284D904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284D908 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0284D90C */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284D90C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0284D90C */ if (_t2) goto L_0284D920; else goto L_0284D910;
|
|
L_0284D910: ; // 0x284d910
|
|
/* 0284D910 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284D914 */ cpu->r[12] = cpu->r[12] + 0xFFFFFEC4u;
|
|
/* 0284D918 */ _t3 = cpu->r[12] + cpu->r[0];
|
|
/* 0284D918 */ cpu->r[3] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0284D91C */ return;
|
|
L_0284D920: ; // 0x284d920
|
|
/* 0284D920 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284D924 */ return;
|
|
}
|
|
|
|
// fn_0284D928 @ 0x284d928
|
|
void Gambit_fn_0284D928(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0284D928: ; // 0x284d928
|
|
/* 0284D928 */ _t0 = cpu->r[3] + 0x00000074u;
|
|
/* 0284D928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284D92C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0284D930 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284D930 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0284D930 */ if (_t2) goto L_0284D944; else goto L_0284D934;
|
|
L_0284D934: ; // 0x284d934
|
|
/* 0284D934 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284D938 */ cpu->r[12] = cpu->r[12] + 0xFFFFFEC7u;
|
|
/* 0284D93C */ _t3 = cpu->r[12] + cpu->r[0];
|
|
/* 0284D93C */ cpu->r[3] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0284D940 */ return;
|
|
L_0284D944: ; // 0x284d944
|
|
/* 0284D944 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284D948 */ return;
|
|
}
|
|
|
|
// fn_0284D958 @ 0x284d958
|
|
void Gambit_fn_0284D958(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0284D958: ; // 0x284d958
|
|
/* 0284D958 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284D958 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D958 */ cpu->r[1] = _t0;
|
|
/* 0284D95C */ _t1 = cpu->r[3] + 0xFFFF9A20u;
|
|
/* 0284D95C */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0284D960 */ Gambit_fn_0284D928(cpu);
|
|
/* 0284D964 */ cpu->r[4] = cpu->r[3] | 0x00000002u;
|
|
/* 0284D968 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0284D96C */ cpu->r[3] = cpu->r[3] + 0x00006D00u;
|
|
/* 0284D970 */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 0284D974 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0284D978 */ cpu->lr = cpu->r[0];
|
|
/* 0284D97C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284D980 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284D984 */ return;
|
|
}
|
|
|
|
// fn_0284D988 @ 0x284d988
|
|
void Gambit_fn_0284D988(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_0284D988: ; // 0x284d988
|
|
/* 0284D988 */ cpu->r[0] = cpu->lr;
|
|
/* 0284D98C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284D98C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D98C */ cpu->r[1] = _t0;
|
|
/* 0284D990 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D990 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284D994 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D998 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D998 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284D99C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D99C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284D9A0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0284D9A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0284D9A4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284D9A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284D9A8 */ Gambit_fn_0284D904(cpu);
|
|
/* 0284D9AC */ cpu->r[28] = cpu->r[3];
|
|
/* 0284D9B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D9B4 */ Gambit_fn_0284D928(cpu);
|
|
/* 0284D9B8 */ cpu->r[29] = 0x101F0000u;
|
|
/* 0284D9BC */ cpu->r[30] = cpu->r[3];
|
|
/* 0284D9C0 */ cpu->r[3] = cpu->r[29] + 0x00006D00u;
|
|
/* 0284D9C4 */ rbrew_dispatch(cpu, 0x02d0ac18u);
|
|
/* 0284D9C8 */ _t6 = cpu->r[31] + 0x00000068u;
|
|
/* 0284D9C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284D9CC */ cpu->r[0] = cpu->r[28] | 0x00000008u;
|
|
/* 0284D9D0 */ cpu->r[4] = 0x02850000u;
|
|
/* 0284D9D4 */ _t7 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0284D9D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284D9D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0284D9DC */ _t8 = cpu->r[31] + 0x00000064u;
|
|
/* 0284D9DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284D9E0 */ cpu->r[4] = cpu->r[4] + 0xFFFFD94Cu;
|
|
/* 0284D9E4 */ cpu->r[6] = cpu->r[31];
|
|
/* 0284D9E8 */ _t9 = cpu->r[31] + 0x00000070u;
|
|
/* 0284D9E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284D9EC */ cpu->r[5] = 0x00000000u;
|
|
/* 0284D9F0 */ cpu->r[7] = cpu->r[7] + cpu->r[8];
|
|
/* 0284D9F4 */ rbrew_dispatch(cpu, 0x02d0a7b0u);
|
|
/* 0284D9F8 */ cpu->r[28] = 0x101F0000u;
|
|
/* 0284D9FC */ cpu->r[28] = cpu->r[28] + 0x00006CF8u;
|
|
/* 0284DA00 */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 0284DA00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284DA04 */ _t11 = cpu->r[11] + 0x00000014u;
|
|
/* 0284DA04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284DA08 */ cpu->ctr = cpu->r[12];
|
|
/* 0284DA0C */ cpu->r[3] = cpu->r[28];
|
|
/* 0284DA10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284DA14 */ _t12 = cpu->r[31] + 0x00000064u;
|
|
/* 0284DA14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284DA18 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 0284DA18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284DA1C */ rbrew_dispatch(cpu, 0x02d0afc8u);
|
|
/* 0284DA20 */ _t14 = cpu->r[31] + 0x00000064u;
|
|
/* 0284DA20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284DA24 */ rbrew_dispatch(cpu, 0x02d0ae60u);
|
|
/* 0284DA28 */ cpu->r[3] = cpu->r[29] + 0x00006D00u;
|
|
/* 0284DA2C */ cpu->r[4] = cpu->r[30];
|
|
/* 0284DA30 */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 0284DA34 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0284DA34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284DA38 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DA38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284DA3C */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284DA3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284DA40 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0284DA40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284DA44 */ cpu->lr = cpu->r[0];
|
|
/* 0284DA48 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DA48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284DA4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284DA50 */ return;
|
|
}
|
|
|
|
// fn_0284D98C @ 0x284d98c
|
|
void Gambit_fn_0284D98C(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_0284D98C: ; // 0x284d98c
|
|
/* 0284D98C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284D98C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284D98C */ cpu->r[1] = _t0;
|
|
/* 0284D990 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284D990 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284D994 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284D998 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284D998 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284D99C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284D99C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284D9A0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0284D9A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0284D9A4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284D9A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284D9A8 */ Gambit_fn_0284D904(cpu);
|
|
/* 0284D9AC */ cpu->r[28] = cpu->r[3];
|
|
/* 0284D9B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284D9B4 */ Gambit_fn_0284D928(cpu);
|
|
/* 0284D9B8 */ cpu->r[29] = 0x101F0000u;
|
|
/* 0284D9BC */ cpu->r[30] = cpu->r[3];
|
|
/* 0284D9C0 */ cpu->r[3] = cpu->r[29] + 0x00006D00u;
|
|
/* 0284D9C4 */ rbrew_dispatch(cpu, 0x02d0ac18u);
|
|
/* 0284D9C8 */ _t6 = cpu->r[31] + 0x00000068u;
|
|
/* 0284D9C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284D9CC */ cpu->r[0] = cpu->r[28] | 0x00000008u;
|
|
/* 0284D9D0 */ cpu->r[4] = 0x02850000u;
|
|
/* 0284D9D4 */ _t7 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0284D9D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284D9D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0284D9DC */ _t8 = cpu->r[31] + 0x00000064u;
|
|
/* 0284D9DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284D9E0 */ cpu->r[4] = cpu->r[4] + 0xFFFFD94Cu;
|
|
/* 0284D9E4 */ cpu->r[6] = cpu->r[31];
|
|
/* 0284D9E8 */ _t9 = cpu->r[31] + 0x00000070u;
|
|
/* 0284D9E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284D9EC */ cpu->r[5] = 0x00000000u;
|
|
/* 0284D9F0 */ cpu->r[7] = cpu->r[7] + cpu->r[8];
|
|
/* 0284D9F4 */ rbrew_dispatch(cpu, 0x02d0a7b0u);
|
|
/* 0284D9F8 */ cpu->r[28] = 0x101F0000u;
|
|
/* 0284D9FC */ cpu->r[28] = cpu->r[28] + 0x00006CF8u;
|
|
/* 0284DA00 */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 0284DA00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284DA04 */ _t11 = cpu->r[11] + 0x00000014u;
|
|
/* 0284DA04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284DA08 */ cpu->ctr = cpu->r[12];
|
|
/* 0284DA0C */ cpu->r[3] = cpu->r[28];
|
|
/* 0284DA10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284DA14 */ _t12 = cpu->r[31] + 0x00000064u;
|
|
/* 0284DA14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284DA18 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 0284DA18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284DA1C */ rbrew_dispatch(cpu, 0x02d0afc8u);
|
|
/* 0284DA20 */ _t14 = cpu->r[31] + 0x00000064u;
|
|
/* 0284DA20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284DA24 */ rbrew_dispatch(cpu, 0x02d0ae60u);
|
|
/* 0284DA28 */ cpu->r[3] = cpu->r[29] + 0x00006D00u;
|
|
/* 0284DA2C */ cpu->r[4] = cpu->r[30];
|
|
/* 0284DA30 */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 0284DA34 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0284DA34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284DA38 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DA38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284DA3C */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284DA3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284DA40 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0284DA40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284DA44 */ cpu->lr = cpu->r[0];
|
|
/* 0284DA48 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DA48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284DA4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284DA50 */ return;
|
|
}
|
|
|
|
// fn_0284DA54 @ 0x284da54
|
|
void Gambit_fn_0284DA54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_0284DA54: ; // 0x284da54
|
|
/* 0284DA54 */ cpu->r[0] = cpu->lr;
|
|
/* 0284DA58 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284DA58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DA58 */ cpu->r[1] = _t0;
|
|
/* 0284DA5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DA5C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284DA60 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DA60 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284DA64 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284DA64 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284DA68 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284DA6C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284DA6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284DA70 */ _t5 = cpu->r[31] + 0x00000078u;
|
|
/* 0284DA70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0284DA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284DA78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DA78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284DA78 */ if (_t7) goto L_0284DB08; else goto L_0284DA7C;
|
|
L_0284DA7C: ; // 0x284da7c
|
|
/* 0284DA7C */ _t8 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0284DA7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284DA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284DA84 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DA84 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284DA84 */ if (_t10) goto L_0284DAD4; else goto L_0284DA88;
|
|
L_0284DA88: ; // 0x284da88
|
|
/* 0284DA88 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 0284DA88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284DA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284DA90 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DA90 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284DA90 */ if (_t13) goto L_0284DAD4; else goto L_0284DA94;
|
|
L_0284DA94: ; // 0x284da94
|
|
/* 0284DA94 */ cpu->r[30] = 0x000F0000u;
|
|
/* 0284DA98 */ cpu->r[29] = 0x00000000u;
|
|
/* 0284DA9C */ cpu->r[30] = cpu->r[30] + 0x00004240u;
|
|
L_0284DAA0: ; // 0x284daa0
|
|
/* 0284DAA0 */ rbrew_dispatch(cpu, 0x02d0ab10u);
|
|
/* 0284DAA4 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 0284DAA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284DAA8 */ cpu->r[11] = 0x00000064u;
|
|
/* 0284DAAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 0284DAB0 */ /* nop */
|
|
/* 0284DAB4 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000064u);
|
|
/* 0284DAB8 */ cpu->r[5] = cpu->r[29];
|
|
/* 0284DABC */ cpu->r[6] = cpu->r[30];
|
|
/* 0284DAC0 */ Gambit_fn_02C89C4C(cpu);
|
|
/* 0284DAC4 */ rbrew_dispatch(cpu, 0x02d0b020u);
|
|
/* 0284DAC8 */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 0284DAC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284DACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0284DAD0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DAD0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284DAD0 */ if (_t17) goto L_0284DAD4; else goto L_0284DAA0;
|
|
L_0284DAD4: ; // 0x284dad4
|
|
/* 0284DAD4 */ _t18 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0284DAD4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0284DAD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0284DADC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DADC */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284DADC */ if (_t20) goto L_0284DAE8; else goto L_0284DAE0;
|
|
L_0284DAE0: ; // 0x284dae0
|
|
/* 0284DAE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DAE4 */ Gambit_fn_0284D8C8(cpu);
|
|
L_0284DAE8: ; // 0x284dae8
|
|
/* 0284DAE8 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
|
|
/* 0284DAEC */ _t21 = cpu->r[31] + 0x00000074u;
|
|
/* 0284DAEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284DAF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[3]);
|
|
/* 0284DAF4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DAF4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0284DAF4 */ if (_t23) goto L_0284DB00; else goto L_0284DAF8;
|
|
L_0284DAF8: ; // 0x284daf8
|
|
/* 0284DAF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DAFC */ Gambit_fn_0284D988(cpu);
|
|
L_0284DB00: ; // 0x284db00
|
|
/* 0284DB00 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284DB04 */ _t24 = cpu->r[31] + 0x00000078u;
|
|
/* 0284DB04 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
L_0284DB08: ; // 0x284db08
|
|
/* 0284DB08 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DB08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284DB0C */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284DB0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284DB10 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 0284DB10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284DB14 */ cpu->lr = cpu->r[0];
|
|
/* 0284DB18 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DB18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284DB1C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284DB20 */ return;
|
|
}
|
|
|
|
// fn_0284DA58 @ 0x284da58
|
|
void Gambit_fn_0284DA58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_0284DA58: ; // 0x284da58
|
|
/* 0284DA58 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284DA58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DA58 */ cpu->r[1] = _t0;
|
|
/* 0284DA5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DA5C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284DA60 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DA60 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284DA64 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284DA64 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284DA68 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284DA6C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284DA6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284DA70 */ _t5 = cpu->r[31] + 0x00000078u;
|
|
/* 0284DA70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0284DA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284DA78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DA78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284DA78 */ if (_t7) goto L_0284DB08; else goto L_0284DA7C;
|
|
L_0284DA7C: ; // 0x284da7c
|
|
/* 0284DA7C */ _t8 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0284DA7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284DA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284DA84 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DA84 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284DA84 */ if (_t10) goto L_0284DAD4; else goto L_0284DA88;
|
|
L_0284DA88: ; // 0x284da88
|
|
/* 0284DA88 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 0284DA88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284DA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284DA90 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DA90 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284DA90 */ if (_t13) goto L_0284DAD4; else goto L_0284DA94;
|
|
L_0284DA94: ; // 0x284da94
|
|
/* 0284DA94 */ cpu->r[30] = 0x000F0000u;
|
|
/* 0284DA98 */ cpu->r[29] = 0x00000000u;
|
|
/* 0284DA9C */ cpu->r[30] = cpu->r[30] + 0x00004240u;
|
|
L_0284DAA0: ; // 0x284daa0
|
|
/* 0284DAA0 */ rbrew_dispatch(cpu, 0x02d0ab10u);
|
|
/* 0284DAA4 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 0284DAA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284DAA8 */ cpu->r[11] = 0x00000064u;
|
|
/* 0284DAAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 0284DAB0 */ /* nop */
|
|
/* 0284DAB4 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000064u);
|
|
/* 0284DAB8 */ cpu->r[5] = cpu->r[29];
|
|
/* 0284DABC */ cpu->r[6] = cpu->r[30];
|
|
/* 0284DAC0 */ Gambit_fn_02C89C4C(cpu);
|
|
/* 0284DAC4 */ rbrew_dispatch(cpu, 0x02d0b020u);
|
|
/* 0284DAC8 */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 0284DAC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284DACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0284DAD0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DAD0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284DAD0 */ if (_t17) goto L_0284DAD4; else goto L_0284DAA0;
|
|
L_0284DAD4: ; // 0x284dad4
|
|
/* 0284DAD4 */ _t18 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0284DAD4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0284DAD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0284DADC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DADC */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284DADC */ if (_t20) goto L_0284DAE8; else goto L_0284DAE0;
|
|
L_0284DAE0: ; // 0x284dae0
|
|
/* 0284DAE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DAE4 */ Gambit_fn_0284D8C8(cpu);
|
|
L_0284DAE8: ; // 0x284dae8
|
|
/* 0284DAE8 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
|
|
/* 0284DAEC */ _t21 = cpu->r[31] + 0x00000074u;
|
|
/* 0284DAEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284DAF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[3]);
|
|
/* 0284DAF4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DAF4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0284DAF4 */ if (_t23) goto L_0284DB00; else goto L_0284DAF8;
|
|
L_0284DAF8: ; // 0x284daf8
|
|
/* 0284DAF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DAFC */ Gambit_fn_0284D988(cpu);
|
|
L_0284DB00: ; // 0x284db00
|
|
/* 0284DB00 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284DB04 */ _t24 = cpu->r[31] + 0x00000078u;
|
|
/* 0284DB04 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
L_0284DB08: ; // 0x284db08
|
|
/* 0284DB08 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DB08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284DB0C */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284DB0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284DB10 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 0284DB10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284DB14 */ cpu->lr = cpu->r[0];
|
|
/* 0284DB18 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DB18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284DB1C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284DB20 */ return;
|
|
}
|
|
|
|
// fn_0284DB24 @ 0x284db24
|
|
void Gambit_fn_0284DB24(CPUState* cpu) {
|
|
uint32_t _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_0284DB24: ; // 0x284db24
|
|
/* 0284DB24 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0284DB24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DB24 */ cpu->r[1] = _t0;
|
|
/* 0284DB28 */ cpu->r[0] = cpu->lr;
|
|
/* 0284DB2C */ /* nop */
|
|
/* 0284DB30 */ cpu->r[27] = cpu->r[3];
|
|
/* 0284DB30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0284DB34 */ cpu->r[28] = cpu->r[4];
|
|
/* 0284DB38 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0284DB38 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284DB3C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DB3C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0284DB3C */ if (_t3) goto L_0284DBD4; else goto L_0284DB40;
|
|
L_0284DB40: ; // 0x284db40
|
|
/* 0284DB40 */ cpu->r[9] = 0x10130000u;
|
|
/* 0284DB44 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284DB48 */ cpu->r[9] = cpu->r[9] + 0xFFFFFEF8u;
|
|
/* 0284DB4C */ cpu->r[10] = cpu->r[10] + 0xFFFFFF18u;
|
|
/* 0284DB50 */ _t4 = cpu->r[27] + 0x00000000u;
|
|
/* 0284DB50 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0284DB54 */ cpu->r[3] = cpu->r[27];
|
|
/* 0284DB58 */ _t5 = cpu->r[27] + 0x00000008u;
|
|
/* 0284DB58 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 0284DB5C */ Gambit_fn_0284DA54(cpu);
|
|
/* 0284DB60 */ cpu->r[30] = 0x00000000u;
|
|
/* 0284DB64 */ cpu->r[26] = cpu->r[27] + 0x00000080u;
|
|
/* 0284DB68 */ cpu->r[29] = 0x00000008u;
|
|
/* 0284DB6C */ cpu->r[31] = cpu->r[30];
|
|
L_0284DB70: ; // 0x284db70
|
|
/* 0284DB70 */ _t6 = cpu->r[26] + cpu->r[30];
|
|
/* 0284DB70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284DB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284DB78 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DB78 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284DB78 */ if (_t8) goto L_0284DB80; else goto L_0284DB7C;
|
|
L_0284DB7C: ; // 0x284db7c
|
|
/* 0284DB7C */ Gambit_fn_02801BB4(cpu);
|
|
L_0284DB80: ; // 0x284db80
|
|
/* 0284DB80 */ _t9 = cpu->r[26] + cpu->r[30];
|
|
/* 0284DB80 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 0284DB84 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0284DB84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0284DB88 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 0284DB8C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DB8C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284DB8C */ if (_t11) goto L_0284DB90; else goto L_0284DB70;
|
|
L_0284DB90: ; // 0x284db90
|
|
/* 0284DB90 */ _t12 = cpu->r[27] + 0x00000068u;
|
|
/* 0284DB90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284DB94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284DB98 */ cpu->r[31] = 0x00000000u;
|
|
/* 0284DB9C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DB9C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284DB9C */ if (_t14) goto L_0284DBA8; else goto L_0284DBA0;
|
|
L_0284DBA0: ; // 0x284dba0
|
|
/* 0284DBA0 */ Gambit_fn_02801BB4(cpu);
|
|
/* 0284DBA4 */ _t15 = cpu->r[27] + 0x00000068u;
|
|
/* 0284DBA4 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
L_0284DBA8: ; // 0x284dba8
|
|
/* 0284DBA8 */ _t16 = cpu->r[27] + 0x00000064u;
|
|
/* 0284DBA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284DBAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284DBB0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DBB0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0284DBB0 */ if (_t18) goto L_0284DBBC; else goto L_0284DBB4;
|
|
L_0284DBB4: ; // 0x284dbb4
|
|
/* 0284DBB4 */ Gambit_fn_02801BB0(cpu);
|
|
/* 0284DBB8 */ _t19 = cpu->r[27] + 0x00000064u;
|
|
/* 0284DBB8 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
L_0284DBBC: ; // 0x284dbbc
|
|
/* 0284DBBC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0284DBC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284DBC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284DBC4 */ _t20 = cpu->r[12] + 0xFFFF9A20u;
|
|
/* 0284DBC4 */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
|
|
/* 0284DBC8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DBC8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284DBC8 */ if (_t22) goto L_0284DBD4; else goto L_0284DBCC;
|
|
L_0284DBCC: ; // 0x284dbcc
|
|
/* 0284DBCC */ cpu->r[3] = cpu->r[27];
|
|
/* 0284DBD0 */ Gambit_fn_02801BB0(cpu);
|
|
L_0284DBD4: ; // 0x284dbd4
|
|
/* 0284DBD4 */ /* nop */
|
|
/* 0284DBD8 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 0284DBD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284DBDC */ cpu->lr = cpu->r[0];
|
|
/* 0284DBE0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0284DBE4 */ return;
|
|
}
|
|
|
|
// fn_0284DBE8 @ 0x284dbe8
|
|
void Gambit_fn_0284DBE8(CPUState* cpu) {
|
|
uint32_t _t0, _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_0284DBE8: ; // 0x284dbe8
|
|
/* 0284DBE8 */ cpu->r[0] = cpu->lr;
|
|
/* 0284DBEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284DBEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DBEC */ cpu->r[1] = _t0;
|
|
/* 0284DBF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DBF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284DBF4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0284DBF8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DBF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284DBFC */ _t3 = cpu->r[12] + 0xFFFF99E8u;
|
|
/* 0284DBFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284DC00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284DC04 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DC04 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284DC04 */ if (_t5) goto L_0284DC64; else goto L_0284DC08;
|
|
L_0284DC08: ; // 0x284dc08
|
|
/* 0284DC08 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 0284DC08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284DC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284DC10 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DC10 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284DC10 */ if (_t8) goto L_0284DC64; else goto L_0284DC14;
|
|
L_0284DC14: ; // 0x284dc14
|
|
/* 0284DC14 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0284DC18 */ _t9 = cpu->r[10] + 0xFFFFF9D0u;
|
|
/* 0284DC18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284DC18 */ cpu->r[10] = _t9;
|
|
/* 0284DC1C */ cpu->r[4] = 0x101D0000u;
|
|
/* 0284DC20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284DC24 */ cpu->r[4] = cpu->r[4] + 0xFFFFF9CCu;
|
|
/* 0284DC28 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DC28 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284DC28 */ if (_t11) goto L_0284DC2C; else goto L_0284DC40;
|
|
L_0284DC2C: ; // 0x284dc2c
|
|
/* 0284DC2C */ cpu->r[0] = 0x10130000u;
|
|
/* 0284DC30 */ cpu->r[12] = 0x00000001u;
|
|
/* 0284DC34 */ cpu->r[0] = cpu->r[0] + 0xFFFFFEB4u;
|
|
/* 0284DC38 */ _t12 = cpu->r[10] + 0x00000000u;
|
|
/* 0284DC38 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0284DC3C */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 0284DC3C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_0284DC40: ; // 0x284dc40
|
|
/* 0284DC40 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 0284DC40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284DC44 */ _t15 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0284DC44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284DC48 */ cpu->ctr = cpu->r[0];
|
|
/* 0284DC4C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DC50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284DC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284DC58 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DC58 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284DC58 */ if (_t17) goto L_0284DC64; else goto L_0284DC5C;
|
|
L_0284DC5C: ; // 0x284dc5c
|
|
/* 0284DC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284DC60 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DC60 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284DC60 */ if (_t19) goto L_0284DC64; else goto L_0284DC7C;
|
|
L_0284DC64: ; // 0x284dc64
|
|
/* 0284DC64 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DC64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284DC68 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DC68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284DC6C */ cpu->lr = cpu->r[0];
|
|
/* 0284DC70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284DC74 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284DC78 */ return;
|
|
L_0284DC7C: ; // 0x284dc7c
|
|
/* 0284DC7C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DC7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284DC80 */ _t23 = cpu->r[31] + 0x000000F4u;
|
|
/* 0284DC80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284DC84 */ cpu->lr = cpu->r[0];
|
|
/* 0284DC88 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DC88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284DC8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284DC90 */ return;
|
|
}
|
|
|
|
// fn_0284DBEC @ 0x284dbec
|
|
void Gambit_fn_0284DBEC(CPUState* cpu) {
|
|
uint32_t _t0, _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_0284DBEC: ; // 0x284dbec
|
|
/* 0284DBEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284DBEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DBEC */ cpu->r[1] = _t0;
|
|
/* 0284DBF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DBF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284DBF4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0284DBF8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DBF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284DBFC */ _t3 = cpu->r[12] + 0xFFFF99E8u;
|
|
/* 0284DBFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284DC00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284DC04 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DC04 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284DC04 */ if (_t5) goto L_0284DC64; else goto L_0284DC08;
|
|
L_0284DC08: ; // 0x284dc08
|
|
/* 0284DC08 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 0284DC08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284DC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284DC10 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DC10 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284DC10 */ if (_t8) goto L_0284DC64; else goto L_0284DC14;
|
|
L_0284DC14: ; // 0x284dc14
|
|
/* 0284DC14 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0284DC18 */ _t9 = cpu->r[10] + 0xFFFFF9D0u;
|
|
/* 0284DC18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284DC18 */ cpu->r[10] = _t9;
|
|
/* 0284DC1C */ cpu->r[4] = 0x101D0000u;
|
|
/* 0284DC20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284DC24 */ cpu->r[4] = cpu->r[4] + 0xFFFFF9CCu;
|
|
/* 0284DC28 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DC28 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284DC28 */ if (_t11) goto L_0284DC2C; else goto L_0284DC40;
|
|
L_0284DC2C: ; // 0x284dc2c
|
|
/* 0284DC2C */ cpu->r[0] = 0x10130000u;
|
|
/* 0284DC30 */ cpu->r[12] = 0x00000001u;
|
|
/* 0284DC34 */ cpu->r[0] = cpu->r[0] + 0xFFFFFEB4u;
|
|
/* 0284DC38 */ _t12 = cpu->r[10] + 0x00000000u;
|
|
/* 0284DC38 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0284DC3C */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 0284DC3C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_0284DC40: ; // 0x284dc40
|
|
/* 0284DC40 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 0284DC40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284DC44 */ _t15 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0284DC44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284DC48 */ cpu->ctr = cpu->r[0];
|
|
/* 0284DC4C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DC50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284DC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284DC58 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DC58 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284DC58 */ if (_t17) goto L_0284DC64; else goto L_0284DC5C;
|
|
L_0284DC5C: ; // 0x284dc5c
|
|
/* 0284DC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284DC60 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DC60 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284DC60 */ if (_t19) goto L_0284DC64; else goto L_0284DC7C;
|
|
L_0284DC64: ; // 0x284dc64
|
|
/* 0284DC64 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DC64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284DC68 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DC68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284DC6C */ cpu->lr = cpu->r[0];
|
|
/* 0284DC70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284DC74 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284DC78 */ return;
|
|
L_0284DC7C: ; // 0x284dc7c
|
|
/* 0284DC7C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DC7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284DC80 */ _t23 = cpu->r[31] + 0x000000F4u;
|
|
/* 0284DC80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284DC84 */ cpu->lr = cpu->r[0];
|
|
/* 0284DC88 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DC88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284DC8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284DC90 */ return;
|
|
}
|
|
|
|
// fn_0284DC94 @ 0x284dc94
|
|
void Gambit_fn_0284DC94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0284DC94: ; // 0x284dc94
|
|
/* 0284DC94 */ cpu->r[0] = cpu->lr;
|
|
/* 0284DC98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284DC98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DC98 */ cpu->r[1] = _t0;
|
|
/* 0284DC9C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DC9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284DCA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284DCA4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DCA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284DCA8 */ _t3 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0284DCA8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0284DCAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284DCB0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DCB0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284DCB0 */ if (_t5) goto L_0284DD24; else goto L_0284DCB4;
|
|
L_0284DCB4: ; // 0x284dcb4
|
|
/* 0284DCB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284DCB8 */ rbrew_dispatch(cpu, 0x02d067c8u);
|
|
/* 0284DCBC */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284DCBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284DCC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284DCC4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DCC4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284DCC4 */ if (_t8) goto L_0284DCFC; else goto L_0284DCC8;
|
|
L_0284DCC8: ; // 0x284dcc8
|
|
/* 0284DCC8 */ _t9 = cpu->r[31] + 0x000000CCu;
|
|
/* 0284DCC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284DCCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0284DCD0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DCD0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284DCD0 */ if (_t11) goto L_0284DCD4; else goto L_0284DCFC;
|
|
L_0284DCD4: ; // 0x284dcd4
|
|
/* 0284DCD4 */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284DCD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284DCD8 */ cpu->r[11] = cpu->r[12] ^ 0x00000002u;
|
|
/* 0284DCDC */ cpu->r[0] = 0x00000000u;
|
|
/* 0284DCE0 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 0284DCE4 */ _t13 = cpu->r[31] + 0x000000B8u;
|
|
/* 0284DCE4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 0284DCE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284DCEC */ cpu->r[12] = 0x00000000u;
|
|
/* 0284DCF0 */ _t14 = cpu->r[31] + 0x000000D1u;
|
|
/* 0284DCF0 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 0284DCF4 */ _t15 = cpu->r[31] + 0x000000D0u;
|
|
/* 0284DCF4 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[12]);
|
|
/* 0284DCF8 */ goto L_0284DD54;
|
|
L_0284DCFC: ; // 0x284dcfc
|
|
/* 0284DCFC */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284DCFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284DD00 */ cpu->r[11] = cpu->r[12] ^ 0x00000002u;
|
|
/* 0284DD04 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284DD08 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 0284DD0C */ _t17 = cpu->r[31] + 0x000000B8u;
|
|
/* 0284DD0C */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]);
|
|
/* 0284DD10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284DD14 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284DD18 */ _t18 = cpu->r[31] + 0x000000D1u;
|
|
/* 0284DD18 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 0284DD1C */ _t19 = cpu->r[31] + 0x000000D0u;
|
|
/* 0284DD1C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[12]);
|
|
/* 0284DD20 */ goto L_0284DD54;
|
|
L_0284DD24: ; // 0x284dd24
|
|
/* 0284DD24 */ _t20 = cpu->r[31] + 0x000000CCu;
|
|
/* 0284DD24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284DD28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 0284DD2C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DD2C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284DD2C */ if (_t22) goto L_0284DD30; else goto L_0284DD44;
|
|
L_0284DD30: ; // 0x284dd30
|
|
/* 0284DD30 */ _t23 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284DD30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284DD34 */ rbrew_dispatch(cpu, 0x02d067c8u);
|
|
/* 0284DD38 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284DD3C */ _t24 = cpu->r[31] + 0x000000D0u;
|
|
/* 0284DD3C */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]);
|
|
/* 0284DD40 */ goto L_0284DD54;
|
|
L_0284DD44: ; // 0x284dd44
|
|
/* 0284DD44 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284DD48 */ rbrew_dispatch(cpu, 0x02d067c8u);
|
|
/* 0284DD4C */ cpu->r[12] = 0x00000000u;
|
|
/* 0284DD50 */ _t25 = cpu->r[31] + 0x000000D0u;
|
|
/* 0284DD50 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[12]);
|
|
L_0284DD54: ; // 0x284dd54
|
|
/* 0284DD54 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284DD58 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DD58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284DD5C */ cpu->lr = cpu->r[0];
|
|
/* 0284DD60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284DD64 */ return;
|
|
}
|
|
|
|
// fn_0284DC98 @ 0x284dc98
|
|
void Gambit_fn_0284DC98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0284DC98: ; // 0x284dc98
|
|
/* 0284DC98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284DC98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DC98 */ cpu->r[1] = _t0;
|
|
/* 0284DC9C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DC9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284DCA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284DCA4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DCA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284DCA8 */ _t3 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0284DCA8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0284DCAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284DCB0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DCB0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284DCB0 */ if (_t5) goto L_0284DD24; else goto L_0284DCB4;
|
|
L_0284DCB4: ; // 0x284dcb4
|
|
/* 0284DCB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284DCB8 */ rbrew_dispatch(cpu, 0x02d067c8u);
|
|
/* 0284DCBC */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284DCBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284DCC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284DCC4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DCC4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284DCC4 */ if (_t8) goto L_0284DCFC; else goto L_0284DCC8;
|
|
L_0284DCC8: ; // 0x284dcc8
|
|
/* 0284DCC8 */ _t9 = cpu->r[31] + 0x000000CCu;
|
|
/* 0284DCC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284DCCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 0284DCD0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DCD0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284DCD0 */ if (_t11) goto L_0284DCD4; else goto L_0284DCFC;
|
|
L_0284DCD4: ; // 0x284dcd4
|
|
/* 0284DCD4 */ _t12 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284DCD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284DCD8 */ cpu->r[11] = cpu->r[12] ^ 0x00000002u;
|
|
/* 0284DCDC */ cpu->r[0] = 0x00000000u;
|
|
/* 0284DCE0 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 0284DCE4 */ _t13 = cpu->r[31] + 0x000000B8u;
|
|
/* 0284DCE4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 0284DCE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284DCEC */ cpu->r[12] = 0x00000000u;
|
|
/* 0284DCF0 */ _t14 = cpu->r[31] + 0x000000D1u;
|
|
/* 0284DCF0 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 0284DCF4 */ _t15 = cpu->r[31] + 0x000000D0u;
|
|
/* 0284DCF4 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[12]);
|
|
/* 0284DCF8 */ goto L_0284DD54;
|
|
L_0284DCFC: ; // 0x284dcfc
|
|
/* 0284DCFC */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284DCFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284DD00 */ cpu->r[11] = cpu->r[12] ^ 0x00000002u;
|
|
/* 0284DD04 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284DD08 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 0284DD0C */ _t17 = cpu->r[31] + 0x000000B8u;
|
|
/* 0284DD0C */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]);
|
|
/* 0284DD10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0284DD14 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284DD18 */ _t18 = cpu->r[31] + 0x000000D1u;
|
|
/* 0284DD18 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 0284DD1C */ _t19 = cpu->r[31] + 0x000000D0u;
|
|
/* 0284DD1C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[12]);
|
|
/* 0284DD20 */ goto L_0284DD54;
|
|
L_0284DD24: ; // 0x284dd24
|
|
/* 0284DD24 */ _t20 = cpu->r[31] + 0x000000CCu;
|
|
/* 0284DD24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284DD28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 0284DD2C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284DD2C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284DD2C */ if (_t22) goto L_0284DD30; else goto L_0284DD44;
|
|
L_0284DD30: ; // 0x284dd30
|
|
/* 0284DD30 */ _t23 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284DD30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284DD34 */ rbrew_dispatch(cpu, 0x02d067c8u);
|
|
/* 0284DD38 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284DD3C */ _t24 = cpu->r[31] + 0x000000D0u;
|
|
/* 0284DD3C */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]);
|
|
/* 0284DD40 */ goto L_0284DD54;
|
|
L_0284DD44: ; // 0x284dd44
|
|
/* 0284DD44 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284DD48 */ rbrew_dispatch(cpu, 0x02d067c8u);
|
|
/* 0284DD4C */ cpu->r[12] = 0x00000000u;
|
|
/* 0284DD50 */ _t25 = cpu->r[31] + 0x000000D0u;
|
|
/* 0284DD50 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[12]);
|
|
L_0284DD54: ; // 0x284dd54
|
|
/* 0284DD54 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284DD58 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DD58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284DD5C */ cpu->lr = cpu->r[0];
|
|
/* 0284DD60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284DD64 */ return;
|
|
}
|
|
|
|
// fn_0284DD68 @ 0x284dd68
|
|
void Gambit_fn_0284DD68(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0284DD68: ; // 0x284dd68
|
|
/* 0284DD68 */ _t0 = cpu->r[3] + 0x00000060u;
|
|
/* 0284DD68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284DD6C */ rbrew_dispatch(cpu, 0x02d067b0u); return;
|
|
}
|
|
|
|
// fn_0284DD70 @ 0x284dd70
|
|
void Gambit_fn_0284DD70(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0284DD70: ; // 0x284dd70
|
|
/* 0284DD70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284DD74 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 0284DD78 */ cpu->r[3] = cpu->r[4];
|
|
/* 0284DD7C */ _t0 = cpu->r[12] + 0x00000010u;
|
|
/* 0284DD7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284DD80 */ rbrew_dispatch(cpu, 0x02d067d8u); return;
|
|
}
|
|
|
|
// fn_0284DD84 @ 0x284dd84
|
|
void Gambit_fn_0284DD84(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0284DD84: ; // 0x284dd84
|
|
/* 0284DD84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284DD88 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 0284DD8C */ _t0 = cpu->r[12] + 0x00000018u;
|
|
/* 0284DD8C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0284DD90 */ cpu->r[3] = cpu->r[4];
|
|
/* 0284DD94 */ rbrew_dispatch(cpu, 0x02d067e0u); return;
|
|
}
|
|
|
|
// fn_0284DD98 @ 0x284dd98
|
|
void Gambit_fn_0284DD98(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0284DD98: ; // 0x284dd98
|
|
/* 0284DD98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284DD9C */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 0284DDA0 */ _t0 = cpu->r[12] + 0x00000020u;
|
|
/* 0284DDA0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0284DDA4 */ cpu->r[3] = cpu->r[4];
|
|
/* 0284DDA8 */ rbrew_dispatch(cpu, 0x02d067a8u); return;
|
|
}
|
|
|
|
// fn_0284DDAC @ 0x284ddac
|
|
void Gambit_fn_0284DDAC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0284DDAC: ; // 0x284ddac
|
|
/* 0284DDAC */ _t0 = cpu->r[3] + 0x00000028u;
|
|
/* 0284DDAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284DDB0 */ rbrew_dispatch(cpu, 0x02d067e8u); return;
|
|
}
|
|
|
|
// fn_0284DDB4 @ 0x284ddb4
|
|
void Gambit_fn_0284DDB4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0284DDB4: ; // 0x284ddb4
|
|
/* 0284DDB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284DDB8 */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 0284DDBC */ _t0 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0284DDBC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0284DDC0 */ cpu->r[3] = cpu->r[4];
|
|
/* 0284DDC4 */ rbrew_dispatch(cpu, 0x02d067d0u); return;
|
|
}
|
|
|
|
// fn_0284DDCC @ 0x284ddcc
|
|
void Gambit_fn_0284DDCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0284DDCC: ; // 0x284ddcc
|
|
/* 0284DDCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284DDCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DDCC */ cpu->r[1] = _t0;
|
|
/* 0284DDD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DDD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284DDD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284DDD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DDD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284DDDC */ Gambit_fn_0284DC94(cpu);
|
|
/* 0284DDE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DDE4 */ Gambit_fn_0284DD68(cpu);
|
|
/* 0284DDE8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284DDEC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DDF0 */ Gambit_fn_0284DD70(cpu);
|
|
/* 0284DDF4 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284DDF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DDFC */ Gambit_fn_0284DD70(cpu);
|
|
/* 0284DE00 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284DE04 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DE08 */ Gambit_fn_0284DD84(cpu);
|
|
/* 0284DE0C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DE10 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284DE14 */ Gambit_fn_0284DD84(cpu);
|
|
/* 0284DE18 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DE1C */ cpu->r[4] = 0x00000000u;
|
|
/* 0284DE20 */ Gambit_fn_0284DD98(cpu);
|
|
/* 0284DE24 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DE28 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284DE2C */ Gambit_fn_0284DD98(cpu);
|
|
/* 0284DE30 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DE34 */ Gambit_fn_0284DDAC(cpu);
|
|
/* 0284DE38 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DE3C */ cpu->r[4] = 0x00000000u;
|
|
/* 0284DE40 */ Gambit_fn_0284DDB4(cpu);
|
|
/* 0284DE44 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DE48 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284DE4C */ Gambit_fn_0284DDB4(cpu);
|
|
/* 0284DE50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284DE54 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DE54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284DE58 */ cpu->lr = cpu->r[0];
|
|
/* 0284DE5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284DE60 */ return;
|
|
}
|
|
|
|
// fn_0284DE64 @ 0x284de64
|
|
void Gambit_fn_0284DE64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0284DDC8: ; // 0x284ddc8
|
|
/* 0284DDC8 */ cpu->r[0] = cpu->lr;
|
|
/* 0284DDCC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284DDCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DDCC */ cpu->r[1] = _t0;
|
|
/* 0284DDD0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DDD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284DDD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284DDD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DDD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284DDDC */ Gambit_fn_0284DC94(cpu);
|
|
/* 0284DDE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DDE4 */ Gambit_fn_0284DD68(cpu);
|
|
/* 0284DDE8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284DDEC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DDF0 */ Gambit_fn_0284DD70(cpu);
|
|
/* 0284DDF4 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284DDF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DDFC */ Gambit_fn_0284DD70(cpu);
|
|
/* 0284DE00 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284DE04 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DE08 */ Gambit_fn_0284DD84(cpu);
|
|
/* 0284DE0C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DE10 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284DE14 */ Gambit_fn_0284DD84(cpu);
|
|
/* 0284DE18 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DE1C */ cpu->r[4] = 0x00000000u;
|
|
/* 0284DE20 */ Gambit_fn_0284DD98(cpu);
|
|
/* 0284DE24 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DE28 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284DE2C */ Gambit_fn_0284DD98(cpu);
|
|
/* 0284DE30 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DE34 */ Gambit_fn_0284DDAC(cpu);
|
|
/* 0284DE38 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DE3C */ cpu->r[4] = 0x00000000u;
|
|
/* 0284DE40 */ Gambit_fn_0284DDB4(cpu);
|
|
/* 0284DE44 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DE48 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284DE4C */ Gambit_fn_0284DDB4(cpu);
|
|
/* 0284DE50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DE50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284DE54 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DE54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284DE58 */ cpu->lr = cpu->r[0];
|
|
/* 0284DE5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284DE60 */ return;
|
|
L_0284DE64: ; // 0x284de64
|
|
/* 0284DE64 */ goto L_0284DDC8;
|
|
}
|
|
|
|
// fn_0284DE6C @ 0x284de6c
|
|
void Gambit_fn_0284DE6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284DE6C: ; // 0x284de6c
|
|
/* 0284DE6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284DE6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DE6C */ cpu->r[1] = _t0;
|
|
/* 0284DE70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DE70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284DE74 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0284DE78 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DE78 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284DE7C */ _t3 = cpu->r[31] + 0xFFFF9A20u;
|
|
/* 0284DE7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284DE80 */ Gambit_fn_0284DE64(cpu);
|
|
/* 0284DE84 */ _t4 = cpu->r[31] + 0xFFFF9A20u;
|
|
/* 0284DE84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284DE88 */ Gambit_fn_0284D928(cpu);
|
|
/* 0284DE8C */ cpu->r[4] = cpu->r[3] | 0x00000002u;
|
|
/* 0284DE90 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0284DE94 */ cpu->r[3] = cpu->r[3] + 0x00006D00u;
|
|
/* 0284DE98 */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 0284DE9C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DE9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284DEA0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DEA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284DEA4 */ cpu->lr = cpu->r[0];
|
|
/* 0284DEA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284DEAC */ cpu->r[3] = 0x00000000u;
|
|
/* 0284DEB0 */ return;
|
|
}
|
|
|
|
// fn_0284DEB4 @ 0x284deb4
|
|
void Gambit_fn_0284DEB4(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_0284DEB4: ; // 0x284deb4
|
|
/* 0284DEB4 */ cpu->r[0] = cpu->lr;
|
|
/* 0284DEB8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284DEB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DEB8 */ cpu->r[1] = _t0;
|
|
/* 0284DEBC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DEBC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284DEC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284DEC4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DEC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284DEC8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284DEC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284DECC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0284DECC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0284DED0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284DED0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284DED4 */ Gambit_fn_0284D904(cpu);
|
|
/* 0284DED8 */ cpu->r[28] = cpu->r[3];
|
|
/* 0284DEDC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DEE0 */ Gambit_fn_0284D928(cpu);
|
|
/* 0284DEE4 */ cpu->r[29] = 0x101F0000u;
|
|
/* 0284DEE8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284DEEC */ cpu->r[3] = cpu->r[29] + 0x00006D00u;
|
|
/* 0284DEF0 */ rbrew_dispatch(cpu, 0x02d0ac18u);
|
|
/* 0284DEF4 */ _t6 = cpu->r[31] + 0x00000068u;
|
|
/* 0284DEF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284DEF8 */ cpu->r[0] = cpu->r[28] | 0x00000008u;
|
|
/* 0284DEFC */ cpu->r[4] = 0x02850000u;
|
|
/* 0284DF00 */ _t7 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0284DF00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284DF04 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0284DF08 */ _t8 = cpu->r[31] + 0x00000064u;
|
|
/* 0284DF08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284DF0C */ cpu->r[4] = cpu->r[4] + 0xFFFFDE68u;
|
|
/* 0284DF10 */ cpu->r[6] = cpu->r[31];
|
|
/* 0284DF14 */ _t9 = cpu->r[31] + 0x00000070u;
|
|
/* 0284DF14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284DF18 */ cpu->r[5] = 0x00000000u;
|
|
/* 0284DF1C */ cpu->r[7] = cpu->r[7] + cpu->r[8];
|
|
/* 0284DF20 */ rbrew_dispatch(cpu, 0x02d0a7b0u);
|
|
/* 0284DF24 */ cpu->r[28] = 0x101F0000u;
|
|
/* 0284DF28 */ cpu->r[28] = cpu->r[28] + 0x00006CF8u;
|
|
/* 0284DF2C */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 0284DF2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284DF30 */ _t11 = cpu->r[11] + 0x00000014u;
|
|
/* 0284DF30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284DF34 */ cpu->ctr = cpu->r[12];
|
|
/* 0284DF38 */ cpu->r[3] = cpu->r[28];
|
|
/* 0284DF3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284DF40 */ _t12 = cpu->r[31] + 0x00000064u;
|
|
/* 0284DF40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284DF44 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 0284DF44 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284DF48 */ rbrew_dispatch(cpu, 0x02d0afc8u);
|
|
/* 0284DF4C */ _t14 = cpu->r[31] + 0x00000064u;
|
|
/* 0284DF4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284DF50 */ rbrew_dispatch(cpu, 0x02d0ae60u);
|
|
/* 0284DF54 */ cpu->r[3] = cpu->r[29] + 0x00006D00u;
|
|
/* 0284DF58 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284DF5C */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 0284DF60 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0284DF60 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284DF64 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DF64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284DF68 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284DF68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284DF6C */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0284DF6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284DF70 */ cpu->lr = cpu->r[0];
|
|
/* 0284DF74 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DF74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284DF78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284DF7C */ return;
|
|
}
|
|
|
|
// fn_0284DEB8 @ 0x284deb8
|
|
void Gambit_fn_0284DEB8(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_0284DEB8: ; // 0x284deb8
|
|
/* 0284DEB8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284DEB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DEB8 */ cpu->r[1] = _t0;
|
|
/* 0284DEBC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DEBC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284DEC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284DEC4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DEC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284DEC8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284DEC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284DECC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0284DECC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0284DED0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284DED0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284DED4 */ Gambit_fn_0284D904(cpu);
|
|
/* 0284DED8 */ cpu->r[28] = cpu->r[3];
|
|
/* 0284DEDC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284DEE0 */ Gambit_fn_0284D928(cpu);
|
|
/* 0284DEE4 */ cpu->r[29] = 0x101F0000u;
|
|
/* 0284DEE8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284DEEC */ cpu->r[3] = cpu->r[29] + 0x00006D00u;
|
|
/* 0284DEF0 */ rbrew_dispatch(cpu, 0x02d0ac18u);
|
|
/* 0284DEF4 */ _t6 = cpu->r[31] + 0x00000068u;
|
|
/* 0284DEF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284DEF8 */ cpu->r[0] = cpu->r[28] | 0x00000008u;
|
|
/* 0284DEFC */ cpu->r[4] = 0x02850000u;
|
|
/* 0284DF00 */ _t7 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0284DF00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284DF04 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0284DF08 */ _t8 = cpu->r[31] + 0x00000064u;
|
|
/* 0284DF08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284DF0C */ cpu->r[4] = cpu->r[4] + 0xFFFFDE68u;
|
|
/* 0284DF10 */ cpu->r[6] = cpu->r[31];
|
|
/* 0284DF14 */ _t9 = cpu->r[31] + 0x00000070u;
|
|
/* 0284DF14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284DF18 */ cpu->r[5] = 0x00000000u;
|
|
/* 0284DF1C */ cpu->r[7] = cpu->r[7] + cpu->r[8];
|
|
/* 0284DF20 */ rbrew_dispatch(cpu, 0x02d0a7b0u);
|
|
/* 0284DF24 */ cpu->r[28] = 0x101F0000u;
|
|
/* 0284DF28 */ cpu->r[28] = cpu->r[28] + 0x00006CF8u;
|
|
/* 0284DF2C */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 0284DF2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284DF30 */ _t11 = cpu->r[11] + 0x00000014u;
|
|
/* 0284DF30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284DF34 */ cpu->ctr = cpu->r[12];
|
|
/* 0284DF38 */ cpu->r[3] = cpu->r[28];
|
|
/* 0284DF3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284DF40 */ _t12 = cpu->r[31] + 0x00000064u;
|
|
/* 0284DF40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284DF44 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 0284DF44 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284DF48 */ rbrew_dispatch(cpu, 0x02d0afc8u);
|
|
/* 0284DF4C */ _t14 = cpu->r[31] + 0x00000064u;
|
|
/* 0284DF4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284DF50 */ rbrew_dispatch(cpu, 0x02d0ae60u);
|
|
/* 0284DF54 */ cpu->r[3] = cpu->r[29] + 0x00006D00u;
|
|
/* 0284DF58 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284DF5C */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 0284DF60 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0284DF60 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284DF64 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DF64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284DF68 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284DF68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284DF6C */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0284DF6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284DF70 */ cpu->lr = cpu->r[0];
|
|
/* 0284DF74 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DF74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284DF78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284DF7C */ return;
|
|
}
|
|
|
|
// fn_0284DF80 @ 0x284df80
|
|
void Gambit_fn_0284DF80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0284DF80: ; // 0x284df80
|
|
/* 0284DF80 */ cpu->r[0] = cpu->lr;
|
|
/* 0284DF84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284DF84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DF84 */ cpu->r[1] = _t0;
|
|
/* 0284DF88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284DF88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284DF8C */ cpu->r[30] = cpu->r[3];
|
|
/* 0284DF90 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DF90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284DF94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DF94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284DF98 */ Gambit_fn_0284D3B4(cpu);
|
|
/* 0284DF9C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284DFA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284DFA4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284DFA8 */ Gambit_fn_0284D3E4(cpu);
|
|
/* 0284DFAC */ _t4 = cpu->r[30] + 0x00000079u;
|
|
/* 0284DFAC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[31]);
|
|
/* 0284DFB0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DFB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284DFB4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DFB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284DFB8 */ cpu->lr = cpu->r[0];
|
|
/* 0284DFBC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0284DFBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284DFC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284DFC4 */ return;
|
|
}
|
|
|
|
// fn_0284DF84 @ 0x284df84
|
|
void Gambit_fn_0284DF84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0284DF84: ; // 0x284df84
|
|
/* 0284DF84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284DF84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DF84 */ cpu->r[1] = _t0;
|
|
/* 0284DF88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284DF88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284DF8C */ cpu->r[30] = cpu->r[3];
|
|
/* 0284DF90 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DF90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284DF94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DF94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284DF98 */ Gambit_fn_0284D3B4(cpu);
|
|
/* 0284DF9C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284DFA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284DFA4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284DFA8 */ Gambit_fn_0284D3E4(cpu);
|
|
/* 0284DFAC */ _t4 = cpu->r[30] + 0x00000079u;
|
|
/* 0284DFAC */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[31]);
|
|
/* 0284DFB0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DFB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284DFB4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284DFB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284DFB8 */ cpu->lr = cpu->r[0];
|
|
/* 0284DFBC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0284DFBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284DFC0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284DFC4 */ return;
|
|
}
|
|
|
|
// fn_0284DFC8 @ 0x284dfc8
|
|
void Gambit_fn_0284DFC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0284DFC8: ; // 0x284dfc8
|
|
/* 0284DFC8 */ cpu->r[0] = cpu->lr;
|
|
/* 0284DFCC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0284DFCC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0284DFD0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284DFD4 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284DFD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0284DFD4 */ cpu->r[1] = _t1;
|
|
/* 0284DFD8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0284DFDC */ rbrew_dispatch(cpu, 0x02d065b0u);
|
|
/* 0284DFE0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DFE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0284DFE4 */ cpu->lr = cpu->r[0];
|
|
/* 0284DFE8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284DFE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284DFEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284DFF0 */ return;
|
|
}
|
|
|
|
// fn_0284DFD4 @ 0x284dfd4
|
|
void Gambit_fn_0284DFD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0284DFD4: ; // 0x284dfd4
|
|
/* 0284DFD4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284DFD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DFD4 */ cpu->r[1] = _t0;
|
|
/* 0284DFD8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0284DFDC */ rbrew_dispatch(cpu, 0x02d065b0u);
|
|
/* 0284DFE0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284DFE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0284DFE4 */ cpu->lr = cpu->r[0];
|
|
/* 0284DFE8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284DFE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0284DFEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284DFF0 */ return;
|
|
}
|
|
|
|
// fn_0284DFF4 @ 0x284dff4
|
|
void Gambit_fn_0284DFF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_0284DFF4: ; // 0x284dff4
|
|
/* 0284DFF4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0284DFF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284DFF4 */ cpu->r[1] = _t0;
|
|
/* 0284DFF8 */ /* nop */
|
|
/* 0284DFFC */ cpu->r[0] = cpu->lr;
|
|
/* 0284E000 */ cpu->r[28] = cpu->r[4];
|
|
/* 0284E004 */ cpu->r[30] = cpu->r[6];
|
|
/* 0284E008 */ cpu->r[31] = cpu->r[7];
|
|
/* 0284E00C */ cpu->r[20] = cpu->r[8];
|
|
/* 0284E010 */ cpu->r[21] = cpu->r[9];
|
|
/* 0284E014 */ cpu->r[24] = cpu->r[10];
|
|
/* 0284E018 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0284E018 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284E01C */ cpu->r[29] = cpu->r[5];
|
|
/* 0284E020 */ cpu->r[27] = cpu->r[3];
|
|
/* 0284E024 */ _t2 = cpu->r[1] + 0x00000040u;
|
|
/* 0284E024 */ cpu->r[26] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0284E028 */ Gambit_fn_0284DFC8(cpu);
|
|
/* 0284E02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 0284E030 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E030 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0284E030 */ if (_t4) goto L_0284E034; else goto L_0284E264;
|
|
L_0284E034: ; // 0x284e034
|
|
/* 0284E034 */ _t5 = cpu->r[27] + 0x000000A8u;
|
|
/* 0284E034 */ cpu->r[22] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284E038 */ _t6 = cpu->r[27] + 0x00000080u;
|
|
/* 0284E038 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284E03C */ cpu->r[23] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284E040 */ _t7 = cpu->r[27] + 0x000000A0u;
|
|
/* 0284E040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284E044 */ cpu->r[3] = cpu->r[12] + cpu->r[23];
|
|
/* 0284E048 */ cpu->r[4] = 0x00000240u;
|
|
/* 0284E04C */ cpu->r[25] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000090u);
|
|
/* 0284E050 */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
/* 0284E054 */ _t8 = cpu->r[27] + 0x00000084u;
|
|
/* 0284E054 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284E058 */ cpu->r[4] = 0x00000240u;
|
|
/* 0284E05C */ cpu->r[3] = cpu->r[5] + cpu->r[23];
|
|
/* 0284E060 */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
/* 0284E064 */ _t9 = cpu->r[27] + 0x00000088u;
|
|
/* 0284E064 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284E068 */ cpu->r[4] = 0x00000240u;
|
|
/* 0284E06C */ cpu->r[3] = cpu->r[6] + cpu->r[23];
|
|
/* 0284E070 */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
/* 0284E074 */ _t10 = cpu->r[27] + 0x0000008Cu;
|
|
/* 0284E074 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284E078 */ cpu->r[4] = 0x00000240u;
|
|
/* 0284E07C */ cpu->r[3] = cpu->r[7] + cpu->r[23];
|
|
/* 0284E080 */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
/* 0284E084 */ _t11 = cpu->r[27] + 0x000000D1u;
|
|
/* 0284E084 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0284E088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E08C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E08C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284E08C */ if (_t13) goto L_0284E0B0; else goto L_0284E090;
|
|
L_0284E090: ; // 0x284e090
|
|
/* 0284E090 */ _t14 = cpu->r[27] + 0x00000090u;
|
|
/* 0284E090 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284E094 */ cpu->r[4] = 0x00000240u;
|
|
/* 0284E098 */ cpu->r[3] = cpu->r[9] + cpu->r[23];
|
|
/* 0284E09C */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
/* 0284E0A0 */ _t15 = cpu->r[27] + 0x00000094u;
|
|
/* 0284E0A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284E0A4 */ cpu->r[4] = 0x00000240u;
|
|
/* 0284E0A8 */ cpu->r[3] = cpu->r[10] + cpu->r[23];
|
|
/* 0284E0AC */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
L_0284E0B0: ; // 0x284e0b0
|
|
/* 0284E0B0 */ _t16 = cpu->r[27] + 0x00000080u;
|
|
/* 0284E0B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284E0B4 */ cpu->r[4] = cpu->r[28];
|
|
/* 0284E0B8 */ cpu->r[5] = 0x00000240u;
|
|
/* 0284E0BC */ cpu->r[6] = 0x00000000u;
|
|
/* 0284E0C0 */ cpu->r[3] = cpu->r[11] + cpu->r[23];
|
|
/* 0284E0C4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0284E0C8 */ _t17 = cpu->r[27] + 0x00000084u;
|
|
/* 0284E0C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284E0CC */ cpu->r[4] = cpu->r[29];
|
|
/* 0284E0D0 */ cpu->r[5] = 0x00000240u;
|
|
/* 0284E0D4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0284E0D8 */ cpu->r[3] = cpu->r[12] + cpu->r[23];
|
|
/* 0284E0DC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0284E0E0 */ _t18 = cpu->r[27] + 0x00000088u;
|
|
/* 0284E0E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284E0E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284E0E8 */ cpu->r[5] = 0x00000240u;
|
|
/* 0284E0EC */ cpu->r[6] = 0x00000000u;
|
|
/* 0284E0F0 */ cpu->r[3] = cpu->r[7] + cpu->r[23];
|
|
/* 0284E0F4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0284E0F8 */ _t19 = cpu->r[27] + 0x0000008Cu;
|
|
/* 0284E0F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284E0FC */ cpu->r[4] = cpu->r[31];
|
|
/* 0284E100 */ cpu->r[5] = 0x00000240u;
|
|
/* 0284E104 */ cpu->r[6] = 0x00000000u;
|
|
/* 0284E108 */ cpu->r[3] = cpu->r[8] + cpu->r[23];
|
|
/* 0284E10C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0284E110 */ _t20 = cpu->r[27] + 0x000000D1u;
|
|
/* 0284E110 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0284E114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E118 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E118 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284E118 */ if (_t22) goto L_0284E15C; else goto L_0284E11C;
|
|
L_0284E11C: ; // 0x284e11c
|
|
/* 0284E11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0284E120 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E120 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0284E120 */ if (_t24) goto L_0284E13C; else goto L_0284E124;
|
|
L_0284E124: ; // 0x284e124
|
|
/* 0284E124 */ _t25 = cpu->r[27] + 0x00000090u;
|
|
/* 0284E124 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284E128 */ cpu->r[4] = cpu->r[20];
|
|
/* 0284E12C */ cpu->r[5] = 0x00000240u;
|
|
/* 0284E130 */ cpu->r[6] = 0x00000000u;
|
|
/* 0284E134 */ cpu->r[3] = cpu->r[12] + cpu->r[23];
|
|
/* 0284E138 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_0284E13C: ; // 0x284e13c
|
|
/* 0284E13C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0284E140 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E140 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0284E140 */ if (_t27) goto L_0284E15C; else goto L_0284E144;
|
|
L_0284E144: ; // 0x284e144
|
|
/* 0284E144 */ _t28 = cpu->r[27] + 0x00000094u;
|
|
/* 0284E144 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284E148 */ cpu->r[4] = cpu->r[21];
|
|
/* 0284E14C */ cpu->r[5] = 0x00000240u;
|
|
/* 0284E150 */ cpu->r[6] = 0x00000000u;
|
|
/* 0284E154 */ cpu->r[3] = cpu->r[8] + cpu->r[23];
|
|
/* 0284E158 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_0284E15C: ; // 0x284e15c
|
|
/* 0284E15C */ cpu->r[22] = cpu->r[22] + 0x00000090u;
|
|
/* 0284E160 */ _t29 = cpu->r[27] + 0x000000A4u;
|
|
/* 0284E160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284E164 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[25]);
|
|
/* 0284E168 */ _t30 = cpu->r[27] + 0x000000B4u;
|
|
/* 0284E168 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284E16C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284E16C */ _t32 = _t31 & 0x00000001u;
|
|
/* 0284E16C */ if (_t32) goto L_0284E174; else goto L_0284E170;
|
|
L_0284E170: ; // 0x284e170
|
|
/* 0284E170 */ cpu->r[22] = 0x00000000u;
|
|
L_0284E174: ; // 0x284e174
|
|
/* 0284E174 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0284E178 */ _t33 = cpu->r[27] + 0x000000A8u;
|
|
/* 0284E178 */ rbrew_write32(cpu->mem, _t33, cpu->r[22]);
|
|
/* 0284E17C */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284E17C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0284E17C */ if (_t35) goto L_0284E180; else goto L_0284E188;
|
|
L_0284E180: ; // 0x284e180
|
|
/* 0284E180 */ cpu->r[0] = cpu->r[11] + 0x00000001u;
|
|
/* 0284E184 */ _t36 = cpu->r[27] + 0x000000B4u;
|
|
/* 0284E184 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
L_0284E188: ; // 0x284e188
|
|
/* 0284E188 */ cpu->r[4] = 0x00000240u;
|
|
/* 0284E18C */ cpu->r[3] = cpu->r[24];
|
|
/* 0284E190 */ _t37 = cpu->r[27] + 0x000000B0u;
|
|
/* 0284E190 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0284E194 */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
/* 0284E198 */ cpu->r[4] = 0x00000240u;
|
|
/* 0284E19C */ cpu->r[3] = cpu->r[26];
|
|
/* 0284E1A0 */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
/* 0284E1A4 */ _t38 = cpu->r[27] + 0x000000ACu;
|
|
/* 0284E1A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0284E1A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 0284E1AC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E1AC */ _t40 = _t39 & 0x00000001u;
|
|
/* 0284E1AC */ if (_t40) goto L_0284E238; else goto L_0284E1B0;
|
|
L_0284E1B0: ; // 0x284e1b0
|
|
/* 0284E1B0 */ _t41 = cpu->r[27] + 0x000000B4u;
|
|
/* 0284E1B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0284E1B4 */ _t42 = cpu->r[27] + 0x000000A4u;
|
|
/* 0284E1B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0284E1B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0284E1BC */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284E1BC */ _t44 = _t43 & 0x00000001u;
|
|
/* 0284E1BC */ if (_t44) goto L_0284E238; else goto L_0284E1C0;
|
|
L_0284E1C0: ; // 0x284e1c0
|
|
/* 0284E1C0 */ _t45 = cpu->r[27] + 0x00000080u;
|
|
/* 0284E1C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0284E1C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284E1C8 */ cpu->r[5] = 0x00000240u;
|
|
/* 0284E1CC */ cpu->r[6] = 0x00000000u;
|
|
/* 0284E1D0 */ cpu->r[4] = cpu->r[12] + cpu->r[0];
|
|
/* 0284E1D4 */ cpu->r[3] = cpu->r[24];
|
|
/* 0284E1D8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0284E1DC */ _t46 = cpu->r[27] + 0x000000ACu;
|
|
/* 0284E1DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0284E1E0 */ cpu->r[5] = 0x00000240u;
|
|
/* 0284E1E4 */ _t47 = cpu->r[27] + 0x00000084u;
|
|
/* 0284E1E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0284E1E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284E1EC */ cpu->r[3] = cpu->r[26];
|
|
/* 0284E1F0 */ cpu->r[6] = 0x00000000u;
|
|
/* 0284E1F4 */ cpu->r[4] = cpu->r[8] + cpu->r[0];
|
|
/* 0284E1F8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0284E1FC */ _t48 = cpu->r[27] + 0x000000ACu;
|
|
/* 0284E1FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0284E200 */ cpu->r[0] = cpu->r[9] + 0x00000090u;
|
|
/* 0284E204 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[25]);
|
|
/* 0284E208 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284E208 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0284E208 */ if (_t50) goto L_0284E20C; else goto L_0284E220;
|
|
L_0284E20C: ; // 0x284e20c
|
|
/* 0284E20C */ _t51 = cpu->r[27] + 0x0000007Cu;
|
|
/* 0284E20C */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0284E210 */ cpu->r[4] = cpu->r[27] + 0x00000004u;
|
|
/* 0284E214 */ _t52 = cpu->r[27] + 0x000000ACu;
|
|
/* 0284E214 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 0284E218 */ Gambit_fn_0284D288(cpu);
|
|
/* 0284E21C */ goto L_0284E264;
|
|
L_0284E220: ; // 0x284e220
|
|
/* 0284E220 */ cpu->r[10] = 0x00000000u;
|
|
/* 0284E224 */ _t53 = cpu->r[27] + 0x0000007Cu;
|
|
/* 0284E224 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0284E228 */ cpu->r[4] = cpu->r[27] + 0x00000004u;
|
|
/* 0284E22C */ _t54 = cpu->r[27] + 0x000000ACu;
|
|
/* 0284E22C */ rbrew_write32(cpu->mem, _t54, cpu->r[10]);
|
|
/* 0284E230 */ Gambit_fn_0284D288(cpu);
|
|
/* 0284E234 */ goto L_0284E264;
|
|
L_0284E238: ; // 0x284e238
|
|
/* 0284E238 */ cpu->r[5] = 0x00000240u;
|
|
/* 0284E23C */ cpu->r[4] = 0x00000000u;
|
|
/* 0284E240 */ cpu->r[3] = cpu->r[24];
|
|
/* 0284E244 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 0284E248 */ cpu->r[5] = 0x00000240u;
|
|
/* 0284E24C */ cpu->r[4] = 0x00000000u;
|
|
/* 0284E250 */ cpu->r[3] = cpu->r[26];
|
|
/* 0284E254 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 0284E258 */ _t55 = cpu->r[27] + 0x0000007Cu;
|
|
/* 0284E258 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0284E25C */ cpu->r[4] = cpu->r[27] + 0x00000004u;
|
|
/* 0284E260 */ Gambit_fn_0284D288(cpu);
|
|
L_0284E264: ; // 0x284e264
|
|
/* 0284E264 */ /* nop */
|
|
/* 0284E268 */ _t56 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0284E268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0284E26C */ cpu->lr = cpu->r[0];
|
|
/* 0284E270 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0284E274 */ return;
|
|
}
|
|
|
|
// fn_0284E278 @ 0x284e278
|
|
void Gambit_fn_0284E278(CPUState* cpu) {
|
|
uint32_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_0284E278: ; // 0x284e278
|
|
/* 0284E278 */ cpu->r[0] = cpu->lr;
|
|
/* 0284E27C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0284E27C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0284E280 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284E280 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0284E280 */ cpu->r[1] = _t1;
|
|
/* 0284E284 */ _t2 = cpu->r[3] + 0x00000078u;
|
|
/* 0284E284 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0284E288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E28C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E28C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0284E28C */ if (_t4) goto L_0284E2DC; else goto L_0284E290;
|
|
L_0284E290: ; // 0x284e290
|
|
/* 0284E290 */ _t5 = cpu->r[3] + 0x000000B8u;
|
|
/* 0284E290 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0284E294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284E298 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E298 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284E298 */ if (_t7) goto L_0284E29C; else goto L_0284E2DC;
|
|
L_0284E29C: ; // 0x284e29c
|
|
/* 0284E29C */ _t8 = cpu->r[3] + 0x0000005Cu;
|
|
/* 0284E29C */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0284E2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284E2A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E2A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284E2A4 */ if (_t10) goto L_0284E2DC; else goto L_0284E2A8;
|
|
L_0284E2A8: ; // 0x284e2a8
|
|
/* 0284E2A8 */ _t11 = cpu->r[3] + 0x0000007Cu;
|
|
/* 0284E2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284E2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E2B0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E2B0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284E2B0 */ if (_t13) goto L_0284E2DC; else goto L_0284E2B4;
|
|
L_0284E2B4: ; // 0x284e2b4
|
|
/* 0284E2B4 */ _t14 = cpu->r[4] + 0x00000000u;
|
|
/* 0284E2B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284E2B8 */ _t15 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0284E2B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284E2BC */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 0284E2BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284E2C0 */ _t17 = cpu->r[12] + 0x00000010u;
|
|
/* 0284E2C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284E2C4 */ _t18 = cpu->r[12] + 0x00000008u;
|
|
/* 0284E2C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284E2C8 */ _t19 = cpu->r[12] + 0x00000004u;
|
|
/* 0284E2C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284E2CC */ _t20 = cpu->r[12] + 0x00000014u;
|
|
/* 0284E2CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284E2D0 */ cpu->r[10] = cpu->r[4];
|
|
/* 0284E2D4 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0284E2D4 */ rbrew_write32(cpu->mem, _t21, cpu->r[5]);
|
|
/* 0284E2D8 */ Gambit_fn_0284DFF4(cpu);
|
|
L_0284E2DC: ; // 0x284e2dc
|
|
/* 0284E2DC */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284E2E0 */ cpu->lr = cpu->r[0];
|
|
/* 0284E2E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E2E8 */ return;
|
|
}
|
|
|
|
// fn_0284E280 @ 0x284e280
|
|
void Gambit_fn_0284E280(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_0284E280: ; // 0x284e280
|
|
/* 0284E280 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284E280 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E280 */ cpu->r[1] = _t0;
|
|
/* 0284E284 */ _t1 = cpu->r[3] + 0x00000078u;
|
|
/* 0284E284 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 0284E288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E28C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E28C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0284E28C */ if (_t3) goto L_0284E2DC; else goto L_0284E290;
|
|
L_0284E290: ; // 0x284e290
|
|
/* 0284E290 */ _t4 = cpu->r[3] + 0x000000B8u;
|
|
/* 0284E290 */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0284E294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284E298 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E298 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284E298 */ if (_t6) goto L_0284E29C; else goto L_0284E2DC;
|
|
L_0284E29C: ; // 0x284e29c
|
|
/* 0284E29C */ _t7 = cpu->r[3] + 0x0000005Cu;
|
|
/* 0284E29C */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0284E2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284E2A4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E2A4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284E2A4 */ if (_t9) goto L_0284E2DC; else goto L_0284E2A8;
|
|
L_0284E2A8: ; // 0x284e2a8
|
|
/* 0284E2A8 */ _t10 = cpu->r[3] + 0x0000007Cu;
|
|
/* 0284E2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284E2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E2B0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E2B0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284E2B0 */ if (_t12) goto L_0284E2DC; else goto L_0284E2B4;
|
|
L_0284E2B4: ; // 0x284e2b4
|
|
/* 0284E2B4 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 0284E2B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284E2B8 */ _t14 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0284E2B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284E2BC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0284E2BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284E2C0 */ _t16 = cpu->r[12] + 0x00000010u;
|
|
/* 0284E2C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284E2C4 */ _t17 = cpu->r[12] + 0x00000008u;
|
|
/* 0284E2C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284E2C8 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 0284E2C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284E2CC */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 0284E2CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284E2D0 */ cpu->r[10] = cpu->r[4];
|
|
/* 0284E2D4 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0284E2D4 */ rbrew_write32(cpu->mem, _t20, cpu->r[5]);
|
|
/* 0284E2D8 */ Gambit_fn_0284DFF4(cpu);
|
|
L_0284E2DC: ; // 0x284e2dc
|
|
/* 0284E2DC */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284E2E0 */ cpu->lr = cpu->r[0];
|
|
/* 0284E2E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E2E8 */ return;
|
|
}
|
|
|
|
// fn_0284E2F0 @ 0x284e2f0
|
|
void Gambit_fn_0284E2F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0284E2F0: ; // 0x284e2f0
|
|
/* 0284E2F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284E2F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E2F0 */ cpu->r[1] = _t0;
|
|
/* 0284E2F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E2F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284E2F8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0284E2FC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E2FC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284E300 */ _t3 = cpu->r[12] + 0xFFFF9A24u;
|
|
/* 0284E300 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284E304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284E308 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284E30C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E30C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284E30C */ if (_t5) goto L_0284E31C; else goto L_0284E310;
|
|
L_0284E310: ; // 0x284e310
|
|
/* 0284E310 */ cpu->ctr = cpu->r[12];
|
|
/* 0284E314 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E318 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284E31C: ; // 0x284e31c
|
|
/* 0284E31C */ cpu->r[3] = 0x101D0000u;
|
|
/* 0284E320 */ _t6 = cpu->r[3] + 0xFFFF9A20u;
|
|
/* 0284E320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284E324 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284E328 */ Gambit_fn_0284E278(cpu);
|
|
/* 0284E32C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E32C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284E330 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E330 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284E334 */ cpu->lr = cpu->r[0];
|
|
/* 0284E338 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E33C */ return;
|
|
}
|
|
|
|
// fn_0284E340 @ 0x284e340
|
|
void Gambit_fn_0284E340(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0284E340: ; // 0x284e340
|
|
/* 0284E340 */ cpu->r[0] = cpu->lr;
|
|
/* 0284E344 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0284E348 */ cpu->r[4] = cpu->r[4] + 0xFFFF9A24u;
|
|
/* 0284E34C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0284E34C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0284E350 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284E354 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284E354 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0284E354 */ cpu->r[1] = _t1;
|
|
/* 0284E358 */ rbrew_dispatch(cpu, 0x02d065a0u);
|
|
/* 0284E35C */ cpu->r[4] = 0x02850000u;
|
|
/* 0284E360 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284E364 */ cpu->r[4] = cpu->r[4] + 0xFFFFE2ECu;
|
|
/* 0284E368 */ rbrew_dispatch(cpu, 0x02d06748u);
|
|
/* 0284E36C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0284E370 */ cpu->lr = cpu->r[0];
|
|
/* 0284E374 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284E378 */ return;
|
|
}
|
|
|
|
// fn_0284E354 @ 0x284e354
|
|
void Gambit_fn_0284E354(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0284E354: ; // 0x284e354
|
|
/* 0284E354 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0284E354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E354 */ cpu->r[1] = _t0;
|
|
/* 0284E358 */ rbrew_dispatch(cpu, 0x02d065a0u);
|
|
/* 0284E35C */ cpu->r[4] = 0x02850000u;
|
|
/* 0284E360 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284E364 */ cpu->r[4] = cpu->r[4] + 0xFFFFE2ECu;
|
|
/* 0284E368 */ rbrew_dispatch(cpu, 0x02d06748u);
|
|
/* 0284E36C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0284E370 */ cpu->lr = cpu->r[0];
|
|
/* 0284E374 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0284E378 */ return;
|
|
}
|
|
|
|
// fn_0284E37C @ 0x284e37c
|
|
void Gambit_fn_0284E37C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_0284E37C: ; // 0x284e37c
|
|
/* 0284E37C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0284E37C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E37C */ cpu->r[1] = _t0;
|
|
/* 0284E380 */ /* nop */
|
|
/* 0284E384 */ cpu->r[0] = cpu->lr;
|
|
/* 0284E388 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0284E388 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284E38C */ cpu->r[29] = cpu->r[3];
|
|
/* 0284E390 */ _t2 = cpu->r[29] + 0x00000078u;
|
|
/* 0284E390 */ cpu->r[11] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0284E394 */ cpu->r[30] = cpu->r[4];
|
|
/* 0284E398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284E39C */ cpu->r[31] = cpu->r[5];
|
|
/* 0284E3A0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E3A0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0284E3A0 */ if (_t4) goto L_0284E3A4; else goto L_0284E498;
|
|
L_0284E3A4: ; // 0x284e3a4
|
|
/* 0284E3A4 */ _t5 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0284E3A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0284E3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E3AC */ cpu->r[28] = 0x00000000u;
|
|
/* 0284E3B0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E3B0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284E3B0 */ if (_t7) goto L_0284E418; else goto L_0284E3B4;
|
|
L_0284E3B4: ; // 0x284e3b4
|
|
/* 0284E3B4 */ Gambit_fn_0284DBE8(cpu);
|
|
/* 0284E3B8 */ cpu->r[27] = cpu->r[29] + 0x0000007Cu;
|
|
/* 0284E3BC */ cpu->r[26] = 0x00000008u;
|
|
/* 0284E3C0 */ _t8 = cpu->r[29] + 0x0000007Cu;
|
|
/* 0284E3C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
L_0284E3C4: ; // 0x284e3c4
|
|
/* 0284E3C4 */ _t9 = cpu->r[29] + 0x000000A0u;
|
|
/* 0284E3C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284E3C8 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000240u);
|
|
/* 0284E3CC */ cpu->r[4] = cpu->r[31];
|
|
/* 0284E3D0 */ cpu->r[5] = 0x00000040u;
|
|
/* 0284E3D4 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0284E3D8 */ _t10 = cpu->r[27] + 0x00000004u;
|
|
/* 0284E3D8 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 0284E3D8 */ cpu->r[27] = _t10;
|
|
/* 0284E3DC */ _t11 = cpu->r[29] + 0x000000A0u;
|
|
/* 0284E3DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284E3E0 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000240u);
|
|
/* 0284E3E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284E3E8 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 0284E3EC */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 0284E3EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0284E3F0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E3F0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284E3F0 */ if (_t13) goto L_0284E3F4; else goto L_0284E3C4;
|
|
L_0284E3F4: ; // 0x284e3f4
|
|
/* 0284E3F4 */ _t14 = cpu->r[29] + 0x000000ACu;
|
|
/* 0284E3F4 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 0284E3F8 */ _t15 = cpu->r[29] + 0x00000074u;
|
|
/* 0284E3F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 0284E3FC */ _t16 = cpu->r[29] + 0x000000B0u;
|
|
/* 0284E3FC */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 0284E400 */ _t17 = cpu->r[29] + 0x000000B4u;
|
|
/* 0284E400 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 0284E404 */ _t18 = cpu->r[29] + 0x000000A8u;
|
|
/* 0284E404 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
/* 0284E408 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
|
|
/* 0284E40C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
|
|
/* 0284E410 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E410 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284E410 */ if (_t20) goto L_0284E46C; else goto L_0284E414;
|
|
L_0284E414: ; // 0x284e414
|
|
/* 0284E414 */ goto L_0284E42C;
|
|
L_0284E418: ; // 0x284e418
|
|
/* 0284E418 */ _t21 = cpu->r[29] + 0x0000007Cu;
|
|
/* 0284E418 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 0284E41C */ _t22 = cpu->r[29] + 0x00000074u;
|
|
/* 0284E41C */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 0284E420 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
|
|
/* 0284E424 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
|
|
/* 0284E428 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E428 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0284E428 */ if (_t24) goto L_0284E46C; else goto L_0284E42C;
|
|
L_0284E42C: ; // 0x284e42c
|
|
/* 0284E42C */ cpu->r[4] = cpu->r[31];
|
|
/* 0284E430 */ cpu->r[3] = 0x000006A0u;
|
|
/* 0284E434 */ cpu->r[5] = 0x00000008u;
|
|
/* 0284E438 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0284E43C */ _t25 = cpu->r[29] + 0x00000064u;
|
|
/* 0284E43C */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
/* 0284E440 */ cpu->r[4] = cpu->r[31];
|
|
/* 0284E444 */ _t26 = cpu->r[29] + 0x0000006Cu;
|
|
/* 0284E444 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284E448 */ cpu->r[5] = 0x00000004u;
|
|
/* 0284E44C */ Gambit_fn_02801ADC(cpu);
|
|
/* 0284E450 */ _t27 = cpu->r[29] + 0x00000068u;
|
|
/* 0284E450 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 0284E454 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284E458 */ Gambit_fn_0284DEB4(cpu);
|
|
/* 0284E45C */ _t28 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0284E45C */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0284E460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E464 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E464 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284E464 */ if (_t30) goto L_0284E490; else goto L_0284E468;
|
|
L_0284E468: ; // 0x284e468
|
|
/* 0284E468 */ goto L_0284E480;
|
|
L_0284E46C: ; // 0x284e46c
|
|
/* 0284E46C */ cpu->r[3] = cpu->r[29];
|
|
/* 0284E470 */ Gambit_fn_0284DE64(cpu);
|
|
/* 0284E474 */ _t31 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0284E474 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0284E478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E47C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E47C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0284E47C */ if (_t33) goto L_0284E490; else goto L_0284E480;
|
|
L_0284E480: ; // 0x284e480
|
|
/* 0284E480 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284E484 */ Gambit_fn_0284DF80(cpu);
|
|
/* 0284E488 */ cpu->r[3] = cpu->r[29];
|
|
/* 0284E48C */ Gambit_fn_0284E340(cpu);
|
|
L_0284E490: ; // 0x284e490
|
|
/* 0284E490 */ cpu->r[10] = 0x00000001u;
|
|
/* 0284E494 */ _t34 = cpu->r[29] + 0x00000078u;
|
|
/* 0284E494 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[10]);
|
|
L_0284E498: ; // 0x284e498
|
|
/* 0284E498 */ /* nop */
|
|
/* 0284E49C */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 0284E49C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0284E4A0 */ cpu->lr = cpu->r[0];
|
|
/* 0284E4A4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0284E4A8 */ return;
|
|
}
|
|
|
|
// fn_0284E4B0 @ 0x284e4b0
|
|
void Gambit_fn_0284E4B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_0284E4B0: ; // 0x284e4b0
|
|
/* 0284E4B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284E4B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E4B0 */ cpu->r[1] = _t0;
|
|
/* 0284E4B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E4B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284E4B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284E4BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E4BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284E4C0 */ _t3 = cpu->r[31] + 0x00000034u;
|
|
/* 0284E4C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284E4C4 */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284E4C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284E4C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 0284E4CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E4CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284E4CC */ if (_t6) goto L_0284E4D0; else goto L_0284E4DC;
|
|
L_0284E4D0: ; // 0x284e4d0
|
|
/* 0284E4D0 */ _t7 = cpu->r[31] + 0x000000D0u;
|
|
/* 0284E4D0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0284E4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0284E4D8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E4D8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284E4D8 */ if (_t9) goto L_0284E4E4; else goto L_0284E4DC;
|
|
L_0284E4DC: ; // 0x284e4dc
|
|
/* 0284E4DC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E4E0 */ Gambit_fn_0284DC94(cpu);
|
|
L_0284E4E4: ; // 0x284e4e4
|
|
/* 0284E4E4 */ _t10 = cpu->r[31] + 0x00000010u;
|
|
/* 0284E4E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284E4E8 */ _t11 = cpu->r[31] + 0x00000038u;
|
|
/* 0284E4E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284E4EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 0284E4F0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E4F0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284E4F0 */ if (_t13) goto L_0284E500; else goto L_0284E4F4;
|
|
L_0284E4F4: ; // 0x284e4f4
|
|
/* 0284E4F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E4F8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284E4FC */ Gambit_fn_0284DD70(cpu);
|
|
L_0284E500: ; // 0x284e500
|
|
/* 0284E500 */ _t14 = cpu->r[31] + 0x00000014u;
|
|
/* 0284E500 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284E504 */ _t15 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0284E504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284E508 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 0284E50C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E50C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284E50C */ if (_t17) goto L_0284E51C; else goto L_0284E510;
|
|
L_0284E510: ; // 0x284e510
|
|
/* 0284E510 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E514 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284E518 */ Gambit_fn_0284DD70(cpu);
|
|
L_0284E51C: ; // 0x284e51c
|
|
/* 0284E51C */ _t18 = cpu->r[31] + 0x00000018u;
|
|
/* 0284E51C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0284E520 */ _t19 = cpu->r[31] + 0x00000040u;
|
|
/* 0284E520 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0284E524 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0284E528 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E528 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284E528 */ if (_t21) goto L_0284E538; else goto L_0284E52C;
|
|
L_0284E52C: ; // 0x284e52c
|
|
/* 0284E52C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E530 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284E534 */ Gambit_fn_0284DD84(cpu);
|
|
L_0284E538: ; // 0x284e538
|
|
/* 0284E538 */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284E538 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0284E53C */ _t23 = cpu->r[31] + 0x00000044u;
|
|
/* 0284E53C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0284E540 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0284E544 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E544 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0284E544 */ if (_t25) goto L_0284E554; else goto L_0284E548;
|
|
L_0284E548: ; // 0x284e548
|
|
/* 0284E548 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E54C */ cpu->r[4] = 0x00000001u;
|
|
/* 0284E550 */ Gambit_fn_0284DD84(cpu);
|
|
L_0284E554: ; // 0x284e554
|
|
/* 0284E554 */ _t26 = cpu->r[31] + 0x00000020u;
|
|
/* 0284E554 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 0284E558 */ _t27 = cpu->r[31] + 0x00000048u;
|
|
/* 0284E558 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0284E55C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0284E560 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E560 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0284E560 */ if (_t29) goto L_0284E570; else goto L_0284E564;
|
|
L_0284E564: ; // 0x284e564
|
|
/* 0284E564 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E568 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284E56C */ Gambit_fn_0284DD98(cpu);
|
|
L_0284E570: ; // 0x284e570
|
|
/* 0284E570 */ _t30 = cpu->r[31] + 0x00000024u;
|
|
/* 0284E570 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0284E574 */ _t31 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0284E574 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0284E578 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0284E57C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E57C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0284E57C */ if (_t33) goto L_0284E58C; else goto L_0284E580;
|
|
L_0284E580: ; // 0x284e580
|
|
/* 0284E580 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E584 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284E588 */ Gambit_fn_0284DD98(cpu);
|
|
L_0284E58C: ; // 0x284e58c
|
|
/* 0284E58C */ _t34 = cpu->r[31] + 0x00000028u;
|
|
/* 0284E58C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284E590 */ _t35 = cpu->r[31] + 0x00000050u;
|
|
/* 0284E590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0284E594 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 0284E598 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E598 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0284E598 */ if (_t37) goto L_0284E5A4; else goto L_0284E59C;
|
|
L_0284E59C: ; // 0x284e59c
|
|
/* 0284E59C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E5A0 */ Gambit_fn_0284DDAC(cpu);
|
|
L_0284E5A4: ; // 0x284e5a4
|
|
/* 0284E5A4 */ _t38 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0284E5A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0284E5A8 */ _t39 = cpu->r[31] + 0x00000054u;
|
|
/* 0284E5A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 0284E5AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0284E5B0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E5B0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0284E5B0 */ if (_t41) goto L_0284E5C0; else goto L_0284E5B4;
|
|
L_0284E5B4: ; // 0x284e5b4
|
|
/* 0284E5B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E5B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284E5BC */ Gambit_fn_0284DDB4(cpu);
|
|
L_0284E5C0: ; // 0x284e5c0
|
|
/* 0284E5C0 */ _t42 = cpu->r[31] + 0x00000030u;
|
|
/* 0284E5C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 0284E5C4 */ _t43 = cpu->r[31] + 0x00000058u;
|
|
/* 0284E5C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 0284E5C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0284E5CC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E5CC */ _t45 = _t44 & 0x00000001u;
|
|
/* 0284E5CC */ if (_t45) goto L_0284E5DC; else goto L_0284E5D0;
|
|
L_0284E5D0: ; // 0x284e5d0
|
|
/* 0284E5D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E5D4 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284E5D8 */ Gambit_fn_0284DDB4(cpu);
|
|
L_0284E5DC: ; // 0x284e5dc
|
|
/* 0284E5DC */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E5DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0284E5E0 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E5E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0284E5E4 */ cpu->lr = cpu->r[0];
|
|
/* 0284E5E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E5EC */ return;
|
|
}
|
|
|
|
// fn_0284E5F0 @ 0x284e5f0
|
|
void Gambit_fn_0284E5F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_0284E4AC: ; // 0x284e4ac
|
|
/* 0284E4AC */ cpu->r[0] = cpu->lr;
|
|
/* 0284E4B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284E4B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E4B0 */ cpu->r[1] = _t0;
|
|
/* 0284E4B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E4B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284E4B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284E4BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E4BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284E4C0 */ _t3 = cpu->r[31] + 0x00000034u;
|
|
/* 0284E4C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284E4C4 */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0284E4C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284E4C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 0284E4CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E4CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284E4CC */ if (_t6) goto L_0284E4D0; else goto L_0284E4DC;
|
|
L_0284E4D0: ; // 0x284e4d0
|
|
/* 0284E4D0 */ _t7 = cpu->r[31] + 0x000000D0u;
|
|
/* 0284E4D0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0284E4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0284E4D8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E4D8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284E4D8 */ if (_t9) goto L_0284E4E4; else goto L_0284E4DC;
|
|
L_0284E4DC: ; // 0x284e4dc
|
|
/* 0284E4DC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E4E0 */ Gambit_fn_0284DC94(cpu);
|
|
L_0284E4E4: ; // 0x284e4e4
|
|
/* 0284E4E4 */ _t10 = cpu->r[31] + 0x00000010u;
|
|
/* 0284E4E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284E4E8 */ _t11 = cpu->r[31] + 0x00000038u;
|
|
/* 0284E4E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284E4EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 0284E4F0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E4F0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284E4F0 */ if (_t13) goto L_0284E500; else goto L_0284E4F4;
|
|
L_0284E4F4: ; // 0x284e4f4
|
|
/* 0284E4F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E4F8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284E4FC */ Gambit_fn_0284DD70(cpu);
|
|
L_0284E500: ; // 0x284e500
|
|
/* 0284E500 */ _t14 = cpu->r[31] + 0x00000014u;
|
|
/* 0284E500 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284E504 */ _t15 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0284E504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284E508 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 0284E50C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E50C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284E50C */ if (_t17) goto L_0284E51C; else goto L_0284E510;
|
|
L_0284E510: ; // 0x284e510
|
|
/* 0284E510 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E514 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284E518 */ Gambit_fn_0284DD70(cpu);
|
|
L_0284E51C: ; // 0x284e51c
|
|
/* 0284E51C */ _t18 = cpu->r[31] + 0x00000018u;
|
|
/* 0284E51C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0284E520 */ _t19 = cpu->r[31] + 0x00000040u;
|
|
/* 0284E520 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0284E524 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0284E528 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E528 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284E528 */ if (_t21) goto L_0284E538; else goto L_0284E52C;
|
|
L_0284E52C: ; // 0x284e52c
|
|
/* 0284E52C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E530 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284E534 */ Gambit_fn_0284DD84(cpu);
|
|
L_0284E538: ; // 0x284e538
|
|
/* 0284E538 */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284E538 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0284E53C */ _t23 = cpu->r[31] + 0x00000044u;
|
|
/* 0284E53C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0284E540 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0284E544 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E544 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0284E544 */ if (_t25) goto L_0284E554; else goto L_0284E548;
|
|
L_0284E548: ; // 0x284e548
|
|
/* 0284E548 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E54C */ cpu->r[4] = 0x00000001u;
|
|
/* 0284E550 */ Gambit_fn_0284DD84(cpu);
|
|
L_0284E554: ; // 0x284e554
|
|
/* 0284E554 */ _t26 = cpu->r[31] + 0x00000020u;
|
|
/* 0284E554 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 0284E558 */ _t27 = cpu->r[31] + 0x00000048u;
|
|
/* 0284E558 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0284E55C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0284E560 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E560 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0284E560 */ if (_t29) goto L_0284E570; else goto L_0284E564;
|
|
L_0284E564: ; // 0x284e564
|
|
/* 0284E564 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E568 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284E56C */ Gambit_fn_0284DD98(cpu);
|
|
L_0284E570: ; // 0x284e570
|
|
/* 0284E570 */ _t30 = cpu->r[31] + 0x00000024u;
|
|
/* 0284E570 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0284E574 */ _t31 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0284E574 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0284E578 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0284E57C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E57C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0284E57C */ if (_t33) goto L_0284E58C; else goto L_0284E580;
|
|
L_0284E580: ; // 0x284e580
|
|
/* 0284E580 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E584 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284E588 */ Gambit_fn_0284DD98(cpu);
|
|
L_0284E58C: ; // 0x284e58c
|
|
/* 0284E58C */ _t34 = cpu->r[31] + 0x00000028u;
|
|
/* 0284E58C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284E590 */ _t35 = cpu->r[31] + 0x00000050u;
|
|
/* 0284E590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0284E594 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 0284E598 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E598 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0284E598 */ if (_t37) goto L_0284E5A4; else goto L_0284E59C;
|
|
L_0284E59C: ; // 0x284e59c
|
|
/* 0284E59C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E5A0 */ Gambit_fn_0284DDAC(cpu);
|
|
L_0284E5A4: ; // 0x284e5a4
|
|
/* 0284E5A4 */ _t38 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0284E5A4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 0284E5A8 */ _t39 = cpu->r[31] + 0x00000054u;
|
|
/* 0284E5A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 0284E5AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0284E5B0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E5B0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0284E5B0 */ if (_t41) goto L_0284E5C0; else goto L_0284E5B4;
|
|
L_0284E5B4: ; // 0x284e5b4
|
|
/* 0284E5B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E5B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284E5BC */ Gambit_fn_0284DDB4(cpu);
|
|
L_0284E5C0: ; // 0x284e5c0
|
|
/* 0284E5C0 */ _t42 = cpu->r[31] + 0x00000030u;
|
|
/* 0284E5C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 0284E5C4 */ _t43 = cpu->r[31] + 0x00000058u;
|
|
/* 0284E5C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 0284E5C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0284E5CC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E5CC */ _t45 = _t44 & 0x00000001u;
|
|
/* 0284E5CC */ if (_t45) goto L_0284E5DC; else goto L_0284E5D0;
|
|
L_0284E5D0: ; // 0x284e5d0
|
|
/* 0284E5D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E5D4 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284E5D8 */ Gambit_fn_0284DDB4(cpu);
|
|
L_0284E5DC: ; // 0x284e5dc
|
|
/* 0284E5DC */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E5DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0284E5E0 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E5E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0284E5E4 */ cpu->lr = cpu->r[0];
|
|
/* 0284E5E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E5EC */ return;
|
|
L_0284E5F0: ; // 0x284e5f0
|
|
/* 0284E5F0 */ goto L_0284E4AC;
|
|
}
|
|
|
|
// fn_0284E5F8 @ 0x284e5f8
|
|
void Gambit_fn_0284E5F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0284E5F8: ; // 0x284e5f8
|
|
/* 0284E5F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284E5F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E5F8 */ cpu->r[1] = _t0;
|
|
/* 0284E5FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E5FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284E600 */ cpu->r[31] = 0x101D0000u;
|
|
/* 0284E604 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E604 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284E608 */ _t3 = cpu->r[31] + 0xFFFF9A20u;
|
|
/* 0284E608 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284E60C */ Gambit_fn_0284E5F0(cpu);
|
|
/* 0284E610 */ _t4 = cpu->r[31] + 0xFFFF9A20u;
|
|
/* 0284E610 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284E614 */ Gambit_fn_0284D928(cpu);
|
|
/* 0284E618 */ cpu->r[4] = cpu->r[3] | 0x00000002u;
|
|
/* 0284E61C */ cpu->r[3] = 0x101F0000u;
|
|
/* 0284E620 */ cpu->r[3] = cpu->r[3] + 0x00006D00u;
|
|
/* 0284E624 */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 0284E628 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284E62C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E62C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284E630 */ cpu->lr = cpu->r[0];
|
|
/* 0284E634 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E638 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284E63C */ return;
|
|
}
|
|
|
|
// fn_0284E640 @ 0x284e640
|
|
void Gambit_fn_0284E640(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_0284E640: ; // 0x284e640
|
|
/* 0284E640 */ cpu->r[0] = cpu->lr;
|
|
/* 0284E644 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284E644 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E644 */ cpu->r[1] = _t0;
|
|
/* 0284E648 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E648 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284E64C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284E650 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E650 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284E654 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284E654 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284E658 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0284E658 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0284E65C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284E65C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284E660 */ Gambit_fn_0284D904(cpu);
|
|
/* 0284E664 */ cpu->r[28] = cpu->r[3];
|
|
/* 0284E668 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E66C */ Gambit_fn_0284D928(cpu);
|
|
/* 0284E670 */ cpu->r[29] = 0x101F0000u;
|
|
/* 0284E674 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284E678 */ cpu->r[3] = cpu->r[29] + 0x00006D00u;
|
|
/* 0284E67C */ rbrew_dispatch(cpu, 0x02d0ac18u);
|
|
/* 0284E680 */ _t6 = cpu->r[31] + 0x00000068u;
|
|
/* 0284E680 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284E684 */ cpu->r[0] = cpu->r[28] | 0x00000008u;
|
|
/* 0284E688 */ cpu->r[4] = 0x02850000u;
|
|
/* 0284E68C */ _t7 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0284E68C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284E690 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0284E694 */ _t8 = cpu->r[31] + 0x00000064u;
|
|
/* 0284E694 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284E698 */ cpu->r[4] = cpu->r[4] + 0xFFFFE5F4u;
|
|
/* 0284E69C */ cpu->r[6] = cpu->r[31];
|
|
/* 0284E6A0 */ _t9 = cpu->r[31] + 0x00000070u;
|
|
/* 0284E6A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284E6A4 */ cpu->r[5] = 0x00000000u;
|
|
/* 0284E6A8 */ cpu->r[7] = cpu->r[7] + cpu->r[8];
|
|
/* 0284E6AC */ rbrew_dispatch(cpu, 0x02d0a7b0u);
|
|
/* 0284E6B0 */ cpu->r[28] = 0x101F0000u;
|
|
/* 0284E6B4 */ cpu->r[28] = cpu->r[28] + 0x00006CF8u;
|
|
/* 0284E6B8 */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 0284E6B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284E6BC */ _t11 = cpu->r[11] + 0x00000014u;
|
|
/* 0284E6BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284E6C0 */ cpu->ctr = cpu->r[12];
|
|
/* 0284E6C4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0284E6C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284E6CC */ _t12 = cpu->r[31] + 0x00000064u;
|
|
/* 0284E6CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284E6D0 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 0284E6D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284E6D4 */ rbrew_dispatch(cpu, 0x02d0afc8u);
|
|
/* 0284E6D8 */ _t14 = cpu->r[31] + 0x00000064u;
|
|
/* 0284E6D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284E6DC */ rbrew_dispatch(cpu, 0x02d0ae60u);
|
|
/* 0284E6E0 */ cpu->r[3] = cpu->r[29] + 0x00006D00u;
|
|
/* 0284E6E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284E6E8 */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 0284E6EC */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0284E6EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284E6F0 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E6F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284E6F4 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284E6F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284E6F8 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0284E6F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284E6FC */ cpu->lr = cpu->r[0];
|
|
/* 0284E700 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E700 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284E704 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284E708 */ return;
|
|
}
|
|
|
|
// fn_0284E644 @ 0x284e644
|
|
void Gambit_fn_0284E644(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_0284E644: ; // 0x284e644
|
|
/* 0284E644 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284E644 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E644 */ cpu->r[1] = _t0;
|
|
/* 0284E648 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E648 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284E64C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284E650 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E650 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284E654 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0284E654 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0284E658 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0284E658 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0284E65C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284E65C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284E660 */ Gambit_fn_0284D904(cpu);
|
|
/* 0284E664 */ cpu->r[28] = cpu->r[3];
|
|
/* 0284E668 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E66C */ Gambit_fn_0284D928(cpu);
|
|
/* 0284E670 */ cpu->r[29] = 0x101F0000u;
|
|
/* 0284E674 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284E678 */ cpu->r[3] = cpu->r[29] + 0x00006D00u;
|
|
/* 0284E67C */ rbrew_dispatch(cpu, 0x02d0ac18u);
|
|
/* 0284E680 */ _t6 = cpu->r[31] + 0x00000068u;
|
|
/* 0284E680 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284E684 */ cpu->r[0] = cpu->r[28] | 0x00000008u;
|
|
/* 0284E688 */ cpu->r[4] = 0x02850000u;
|
|
/* 0284E68C */ _t7 = cpu->r[31] + 0x0000006Cu;
|
|
/* 0284E68C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284E690 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0284E694 */ _t8 = cpu->r[31] + 0x00000064u;
|
|
/* 0284E694 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284E698 */ cpu->r[4] = cpu->r[4] + 0xFFFFE5F4u;
|
|
/* 0284E69C */ cpu->r[6] = cpu->r[31];
|
|
/* 0284E6A0 */ _t9 = cpu->r[31] + 0x00000070u;
|
|
/* 0284E6A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284E6A4 */ cpu->r[5] = 0x00000000u;
|
|
/* 0284E6A8 */ cpu->r[7] = cpu->r[7] + cpu->r[8];
|
|
/* 0284E6AC */ rbrew_dispatch(cpu, 0x02d0a7b0u);
|
|
/* 0284E6B0 */ cpu->r[28] = 0x101F0000u;
|
|
/* 0284E6B4 */ cpu->r[28] = cpu->r[28] + 0x00006CF8u;
|
|
/* 0284E6B8 */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 0284E6B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284E6BC */ _t11 = cpu->r[11] + 0x00000014u;
|
|
/* 0284E6BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284E6C0 */ cpu->ctr = cpu->r[12];
|
|
/* 0284E6C4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0284E6C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284E6CC */ _t12 = cpu->r[31] + 0x00000064u;
|
|
/* 0284E6CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284E6D0 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 0284E6D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284E6D4 */ rbrew_dispatch(cpu, 0x02d0afc8u);
|
|
/* 0284E6D8 */ _t14 = cpu->r[31] + 0x00000064u;
|
|
/* 0284E6D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284E6DC */ rbrew_dispatch(cpu, 0x02d0ae60u);
|
|
/* 0284E6E0 */ cpu->r[3] = cpu->r[29] + 0x00006D00u;
|
|
/* 0284E6E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284E6E8 */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 0284E6EC */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0284E6EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284E6F0 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E6F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284E6F4 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284E6F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284E6F8 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0284E6F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284E6FC */ cpu->lr = cpu->r[0];
|
|
/* 0284E700 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E700 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284E704 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284E708 */ return;
|
|
}
|
|
|
|
// fn_0284E70C @ 0x284e70c
|
|
void Gambit_fn_0284E70C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0284E70C: ; // 0x284e70c
|
|
/* 0284E70C */ cpu->r[0] = cpu->lr;
|
|
/* 0284E710 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284E710 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E710 */ cpu->r[1] = _t0;
|
|
/* 0284E714 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E714 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284E718 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284E71C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E71C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284E720 */ cpu->r[0] = 0x00000005u;
|
|
/* 0284E724 */ cpu->r[11] = cpu->r[31] + 0x00000008u;
|
|
/* 0284E728 */ cpu->ctr = cpu->r[0];
|
|
/* 0284E72C */ cpu->r[12] = cpu->r[31] + 0x00000030u;
|
|
L_0284E730: ; // 0x284e730
|
|
/* 0284E730 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 0284E730 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284E734 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 0284E734 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 0284E738 */ _t5 = cpu->r[11] + 0x00000008u;
|
|
/* 0284E738 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284E738 */ cpu->r[11] = _t5;
|
|
/* 0284E73C */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 0284E73C */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0284E73C */ cpu->r[12] = _t6;
|
|
/* 0284E740 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284E740 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284E740 */ _t8 = _t7 >> (0x00000002u & 31u);
|
|
/* 0284E740 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284E740 */ if (_t9) goto L_0284E730; else goto L_0284E744;
|
|
L_0284E744: ; // 0x284e744
|
|
/* 0284E744 */ cpu->r[12] = 0x00000005u;
|
|
/* 0284E748 */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFCu;
|
|
/* 0284E74C */ cpu->ctr = cpu->r[12];
|
|
/* 0284E750 */ cpu->r[11] = cpu->r[31] + 0x00000008u;
|
|
L_0284E754: ; // 0x284e754
|
|
/* 0284E754 */ _t10 = cpu->r[10] + 0x00000004u;
|
|
/* 0284E754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284E758 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 0284E758 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0284E75C */ _t12 = cpu->r[10] + 0x00000008u;
|
|
/* 0284E75C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284E75C */ cpu->r[10] = _t12;
|
|
/* 0284E760 */ _t13 = cpu->r[11] + 0x00000008u;
|
|
/* 0284E760 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 0284E760 */ cpu->r[11] = _t13;
|
|
/* 0284E764 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284E764 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284E764 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 0284E764 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0284E764 */ if (_t16) goto L_0284E754; else goto L_0284E768;
|
|
L_0284E768: ; // 0x284e768
|
|
/* 0284E768 */ _t17 = cpu->r[31] + 0x00000078u;
|
|
/* 0284E768 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0284E76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E770 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E770 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284E770 */ if (_t19) goto L_0284E7A4; else goto L_0284E774;
|
|
L_0284E774: ; // 0x284e774
|
|
/* 0284E774 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
|
|
/* 0284E778 */ _t20 = cpu->r[31] + 0x00000074u;
|
|
/* 0284E778 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284E77C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[3]);
|
|
/* 0284E780 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E784 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E784 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284E784 */ if (_t22) goto L_0284E7A0; else goto L_0284E788;
|
|
L_0284E788: ; // 0x284e788
|
|
/* 0284E788 */ Gambit_fn_0284E640(cpu);
|
|
/* 0284E78C */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284E790 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E790 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284E794 */ cpu->lr = cpu->r[0];
|
|
/* 0284E798 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E79C */ return;
|
|
L_0284E7A0: ; // 0x284e7a0
|
|
/* 0284E7A0 */ Gambit_fn_0284E5F0(cpu);
|
|
L_0284E7A4: ; // 0x284e7a4
|
|
/* 0284E7A4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E7A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284E7A8 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E7A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284E7AC */ cpu->lr = cpu->r[0];
|
|
/* 0284E7B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E7B4 */ return;
|
|
}
|
|
|
|
// fn_0284E710 @ 0x284e710
|
|
void Gambit_fn_0284E710(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0284E710: ; // 0x284e710
|
|
/* 0284E710 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284E710 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E710 */ cpu->r[1] = _t0;
|
|
/* 0284E714 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E714 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284E718 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284E71C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E71C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284E720 */ cpu->r[0] = 0x00000005u;
|
|
/* 0284E724 */ cpu->r[11] = cpu->r[31] + 0x00000008u;
|
|
/* 0284E728 */ cpu->ctr = cpu->r[0];
|
|
/* 0284E72C */ cpu->r[12] = cpu->r[31] + 0x00000030u;
|
|
L_0284E730: ; // 0x284e730
|
|
/* 0284E730 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 0284E730 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284E734 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 0284E734 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 0284E738 */ _t5 = cpu->r[11] + 0x00000008u;
|
|
/* 0284E738 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284E738 */ cpu->r[11] = _t5;
|
|
/* 0284E73C */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 0284E73C */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0284E73C */ cpu->r[12] = _t6;
|
|
/* 0284E740 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284E740 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284E740 */ _t8 = _t7 >> (0x00000002u & 31u);
|
|
/* 0284E740 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284E740 */ if (_t9) goto L_0284E730; else goto L_0284E744;
|
|
L_0284E744: ; // 0x284e744
|
|
/* 0284E744 */ cpu->r[12] = 0x00000005u;
|
|
/* 0284E748 */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFCu;
|
|
/* 0284E74C */ cpu->ctr = cpu->r[12];
|
|
/* 0284E750 */ cpu->r[11] = cpu->r[31] + 0x00000008u;
|
|
L_0284E754: ; // 0x284e754
|
|
/* 0284E754 */ _t10 = cpu->r[10] + 0x00000004u;
|
|
/* 0284E754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284E758 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 0284E758 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0284E75C */ _t12 = cpu->r[10] + 0x00000008u;
|
|
/* 0284E75C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284E75C */ cpu->r[10] = _t12;
|
|
/* 0284E760 */ _t13 = cpu->r[11] + 0x00000008u;
|
|
/* 0284E760 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 0284E760 */ cpu->r[11] = _t13;
|
|
/* 0284E764 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284E764 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284E764 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 0284E764 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0284E764 */ if (_t16) goto L_0284E754; else goto L_0284E768;
|
|
L_0284E768: ; // 0x284e768
|
|
/* 0284E768 */ _t17 = cpu->r[31] + 0x00000078u;
|
|
/* 0284E768 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0284E76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E770 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E770 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284E770 */ if (_t19) goto L_0284E7A4; else goto L_0284E774;
|
|
L_0284E774: ; // 0x284e774
|
|
/* 0284E774 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
|
|
/* 0284E778 */ _t20 = cpu->r[31] + 0x00000074u;
|
|
/* 0284E778 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284E77C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[3]);
|
|
/* 0284E780 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E784 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E784 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284E784 */ if (_t22) goto L_0284E7A0; else goto L_0284E788;
|
|
L_0284E788: ; // 0x284e788
|
|
/* 0284E788 */ Gambit_fn_0284E640(cpu);
|
|
/* 0284E78C */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284E790 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E790 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284E794 */ cpu->lr = cpu->r[0];
|
|
/* 0284E798 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E79C */ return;
|
|
L_0284E7A0: ; // 0x284e7a0
|
|
/* 0284E7A0 */ Gambit_fn_0284E5F0(cpu);
|
|
L_0284E7A4: ; // 0x284e7a4
|
|
/* 0284E7A4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E7A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284E7A8 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E7A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284E7AC */ cpu->lr = cpu->r[0];
|
|
/* 0284E7B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E7B4 */ return;
|
|
}
|
|
|
|
// fn_0284E7B8 @ 0x284e7b8
|
|
void Gambit_fn_0284E7B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_0284E70C: ; // 0x284e70c
|
|
/* 0284E70C */ cpu->r[0] = cpu->lr;
|
|
/* 0284E710 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284E710 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E710 */ cpu->r[1] = _t0;
|
|
/* 0284E714 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E714 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284E718 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284E71C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E71C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284E720 */ cpu->r[0] = 0x00000005u;
|
|
/* 0284E724 */ cpu->r[11] = cpu->r[31] + 0x00000008u;
|
|
/* 0284E728 */ cpu->ctr = cpu->r[0];
|
|
/* 0284E72C */ cpu->r[12] = cpu->r[31] + 0x00000030u;
|
|
L_0284E730: ; // 0x284e730
|
|
/* 0284E730 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 0284E730 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284E734 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 0284E734 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 0284E738 */ _t5 = cpu->r[11] + 0x00000008u;
|
|
/* 0284E738 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284E738 */ cpu->r[11] = _t5;
|
|
/* 0284E73C */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 0284E73C */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0284E73C */ cpu->r[12] = _t6;
|
|
/* 0284E740 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284E740 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284E740 */ _t8 = _t7 >> (0x00000002u & 31u);
|
|
/* 0284E740 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284E740 */ if (_t9) goto L_0284E730; else goto L_0284E744;
|
|
L_0284E744: ; // 0x284e744
|
|
/* 0284E744 */ cpu->r[12] = 0x00000005u;
|
|
/* 0284E748 */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFCu;
|
|
/* 0284E74C */ cpu->ctr = cpu->r[12];
|
|
/* 0284E750 */ cpu->r[11] = cpu->r[31] + 0x00000008u;
|
|
L_0284E754: ; // 0x284e754
|
|
/* 0284E754 */ _t10 = cpu->r[10] + 0x00000004u;
|
|
/* 0284E754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284E758 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 0284E758 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0284E75C */ _t12 = cpu->r[10] + 0x00000008u;
|
|
/* 0284E75C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284E75C */ cpu->r[10] = _t12;
|
|
/* 0284E760 */ _t13 = cpu->r[11] + 0x00000008u;
|
|
/* 0284E760 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 0284E760 */ cpu->r[11] = _t13;
|
|
/* 0284E764 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284E764 */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284E764 */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 0284E764 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0284E764 */ if (_t16) goto L_0284E754; else goto L_0284E768;
|
|
L_0284E768: ; // 0x284e768
|
|
/* 0284E768 */ _t17 = cpu->r[31] + 0x00000078u;
|
|
/* 0284E768 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0284E76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E770 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E770 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284E770 */ if (_t19) goto L_0284E7A4; else goto L_0284E774;
|
|
L_0284E774: ; // 0x284e774
|
|
/* 0284E774 */ rbrew_dispatch(cpu, 0x02d0a9f0u);
|
|
/* 0284E778 */ _t20 = cpu->r[31] + 0x00000074u;
|
|
/* 0284E778 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284E77C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[3]);
|
|
/* 0284E780 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E784 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E784 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0284E784 */ if (_t22) goto L_0284E7A0; else goto L_0284E788;
|
|
L_0284E788: ; // 0x284e788
|
|
/* 0284E788 */ Gambit_fn_0284E640(cpu);
|
|
/* 0284E78C */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284E790 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E790 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284E794 */ cpu->lr = cpu->r[0];
|
|
/* 0284E798 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E79C */ return;
|
|
L_0284E7A0: ; // 0x284e7a0
|
|
/* 0284E7A0 */ Gambit_fn_0284E5F0(cpu);
|
|
L_0284E7A4: ; // 0x284e7a4
|
|
/* 0284E7A4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E7A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284E7A8 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E7A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284E7AC */ cpu->lr = cpu->r[0];
|
|
/* 0284E7B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E7B4 */ return;
|
|
L_0284E7B8: ; // 0x284e7b8
|
|
/* 0284E7B8 */ _t27 = cpu->r[3] + 0x00000078u;
|
|
/* 0284E7B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
|
|
/* 0284E7BC */ _t28 = cpu->r[3] + 0x000000CCu;
|
|
/* 0284E7BC */ rbrew_write32(cpu->mem, _t28, cpu->r[4]);
|
|
/* 0284E7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E7C4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E7C4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284E7C4 */ if (_t30) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284E7C4 */ goto L_0284E7C8;
|
|
L_0284E7C8: ; // 0x284e7c8
|
|
/* 0284E7C8 */ cpu->r[12] = 0x00000001u;
|
|
/* 0284E7CC */ cpu->r[4] = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284E7D0 */ _t31 = cpu->r[3] + 0x000000D0u;
|
|
/* 0284E7D0 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[12]);
|
|
/* 0284E7D4 */ goto L_0284E70C;
|
|
}
|
|
|
|
// fn_0284E7D8 @ 0x284e7d8
|
|
void Gambit_fn_0284E7D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0284E7D8: ; // 0x284e7d8
|
|
/* 0284E7D8 */ cpu->r[9] = 0x101F0000u;
|
|
/* 0284E7DC */ cpu->r[10] = 0x10130000u;
|
|
/* 0284E7E0 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284E7E4 */ cpu->r[9] = cpu->r[9] + 0x00006CF0u;
|
|
/* 0284E7E8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFE6Cu;
|
|
/* 0284E7EC */ cpu->r[10] = cpu->r[10] + 0xFFFFFEE8u;
|
|
/* 0284E7F0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0284E7F4 */ _t0 = cpu->r[9] + 0x00000004u;
|
|
/* 0284E7F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 0284E7F8 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284E7FC */ cpu->r[12] = cpu->r[12] + 0x00006CF8u;
|
|
/* 0284E800 */ _t1 = cpu->r[9] + 0x00000000u;
|
|
/* 0284E800 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0284E804 */ cpu->r[0] = cpu->r[0] + 0xFFFFFECCu;
|
|
/* 0284E808 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 0284E808 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 0284E80C */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 0284E80C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284E810 */ return;
|
|
}
|
|
|
|
// fn_0284E814 @ 0x284e814
|
|
void Gambit_fn_0284E814(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_0284E814: ; // 0x284e814
|
|
/* 0284E814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284E818 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E818 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284E818 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284E818 */ goto L_0284E81C;
|
|
L_0284E81C: ; // 0x284e81c
|
|
/* 0284E81C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284E81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E820 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E820 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284E820 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284E820 */ goto L_0284E824;
|
|
L_0284E824: ; // 0x284e824
|
|
/* 0284E824 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0284E828 @ 0x284e828
|
|
void Gambit_fn_0284E828(CPUState* cpu) {
|
|
L_0284E828: ; // 0x284e828
|
|
/* 0284E828 */ return;
|
|
}
|
|
|
|
// fn_0284E82C @ 0x284e82c
|
|
void Gambit_fn_0284E82C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0284E82C: ; // 0x284e82c
|
|
/* 0284E82C */ cpu->r[0] = cpu->lr;
|
|
/* 0284E830 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284E830 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E830 */ cpu->r[1] = _t0;
|
|
/* 0284E834 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284E834 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284E838 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284E83C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E83C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284E840 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E840 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284E844 */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 0284E844 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284E848 */ _t5 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0284E848 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0284E84C */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 0284E84C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0284E850 */ _t7 = cpu->r[10] + 0x0000000Eu;
|
|
/* 0284E850 */ cpu->r[0] = rbrew_read16(cpu->mem, _t7);
|
|
/* 0284E854 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284E858 */ cpu->r[31] = 0x00000010u;
|
|
/* 0284E85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E860 */ _t8 = cpu->r[30] + 0x0000000Au;
|
|
/* 0284E860 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[0]);
|
|
/* 0284E864 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E864 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284E864 */ if (_t10) goto L_0284E870; else goto L_0284E868;
|
|
L_0284E868: ; // 0x284e868
|
|
/* 0284E868 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0284E86C */ Gambit_fn_0284EA4C(cpu);
|
|
L_0284E870: ; // 0x284e870
|
|
/* 0284E870 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 0284E870 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284E874 */ cpu->r[31] = cpu->r[31] + 0x00000002u;
|
|
/* 0284E878 */ _t12 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284E878 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 0284E87C */ _t13 = cpu->r[8] + cpu->r[31];
|
|
/* 0284E87C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284E880 */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 0284E880 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0284E884 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284E888 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0284E888 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284E88C */ cpu->lr = cpu->r[0];
|
|
/* 0284E890 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E890 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284E894 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E898 */ return;
|
|
}
|
|
|
|
// fn_0284E830 @ 0x284e830
|
|
void Gambit_fn_0284E830(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0284E830: ; // 0x284e830
|
|
/* 0284E830 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284E830 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E830 */ cpu->r[1] = _t0;
|
|
/* 0284E834 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284E834 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284E838 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284E83C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E83C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284E840 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E840 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284E844 */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 0284E844 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284E848 */ _t5 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0284E848 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0284E84C */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 0284E84C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0284E850 */ _t7 = cpu->r[10] + 0x0000000Eu;
|
|
/* 0284E850 */ cpu->r[0] = rbrew_read16(cpu->mem, _t7);
|
|
/* 0284E854 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284E858 */ cpu->r[31] = 0x00000010u;
|
|
/* 0284E85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284E860 */ _t8 = cpu->r[30] + 0x0000000Au;
|
|
/* 0284E860 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[0]);
|
|
/* 0284E864 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E864 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284E864 */ if (_t10) goto L_0284E870; else goto L_0284E868;
|
|
L_0284E868: ; // 0x284e868
|
|
/* 0284E868 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0284E86C */ Gambit_fn_0284EA4C(cpu);
|
|
L_0284E870: ; // 0x284e870
|
|
/* 0284E870 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 0284E870 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284E874 */ cpu->r[31] = cpu->r[31] + 0x00000002u;
|
|
/* 0284E878 */ _t12 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0284E878 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 0284E87C */ _t13 = cpu->r[8] + cpu->r[31];
|
|
/* 0284E87C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284E880 */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 0284E880 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0284E884 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284E888 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0284E888 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284E88C */ cpu->lr = cpu->r[0];
|
|
/* 0284E890 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E890 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284E894 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E898 */ return;
|
|
}
|
|
|
|
// fn_0284E89C @ 0x284e89c
|
|
void Gambit_fn_0284E89C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_0284E89C: ; // 0x284e89c
|
|
/* 0284E89C */ _t0 = cpu->r[3] + 0x0000000Au;
|
|
/* 0284E89C */ cpu->r[12] = rbrew_read16(cpu->mem, _t0);
|
|
/* 0284E8A0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284E8A4 */ cpu->r[6] = 0x00000020u;
|
|
/* 0284E8A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]);
|
|
/* 0284E8AC */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284E8AC */ _t2 = _t1 & 0x00000001u;
|
|
/* 0284E8AC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0284E8AC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284E8AC */ goto L_0284E8B0;
|
|
L_0284E8B0: ; // 0x284e8b0
|
|
/* 0284E8B0 */ cpu->r[9] = 0x00000000u;
|
|
L_0284E8B4: ; // 0x284e8b4
|
|
/* 0284E8B4 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 0284E8B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284E8B8 */ cpu->r[7] = cpu->r[6];
|
|
/* 0284E8BC */ cpu->r[10] = 0x00000004u;
|
|
/* 0284E8C0 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284E8C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284E8C4 */ cpu->r[12] = cpu->r[12] + cpu->r[6];
|
|
/* 0284E8C8 */ cpu->ctr = cpu->r[10];
|
|
/* 0284E8CC */ cpu->r[8] = cpu->r[11] + cpu->r[9];
|
|
/* 0284E8D0 */ cpu->r[12] = cpu->r[12] + 0x00000010u;
|
|
/* 0284E8D4 */ cpu->r[5] = 0x00000000u;
|
|
/* 0284E8D8 */ cpu->r[10] = cpu->r[8] + 0x00000004u;
|
|
/* 0284E8DC */ _t6 = cpu->r[8] + 0x00000000u;
|
|
/* 0284E8DC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
L_0284E8E0: ; // 0x284e8e0
|
|
/* 0284E8E0 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0284E8E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284E8E4 */ _t8 = cpu->r[11] + cpu->r[7];
|
|
/* 0284E8E4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0284E8E8 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0284E8EC */ _t9 = cpu->r[10] + cpu->r[5];
|
|
/* 0284E8EC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 0284E8F0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284E8F4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284E8F4 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284E8F4 */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 0284E8F4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284E8F4 */ if (_t12) goto L_0284E8E0; else goto L_0284E8F8;
|
|
L_0284E8F8: ; // 0x284e8f8
|
|
/* 0284E8F8 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 0284E8F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284E8FC */ _t14 = cpu->r[12] + cpu->r[7];
|
|
/* 0284E8FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284E900 */ _t15 = cpu->r[8] + 0x00000008u;
|
|
/* 0284E900 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 0284E904 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0284E904 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284E908 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 0284E90C */ cpu->r[6] = cpu->r[6] + 0x00000010u;
|
|
/* 0284E910 */ _t17 = cpu->r[12] + cpu->r[7];
|
|
/* 0284E910 */ cpu->r[12] = rbrew_read16(cpu->mem, _t17);
|
|
/* 0284E914 */ cpu->r[6] = cpu->r[6] + cpu->r[11];
|
|
/* 0284E918 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0284E91C */ _t18 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0284E91C */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[12]);
|
|
/* 0284E920 */ _t19 = cpu->r[3] + 0x0000000Au;
|
|
/* 0284E920 */ cpu->r[12] = rbrew_read16(cpu->mem, _t19);
|
|
/* 0284E924 */ cpu->r[11] = cpu->r[6] + 0x0000000Fu;
|
|
/* 0284E928 */ cpu->r[9] = cpu->r[9] + 0x00000010u;
|
|
/* 0284E92C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[12]);
|
|
/* 0284E930 */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Bu);
|
|
/* 0284E934 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284E934 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284E934 */ if (_t21) goto L_0284E8B4; else goto L_0284E938;
|
|
L_0284E938: ; // 0x284e938
|
|
/* 0284E938 */ return;
|
|
}
|
|
|
|
// fn_0284E93C @ 0x284e93c
|
|
void Gambit_fn_0284E93C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0284E93C: ; // 0x284e93c
|
|
/* 0284E93C */ cpu->r[0] = cpu->lr;
|
|
/* 0284E940 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284E940 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E940 */ cpu->r[1] = _t0;
|
|
/* 0284E944 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E944 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284E948 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284E94C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E94C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284E950 */ Gambit_fn_0284E82C(cpu);
|
|
/* 0284E954 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E958 */ Gambit_fn_0284E89C(cpu);
|
|
/* 0284E95C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E95C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284E960 */ cpu->lr = cpu->r[0];
|
|
/* 0284E964 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E964 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284E968 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E96C */ return;
|
|
}
|
|
|
|
// fn_0284E940 @ 0x284e940
|
|
void Gambit_fn_0284E940(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0284E940: ; // 0x284e940
|
|
/* 0284E940 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284E940 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E940 */ cpu->r[1] = _t0;
|
|
/* 0284E944 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E944 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284E948 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284E94C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E94C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284E950 */ Gambit_fn_0284E82C(cpu);
|
|
/* 0284E954 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E958 */ Gambit_fn_0284E89C(cpu);
|
|
/* 0284E95C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E95C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284E960 */ cpu->lr = cpu->r[0];
|
|
/* 0284E964 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E964 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284E968 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284E96C */ return;
|
|
}
|
|
|
|
// fn_0284E970 @ 0x284e970
|
|
void Gambit_fn_0284E970(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0284E970: ; // 0x284e970
|
|
/* 0284E970 */ cpu->r[0] = cpu->lr;
|
|
/* 0284E974 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284E974 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E974 */ cpu->r[1] = _t0;
|
|
/* 0284E978 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284E978 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284E97C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E97C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284E980 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E980 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0284E984 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284E984 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284E988 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284E98C */ _t5 = cpu->r[29] + 0x0000000Au;
|
|
/* 0284E98C */ cpu->r[0] = rbrew_read16(cpu->mem, _t5);
|
|
/* 0284E990 */ cpu->r[31] = 0x00000000u;
|
|
/* 0284E994 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 0284E998 */ cpu->r[30] = cpu->r[4];
|
|
/* 0284E99C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284E99C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284E99C */ if (_t7) goto L_0284E9A0; else goto L_0284E9D8;
|
|
L_0284E9A0: ; // 0x284e9a0
|
|
/* 0284E9A0 */ _t8 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0284E9A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284E9A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0284E9A8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284E9AC */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 0284E9B0 */ cpu->r[5] = 0x00000004u;
|
|
/* 0284E9B4 */ cpu->r[3] = cpu->r[11] + 0x00000004u;
|
|
/* 0284E9B8 */ Gambit_fn_0284EA6C(cpu);
|
|
/* 0284E9BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284E9C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E9C0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284E9C0 */ if (_t10) goto L_0284E9C4; else goto L_0284E9DC;
|
|
L_0284E9C4: ; // 0x284e9c4
|
|
/* 0284E9C4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0284E9C8 */ _t11 = cpu->r[29] + 0x0000000Au;
|
|
/* 0284E9C8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t11);
|
|
/* 0284E9CC */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0284E9D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 0284E9D4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284E9D4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284E9D4 */ if (_t13) goto L_0284E9A0; else goto L_0284E9D8;
|
|
L_0284E9D8: ; // 0x284e9d8
|
|
/* 0284E9D8 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
L_0284E9DC: ; // 0x284e9dc
|
|
/* 0284E9DC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E9DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284E9E0 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284E9E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284E9E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E9E8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0284E9E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284E9EC */ cpu->lr = cpu->r[0];
|
|
/* 0284E9F0 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E9F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284E9F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284E9F8 */ return;
|
|
}
|
|
|
|
// fn_0284E974 @ 0x284e974
|
|
void Gambit_fn_0284E974(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0284E974: ; // 0x284e974
|
|
/* 0284E974 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284E974 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284E974 */ cpu->r[1] = _t0;
|
|
/* 0284E978 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284E978 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284E97C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E97C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284E980 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E980 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0284E984 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284E984 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284E988 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284E98C */ _t5 = cpu->r[29] + 0x0000000Au;
|
|
/* 0284E98C */ cpu->r[0] = rbrew_read16(cpu->mem, _t5);
|
|
/* 0284E990 */ cpu->r[31] = 0x00000000u;
|
|
/* 0284E994 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 0284E998 */ cpu->r[30] = cpu->r[4];
|
|
/* 0284E99C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284E99C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284E99C */ if (_t7) goto L_0284E9A0; else goto L_0284E9D8;
|
|
L_0284E9A0: ; // 0x284e9a0
|
|
/* 0284E9A0 */ _t8 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0284E9A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284E9A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0284E9A8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0284E9AC */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 0284E9B0 */ cpu->r[5] = 0x00000004u;
|
|
/* 0284E9B4 */ cpu->r[3] = cpu->r[11] + 0x00000004u;
|
|
/* 0284E9B8 */ Gambit_fn_0284EA6C(cpu);
|
|
/* 0284E9BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284E9C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284E9C0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284E9C0 */ if (_t10) goto L_0284E9C4; else goto L_0284E9DC;
|
|
L_0284E9C4: ; // 0x284e9c4
|
|
/* 0284E9C4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0284E9C8 */ _t11 = cpu->r[29] + 0x0000000Au;
|
|
/* 0284E9C8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t11);
|
|
/* 0284E9CC */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0284E9D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 0284E9D4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284E9D4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284E9D4 */ if (_t13) goto L_0284E9A0; else goto L_0284E9D8;
|
|
L_0284E9D8: ; // 0x284e9d8
|
|
/* 0284E9D8 */ cpu->r[31] = 0xFFFFFFFFu;
|
|
L_0284E9DC: ; // 0x284e9dc
|
|
/* 0284E9DC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284E9DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284E9E0 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284E9E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284E9E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284E9E8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0284E9E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0284E9EC */ cpu->lr = cpu->r[0];
|
|
/* 0284E9F0 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0284E9F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284E9F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284E9F8 */ return;
|
|
}
|
|
|
|
// fn_0284E9FC @ 0x284e9fc
|
|
void Gambit_fn_0284E9FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0284E9FC: ; // 0x284e9fc
|
|
/* 0284E9FC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0284E9FC */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0284EA00 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284EA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284EA08 */ cpu->r[9] = cpu->r[12];
|
|
/* 0284EA0C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EA0C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0284EA0C */ if (_t2) goto L_0284EA28; else goto L_0284EA10;
|
|
L_0284EA10: ; // 0x284ea10
|
|
/* 0284EA10 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000492u);
|
|
/* 0284EA14 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0284EA18 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 0284EA1C */ _t3 = cpu->r[3] + cpu->r[9];
|
|
/* 0284EA1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0284EA20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284EA24 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EA24 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284EA24 */ if (_t5) goto L_0284EA28; else goto L_0284EA10;
|
|
L_0284EA28: ; // 0x284ea28
|
|
/* 0284EA28 */ cpu->r[11] = cpu->r[12] / cpu->r[4];
|
|
/* 0284EA2C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[4]);
|
|
/* 0284EA30 */ cpu->r[3] = cpu->r[12] - cpu->r[11];
|
|
/* 0284EA34 */ return;
|
|
}
|
|
|
|
// fn_0284EA38 @ 0x284ea38
|
|
void Gambit_fn_0284EA38(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0284EA38: ; // 0x284ea38
|
|
/* 0284EA38 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0284EA3C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0284EA40 */ _t0 = cpu->r[12] + 0xFFFF9A28u;
|
|
/* 0284EA40 */ rbrew_write32(cpu->mem, _t0, cpu->r[3]);
|
|
/* 0284EA44 */ _t1 = cpu->r[11] + 0xFFFF9A2Cu;
|
|
/* 0284EA44 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 0284EA48 */ return;
|
|
}
|
|
|
|
// fn_0284EA4C @ 0x284ea4c
|
|
void Gambit_fn_0284EA4C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0284EA4C: ; // 0x284ea4c
|
|
/* 0284EA4C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0284EA50 */ _t0 = cpu->r[12] + 0xFFFF9A28u;
|
|
/* 0284EA50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284EA54 */ cpu->ctr = cpu->r[12];
|
|
/* 0284EA58 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0284EA5C @ 0x284ea5c
|
|
void Gambit_fn_0284EA5C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0284EA5C: ; // 0x284ea5c
|
|
/* 0284EA5C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0284EA60 */ _t0 = cpu->r[12] + 0xFFFF9A2Cu;
|
|
/* 0284EA60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284EA64 */ cpu->ctr = cpu->r[12];
|
|
/* 0284EA68 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0284EA6C @ 0x284ea6c
|
|
void Gambit_fn_0284EA6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0284EA6C: ; // 0x284ea6c
|
|
/* 0284EA6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0284EA70 */ cpu->r[11] = 0x00000000u;
|
|
/* 0284EA74 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284EA74 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0284EA74 */ if (_t1) goto L_0284EA78; else goto L_0284EA9C;
|
|
L_0284EA78: ; // 0x284ea78
|
|
/* 0284EA78 */ cpu->ctr = cpu->r[5];
|
|
L_0284EA7C: ; // 0x284ea7c
|
|
/* 0284EA7C */ _t2 = cpu->r[3] + cpu->r[11];
|
|
/* 0284EA7C */ cpu->r[12] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0284EA80 */ _t3 = cpu->r[4] + cpu->r[11];
|
|
/* 0284EA80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0284EA84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 0284EA88 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EA88 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284EA88 */ if (_t5) goto L_0284EA94; else goto L_0284EA8C;
|
|
L_0284EA8C: ; // 0x284ea8c
|
|
/* 0284EA8C */ cpu->r[3] = 0x00000000u;
|
|
/* 0284EA90 */ return;
|
|
L_0284EA94: ; // 0x284ea94
|
|
/* 0284EA94 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0284EA98 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284EA98 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284EA98 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 0284EA98 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284EA98 */ if (_t8) goto L_0284EA7C; else goto L_0284EA9C;
|
|
L_0284EA9C: ; // 0x284ea9c
|
|
/* 0284EA9C */ cpu->r[3] = 0x00000001u;
|
|
/* 0284EAA0 */ return;
|
|
}
|
|
|
|
// fn_0284EAA4 @ 0x284eaa4
|
|
void Gambit_fn_0284EAA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0284EAA4: ; // 0x284eaa4
|
|
/* 0284EAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0284EAA8 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284EAAC */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284EAAC */ _t1 = _t0 & 0x00000001u;
|
|
/* 0284EAAC */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 0284EAAC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284EAAC */ goto L_0284EAB0;
|
|
L_0284EAB0: ; // 0x284eab0
|
|
/* 0284EAB0 */ cpu->ctr = cpu->r[5];
|
|
L_0284EAB4: ; // 0x284eab4
|
|
/* 0284EAB4 */ _t3 = cpu->r[4] + cpu->r[12];
|
|
/* 0284EAB4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0284EAB8 */ _t4 = cpu->r[3] + cpu->r[12];
|
|
/* 0284EAB8 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 0284EABC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0284EAC0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284EAC0 */ _t5 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284EAC0 */ _t6 = _t5 >> (0x00000002u & 31u);
|
|
/* 0284EAC0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284EAC0 */ if (_t7) goto L_0284EAB4; else goto L_0284EAC4;
|
|
L_0284EAC4: ; // 0x284eac4
|
|
/* 0284EAC4 */ return;
|
|
}
|
|
|
|
// fn_0284EAC8 @ 0x284eac8
|
|
void Gambit_fn_0284EAC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0284EAC8: ; // 0x284eac8
|
|
/* 0284EAC8 */ cpu->r[0] = cpu->lr;
|
|
/* 0284EACC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0284EACC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0284EAD0 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284EAD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0284EAD0 */ cpu->r[1] = _t1;
|
|
/* 0284EAD4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284EAD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 0284EAD8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0284EADC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284EADC */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0284EAE0 */ Gambit_fn_0284F22C(cpu);
|
|
/* 0284EAE4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284EAE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284EAE8 */ cpu->lr = cpu->r[0];
|
|
/* 0284EAEC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284EAF0 */ return;
|
|
}
|
|
|
|
// fn_0284EAD0 @ 0x284ead0
|
|
void Gambit_fn_0284EAD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0284EAD0: ; // 0x284ead0
|
|
/* 0284EAD0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284EAD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284EAD0 */ cpu->r[1] = _t0;
|
|
/* 0284EAD4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0284EAD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[3]);
|
|
/* 0284EAD8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0284EADC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284EADC */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 0284EAE0 */ Gambit_fn_0284F22C(cpu);
|
|
/* 0284EAE4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284EAE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284EAE8 */ cpu->lr = cpu->r[0];
|
|
/* 0284EAEC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284EAF0 */ return;
|
|
}
|
|
|
|
// fn_0284EAF4 @ 0x284eaf4
|
|
void Gambit_fn_0284EAF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_0284EAF4: ; // 0x284eaf4
|
|
/* 0284EAF4 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284EAF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0284EAFC */ cpu->r[12] = cpu->r[12] + 0xFFFFFF6Cu;
|
|
/* 0284EB00 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EB00 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0284EB00 */ if (_t1) goto L_0284EB0C; else goto L_0284EB04;
|
|
L_0284EB04: ; // 0x284eb04
|
|
/* 0284EB04 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284EB08 */ cpu->r[12] = cpu->r[12] + 0xFFFFFF28u;
|
|
L_0284EB0C: ; // 0x284eb0c
|
|
/* 0284EB0C */ cpu->r[9] = 0x55550000u;
|
|
/* 0284EB10 */ cpu->r[9] = cpu->r[9] + 0x00005556u;
|
|
/* 0284EB14 */ cpu->r[0] = (uint32_t)(((int64_t)(int32_t)cpu->r[9] * (int64_t)(int32_t)cpu->r[5]) >> 32);
|
|
/* 0284EB18 */ /* nop */
|
|
/* 0284EB1C */ cpu->r[0] = cpu->r[0] - cpu->r[8];
|
|
/* 0284EB20 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000003u);
|
|
/* 0284EB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284EB28 */ cpu->r[11] = 0x00000000u;
|
|
/* 0284EB2C */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284EB2C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0284EB2C */ if (_t3) goto L_0284EB30; else goto L_0284EBA4;
|
|
L_0284EB30: ; // 0x284eb30
|
|
/* 0284EB30 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 0284EB34 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFDu;
|
|
L_0284EB38: ; // 0x284eb38
|
|
/* 0284EB38 */ _t4 = cpu->r[4] + 0x00000003u;
|
|
/* 0284EB38 */ cpu->r[8] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0284EB38 */ cpu->r[4] = _t4;
|
|
/* 0284EB3C */ /* nop */
|
|
/* 0284EB40 */ _t5 = cpu->r[12] + cpu->r[0];
|
|
/* 0284EB40 */ cpu->r[9] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0284EB44 */ _t6 = cpu->r[3] + 0x00000001u;
|
|
/* 0284EB44 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[9]);
|
|
/* 0284EB48 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 0284EB48 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0284EB4C */ _t8 = cpu->r[4] + 0x00000001u;
|
|
/* 0284EB4C */ cpu->r[9] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0284EB50 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x0000001Au, 0x0000001Bu);
|
|
/* 0284EB54 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x0000001Cu, 0x0000001Fu);
|
|
/* 0284EB58 */ cpu->r[8] = cpu->r[8] | cpu->r[0];
|
|
/* 0284EB5C */ _t9 = cpu->r[12] + cpu->r[8];
|
|
/* 0284EB5C */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0284EB60 */ _t10 = cpu->r[3] + 0x00000002u;
|
|
/* 0284EB60 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[9]);
|
|
/* 0284EB64 */ _t11 = cpu->r[4] + 0x00000001u;
|
|
/* 0284EB64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0284EB68 */ _t12 = cpu->r[4] + 0x00000002u;
|
|
/* 0284EB68 */ cpu->r[9] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0284EB6C */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Au, 0x0000001Du);
|
|
/* 0284EB70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Au, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0284EB74 */ cpu->r[8] = cpu->r[8] | cpu->r[0];
|
|
/* 0284EB78 */ _t13 = cpu->r[12] + cpu->r[8];
|
|
/* 0284EB78 */ cpu->r[9] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0284EB7C */ _t14 = cpu->r[3] + 0x00000003u;
|
|
/* 0284EB7C */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[9]);
|
|
/* 0284EB80 */ _t15 = cpu->r[4] + 0x00000002u;
|
|
/* 0284EB80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0284EB84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 0284EB88 */ cpu->r[11] = cpu->r[11] + 0x00000003u;
|
|
/* 0284EB8C */ _t16 = cpu->r[12] + cpu->r[0];
|
|
/* 0284EB8C */ cpu->r[9] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0284EB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[10]);
|
|
/* 0284EB94 */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 0284EB94 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[9]);
|
|
/* 0284EB94 */ cpu->r[3] = _t17;
|
|
/* 0284EB98 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EB98 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284EB98 */ if (_t19) goto L_0284EB38; else goto L_0284EB9C;
|
|
L_0284EB9C: ; // 0x284eb9c
|
|
/* 0284EB9C */ cpu->r[4] = cpu->r[4] + 0x00000003u;
|
|
/* 0284EBA0 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_0284EBA4: ; // 0x284eba4
|
|
/* 0284EBA4 */ cpu->r[0] = cpu->r[5] - cpu->r[10];
|
|
/* 0284EBA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0284EBAC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EBAC */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284EBAC */ if (_t21) goto L_0284EC00; else goto L_0284EBB0;
|
|
L_0284EBB0: ; // 0x284ebb0
|
|
/* 0284EBB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0284EBB4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EBB4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0284EBB4 */ _t24 = _t23 ^ 0x00000001u;
|
|
/* 0284EBB4 */ if (_t24) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284EBB4 */ goto L_0284EBB8;
|
|
L_0284EBB8: ; // 0x284ebb8
|
|
/* 0284EBB8 */ _t25 = cpu->r[4] + 0x00000000u;
|
|
/* 0284EBB8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0284EBBC */ /* nop */
|
|
/* 0284EBC0 */ _t26 = cpu->r[12] + cpu->r[8];
|
|
/* 0284EBC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0284EBC4 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 0284EBC4 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
|
|
/* 0284EBC8 */ _t28 = cpu->r[4] + 0x00000000u;
|
|
/* 0284EBC8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0284EBCC */ _t29 = cpu->r[4] + 0x00000001u;
|
|
/* 0284EBCC */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
|
|
/* 0284EBD0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000004u, 0x0000001Au, 0x0000001Bu);
|
|
/* 0284EBD4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Cu, 0x0000001Fu);
|
|
/* 0284EBD8 */ cpu->r[9] = cpu->r[9] | cpu->r[8];
|
|
/* 0284EBDC */ _t30 = cpu->r[12] + cpu->r[9];
|
|
/* 0284EBDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0284EBE0 */ _t31 = cpu->r[3] + 0x00000001u;
|
|
/* 0284EBE0 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 0284EBE4 */ _t32 = cpu->r[4] + 0x00000001u;
|
|
/* 0284EBE4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
|
|
/* 0284EBE8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x0000001Au, 0x0000001Du);
|
|
/* 0284EBEC */ _t33 = cpu->r[9] + cpu->r[12];
|
|
/* 0284EBEC */ cpu->r[9] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0284EBF0 */ cpu->r[8] = 0x0000003Du;
|
|
/* 0284EBF4 */ _t34 = cpu->r[3] + 0x00000002u;
|
|
/* 0284EBF4 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[9]);
|
|
/* 0284EBF4 */ cpu->r[3] = _t34;
|
|
/* 0284EBF8 */ _t35 = cpu->r[3] + 0x00000001u;
|
|
/* 0284EBF8 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[8]);
|
|
/* 0284EBFC */ return;
|
|
L_0284EC00: ; // 0x284ec00
|
|
/* 0284EC00 */ _t36 = cpu->r[4] + 0x00000000u;
|
|
/* 0284EC00 */ cpu->r[9] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0284EC04 */ /* nop */
|
|
/* 0284EC08 */ _t37 = cpu->r[12] + cpu->r[8];
|
|
/* 0284EC08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t37);
|
|
/* 0284EC0C */ _t38 = cpu->r[3] + 0x00000000u;
|
|
/* 0284EC0C */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[0]);
|
|
/* 0284EC10 */ _t39 = cpu->r[4] + 0x00000000u;
|
|
/* 0284EC10 */ cpu->r[8] = rbrew_read8(cpu->mem, _t39);
|
|
/* 0284EC14 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000004u, 0x0000001Au, 0x0000001Bu);
|
|
/* 0284EC18 */ _t40 = cpu->r[9] + cpu->r[12];
|
|
/* 0284EC18 */ cpu->r[0] = rbrew_read8(cpu->mem, _t40);
|
|
/* 0284EC1C */ cpu->r[9] = 0x0000003Du;
|
|
/* 0284EC20 */ _t41 = cpu->r[3] + 0x00000001u;
|
|
/* 0284EC20 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[0]);
|
|
/* 0284EC24 */ _t42 = cpu->r[3] + 0x00000002u;
|
|
/* 0284EC24 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[9]);
|
|
/* 0284EC24 */ cpu->r[3] = _t42;
|
|
/* 0284EC28 */ _t43 = cpu->r[3] + 0x00000001u;
|
|
/* 0284EC28 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[9]);
|
|
/* 0284EC2C */ return;
|
|
}
|
|
|
|
// fn_0284EC30 @ 0x284ec30
|
|
void Gambit_fn_0284EC30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145;
|
|
|
|
L_0284EC30: ; // 0x284ec30
|
|
/* 0284EC30 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284EC30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284EC30 */ cpu->r[1] = _t0;
|
|
/* 0284EC34 */ cpu->r[9] = 0x00000000u;
|
|
/* 0284EC38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284EC38 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284EC3C */ cpu->r[11] = cpu->r[9];
|
|
/* 0284EC40 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284EC40 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284EC44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[6]);
|
|
/* 0284EC48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284EC48 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0284EC4C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EC4C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284EC4C */ if (_t5) goto L_0284EC50; else goto L_0284F044;
|
|
L_0284EC50: ; // 0x284ec50
|
|
/* 0284EC50 */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 0284EC50 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0284EC54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000020u);
|
|
/* 0284EC58 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EC58 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284EC58 */ if (_t8) goto L_0284EC5C; else goto L_0284EC88;
|
|
L_0284EC5C: ; // 0x284ec5c
|
|
/* 0284EC5C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0284EC60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[6]);
|
|
/* 0284EC64 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284EC68 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EC68 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284EC68 */ if (_t10) goto L_0284EC6C; else goto L_0284F044;
|
|
L_0284EC6C: ; // 0x284ec6c
|
|
/* 0284EC6C */ _t11 = cpu->r[5] + 0x00000000u;
|
|
/* 0284EC6C */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0284EC70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000020u);
|
|
/* 0284EC74 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EC74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0284EC74 */ if (_t13) goto L_0284EC78; else goto L_0284EC88;
|
|
L_0284EC78: ; // 0x284ec78
|
|
/* 0284EC78 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0284EC7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[6]);
|
|
/* 0284EC80 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284EC84 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EC84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284EC84 */ if (_t15) goto L_0284EC88; else goto L_0284F044;
|
|
L_0284EC88: ; // 0x284ec88
|
|
/* 0284EC88 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 0284EC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[11]);
|
|
/* 0284EC90 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EC90 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284EC90 */ if (_t17) goto L_0284F014; else goto L_0284EC94;
|
|
L_0284EC94: ; // 0x284ec94
|
|
/* 0284EC94 */ _t18 = cpu->r[5] + 0x00000000u;
|
|
/* 0284EC94 */ cpu->r[12] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0284EC98 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284EC9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284ECA0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284ECA4 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284ECA4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284ECA4 */ if (_t20) goto L_0284ECA8; else goto L_0284ECC8;
|
|
L_0284ECA8: ; // 0x284eca8
|
|
/* 0284ECA8 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284ECAC */ _t21 = cpu->r[5] + 0x00000000u;
|
|
/* 0284ECAC */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0284ECB0 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284ECB4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284ECB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000001Au);
|
|
/* 0284ECBC */ cpu->r[29] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 0284ECC0 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284ECC0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0284ECC0 */ if (_t23) goto L_0284ED80; else goto L_0284ECC4;
|
|
L_0284ECC4: ; // 0x284ecc4
|
|
/* 0284ECC4 */ goto L_0284EDA0;
|
|
L_0284ECC8: ; // 0x284ecc8
|
|
/* 0284ECC8 */ cpu->r[10] = cpu->r[12] + 0xFFFFFF9Fu;
|
|
/* 0284ECCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284ECD0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284ECD0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0284ECD0 */ if (_t25) goto L_0284ECD4; else goto L_0284ECF4;
|
|
L_0284ECD4: ; // 0x284ecd4
|
|
/* 0284ECD4 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFB9u;
|
|
/* 0284ECD8 */ _t26 = cpu->r[5] + 0x00000000u;
|
|
/* 0284ECD8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0284ECDC */ cpu->r[8] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284ECE0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284ECE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000001Au);
|
|
/* 0284ECE8 */ cpu->r[29] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 0284ECEC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284ECEC */ _t28 = _t27 & 0x00000001u;
|
|
/* 0284ECEC */ if (_t28) goto L_0284ED80; else goto L_0284ECF0;
|
|
L_0284ECF0: ; // 0x284ecf0
|
|
/* 0284ECF0 */ goto L_0284EDA0;
|
|
L_0284ECF4: ; // 0x284ecf4
|
|
/* 0284ECF4 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 0284ECF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000000Au);
|
|
/* 0284ECFC */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284ECFC */ _t30 = _t29 & 0x00000001u;
|
|
/* 0284ECFC */ if (_t30) goto L_0284ED00; else goto L_0284ED20;
|
|
L_0284ED00: ; // 0x284ed00
|
|
/* 0284ED00 */ cpu->r[10] = cpu->r[12] + 0x00000004u;
|
|
/* 0284ED04 */ _t31 = cpu->r[5] + 0x00000000u;
|
|
/* 0284ED04 */ cpu->r[12] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0284ED08 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284ED0C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284ED10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000001Au);
|
|
/* 0284ED14 */ cpu->r[29] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 0284ED18 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284ED18 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0284ED18 */ if (_t33) goto L_0284ED80; else goto L_0284ED1C;
|
|
L_0284ED1C: ; // 0x284ed1c
|
|
/* 0284ED1C */ goto L_0284EDA0;
|
|
L_0284ED20: ; // 0x284ed20
|
|
/* 0284ED20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000002Bu);
|
|
/* 0284ED24 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284ED24 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0284ED24 */ if (_t35) goto L_0284ED48; else goto L_0284ED28;
|
|
L_0284ED28: ; // 0x284ed28
|
|
/* 0284ED28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000002Du);
|
|
/* 0284ED2C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284ED2C */ _t37 = _t36 & 0x00000001u;
|
|
/* 0284ED2C */ if (_t37) goto L_0284ED48; else goto L_0284ED30;
|
|
L_0284ED30: ; // 0x284ed30
|
|
/* 0284ED30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000002Fu);
|
|
/* 0284ED34 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284ED34 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0284ED34 */ if (_t39) goto L_0284ED64; else goto L_0284ED38;
|
|
L_0284ED38: ; // 0x284ed38
|
|
/* 0284ED38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000005Fu);
|
|
/* 0284ED3C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284ED3C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0284ED3C */ if (_t41) goto L_0284ED64; else goto L_0284ED40;
|
|
L_0284ED40: ; // 0x284ed40
|
|
/* 0284ED40 */ cpu->r[10] = 0x00000040u;
|
|
/* 0284ED44 */ goto L_0284ED68;
|
|
L_0284ED48: ; // 0x284ed48
|
|
/* 0284ED48 */ _t42 = cpu->r[5] + 0x00000000u;
|
|
/* 0284ED48 */ cpu->r[12] = rbrew_read8(cpu->mem, _t42);
|
|
/* 0284ED4C */ cpu->r[8] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284ED50 */ cpu->r[29] = 0x0000003Eu;
|
|
/* 0284ED54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000001Au);
|
|
/* 0284ED58 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284ED5C */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284ED5C */ _t44 = _t43 & 0x00000001u;
|
|
/* 0284ED5C */ if (_t44) goto L_0284ED80; else goto L_0284ED60;
|
|
L_0284ED60: ; // 0x284ed60
|
|
/* 0284ED60 */ goto L_0284EDA0;
|
|
L_0284ED64: ; // 0x284ed64
|
|
/* 0284ED64 */ cpu->r[10] = 0x0000003Fu;
|
|
L_0284ED68: ; // 0x284ed68
|
|
/* 0284ED68 */ _t45 = cpu->r[5] + 0x00000000u;
|
|
/* 0284ED68 */ cpu->r[12] = rbrew_read8(cpu->mem, _t45);
|
|
/* 0284ED6C */ cpu->r[8] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284ED70 */ cpu->r[29] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 0284ED74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000001Au);
|
|
/* 0284ED78 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284ED7C */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284ED7C */ _t47 = _t46 & 0x00000001u;
|
|
/* 0284ED7C */ if (_t47) goto L_0284ED80; else goto L_0284EDA0;
|
|
L_0284ED80: ; // 0x284ed80
|
|
/* 0284ED80 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284ED84 */ _t48 = cpu->r[5] + 0x00000000u;
|
|
/* 0284ED84 */ cpu->r[12] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0284ED88 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284ED8C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284ED90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284ED94 */ cpu->r[30] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 0284ED98 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284ED98 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0284ED98 */ if (_t50) goto L_0284EE58; else goto L_0284ED9C;
|
|
L_0284ED9C: ; // 0x284ed9c
|
|
/* 0284ED9C */ goto L_0284EE78;
|
|
L_0284EDA0: ; // 0x284eda0
|
|
/* 0284EDA0 */ cpu->r[10] = cpu->r[12] + 0xFFFFFF9Fu;
|
|
/* 0284EDA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284EDA8 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EDA8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0284EDA8 */ if (_t52) goto L_0284EDAC; else goto L_0284EDCC;
|
|
L_0284EDAC: ; // 0x284edac
|
|
/* 0284EDAC */ cpu->r[8] = cpu->r[12] + 0xFFFFFFB9u;
|
|
/* 0284EDB0 */ _t53 = cpu->r[5] + 0x00000000u;
|
|
/* 0284EDB0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t53);
|
|
/* 0284EDB4 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284EDB8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284EDBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284EDC0 */ cpu->r[30] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 0284EDC4 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EDC4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0284EDC4 */ if (_t55) goto L_0284EE58; else goto L_0284EDC8;
|
|
L_0284EDC8: ; // 0x284edc8
|
|
/* 0284EDC8 */ goto L_0284EE78;
|
|
L_0284EDCC: ; // 0x284edcc
|
|
/* 0284EDCC */ cpu->r[10] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 0284EDD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000000Au);
|
|
/* 0284EDD4 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EDD4 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0284EDD4 */ if (_t57) goto L_0284EDD8; else goto L_0284EDF8;
|
|
L_0284EDD8: ; // 0x284edd8
|
|
/* 0284EDD8 */ cpu->r[8] = cpu->r[12] + 0x00000004u;
|
|
/* 0284EDDC */ _t58 = cpu->r[5] + 0x00000000u;
|
|
/* 0284EDDC */ cpu->r[12] = rbrew_read8(cpu->mem, _t58);
|
|
/* 0284EDE0 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284EDE4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284EDE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284EDEC */ cpu->r[30] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 0284EDF0 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EDF0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0284EDF0 */ if (_t60) goto L_0284EE58; else goto L_0284EDF4;
|
|
L_0284EDF4: ; // 0x284edf4
|
|
/* 0284EDF4 */ goto L_0284EE78;
|
|
L_0284EDF8: ; // 0x284edf8
|
|
/* 0284EDF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000002Bu);
|
|
/* 0284EDFC */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EDFC */ _t62 = _t61 & 0x00000001u;
|
|
/* 0284EDFC */ if (_t62) goto L_0284EE20; else goto L_0284EE00;
|
|
L_0284EE00: ; // 0x284ee00
|
|
/* 0284EE00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000002Du);
|
|
/* 0284EE04 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EE04 */ _t64 = _t63 & 0x00000001u;
|
|
/* 0284EE04 */ if (_t64) goto L_0284EE20; else goto L_0284EE08;
|
|
L_0284EE08: ; // 0x284ee08
|
|
/* 0284EE08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000002Fu);
|
|
/* 0284EE0C */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EE0C */ _t66 = _t65 & 0x00000001u;
|
|
/* 0284EE0C */ if (_t66) goto L_0284EE3C; else goto L_0284EE10;
|
|
L_0284EE10: ; // 0x284ee10
|
|
/* 0284EE10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000005Fu);
|
|
/* 0284EE14 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EE14 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0284EE14 */ if (_t68) goto L_0284EE3C; else goto L_0284EE18;
|
|
L_0284EE18: ; // 0x284ee18
|
|
/* 0284EE18 */ cpu->r[8] = 0x00000040u;
|
|
/* 0284EE1C */ goto L_0284EE40;
|
|
L_0284EE20: ; // 0x284ee20
|
|
/* 0284EE20 */ _t69 = cpu->r[5] + 0x00000000u;
|
|
/* 0284EE20 */ cpu->r[12] = rbrew_read8(cpu->mem, _t69);
|
|
/* 0284EE24 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284EE28 */ cpu->r[30] = 0x0000003Eu;
|
|
/* 0284EE2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284EE30 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284EE34 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EE34 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0284EE34 */ if (_t71) goto L_0284EE58; else goto L_0284EE38;
|
|
L_0284EE38: ; // 0x284ee38
|
|
/* 0284EE38 */ goto L_0284EE78;
|
|
L_0284EE3C: ; // 0x284ee3c
|
|
/* 0284EE3C */ cpu->r[8] = 0x0000003Fu;
|
|
L_0284EE40: ; // 0x284ee40
|
|
/* 0284EE40 */ _t72 = cpu->r[5] + 0x00000000u;
|
|
/* 0284EE40 */ cpu->r[12] = rbrew_read8(cpu->mem, _t72);
|
|
/* 0284EE44 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284EE48 */ cpu->r[30] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 0284EE4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284EE50 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284EE54 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EE54 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0284EE54 */ if (_t74) goto L_0284EE58; else goto L_0284EE78;
|
|
L_0284EE58: ; // 0x284ee58
|
|
/* 0284EE58 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284EE5C */ _t75 = cpu->r[5] + 0x00000000u;
|
|
/* 0284EE5C */ cpu->r[12] = rbrew_read8(cpu->mem, _t75);
|
|
/* 0284EE60 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284EE64 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284EE68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284EE6C */ cpu->r[31] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000019u, 0x0000001Fu);
|
|
/* 0284EE70 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EE70 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0284EE70 */ if (_t77) goto L_0284EF30; else goto L_0284EE74;
|
|
L_0284EE74: ; // 0x284ee74
|
|
/* 0284EE74 */ goto L_0284EF44;
|
|
L_0284EE78: ; // 0x284ee78
|
|
/* 0284EE78 */ cpu->r[10] = cpu->r[12] + 0xFFFFFF9Fu;
|
|
/* 0284EE7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284EE80 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EE80 */ _t79 = _t78 & 0x00000001u;
|
|
/* 0284EE80 */ if (_t79) goto L_0284EE84; else goto L_0284EEA4;
|
|
L_0284EE84: ; // 0x284ee84
|
|
/* 0284EE84 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFB9u;
|
|
/* 0284EE88 */ _t80 = cpu->r[5] + 0x00000000u;
|
|
/* 0284EE88 */ cpu->r[12] = rbrew_read8(cpu->mem, _t80);
|
|
/* 0284EE8C */ cpu->r[10] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284EE90 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284EE94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284EE98 */ cpu->r[31] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000019u, 0x0000001Fu);
|
|
/* 0284EE9C */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EE9C */ _t82 = _t81 & 0x00000001u;
|
|
/* 0284EE9C */ if (_t82) goto L_0284EF30; else goto L_0284EEA0;
|
|
L_0284EEA0: ; // 0x284eea0
|
|
/* 0284EEA0 */ goto L_0284EF44;
|
|
L_0284EEA4: ; // 0x284eea4
|
|
/* 0284EEA4 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 0284EEA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000000Au);
|
|
/* 0284EEAC */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EEAC */ _t84 = _t83 & 0x00000001u;
|
|
/* 0284EEAC */ if (_t84) goto L_0284EEB0; else goto L_0284EED0;
|
|
L_0284EEB0: ; // 0x284eeb0
|
|
/* 0284EEB0 */ cpu->r[8] = cpu->r[12] + 0x00000004u;
|
|
/* 0284EEB4 */ _t85 = cpu->r[5] + 0x00000000u;
|
|
/* 0284EEB4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t85);
|
|
/* 0284EEB8 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284EEBC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284EEC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284EEC4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000019u, 0x0000001Fu);
|
|
/* 0284EEC8 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EEC8 */ _t87 = _t86 & 0x00000001u;
|
|
/* 0284EEC8 */ if (_t87) goto L_0284EF30; else goto L_0284EECC;
|
|
L_0284EECC: ; // 0x284eecc
|
|
/* 0284EECC */ goto L_0284EF44;
|
|
L_0284EED0: ; // 0x284eed0
|
|
/* 0284EED0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000002Bu);
|
|
/* 0284EED4 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EED4 */ _t89 = _t88 & 0x00000001u;
|
|
/* 0284EED4 */ if (_t89) goto L_0284EEF8; else goto L_0284EED8;
|
|
L_0284EED8: ; // 0x284eed8
|
|
/* 0284EED8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000002Du);
|
|
/* 0284EEDC */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EEDC */ _t91 = _t90 & 0x00000001u;
|
|
/* 0284EEDC */ if (_t91) goto L_0284EEF8; else goto L_0284EEE0;
|
|
L_0284EEE0: ; // 0x284eee0
|
|
/* 0284EEE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000002Fu);
|
|
/* 0284EEE4 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EEE4 */ _t93 = _t92 & 0x00000001u;
|
|
/* 0284EEE4 */ if (_t93) goto L_0284EF14; else goto L_0284EEE8;
|
|
L_0284EEE8: ; // 0x284eee8
|
|
/* 0284EEE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000005Fu);
|
|
/* 0284EEEC */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EEEC */ _t95 = _t94 & 0x00000001u;
|
|
/* 0284EEEC */ if (_t95) goto L_0284EF14; else goto L_0284EEF0;
|
|
L_0284EEF0: ; // 0x284eef0
|
|
/* 0284EEF0 */ cpu->r[8] = 0x00000040u;
|
|
/* 0284EEF4 */ goto L_0284EF18;
|
|
L_0284EEF8: ; // 0x284eef8
|
|
/* 0284EEF8 */ _t96 = cpu->r[5] + 0x00000000u;
|
|
/* 0284EEF8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t96);
|
|
/* 0284EEFC */ cpu->r[10] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284EF00 */ cpu->r[31] = 0x0000003Eu;
|
|
/* 0284EF04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284EF08 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284EF0C */ _t97 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EF0C */ _t98 = _t97 & 0x00000001u;
|
|
/* 0284EF0C */ if (_t98) goto L_0284EF30; else goto L_0284EF10;
|
|
L_0284EF10: ; // 0x284ef10
|
|
/* 0284EF10 */ goto L_0284EF44;
|
|
L_0284EF14: ; // 0x284ef14
|
|
/* 0284EF14 */ cpu->r[8] = 0x0000003Fu;
|
|
L_0284EF18: ; // 0x284ef18
|
|
/* 0284EF18 */ _t99 = cpu->r[5] + 0x00000000u;
|
|
/* 0284EF18 */ cpu->r[12] = rbrew_read8(cpu->mem, _t99);
|
|
/* 0284EF1C */ cpu->r[10] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284EF20 */ cpu->r[31] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000019u, 0x0000001Fu);
|
|
/* 0284EF24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284EF28 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284EF2C */ _t100 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EF2C */ _t101 = _t100 & 0x00000001u;
|
|
/* 0284EF2C */ if (_t101) goto L_0284EF30; else goto L_0284EF44;
|
|
L_0284EF30: ; // 0x284ef30
|
|
/* 0284EF30 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFBFu;
|
|
/* 0284EF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[9]);
|
|
/* 0284EF38 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000019u, 0x0000001Fu);
|
|
/* 0284EF3C */ _t102 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284EF3C */ _t103 = _t102 & 0x00000001u;
|
|
/* 0284EF3C */ if (_t103) goto L_0284EFCC; else goto L_0284EF40;
|
|
L_0284EF40: ; // 0x284ef40
|
|
/* 0284EF40 */ goto L_0284F014;
|
|
L_0284EF44: ; // 0x284ef44
|
|
/* 0284EF44 */ cpu->r[10] = cpu->r[12] + 0xFFFFFF9Fu;
|
|
/* 0284EF48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Au);
|
|
/* 0284EF4C */ _t104 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EF4C */ _t105 = _t104 & 0x00000001u;
|
|
/* 0284EF4C */ if (_t105) goto L_0284EF50; else goto L_0284EF64;
|
|
L_0284EF50: ; // 0x284ef50
|
|
/* 0284EF50 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFB9u;
|
|
/* 0284EF54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[9]);
|
|
/* 0284EF58 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000019u, 0x0000001Fu);
|
|
/* 0284EF5C */ _t106 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284EF5C */ _t107 = _t106 & 0x00000001u;
|
|
/* 0284EF5C */ if (_t107) goto L_0284EFCC; else goto L_0284EF60;
|
|
L_0284EF60: ; // 0x284ef60
|
|
/* 0284EF60 */ goto L_0284F014;
|
|
L_0284EF64: ; // 0x284ef64
|
|
/* 0284EF64 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFD0u;
|
|
/* 0284EF68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000000Au);
|
|
/* 0284EF6C */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EF6C */ _t109 = _t108 & 0x00000001u;
|
|
/* 0284EF6C */ if (_t109) goto L_0284EF70; else goto L_0284EF84;
|
|
L_0284EF70: ; // 0x284ef70
|
|
/* 0284EF70 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 0284EF74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[9]);
|
|
/* 0284EF78 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000019u, 0x0000001Fu);
|
|
/* 0284EF7C */ _t110 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284EF7C */ _t111 = _t110 & 0x00000001u;
|
|
/* 0284EF7C */ if (_t111) goto L_0284EFCC; else goto L_0284EF80;
|
|
L_0284EF80: ; // 0x284ef80
|
|
/* 0284EF80 */ goto L_0284F014;
|
|
L_0284EF84: ; // 0x284ef84
|
|
/* 0284EF84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000002Bu);
|
|
/* 0284EF88 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EF88 */ _t113 = _t112 & 0x00000001u;
|
|
/* 0284EF88 */ if (_t113) goto L_0284EFAC; else goto L_0284EF8C;
|
|
L_0284EF8C: ; // 0x284ef8c
|
|
/* 0284EF8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000002Du);
|
|
/* 0284EF90 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EF90 */ _t115 = _t114 & 0x00000001u;
|
|
/* 0284EF90 */ if (_t115) goto L_0284EFAC; else goto L_0284EF94;
|
|
L_0284EF94: ; // 0x284ef94
|
|
/* 0284EF94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000002Fu);
|
|
/* 0284EF98 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EF98 */ _t117 = _t116 & 0x00000001u;
|
|
/* 0284EF98 */ if (_t117) goto L_0284EFBC; else goto L_0284EF9C;
|
|
L_0284EF9C: ; // 0x284ef9c
|
|
/* 0284EF9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000005Fu);
|
|
/* 0284EFA0 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284EFA0 */ _t119 = _t118 & 0x00000001u;
|
|
/* 0284EFA0 */ if (_t119) goto L_0284EFBC; else goto L_0284EFA4;
|
|
L_0284EFA4: ; // 0x284efa4
|
|
/* 0284EFA4 */ cpu->r[12] = 0x00000040u;
|
|
/* 0284EFA8 */ goto L_0284EFC0;
|
|
L_0284EFAC: ; // 0x284efac
|
|
/* 0284EFAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[9]);
|
|
/* 0284EFB0 */ cpu->r[8] = 0x0000003Eu;
|
|
/* 0284EFB4 */ _t120 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284EFB4 */ _t121 = _t120 & 0x00000001u;
|
|
/* 0284EFB4 */ if (_t121) goto L_0284EFCC; else goto L_0284EFB8;
|
|
L_0284EFB8: ; // 0x284efb8
|
|
/* 0284EFB8 */ goto L_0284F014;
|
|
L_0284EFBC: ; // 0x284efbc
|
|
/* 0284EFBC */ cpu->r[12] = 0x0000003Fu;
|
|
L_0284EFC0: ; // 0x284efc0
|
|
/* 0284EFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[9]);
|
|
/* 0284EFC4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000019u, 0x0000001Fu);
|
|
/* 0284EFC8 */ _t122 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284EFC8 */ _t123 = _t122 & 0x00000001u;
|
|
/* 0284EFC8 */ if (_t123) goto L_0284EFCC; else goto L_0284F014;
|
|
L_0284EFCC: ; // 0x284efcc
|
|
/* 0284EFCC */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x0000001Cu, 0x00000004u, 0x0000001Fu);
|
|
/* 0284EFD0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0284EFD4 */ cpu->r[12] = cpu->r[12] | cpu->r[10];
|
|
/* 0284EFD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000040u);
|
|
/* 0284EFDC */ _t124 = cpu->r[3] + cpu->r[9];
|
|
/* 0284EFDC */ rbrew_write8(cpu->mem, _t124, (uint8_t)cpu->r[12]);
|
|
/* 0284EFE0 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0284EFE4 */ _t125 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284EFE4 */ _t126 = _t125 & 0x00000001u;
|
|
/* 0284EFE4 */ if (_t126) goto L_0284EFE8; else goto L_0284F03C;
|
|
L_0284EFE8: ; // 0x284efe8
|
|
/* 0284EFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[9]);
|
|
/* 0284EFEC */ _t127 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284EFEC */ _t128 = _t127 & 0x00000001u;
|
|
/* 0284EFEC */ if (_t128) goto L_0284EFF0; else goto L_0284F014;
|
|
L_0284EFF0: ; // 0x284eff0
|
|
/* 0284EFF0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 0284EFF4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0284EFF8 */ cpu->r[12] = cpu->r[12] | cpu->r[10];
|
|
/* 0284EFFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000040u);
|
|
/* 0284F000 */ _t129 = cpu->r[3] + cpu->r[9];
|
|
/* 0284F000 */ rbrew_write8(cpu->mem, _t129, (uint8_t)cpu->r[12]);
|
|
/* 0284F004 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0284F008 */ _t130 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284F008 */ _t131 = _t130 & 0x00000001u;
|
|
/* 0284F008 */ if (_t131) goto L_0284F00C; else goto L_0284F03C;
|
|
L_0284F00C: ; // 0x284f00c
|
|
/* 0284F00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[9]);
|
|
/* 0284F010 */ _t132 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284F010 */ _t133 = _t132 & 0x00000001u;
|
|
/* 0284F010 */ if (_t133) goto L_0284F02C; else goto L_0284F014;
|
|
L_0284F014: ; // 0x284f014
|
|
/* 0284F014 */ _t134 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F014 */ cpu->r[29] = rbrew_read32(cpu->mem, _t134);
|
|
/* 0284F018 */ _t135 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F018 */ cpu->r[31] = rbrew_read32(cpu->mem, _t135);
|
|
/* 0284F01C */ _t136 = cpu->r[1] + 0x00000010u;
|
|
/* 0284F01C */ cpu->r[30] = rbrew_read32(cpu->mem, _t136);
|
|
/* 0284F020 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284F024 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284F028 */ return;
|
|
L_0284F02C: ; // 0x284f02c
|
|
/* 0284F02C */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000006u, 0x00000000u, 0x00000019u);
|
|
/* 0284F030 */ cpu->r[12] = cpu->r[10] | cpu->r[8];
|
|
/* 0284F034 */ _t137 = cpu->r[3] + cpu->r[9];
|
|
/* 0284F034 */ rbrew_write8(cpu->mem, _t137, (uint8_t)cpu->r[12]);
|
|
/* 0284F038 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
L_0284F03C: ; // 0x284f03c
|
|
/* 0284F03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[6]);
|
|
/* 0284F040 */ _t138 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284F040 */ _t139 = _t138 & 0x00000001u;
|
|
/* 0284F040 */ if (_t139) goto L_0284EC50; else goto L_0284F044;
|
|
L_0284F044: ; // 0x284f044
|
|
/* 0284F044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0284F048 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F048 */ _t141 = _t140 & 0x00000001u;
|
|
/* 0284F048 */ if (_t141) goto L_0284F050; else goto L_0284F04C;
|
|
L_0284F04C: ; // 0x284f04c
|
|
/* 0284F04C */ _t142 = cpu->r[7] + 0x00000000u;
|
|
/* 0284F04C */ rbrew_write32(cpu->mem, _t142, cpu->r[9]);
|
|
L_0284F050: ; // 0x284f050
|
|
/* 0284F050 */ _t143 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F050 */ cpu->r[29] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0284F054 */ _t144 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t144);
|
|
/* 0284F058 */ _t145 = cpu->r[1] + 0x00000010u;
|
|
/* 0284F058 */ cpu->r[30] = rbrew_read32(cpu->mem, _t145);
|
|
/* 0284F05C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284F060 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284F064 */ return;
|
|
}
|
|
|
|
// fn_0284F068 @ 0x284f068
|
|
void Gambit_fn_0284F068(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0284F068: ; // 0x284f068
|
|
/* 0284F068 */ cpu->r[0] = cpu->lr;
|
|
/* 0284F06C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284F06C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284F06C */ cpu->r[1] = _t0;
|
|
/* 0284F070 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284F070 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284F074 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F074 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284F078 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284F078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F07C */ cpu->r[30] = cpu->r[4];
|
|
/* 0284F080 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F080 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0284F084 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284F084 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284F088 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F088 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284F088 */ if (_t6) goto L_0284F08C; else goto L_0284F09C;
|
|
L_0284F08C: ; // 0x284f08c
|
|
/* 0284F08C */ cpu->r[3] = 0x00000020u;
|
|
/* 0284F090 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F094 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284F094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F098 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F098 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284F098 */ if (_t8) goto L_0284F0F4; else goto L_0284F09C;
|
|
L_0284F09C: ; // 0x284f09c
|
|
/* 0284F09C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F0A0 */ cpu->r[29] = 0x00000000u;
|
|
/* 0284F0A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F0A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284F0A4 */ if (_t10) goto L_0284F0A8; else goto L_0284F0B8;
|
|
L_0284F0A8: ; // 0x284f0a8
|
|
/* 0284F0A8 */ cpu->r[3] = 0x00000014u;
|
|
/* 0284F0AC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F0B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F0B4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284F0B4 */ if (_t12) goto L_0284F0D4; else goto L_0284F0B8;
|
|
L_0284F0B8: ; // 0x284f0b8
|
|
/* 0284F0B8 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284F0BC */ _t13 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284F0BC */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 0284F0C0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 0284F0C4 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F0C4 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 0284F0C8 */ _t15 = cpu->r[3] + 0x00000010u;
|
|
/* 0284F0C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 0284F0CC */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 0284F0CC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 0284F0D0 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F0D0 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
L_0284F0D4: ; // 0x284f0d4
|
|
/* 0284F0D4 */ _t18 = cpu->r[31] + 0x00000014u;
|
|
/* 0284F0D4 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 0284F0D8 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284F0DC */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 0284F0DC */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0284F0E0 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284F0E4 */ _t20 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284F0E4 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 0284F0E8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFFF8u;
|
|
/* 0284F0EC */ _t21 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F0EC */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 0284F0F0 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F0F0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_0284F0F4: ; // 0x284f0f4
|
|
/* 0284F0F4 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F0F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284F0F8 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284F0F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284F0FC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F100 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0284F100 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284F104 */ cpu->lr = cpu->r[0];
|
|
/* 0284F108 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F108 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284F10C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284F110 */ return;
|
|
}
|
|
|
|
// fn_0284F06C @ 0x284f06c
|
|
void Gambit_fn_0284F06C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0284F06C: ; // 0x284f06c
|
|
/* 0284F06C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284F06C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284F06C */ cpu->r[1] = _t0;
|
|
/* 0284F070 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0284F070 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0284F074 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F074 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0284F078 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284F078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F07C */ cpu->r[30] = cpu->r[4];
|
|
/* 0284F080 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F080 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0284F084 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284F084 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284F088 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F088 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284F088 */ if (_t6) goto L_0284F08C; else goto L_0284F09C;
|
|
L_0284F08C: ; // 0x284f08c
|
|
/* 0284F08C */ cpu->r[3] = 0x00000020u;
|
|
/* 0284F090 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F094 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284F094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F098 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F098 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284F098 */ if (_t8) goto L_0284F0F4; else goto L_0284F09C;
|
|
L_0284F09C: ; // 0x284f09c
|
|
/* 0284F09C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F0A0 */ cpu->r[29] = 0x00000000u;
|
|
/* 0284F0A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F0A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284F0A4 */ if (_t10) goto L_0284F0A8; else goto L_0284F0B8;
|
|
L_0284F0A8: ; // 0x284f0a8
|
|
/* 0284F0A8 */ cpu->r[3] = 0x00000014u;
|
|
/* 0284F0AC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F0B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F0B4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284F0B4 */ if (_t12) goto L_0284F0D4; else goto L_0284F0B8;
|
|
L_0284F0B8: ; // 0x284f0b8
|
|
/* 0284F0B8 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284F0BC */ _t13 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284F0BC */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 0284F0C0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFD0u;
|
|
/* 0284F0C4 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F0C4 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 0284F0C8 */ _t15 = cpu->r[3] + 0x00000010u;
|
|
/* 0284F0C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 0284F0CC */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 0284F0CC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 0284F0D0 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F0D0 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
L_0284F0D4: ; // 0x284f0d4
|
|
/* 0284F0D4 */ _t18 = cpu->r[31] + 0x00000014u;
|
|
/* 0284F0D4 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 0284F0D8 */ cpu->r[0] = 0x00000002u;
|
|
/* 0284F0DC */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 0284F0DC */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0284F0E0 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284F0E4 */ _t20 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284F0E4 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 0284F0E8 */ cpu->r[0] = cpu->r[0] + 0xFFFFFFF8u;
|
|
/* 0284F0EC */ _t21 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F0EC */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 0284F0F0 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F0F0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_0284F0F4: ; // 0x284f0f4
|
|
/* 0284F0F4 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F0F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284F0F8 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284F0F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284F0FC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F100 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0284F100 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284F104 */ cpu->lr = cpu->r[0];
|
|
/* 0284F108 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F108 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284F10C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284F110 */ return;
|
|
}
|
|
|
|
// fn_0284F114 @ 0x284f114
|
|
void Gambit_fn_0284F114(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_0284F114: ; // 0x284f114
|
|
/* 0284F114 */ cpu->r[0] = cpu->lr;
|
|
/* 0284F118 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284F118 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284F118 */ cpu->r[1] = _t0;
|
|
/* 0284F11C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F11C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284F120 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284F120 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284F124 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284F128 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F128 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284F12C */ _t4 = cpu->r[31] + 0x00000014u;
|
|
/* 0284F12C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284F130 */ cpu->r[30] = 0x00000000u;
|
|
/* 0284F134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284F138 */ _t5 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F138 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284F13C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F13C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284F13C */ if (_t7) goto L_0284F1F0; else goto L_0284F140;
|
|
L_0284F140: ; // 0x284f140
|
|
/* 0284F140 */ _t8 = cpu->r[12] + cpu->r[9];
|
|
/* 0284F140 */ cpu->r[8] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0284F144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0284F148 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F148 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284F148 */ if (_t10) goto L_0284F14C; else goto L_0284F1A0;
|
|
L_0284F14C: ; // 0x284f14c
|
|
/* 0284F14C */ _t11 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284F14C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284F150 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284F154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284F158 */ _t12 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F158 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0284F15C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F15C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284F15C */ if (_t14) goto L_0284F198; else goto L_0284F160;
|
|
L_0284F160: ; // 0x284f160
|
|
/* 0284F160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 0284F164 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F164 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0284F164 */ if (_t16) goto L_0284F168; else goto L_0284F18C;
|
|
L_0284F168: ; // 0x284f168
|
|
/* 0284F168 */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F168 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284F16C */ _t18 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284F16C */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 0284F170 */ _t19 = cpu->r[31] + 0x00000014u;
|
|
/* 0284F170 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 0284F174 */ _t20 = cpu->r[8] + 0x00000034u;
|
|
/* 0284F174 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284F178 */ cpu->ctr = cpu->r[9];
|
|
/* 0284F17C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F180 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284F184 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284F188 */ goto L_0284F214;
|
|
L_0284F18C: ; // 0x284f18c
|
|
/* 0284F18C */ _t21 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284F190 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 0284F194 */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284F194 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
L_0284F198: ; // 0x284f198
|
|
/* 0284F198 */ _t23 = cpu->r[31] + 0x00000014u;
|
|
/* 0284F198 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284F19C */ _t24 = cpu->r[12] + cpu->r[0];
|
|
/* 0284F19C */ cpu->r[8] = rbrew_read8(cpu->mem, _t24);
|
|
L_0284F1A0: ; // 0x284f1a0
|
|
/* 0284F1A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000002Au);
|
|
/* 0284F1A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F1A8 */ _t25 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F1A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284F1AC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F1AC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0284F1AC */ if (_t27) goto L_0284F1B0; else goto L_0284F1D0;
|
|
L_0284F1B0: ; // 0x284f1b0
|
|
/* 0284F1B0 */ _t28 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0284F1B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284F1B4 */ cpu->ctr = cpu->r[11];
|
|
/* 0284F1B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284F1BC */ _t29 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F1BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284F1C0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0284F1C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284F1C8 */ _t30 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F1C8 */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
|
|
/* 0284F1CC */ goto L_0284F214;
|
|
L_0284F1D0: ; // 0x284f1d0
|
|
/* 0284F1D0 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 0284F1D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284F1D4 */ cpu->ctr = cpu->r[0];
|
|
/* 0284F1D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284F1DC */ _t32 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F1DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284F1E0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0284F1E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284F1E8 */ _t33 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F1E8 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 0284F1EC */ goto L_0284F214;
|
|
L_0284F1F0: ; // 0x284f1f0
|
|
/* 0284F1F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0284F1F4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F1F4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0284F1F4 */ if (_t35) goto L_0284F210; else goto L_0284F1F8;
|
|
L_0284F1F8: ; // 0x284f1f8
|
|
/* 0284F1F8 */ _t36 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F1F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0284F1FC */ _t37 = cpu->r[11] + 0x00000034u;
|
|
/* 0284F1FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0284F200 */ cpu->ctr = cpu->r[0];
|
|
/* 0284F204 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F208 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284F20C */ _t38 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F20C */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
L_0284F210: ; // 0x284f210
|
|
/* 0284F210 */ cpu->r[3] = 0x00000000u;
|
|
L_0284F214: ; // 0x284f214
|
|
/* 0284F214 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284F218 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 0284F218 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0284F21C */ cpu->lr = cpu->r[0];
|
|
/* 0284F220 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F220 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0284F224 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284F228 */ return;
|
|
}
|
|
|
|
// fn_0284F118 @ 0x284f118
|
|
void Gambit_fn_0284F118(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_0284F118: ; // 0x284f118
|
|
/* 0284F118 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284F118 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284F118 */ cpu->r[1] = _t0;
|
|
/* 0284F11C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F11C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284F120 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0284F120 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284F124 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284F128 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F128 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0284F12C */ _t4 = cpu->r[31] + 0x00000014u;
|
|
/* 0284F12C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284F130 */ cpu->r[30] = 0x00000000u;
|
|
/* 0284F134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284F138 */ _t5 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F138 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284F13C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F13C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284F13C */ if (_t7) goto L_0284F1F0; else goto L_0284F140;
|
|
L_0284F140: ; // 0x284f140
|
|
/* 0284F140 */ _t8 = cpu->r[12] + cpu->r[9];
|
|
/* 0284F140 */ cpu->r[8] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0284F144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0284F148 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F148 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284F148 */ if (_t10) goto L_0284F14C; else goto L_0284F1A0;
|
|
L_0284F14C: ; // 0x284f14c
|
|
/* 0284F14C */ _t11 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284F14C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284F150 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284F154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0284F158 */ _t12 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F158 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0284F15C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F15C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284F15C */ if (_t14) goto L_0284F198; else goto L_0284F160;
|
|
L_0284F160: ; // 0x284f160
|
|
/* 0284F160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 0284F164 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F164 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0284F164 */ if (_t16) goto L_0284F168; else goto L_0284F18C;
|
|
L_0284F168: ; // 0x284f168
|
|
/* 0284F168 */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F168 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284F16C */ _t18 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284F16C */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 0284F170 */ _t19 = cpu->r[31] + 0x00000014u;
|
|
/* 0284F170 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 0284F174 */ _t20 = cpu->r[8] + 0x00000034u;
|
|
/* 0284F174 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284F178 */ cpu->ctr = cpu->r[9];
|
|
/* 0284F17C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F180 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284F184 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284F188 */ goto L_0284F214;
|
|
L_0284F18C: ; // 0x284f18c
|
|
/* 0284F18C */ _t21 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284F190 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 0284F194 */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284F194 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
L_0284F198: ; // 0x284f198
|
|
/* 0284F198 */ _t23 = cpu->r[31] + 0x00000014u;
|
|
/* 0284F198 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284F19C */ _t24 = cpu->r[12] + cpu->r[0];
|
|
/* 0284F19C */ cpu->r[8] = rbrew_read8(cpu->mem, _t24);
|
|
L_0284F1A0: ; // 0x284f1a0
|
|
/* 0284F1A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000002Au);
|
|
/* 0284F1A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F1A8 */ _t25 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F1A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284F1AC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F1AC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0284F1AC */ if (_t27) goto L_0284F1B0; else goto L_0284F1D0;
|
|
L_0284F1B0: ; // 0x284f1b0
|
|
/* 0284F1B0 */ _t28 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0284F1B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284F1B4 */ cpu->ctr = cpu->r[11];
|
|
/* 0284F1B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284F1BC */ _t29 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F1BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284F1C0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0284F1C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284F1C8 */ _t30 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F1C8 */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
|
|
/* 0284F1CC */ goto L_0284F214;
|
|
L_0284F1D0: ; // 0x284f1d0
|
|
/* 0284F1D0 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 0284F1D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284F1D4 */ cpu->ctr = cpu->r[0];
|
|
/* 0284F1D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284F1DC */ _t32 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F1DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284F1E0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0284F1E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284F1E8 */ _t33 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F1E8 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 0284F1EC */ goto L_0284F214;
|
|
L_0284F1F0: ; // 0x284f1f0
|
|
/* 0284F1F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0284F1F4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F1F4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0284F1F4 */ if (_t35) goto L_0284F210; else goto L_0284F1F8;
|
|
L_0284F1F8: ; // 0x284f1f8
|
|
/* 0284F1F8 */ _t36 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F1F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0284F1FC */ _t37 = cpu->r[11] + 0x00000034u;
|
|
/* 0284F1FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0284F200 */ cpu->ctr = cpu->r[0];
|
|
/* 0284F204 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F208 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284F20C */ _t38 = cpu->r[31] + 0x00000018u;
|
|
/* 0284F20C */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
L_0284F210: ; // 0x284f210
|
|
/* 0284F210 */ cpu->r[3] = 0x00000000u;
|
|
L_0284F214: ; // 0x284f214
|
|
/* 0284F214 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284F218 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 0284F218 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0284F21C */ cpu->lr = cpu->r[0];
|
|
/* 0284F220 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F220 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0284F224 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0284F228 */ return;
|
|
}
|
|
|
|
// fn_0284F22C @ 0x284f22c
|
|
void Gambit_fn_0284F22C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_0284F22C: ; // 0x284f22c
|
|
/* 0284F22C */ cpu->r[0] = cpu->lr;
|
|
/* 0284F230 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284F230 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284F230 */ cpu->r[1] = _t0;
|
|
/* 0284F234 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F234 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284F238 */ cpu->r[31] = 0x101F0000u;
|
|
/* 0284F23C */ cpu->r[31] = cpu->r[31] + 0x00006D10u;
|
|
/* 0284F240 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F240 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284F244 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284F244 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284F248 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284F248 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284F24C */ cpu->r[29] = cpu->r[3];
|
|
/* 0284F250 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 0284F250 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284F254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0284F258 */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 0284F258 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284F25C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F25C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284F25C */ if (_t8) goto L_0284F294; else goto L_0284F260;
|
|
L_0284F260: ; // 0x284f260
|
|
/* 0284F260 */ _t9 = cpu->r[12] + 0x00000008u;
|
|
/* 0284F260 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284F264 */ _t10 = cpu->r[10] + 0x00000020u;
|
|
/* 0284F264 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284F268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F26C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F26C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284F26C */ if (_t12) goto L_0284F284; else goto L_0284F270;
|
|
L_0284F270: ; // 0x284f270
|
|
/* 0284F270 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284F274 */ _t14 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0284F274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284F278 */ cpu->ctr = cpu->r[0];
|
|
/* 0284F27C */ cpu->r[4] = cpu->r[29];
|
|
/* 0284F280 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284F284: ; // 0x284f284
|
|
/* 0284F284 */ cpu->r[12] = cpu->r[30];
|
|
/* 0284F288 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0284F28C */ _t15 = cpu->r[30] + 0x00000004u;
|
|
/* 0284F28C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284F290 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F290 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284F290 */ if (_t17) goto L_0284F294; else goto L_0284F260;
|
|
L_0284F294: ; // 0x284f294
|
|
/* 0284F294 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0284F298 */ _t18 = cpu->r[3] + 0xFFFF9A3Cu;
|
|
/* 0284F298 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284F29C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F2A0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F2A0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284F2A0 */ if (_t20) goto L_0284F2D4; else goto L_0284F2A4;
|
|
L_0284F2A4: ; // 0x284f2a4
|
|
/* 0284F2A4 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F2A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284F2A8 */ _t22 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0284F2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284F2AC */ cpu->ctr = cpu->r[0];
|
|
/* 0284F2B0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0284F2B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284F2B8 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F2B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284F2BC */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284F2BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284F2C0 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0284F2C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284F2C4 */ cpu->lr = cpu->r[0];
|
|
/* 0284F2C8 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F2C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284F2CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284F2D0 */ return;
|
|
L_0284F2D4: ; // 0x284f2d4
|
|
/* 0284F2D4 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 0284F2D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284F2D8 */ _t28 = cpu->r[29] + 0x00000004u;
|
|
/* 0284F2D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284F2DC */ Gambit_fn_0285418C(cpu);
|
|
/* 0284F2E0 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F2E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284F2E4 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284F2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284F2E8 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 0284F2E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284F2EC */ cpu->lr = cpu->r[0];
|
|
/* 0284F2F0 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F2F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284F2F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284F2F8 */ return;
|
|
}
|
|
|
|
// fn_0284F230 @ 0x284f230
|
|
void Gambit_fn_0284F230(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_0284F230: ; // 0x284f230
|
|
/* 0284F230 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284F230 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284F230 */ cpu->r[1] = _t0;
|
|
/* 0284F234 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F234 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0284F238 */ cpu->r[31] = 0x101F0000u;
|
|
/* 0284F23C */ cpu->r[31] = cpu->r[31] + 0x00006D10u;
|
|
/* 0284F240 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F240 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0284F244 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0284F244 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0284F248 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284F248 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284F24C */ cpu->r[29] = cpu->r[3];
|
|
/* 0284F250 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 0284F250 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0284F254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0284F258 */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 0284F258 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284F25C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F25C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284F25C */ if (_t8) goto L_0284F294; else goto L_0284F260;
|
|
L_0284F260: ; // 0x284f260
|
|
/* 0284F260 */ _t9 = cpu->r[12] + 0x00000008u;
|
|
/* 0284F260 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284F264 */ _t10 = cpu->r[10] + 0x00000020u;
|
|
/* 0284F264 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284F268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F26C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F26C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284F26C */ if (_t12) goto L_0284F284; else goto L_0284F270;
|
|
L_0284F270: ; // 0x284f270
|
|
/* 0284F270 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F270 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284F274 */ _t14 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0284F274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284F278 */ cpu->ctr = cpu->r[0];
|
|
/* 0284F27C */ cpu->r[4] = cpu->r[29];
|
|
/* 0284F280 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284F284: ; // 0x284f284
|
|
/* 0284F284 */ cpu->r[12] = cpu->r[30];
|
|
/* 0284F288 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0284F28C */ _t15 = cpu->r[30] + 0x00000004u;
|
|
/* 0284F28C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284F290 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F290 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284F290 */ if (_t17) goto L_0284F294; else goto L_0284F260;
|
|
L_0284F294: ; // 0x284f294
|
|
/* 0284F294 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0284F298 */ _t18 = cpu->r[3] + 0xFFFF9A3Cu;
|
|
/* 0284F298 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284F29C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F2A0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F2A0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284F2A0 */ if (_t20) goto L_0284F2D4; else goto L_0284F2A4;
|
|
L_0284F2A4: ; // 0x284f2a4
|
|
/* 0284F2A4 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F2A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0284F2A8 */ _t22 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0284F2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284F2AC */ cpu->ctr = cpu->r[0];
|
|
/* 0284F2B0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0284F2B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284F2B8 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F2B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284F2BC */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284F2BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284F2C0 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0284F2C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284F2C4 */ cpu->lr = cpu->r[0];
|
|
/* 0284F2C8 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F2C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284F2CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284F2D0 */ return;
|
|
L_0284F2D4: ; // 0x284f2d4
|
|
/* 0284F2D4 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 0284F2D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284F2D8 */ _t28 = cpu->r[29] + 0x00000004u;
|
|
/* 0284F2D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284F2DC */ Gambit_fn_0285418C(cpu);
|
|
/* 0284F2E0 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284F2E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0284F2E4 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284F2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284F2E8 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 0284F2E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284F2EC */ cpu->lr = cpu->r[0];
|
|
/* 0284F2F0 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0284F2F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284F2F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284F2F8 */ return;
|
|
}
|
|
|
|
// fn_0284F2FC @ 0x284f2fc
|
|
void Gambit_fn_0284F2FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0284F2FC: ; // 0x284f2fc
|
|
/* 0284F2FC */ cpu->r[12] = 0x101F0000u;
|
|
/* 0284F300 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284F304 */ cpu->r[12] = cpu->r[12] + 0x00006D10u;
|
|
/* 0284F308 */ cpu->r[11] = cpu->r[11] + 0x00000030u;
|
|
/* 0284F30C */ cpu->r[0] = 0x00000000u;
|
|
/* 0284F310 */ _t0 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0284F310 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 0284F314 */ _t1 = cpu->r[12] + 0x00000008u;
|
|
/* 0284F314 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284F318 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0284F31C */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 0284F31C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0284F320 */ cpu->r[3] = cpu->r[3] + 0xFFFF9A30u;
|
|
/* 0284F324 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 0284F324 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0284F328 */ goto L_02C83090;
|
|
L_02C83090: ; // 0x2c83090
|
|
/* 02C83090 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 02C83090 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C83094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C83098 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C83098 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C83098 */ _t7 = _t6 ^ 0x00000001u;
|
|
/* 02C83098 */ if (_t7) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C83098 */ goto L_02C8309C;
|
|
L_02C8309C: ; // 0x2c8309c
|
|
/* 02C8309C */ cpu->r[11] = 0x10250000u;
|
|
/* 02C830A0 */ _t8 = cpu->r[11] + 0xFFFFE70Cu;
|
|
/* 02C830A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C830A0 */ cpu->r[11] = _t8;
|
|
/* 02C830A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C830A8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C830A8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C830A8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C830A8 */ goto L_02C830AC;
|
|
L_02C830AC: ; // 0x2c830ac
|
|
/* 02C830AC */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02C830AC */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 02C830B0 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02C830B0 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02C830B4 */ return;
|
|
}
|
|
|
|
// fn_0284F32C @ 0x284f32c
|
|
void Gambit_fn_0284F32C(CPUState* cpu) {
|
|
uint32_t _t0, _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_0284F32C: ; // 0x284f32c
|
|
/* 0284F32C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0284F32C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284F32C */ cpu->r[1] = _t0;
|
|
/* 0284F330 */ cpu->r[0] = cpu->lr;
|
|
/* 0284F334 */ /* nop */
|
|
/* 0284F338 */ cpu->r[28] = cpu->r[3];
|
|
/* 0284F338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0284F33C */ cpu->r[30] = cpu->r[4];
|
|
/* 0284F340 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0284F340 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284F344 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F344 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0284F344 */ if (_t3) goto L_0284F3B8; else goto L_0284F348;
|
|
L_0284F348: ; // 0x284f348
|
|
/* 0284F348 */ _t4 = cpu->r[28] + 0x00000004u;
|
|
/* 0284F348 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284F34C */ cpu->r[10] = 0x10130000u;
|
|
/* 0284F350 */ cpu->r[10] = cpu->r[10] + 0x00000030u;
|
|
/* 0284F354 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 0284F358 */ _t5 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0284F358 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 0284F35C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F35C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284F35C */ if (_t7) goto L_0284F3A8; else goto L_0284F360;
|
|
L_0284F360: ; // 0x284f360
|
|
/* 0284F360 */ cpu->r[26] = 0x00000000u;
|
|
L_0284F364: ; // 0x284f364
|
|
/* 0284F364 */ _t8 = cpu->r[29] + 0x00000008u;
|
|
/* 0284F364 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284F368 */ _t9 = cpu->r[31] + 0x00000038u;
|
|
/* 0284F368 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0284F36C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0284F370 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 0284F370 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284F374 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F374 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284F374 */ if (_t12) goto L_0284F3A0; else goto L_0284F378;
|
|
L_0284F378: ; // 0x284f378
|
|
/* 0284F378 */ _t13 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284F378 */ cpu->r[27] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284F37C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0284F380 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F380 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284F380 */ if (_t15) goto L_0284F39C; else goto L_0284F384;
|
|
L_0284F384: ; // 0x284f384
|
|
/* 0284F384 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0284F388 */ _t16 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284F388 */ rbrew_write32(cpu->mem, _t16, cpu->r[26]);
|
|
/* 0284F38C */ Gambit_fn_02801EDC(cpu);
|
|
/* 0284F390 */ _t17 = cpu->r[27] + 0x00000008u;
|
|
/* 0284F390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284F394 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0284F398 */ _t18 = cpu->r[27] + 0x00000008u;
|
|
/* 0284F398 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_0284F39C: ; // 0x284f39c
|
|
/* 0284F39C */ _t19 = cpu->r[31] + 0x00000038u;
|
|
/* 0284F39C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[26]);
|
|
L_0284F3A0: ; // 0x284f3a0
|
|
/* 0284F3A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 0284F3A4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F3A4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284F3A4 */ if (_t21) goto L_0284F3A8; else goto L_0284F364;
|
|
L_0284F3A8: ; // 0x284f3a8
|
|
/* 0284F3A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284F3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284F3AC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F3AC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0284F3AC */ if (_t23) goto L_0284F3B8; else goto L_0284F3B0;
|
|
L_0284F3B0: ; // 0x284f3b0
|
|
/* 0284F3B0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0284F3B4 */ Gambit_fn_02801BB0(cpu);
|
|
L_0284F3B8: ; // 0x284f3b8
|
|
/* 0284F3B8 */ /* nop */
|
|
/* 0284F3BC */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 0284F3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0284F3C0 */ cpu->lr = cpu->r[0];
|
|
/* 0284F3C4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0284F3C8 */ return;
|
|
}
|
|
|
|
// fn_0284F3CC @ 0x284f3cc
|
|
void Gambit_fn_0284F3CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0284F3CC: ; // 0x284f3cc
|
|
/* 0284F3CC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFE4u;
|
|
/* 0284F3D0 */ goto L_02850518;
|
|
L_02850518: ; // 0x2850518
|
|
/* 02850518 */ cpu->r[0] = cpu->lr;
|
|
/* 0285051C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285051C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285051C */ cpu->r[1] = _t0;
|
|
/* 02850520 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850520 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02850524 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02850524 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02850528 */ cpu->r[30] = cpu->r[3];
|
|
/* 02850528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285052C */ cpu->r[31] = cpu->r[4];
|
|
/* 02850530 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02850530 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02850534 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850534 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02850534 */ if (_t5) goto L_02850574; else goto L_02850538;
|
|
L_02850538: ; // 0x2850538
|
|
/* 02850538 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285053C */ cpu->r[12] = 0x10130000u;
|
|
/* 02850540 */ cpu->r[0] = cpu->r[0] + 0x00000084u;
|
|
/* 02850544 */ cpu->r[12] = cpu->r[12] + 0x000000A4u;
|
|
/* 02850548 */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02850548 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285054C */ cpu->r[3] = cpu->r[30];
|
|
/* 02850550 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02850550 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02850554 */ Gambit_fn_0281436C(cpu);
|
|
/* 02850558 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285055C */ cpu->r[4] = 0x00000000u;
|
|
/* 02850560 */ Gambit_fn_02821E68(cpu);
|
|
/* 02850564 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02850564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02850568 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850568 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02850568 */ if (_t9) goto L_02850574; else goto L_0285056C;
|
|
L_0285056C: ; // 0x285056c
|
|
/* 0285056C */ cpu->r[3] = cpu->r[30];
|
|
/* 02850570 */ Gambit_fn_02801BB0(cpu);
|
|
L_02850574: ; // 0x2850574
|
|
/* 02850574 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02850574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02850578 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02850578 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285057C */ cpu->lr = cpu->r[0];
|
|
/* 02850580 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850580 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02850584 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02850588 */ return;
|
|
}
|
|
|
|
// fn_0284F3D4 @ 0x284f3d4
|
|
void Gambit_fn_0284F3D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_0284F3D4: ; // 0x284f3d4
|
|
/* 0284F3D4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0284F3D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284F3D4 */ cpu->r[1] = _t0;
|
|
/* 0284F3D8 */ cpu->r[0] = cpu->lr;
|
|
/* 0284F3DC */ /* nop */
|
|
/* 0284F3E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284F3E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284F3E4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284F3E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284F3E8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F3E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0284F3E8 */ if (_t3) goto L_0284F3EC; else goto L_0284F3FC;
|
|
L_0284F3EC: ; // 0x284f3ec
|
|
/* 0284F3EC */ cpu->r[3] = 0x000003E4u;
|
|
/* 0284F3F0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F3F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0284F3F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0284F3F8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F3F8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284F3F8 */ if (_t5) goto L_02850164; else goto L_0284F3FC;
|
|
L_0284F3FC: ; // 0x284f3fc
|
|
/* 0284F3FC */ cpu->r[3] = cpu->r[30];
|
|
/* 0284F400 */ Gambit_fn_02814590(cpu);
|
|
/* 0284F404 */ cpu->r[28] = 0x10130000u;
|
|
/* 0284F408 */ cpu->r[9] = 0x10130000u;
|
|
/* 0284F40C */ cpu->r[26] = 0x10130000u;
|
|
/* 0284F410 */ cpu->r[27] = 0x00000000u;
|
|
/* 0284F414 */ cpu->r[9] = cpu->r[9] + 0x000001B4u;
|
|
/* 0284F418 */ cpu->r[28] = cpu->r[28] + 0x000000B4u;
|
|
/* 0284F41C */ cpu->r[25] = 0x10130000u;
|
|
/* 0284F420 */ _t6 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0284F420 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0284F424 */ cpu->r[29] = 0x10130000u;
|
|
/* 0284F428 */ cpu->r[24] = cpu->r[30] + 0x00000040u;
|
|
/* 0284F428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284F42C */ cpu->r[25] = cpu->r[25] + 0x00000084u;
|
|
/* 0284F430 */ cpu->r[29] = cpu->r[29] + 0x0000006Cu;
|
|
/* 0284F434 */ cpu->r[26] = cpu->r[26] + 0x000000A4u;
|
|
/* 0284F438 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F438 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0284F438 */ if (_t8) goto L_0284F43C; else goto L_0284F44C;
|
|
L_0284F43C: ; // 0x284f43c
|
|
/* 0284F43C */ cpu->r[3] = 0x00000054u;
|
|
/* 0284F440 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F444 */ cpu->r[24] = cpu->r[3];
|
|
/* 0284F444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284F448 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F448 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284F448 */ if (_t10) goto L_0284F518; else goto L_0284F44C;
|
|
L_0284F44C: ; // 0x284f44c
|
|
/* 0284F44C */ cpu->r[31] = cpu->r[24];
|
|
/* 0284F44C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F450 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F450 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0284F450 */ if (_t12) goto L_0284F454; else goto L_0284F464;
|
|
L_0284F454: ; // 0x284f454
|
|
/* 0284F454 */ cpu->r[3] = 0x00000014u;
|
|
/* 0284F458 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F45C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284F45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F460 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F460 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284F460 */ if (_t14) goto L_0284F470; else goto L_0284F464;
|
|
L_0284F464: ; // 0x284f464
|
|
/* 0284F464 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F468 */ Gambit_fn_028029E4(cpu);
|
|
/* 0284F46C */ _t15 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F46C */ rbrew_write32(cpu->mem, _t15, cpu->r[24]);
|
|
L_0284F470: ; // 0x284f470
|
|
/* 0284F470 */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 0284F470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F474 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F474 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284F474 */ if (_t17) goto L_0284F478; else goto L_0284F488;
|
|
L_0284F478: ; // 0x284f478
|
|
/* 0284F478 */ cpu->r[3] = 0x00000008u;
|
|
/* 0284F47C */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F484 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F484 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284F484 */ if (_t19) goto L_0284F4A0; else goto L_0284F488;
|
|
L_0284F488: ; // 0x284f488
|
|
/* 0284F488 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284F48C */ cpu->r[0] = 0x10130000u;
|
|
/* 0284F490 */ cpu->r[10] = cpu->r[10] + 0x00000054u;
|
|
/* 0284F494 */ cpu->r[0] = cpu->r[0] + 0x00000040u;
|
|
/* 0284F498 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F498 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 0284F49C */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F49C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_0284F4A0: ; // 0x284f4a0
|
|
/* 0284F4A0 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 0284F4A4 */ Gambit_fn_02821D00(cpu);
|
|
/* 0284F4A8 */ _t22 = cpu->r[24] + 0x00000028u;
|
|
/* 0284F4A8 */ rbrew_write32(cpu->mem, _t22, cpu->r[26]);
|
|
/* 0284F4AC */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 0284F4AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F4B0 */ _t23 = cpu->r[24] + 0x0000003Cu;
|
|
/* 0284F4B0 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 0284F4B4 */ _t24 = cpu->r[24] + 0x00000050u;
|
|
/* 0284F4B4 */ rbrew_write32(cpu->mem, _t24, cpu->r[25]);
|
|
/* 0284F4B8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F4B8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0284F4B8 */ if (_t26) goto L_0284F4BC; else goto L_0284F4CC;
|
|
L_0284F4BC: ; // 0x284f4bc
|
|
/* 0284F4BC */ cpu->r[3] = 0x00000004u;
|
|
/* 0284F4C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F4C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F4C8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F4C8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0284F4C8 */ if (_t28) goto L_0284F4D0; else goto L_0284F4CC;
|
|
L_0284F4CC: ; // 0x284f4cc
|
|
/* 0284F4CC */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F4CC */ rbrew_write32(cpu->mem, _t29, cpu->r[27]);
|
|
L_0284F4D0: ; // 0x284f4d0
|
|
/* 0284F4D0 */ _t30 = cpu->r[24] + 0x00000048u;
|
|
/* 0284F4D0 */ rbrew_write32(cpu->mem, _t30, cpu->r[27]);
|
|
/* 0284F4D4 */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 0284F4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F4D8 */ _t31 = cpu->r[24] + 0x0000004Cu;
|
|
/* 0284F4D8 */ rbrew_write32(cpu->mem, _t31, cpu->r[27]);
|
|
/* 0284F4DC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F4DC */ _t33 = _t32 & 0x00000001u;
|
|
/* 0284F4DC */ if (_t33) goto L_0284F510; else goto L_0284F4E0;
|
|
L_0284F4E0: ; // 0x284f4e0
|
|
/* 0284F4E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F4E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F4E4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F4E4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0284F4E4 */ if (_t35) goto L_0284F4E8; else goto L_0284F4F8;
|
|
L_0284F4E8: ; // 0x284f4e8
|
|
/* 0284F4E8 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284F4EC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F4F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F4F4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F4F4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0284F4F4 */ if (_t37) goto L_0284F50C; else goto L_0284F4F8;
|
|
L_0284F4F8: ; // 0x284f4f8
|
|
/* 0284F4F8 */ _t38 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284F4F8 */ rbrew_write32(cpu->mem, _t38, cpu->r[27]);
|
|
/* 0284F4FC */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F4FC */ rbrew_write32(cpu->mem, _t39, cpu->r[29]);
|
|
/* 0284F500 */ _t40 = cpu->r[3] + 0x00000008u;
|
|
/* 0284F500 */ rbrew_write16(cpu->mem, _t40, (uint16_t)cpu->r[27]);
|
|
/* 0284F504 */ _t41 = cpu->r[3] + 0x0000000Au;
|
|
/* 0284F504 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[27]);
|
|
/* 0284F508 */ _t42 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F508 */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
L_0284F50C: ; // 0x284f50c
|
|
/* 0284F50C */ _t43 = cpu->r[31] + 0x00000000u;
|
|
/* 0284F50C */ rbrew_write32(cpu->mem, _t43, cpu->r[28]);
|
|
L_0284F510: ; // 0x284f510
|
|
/* 0284F510 */ cpu->r[8] = 0x00000000u;
|
|
/* 0284F514 */ _t44 = cpu->r[24] + 0x00000044u;
|
|
/* 0284F514 */ rbrew_write32(cpu->mem, _t44, cpu->r[8]);
|
|
L_0284F518: ; // 0x284f518
|
|
/* 0284F518 */ cpu->r[24] = cpu->r[30] + 0x00000094u;
|
|
/* 0284F518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284F51C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F51C */ _t46 = _t45 & 0x00000001u;
|
|
/* 0284F51C */ if (_t46) goto L_0284F520; else goto L_0284F530;
|
|
L_0284F520: ; // 0x284f520
|
|
/* 0284F520 */ cpu->r[3] = 0x00000054u;
|
|
/* 0284F524 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F528 */ cpu->r[24] = cpu->r[3];
|
|
/* 0284F528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284F52C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F52C */ _t48 = _t47 & 0x00000001u;
|
|
/* 0284F52C */ if (_t48) goto L_0284F5FC; else goto L_0284F530;
|
|
L_0284F530: ; // 0x284f530
|
|
/* 0284F530 */ cpu->r[31] = cpu->r[24];
|
|
/* 0284F530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F534 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F534 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0284F534 */ if (_t50) goto L_0284F538; else goto L_0284F548;
|
|
L_0284F538: ; // 0x284f538
|
|
/* 0284F538 */ cpu->r[3] = 0x00000014u;
|
|
/* 0284F53C */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F540 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284F540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F544 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F544 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0284F544 */ if (_t52) goto L_0284F554; else goto L_0284F548;
|
|
L_0284F548: ; // 0x284f548
|
|
/* 0284F548 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F54C */ Gambit_fn_028029E4(cpu);
|
|
/* 0284F550 */ _t53 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F550 */ rbrew_write32(cpu->mem, _t53, cpu->r[24]);
|
|
L_0284F554: ; // 0x284f554
|
|
/* 0284F554 */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 0284F554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F558 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F558 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0284F558 */ if (_t55) goto L_0284F55C; else goto L_0284F56C;
|
|
L_0284F55C: ; // 0x284f55c
|
|
/* 0284F55C */ cpu->r[3] = 0x00000008u;
|
|
/* 0284F560 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F568 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F568 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0284F568 */ if (_t57) goto L_0284F584; else goto L_0284F56C;
|
|
L_0284F56C: ; // 0x284f56c
|
|
/* 0284F56C */ cpu->r[12] = 0x10130000u;
|
|
/* 0284F570 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284F574 */ cpu->r[12] = cpu->r[12] + 0x00000054u;
|
|
/* 0284F578 */ cpu->r[0] = cpu->r[0] + 0x00000040u;
|
|
/* 0284F57C */ _t58 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F57C */ rbrew_write32(cpu->mem, _t58, cpu->r[12]);
|
|
/* 0284F580 */ _t59 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F580 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
L_0284F584: ; // 0x284f584
|
|
/* 0284F584 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 0284F588 */ Gambit_fn_02821D00(cpu);
|
|
/* 0284F58C */ _t60 = cpu->r[24] + 0x00000028u;
|
|
/* 0284F58C */ rbrew_write32(cpu->mem, _t60, cpu->r[26]);
|
|
/* 0284F590 */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 0284F590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F594 */ _t61 = cpu->r[24] + 0x0000003Cu;
|
|
/* 0284F594 */ rbrew_write32(cpu->mem, _t61, cpu->r[30]);
|
|
/* 0284F598 */ _t62 = cpu->r[24] + 0x00000050u;
|
|
/* 0284F598 */ rbrew_write32(cpu->mem, _t62, cpu->r[25]);
|
|
/* 0284F59C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F59C */ _t64 = _t63 & 0x00000001u;
|
|
/* 0284F59C */ if (_t64) goto L_0284F5A0; else goto L_0284F5B0;
|
|
L_0284F5A0: ; // 0x284f5a0
|
|
/* 0284F5A0 */ cpu->r[3] = 0x00000004u;
|
|
/* 0284F5A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F5A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F5AC */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F5AC */ _t66 = _t65 & 0x00000001u;
|
|
/* 0284F5AC */ if (_t66) goto L_0284F5B4; else goto L_0284F5B0;
|
|
L_0284F5B0: ; // 0x284f5b0
|
|
/* 0284F5B0 */ _t67 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F5B0 */ rbrew_write32(cpu->mem, _t67, cpu->r[27]);
|
|
L_0284F5B4: ; // 0x284f5b4
|
|
/* 0284F5B4 */ _t68 = cpu->r[24] + 0x00000048u;
|
|
/* 0284F5B4 */ rbrew_write32(cpu->mem, _t68, cpu->r[27]);
|
|
/* 0284F5B8 */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 0284F5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F5BC */ _t69 = cpu->r[24] + 0x0000004Cu;
|
|
/* 0284F5BC */ rbrew_write32(cpu->mem, _t69, cpu->r[27]);
|
|
/* 0284F5C0 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F5C0 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0284F5C0 */ if (_t71) goto L_0284F5F4; else goto L_0284F5C4;
|
|
L_0284F5C4: ; // 0x284f5c4
|
|
/* 0284F5C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F5C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F5C8 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F5C8 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0284F5C8 */ if (_t73) goto L_0284F5CC; else goto L_0284F5DC;
|
|
L_0284F5CC: ; // 0x284f5cc
|
|
/* 0284F5CC */ cpu->r[3] = 0x00000010u;
|
|
/* 0284F5D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F5D8 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F5D8 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0284F5D8 */ if (_t75) goto L_0284F5F0; else goto L_0284F5DC;
|
|
L_0284F5DC: ; // 0x284f5dc
|
|
/* 0284F5DC */ _t76 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284F5DC */ rbrew_write32(cpu->mem, _t76, cpu->r[27]);
|
|
/* 0284F5E0 */ _t77 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F5E0 */ rbrew_write32(cpu->mem, _t77, cpu->r[29]);
|
|
/* 0284F5E4 */ _t78 = cpu->r[3] + 0x00000008u;
|
|
/* 0284F5E4 */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[27]);
|
|
/* 0284F5E8 */ _t79 = cpu->r[3] + 0x0000000Au;
|
|
/* 0284F5E8 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[27]);
|
|
/* 0284F5EC */ _t80 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F5EC */ rbrew_write32(cpu->mem, _t80, cpu->r[27]);
|
|
L_0284F5F0: ; // 0x284f5f0
|
|
/* 0284F5F0 */ _t81 = cpu->r[31] + 0x00000000u;
|
|
/* 0284F5F0 */ rbrew_write32(cpu->mem, _t81, cpu->r[28]);
|
|
L_0284F5F4: ; // 0x284f5f4
|
|
/* 0284F5F4 */ cpu->r[9] = 0x00000000u;
|
|
/* 0284F5F8 */ _t82 = cpu->r[24] + 0x00000044u;
|
|
/* 0284F5F8 */ rbrew_write32(cpu->mem, _t82, cpu->r[9]);
|
|
L_0284F5FC: ; // 0x284f5fc
|
|
/* 0284F5FC */ cpu->r[24] = cpu->r[30] + 0x000000E8u;
|
|
/* 0284F5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284F600 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F600 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0284F600 */ if (_t84) goto L_0284F604; else goto L_0284F614;
|
|
L_0284F604: ; // 0x284f604
|
|
/* 0284F604 */ cpu->r[3] = 0x00000054u;
|
|
/* 0284F608 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F60C */ cpu->r[24] = cpu->r[3];
|
|
/* 0284F60C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284F610 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F610 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0284F610 */ if (_t86) goto L_0284F6E0; else goto L_0284F614;
|
|
L_0284F614: ; // 0x284f614
|
|
/* 0284F614 */ cpu->r[31] = cpu->r[24];
|
|
/* 0284F614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F618 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F618 */ _t88 = _t87 & 0x00000001u;
|
|
/* 0284F618 */ if (_t88) goto L_0284F61C; else goto L_0284F62C;
|
|
L_0284F61C: ; // 0x284f61c
|
|
/* 0284F61C */ cpu->r[3] = 0x00000014u;
|
|
/* 0284F620 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F624 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284F624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F628 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F628 */ _t90 = _t89 & 0x00000001u;
|
|
/* 0284F628 */ if (_t90) goto L_0284F638; else goto L_0284F62C;
|
|
L_0284F62C: ; // 0x284f62c
|
|
/* 0284F62C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F630 */ Gambit_fn_028029E4(cpu);
|
|
/* 0284F634 */ _t91 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F634 */ rbrew_write32(cpu->mem, _t91, cpu->r[24]);
|
|
L_0284F638: ; // 0x284f638
|
|
/* 0284F638 */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 0284F638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F63C */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F63C */ _t93 = _t92 & 0x00000001u;
|
|
/* 0284F63C */ if (_t93) goto L_0284F640; else goto L_0284F650;
|
|
L_0284F640: ; // 0x284f640
|
|
/* 0284F640 */ cpu->r[3] = 0x00000008u;
|
|
/* 0284F644 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F64C */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F64C */ _t95 = _t94 & 0x00000001u;
|
|
/* 0284F64C */ if (_t95) goto L_0284F668; else goto L_0284F650;
|
|
L_0284F650: ; // 0x284f650
|
|
/* 0284F650 */ cpu->r[4] = 0x10130000u;
|
|
/* 0284F654 */ cpu->r[5] = 0x10130000u;
|
|
/* 0284F658 */ cpu->r[4] = cpu->r[4] + 0x00000054u;
|
|
/* 0284F65C */ cpu->r[5] = cpu->r[5] + 0x00000040u;
|
|
/* 0284F660 */ _t96 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F660 */ rbrew_write32(cpu->mem, _t96, cpu->r[4]);
|
|
/* 0284F664 */ _t97 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F664 */ rbrew_write32(cpu->mem, _t97, cpu->r[5]);
|
|
L_0284F668: ; // 0x284f668
|
|
/* 0284F668 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 0284F66C */ Gambit_fn_02821D00(cpu);
|
|
/* 0284F670 */ _t98 = cpu->r[24] + 0x00000028u;
|
|
/* 0284F670 */ rbrew_write32(cpu->mem, _t98, cpu->r[26]);
|
|
/* 0284F674 */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 0284F674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F678 */ _t99 = cpu->r[24] + 0x0000003Cu;
|
|
/* 0284F678 */ rbrew_write32(cpu->mem, _t99, cpu->r[30]);
|
|
/* 0284F67C */ _t100 = cpu->r[24] + 0x00000050u;
|
|
/* 0284F67C */ rbrew_write32(cpu->mem, _t100, cpu->r[25]);
|
|
/* 0284F680 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F680 */ _t102 = _t101 & 0x00000001u;
|
|
/* 0284F680 */ if (_t102) goto L_0284F684; else goto L_0284F694;
|
|
L_0284F684: ; // 0x284f684
|
|
/* 0284F684 */ cpu->r[3] = 0x00000004u;
|
|
/* 0284F688 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F690 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F690 */ _t104 = _t103 & 0x00000001u;
|
|
/* 0284F690 */ if (_t104) goto L_0284F698; else goto L_0284F694;
|
|
L_0284F694: ; // 0x284f694
|
|
/* 0284F694 */ _t105 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F694 */ rbrew_write32(cpu->mem, _t105, cpu->r[27]);
|
|
L_0284F698: ; // 0x284f698
|
|
/* 0284F698 */ _t106 = cpu->r[24] + 0x00000048u;
|
|
/* 0284F698 */ rbrew_write32(cpu->mem, _t106, cpu->r[27]);
|
|
/* 0284F69C */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 0284F69C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F6A0 */ _t107 = cpu->r[24] + 0x0000004Cu;
|
|
/* 0284F6A0 */ rbrew_write32(cpu->mem, _t107, cpu->r[27]);
|
|
/* 0284F6A4 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F6A4 */ _t109 = _t108 & 0x00000001u;
|
|
/* 0284F6A4 */ if (_t109) goto L_0284F6D8; else goto L_0284F6A8;
|
|
L_0284F6A8: ; // 0x284f6a8
|
|
/* 0284F6A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F6A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F6AC */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F6AC */ _t111 = _t110 & 0x00000001u;
|
|
/* 0284F6AC */ if (_t111) goto L_0284F6B0; else goto L_0284F6C0;
|
|
L_0284F6B0: ; // 0x284f6b0
|
|
/* 0284F6B0 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284F6B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F6B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F6BC */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F6BC */ _t113 = _t112 & 0x00000001u;
|
|
/* 0284F6BC */ if (_t113) goto L_0284F6D4; else goto L_0284F6C0;
|
|
L_0284F6C0: ; // 0x284f6c0
|
|
/* 0284F6C0 */ _t114 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284F6C0 */ rbrew_write32(cpu->mem, _t114, cpu->r[27]);
|
|
/* 0284F6C4 */ _t115 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F6C4 */ rbrew_write32(cpu->mem, _t115, cpu->r[29]);
|
|
/* 0284F6C8 */ _t116 = cpu->r[3] + 0x00000008u;
|
|
/* 0284F6C8 */ rbrew_write16(cpu->mem, _t116, (uint16_t)cpu->r[27]);
|
|
/* 0284F6CC */ _t117 = cpu->r[3] + 0x0000000Au;
|
|
/* 0284F6CC */ rbrew_write16(cpu->mem, _t117, (uint16_t)cpu->r[27]);
|
|
/* 0284F6D0 */ _t118 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F6D0 */ rbrew_write32(cpu->mem, _t118, cpu->r[27]);
|
|
L_0284F6D4: ; // 0x284f6d4
|
|
/* 0284F6D4 */ _t119 = cpu->r[31] + 0x00000000u;
|
|
/* 0284F6D4 */ rbrew_write32(cpu->mem, _t119, cpu->r[28]);
|
|
L_0284F6D8: ; // 0x284f6d8
|
|
/* 0284F6D8 */ cpu->r[11] = 0x00000000u;
|
|
/* 0284F6DC */ _t120 = cpu->r[24] + 0x00000044u;
|
|
/* 0284F6DC */ rbrew_write32(cpu->mem, _t120, cpu->r[11]);
|
|
L_0284F6E0: ; // 0x284f6e0
|
|
/* 0284F6E0 */ cpu->r[24] = cpu->r[30] + 0x0000013Cu;
|
|
/* 0284F6E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284F6E4 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F6E4 */ _t122 = _t121 & 0x00000001u;
|
|
/* 0284F6E4 */ if (_t122) goto L_0284F6E8; else goto L_0284F6F8;
|
|
L_0284F6E8: ; // 0x284f6e8
|
|
/* 0284F6E8 */ cpu->r[3] = 0x00000054u;
|
|
/* 0284F6EC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F6F0 */ cpu->r[24] = cpu->r[3];
|
|
/* 0284F6F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284F6F4 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F6F4 */ _t124 = _t123 & 0x00000001u;
|
|
/* 0284F6F4 */ if (_t124) goto L_0284F7C4; else goto L_0284F6F8;
|
|
L_0284F6F8: ; // 0x284f6f8
|
|
/* 0284F6F8 */ cpu->r[31] = cpu->r[24];
|
|
/* 0284F6F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F6FC */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F6FC */ _t126 = _t125 & 0x00000001u;
|
|
/* 0284F6FC */ if (_t126) goto L_0284F700; else goto L_0284F710;
|
|
L_0284F700: ; // 0x284f700
|
|
/* 0284F700 */ cpu->r[3] = 0x00000014u;
|
|
/* 0284F704 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F708 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284F708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F70C */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F70C */ _t128 = _t127 & 0x00000001u;
|
|
/* 0284F70C */ if (_t128) goto L_0284F71C; else goto L_0284F710;
|
|
L_0284F710: ; // 0x284f710
|
|
/* 0284F710 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F714 */ Gambit_fn_028029E4(cpu);
|
|
/* 0284F718 */ _t129 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F718 */ rbrew_write32(cpu->mem, _t129, cpu->r[24]);
|
|
L_0284F71C: ; // 0x284f71c
|
|
/* 0284F71C */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 0284F71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F720 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F720 */ _t131 = _t130 & 0x00000001u;
|
|
/* 0284F720 */ if (_t131) goto L_0284F724; else goto L_0284F734;
|
|
L_0284F724: ; // 0x284f724
|
|
/* 0284F724 */ cpu->r[3] = 0x00000008u;
|
|
/* 0284F728 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F72C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F730 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F730 */ _t133 = _t132 & 0x00000001u;
|
|
/* 0284F730 */ if (_t133) goto L_0284F74C; else goto L_0284F734;
|
|
L_0284F734: ; // 0x284f734
|
|
/* 0284F734 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284F738 */ cpu->r[7] = 0x10130000u;
|
|
/* 0284F73C */ cpu->r[0] = cpu->r[0] + 0x00000054u;
|
|
/* 0284F740 */ cpu->r[7] = cpu->r[7] + 0x00000040u;
|
|
/* 0284F744 */ _t134 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F744 */ rbrew_write32(cpu->mem, _t134, cpu->r[0]);
|
|
/* 0284F748 */ _t135 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F748 */ rbrew_write32(cpu->mem, _t135, cpu->r[7]);
|
|
L_0284F74C: ; // 0x284f74c
|
|
/* 0284F74C */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 0284F750 */ Gambit_fn_02821D00(cpu);
|
|
/* 0284F754 */ _t136 = cpu->r[24] + 0x00000028u;
|
|
/* 0284F754 */ rbrew_write32(cpu->mem, _t136, cpu->r[26]);
|
|
/* 0284F758 */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 0284F758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F75C */ _t137 = cpu->r[24] + 0x0000003Cu;
|
|
/* 0284F75C */ rbrew_write32(cpu->mem, _t137, cpu->r[30]);
|
|
/* 0284F760 */ _t138 = cpu->r[24] + 0x00000050u;
|
|
/* 0284F760 */ rbrew_write32(cpu->mem, _t138, cpu->r[25]);
|
|
/* 0284F764 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F764 */ _t140 = _t139 & 0x00000001u;
|
|
/* 0284F764 */ if (_t140) goto L_0284F768; else goto L_0284F778;
|
|
L_0284F768: ; // 0x284f768
|
|
/* 0284F768 */ cpu->r[3] = 0x00000004u;
|
|
/* 0284F76C */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F774 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F774 */ _t142 = _t141 & 0x00000001u;
|
|
/* 0284F774 */ if (_t142) goto L_0284F77C; else goto L_0284F778;
|
|
L_0284F778: ; // 0x284f778
|
|
/* 0284F778 */ _t143 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F778 */ rbrew_write32(cpu->mem, _t143, cpu->r[27]);
|
|
L_0284F77C: ; // 0x284f77c
|
|
/* 0284F77C */ _t144 = cpu->r[24] + 0x00000048u;
|
|
/* 0284F77C */ rbrew_write32(cpu->mem, _t144, cpu->r[27]);
|
|
/* 0284F780 */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 0284F780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F784 */ _t145 = cpu->r[24] + 0x0000004Cu;
|
|
/* 0284F784 */ rbrew_write32(cpu->mem, _t145, cpu->r[27]);
|
|
/* 0284F788 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F788 */ _t147 = _t146 & 0x00000001u;
|
|
/* 0284F788 */ if (_t147) goto L_0284F7BC; else goto L_0284F78C;
|
|
L_0284F78C: ; // 0x284f78c
|
|
/* 0284F78C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F78C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F790 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F790 */ _t149 = _t148 & 0x00000001u;
|
|
/* 0284F790 */ if (_t149) goto L_0284F794; else goto L_0284F7A4;
|
|
L_0284F794: ; // 0x284f794
|
|
/* 0284F794 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284F798 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F79C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F7A0 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F7A0 */ _t151 = _t150 & 0x00000001u;
|
|
/* 0284F7A0 */ if (_t151) goto L_0284F7B8; else goto L_0284F7A4;
|
|
L_0284F7A4: ; // 0x284f7a4
|
|
/* 0284F7A4 */ _t152 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284F7A4 */ rbrew_write32(cpu->mem, _t152, cpu->r[27]);
|
|
/* 0284F7A8 */ _t153 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F7A8 */ rbrew_write32(cpu->mem, _t153, cpu->r[29]);
|
|
/* 0284F7AC */ _t154 = cpu->r[3] + 0x00000008u;
|
|
/* 0284F7AC */ rbrew_write16(cpu->mem, _t154, (uint16_t)cpu->r[27]);
|
|
/* 0284F7B0 */ _t155 = cpu->r[3] + 0x0000000Au;
|
|
/* 0284F7B0 */ rbrew_write16(cpu->mem, _t155, (uint16_t)cpu->r[27]);
|
|
/* 0284F7B4 */ _t156 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F7B4 */ rbrew_write32(cpu->mem, _t156, cpu->r[27]);
|
|
L_0284F7B8: ; // 0x284f7b8
|
|
/* 0284F7B8 */ _t157 = cpu->r[31] + 0x00000000u;
|
|
/* 0284F7B8 */ rbrew_write32(cpu->mem, _t157, cpu->r[28]);
|
|
L_0284F7BC: ; // 0x284f7bc
|
|
/* 0284F7BC */ cpu->r[0] = 0x00000000u;
|
|
/* 0284F7C0 */ _t158 = cpu->r[24] + 0x00000044u;
|
|
/* 0284F7C0 */ rbrew_write32(cpu->mem, _t158, cpu->r[0]);
|
|
L_0284F7C4: ; // 0x284f7c4
|
|
/* 0284F7C4 */ cpu->r[24] = cpu->r[30] + 0x00000190u;
|
|
/* 0284F7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284F7C8 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F7C8 */ _t160 = _t159 & 0x00000001u;
|
|
/* 0284F7C8 */ if (_t160) goto L_0284F7CC; else goto L_0284F7DC;
|
|
L_0284F7CC: ; // 0x284f7cc
|
|
/* 0284F7CC */ cpu->r[3] = 0x00000054u;
|
|
/* 0284F7D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F7D4 */ cpu->r[24] = cpu->r[3];
|
|
/* 0284F7D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284F7D8 */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F7D8 */ _t162 = _t161 & 0x00000001u;
|
|
/* 0284F7D8 */ if (_t162) goto L_0284F8A8; else goto L_0284F7DC;
|
|
L_0284F7DC: ; // 0x284f7dc
|
|
/* 0284F7DC */ cpu->r[31] = cpu->r[24];
|
|
/* 0284F7DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F7E0 */ _t163 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F7E0 */ _t164 = _t163 & 0x00000001u;
|
|
/* 0284F7E0 */ if (_t164) goto L_0284F7E4; else goto L_0284F7F4;
|
|
L_0284F7E4: ; // 0x284f7e4
|
|
/* 0284F7E4 */ cpu->r[3] = 0x00000014u;
|
|
/* 0284F7E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F7EC */ cpu->r[31] = cpu->r[3];
|
|
/* 0284F7EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F7F0 */ _t165 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F7F0 */ _t166 = _t165 & 0x00000001u;
|
|
/* 0284F7F0 */ if (_t166) goto L_0284F800; else goto L_0284F7F4;
|
|
L_0284F7F4: ; // 0x284f7f4
|
|
/* 0284F7F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F7F8 */ Gambit_fn_028029E4(cpu);
|
|
/* 0284F7FC */ _t167 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F7FC */ rbrew_write32(cpu->mem, _t167, cpu->r[24]);
|
|
L_0284F800: ; // 0x284f800
|
|
/* 0284F800 */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 0284F800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F804 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F804 */ _t169 = _t168 & 0x00000001u;
|
|
/* 0284F804 */ if (_t169) goto L_0284F808; else goto L_0284F818;
|
|
L_0284F808: ; // 0x284f808
|
|
/* 0284F808 */ cpu->r[3] = 0x00000008u;
|
|
/* 0284F80C */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F814 */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F814 */ _t171 = _t170 & 0x00000001u;
|
|
/* 0284F814 */ if (_t171) goto L_0284F830; else goto L_0284F818;
|
|
L_0284F818: ; // 0x284f818
|
|
/* 0284F818 */ cpu->r[8] = 0x10130000u;
|
|
/* 0284F81C */ cpu->r[9] = 0x10130000u;
|
|
/* 0284F820 */ cpu->r[8] = cpu->r[8] + 0x00000054u;
|
|
/* 0284F824 */ cpu->r[9] = cpu->r[9] + 0x00000040u;
|
|
/* 0284F828 */ _t172 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F828 */ rbrew_write32(cpu->mem, _t172, cpu->r[8]);
|
|
/* 0284F82C */ _t173 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F82C */ rbrew_write32(cpu->mem, _t173, cpu->r[9]);
|
|
L_0284F830: ; // 0x284f830
|
|
/* 0284F830 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 0284F834 */ Gambit_fn_02821D00(cpu);
|
|
/* 0284F838 */ _t174 = cpu->r[24] + 0x00000028u;
|
|
/* 0284F838 */ rbrew_write32(cpu->mem, _t174, cpu->r[26]);
|
|
/* 0284F83C */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 0284F83C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F840 */ _t175 = cpu->r[24] + 0x0000003Cu;
|
|
/* 0284F840 */ rbrew_write32(cpu->mem, _t175, cpu->r[30]);
|
|
/* 0284F844 */ _t176 = cpu->r[24] + 0x00000050u;
|
|
/* 0284F844 */ rbrew_write32(cpu->mem, _t176, cpu->r[25]);
|
|
/* 0284F848 */ _t177 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F848 */ _t178 = _t177 & 0x00000001u;
|
|
/* 0284F848 */ if (_t178) goto L_0284F84C; else goto L_0284F85C;
|
|
L_0284F84C: ; // 0x284f84c
|
|
/* 0284F84C */ cpu->r[3] = 0x00000004u;
|
|
/* 0284F850 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F858 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F858 */ _t180 = _t179 & 0x00000001u;
|
|
/* 0284F858 */ if (_t180) goto L_0284F860; else goto L_0284F85C;
|
|
L_0284F85C: ; // 0x284f85c
|
|
/* 0284F85C */ _t181 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F85C */ rbrew_write32(cpu->mem, _t181, cpu->r[27]);
|
|
L_0284F860: ; // 0x284f860
|
|
/* 0284F860 */ _t182 = cpu->r[24] + 0x00000048u;
|
|
/* 0284F860 */ rbrew_write32(cpu->mem, _t182, cpu->r[27]);
|
|
/* 0284F864 */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 0284F864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F868 */ _t183 = cpu->r[24] + 0x0000004Cu;
|
|
/* 0284F868 */ rbrew_write32(cpu->mem, _t183, cpu->r[27]);
|
|
/* 0284F86C */ _t184 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F86C */ _t185 = _t184 & 0x00000001u;
|
|
/* 0284F86C */ if (_t185) goto L_0284F8A0; else goto L_0284F870;
|
|
L_0284F870: ; // 0x284f870
|
|
/* 0284F870 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F874 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F874 */ _t187 = _t186 & 0x00000001u;
|
|
/* 0284F874 */ if (_t187) goto L_0284F878; else goto L_0284F888;
|
|
L_0284F878: ; // 0x284f878
|
|
/* 0284F878 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284F87C */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F884 */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F884 */ _t189 = _t188 & 0x00000001u;
|
|
/* 0284F884 */ if (_t189) goto L_0284F89C; else goto L_0284F888;
|
|
L_0284F888: ; // 0x284f888
|
|
/* 0284F888 */ _t190 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284F888 */ rbrew_write32(cpu->mem, _t190, cpu->r[27]);
|
|
/* 0284F88C */ _t191 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F88C */ rbrew_write32(cpu->mem, _t191, cpu->r[29]);
|
|
/* 0284F890 */ _t192 = cpu->r[3] + 0x00000008u;
|
|
/* 0284F890 */ rbrew_write16(cpu->mem, _t192, (uint16_t)cpu->r[27]);
|
|
/* 0284F894 */ _t193 = cpu->r[3] + 0x0000000Au;
|
|
/* 0284F894 */ rbrew_write16(cpu->mem, _t193, (uint16_t)cpu->r[27]);
|
|
/* 0284F898 */ _t194 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F898 */ rbrew_write32(cpu->mem, _t194, cpu->r[27]);
|
|
L_0284F89C: ; // 0x284f89c
|
|
/* 0284F89C */ _t195 = cpu->r[31] + 0x00000000u;
|
|
/* 0284F89C */ rbrew_write32(cpu->mem, _t195, cpu->r[28]);
|
|
L_0284F8A0: ; // 0x284f8a0
|
|
/* 0284F8A0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0284F8A4 */ _t196 = cpu->r[24] + 0x00000044u;
|
|
/* 0284F8A4 */ rbrew_write32(cpu->mem, _t196, cpu->r[5]);
|
|
L_0284F8A8: ; // 0x284f8a8
|
|
/* 0284F8A8 */ cpu->r[24] = cpu->r[30] + 0x000001E4u;
|
|
/* 0284F8A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284F8AC */ _t197 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F8AC */ _t198 = _t197 & 0x00000001u;
|
|
/* 0284F8AC */ if (_t198) goto L_0284F8B0; else goto L_0284F8C0;
|
|
L_0284F8B0: ; // 0x284f8b0
|
|
/* 0284F8B0 */ cpu->r[3] = 0x00000054u;
|
|
/* 0284F8B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F8B8 */ cpu->r[24] = cpu->r[3];
|
|
/* 0284F8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284F8BC */ _t199 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F8BC */ _t200 = _t199 & 0x00000001u;
|
|
/* 0284F8BC */ if (_t200) goto L_0284F98C; else goto L_0284F8C0;
|
|
L_0284F8C0: ; // 0x284f8c0
|
|
/* 0284F8C0 */ cpu->r[31] = cpu->r[24];
|
|
/* 0284F8C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F8C4 */ _t201 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F8C4 */ _t202 = _t201 & 0x00000001u;
|
|
/* 0284F8C4 */ if (_t202) goto L_0284F8C8; else goto L_0284F8D8;
|
|
L_0284F8C8: ; // 0x284f8c8
|
|
/* 0284F8C8 */ cpu->r[3] = 0x00000014u;
|
|
/* 0284F8CC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F8D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284F8D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F8D4 */ _t203 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F8D4 */ _t204 = _t203 & 0x00000001u;
|
|
/* 0284F8D4 */ if (_t204) goto L_0284F8E4; else goto L_0284F8D8;
|
|
L_0284F8D8: ; // 0x284f8d8
|
|
/* 0284F8D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F8DC */ Gambit_fn_028029E4(cpu);
|
|
/* 0284F8E0 */ _t205 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F8E0 */ rbrew_write32(cpu->mem, _t205, cpu->r[24]);
|
|
L_0284F8E4: ; // 0x284f8e4
|
|
/* 0284F8E4 */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 0284F8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F8E8 */ _t206 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F8E8 */ _t207 = _t206 & 0x00000001u;
|
|
/* 0284F8E8 */ if (_t207) goto L_0284F8EC; else goto L_0284F8FC;
|
|
L_0284F8EC: ; // 0x284f8ec
|
|
/* 0284F8EC */ cpu->r[3] = 0x00000008u;
|
|
/* 0284F8F0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F8F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F8F8 */ _t208 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F8F8 */ _t209 = _t208 & 0x00000001u;
|
|
/* 0284F8F8 */ if (_t209) goto L_0284F914; else goto L_0284F8FC;
|
|
L_0284F8FC: ; // 0x284f8fc
|
|
/* 0284F8FC */ cpu->r[10] = 0x10130000u;
|
|
/* 0284F900 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284F904 */ cpu->r[10] = cpu->r[10] + 0x00000054u;
|
|
/* 0284F908 */ cpu->r[11] = cpu->r[11] + 0x00000040u;
|
|
/* 0284F90C */ _t210 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F90C */ rbrew_write32(cpu->mem, _t210, cpu->r[10]);
|
|
/* 0284F910 */ _t211 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F910 */ rbrew_write32(cpu->mem, _t211, cpu->r[11]);
|
|
L_0284F914: ; // 0x284f914
|
|
/* 0284F914 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 0284F918 */ Gambit_fn_02821D00(cpu);
|
|
/* 0284F91C */ _t212 = cpu->r[24] + 0x00000028u;
|
|
/* 0284F91C */ rbrew_write32(cpu->mem, _t212, cpu->r[26]);
|
|
/* 0284F920 */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 0284F920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F924 */ _t213 = cpu->r[24] + 0x0000003Cu;
|
|
/* 0284F924 */ rbrew_write32(cpu->mem, _t213, cpu->r[30]);
|
|
/* 0284F928 */ _t214 = cpu->r[24] + 0x00000050u;
|
|
/* 0284F928 */ rbrew_write32(cpu->mem, _t214, cpu->r[25]);
|
|
/* 0284F92C */ _t215 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F92C */ _t216 = _t215 & 0x00000001u;
|
|
/* 0284F92C */ if (_t216) goto L_0284F930; else goto L_0284F940;
|
|
L_0284F930: ; // 0x284f930
|
|
/* 0284F930 */ cpu->r[3] = 0x00000004u;
|
|
/* 0284F934 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F93C */ _t217 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F93C */ _t218 = _t217 & 0x00000001u;
|
|
/* 0284F93C */ if (_t218) goto L_0284F944; else goto L_0284F940;
|
|
L_0284F940: ; // 0x284f940
|
|
/* 0284F940 */ _t219 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F940 */ rbrew_write32(cpu->mem, _t219, cpu->r[27]);
|
|
L_0284F944: ; // 0x284f944
|
|
/* 0284F944 */ _t220 = cpu->r[24] + 0x00000048u;
|
|
/* 0284F944 */ rbrew_write32(cpu->mem, _t220, cpu->r[27]);
|
|
/* 0284F948 */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 0284F948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F94C */ _t221 = cpu->r[24] + 0x0000004Cu;
|
|
/* 0284F94C */ rbrew_write32(cpu->mem, _t221, cpu->r[27]);
|
|
/* 0284F950 */ _t222 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F950 */ _t223 = _t222 & 0x00000001u;
|
|
/* 0284F950 */ if (_t223) goto L_0284F984; else goto L_0284F954;
|
|
L_0284F954: ; // 0x284f954
|
|
/* 0284F954 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F958 */ _t224 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F958 */ _t225 = _t224 & 0x00000001u;
|
|
/* 0284F958 */ if (_t225) goto L_0284F95C; else goto L_0284F96C;
|
|
L_0284F95C: ; // 0x284f95c
|
|
/* 0284F95C */ cpu->r[3] = 0x00000010u;
|
|
/* 0284F960 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F968 */ _t226 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F968 */ _t227 = _t226 & 0x00000001u;
|
|
/* 0284F968 */ if (_t227) goto L_0284F980; else goto L_0284F96C;
|
|
L_0284F96C: ; // 0x284f96c
|
|
/* 0284F96C */ _t228 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284F96C */ rbrew_write32(cpu->mem, _t228, cpu->r[27]);
|
|
/* 0284F970 */ _t229 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F970 */ rbrew_write32(cpu->mem, _t229, cpu->r[29]);
|
|
/* 0284F974 */ _t230 = cpu->r[3] + 0x00000008u;
|
|
/* 0284F974 */ rbrew_write16(cpu->mem, _t230, (uint16_t)cpu->r[27]);
|
|
/* 0284F978 */ _t231 = cpu->r[3] + 0x0000000Au;
|
|
/* 0284F978 */ rbrew_write16(cpu->mem, _t231, (uint16_t)cpu->r[27]);
|
|
/* 0284F97C */ _t232 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F97C */ rbrew_write32(cpu->mem, _t232, cpu->r[27]);
|
|
L_0284F980: ; // 0x284f980
|
|
/* 0284F980 */ _t233 = cpu->r[31] + 0x00000000u;
|
|
/* 0284F980 */ rbrew_write32(cpu->mem, _t233, cpu->r[28]);
|
|
L_0284F984: ; // 0x284f984
|
|
/* 0284F984 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284F988 */ _t234 = cpu->r[24] + 0x00000044u;
|
|
/* 0284F988 */ rbrew_write32(cpu->mem, _t234, cpu->r[7]);
|
|
L_0284F98C: ; // 0x284f98c
|
|
/* 0284F98C */ cpu->r[24] = cpu->r[30] + 0x00000238u;
|
|
/* 0284F98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284F990 */ _t235 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F990 */ _t236 = _t235 & 0x00000001u;
|
|
/* 0284F990 */ if (_t236) goto L_0284F994; else goto L_0284F9A4;
|
|
L_0284F994: ; // 0x284f994
|
|
/* 0284F994 */ cpu->r[3] = 0x00000054u;
|
|
/* 0284F998 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F99C */ cpu->r[24] = cpu->r[3];
|
|
/* 0284F99C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284F9A0 */ _t237 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F9A0 */ _t238 = _t237 & 0x00000001u;
|
|
/* 0284F9A0 */ if (_t238) goto L_0284FA70; else goto L_0284F9A4;
|
|
L_0284F9A4: ; // 0x284f9a4
|
|
/* 0284F9A4 */ cpu->r[31] = cpu->r[24];
|
|
/* 0284F9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F9A8 */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F9A8 */ _t240 = _t239 & 0x00000001u;
|
|
/* 0284F9A8 */ if (_t240) goto L_0284F9AC; else goto L_0284F9BC;
|
|
L_0284F9AC: ; // 0x284f9ac
|
|
/* 0284F9AC */ cpu->r[3] = 0x00000014u;
|
|
/* 0284F9B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F9B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284F9B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284F9B8 */ _t241 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F9B8 */ _t242 = _t241 & 0x00000001u;
|
|
/* 0284F9B8 */ if (_t242) goto L_0284F9C8; else goto L_0284F9BC;
|
|
L_0284F9BC: ; // 0x284f9bc
|
|
/* 0284F9BC */ cpu->r[3] = cpu->r[31];
|
|
/* 0284F9C0 */ Gambit_fn_028029E4(cpu);
|
|
/* 0284F9C4 */ _t243 = cpu->r[31] + 0x00000010u;
|
|
/* 0284F9C4 */ rbrew_write32(cpu->mem, _t243, cpu->r[24]);
|
|
L_0284F9C8: ; // 0x284f9c8
|
|
/* 0284F9C8 */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 0284F9C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F9CC */ _t244 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F9CC */ _t245 = _t244 & 0x00000001u;
|
|
/* 0284F9CC */ if (_t245) goto L_0284F9D0; else goto L_0284F9E0;
|
|
L_0284F9D0: ; // 0x284f9d0
|
|
/* 0284F9D0 */ cpu->r[3] = 0x00000008u;
|
|
/* 0284F9D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284F9D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284F9DC */ _t246 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284F9DC */ _t247 = _t246 & 0x00000001u;
|
|
/* 0284F9DC */ if (_t247) goto L_0284F9F8; else goto L_0284F9E0;
|
|
L_0284F9E0: ; // 0x284f9e0
|
|
/* 0284F9E0 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284F9E4 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284F9E8 */ cpu->r[12] = cpu->r[12] + 0x00000054u;
|
|
/* 0284F9EC */ cpu->r[0] = cpu->r[0] + 0x00000040u;
|
|
/* 0284F9F0 */ _t248 = cpu->r[3] + 0x00000004u;
|
|
/* 0284F9F0 */ rbrew_write32(cpu->mem, _t248, cpu->r[12]);
|
|
/* 0284F9F4 */ _t249 = cpu->r[3] + 0x00000000u;
|
|
/* 0284F9F4 */ rbrew_write32(cpu->mem, _t249, cpu->r[0]);
|
|
L_0284F9F8: ; // 0x284f9f8
|
|
/* 0284F9F8 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 0284F9FC */ Gambit_fn_02821D00(cpu);
|
|
/* 0284FA00 */ _t250 = cpu->r[24] + 0x00000028u;
|
|
/* 0284FA00 */ rbrew_write32(cpu->mem, _t250, cpu->r[26]);
|
|
/* 0284FA04 */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 0284FA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FA08 */ _t251 = cpu->r[24] + 0x0000003Cu;
|
|
/* 0284FA08 */ rbrew_write32(cpu->mem, _t251, cpu->r[30]);
|
|
/* 0284FA0C */ _t252 = cpu->r[24] + 0x00000050u;
|
|
/* 0284FA0C */ rbrew_write32(cpu->mem, _t252, cpu->r[25]);
|
|
/* 0284FA10 */ _t253 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FA10 */ _t254 = _t253 & 0x00000001u;
|
|
/* 0284FA10 */ if (_t254) goto L_0284FA14; else goto L_0284FA24;
|
|
L_0284FA14: ; // 0x284fa14
|
|
/* 0284FA14 */ cpu->r[3] = 0x00000004u;
|
|
/* 0284FA18 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FA1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FA20 */ _t255 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FA20 */ _t256 = _t255 & 0x00000001u;
|
|
/* 0284FA20 */ if (_t256) goto L_0284FA28; else goto L_0284FA24;
|
|
L_0284FA24: ; // 0x284fa24
|
|
/* 0284FA24 */ _t257 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FA24 */ rbrew_write32(cpu->mem, _t257, cpu->r[27]);
|
|
L_0284FA28: ; // 0x284fa28
|
|
/* 0284FA28 */ _t258 = cpu->r[24] + 0x00000048u;
|
|
/* 0284FA28 */ rbrew_write32(cpu->mem, _t258, cpu->r[27]);
|
|
/* 0284FA2C */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 0284FA2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284FA30 */ _t259 = cpu->r[24] + 0x0000004Cu;
|
|
/* 0284FA30 */ rbrew_write32(cpu->mem, _t259, cpu->r[27]);
|
|
/* 0284FA34 */ _t260 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FA34 */ _t261 = _t260 & 0x00000001u;
|
|
/* 0284FA34 */ if (_t261) goto L_0284FA68; else goto L_0284FA38;
|
|
L_0284FA38: ; // 0x284fa38
|
|
/* 0284FA38 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284FA38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FA3C */ _t262 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FA3C */ _t263 = _t262 & 0x00000001u;
|
|
/* 0284FA3C */ if (_t263) goto L_0284FA40; else goto L_0284FA50;
|
|
L_0284FA40: ; // 0x284fa40
|
|
/* 0284FA40 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284FA44 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FA48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FA4C */ _t264 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FA4C */ _t265 = _t264 & 0x00000001u;
|
|
/* 0284FA4C */ if (_t265) goto L_0284FA64; else goto L_0284FA50;
|
|
L_0284FA50: ; // 0x284fa50
|
|
/* 0284FA50 */ _t266 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284FA50 */ rbrew_write32(cpu->mem, _t266, cpu->r[27]);
|
|
/* 0284FA54 */ _t267 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FA54 */ rbrew_write32(cpu->mem, _t267, cpu->r[29]);
|
|
/* 0284FA58 */ _t268 = cpu->r[3] + 0x00000008u;
|
|
/* 0284FA58 */ rbrew_write16(cpu->mem, _t268, (uint16_t)cpu->r[27]);
|
|
/* 0284FA5C */ _t269 = cpu->r[3] + 0x0000000Au;
|
|
/* 0284FA5C */ rbrew_write16(cpu->mem, _t269, (uint16_t)cpu->r[27]);
|
|
/* 0284FA60 */ _t270 = cpu->r[3] + 0x00000004u;
|
|
/* 0284FA60 */ rbrew_write32(cpu->mem, _t270, cpu->r[27]);
|
|
L_0284FA64: ; // 0x284fa64
|
|
/* 0284FA64 */ _t271 = cpu->r[31] + 0x00000000u;
|
|
/* 0284FA64 */ rbrew_write32(cpu->mem, _t271, cpu->r[28]);
|
|
L_0284FA68: ; // 0x284fa68
|
|
/* 0284FA68 */ cpu->r[9] = 0x00000000u;
|
|
/* 0284FA6C */ _t272 = cpu->r[24] + 0x00000044u;
|
|
/* 0284FA6C */ rbrew_write32(cpu->mem, _t272, cpu->r[9]);
|
|
L_0284FA70: ; // 0x284fa70
|
|
/* 0284FA70 */ cpu->r[24] = cpu->r[30] + 0x0000028Cu;
|
|
/* 0284FA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284FA74 */ _t273 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FA74 */ _t274 = _t273 & 0x00000001u;
|
|
/* 0284FA74 */ if (_t274) goto L_0284FA78; else goto L_0284FA88;
|
|
L_0284FA78: ; // 0x284fa78
|
|
/* 0284FA78 */ cpu->r[3] = 0x00000054u;
|
|
/* 0284FA7C */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FA80 */ cpu->r[24] = cpu->r[3];
|
|
/* 0284FA80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284FA84 */ _t275 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FA84 */ _t276 = _t275 & 0x00000001u;
|
|
/* 0284FA84 */ if (_t276) goto L_0284FB54; else goto L_0284FA88;
|
|
L_0284FA88: ; // 0x284fa88
|
|
/* 0284FA88 */ cpu->r[31] = cpu->r[24];
|
|
/* 0284FA88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284FA8C */ _t277 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FA8C */ _t278 = _t277 & 0x00000001u;
|
|
/* 0284FA8C */ if (_t278) goto L_0284FA90; else goto L_0284FAA0;
|
|
L_0284FA90: ; // 0x284fa90
|
|
/* 0284FA90 */ cpu->r[3] = 0x00000014u;
|
|
/* 0284FA94 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FA98 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284FA98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284FA9C */ _t279 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FA9C */ _t280 = _t279 & 0x00000001u;
|
|
/* 0284FA9C */ if (_t280) goto L_0284FAAC; else goto L_0284FAA0;
|
|
L_0284FAA0: ; // 0x284faa0
|
|
/* 0284FAA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284FAA4 */ Gambit_fn_028029E4(cpu);
|
|
/* 0284FAA8 */ _t281 = cpu->r[31] + 0x00000010u;
|
|
/* 0284FAA8 */ rbrew_write32(cpu->mem, _t281, cpu->r[24]);
|
|
L_0284FAAC: ; // 0x284faac
|
|
/* 0284FAAC */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 0284FAAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FAB0 */ _t282 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FAB0 */ _t283 = _t282 & 0x00000001u;
|
|
/* 0284FAB0 */ if (_t283) goto L_0284FAB4; else goto L_0284FAC4;
|
|
L_0284FAB4: ; // 0x284fab4
|
|
/* 0284FAB4 */ cpu->r[3] = 0x00000008u;
|
|
/* 0284FAB8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FAC0 */ _t284 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FAC0 */ _t285 = _t284 & 0x00000001u;
|
|
/* 0284FAC0 */ if (_t285) goto L_0284FADC; else goto L_0284FAC4;
|
|
L_0284FAC4: ; // 0x284fac4
|
|
/* 0284FAC4 */ cpu->r[4] = 0x10130000u;
|
|
/* 0284FAC8 */ cpu->r[5] = 0x10130000u;
|
|
/* 0284FACC */ cpu->r[4] = cpu->r[4] + 0x00000054u;
|
|
/* 0284FAD0 */ cpu->r[5] = cpu->r[5] + 0x00000040u;
|
|
/* 0284FAD4 */ _t286 = cpu->r[3] + 0x00000004u;
|
|
/* 0284FAD4 */ rbrew_write32(cpu->mem, _t286, cpu->r[4]);
|
|
/* 0284FAD8 */ _t287 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FAD8 */ rbrew_write32(cpu->mem, _t287, cpu->r[5]);
|
|
L_0284FADC: ; // 0x284fadc
|
|
/* 0284FADC */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 0284FAE0 */ Gambit_fn_02821D00(cpu);
|
|
/* 0284FAE4 */ _t288 = cpu->r[24] + 0x00000028u;
|
|
/* 0284FAE4 */ rbrew_write32(cpu->mem, _t288, cpu->r[26]);
|
|
/* 0284FAE8 */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 0284FAE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FAEC */ _t289 = cpu->r[24] + 0x0000003Cu;
|
|
/* 0284FAEC */ rbrew_write32(cpu->mem, _t289, cpu->r[30]);
|
|
/* 0284FAF0 */ _t290 = cpu->r[24] + 0x00000050u;
|
|
/* 0284FAF0 */ rbrew_write32(cpu->mem, _t290, cpu->r[25]);
|
|
/* 0284FAF4 */ _t291 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FAF4 */ _t292 = _t291 & 0x00000001u;
|
|
/* 0284FAF4 */ if (_t292) goto L_0284FAF8; else goto L_0284FB08;
|
|
L_0284FAF8: ; // 0x284faf8
|
|
/* 0284FAF8 */ cpu->r[3] = 0x00000004u;
|
|
/* 0284FAFC */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FB00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FB04 */ _t293 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FB04 */ _t294 = _t293 & 0x00000001u;
|
|
/* 0284FB04 */ if (_t294) goto L_0284FB0C; else goto L_0284FB08;
|
|
L_0284FB08: ; // 0x284fb08
|
|
/* 0284FB08 */ _t295 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FB08 */ rbrew_write32(cpu->mem, _t295, cpu->r[27]);
|
|
L_0284FB0C: ; // 0x284fb0c
|
|
/* 0284FB0C */ _t296 = cpu->r[24] + 0x00000048u;
|
|
/* 0284FB0C */ rbrew_write32(cpu->mem, _t296, cpu->r[27]);
|
|
/* 0284FB10 */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 0284FB10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284FB14 */ _t297 = cpu->r[24] + 0x0000004Cu;
|
|
/* 0284FB14 */ rbrew_write32(cpu->mem, _t297, cpu->r[27]);
|
|
/* 0284FB18 */ _t298 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FB18 */ _t299 = _t298 & 0x00000001u;
|
|
/* 0284FB18 */ if (_t299) goto L_0284FB4C; else goto L_0284FB1C;
|
|
L_0284FB1C: ; // 0x284fb1c
|
|
/* 0284FB1C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284FB1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FB20 */ _t300 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FB20 */ _t301 = _t300 & 0x00000001u;
|
|
/* 0284FB20 */ if (_t301) goto L_0284FB24; else goto L_0284FB34;
|
|
L_0284FB24: ; // 0x284fb24
|
|
/* 0284FB24 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284FB28 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FB2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FB30 */ _t302 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FB30 */ _t303 = _t302 & 0x00000001u;
|
|
/* 0284FB30 */ if (_t303) goto L_0284FB48; else goto L_0284FB34;
|
|
L_0284FB34: ; // 0x284fb34
|
|
/* 0284FB34 */ _t304 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284FB34 */ rbrew_write32(cpu->mem, _t304, cpu->r[27]);
|
|
/* 0284FB38 */ _t305 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FB38 */ rbrew_write32(cpu->mem, _t305, cpu->r[29]);
|
|
/* 0284FB3C */ _t306 = cpu->r[3] + 0x00000008u;
|
|
/* 0284FB3C */ rbrew_write16(cpu->mem, _t306, (uint16_t)cpu->r[27]);
|
|
/* 0284FB40 */ _t307 = cpu->r[3] + 0x0000000Au;
|
|
/* 0284FB40 */ rbrew_write16(cpu->mem, _t307, (uint16_t)cpu->r[27]);
|
|
/* 0284FB44 */ _t308 = cpu->r[3] + 0x00000004u;
|
|
/* 0284FB44 */ rbrew_write32(cpu->mem, _t308, cpu->r[27]);
|
|
L_0284FB48: ; // 0x284fb48
|
|
/* 0284FB48 */ _t309 = cpu->r[31] + 0x00000000u;
|
|
/* 0284FB48 */ rbrew_write32(cpu->mem, _t309, cpu->r[28]);
|
|
L_0284FB4C: ; // 0x284fb4c
|
|
/* 0284FB4C */ cpu->r[12] = 0x00000000u;
|
|
/* 0284FB50 */ _t310 = cpu->r[24] + 0x00000044u;
|
|
/* 0284FB50 */ rbrew_write32(cpu->mem, _t310, cpu->r[12]);
|
|
L_0284FB54: ; // 0x284fb54
|
|
/* 0284FB54 */ cpu->r[24] = cpu->r[30] + 0x000002E0u;
|
|
/* 0284FB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284FB58 */ _t311 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FB58 */ _t312 = _t311 & 0x00000001u;
|
|
/* 0284FB58 */ if (_t312) goto L_0284FB5C; else goto L_0284FB6C;
|
|
L_0284FB5C: ; // 0x284fb5c
|
|
/* 0284FB5C */ cpu->r[3] = 0x00000054u;
|
|
/* 0284FB60 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FB64 */ cpu->r[24] = cpu->r[3];
|
|
/* 0284FB64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284FB68 */ _t313 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FB68 */ _t314 = _t313 & 0x00000001u;
|
|
/* 0284FB68 */ if (_t314) goto L_0284FC38; else goto L_0284FB6C;
|
|
L_0284FB6C: ; // 0x284fb6c
|
|
/* 0284FB6C */ cpu->r[31] = cpu->r[24];
|
|
/* 0284FB6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284FB70 */ _t315 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FB70 */ _t316 = _t315 & 0x00000001u;
|
|
/* 0284FB70 */ if (_t316) goto L_0284FB74; else goto L_0284FB84;
|
|
L_0284FB74: ; // 0x284fb74
|
|
/* 0284FB74 */ cpu->r[3] = 0x00000014u;
|
|
/* 0284FB78 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FB7C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284FB7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284FB80 */ _t317 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FB80 */ _t318 = _t317 & 0x00000001u;
|
|
/* 0284FB80 */ if (_t318) goto L_0284FB90; else goto L_0284FB84;
|
|
L_0284FB84: ; // 0x284fb84
|
|
/* 0284FB84 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284FB88 */ Gambit_fn_028029E4(cpu);
|
|
/* 0284FB8C */ _t319 = cpu->r[31] + 0x00000010u;
|
|
/* 0284FB8C */ rbrew_write32(cpu->mem, _t319, cpu->r[24]);
|
|
L_0284FB90: ; // 0x284fb90
|
|
/* 0284FB90 */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 0284FB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FB94 */ _t320 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FB94 */ _t321 = _t320 & 0x00000001u;
|
|
/* 0284FB94 */ if (_t321) goto L_0284FB98; else goto L_0284FBA8;
|
|
L_0284FB98: ; // 0x284fb98
|
|
/* 0284FB98 */ cpu->r[3] = 0x00000008u;
|
|
/* 0284FB9C */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FBA4 */ _t322 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FBA4 */ _t323 = _t322 & 0x00000001u;
|
|
/* 0284FBA4 */ if (_t323) goto L_0284FBC0; else goto L_0284FBA8;
|
|
L_0284FBA8: ; // 0x284fba8
|
|
/* 0284FBA8 */ cpu->r[6] = 0x10130000u;
|
|
/* 0284FBAC */ cpu->r[0] = 0x10130000u;
|
|
/* 0284FBB0 */ cpu->r[6] = cpu->r[6] + 0x00000054u;
|
|
/* 0284FBB4 */ cpu->r[0] = cpu->r[0] + 0x00000040u;
|
|
/* 0284FBB8 */ _t324 = cpu->r[3] + 0x00000004u;
|
|
/* 0284FBB8 */ rbrew_write32(cpu->mem, _t324, cpu->r[6]);
|
|
/* 0284FBBC */ _t325 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FBBC */ rbrew_write32(cpu->mem, _t325, cpu->r[0]);
|
|
L_0284FBC0: ; // 0x284fbc0
|
|
/* 0284FBC0 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 0284FBC4 */ Gambit_fn_02821D00(cpu);
|
|
/* 0284FBC8 */ _t326 = cpu->r[24] + 0x00000028u;
|
|
/* 0284FBC8 */ rbrew_write32(cpu->mem, _t326, cpu->r[26]);
|
|
/* 0284FBCC */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 0284FBCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FBD0 */ _t327 = cpu->r[24] + 0x0000003Cu;
|
|
/* 0284FBD0 */ rbrew_write32(cpu->mem, _t327, cpu->r[30]);
|
|
/* 0284FBD4 */ _t328 = cpu->r[24] + 0x00000050u;
|
|
/* 0284FBD4 */ rbrew_write32(cpu->mem, _t328, cpu->r[25]);
|
|
/* 0284FBD8 */ _t329 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FBD8 */ _t330 = _t329 & 0x00000001u;
|
|
/* 0284FBD8 */ if (_t330) goto L_0284FBDC; else goto L_0284FBEC;
|
|
L_0284FBDC: ; // 0x284fbdc
|
|
/* 0284FBDC */ cpu->r[3] = 0x00000004u;
|
|
/* 0284FBE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FBE8 */ _t331 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FBE8 */ _t332 = _t331 & 0x00000001u;
|
|
/* 0284FBE8 */ if (_t332) goto L_0284FBF0; else goto L_0284FBEC;
|
|
L_0284FBEC: ; // 0x284fbec
|
|
/* 0284FBEC */ _t333 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FBEC */ rbrew_write32(cpu->mem, _t333, cpu->r[27]);
|
|
L_0284FBF0: ; // 0x284fbf0
|
|
/* 0284FBF0 */ _t334 = cpu->r[24] + 0x00000048u;
|
|
/* 0284FBF0 */ rbrew_write32(cpu->mem, _t334, cpu->r[27]);
|
|
/* 0284FBF4 */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 0284FBF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284FBF8 */ _t335 = cpu->r[24] + 0x0000004Cu;
|
|
/* 0284FBF8 */ rbrew_write32(cpu->mem, _t335, cpu->r[27]);
|
|
/* 0284FBFC */ _t336 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FBFC */ _t337 = _t336 & 0x00000001u;
|
|
/* 0284FBFC */ if (_t337) goto L_0284FC30; else goto L_0284FC00;
|
|
L_0284FC00: ; // 0x284fc00
|
|
/* 0284FC00 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284FC00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FC04 */ _t338 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FC04 */ _t339 = _t338 & 0x00000001u;
|
|
/* 0284FC04 */ if (_t339) goto L_0284FC08; else goto L_0284FC18;
|
|
L_0284FC08: ; // 0x284fc08
|
|
/* 0284FC08 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284FC0C */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FC14 */ _t340 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FC14 */ _t341 = _t340 & 0x00000001u;
|
|
/* 0284FC14 */ if (_t341) goto L_0284FC2C; else goto L_0284FC18;
|
|
L_0284FC18: ; // 0x284fc18
|
|
/* 0284FC18 */ _t342 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284FC18 */ rbrew_write32(cpu->mem, _t342, cpu->r[27]);
|
|
/* 0284FC1C */ _t343 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FC1C */ rbrew_write32(cpu->mem, _t343, cpu->r[29]);
|
|
/* 0284FC20 */ _t344 = cpu->r[3] + 0x00000008u;
|
|
/* 0284FC20 */ rbrew_write16(cpu->mem, _t344, (uint16_t)cpu->r[27]);
|
|
/* 0284FC24 */ _t345 = cpu->r[3] + 0x0000000Au;
|
|
/* 0284FC24 */ rbrew_write16(cpu->mem, _t345, (uint16_t)cpu->r[27]);
|
|
/* 0284FC28 */ _t346 = cpu->r[3] + 0x00000004u;
|
|
/* 0284FC28 */ rbrew_write32(cpu->mem, _t346, cpu->r[27]);
|
|
L_0284FC2C: ; // 0x284fc2c
|
|
/* 0284FC2C */ _t347 = cpu->r[31] + 0x00000000u;
|
|
/* 0284FC2C */ rbrew_write32(cpu->mem, _t347, cpu->r[28]);
|
|
L_0284FC30: ; // 0x284fc30
|
|
/* 0284FC30 */ cpu->r[5] = 0x00000000u;
|
|
/* 0284FC34 */ _t348 = cpu->r[24] + 0x00000044u;
|
|
/* 0284FC34 */ rbrew_write32(cpu->mem, _t348, cpu->r[5]);
|
|
L_0284FC38: ; // 0x284fc38
|
|
/* 0284FC38 */ cpu->r[24] = cpu->r[30] + 0x00000334u;
|
|
/* 0284FC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284FC3C */ _t349 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FC3C */ _t350 = _t349 & 0x00000001u;
|
|
/* 0284FC3C */ if (_t350) goto L_0284FC40; else goto L_0284FC50;
|
|
L_0284FC40: ; // 0x284fc40
|
|
/* 0284FC40 */ cpu->r[3] = 0x00000054u;
|
|
/* 0284FC44 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FC48 */ cpu->r[24] = cpu->r[3];
|
|
/* 0284FC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284FC4C */ _t351 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FC4C */ _t352 = _t351 & 0x00000001u;
|
|
/* 0284FC4C */ if (_t352) goto L_0284FD1C; else goto L_0284FC50;
|
|
L_0284FC50: ; // 0x284fc50
|
|
/* 0284FC50 */ cpu->r[31] = cpu->r[24];
|
|
/* 0284FC50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284FC54 */ _t353 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FC54 */ _t354 = _t353 & 0x00000001u;
|
|
/* 0284FC54 */ if (_t354) goto L_0284FC58; else goto L_0284FC68;
|
|
L_0284FC58: ; // 0x284fc58
|
|
/* 0284FC58 */ cpu->r[3] = 0x00000014u;
|
|
/* 0284FC5C */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FC60 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284FC60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284FC64 */ _t355 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FC64 */ _t356 = _t355 & 0x00000001u;
|
|
/* 0284FC64 */ if (_t356) goto L_0284FC74; else goto L_0284FC68;
|
|
L_0284FC68: ; // 0x284fc68
|
|
/* 0284FC68 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284FC6C */ Gambit_fn_028029E4(cpu);
|
|
/* 0284FC70 */ _t357 = cpu->r[31] + 0x00000010u;
|
|
/* 0284FC70 */ rbrew_write32(cpu->mem, _t357, cpu->r[24]);
|
|
L_0284FC74: ; // 0x284fc74
|
|
/* 0284FC74 */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 0284FC74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FC78 */ _t358 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FC78 */ _t359 = _t358 & 0x00000001u;
|
|
/* 0284FC78 */ if (_t359) goto L_0284FC7C; else goto L_0284FC8C;
|
|
L_0284FC7C: ; // 0x284fc7c
|
|
/* 0284FC7C */ cpu->r[3] = 0x00000008u;
|
|
/* 0284FC80 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FC84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FC88 */ _t360 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FC88 */ _t361 = _t360 & 0x00000001u;
|
|
/* 0284FC88 */ if (_t361) goto L_0284FCA4; else goto L_0284FC8C;
|
|
L_0284FC8C: ; // 0x284fc8c
|
|
/* 0284FC8C */ cpu->r[8] = 0x10130000u;
|
|
/* 0284FC90 */ cpu->r[9] = 0x10130000u;
|
|
/* 0284FC94 */ cpu->r[8] = cpu->r[8] + 0x00000054u;
|
|
/* 0284FC98 */ cpu->r[9] = cpu->r[9] + 0x00000040u;
|
|
/* 0284FC9C */ _t362 = cpu->r[3] + 0x00000004u;
|
|
/* 0284FC9C */ rbrew_write32(cpu->mem, _t362, cpu->r[8]);
|
|
/* 0284FCA0 */ _t363 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FCA0 */ rbrew_write32(cpu->mem, _t363, cpu->r[9]);
|
|
L_0284FCA4: ; // 0x284fca4
|
|
/* 0284FCA4 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 0284FCA8 */ Gambit_fn_02821D00(cpu);
|
|
/* 0284FCAC */ _t364 = cpu->r[24] + 0x00000028u;
|
|
/* 0284FCAC */ rbrew_write32(cpu->mem, _t364, cpu->r[26]);
|
|
/* 0284FCB0 */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 0284FCB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FCB4 */ _t365 = cpu->r[24] + 0x0000003Cu;
|
|
/* 0284FCB4 */ rbrew_write32(cpu->mem, _t365, cpu->r[30]);
|
|
/* 0284FCB8 */ _t366 = cpu->r[24] + 0x00000050u;
|
|
/* 0284FCB8 */ rbrew_write32(cpu->mem, _t366, cpu->r[25]);
|
|
/* 0284FCBC */ _t367 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FCBC */ _t368 = _t367 & 0x00000001u;
|
|
/* 0284FCBC */ if (_t368) goto L_0284FCC0; else goto L_0284FCD0;
|
|
L_0284FCC0: ; // 0x284fcc0
|
|
/* 0284FCC0 */ cpu->r[3] = 0x00000004u;
|
|
/* 0284FCC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FCC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FCCC */ _t369 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FCCC */ _t370 = _t369 & 0x00000001u;
|
|
/* 0284FCCC */ if (_t370) goto L_0284FCD4; else goto L_0284FCD0;
|
|
L_0284FCD0: ; // 0x284fcd0
|
|
/* 0284FCD0 */ _t371 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FCD0 */ rbrew_write32(cpu->mem, _t371, cpu->r[27]);
|
|
L_0284FCD4: ; // 0x284fcd4
|
|
/* 0284FCD4 */ _t372 = cpu->r[24] + 0x00000048u;
|
|
/* 0284FCD4 */ rbrew_write32(cpu->mem, _t372, cpu->r[27]);
|
|
/* 0284FCD8 */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 0284FCD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284FCDC */ _t373 = cpu->r[24] + 0x0000004Cu;
|
|
/* 0284FCDC */ rbrew_write32(cpu->mem, _t373, cpu->r[27]);
|
|
/* 0284FCE0 */ _t374 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FCE0 */ _t375 = _t374 & 0x00000001u;
|
|
/* 0284FCE0 */ if (_t375) goto L_0284FD14; else goto L_0284FCE4;
|
|
L_0284FCE4: ; // 0x284fce4
|
|
/* 0284FCE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284FCE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FCE8 */ _t376 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FCE8 */ _t377 = _t376 & 0x00000001u;
|
|
/* 0284FCE8 */ if (_t377) goto L_0284FCEC; else goto L_0284FCFC;
|
|
L_0284FCEC: ; // 0x284fcec
|
|
/* 0284FCEC */ cpu->r[3] = 0x00000010u;
|
|
/* 0284FCF0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FCF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FCF8 */ _t378 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FCF8 */ _t379 = _t378 & 0x00000001u;
|
|
/* 0284FCF8 */ if (_t379) goto L_0284FD10; else goto L_0284FCFC;
|
|
L_0284FCFC: ; // 0x284fcfc
|
|
/* 0284FCFC */ _t380 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284FCFC */ rbrew_write32(cpu->mem, _t380, cpu->r[27]);
|
|
/* 0284FD00 */ _t381 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FD00 */ rbrew_write32(cpu->mem, _t381, cpu->r[29]);
|
|
/* 0284FD04 */ _t382 = cpu->r[3] + 0x00000008u;
|
|
/* 0284FD04 */ rbrew_write16(cpu->mem, _t382, (uint16_t)cpu->r[27]);
|
|
/* 0284FD08 */ _t383 = cpu->r[3] + 0x0000000Au;
|
|
/* 0284FD08 */ rbrew_write16(cpu->mem, _t383, (uint16_t)cpu->r[27]);
|
|
/* 0284FD0C */ _t384 = cpu->r[3] + 0x00000004u;
|
|
/* 0284FD0C */ rbrew_write32(cpu->mem, _t384, cpu->r[27]);
|
|
L_0284FD10: ; // 0x284fd10
|
|
/* 0284FD10 */ _t385 = cpu->r[31] + 0x00000000u;
|
|
/* 0284FD10 */ rbrew_write32(cpu->mem, _t385, cpu->r[28]);
|
|
L_0284FD14: ; // 0x284fd14
|
|
/* 0284FD14 */ cpu->r[7] = 0x00000000u;
|
|
/* 0284FD18 */ _t386 = cpu->r[24] + 0x00000044u;
|
|
/* 0284FD18 */ rbrew_write32(cpu->mem, _t386, cpu->r[7]);
|
|
L_0284FD1C: ; // 0x284fd1c
|
|
/* 0284FD1C */ cpu->r[24] = cpu->r[30] + 0x00000388u;
|
|
/* 0284FD1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284FD20 */ _t387 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FD20 */ _t388 = _t387 & 0x00000001u;
|
|
/* 0284FD20 */ if (_t388) goto L_0284FD24; else goto L_0284FD34;
|
|
L_0284FD24: ; // 0x284fd24
|
|
/* 0284FD24 */ cpu->r[3] = 0x00000054u;
|
|
/* 0284FD28 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FD2C */ cpu->r[24] = cpu->r[3];
|
|
/* 0284FD2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0284FD30 */ _t389 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FD30 */ _t390 = _t389 & 0x00000001u;
|
|
/* 0284FD30 */ if (_t390) goto L_0284FE00; else goto L_0284FD34;
|
|
L_0284FD34: ; // 0x284fd34
|
|
/* 0284FD34 */ cpu->r[31] = cpu->r[24];
|
|
/* 0284FD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284FD38 */ _t391 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FD38 */ _t392 = _t391 & 0x00000001u;
|
|
/* 0284FD38 */ if (_t392) goto L_0284FD3C; else goto L_0284FD4C;
|
|
L_0284FD3C: ; // 0x284fd3c
|
|
/* 0284FD3C */ cpu->r[3] = 0x00000014u;
|
|
/* 0284FD40 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FD44 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284FD44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284FD48 */ _t393 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FD48 */ _t394 = _t393 & 0x00000001u;
|
|
/* 0284FD48 */ if (_t394) goto L_0284FD58; else goto L_0284FD4C;
|
|
L_0284FD4C: ; // 0x284fd4c
|
|
/* 0284FD4C */ cpu->r[3] = cpu->r[31];
|
|
/* 0284FD50 */ Gambit_fn_028029E4(cpu);
|
|
/* 0284FD54 */ _t395 = cpu->r[31] + 0x00000010u;
|
|
/* 0284FD54 */ rbrew_write32(cpu->mem, _t395, cpu->r[24]);
|
|
L_0284FD58: ; // 0x284fd58
|
|
/* 0284FD58 */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 0284FD58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FD5C */ _t396 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FD5C */ _t397 = _t396 & 0x00000001u;
|
|
/* 0284FD5C */ if (_t397) goto L_0284FD60; else goto L_0284FD70;
|
|
L_0284FD60: ; // 0x284fd60
|
|
/* 0284FD60 */ cpu->r[3] = 0x00000008u;
|
|
/* 0284FD64 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FD6C */ _t398 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FD6C */ _t399 = _t398 & 0x00000001u;
|
|
/* 0284FD6C */ if (_t399) goto L_0284FD88; else goto L_0284FD70;
|
|
L_0284FD70: ; // 0x284fd70
|
|
/* 0284FD70 */ cpu->r[10] = 0x10130000u;
|
|
/* 0284FD74 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284FD78 */ cpu->r[10] = cpu->r[10] + 0x00000054u;
|
|
/* 0284FD7C */ cpu->r[0] = cpu->r[0] + 0x00000040u;
|
|
/* 0284FD80 */ _t400 = cpu->r[3] + 0x00000004u;
|
|
/* 0284FD80 */ rbrew_write32(cpu->mem, _t400, cpu->r[10]);
|
|
/* 0284FD84 */ _t401 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FD84 */ rbrew_write32(cpu->mem, _t401, cpu->r[0]);
|
|
L_0284FD88: ; // 0x284fd88
|
|
/* 0284FD88 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 0284FD8C */ Gambit_fn_02821D00(cpu);
|
|
/* 0284FD90 */ _t402 = cpu->r[24] + 0x00000028u;
|
|
/* 0284FD90 */ rbrew_write32(cpu->mem, _t402, cpu->r[26]);
|
|
/* 0284FD94 */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 0284FD94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FD98 */ _t403 = cpu->r[24] + 0x0000003Cu;
|
|
/* 0284FD98 */ rbrew_write32(cpu->mem, _t403, cpu->r[30]);
|
|
/* 0284FD9C */ _t404 = cpu->r[24] + 0x00000050u;
|
|
/* 0284FD9C */ rbrew_write32(cpu->mem, _t404, cpu->r[25]);
|
|
/* 0284FDA0 */ _t405 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FDA0 */ _t406 = _t405 & 0x00000001u;
|
|
/* 0284FDA0 */ if (_t406) goto L_0284FDA4; else goto L_0284FDB4;
|
|
L_0284FDA4: ; // 0x284fda4
|
|
/* 0284FDA4 */ cpu->r[3] = 0x00000004u;
|
|
/* 0284FDA8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FDAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FDB0 */ _t407 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FDB0 */ _t408 = _t407 & 0x00000001u;
|
|
/* 0284FDB0 */ if (_t408) goto L_0284FDB8; else goto L_0284FDB4;
|
|
L_0284FDB4: ; // 0x284fdb4
|
|
/* 0284FDB4 */ _t409 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FDB4 */ rbrew_write32(cpu->mem, _t409, cpu->r[27]);
|
|
L_0284FDB8: ; // 0x284fdb8
|
|
/* 0284FDB8 */ _t410 = cpu->r[24] + 0x00000048u;
|
|
/* 0284FDB8 */ rbrew_write32(cpu->mem, _t410, cpu->r[27]);
|
|
/* 0284FDBC */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 0284FDBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284FDC0 */ _t411 = cpu->r[24] + 0x0000004Cu;
|
|
/* 0284FDC0 */ rbrew_write32(cpu->mem, _t411, cpu->r[27]);
|
|
/* 0284FDC4 */ _t412 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FDC4 */ _t413 = _t412 & 0x00000001u;
|
|
/* 0284FDC4 */ if (_t413) goto L_0284FDF8; else goto L_0284FDC8;
|
|
L_0284FDC8: ; // 0x284fdc8
|
|
/* 0284FDC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284FDC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FDCC */ _t414 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FDCC */ _t415 = _t414 & 0x00000001u;
|
|
/* 0284FDCC */ if (_t415) goto L_0284FDD0; else goto L_0284FDE0;
|
|
L_0284FDD0: ; // 0x284fdd0
|
|
/* 0284FDD0 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284FDD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284FDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FDDC */ _t416 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FDDC */ _t417 = _t416 & 0x00000001u;
|
|
/* 0284FDDC */ if (_t417) goto L_0284FDF4; else goto L_0284FDE0;
|
|
L_0284FDE0: ; // 0x284fde0
|
|
/* 0284FDE0 */ _t418 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0284FDE0 */ rbrew_write32(cpu->mem, _t418, cpu->r[27]);
|
|
/* 0284FDE4 */ _t419 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FDE4 */ rbrew_write32(cpu->mem, _t419, cpu->r[29]);
|
|
/* 0284FDE8 */ _t420 = cpu->r[3] + 0x00000008u;
|
|
/* 0284FDE8 */ rbrew_write16(cpu->mem, _t420, (uint16_t)cpu->r[27]);
|
|
/* 0284FDEC */ _t421 = cpu->r[3] + 0x0000000Au;
|
|
/* 0284FDEC */ rbrew_write16(cpu->mem, _t421, (uint16_t)cpu->r[27]);
|
|
/* 0284FDF0 */ _t422 = cpu->r[3] + 0x00000004u;
|
|
/* 0284FDF0 */ rbrew_write32(cpu->mem, _t422, cpu->r[27]);
|
|
L_0284FDF4: ; // 0x284fdf4
|
|
/* 0284FDF4 */ _t423 = cpu->r[31] + 0x00000000u;
|
|
/* 0284FDF4 */ rbrew_write32(cpu->mem, _t423, cpu->r[28]);
|
|
L_0284FDF8: ; // 0x284fdf8
|
|
/* 0284FDF8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0284FDFC */ _t424 = cpu->r[24] + 0x00000044u;
|
|
/* 0284FDFC */ rbrew_write32(cpu->mem, _t424, cpu->r[0]);
|
|
L_0284FE00: ; // 0x284fe00
|
|
/* 0284FE00 */ cpu->r[5] = 0x10130000u;
|
|
/* 0284FE04 */ cpu->r[7] = 0x10130000u;
|
|
/* 0284FE08 */ _t425 = cpu->r[30] + 0x000003E0u;
|
|
/* 0284FE08 */ rbrew_write32(cpu->mem, _t425, cpu->r[27]);
|
|
/* 0284FE0C */ cpu->r[5] = cpu->r[5] + 0x00000154u;
|
|
/* 0284FE10 */ cpu->r[7] = cpu->r[7] + 0x000000ECu;
|
|
/* 0284FE14 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284FE18 */ _t426 = cpu->r[30] + 0x00000054u;
|
|
/* 0284FE18 */ rbrew_write32(cpu->mem, _t426, cpu->r[5]);
|
|
/* 0284FE1C */ cpu->r[8] = 0x10130000u;
|
|
/* 0284FE20 */ cpu->r[0] = cpu->r[0] + 0x000000DCu;
|
|
/* 0284FE24 */ _t427 = cpu->r[30] + 0x000000FCu;
|
|
/* 0284FE24 */ rbrew_write32(cpu->mem, _t427, cpu->r[7]);
|
|
/* 0284FE28 */ cpu->r[8] = cpu->r[8] + 0x000000FCu;
|
|
/* 0284FE2C */ _t428 = cpu->r[30] + 0x000000A8u;
|
|
/* 0284FE2C */ rbrew_write32(cpu->mem, _t428, cpu->r[0]);
|
|
/* 0284FE30 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284FE34 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284FE38 */ _t429 = cpu->r[30] + 0x00000150u;
|
|
/* 0284FE38 */ rbrew_write32(cpu->mem, _t429, cpu->r[8]);
|
|
/* 0284FE3C */ cpu->r[0] = cpu->r[0] + 0x00000178u;
|
|
/* 0284FE40 */ cpu->r[11] = cpu->r[11] + 0x00000110u;
|
|
/* 0284FE44 */ _t430 = cpu->r[30] + 0x000001F8u;
|
|
/* 0284FE44 */ rbrew_write32(cpu->mem, _t430, cpu->r[0]);
|
|
/* 0284FE48 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284FE4C */ cpu->r[9] = 0x10130000u;
|
|
/* 0284FE50 */ _t431 = cpu->r[30] + 0x0000024Cu;
|
|
/* 0284FE50 */ rbrew_write32(cpu->mem, _t431, cpu->r[11]);
|
|
/* 0284FE54 */ cpu->r[0] = cpu->r[0] + 0x0000018Cu;
|
|
/* 0284FE58 */ cpu->r[9] = cpu->r[9] + 0x00000164u;
|
|
/* 0284FE5C */ _t432 = cpu->r[30] + 0x000002F4u;
|
|
/* 0284FE5C */ rbrew_write32(cpu->mem, _t432, cpu->r[0]);
|
|
/* 0284FE60 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284FE64 */ cpu->r[4] = 0x10130000u;
|
|
/* 0284FE68 */ _t433 = cpu->r[30] + 0x000001A4u;
|
|
/* 0284FE68 */ rbrew_write32(cpu->mem, _t433, cpu->r[9]);
|
|
/* 0284FE6C */ cpu->r[0] = cpu->r[0] + 0x0000013Cu;
|
|
/* 0284FE70 */ cpu->r[4] = cpu->r[4] + 0x000001A0u;
|
|
/* 0284FE74 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284FE78 */ _t434 = cpu->r[30] + 0x0000039Cu;
|
|
/* 0284FE78 */ rbrew_write32(cpu->mem, _t434, cpu->r[0]);
|
|
/* 0284FE7C */ cpu->r[12] = cpu->r[12] + 0x00000128u;
|
|
/* 0284FE80 */ _t435 = cpu->r[30] + 0x00000348u;
|
|
/* 0284FE80 */ rbrew_write32(cpu->mem, _t435, cpu->r[4]);
|
|
/* 0284FE84 */ _t436 = cpu->r[30] + 0x000002A0u;
|
|
/* 0284FE84 */ rbrew_write32(cpu->mem, _t436, cpu->r[12]);
|
|
/* 0284FE88 */ cpu->r[12] = 0x00000001u;
|
|
/* 0284FE8C */ cpu->r[4] = cpu->r[30] + 0x00000094u;
|
|
/* 0284FE90 */ cpu->r[3] = cpu->r[30] + 0x00000040u;
|
|
/* 0284FE94 */ _t437 = cpu->r[30] + 0x000003DCu;
|
|
/* 0284FE94 */ rbrew_write32(cpu->mem, _t437, cpu->r[12]);
|
|
/* 0284FE98 */ Gambit_fn_028143CC(cpu);
|
|
/* 0284FE9C */ cpu->r[4] = cpu->r[30] + 0x000000E8u;
|
|
/* 0284FEA0 */ cpu->r[3] = cpu->r[30] + 0x00000040u;
|
|
/* 0284FEA4 */ Gambit_fn_028143CC(cpu);
|
|
/* 0284FEA8 */ cpu->r[4] = cpu->r[30] + 0x000001E4u;
|
|
/* 0284FEAC */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 0284FEB0 */ Gambit_fn_028143CC(cpu);
|
|
/* 0284FEB4 */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 0284FEB8 */ cpu->r[4] = cpu->r[30] + 0x00000238u;
|
|
/* 0284FEBC */ Gambit_fn_028143CC(cpu);
|
|
/* 0284FEC0 */ cpu->r[4] = cpu->r[30] + 0x00000190u;
|
|
/* 0284FEC4 */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 0284FEC8 */ Gambit_fn_028143CC(cpu);
|
|
/* 0284FECC */ cpu->r[4] = cpu->r[30] + 0x00000334u;
|
|
/* 0284FED0 */ cpu->r[3] = cpu->r[30] + 0x0000028Cu;
|
|
/* 0284FED4 */ Gambit_fn_028143CC(cpu);
|
|
/* 0284FED8 */ cpu->r[4] = cpu->r[30] + 0x00000388u;
|
|
/* 0284FEDC */ cpu->r[3] = cpu->r[30] + 0x0000028Cu;
|
|
/* 0284FEE0 */ Gambit_fn_028143CC(cpu);
|
|
/* 0284FEE4 */ cpu->r[4] = cpu->r[30] + 0x000002E0u;
|
|
/* 0284FEE8 */ cpu->r[3] = cpu->r[30] + 0x0000028Cu;
|
|
/* 0284FEEC */ Gambit_fn_028143CC(cpu);
|
|
/* 0284FEF0 */ cpu->r[3] = cpu->r[30] + 0x00000094u;
|
|
/* 0284FEF4 */ Gambit_fn_0281434C(cpu);
|
|
/* 0284FEF8 */ _t438 = cpu->r[30] + 0x000000DCu;
|
|
/* 0284FEF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t438);
|
|
/* 0284FEFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FF00 */ _t439 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FF00 */ _t440 = _t439 & 0x00000001u;
|
|
/* 0284FF00 */ if (_t440) goto L_0284FF1C; else goto L_0284FF04;
|
|
L_0284FF04: ; // 0x284ff04
|
|
/* 0284FF04 */ _t441 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FF04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t441);
|
|
/* 0284FF08 */ _t442 = cpu->r[6] + 0x0000000Cu;
|
|
/* 0284FF08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t442);
|
|
/* 0284FF0C */ cpu->ctr = cpu->r[0];
|
|
/* 0284FF10 */ cpu->r[4] = cpu->r[30] + 0x00000094u;
|
|
/* 0284FF14 */ cpu->r[5] = 0x00000000u;
|
|
/* 0284FF18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284FF1C: ; // 0x284ff1c
|
|
/* 0284FF1C */ cpu->r[3] = cpu->r[30] + 0x00000094u;
|
|
/* 0284FF20 */ _t443 = cpu->r[30] + 0x000000D8u;
|
|
/* 0284FF20 */ rbrew_write32(cpu->mem, _t443, cpu->r[27]);
|
|
/* 0284FF24 */ Gambit_fn_0281435C(cpu);
|
|
/* 0284FF28 */ cpu->r[3] = cpu->r[30] + 0x000000E8u;
|
|
/* 0284FF2C */ Gambit_fn_0281434C(cpu);
|
|
/* 0284FF30 */ _t444 = cpu->r[30] + 0x00000130u;
|
|
/* 0284FF30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t444);
|
|
/* 0284FF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FF38 */ _t445 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FF38 */ _t446 = _t445 & 0x00000001u;
|
|
/* 0284FF38 */ if (_t446) goto L_0284FF54; else goto L_0284FF3C;
|
|
L_0284FF3C: ; // 0x284ff3c
|
|
/* 0284FF3C */ _t447 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FF3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t447);
|
|
/* 0284FF40 */ _t448 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0284FF40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t448);
|
|
/* 0284FF44 */ cpu->ctr = cpu->r[12];
|
|
/* 0284FF48 */ cpu->r[4] = cpu->r[30] + 0x000000E8u;
|
|
/* 0284FF4C */ cpu->r[5] = 0x00000000u;
|
|
/* 0284FF50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284FF54: ; // 0x284ff54
|
|
/* 0284FF54 */ cpu->r[3] = cpu->r[30] + 0x000000E8u;
|
|
/* 0284FF58 */ _t449 = cpu->r[30] + 0x0000012Cu;
|
|
/* 0284FF58 */ rbrew_write32(cpu->mem, _t449, cpu->r[27]);
|
|
/* 0284FF5C */ Gambit_fn_0281435C(cpu);
|
|
/* 0284FF60 */ cpu->r[3] = cpu->r[30] + 0x00000190u;
|
|
/* 0284FF64 */ Gambit_fn_0281434C(cpu);
|
|
/* 0284FF68 */ _t450 = cpu->r[30] + 0x000001D8u;
|
|
/* 0284FF68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t450);
|
|
/* 0284FF6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FF70 */ _t451 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FF70 */ _t452 = _t451 & 0x00000001u;
|
|
/* 0284FF70 */ if (_t452) goto L_0284FF8C; else goto L_0284FF74;
|
|
L_0284FF74: ; // 0x284ff74
|
|
/* 0284FF74 */ _t453 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FF74 */ cpu->r[4] = rbrew_read32(cpu->mem, _t453);
|
|
/* 0284FF78 */ _t454 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0284FF78 */ cpu->r[6] = rbrew_read32(cpu->mem, _t454);
|
|
/* 0284FF7C */ cpu->ctr = cpu->r[6];
|
|
/* 0284FF80 */ cpu->r[4] = cpu->r[30] + 0x00000190u;
|
|
/* 0284FF84 */ cpu->r[5] = 0x00000000u;
|
|
/* 0284FF88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284FF8C: ; // 0x284ff8c
|
|
/* 0284FF8C */ cpu->r[3] = cpu->r[30] + 0x00000190u;
|
|
/* 0284FF90 */ _t455 = cpu->r[30] + 0x000001D4u;
|
|
/* 0284FF90 */ rbrew_write32(cpu->mem, _t455, cpu->r[27]);
|
|
/* 0284FF94 */ Gambit_fn_0281435C(cpu);
|
|
/* 0284FF98 */ cpu->r[3] = cpu->r[30] + 0x000001E4u;
|
|
/* 0284FF9C */ Gambit_fn_0281434C(cpu);
|
|
/* 0284FFA0 */ _t456 = cpu->r[30] + 0x0000022Cu;
|
|
/* 0284FFA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t456);
|
|
/* 0284FFA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FFA8 */ _t457 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FFA8 */ _t458 = _t457 & 0x00000001u;
|
|
/* 0284FFA8 */ if (_t458) goto L_0284FFC4; else goto L_0284FFAC;
|
|
L_0284FFAC: ; // 0x284ffac
|
|
/* 0284FFAC */ _t459 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FFAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t459);
|
|
/* 0284FFB0 */ _t460 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0284FFB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t460);
|
|
/* 0284FFB4 */ cpu->ctr = cpu->r[0];
|
|
/* 0284FFB8 */ cpu->r[4] = cpu->r[30] + 0x000001E4u;
|
|
/* 0284FFBC */ cpu->r[5] = 0x00000000u;
|
|
/* 0284FFC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284FFC4: ; // 0x284ffc4
|
|
/* 0284FFC4 */ cpu->r[3] = cpu->r[30] + 0x000001E4u;
|
|
/* 0284FFC8 */ _t461 = cpu->r[30] + 0x00000228u;
|
|
/* 0284FFC8 */ rbrew_write32(cpu->mem, _t461, cpu->r[27]);
|
|
/* 0284FFCC */ Gambit_fn_0281435C(cpu);
|
|
/* 0284FFD0 */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 0284FFD4 */ Gambit_fn_0281434C(cpu);
|
|
/* 0284FFD8 */ _t462 = cpu->r[30] + 0x00000280u;
|
|
/* 0284FFD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t462);
|
|
/* 0284FFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284FFE0 */ _t463 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284FFE0 */ _t464 = _t463 & 0x00000001u;
|
|
/* 0284FFE0 */ if (_t464) goto L_0284FFFC; else goto L_0284FFE4;
|
|
L_0284FFE4: ; // 0x284ffe4
|
|
/* 0284FFE4 */ _t465 = cpu->r[3] + 0x00000000u;
|
|
/* 0284FFE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t465);
|
|
/* 0284FFE8 */ _t466 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0284FFE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t466);
|
|
/* 0284FFEC */ cpu->ctr = cpu->r[0];
|
|
/* 0284FFF0 */ cpu->r[4] = cpu->r[30] + 0x00000238u;
|
|
/* 0284FFF4 */ cpu->r[5] = 0x00000000u;
|
|
/* 0284FFF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284FFFC: ; // 0x284fffc
|
|
/* 0284FFFC */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 02850000 */ _t467 = cpu->r[30] + 0x0000027Cu;
|
|
/* 02850000 */ rbrew_write32(cpu->mem, _t467, cpu->r[27]);
|
|
/* 02850004 */ Gambit_fn_0281435C(cpu);
|
|
/* 02850008 */ cpu->r[3] = cpu->r[30] + 0x000002E0u;
|
|
/* 0285000C */ Gambit_fn_0281434C(cpu);
|
|
/* 02850010 */ _t468 = cpu->r[30] + 0x00000328u;
|
|
/* 02850010 */ cpu->r[3] = rbrew_read32(cpu->mem, _t468);
|
|
/* 02850014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850018 */ _t469 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850018 */ _t470 = _t469 & 0x00000001u;
|
|
/* 02850018 */ if (_t470) goto L_02850034; else goto L_0285001C;
|
|
L_0285001C: ; // 0x285001c
|
|
/* 0285001C */ _t471 = cpu->r[3] + 0x00000000u;
|
|
/* 0285001C */ cpu->r[6] = rbrew_read32(cpu->mem, _t471);
|
|
/* 02850020 */ _t472 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02850020 */ cpu->r[8] = rbrew_read32(cpu->mem, _t472);
|
|
/* 02850024 */ cpu->ctr = cpu->r[8];
|
|
/* 02850028 */ cpu->r[4] = cpu->r[30] + 0x000002E0u;
|
|
/* 0285002C */ cpu->r[5] = 0x00000000u;
|
|
/* 02850030 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850034: ; // 0x2850034
|
|
/* 02850034 */ cpu->r[3] = cpu->r[30] + 0x000002E0u;
|
|
/* 02850038 */ _t473 = cpu->r[30] + 0x00000324u;
|
|
/* 02850038 */ rbrew_write32(cpu->mem, _t473, cpu->r[27]);
|
|
/* 0285003C */ Gambit_fn_0281435C(cpu);
|
|
/* 02850040 */ cpu->r[3] = cpu->r[30] + 0x00000334u;
|
|
/* 02850044 */ Gambit_fn_0281434C(cpu);
|
|
/* 02850048 */ _t474 = cpu->r[30] + 0x0000037Cu;
|
|
/* 02850048 */ cpu->r[3] = rbrew_read32(cpu->mem, _t474);
|
|
/* 0285004C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850050 */ _t475 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850050 */ _t476 = _t475 & 0x00000001u;
|
|
/* 02850050 */ if (_t476) goto L_0285006C; else goto L_02850054;
|
|
L_02850054: ; // 0x2850054
|
|
/* 02850054 */ _t477 = cpu->r[3] + 0x00000000u;
|
|
/* 02850054 */ cpu->r[10] = rbrew_read32(cpu->mem, _t477);
|
|
/* 02850058 */ _t478 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02850058 */ cpu->r[11] = rbrew_read32(cpu->mem, _t478);
|
|
/* 0285005C */ cpu->ctr = cpu->r[11];
|
|
/* 02850060 */ cpu->r[4] = cpu->r[30] + 0x00000334u;
|
|
/* 02850064 */ cpu->r[5] = 0x00000000u;
|
|
/* 02850068 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0285006C: ; // 0x285006c
|
|
/* 0285006C */ cpu->r[3] = cpu->r[30] + 0x00000334u;
|
|
/* 02850070 */ _t479 = cpu->r[30] + 0x00000378u;
|
|
/* 02850070 */ rbrew_write32(cpu->mem, _t479, cpu->r[27]);
|
|
/* 02850074 */ Gambit_fn_0281435C(cpu);
|
|
/* 02850078 */ cpu->r[3] = cpu->r[30] + 0x00000388u;
|
|
/* 0285007C */ Gambit_fn_0281434C(cpu);
|
|
/* 02850080 */ _t480 = cpu->r[30] + 0x000003D0u;
|
|
/* 02850080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t480);
|
|
/* 02850084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850088 */ _t481 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850088 */ _t482 = _t481 & 0x00000001u;
|
|
/* 02850088 */ if (_t482) goto L_028500A4; else goto L_0285008C;
|
|
L_0285008C: ; // 0x285008c
|
|
/* 0285008C */ _t483 = cpu->r[3] + 0x00000000u;
|
|
/* 0285008C */ cpu->r[12] = rbrew_read32(cpu->mem, _t483);
|
|
/* 02850090 */ _t484 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02850090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t484);
|
|
/* 02850094 */ cpu->ctr = cpu->r[0];
|
|
/* 02850098 */ cpu->r[4] = cpu->r[30] + 0x00000388u;
|
|
/* 0285009C */ cpu->r[5] = 0x00000000u;
|
|
/* 028500A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028500A4: ; // 0x28500a4
|
|
/* 028500A4 */ cpu->r[3] = cpu->r[30] + 0x00000388u;
|
|
/* 028500A8 */ _t485 = cpu->r[30] + 0x000003CCu;
|
|
/* 028500A8 */ rbrew_write32(cpu->mem, _t485, cpu->r[27]);
|
|
/* 028500AC */ Gambit_fn_0281435C(cpu);
|
|
/* 028500B0 */ cpu->r[3] = cpu->r[30] + 0x00000040u;
|
|
/* 028500B4 */ Gambit_fn_0281434C(cpu);
|
|
/* 028500B8 */ _t486 = cpu->r[30] + 0x00000088u;
|
|
/* 028500B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t486);
|
|
/* 028500BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028500C0 */ _t487 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028500C0 */ _t488 = _t487 & 0x00000001u;
|
|
/* 028500C0 */ if (_t488) goto L_028500DC; else goto L_028500C4;
|
|
L_028500C4: ; // 0x28500c4
|
|
/* 028500C4 */ _t489 = cpu->r[3] + 0x00000000u;
|
|
/* 028500C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t489);
|
|
/* 028500C8 */ _t490 = cpu->r[5] + 0x0000000Cu;
|
|
/* 028500C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t490);
|
|
/* 028500CC */ cpu->ctr = cpu->r[0];
|
|
/* 028500D0 */ cpu->r[5] = 0x00000003u;
|
|
/* 028500D4 */ cpu->r[4] = cpu->r[30] + 0x00000040u;
|
|
/* 028500D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028500DC: ; // 0x28500dc
|
|
/* 028500DC */ cpu->r[7] = 0x00000003u;
|
|
/* 028500E0 */ cpu->r[3] = cpu->r[30] + 0x00000040u;
|
|
/* 028500E4 */ _t491 = cpu->r[30] + 0x00000084u;
|
|
/* 028500E4 */ rbrew_write32(cpu->mem, _t491, cpu->r[7]);
|
|
/* 028500E8 */ Gambit_fn_0281435C(cpu);
|
|
/* 028500EC */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 028500F0 */ Gambit_fn_0281434C(cpu);
|
|
/* 028500F4 */ _t492 = cpu->r[30] + 0x00000184u;
|
|
/* 028500F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t492);
|
|
/* 028500F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028500FC */ _t493 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028500FC */ _t494 = _t493 & 0x00000001u;
|
|
/* 028500FC */ if (_t494) goto L_02850118; else goto L_02850100;
|
|
L_02850100: ; // 0x2850100
|
|
/* 02850100 */ _t495 = cpu->r[3] + 0x00000000u;
|
|
/* 02850100 */ cpu->r[8] = rbrew_read32(cpu->mem, _t495);
|
|
/* 02850104 */ _t496 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02850104 */ cpu->r[9] = rbrew_read32(cpu->mem, _t496);
|
|
/* 02850108 */ cpu->ctr = cpu->r[9];
|
|
/* 0285010C */ cpu->r[4] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850110 */ cpu->r[5] = 0x00000003u;
|
|
/* 02850114 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850118: ; // 0x2850118
|
|
/* 02850118 */ cpu->r[0] = 0x00000003u;
|
|
/* 0285011C */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850120 */ _t497 = cpu->r[30] + 0x00000180u;
|
|
/* 02850120 */ rbrew_write32(cpu->mem, _t497, cpu->r[0]);
|
|
/* 02850124 */ Gambit_fn_0281435C(cpu);
|
|
/* 02850128 */ cpu->r[3] = cpu->r[30] + 0x0000028Cu;
|
|
/* 0285012C */ Gambit_fn_0281434C(cpu);
|
|
/* 02850130 */ _t498 = cpu->r[30] + 0x000002D4u;
|
|
/* 02850130 */ cpu->r[3] = rbrew_read32(cpu->mem, _t498);
|
|
/* 02850134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850138 */ _t499 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850138 */ _t500 = _t499 & 0x00000001u;
|
|
/* 02850138 */ if (_t500) goto L_02850154; else goto L_0285013C;
|
|
L_0285013C: ; // 0x285013c
|
|
/* 0285013C */ _t501 = cpu->r[3] + 0x00000000u;
|
|
/* 0285013C */ cpu->r[11] = rbrew_read32(cpu->mem, _t501);
|
|
/* 02850140 */ _t502 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02850140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t502);
|
|
/* 02850144 */ cpu->ctr = cpu->r[12];
|
|
/* 02850148 */ cpu->r[4] = cpu->r[30] + 0x0000028Cu;
|
|
/* 0285014C */ cpu->r[5] = 0x00000003u;
|
|
/* 02850150 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850154: ; // 0x2850154
|
|
/* 02850154 */ cpu->r[0] = 0x00000003u;
|
|
/* 02850158 */ cpu->r[3] = cpu->r[30] + 0x0000028Cu;
|
|
/* 0285015C */ _t503 = cpu->r[30] + 0x000002D0u;
|
|
/* 0285015C */ rbrew_write32(cpu->mem, _t503, cpu->r[0]);
|
|
/* 02850160 */ Gambit_fn_0281435C(cpu);
|
|
L_02850164: ; // 0x2850164
|
|
/* 02850164 */ cpu->r[3] = cpu->r[30];
|
|
/* 02850168 */ /* nop */
|
|
/* 0285016C */ _t504 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285016C */ cpu->r[0] = rbrew_read32(cpu->mem, _t504);
|
|
/* 02850170 */ cpu->lr = cpu->r[0];
|
|
/* 02850174 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02850178 */ return;
|
|
}
|
|
|
|
// fn_0285017C @ 0x285017c
|
|
void Gambit_fn_0285017C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0285017C: ; // 0x285017c
|
|
/* 0285017C */ cpu->r[12] = cpu->r[4];
|
|
/* 02850180 */ cpu->r[4] = cpu->r[5];
|
|
/* 02850184 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Au);
|
|
/* 02850188 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02850188 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02850188 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02850188 */ goto L_0285018C;
|
|
L_0285018C: ; // 0x285018c
|
|
/* 0285018C */ cpu->r[0] = 0x02850000u;
|
|
/* 02850190 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02850194 */ cpu->r[0] = cpu->r[0] + 0x000001A4u;
|
|
/* 02850198 */ cpu->r[0] = cpu->r[12] + cpu->r[0];
|
|
/* 0285019C */ cpu->ctr = cpu->r[0];
|
|
/* 028501A0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0285027C @ 0x285027c
|
|
void Gambit_fn_0285027C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0285027C: ; // 0x285027c
|
|
/* 0285027C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000000Au);
|
|
/* 02850280 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02850280 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02850280 */ if (_t1) goto L_0285034C; else goto L_02850284;
|
|
L_02850284: ; // 0x2850284
|
|
/* 02850284 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02850288 */ cpu->r[11] = cpu->r[4] + 0x02850000u;
|
|
/* 0285028C */ cpu->r[11] = cpu->r[11] + 0x00000298u;
|
|
/* 02850290 */ cpu->ctr = cpu->r[11];
|
|
/* 02850294 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0285034C: ; // 0x285034c
|
|
/* 0285034C */ cpu->r[3] = 0x00000000u;
|
|
/* 02850350 */ return;
|
|
}
|
|
|
|
// fn_02850354 @ 0x2850354
|
|
void Gambit_fn_02850354(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02850354: ; // 0x2850354
|
|
/* 02850354 */ cpu->r[0] = cpu->lr;
|
|
/* 02850358 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02850358 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850358 */ cpu->r[1] = _t0;
|
|
/* 0285035C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285035C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02850360 */ cpu->r[31] = cpu->r[3];
|
|
/* 02850364 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02850364 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02850368 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 0285036C */ cpu->r[30] = cpu->r[4];
|
|
/* 02850370 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02850370 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02850374 */ Gambit_fn_0281434C(cpu);
|
|
/* 02850378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285037C */ _t4 = cpu->r[31] + 0x00000088u;
|
|
/* 0285037C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02850380 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850380 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02850380 */ if (_t6) goto L_02850430; else goto L_02850384;
|
|
L_02850384: ; // 0x2850384
|
|
/* 02850384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850388 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850388 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02850388 */ if (_t8) goto L_028503A4; else goto L_0285038C;
|
|
L_0285038C: ; // 0x285038c
|
|
/* 0285038C */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 0285038C */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02850390 */ _t10 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02850390 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02850394 */ cpu->ctr = cpu->r[7];
|
|
/* 02850398 */ cpu->r[4] = cpu->r[31] + 0x00000040u;
|
|
/* 0285039C */ cpu->r[5] = 0x00000003u;
|
|
/* 028503A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028503A4: ; // 0x28503a4
|
|
/* 028503A4 */ cpu->r[8] = 0x00000003u;
|
|
/* 028503A8 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 028503AC */ _t11 = cpu->r[31] + 0x00000084u;
|
|
/* 028503AC */ rbrew_write32(cpu->mem, _t11, cpu->r[8]);
|
|
/* 028503B0 */ Gambit_fn_0281435C(cpu);
|
|
/* 028503B4 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 028503B8 */ Gambit_fn_0281434C(cpu);
|
|
/* 028503BC */ _t12 = cpu->r[31] + 0x00000184u;
|
|
/* 028503BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028503C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028503C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028503C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028503C4 */ if (_t14) goto L_028503E0; else goto L_028503C8;
|
|
L_028503C8: ; // 0x28503c8
|
|
/* 028503C8 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 028503C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028503CC */ _t16 = cpu->r[9] + 0x0000000Cu;
|
|
/* 028503CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028503D0 */ cpu->ctr = cpu->r[10];
|
|
/* 028503D4 */ cpu->r[4] = cpu->r[31] + 0x0000013Cu;
|
|
/* 028503D8 */ cpu->r[5] = 0x00000003u;
|
|
/* 028503DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028503E0: ; // 0x28503e0
|
|
/* 028503E0 */ cpu->r[0] = 0x00000003u;
|
|
/* 028503E4 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 028503E8 */ _t17 = cpu->r[31] + 0x00000180u;
|
|
/* 028503E8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 028503EC */ Gambit_fn_0281435C(cpu);
|
|
/* 028503F0 */ cpu->r[3] = cpu->r[31] + 0x0000028Cu;
|
|
/* 028503F4 */ Gambit_fn_0281434C(cpu);
|
|
/* 028503F8 */ _t18 = cpu->r[31] + 0x000002D4u;
|
|
/* 028503F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028503FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850400 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850400 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02850400 */ if (_t20) goto L_0285041C; else goto L_02850404;
|
|
L_02850404: ; // 0x2850404
|
|
/* 02850404 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 02850404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02850408 */ _t22 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02850408 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285040C */ cpu->ctr = cpu->r[6];
|
|
/* 02850410 */ cpu->r[4] = cpu->r[31] + 0x0000028Cu;
|
|
/* 02850414 */ cpu->r[5] = 0x00000003u;
|
|
/* 02850418 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0285041C: ; // 0x285041c
|
|
/* 0285041C */ cpu->r[0] = 0x00000003u;
|
|
/* 02850420 */ cpu->r[3] = cpu->r[31] + 0x0000028Cu;
|
|
/* 02850424 */ _t23 = cpu->r[31] + 0x000002D0u;
|
|
/* 02850424 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02850428 */ Gambit_fn_0281435C(cpu);
|
|
/* 0285042C */ goto L_028504D4;
|
|
L_02850430: ; // 0x2850430
|
|
/* 02850430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850434 */ cpu->r[30] = 0x00000000u;
|
|
/* 02850438 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850438 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02850438 */ if (_t25) goto L_02850454; else goto L_0285043C;
|
|
L_0285043C: ; // 0x285043c
|
|
/* 0285043C */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 0285043C */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02850440 */ _t27 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02850440 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02850444 */ cpu->ctr = cpu->r[8];
|
|
/* 02850448 */ cpu->r[4] = cpu->r[31] + 0x00000040u;
|
|
/* 0285044C */ cpu->r[5] = 0x00000000u;
|
|
/* 02850450 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850454: ; // 0x2850454
|
|
/* 02850454 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02850458 */ _t28 = cpu->r[31] + 0x00000084u;
|
|
/* 02850458 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 0285045C */ Gambit_fn_0281435C(cpu);
|
|
/* 02850460 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 02850464 */ Gambit_fn_0281434C(cpu);
|
|
/* 02850468 */ _t29 = cpu->r[31] + 0x00000184u;
|
|
/* 02850468 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0285046C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850470 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850470 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02850470 */ if (_t31) goto L_0285048C; else goto L_02850474;
|
|
L_02850474: ; // 0x2850474
|
|
/* 02850474 */ _t32 = cpu->r[3] + 0x00000000u;
|
|
/* 02850474 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02850478 */ _t33 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02850478 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0285047C */ cpu->ctr = cpu->r[10];
|
|
/* 02850480 */ cpu->r[4] = cpu->r[31] + 0x0000013Cu;
|
|
/* 02850484 */ cpu->r[5] = 0x00000000u;
|
|
/* 02850488 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0285048C: ; // 0x285048c
|
|
/* 0285048C */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 02850490 */ _t34 = cpu->r[31] + 0x00000180u;
|
|
/* 02850490 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 02850494 */ Gambit_fn_0281435C(cpu);
|
|
/* 02850498 */ cpu->r[3] = cpu->r[31] + 0x0000028Cu;
|
|
/* 0285049C */ Gambit_fn_0281434C(cpu);
|
|
/* 028504A0 */ _t35 = cpu->r[31] + 0x000002D4u;
|
|
/* 028504A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 028504A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028504A8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028504A8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 028504A8 */ if (_t37) goto L_028504C4; else goto L_028504AC;
|
|
L_028504AC: ; // 0x28504ac
|
|
/* 028504AC */ _t38 = cpu->r[3] + 0x00000000u;
|
|
/* 028504AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 028504B0 */ _t39 = cpu->r[11] + 0x0000000Cu;
|
|
/* 028504B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 028504B4 */ cpu->ctr = cpu->r[12];
|
|
/* 028504B8 */ cpu->r[4] = cpu->r[31] + 0x0000028Cu;
|
|
/* 028504BC */ cpu->r[5] = 0x00000000u;
|
|
/* 028504C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028504C4: ; // 0x28504c4
|
|
/* 028504C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 028504C8 */ cpu->r[3] = cpu->r[31] + 0x0000028Cu;
|
|
/* 028504CC */ _t40 = cpu->r[31] + 0x000002D0u;
|
|
/* 028504CC */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 028504D0 */ Gambit_fn_0281435C(cpu);
|
|
L_028504D4: ; // 0x28504d4
|
|
/* 028504D4 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 028504D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 028504D8 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 028504D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 028504DC */ cpu->lr = cpu->r[0];
|
|
/* 028504E0 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028504E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 028504E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028504E8 */ return;
|
|
}
|
|
|
|
// fn_02850358 @ 0x2850358
|
|
void Gambit_fn_02850358(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02850358: ; // 0x2850358
|
|
/* 02850358 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02850358 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850358 */ cpu->r[1] = _t0;
|
|
/* 0285035C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285035C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02850360 */ cpu->r[31] = cpu->r[3];
|
|
/* 02850364 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02850364 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02850368 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 0285036C */ cpu->r[30] = cpu->r[4];
|
|
/* 02850370 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02850370 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02850374 */ Gambit_fn_0281434C(cpu);
|
|
/* 02850378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285037C */ _t4 = cpu->r[31] + 0x00000088u;
|
|
/* 0285037C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02850380 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850380 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02850380 */ if (_t6) goto L_02850430; else goto L_02850384;
|
|
L_02850384: ; // 0x2850384
|
|
/* 02850384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850388 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850388 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02850388 */ if (_t8) goto L_028503A4; else goto L_0285038C;
|
|
L_0285038C: ; // 0x285038c
|
|
/* 0285038C */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 0285038C */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02850390 */ _t10 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02850390 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02850394 */ cpu->ctr = cpu->r[7];
|
|
/* 02850398 */ cpu->r[4] = cpu->r[31] + 0x00000040u;
|
|
/* 0285039C */ cpu->r[5] = 0x00000003u;
|
|
/* 028503A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028503A4: ; // 0x28503a4
|
|
/* 028503A4 */ cpu->r[8] = 0x00000003u;
|
|
/* 028503A8 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 028503AC */ _t11 = cpu->r[31] + 0x00000084u;
|
|
/* 028503AC */ rbrew_write32(cpu->mem, _t11, cpu->r[8]);
|
|
/* 028503B0 */ Gambit_fn_0281435C(cpu);
|
|
/* 028503B4 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 028503B8 */ Gambit_fn_0281434C(cpu);
|
|
/* 028503BC */ _t12 = cpu->r[31] + 0x00000184u;
|
|
/* 028503BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028503C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028503C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028503C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028503C4 */ if (_t14) goto L_028503E0; else goto L_028503C8;
|
|
L_028503C8: ; // 0x28503c8
|
|
/* 028503C8 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 028503C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028503CC */ _t16 = cpu->r[9] + 0x0000000Cu;
|
|
/* 028503CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028503D0 */ cpu->ctr = cpu->r[10];
|
|
/* 028503D4 */ cpu->r[4] = cpu->r[31] + 0x0000013Cu;
|
|
/* 028503D8 */ cpu->r[5] = 0x00000003u;
|
|
/* 028503DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028503E0: ; // 0x28503e0
|
|
/* 028503E0 */ cpu->r[0] = 0x00000003u;
|
|
/* 028503E4 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 028503E8 */ _t17 = cpu->r[31] + 0x00000180u;
|
|
/* 028503E8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 028503EC */ Gambit_fn_0281435C(cpu);
|
|
/* 028503F0 */ cpu->r[3] = cpu->r[31] + 0x0000028Cu;
|
|
/* 028503F4 */ Gambit_fn_0281434C(cpu);
|
|
/* 028503F8 */ _t18 = cpu->r[31] + 0x000002D4u;
|
|
/* 028503F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028503FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850400 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850400 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02850400 */ if (_t20) goto L_0285041C; else goto L_02850404;
|
|
L_02850404: ; // 0x2850404
|
|
/* 02850404 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 02850404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02850408 */ _t22 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02850408 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285040C */ cpu->ctr = cpu->r[6];
|
|
/* 02850410 */ cpu->r[4] = cpu->r[31] + 0x0000028Cu;
|
|
/* 02850414 */ cpu->r[5] = 0x00000003u;
|
|
/* 02850418 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0285041C: ; // 0x285041c
|
|
/* 0285041C */ cpu->r[0] = 0x00000003u;
|
|
/* 02850420 */ cpu->r[3] = cpu->r[31] + 0x0000028Cu;
|
|
/* 02850424 */ _t23 = cpu->r[31] + 0x000002D0u;
|
|
/* 02850424 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02850428 */ Gambit_fn_0281435C(cpu);
|
|
/* 0285042C */ goto L_028504D4;
|
|
L_02850430: ; // 0x2850430
|
|
/* 02850430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850434 */ cpu->r[30] = 0x00000000u;
|
|
/* 02850438 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850438 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02850438 */ if (_t25) goto L_02850454; else goto L_0285043C;
|
|
L_0285043C: ; // 0x285043c
|
|
/* 0285043C */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 0285043C */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02850440 */ _t27 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02850440 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02850444 */ cpu->ctr = cpu->r[8];
|
|
/* 02850448 */ cpu->r[4] = cpu->r[31] + 0x00000040u;
|
|
/* 0285044C */ cpu->r[5] = 0x00000000u;
|
|
/* 02850450 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850454: ; // 0x2850454
|
|
/* 02850454 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02850458 */ _t28 = cpu->r[31] + 0x00000084u;
|
|
/* 02850458 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 0285045C */ Gambit_fn_0281435C(cpu);
|
|
/* 02850460 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 02850464 */ Gambit_fn_0281434C(cpu);
|
|
/* 02850468 */ _t29 = cpu->r[31] + 0x00000184u;
|
|
/* 02850468 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0285046C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850470 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850470 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02850470 */ if (_t31) goto L_0285048C; else goto L_02850474;
|
|
L_02850474: ; // 0x2850474
|
|
/* 02850474 */ _t32 = cpu->r[3] + 0x00000000u;
|
|
/* 02850474 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02850478 */ _t33 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02850478 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0285047C */ cpu->ctr = cpu->r[10];
|
|
/* 02850480 */ cpu->r[4] = cpu->r[31] + 0x0000013Cu;
|
|
/* 02850484 */ cpu->r[5] = 0x00000000u;
|
|
/* 02850488 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0285048C: ; // 0x285048c
|
|
/* 0285048C */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 02850490 */ _t34 = cpu->r[31] + 0x00000180u;
|
|
/* 02850490 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 02850494 */ Gambit_fn_0281435C(cpu);
|
|
/* 02850498 */ cpu->r[3] = cpu->r[31] + 0x0000028Cu;
|
|
/* 0285049C */ Gambit_fn_0281434C(cpu);
|
|
/* 028504A0 */ _t35 = cpu->r[31] + 0x000002D4u;
|
|
/* 028504A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 028504A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028504A8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028504A8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 028504A8 */ if (_t37) goto L_028504C4; else goto L_028504AC;
|
|
L_028504AC: ; // 0x28504ac
|
|
/* 028504AC */ _t38 = cpu->r[3] + 0x00000000u;
|
|
/* 028504AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 028504B0 */ _t39 = cpu->r[11] + 0x0000000Cu;
|
|
/* 028504B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 028504B4 */ cpu->ctr = cpu->r[12];
|
|
/* 028504B8 */ cpu->r[4] = cpu->r[31] + 0x0000028Cu;
|
|
/* 028504BC */ cpu->r[5] = 0x00000000u;
|
|
/* 028504C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028504C4: ; // 0x28504c4
|
|
/* 028504C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 028504C8 */ cpu->r[3] = cpu->r[31] + 0x0000028Cu;
|
|
/* 028504CC */ _t40 = cpu->r[31] + 0x000002D0u;
|
|
/* 028504CC */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 028504D0 */ Gambit_fn_0281435C(cpu);
|
|
L_028504D4: ; // 0x28504d4
|
|
/* 028504D4 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 028504D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 028504D8 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 028504D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 028504DC */ cpu->lr = cpu->r[0];
|
|
/* 028504E0 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028504E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 028504E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028504E8 */ return;
|
|
}
|
|
|
|
// fn_028504EC @ 0x28504ec
|
|
void Gambit_fn_028504EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02814554: ; // 0x2814554
|
|
/* 02814554 */ cpu->r[0] = cpu->lr;
|
|
/* 02814558 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02814558 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814558 */ cpu->r[1] = _t0;
|
|
/* 0281455C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281455C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02814560 */ cpu->r[31] = cpu->r[3];
|
|
/* 02814564 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02814564 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02814568 */ Gambit_fn_0281434C(cpu);
|
|
/* 0281456C */ cpu->r[3] = cpu->r[31];
|
|
/* 02814570 */ Gambit_fn_028144C4(cpu);
|
|
/* 02814574 */ cpu->r[3] = cpu->r[31];
|
|
/* 02814578 */ Gambit_fn_0281435C(cpu);
|
|
/* 0281457C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281457C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02814580 */ cpu->lr = cpu->r[0];
|
|
/* 02814584 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02814588 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0281458C */ return;
|
|
L_028504EC: ; // 0x28504ec
|
|
/* 028504EC */ cpu->r[3] = cpu->r[3] + 0x00000040u;
|
|
/* 028504F0 */ goto L_02814554;
|
|
}
|
|
|
|
// fn_028504F4 @ 0x28504f4
|
|
void Gambit_fn_028504F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02814554: ; // 0x2814554
|
|
/* 02814554 */ cpu->r[0] = cpu->lr;
|
|
/* 02814558 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02814558 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814558 */ cpu->r[1] = _t0;
|
|
/* 0281455C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281455C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02814560 */ cpu->r[31] = cpu->r[3];
|
|
/* 02814564 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02814564 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02814568 */ Gambit_fn_0281434C(cpu);
|
|
/* 0281456C */ cpu->r[3] = cpu->r[31];
|
|
/* 02814570 */ Gambit_fn_028144C4(cpu);
|
|
/* 02814574 */ cpu->r[3] = cpu->r[31];
|
|
/* 02814578 */ Gambit_fn_0281435C(cpu);
|
|
/* 0281457C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281457C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02814580 */ cpu->lr = cpu->r[0];
|
|
/* 02814584 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02814588 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0281458C */ return;
|
|
L_028504F4: ; // 0x28504f4
|
|
/* 028504F4 */ cpu->r[3] = cpu->r[3] + 0x0000013Cu;
|
|
/* 028504F8 */ goto L_02814554;
|
|
}
|
|
|
|
// fn_028504FC @ 0x28504fc
|
|
void Gambit_fn_028504FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02814554: ; // 0x2814554
|
|
/* 02814554 */ cpu->r[0] = cpu->lr;
|
|
/* 02814558 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02814558 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814558 */ cpu->r[1] = _t0;
|
|
/* 0281455C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281455C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02814560 */ cpu->r[31] = cpu->r[3];
|
|
/* 02814564 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02814564 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02814568 */ Gambit_fn_0281434C(cpu);
|
|
/* 0281456C */ cpu->r[3] = cpu->r[31];
|
|
/* 02814570 */ Gambit_fn_028144C4(cpu);
|
|
/* 02814574 */ cpu->r[3] = cpu->r[31];
|
|
/* 02814578 */ Gambit_fn_0281435C(cpu);
|
|
/* 0281457C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281457C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02814580 */ cpu->lr = cpu->r[0];
|
|
/* 02814584 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02814588 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0281458C */ return;
|
|
L_028504FC: ; // 0x28504fc
|
|
/* 028504FC */ cpu->r[3] = cpu->r[3] + 0x0000028Cu;
|
|
/* 02850500 */ goto L_02814554;
|
|
}
|
|
|
|
// fn_02850504 @ 0x2850504
|
|
void Gambit_fn_02850504(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02850504: ; // 0x2850504
|
|
/* 02850504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850508 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850508 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02850508 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02850508 */ goto L_0285050C;
|
|
L_0285050C: ; // 0x285050c
|
|
/* 0285050C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285050C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02850510 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850510 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02850510 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02850510 */ goto L_02850514;
|
|
L_02850514: ; // 0x2850514
|
|
/* 02850514 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02850518 @ 0x2850518
|
|
void Gambit_fn_02850518(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02850518: ; // 0x2850518
|
|
/* 02850518 */ cpu->r[0] = cpu->lr;
|
|
/* 0285051C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285051C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285051C */ cpu->r[1] = _t0;
|
|
/* 02850520 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850520 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02850524 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02850524 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02850528 */ cpu->r[30] = cpu->r[3];
|
|
/* 02850528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285052C */ cpu->r[31] = cpu->r[4];
|
|
/* 02850530 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02850530 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02850534 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850534 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02850534 */ if (_t5) goto L_02850574; else goto L_02850538;
|
|
L_02850538: ; // 0x2850538
|
|
/* 02850538 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285053C */ cpu->r[12] = 0x10130000u;
|
|
/* 02850540 */ cpu->r[0] = cpu->r[0] + 0x00000084u;
|
|
/* 02850544 */ cpu->r[12] = cpu->r[12] + 0x000000A4u;
|
|
/* 02850548 */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02850548 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285054C */ cpu->r[3] = cpu->r[30];
|
|
/* 02850550 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02850550 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02850554 */ Gambit_fn_0281436C(cpu);
|
|
/* 02850558 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285055C */ cpu->r[4] = 0x00000000u;
|
|
/* 02850560 */ Gambit_fn_02821E68(cpu);
|
|
/* 02850564 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02850564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02850568 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850568 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02850568 */ if (_t9) goto L_02850574; else goto L_0285056C;
|
|
L_0285056C: ; // 0x285056c
|
|
/* 0285056C */ cpu->r[3] = cpu->r[30];
|
|
/* 02850570 */ Gambit_fn_02801BB0(cpu);
|
|
L_02850574: ; // 0x2850574
|
|
/* 02850574 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02850574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02850578 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02850578 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285057C */ cpu->lr = cpu->r[0];
|
|
/* 02850580 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850580 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02850584 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02850588 */ return;
|
|
}
|
|
|
|
// fn_0285051C @ 0x285051c
|
|
void Gambit_fn_0285051C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0285051C: ; // 0x285051c
|
|
/* 0285051C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285051C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285051C */ cpu->r[1] = _t0;
|
|
/* 02850520 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850520 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02850524 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02850524 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02850528 */ cpu->r[30] = cpu->r[3];
|
|
/* 02850528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285052C */ cpu->r[31] = cpu->r[4];
|
|
/* 02850530 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02850530 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02850534 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850534 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02850534 */ if (_t5) goto L_02850574; else goto L_02850538;
|
|
L_02850538: ; // 0x2850538
|
|
/* 02850538 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285053C */ cpu->r[12] = 0x10130000u;
|
|
/* 02850540 */ cpu->r[0] = cpu->r[0] + 0x00000084u;
|
|
/* 02850544 */ cpu->r[12] = cpu->r[12] + 0x000000A4u;
|
|
/* 02850548 */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02850548 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285054C */ cpu->r[3] = cpu->r[30];
|
|
/* 02850550 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02850550 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02850554 */ Gambit_fn_0281436C(cpu);
|
|
/* 02850558 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285055C */ cpu->r[4] = 0x00000000u;
|
|
/* 02850560 */ Gambit_fn_02821E68(cpu);
|
|
/* 02850564 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02850564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02850568 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850568 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02850568 */ if (_t9) goto L_02850574; else goto L_0285056C;
|
|
L_0285056C: ; // 0x285056c
|
|
/* 0285056C */ cpu->r[3] = cpu->r[30];
|
|
/* 02850570 */ Gambit_fn_02801BB0(cpu);
|
|
L_02850574: ; // 0x2850574
|
|
/* 02850574 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02850574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02850578 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02850578 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285057C */ cpu->lr = cpu->r[0];
|
|
/* 02850580 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850580 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02850584 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02850588 */ return;
|
|
}
|
|
|
|
// fn_0285058C @ 0x285058c
|
|
void Gambit_fn_0285058C(CPUState* cpu) {
|
|
L_0285058C: ; // 0x285058c
|
|
/* 0285058C */ return;
|
|
}
|
|
|
|
// fn_02850590 @ 0x2850590
|
|
void Gambit_fn_02850590(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02850590: ; // 0x2850590
|
|
/* 02850590 */ cpu->r[12] = cpu->r[3];
|
|
/* 02850594 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02850594 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02850598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285059C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285059C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285059C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285059C */ goto L_028505A0;
|
|
L_028505A0: ; // 0x28505a0
|
|
/* 028505A0 */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 028505A0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 028505A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028505A8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028505A8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028505A8 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028505A8 */ goto L_028505AC;
|
|
L_028505AC: ; // 0x28505ac
|
|
/* 028505AC */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 028505AC */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 028505B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028505B4 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 028505B8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028505B8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028505B8 */ if (_t8) goto L_028505BC; else goto L_028505C8;
|
|
L_028505BC: ; // 0x28505bc
|
|
/* 028505BC */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028505BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028505C0 */ cpu->ctr = cpu->r[11];
|
|
/* 028505C4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_028505C8: ; // 0x28505c8
|
|
/* 028505C8 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 028505C8 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 028505CC */ _t11 = cpu->r[3] + cpu->r[12];
|
|
/* 028505CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028505D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 028505D4 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 028505D8 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 028505D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028505DC */ cpu->ctr = cpu->r[11];
|
|
/* 028505E0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_028505E4 @ 0x28505e4
|
|
void Gambit_fn_028505E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_028505E4: ; // 0x28505e4
|
|
/* 028505E4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 028505E8 */ _t0 = cpu->r[9] + 0xFFFFF38Cu;
|
|
/* 028505E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028505E8 */ cpu->r[9] = _t0;
|
|
/* 028505EC */ cpu->r[12] = 0x101D0000u;
|
|
/* 028505F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 028505F4 */ cpu->r[12] = cpu->r[12] + 0x000015F0u;
|
|
/* 028505F8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028505F8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 028505F8 */ if (_t2) goto L_028505FC; else goto L_02850610;
|
|
L_028505FC: ; // 0x28505fc
|
|
/* 028505FC */ cpu->r[7] = 0x10130000u;
|
|
/* 02850600 */ cpu->r[0] = 0x00000001u;
|
|
/* 02850604 */ cpu->r[7] = cpu->r[7] + 0x000000CCu;
|
|
/* 02850608 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02850608 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285060C */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0285060C */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02850610: ; // 0x2850610
|
|
/* 02850610 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02850614 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850614 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02850614 */ if (_t6) goto L_02850618; else goto L_02850620;
|
|
L_02850618: ; // 0x2850618
|
|
/* 02850618 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285061C */ return;
|
|
L_02850620: ; // 0x2850620
|
|
/* 02850620 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02850624 */ _t7 = cpu->r[7] + 0xFFFFF388u;
|
|
/* 02850624 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02850624 */ cpu->r[7] = _t7;
|
|
/* 02850628 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0285062C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02850630 */ cpu->r[11] = cpu->r[11] + 0x00001608u;
|
|
/* 02850634 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850634 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02850634 */ if (_t9) goto L_02850638; else goto L_0285064C;
|
|
L_02850638: ; // 0x2850638
|
|
/* 02850638 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285063C */ cpu->r[9] = 0x00000001u;
|
|
/* 02850640 */ cpu->r[0] = cpu->r[0] + 0x00000044u;
|
|
/* 02850644 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02850644 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02850648 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02850648 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0285064C: ; // 0x285064c
|
|
/* 0285064C */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02850650 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02850654 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02850658 */ return;
|
|
}
|
|
|
|
// fn_0285065C @ 0x285065c
|
|
void Gambit_fn_0285065C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0285065C: ; // 0x285065c
|
|
/* 0285065C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFE4u;
|
|
/* 02850660 */ goto L_02851700;
|
|
L_02851700: ; // 0x2851700
|
|
/* 02851700 */ cpu->r[0] = cpu->lr;
|
|
/* 02851704 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02851704 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851704 */ cpu->r[1] = _t0;
|
|
/* 02851708 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851708 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285170C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285170C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02851710 */ cpu->r[30] = cpu->r[3];
|
|
/* 02851710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02851714 */ cpu->r[31] = cpu->r[4];
|
|
/* 02851718 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02851718 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285171C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285171C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285171C */ if (_t5) goto L_0285175C; else goto L_02851720;
|
|
L_02851720: ; // 0x2851720
|
|
/* 02851720 */ cpu->r[0] = 0x10130000u;
|
|
/* 02851724 */ cpu->r[12] = 0x10130000u;
|
|
/* 02851728 */ cpu->r[0] = cpu->r[0] + 0x0000023Cu;
|
|
/* 0285172C */ cpu->r[12] = cpu->r[12] + 0x0000025Cu;
|
|
/* 02851730 */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02851730 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02851734 */ cpu->r[3] = cpu->r[30];
|
|
/* 02851738 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02851738 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0285173C */ Gambit_fn_0281436C(cpu);
|
|
/* 02851740 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02851744 */ cpu->r[4] = 0x00000000u;
|
|
/* 02851748 */ Gambit_fn_02821E68(cpu);
|
|
/* 0285174C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285174C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02851750 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851750 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02851750 */ if (_t9) goto L_0285175C; else goto L_02851754;
|
|
L_02851754: ; // 0x2851754
|
|
/* 02851754 */ cpu->r[3] = cpu->r[30];
|
|
/* 02851758 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285175C: ; // 0x285175c
|
|
/* 0285175C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0285175C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02851760 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02851760 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02851764 */ cpu->lr = cpu->r[0];
|
|
/* 02851768 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851768 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285176C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02851770 */ return;
|
|
}
|
|
|
|
// fn_02850664 @ 0x2850664
|
|
void Gambit_fn_02850664(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02850664: ; // 0x2850664
|
|
/* 02850664 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 02850668 */ goto L_0285181C;
|
|
L_0285181C: ; // 0x285181c
|
|
/* 0285181C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285181C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285181C */ cpu->r[1] = _t0;
|
|
/* 02851820 */ cpu->r[0] = cpu->lr;
|
|
/* 02851824 */ /* nop */
|
|
/* 02851828 */ cpu->r[30] = cpu->r[3];
|
|
/* 02851828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285182C */ cpu->r[31] = cpu->r[4];
|
|
/* 02851830 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02851830 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02851834 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851834 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02851834 */ if (_t3) goto L_02851910; else goto L_02851838;
|
|
L_02851838: ; // 0x2851838
|
|
/* 02851838 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285183C */ cpu->r[29] = 0x10130000u;
|
|
/* 02851840 */ cpu->r[28] = 0x10130000u;
|
|
/* 02851844 */ cpu->r[0] = cpu->r[0] + 0x000003ECu;
|
|
/* 02851848 */ cpu->r[27] = 0x00000000u;
|
|
/* 0285184C */ cpu->r[29] = cpu->r[29] + 0x0000025Cu;
|
|
/* 02851850 */ cpu->r[7] = cpu->r[30] + 0x00000190u;
|
|
/* 02851850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02851854 */ cpu->r[28] = cpu->r[28] + 0x0000023Cu;
|
|
/* 02851858 */ _t4 = cpu->r[30] + 0x00000020u;
|
|
/* 02851858 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285185C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285185C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285185C */ if (_t6) goto L_0285187C; else goto L_02851860;
|
|
L_02851860: ; // 0x2851860
|
|
/* 02851860 */ _t7 = cpu->r[30] + 0x000001E0u;
|
|
/* 02851860 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 02851864 */ cpu->r[3] = cpu->r[30] + 0x00000190u;
|
|
/* 02851868 */ _t8 = cpu->r[30] + 0x000001B8u;
|
|
/* 02851868 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0285186C */ Gambit_fn_0281436C(cpu);
|
|
/* 02851870 */ cpu->r[3] = cpu->r[30] + 0x000001ACu;
|
|
/* 02851874 */ cpu->r[4] = 0x00000000u;
|
|
/* 02851878 */ Gambit_fn_02821E68(cpu);
|
|
L_0285187C: ; // 0x285187c
|
|
/* 0285187C */ cpu->r[8] = cpu->r[30] + 0x0000013Cu;
|
|
/* 0285187C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02851880 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851880 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02851880 */ if (_t10) goto L_028518A0; else goto L_02851884;
|
|
L_02851884: ; // 0x2851884
|
|
/* 02851884 */ _t11 = cpu->r[30] + 0x0000018Cu;
|
|
/* 02851884 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 02851888 */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 0285188C */ _t12 = cpu->r[30] + 0x00000164u;
|
|
/* 0285188C */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02851890 */ Gambit_fn_0281436C(cpu);
|
|
/* 02851894 */ cpu->r[3] = cpu->r[30] + 0x00000158u;
|
|
/* 02851898 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285189C */ Gambit_fn_02821E68(cpu);
|
|
L_028518A0: ; // 0x28518a0
|
|
/* 028518A0 */ cpu->r[0] = cpu->r[30] + 0x00000100u;
|
|
/* 028518A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028518A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028518A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028518A4 */ if (_t14) goto L_028518F4; else goto L_028518A8;
|
|
L_028518A8: ; // 0x28518a8
|
|
/* 028518A8 */ _t15 = cpu->r[30] + 0x00000138u;
|
|
/* 028518A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 028518AC */ cpu->r[10] = 0x10130000u;
|
|
/* 028518B0 */ cpu->r[10] = cpu->r[10] + 0x0000029Cu;
|
|
/* 028518B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028518B8 */ _t16 = cpu->r[30] + 0x0000010Cu;
|
|
/* 028518B8 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 028518BC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028518BC */ _t18 = _t17 & 0x00000001u;
|
|
/* 028518BC */ if (_t18) goto L_028518E8; else goto L_028518C0;
|
|
L_028518C0: ; // 0x28518c0
|
|
/* 028518C0 */ _t19 = cpu->r[30] + 0x0000011Cu;
|
|
/* 028518C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028518C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028518C8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028518C8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 028518C8 */ if (_t21) goto L_028518E4; else goto L_028518CC;
|
|
L_028518CC: ; // 0x28518cc
|
|
/* 028518CC */ cpu->r[3] = cpu->r[30] + 0x00000110u;
|
|
/* 028518D0 */ _t22 = cpu->r[30] + 0x0000011Cu;
|
|
/* 028518D0 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
/* 028518D4 */ Gambit_fn_02801EDC(cpu);
|
|
/* 028518D8 */ _t23 = cpu->r[29] + 0x00000008u;
|
|
/* 028518D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028518DC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 028518E0 */ _t24 = cpu->r[29] + 0x00000008u;
|
|
/* 028518E0 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
L_028518E4: ; // 0x28518e4
|
|
/* 028518E4 */ _t25 = cpu->r[30] + 0x00000138u;
|
|
/* 028518E4 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[27]);
|
|
L_028518E8: ; // 0x28518e8
|
|
/* 028518E8 */ cpu->r[3] = cpu->r[30] + 0x00000100u;
|
|
/* 028518EC */ cpu->r[4] = 0x00000000u;
|
|
/* 028518F0 */ Gambit_fn_02821E68(cpu);
|
|
L_028518F4: ; // 0x28518f4
|
|
/* 028518F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028518F8 */ cpu->r[4] = 0x00000000u;
|
|
/* 028518FC */ Gambit_fn_02814F74(cpu);
|
|
/* 02851900 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02851900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02851904 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851904 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02851904 */ if (_t27) goto L_02851910; else goto L_02851908;
|
|
L_02851908: ; // 0x2851908
|
|
/* 02851908 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285190C */ Gambit_fn_02801BB0(cpu);
|
|
L_02851910: ; // 0x2851910
|
|
/* 02851910 */ /* nop */
|
|
/* 02851914 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02851914 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02851918 */ cpu->lr = cpu->r[0];
|
|
/* 0285191C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02851920 */ return;
|
|
}
|
|
|
|
// fn_0285066C @ 0x285066c
|
|
void Gambit_fn_0285066C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_0285066C: ; // 0x285066c
|
|
/* 0285066C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 02850670 */ goto L_02851924;
|
|
L_02851924: ; // 0x2851924
|
|
/* 02851924 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02851924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851924 */ cpu->r[1] = _t0;
|
|
/* 02851928 */ cpu->r[0] = cpu->lr;
|
|
/* 0285192C */ /* nop */
|
|
/* 02851930 */ cpu->r[31] = cpu->r[3];
|
|
/* 02851930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851934 */ cpu->r[27] = cpu->r[4];
|
|
/* 02851938 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02851938 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285193C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285193C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285193C */ if (_t3) goto L_02851A38; else goto L_02851940;
|
|
L_02851940: ; // 0x2851940
|
|
/* 02851940 */ cpu->r[10] = 0x10130000u;
|
|
/* 02851944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851948 */ cpu->r[10] = cpu->r[10] + 0x000004CCu;
|
|
/* 0285194C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285194C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285194C */ if (_t5) goto L_02851950; else goto L_02851960;
|
|
L_02851950: ; // 0x2851950
|
|
/* 02851950 */ _t6 = cpu->r[31] + 0x00000020u;
|
|
/* 02851950 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02851954 */ cpu->r[10] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02851954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02851958 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851958 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02851958 */ if (_t8) goto L_02851A38; else goto L_0285195C;
|
|
L_0285195C: ; // 0x285195c
|
|
/* 0285195C */ goto L_02851A30;
|
|
L_02851960: ; // 0x2851960
|
|
/* 02851960 */ cpu->r[11] = 0x10130000u;
|
|
/* 02851964 */ cpu->r[29] = 0x10130000u;
|
|
/* 02851968 */ cpu->r[30] = 0x10130000u;
|
|
/* 0285196C */ cpu->r[11] = cpu->r[11] + 0x000003ECu;
|
|
/* 02851970 */ cpu->r[29] = cpu->r[29] + 0x0000023Cu;
|
|
/* 02851974 */ cpu->r[12] = cpu->r[31] + 0x00000190u;
|
|
/* 02851974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02851978 */ cpu->r[28] = 0x00000000u;
|
|
/* 0285197C */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 0285197C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02851980 */ cpu->r[30] = cpu->r[30] + 0x0000025Cu;
|
|
/* 02851984 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851984 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02851984 */ if (_t11) goto L_028519A4; else goto L_02851988;
|
|
L_02851988: ; // 0x2851988
|
|
/* 02851988 */ _t12 = cpu->r[31] + 0x000001E0u;
|
|
/* 02851988 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 0285198C */ cpu->r[3] = cpu->r[31] + 0x00000190u;
|
|
/* 02851990 */ _t13 = cpu->r[31] + 0x000001B8u;
|
|
/* 02851990 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02851994 */ Gambit_fn_0281436C(cpu);
|
|
/* 02851998 */ cpu->r[3] = cpu->r[31] + 0x000001ACu;
|
|
/* 0285199C */ cpu->r[4] = 0x00000000u;
|
|
/* 028519A0 */ Gambit_fn_02821E68(cpu);
|
|
L_028519A4: ; // 0x28519a4
|
|
/* 028519A4 */ cpu->r[0] = cpu->r[31] + 0x0000013Cu;
|
|
/* 028519A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028519A8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028519A8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 028519A8 */ if (_t15) goto L_028519C8; else goto L_028519AC;
|
|
L_028519AC: ; // 0x28519ac
|
|
/* 028519AC */ _t16 = cpu->r[31] + 0x0000018Cu;
|
|
/* 028519AC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 028519B0 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 028519B4 */ _t17 = cpu->r[31] + 0x00000164u;
|
|
/* 028519B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 028519B8 */ Gambit_fn_0281436C(cpu);
|
|
/* 028519BC */ cpu->r[3] = cpu->r[31] + 0x00000158u;
|
|
/* 028519C0 */ cpu->r[4] = 0x00000000u;
|
|
/* 028519C4 */ Gambit_fn_02821E68(cpu);
|
|
L_028519C8: ; // 0x28519c8
|
|
/* 028519C8 */ cpu->r[0] = cpu->r[31] + 0x00000100u;
|
|
/* 028519C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028519CC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028519CC */ _t19 = _t18 & 0x00000001u;
|
|
/* 028519CC */ if (_t19) goto L_02851A1C; else goto L_028519D0;
|
|
L_028519D0: ; // 0x28519d0
|
|
/* 028519D0 */ _t20 = cpu->r[31] + 0x00000138u;
|
|
/* 028519D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 028519D4 */ cpu->r[9] = 0x10130000u;
|
|
/* 028519D8 */ cpu->r[9] = cpu->r[9] + 0x0000029Cu;
|
|
/* 028519DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028519E0 */ _t21 = cpu->r[31] + 0x0000010Cu;
|
|
/* 028519E0 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 028519E4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028519E4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028519E4 */ if (_t23) goto L_02851A10; else goto L_028519E8;
|
|
L_028519E8: ; // 0x28519e8
|
|
/* 028519E8 */ _t24 = cpu->r[31] + 0x0000011Cu;
|
|
/* 028519E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028519EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028519F0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028519F0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 028519F0 */ if (_t26) goto L_02851A0C; else goto L_028519F4;
|
|
L_028519F4: ; // 0x28519f4
|
|
/* 028519F4 */ cpu->r[3] = cpu->r[31] + 0x00000110u;
|
|
/* 028519F8 */ _t27 = cpu->r[31] + 0x0000011Cu;
|
|
/* 028519F8 */ rbrew_write32(cpu->mem, _t27, cpu->r[28]);
|
|
/* 028519FC */ Gambit_fn_02801EDC(cpu);
|
|
/* 02851A00 */ _t28 = cpu->r[30] + 0x00000008u;
|
|
/* 02851A00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02851A04 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02851A08 */ _t29 = cpu->r[30] + 0x00000008u;
|
|
/* 02851A08 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
L_02851A0C: ; // 0x2851a0c
|
|
/* 02851A0C */ _t30 = cpu->r[31] + 0x00000138u;
|
|
/* 02851A0C */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[28]);
|
|
L_02851A10: ; // 0x2851a10
|
|
/* 02851A10 */ cpu->r[3] = cpu->r[31] + 0x00000100u;
|
|
/* 02851A14 */ cpu->r[4] = 0x00000000u;
|
|
/* 02851A18 */ Gambit_fn_02821E68(cpu);
|
|
L_02851A1C: ; // 0x2851a1c
|
|
/* 02851A1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02851A20 */ cpu->r[4] = 0x00000000u;
|
|
/* 02851A24 */ Gambit_fn_02814F74(cpu);
|
|
/* 02851A28 */ cpu->r[10] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02851A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02851A2C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851A2C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02851A2C */ if (_t32) goto L_02851A38; else goto L_02851A30;
|
|
L_02851A30: ; // 0x2851a30
|
|
/* 02851A30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02851A34 */ Gambit_fn_02801BB0(cpu);
|
|
L_02851A38: ; // 0x2851a38
|
|
/* 02851A38 */ /* nop */
|
|
/* 02851A3C */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02851A3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02851A40 */ cpu->lr = cpu->r[0];
|
|
/* 02851A44 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02851A48 */ return;
|
|
}
|
|
|
|
// fn_02850674 @ 0x2850674
|
|
void Gambit_fn_02850674(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02850674: ; // 0x2850674
|
|
/* 02850674 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02850674 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850674 */ cpu->r[1] = _t0;
|
|
/* 02850678 */ cpu->r[0] = cpu->lr;
|
|
/* 0285067C */ /* nop */
|
|
/* 02850680 */ cpu->r[30] = cpu->r[3];
|
|
/* 02850680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02850684 */ cpu->r[31] = cpu->r[4];
|
|
/* 02850688 */ cpu->r[28] = cpu->r[5];
|
|
/* 0285068C */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 0285068C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02850690 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850690 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02850690 */ if (_t3) goto L_02850694; else goto L_028506A4;
|
|
L_02850694: ; // 0x2850694
|
|
/* 02850694 */ cpu->r[3] = 0x00000200u;
|
|
/* 02850698 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285069C */ cpu->r[30] = cpu->r[3];
|
|
/* 0285069C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028506A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028506A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028506A0 */ if (_t5) goto L_02850B00; else goto L_028506A4;
|
|
L_028506A4: ; // 0x28506a4
|
|
/* 028506A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028506A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 028506AC */ cpu->r[5] = cpu->r[28];
|
|
/* 028506B0 */ Gambit_fn_028152FC(cpu);
|
|
/* 028506B4 */ cpu->r[7] = 0x00000005u;
|
|
/* 028506B8 */ cpu->r[5] = 0x10130000u;
|
|
/* 028506BC */ _t6 = cpu->r[30] + 0x00000074u;
|
|
/* 028506BC */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 028506C0 */ cpu->r[6] = 0x10130000u;
|
|
/* 028506C4 */ cpu->r[5] = cpu->r[5] + 0x00000324u;
|
|
/* 028506C8 */ cpu->r[6] = cpu->r[6] + 0x000003ECu;
|
|
/* 028506CC */ _t7 = cpu->r[30] + 0x00000070u;
|
|
/* 028506CC */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 028506D0 */ cpu->r[3] = cpu->r[30] + 0x0000007Cu;
|
|
/* 028506D4 */ _t8 = cpu->r[30] + 0x00000020u;
|
|
/* 028506D4 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 028506D8 */ Gambit_fn_02815478(cpu);
|
|
/* 028506DC */ cpu->r[27] = 0x00000000u;
|
|
/* 028506E0 */ cpu->r[24] = cpu->r[30] + 0x00000100u;
|
|
/* 028506E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 028506E4 */ cpu->r[25] = 0x02850000u;
|
|
/* 028506E8 */ _t9 = cpu->r[30] + 0x000000FCu;
|
|
/* 028506E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
|
|
/* 028506EC */ cpu->r[29] = cpu->r[27];
|
|
/* 028506F0 */ cpu->r[26] = 0xFFFFFFFFu;
|
|
/* 028506F4 */ cpu->r[25] = cpu->r[25] + 0x00000CF4u;
|
|
/* 028506F8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028506F8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 028506F8 */ if (_t11) goto L_028506FC; else goto L_0285070C;
|
|
L_028506FC: ; // 0x28506fc
|
|
/* 028506FC */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02850700 */ Gambit_fn_02801A78(cpu);
|
|
/* 02850704 */ cpu->r[24] = cpu->r[3];
|
|
/* 02850704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02850708 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850708 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02850708 */ if (_t13) goto L_028507AC; else goto L_0285070C;
|
|
L_0285070C: ; // 0x285070c
|
|
/* 0285070C */ cpu->r[3] = cpu->r[24];
|
|
/* 02850710 */ Gambit_fn_02821D00(cpu);
|
|
/* 02850714 */ cpu->r[8] = 0x10130000u;
|
|
/* 02850718 */ cpu->r[8] = cpu->r[8] + 0x0000029Cu;
|
|
/* 0285071C */ cpu->r[3] = cpu->r[24] + 0x00000010u;
|
|
/* 0285071C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850720 */ _t14 = cpu->r[24] + 0x0000000Cu;
|
|
/* 02850720 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 02850724 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850724 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02850724 */ if (_t16) goto L_02850728; else goto L_02850738;
|
|
L_02850728: ; // 0x2850728
|
|
/* 02850728 */ cpu->r[3] = 0x00000010u;
|
|
/* 0285072C */ Gambit_fn_02801A78(cpu);
|
|
/* 02850730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850734 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850734 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02850734 */ if (_t18) goto L_02850748; else goto L_02850738;
|
|
L_02850738: ; // 0x2850738
|
|
/* 02850738 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02850738 */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
/* 0285073C */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 0285073C */ rbrew_write32(cpu->mem, _t20, cpu->r[24]);
|
|
/* 02850740 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 02850740 */ rbrew_write32(cpu->mem, _t21, cpu->r[27]);
|
|
/* 02850744 */ _t22 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02850744 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
L_02850748: ; // 0x2850748
|
|
/* 02850748 */ _t23 = cpu->r[24] + 0x00000020u;
|
|
/* 02850748 */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 0285074C */ cpu->r[31] = cpu->r[24] + 0x00000024u;
|
|
/* 0285074C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02850750 */ _t24 = cpu->r[24] + 0x00000038u;
|
|
/* 02850750 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[27]);
|
|
/* 02850754 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850754 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02850754 */ if (_t26) goto L_028507A8; else goto L_02850758;
|
|
L_02850758: ; // 0x2850758
|
|
/* 02850758 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850758 */ rbrew_write32(cpu->mem, _t27, cpu->r[25]);
|
|
/* 0285075C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285075C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850760 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02850760 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[29]);
|
|
/* 02850764 */ _t29 = cpu->r[1] + 0x0000000Au;
|
|
/* 02850764 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[26]);
|
|
/* 02850768 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850768 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02850768 */ if (_t31) goto L_0285076C; else goto L_0285077C;
|
|
L_0285076C: ; // 0x285076c
|
|
/* 0285076C */ cpu->r[3] = 0x00000010u;
|
|
/* 02850770 */ Gambit_fn_02801A78(cpu);
|
|
/* 02850774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850778 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850778 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02850778 */ if (_t33) goto L_0285079C; else goto L_0285077C;
|
|
L_0285077C: ; // 0x285077c
|
|
/* 0285077C */ cpu->r[9] = 0x10130000u;
|
|
/* 02850780 */ _t34 = cpu->r[3] + 0x00000004u;
|
|
/* 02850780 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 02850784 */ cpu->r[9] = cpu->r[9] + 0x000002ACu;
|
|
/* 02850788 */ _t35 = cpu->r[3] + 0x00000000u;
|
|
/* 02850788 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 0285078C */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 0285078C */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02850790 */ _t37 = cpu->r[3] + 0x00000008u;
|
|
/* 02850790 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 02850794 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850794 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02850798 */ _t39 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02850798 */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
L_0285079C: ; // 0x285079c
|
|
/* 0285079C */ cpu->r[0] = 0x10130000u;
|
|
/* 028507A0 */ cpu->r[0] = cpu->r[0] + 0x000002C4u;
|
|
/* 028507A4 */ _t40 = cpu->r[31] + 0x00000000u;
|
|
/* 028507A4 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
L_028507A8: ; // 0x28507a8
|
|
/* 028507A8 */ _t41 = cpu->r[24] + 0x00000020u;
|
|
/* 028507A8 */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
L_028507AC: ; // 0x28507ac
|
|
/* 028507AC */ cpu->r[26] = 0x10130000u;
|
|
/* 028507B0 */ cpu->r[29] = 0x10130000u;
|
|
/* 028507B4 */ cpu->r[25] = 0x10130000u;
|
|
/* 028507B8 */ cpu->r[24] = cpu->r[30] + 0x0000013Cu;
|
|
/* 028507B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 028507BC */ cpu->r[29] = cpu->r[29] + 0x000001FCu;
|
|
/* 028507C0 */ cpu->r[26] = cpu->r[26] + 0x00000214u;
|
|
/* 028507C4 */ cpu->r[25] = cpu->r[25] + 0x0000026Cu;
|
|
/* 028507C8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028507C8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 028507C8 */ if (_t43) goto L_028507CC; else goto L_028507DC;
|
|
L_028507CC: ; // 0x28507cc
|
|
/* 028507CC */ cpu->r[3] = 0x00000054u;
|
|
/* 028507D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028507D4 */ cpu->r[24] = cpu->r[3];
|
|
/* 028507D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 028507D8 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028507D8 */ _t45 = _t44 & 0x00000001u;
|
|
/* 028507D8 */ if (_t45) goto L_028508B0; else goto L_028507DC;
|
|
L_028507DC: ; // 0x28507dc
|
|
/* 028507DC */ cpu->r[31] = cpu->r[24];
|
|
/* 028507DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028507E0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028507E0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 028507E0 */ if (_t47) goto L_028507E4; else goto L_028507F4;
|
|
L_028507E4: ; // 0x28507e4
|
|
/* 028507E4 */ cpu->r[3] = 0x00000014u;
|
|
/* 028507E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028507EC */ cpu->r[31] = cpu->r[3];
|
|
/* 028507EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028507F0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028507F0 */ _t49 = _t48 & 0x00000001u;
|
|
/* 028507F0 */ if (_t49) goto L_02850800; else goto L_028507F4;
|
|
L_028507F4: ; // 0x28507f4
|
|
/* 028507F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028507F8 */ Gambit_fn_028029E4(cpu);
|
|
/* 028507FC */ _t50 = cpu->r[31] + 0x00000010u;
|
|
/* 028507FC */ rbrew_write32(cpu->mem, _t50, cpu->r[24]);
|
|
L_02850800: ; // 0x2850800
|
|
/* 02850800 */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 02850800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850804 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850804 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02850804 */ if (_t52) goto L_02850808; else goto L_02850818;
|
|
L_02850808: ; // 0x2850808
|
|
/* 02850808 */ cpu->r[3] = 0x00000008u;
|
|
/* 0285080C */ Gambit_fn_02801A78(cpu);
|
|
/* 02850810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850814 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850814 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02850814 */ if (_t54) goto L_02850828; else goto L_02850818;
|
|
L_02850818: ; // 0x2850818
|
|
/* 02850818 */ cpu->r[5] = 0x10130000u;
|
|
/* 0285081C */ _t55 = cpu->r[3] + 0x00000004u;
|
|
/* 0285081C */ rbrew_write32(cpu->mem, _t55, cpu->r[26]);
|
|
/* 02850820 */ cpu->r[5] = cpu->r[5] + 0x000001F8u;
|
|
/* 02850824 */ _t56 = cpu->r[3] + 0x00000000u;
|
|
/* 02850824 */ rbrew_write32(cpu->mem, _t56, cpu->r[5]);
|
|
L_02850828: ; // 0x2850828
|
|
/* 02850828 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 0285082C */ Gambit_fn_02821D00(cpu);
|
|
/* 02850830 */ cpu->r[6] = 0x10130000u;
|
|
/* 02850834 */ _t57 = cpu->r[24] + 0x0000003Cu;
|
|
/* 02850834 */ rbrew_write32(cpu->mem, _t57, cpu->r[27]);
|
|
/* 02850838 */ cpu->r[6] = cpu->r[6] + 0x0000023Cu;
|
|
/* 0285083C */ cpu->r[7] = 0x10130000u;
|
|
/* 02850840 */ _t58 = cpu->r[24] + 0x00000050u;
|
|
/* 02850840 */ rbrew_write32(cpu->mem, _t58, cpu->r[6]);
|
|
/* 02850844 */ cpu->r[7] = cpu->r[7] + 0x0000025Cu;
|
|
/* 02850848 */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 02850848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285084C */ _t59 = cpu->r[24] + 0x00000028u;
|
|
/* 0285084C */ rbrew_write32(cpu->mem, _t59, cpu->r[7]);
|
|
/* 02850850 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850850 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02850850 */ if (_t61) goto L_02850854; else goto L_02850864;
|
|
L_02850854: ; // 0x2850854
|
|
/* 02850854 */ cpu->r[3] = 0x00000004u;
|
|
/* 02850858 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285085C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850860 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850860 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02850860 */ if (_t63) goto L_02850868; else goto L_02850864;
|
|
L_02850864: ; // 0x2850864
|
|
/* 02850864 */ _t64 = cpu->r[3] + 0x00000000u;
|
|
/* 02850864 */ rbrew_write32(cpu->mem, _t64, cpu->r[27]);
|
|
L_02850868: ; // 0x2850868
|
|
/* 02850868 */ _t65 = cpu->r[24] + 0x00000048u;
|
|
/* 02850868 */ rbrew_write32(cpu->mem, _t65, cpu->r[27]);
|
|
/* 0285086C */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 0285086C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02850870 */ _t66 = cpu->r[24] + 0x0000004Cu;
|
|
/* 02850870 */ rbrew_write32(cpu->mem, _t66, cpu->r[27]);
|
|
/* 02850874 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850874 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02850874 */ if (_t68) goto L_028508A8; else goto L_02850878;
|
|
L_02850878: ; // 0x2850878
|
|
/* 02850878 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285087C */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285087C */ _t70 = _t69 & 0x00000001u;
|
|
/* 0285087C */ if (_t70) goto L_02850880; else goto L_02850890;
|
|
L_02850880: ; // 0x2850880
|
|
/* 02850880 */ cpu->r[3] = 0x00000010u;
|
|
/* 02850884 */ Gambit_fn_02801A78(cpu);
|
|
/* 02850888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285088C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285088C */ _t72 = _t71 & 0x00000001u;
|
|
/* 0285088C */ if (_t72) goto L_028508A4; else goto L_02850890;
|
|
L_02850890: ; // 0x2850890
|
|
/* 02850890 */ _t73 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02850890 */ rbrew_write32(cpu->mem, _t73, cpu->r[27]);
|
|
/* 02850894 */ _t74 = cpu->r[3] + 0x00000000u;
|
|
/* 02850894 */ rbrew_write32(cpu->mem, _t74, cpu->r[29]);
|
|
/* 02850898 */ _t75 = cpu->r[3] + 0x00000008u;
|
|
/* 02850898 */ rbrew_write16(cpu->mem, _t75, (uint16_t)cpu->r[27]);
|
|
/* 0285089C */ _t76 = cpu->r[3] + 0x0000000Au;
|
|
/* 0285089C */ rbrew_write16(cpu->mem, _t76, (uint16_t)cpu->r[27]);
|
|
/* 028508A0 */ _t77 = cpu->r[3] + 0x00000004u;
|
|
/* 028508A0 */ rbrew_write32(cpu->mem, _t77, cpu->r[27]);
|
|
L_028508A4: ; // 0x28508a4
|
|
/* 028508A4 */ _t78 = cpu->r[31] + 0x00000000u;
|
|
/* 028508A4 */ rbrew_write32(cpu->mem, _t78, cpu->r[25]);
|
|
L_028508A8: ; // 0x28508a8
|
|
/* 028508A8 */ cpu->r[7] = 0x00000000u;
|
|
/* 028508AC */ _t79 = cpu->r[24] + 0x00000044u;
|
|
/* 028508AC */ rbrew_write32(cpu->mem, _t79, cpu->r[7]);
|
|
L_028508B0: ; // 0x28508b0
|
|
/* 028508B0 */ cpu->r[24] = cpu->r[30] + 0x00000190u;
|
|
/* 028508B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 028508B4 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028508B4 */ _t81 = _t80 & 0x00000001u;
|
|
/* 028508B4 */ if (_t81) goto L_028508B8; else goto L_028508C8;
|
|
L_028508B8: ; // 0x28508b8
|
|
/* 028508B8 */ cpu->r[3] = 0x00000054u;
|
|
/* 028508BC */ Gambit_fn_02801A78(cpu);
|
|
/* 028508C0 */ cpu->r[24] = cpu->r[3];
|
|
/* 028508C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 028508C4 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028508C4 */ _t83 = _t82 & 0x00000001u;
|
|
/* 028508C4 */ if (_t83) goto L_0285099C; else goto L_028508C8;
|
|
L_028508C8: ; // 0x28508c8
|
|
/* 028508C8 */ cpu->r[31] = cpu->r[24];
|
|
/* 028508C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028508CC */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028508CC */ _t85 = _t84 & 0x00000001u;
|
|
/* 028508CC */ if (_t85) goto L_028508D0; else goto L_028508E0;
|
|
L_028508D0: ; // 0x28508d0
|
|
/* 028508D0 */ cpu->r[3] = 0x00000014u;
|
|
/* 028508D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028508D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028508D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028508DC */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028508DC */ _t87 = _t86 & 0x00000001u;
|
|
/* 028508DC */ if (_t87) goto L_028508EC; else goto L_028508E0;
|
|
L_028508E0: ; // 0x28508e0
|
|
/* 028508E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028508E4 */ Gambit_fn_028029E4(cpu);
|
|
/* 028508E8 */ _t88 = cpu->r[31] + 0x00000010u;
|
|
/* 028508E8 */ rbrew_write32(cpu->mem, _t88, cpu->r[24]);
|
|
L_028508EC: ; // 0x28508ec
|
|
/* 028508EC */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 028508EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028508F0 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028508F0 */ _t90 = _t89 & 0x00000001u;
|
|
/* 028508F0 */ if (_t90) goto L_028508F4; else goto L_02850904;
|
|
L_028508F4: ; // 0x28508f4
|
|
/* 028508F4 */ cpu->r[3] = 0x00000008u;
|
|
/* 028508F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028508FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850900 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850900 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02850900 */ if (_t92) goto L_02850914; else goto L_02850904;
|
|
L_02850904: ; // 0x2850904
|
|
/* 02850904 */ cpu->r[8] = 0x10130000u;
|
|
/* 02850908 */ _t93 = cpu->r[3] + 0x00000004u;
|
|
/* 02850908 */ rbrew_write32(cpu->mem, _t93, cpu->r[26]);
|
|
/* 0285090C */ cpu->r[8] = cpu->r[8] + 0x000001F8u;
|
|
/* 02850910 */ _t94 = cpu->r[3] + 0x00000000u;
|
|
/* 02850910 */ rbrew_write32(cpu->mem, _t94, cpu->r[8]);
|
|
L_02850914: ; // 0x2850914
|
|
/* 02850914 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 02850918 */ Gambit_fn_02821D00(cpu);
|
|
/* 0285091C */ cpu->r[0] = 0x10130000u;
|
|
/* 02850920 */ _t95 = cpu->r[24] + 0x0000003Cu;
|
|
/* 02850920 */ rbrew_write32(cpu->mem, _t95, cpu->r[27]);
|
|
/* 02850924 */ cpu->r[0] = cpu->r[0] + 0x0000023Cu;
|
|
/* 02850928 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285092C */ _t96 = cpu->r[24] + 0x00000050u;
|
|
/* 0285092C */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
/* 02850930 */ cpu->r[10] = cpu->r[10] + 0x0000025Cu;
|
|
/* 02850934 */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 02850934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850938 */ _t97 = cpu->r[24] + 0x00000028u;
|
|
/* 02850938 */ rbrew_write32(cpu->mem, _t97, cpu->r[10]);
|
|
/* 0285093C */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285093C */ _t99 = _t98 & 0x00000001u;
|
|
/* 0285093C */ if (_t99) goto L_02850940; else goto L_02850950;
|
|
L_02850940: ; // 0x2850940
|
|
/* 02850940 */ cpu->r[3] = 0x00000004u;
|
|
/* 02850944 */ Gambit_fn_02801A78(cpu);
|
|
/* 02850948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285094C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285094C */ _t101 = _t100 & 0x00000001u;
|
|
/* 0285094C */ if (_t101) goto L_02850954; else goto L_02850950;
|
|
L_02850950: ; // 0x2850950
|
|
/* 02850950 */ _t102 = cpu->r[3] + 0x00000000u;
|
|
/* 02850950 */ rbrew_write32(cpu->mem, _t102, cpu->r[27]);
|
|
L_02850954: ; // 0x2850954
|
|
/* 02850954 */ _t103 = cpu->r[24] + 0x00000048u;
|
|
/* 02850954 */ rbrew_write32(cpu->mem, _t103, cpu->r[27]);
|
|
/* 02850958 */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 02850958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285095C */ _t104 = cpu->r[24] + 0x0000004Cu;
|
|
/* 0285095C */ rbrew_write32(cpu->mem, _t104, cpu->r[27]);
|
|
/* 02850960 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850960 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02850960 */ if (_t106) goto L_02850994; else goto L_02850964;
|
|
L_02850964: ; // 0x2850964
|
|
/* 02850964 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850968 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850968 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02850968 */ if (_t108) goto L_0285096C; else goto L_0285097C;
|
|
L_0285096C: ; // 0x285096c
|
|
/* 0285096C */ cpu->r[3] = 0x00000010u;
|
|
/* 02850970 */ Gambit_fn_02801A78(cpu);
|
|
/* 02850974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850978 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850978 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02850978 */ if (_t110) goto L_02850990; else goto L_0285097C;
|
|
L_0285097C: ; // 0x285097c
|
|
/* 0285097C */ _t111 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285097C */ rbrew_write32(cpu->mem, _t111, cpu->r[27]);
|
|
/* 02850980 */ _t112 = cpu->r[3] + 0x00000000u;
|
|
/* 02850980 */ rbrew_write32(cpu->mem, _t112, cpu->r[29]);
|
|
/* 02850984 */ _t113 = cpu->r[3] + 0x00000008u;
|
|
/* 02850984 */ rbrew_write16(cpu->mem, _t113, (uint16_t)cpu->r[27]);
|
|
/* 02850988 */ _t114 = cpu->r[3] + 0x0000000Au;
|
|
/* 02850988 */ rbrew_write16(cpu->mem, _t114, (uint16_t)cpu->r[27]);
|
|
/* 0285098C */ _t115 = cpu->r[3] + 0x00000004u;
|
|
/* 0285098C */ rbrew_write32(cpu->mem, _t115, cpu->r[27]);
|
|
L_02850990: ; // 0x2850990
|
|
/* 02850990 */ _t116 = cpu->r[31] + 0x00000000u;
|
|
/* 02850990 */ rbrew_write32(cpu->mem, _t116, cpu->r[25]);
|
|
L_02850994: ; // 0x2850994
|
|
/* 02850994 */ cpu->r[0] = 0x00000000u;
|
|
/* 02850998 */ _t117 = cpu->r[24] + 0x00000044u;
|
|
/* 02850998 */ rbrew_write32(cpu->mem, _t117, cpu->r[0]);
|
|
L_0285099C: ; // 0x285099c
|
|
/* 0285099C */ _t118 = cpu->r[30] + 0x000001F8u;
|
|
/* 0285099C */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[27]);
|
|
/* 028509A0 */ cpu->r[12] = 0x10130000u;
|
|
/* 028509A4 */ _t119 = cpu->r[30] + 0x000001FCu;
|
|
/* 028509A4 */ rbrew_write32(cpu->mem, _t119, cpu->r[27]);
|
|
/* 028509A8 */ _t120 = cpu->r[12] + 0x000002F4u;
|
|
/* 028509A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 028509AC */ cpu->r[12] = 0x0000001Fu;
|
|
/* 028509B0 */ _t121 = cpu->r[30] + 0x00000078u;
|
|
/* 028509B0 */ rbrew_write32(cpu->mem, _t121, cpu->r[27]);
|
|
/* 028509B4 */ cpu->r[11] = 0x0000001Eu;
|
|
/* 028509B8 */ _t122 = cpu->r[30] + 0x000001ECu;
|
|
/* 028509B8 */ rbrew_write32(cpu->mem, _t122, cpu->r[12]);
|
|
/* 028509BC */ cpu->r[0] = 0x0000003Du;
|
|
/* 028509C0 */ _t123 = cpu->r[30] + 0x000001E8u;
|
|
/* 028509C0 */ rbrew_write32(cpu->mem, _t123, cpu->r[11]);
|
|
/* 028509C4 */ _t124 = cpu->r[30] + 0x000001F0u;
|
|
/* 028509C4 */ rbrew_write32(cpu->mem, _t124, cpu->r[0]);
|
|
/* 028509C8 */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 028509CC */ _t125 = cpu->r[30] + 0x000001E4u;
|
|
/* 028509CC */ rbrew_write32(cpu->mem, _t125, cpu->r[27]);
|
|
/* 028509D0 */ _t126 = cpu->r[30] + 0x00000150u;
|
|
/* 028509D0 */ rbrew_write32(cpu->mem, _t126, cpu->r[28]);
|
|
/* 028509D4 */ _t127 = cpu->r[30] + 0x000001F4u;
|
|
/* 028509D4 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[0]);
|
|
/* 028509D8 */ Gambit_fn_0281434C(cpu);
|
|
/* 028509DC */ _t128 = cpu->r[30] + 0x00000184u;
|
|
/* 028509DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t128);
|
|
/* 028509E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028509E4 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028509E4 */ _t130 = _t129 & 0x00000001u;
|
|
/* 028509E4 */ if (_t130) goto L_02850A00; else goto L_028509E8;
|
|
L_028509E8: ; // 0x28509e8
|
|
/* 028509E8 */ _t131 = cpu->r[3] + 0x00000000u;
|
|
/* 028509E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t131);
|
|
/* 028509EC */ _t132 = cpu->r[8] + 0x0000000Cu;
|
|
/* 028509EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t132);
|
|
/* 028509F0 */ cpu->ctr = cpu->r[9];
|
|
/* 028509F4 */ cpu->r[4] = cpu->r[30] + 0x0000013Cu;
|
|
/* 028509F8 */ cpu->r[5] = 0x00000003u;
|
|
/* 028509FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850A00: ; // 0x2850a00
|
|
/* 02850A00 */ cpu->r[0] = 0x00000003u;
|
|
/* 02850A04 */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850A08 */ _t133 = cpu->r[30] + 0x00000180u;
|
|
/* 02850A08 */ rbrew_write32(cpu->mem, _t133, cpu->r[0]);
|
|
/* 02850A0C */ Gambit_fn_0281435C(cpu);
|
|
/* 02850A10 */ cpu->r[26] = 0x00000000u;
|
|
/* 02850A14 */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850A18 */ cpu->r[24] = 0x00000070u;
|
|
/* 02850A1C */ cpu->r[25] = 0x00000018u;
|
|
/* 02850A20 */ Gambit_fn_0281434C(cpu);
|
|
/* 02850A24 */ cpu->r[27] = 0x10130000u;
|
|
/* 02850A28 */ cpu->r[31] = cpu->r[30] + 0x00000168u;
|
|
/* 02850A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02850A2C */ cpu->r[27] = cpu->r[27] + 0x000002DCu;
|
|
/* 02850A30 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850A30 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02850A30 */ if (_t135) goto L_02850A74; else goto L_02850A34;
|
|
L_02850A34: ; // 0x2850a34
|
|
/* 02850A34 */ _t136 = cpu->r[1] + 0x00000014u;
|
|
/* 02850A34 */ rbrew_write32(cpu->mem, _t136, cpu->r[24]);
|
|
/* 02850A38 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850A3C */ _t137 = cpu->r[1] + 0x00000010u;
|
|
/* 02850A3C */ rbrew_write16(cpu->mem, _t137, (uint16_t)cpu->r[26]);
|
|
/* 02850A40 */ _t138 = cpu->r[1] + 0x00000012u;
|
|
/* 02850A40 */ rbrew_write16(cpu->mem, _t138, (uint16_t)cpu->r[25]);
|
|
/* 02850A44 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850A44 */ _t140 = _t139 & 0x00000001u;
|
|
/* 02850A44 */ if (_t140) goto L_02850A48; else goto L_02850A58;
|
|
L_02850A48: ; // 0x2850a48
|
|
/* 02850A48 */ cpu->r[3] = 0x00000010u;
|
|
/* 02850A4C */ Gambit_fn_02801A78(cpu);
|
|
/* 02850A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850A54 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850A54 */ _t142 = _t141 & 0x00000001u;
|
|
/* 02850A54 */ if (_t142) goto L_02850A70; else goto L_02850A58;
|
|
L_02850A58: ; // 0x2850a58
|
|
/* 02850A58 */ _t143 = cpu->r[3] + 0x00000004u;
|
|
/* 02850A58 */ rbrew_write32(cpu->mem, _t143, cpu->r[30]);
|
|
/* 02850A5C */ _t144 = cpu->r[3] + 0x00000000u;
|
|
/* 02850A5C */ rbrew_write32(cpu->mem, _t144, cpu->r[29]);
|
|
/* 02850A60 */ _t145 = cpu->r[1] + 0x00000010u;
|
|
/* 02850A60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02850A64 */ _t146 = cpu->r[3] + 0x00000008u;
|
|
/* 02850A64 */ rbrew_write32(cpu->mem, _t146, cpu->r[0]);
|
|
/* 02850A68 */ _t147 = cpu->r[1] + 0x00000014u;
|
|
/* 02850A68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02850A6C */ _t148 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02850A6C */ rbrew_write32(cpu->mem, _t148, cpu->r[6]);
|
|
L_02850A70: ; // 0x2850a70
|
|
/* 02850A70 */ _t149 = cpu->r[31] + 0x00000000u;
|
|
/* 02850A70 */ rbrew_write32(cpu->mem, _t149, cpu->r[27]);
|
|
L_02850A74: ; // 0x2850a74
|
|
/* 02850A74 */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850A78 */ Gambit_fn_0281435C(cpu);
|
|
/* 02850A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02850A80 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850A80 */ _t151 = _t150 & 0x00000001u;
|
|
/* 02850A80 */ if (_t151) goto L_02850A88; else goto L_02850A84;
|
|
L_02850A84: ; // 0x2850a84
|
|
/* 02850A84 */ _t152 = cpu->r[30] + 0x00000150u;
|
|
/* 02850A84 */ rbrew_write32(cpu->mem, _t152, cpu->r[28]);
|
|
L_02850A88: ; // 0x2850a88
|
|
/* 02850A88 */ cpu->r[28] = 0x00000000u;
|
|
/* 02850A8C */ cpu->r[25] = 0x02850000u;
|
|
/* 02850A90 */ cpu->r[3] = cpu->r[30] + 0x00000190u;
|
|
/* 02850A94 */ cpu->r[26] = 0xFFFFFFFFu;
|
|
/* 02850A98 */ cpu->r[25] = cpu->r[25] + 0x00000F68u;
|
|
/* 02850A9C */ Gambit_fn_0281434C(cpu);
|
|
/* 02850AA0 */ cpu->r[8] = cpu->r[30] + 0x00000190u;
|
|
/* 02850AA4 */ cpu->r[31] = cpu->r[8] + 0x0000002Cu;
|
|
/* 02850AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02850AA8 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850AA8 */ _t154 = _t153 & 0x00000001u;
|
|
/* 02850AA8 */ if (_t154) goto L_02850AEC; else goto L_02850AAC;
|
|
L_02850AAC: ; // 0x2850aac
|
|
/* 02850AAC */ _t155 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02850AAC */ rbrew_write32(cpu->mem, _t155, cpu->r[25]);
|
|
/* 02850AB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850AB4 */ _t156 = cpu->r[1] + 0x00000018u;
|
|
/* 02850AB4 */ rbrew_write16(cpu->mem, _t156, (uint16_t)cpu->r[28]);
|
|
/* 02850AB8 */ _t157 = cpu->r[1] + 0x0000001Au;
|
|
/* 02850AB8 */ rbrew_write16(cpu->mem, _t157, (uint16_t)cpu->r[26]);
|
|
/* 02850ABC */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850ABC */ _t159 = _t158 & 0x00000001u;
|
|
/* 02850ABC */ if (_t159) goto L_02850AC0; else goto L_02850AD0;
|
|
L_02850AC0: ; // 0x2850ac0
|
|
/* 02850AC0 */ cpu->r[3] = 0x00000010u;
|
|
/* 02850AC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02850AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850ACC */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850ACC */ _t161 = _t160 & 0x00000001u;
|
|
/* 02850ACC */ if (_t161) goto L_02850AE8; else goto L_02850AD0;
|
|
L_02850AD0: ; // 0x2850ad0
|
|
/* 02850AD0 */ _t162 = cpu->r[3] + 0x00000004u;
|
|
/* 02850AD0 */ rbrew_write32(cpu->mem, _t162, cpu->r[30]);
|
|
/* 02850AD4 */ _t163 = cpu->r[3] + 0x00000000u;
|
|
/* 02850AD4 */ rbrew_write32(cpu->mem, _t163, cpu->r[29]);
|
|
/* 02850AD8 */ _t164 = cpu->r[1] + 0x00000018u;
|
|
/* 02850AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02850ADC */ _t165 = cpu->r[3] + 0x00000008u;
|
|
/* 02850ADC */ rbrew_write32(cpu->mem, _t165, cpu->r[0]);
|
|
/* 02850AE0 */ _t166 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02850AE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02850AE4 */ _t167 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02850AE4 */ rbrew_write32(cpu->mem, _t167, cpu->r[12]);
|
|
L_02850AE8: ; // 0x2850ae8
|
|
/* 02850AE8 */ _t168 = cpu->r[31] + 0x00000000u;
|
|
/* 02850AE8 */ rbrew_write32(cpu->mem, _t168, cpu->r[27]);
|
|
L_02850AEC: ; // 0x2850aec
|
|
/* 02850AEC */ cpu->r[3] = cpu->r[30] + 0x00000190u;
|
|
/* 02850AF0 */ Gambit_fn_0281435C(cpu);
|
|
/* 02850AF4 */ cpu->r[0] = 0x10130000u;
|
|
/* 02850AF8 */ cpu->r[0] = cpu->r[0] + 0x000002F8u;
|
|
/* 02850AFC */ _t169 = cpu->r[30] + 0x000001A4u;
|
|
/* 02850AFC */ rbrew_write32(cpu->mem, _t169, cpu->r[0]);
|
|
L_02850B00: ; // 0x2850b00
|
|
/* 02850B00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02850B04 */ /* nop */
|
|
/* 02850B08 */ _t170 = cpu->r[1] + 0x00000044u;
|
|
/* 02850B08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02850B0C */ cpu->lr = cpu->r[0];
|
|
/* 02850B10 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02850B14 */ return;
|
|
}
|
|
|
|
// fn_02850B18 @ 0x2850b18
|
|
void Gambit_fn_02850B18(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_02850B18: ; // 0x2850b18
|
|
/* 02850B18 */ cpu->r[0] = cpu->lr;
|
|
/* 02850B1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02850B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850B1C */ cpu->r[1] = _t0;
|
|
/* 02850B20 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02850B20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02850B24 */ cpu->r[30] = cpu->r[3];
|
|
/* 02850B28 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850B28 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02850B2C */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850B30 */ cpu->r[31] = cpu->r[4];
|
|
/* 02850B34 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02850B34 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02850B38 */ Gambit_fn_0281434C(cpu);
|
|
/* 02850B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02850B40 */ _t4 = cpu->r[30] + 0x00000184u;
|
|
/* 02850B40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02850B44 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850B44 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02850B44 */ if (_t6) goto L_02850B7C; else goto L_02850B48;
|
|
L_02850B48: ; // 0x2850b48
|
|
/* 02850B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850B4C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850B4C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02850B4C */ if (_t8) goto L_02850B68; else goto L_02850B50;
|
|
L_02850B50: ; // 0x2850b50
|
|
/* 02850B50 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02850B50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02850B54 */ _t10 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02850B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02850B58 */ cpu->ctr = cpu->r[0];
|
|
/* 02850B5C */ cpu->r[4] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850B60 */ cpu->r[5] = 0x00000001u;
|
|
/* 02850B64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850B68: ; // 0x2850b68
|
|
/* 02850B68 */ cpu->r[10] = 0x00000001u;
|
|
/* 02850B6C */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850B70 */ _t11 = cpu->r[30] + 0x00000180u;
|
|
/* 02850B70 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02850B74 */ Gambit_fn_0281435C(cpu);
|
|
/* 02850B78 */ goto L_02850BAC;
|
|
L_02850B7C: ; // 0x2850b7c
|
|
/* 02850B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850B80 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850B80 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02850B80 */ if (_t13) goto L_02850B9C; else goto L_02850B84;
|
|
L_02850B84: ; // 0x2850b84
|
|
/* 02850B84 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02850B84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02850B88 */ _t15 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02850B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02850B8C */ cpu->ctr = cpu->r[0];
|
|
/* 02850B90 */ cpu->r[4] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850B94 */ cpu->r[5] = 0x00000000u;
|
|
/* 02850B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850B9C: ; // 0x2850b9c
|
|
/* 02850B9C */ cpu->r[10] = 0x00000000u;
|
|
/* 02850BA0 */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850BA4 */ _t16 = cpu->r[30] + 0x00000180u;
|
|
/* 02850BA4 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02850BA8 */ Gambit_fn_0281435C(cpu);
|
|
L_02850BAC: ; // 0x2850bac
|
|
/* 02850BAC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02850BAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02850BB0 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02850BB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02850BB4 */ cpu->lr = cpu->r[0];
|
|
/* 02850BB8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850BB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02850BBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02850BC0 */ return;
|
|
}
|
|
|
|
// fn_02850B1C @ 0x2850b1c
|
|
void Gambit_fn_02850B1C(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_02850B1C: ; // 0x2850b1c
|
|
/* 02850B1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02850B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850B1C */ cpu->r[1] = _t0;
|
|
/* 02850B20 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02850B20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02850B24 */ cpu->r[30] = cpu->r[3];
|
|
/* 02850B28 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850B28 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02850B2C */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850B30 */ cpu->r[31] = cpu->r[4];
|
|
/* 02850B34 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02850B34 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02850B38 */ Gambit_fn_0281434C(cpu);
|
|
/* 02850B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02850B40 */ _t4 = cpu->r[30] + 0x00000184u;
|
|
/* 02850B40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02850B44 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850B44 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02850B44 */ if (_t6) goto L_02850B7C; else goto L_02850B48;
|
|
L_02850B48: ; // 0x2850b48
|
|
/* 02850B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850B4C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850B4C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02850B4C */ if (_t8) goto L_02850B68; else goto L_02850B50;
|
|
L_02850B50: ; // 0x2850b50
|
|
/* 02850B50 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02850B50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02850B54 */ _t10 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02850B54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02850B58 */ cpu->ctr = cpu->r[0];
|
|
/* 02850B5C */ cpu->r[4] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850B60 */ cpu->r[5] = 0x00000001u;
|
|
/* 02850B64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850B68: ; // 0x2850b68
|
|
/* 02850B68 */ cpu->r[10] = 0x00000001u;
|
|
/* 02850B6C */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850B70 */ _t11 = cpu->r[30] + 0x00000180u;
|
|
/* 02850B70 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02850B74 */ Gambit_fn_0281435C(cpu);
|
|
/* 02850B78 */ goto L_02850BAC;
|
|
L_02850B7C: ; // 0x2850b7c
|
|
/* 02850B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850B80 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850B80 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02850B80 */ if (_t13) goto L_02850B9C; else goto L_02850B84;
|
|
L_02850B84: ; // 0x2850b84
|
|
/* 02850B84 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02850B84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02850B88 */ _t15 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02850B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02850B8C */ cpu->ctr = cpu->r[0];
|
|
/* 02850B90 */ cpu->r[4] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850B94 */ cpu->r[5] = 0x00000000u;
|
|
/* 02850B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850B9C: ; // 0x2850b9c
|
|
/* 02850B9C */ cpu->r[10] = 0x00000000u;
|
|
/* 02850BA0 */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 02850BA4 */ _t16 = cpu->r[30] + 0x00000180u;
|
|
/* 02850BA4 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02850BA8 */ Gambit_fn_0281435C(cpu);
|
|
L_02850BAC: ; // 0x2850bac
|
|
/* 02850BAC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02850BAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02850BB0 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02850BB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02850BB4 */ cpu->lr = cpu->r[0];
|
|
/* 02850BB8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850BB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02850BBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02850BC0 */ return;
|
|
}
|
|
|
|
// fn_02850BC4 @ 0x2850bc4
|
|
void Gambit_fn_02850BC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02850BC4: ; // 0x2850bc4
|
|
/* 02850BC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000001u);
|
|
/* 02850BC8 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02850BC8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02850BC8 */ if (_t1) goto L_02850BD4; else goto L_02850BCC;
|
|
L_02850BCC: ; // 0x2850bcc
|
|
/* 02850BCC */ cpu->r[3] = cpu->r[3] + 0x0000013Cu;
|
|
/* 02850BD0 */ return;
|
|
L_02850BD4: ; // 0x2850bd4
|
|
/* 02850BD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02850BD8 */ return;
|
|
}
|
|
|
|
// fn_02850BDC @ 0x2850bdc
|
|
void Gambit_fn_02850BDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02850BDC: ; // 0x2850bdc
|
|
/* 02850BDC */ cpu->r[0] = cpu->lr;
|
|
/* 02850BE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02850BE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850BE0 */ cpu->r[1] = _t0;
|
|
/* 02850BE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850BE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02850BE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02850BEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02850BEC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02850BF0 */ _t3 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02850BF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02850BF4 */ cpu->r[4] = cpu->r[31] + 0x00000190u;
|
|
/* 02850BF8 */ cpu->r[3] = cpu->r[12] + 0x00000150u;
|
|
/* 02850BFC */ Gambit_fn_028143CC(cpu);
|
|
/* 02850C00 */ cpu->r[4] = 0x00000001u;
|
|
/* 02850C04 */ cpu->r[5] = cpu->r[31] + 0x0000013Cu;
|
|
/* 02850C08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850C0C */ Gambit_fn_02815128(cpu);
|
|
/* 02850C10 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 02850C14 */ Gambit_fn_0281434C(cpu);
|
|
/* 02850C18 */ _t4 = cpu->r[31] + 0x00000184u;
|
|
/* 02850C18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02850C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850C20 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850C20 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02850C20 */ if (_t6) goto L_02850C3C; else goto L_02850C24;
|
|
L_02850C24: ; // 0x2850c24
|
|
/* 02850C24 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02850C24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02850C28 */ _t8 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02850C28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02850C2C */ cpu->ctr = cpu->r[11];
|
|
/* 02850C30 */ cpu->r[4] = cpu->r[31] + 0x0000013Cu;
|
|
/* 02850C34 */ cpu->r[5] = 0x00000000u;
|
|
/* 02850C38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850C3C: ; // 0x2850c3c
|
|
/* 02850C3C */ cpu->r[0] = 0x00000000u;
|
|
/* 02850C40 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 02850C44 */ _t9 = cpu->r[31] + 0x00000180u;
|
|
/* 02850C44 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02850C48 */ Gambit_fn_0281435C(cpu);
|
|
/* 02850C4C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02850C4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02850C50 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850C50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02850C54 */ cpu->lr = cpu->r[0];
|
|
/* 02850C58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02850C5C */ return;
|
|
}
|
|
|
|
// fn_02850BE0 @ 0x2850be0
|
|
void Gambit_fn_02850BE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02850BE0: ; // 0x2850be0
|
|
/* 02850BE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02850BE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850BE0 */ cpu->r[1] = _t0;
|
|
/* 02850BE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850BE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02850BE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02850BEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02850BEC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02850BF0 */ _t3 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02850BF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02850BF4 */ cpu->r[4] = cpu->r[31] + 0x00000190u;
|
|
/* 02850BF8 */ cpu->r[3] = cpu->r[12] + 0x00000150u;
|
|
/* 02850BFC */ Gambit_fn_028143CC(cpu);
|
|
/* 02850C00 */ cpu->r[4] = 0x00000001u;
|
|
/* 02850C04 */ cpu->r[5] = cpu->r[31] + 0x0000013Cu;
|
|
/* 02850C08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850C0C */ Gambit_fn_02815128(cpu);
|
|
/* 02850C10 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 02850C14 */ Gambit_fn_0281434C(cpu);
|
|
/* 02850C18 */ _t4 = cpu->r[31] + 0x00000184u;
|
|
/* 02850C18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02850C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850C20 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850C20 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02850C20 */ if (_t6) goto L_02850C3C; else goto L_02850C24;
|
|
L_02850C24: ; // 0x2850c24
|
|
/* 02850C24 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02850C24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02850C28 */ _t8 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02850C28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02850C2C */ cpu->ctr = cpu->r[11];
|
|
/* 02850C30 */ cpu->r[4] = cpu->r[31] + 0x0000013Cu;
|
|
/* 02850C34 */ cpu->r[5] = 0x00000000u;
|
|
/* 02850C38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850C3C: ; // 0x2850c3c
|
|
/* 02850C3C */ cpu->r[0] = 0x00000000u;
|
|
/* 02850C40 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 02850C44 */ _t9 = cpu->r[31] + 0x00000180u;
|
|
/* 02850C44 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02850C48 */ Gambit_fn_0281435C(cpu);
|
|
/* 02850C4C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02850C4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02850C50 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850C50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02850C54 */ cpu->lr = cpu->r[0];
|
|
/* 02850C58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02850C5C */ return;
|
|
}
|
|
|
|
// fn_02850C60 @ 0x2850c60
|
|
void Gambit_fn_02850C60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0281436C: ; // 0x281436c
|
|
/* 0281436C */ cpu->r[0] = cpu->lr;
|
|
/* 02814370 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02814370 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814370 */ cpu->r[1] = _t0;
|
|
/* 02814374 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02814374 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02814378 */ cpu->r[30] = cpu->r[3];
|
|
/* 0281437C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281437C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02814380 */ cpu->r[4] = 0x00000000u;
|
|
/* 02814384 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02814384 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814388 */ _t4 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02814388 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0281438C */ Gambit_fn_028142DC(cpu);
|
|
/* 02814390 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814394 */ _t5 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02814394 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02814398 */ Gambit_fn_0281434C(cpu);
|
|
/* 0281439C */ cpu->r[3] = cpu->r[30];
|
|
/* 028143A0 */ Gambit_fn_02802AE8(cpu);
|
|
/* 028143A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028143A8 */ Gambit_fn_0281435C(cpu);
|
|
/* 028143AC */ cpu->r[0] = 0x00000000u;
|
|
/* 028143B0 */ _t6 = cpu->r[30] + 0x0000003Cu;
|
|
/* 028143B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028143B4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 028143B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028143B8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028143B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028143BC */ cpu->lr = cpu->r[0];
|
|
/* 028143C0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028143C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028143C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028143C8 */ return;
|
|
L_02850C60: ; // 0x2850c60
|
|
/* 02850C60 */ cpu->r[3] = cpu->r[3] + 0x0000013Cu;
|
|
/* 02850C64 */ goto L_0281436C;
|
|
}
|
|
|
|
// fn_02850C68 @ 0x2850c68
|
|
void Gambit_fn_02850C68(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02850C68: ; // 0x2850c68
|
|
/* 02850C68 */ cpu->r[0] = 0x00000001u;
|
|
/* 02850C6C */ _t0 = cpu->r[3] + 0x000001F8u;
|
|
/* 02850C6C */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 02850C70 */ return;
|
|
}
|
|
|
|
// fn_02850C74 @ 0x2850c74
|
|
void Gambit_fn_02850C74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02850C74: ; // 0x2850c74
|
|
/* 02850C74 */ cpu->r[0] = cpu->lr;
|
|
/* 02850C78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02850C78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850C78 */ cpu->r[1] = _t0;
|
|
/* 02850C7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850C7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02850C80 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02850C80 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02850C84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02850C88 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02850C88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02850C8C */ _t4 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02850C8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02850C90 */ cpu->r[30] = cpu->r[12] + 0x00000004u;
|
|
/* 02850C94 */ cpu->r[3] = cpu->r[30];
|
|
/* 02850C98 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02850C9C */ _t5 = cpu->r[31] + 0x00000074u;
|
|
/* 02850C9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02850CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02850CA4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850CA4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02850CA4 */ if (_t7) goto L_02850CA8; else goto L_02850CBC;
|
|
L_02850CA8: ; // 0x2850ca8
|
|
/* 02850CA8 */ _t8 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02850CA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02850CAC */ _t9 = cpu->r[31] + 0x00000078u;
|
|
/* 02850CAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02850CB0 */ Gambit_fn_028166F8(cpu);
|
|
/* 02850CB4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02850CB8 */ _t10 = cpu->r[31] + 0x00000078u;
|
|
/* 02850CB8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02850CBC: ; // 0x2850cbc
|
|
/* 02850CBC */ _t11 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02850CBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02850CC0 */ cpu->r[4] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02850CC4 */ cpu->r[5] = cpu->r[31] + 0x00000100u;
|
|
/* 02850CC8 */ Gambit_fn_02815B58(cpu);
|
|
/* 02850CCC */ cpu->r[31] = cpu->r[3];
|
|
/* 02850CD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02850CD4 */ Gambit_fn_02837030(cpu);
|
|
/* 02850CD8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02850CD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02850CDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02850CE0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850CE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02850CE4 */ cpu->lr = cpu->r[0];
|
|
/* 02850CE8 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02850CE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02850CEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02850CF0 */ return;
|
|
}
|
|
|
|
// fn_02850C78 @ 0x2850c78
|
|
void Gambit_fn_02850C78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02850C78: ; // 0x2850c78
|
|
/* 02850C78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02850C78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850C78 */ cpu->r[1] = _t0;
|
|
/* 02850C7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850C7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02850C80 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02850C80 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02850C84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02850C88 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02850C88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02850C8C */ _t4 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02850C8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02850C90 */ cpu->r[30] = cpu->r[12] + 0x00000004u;
|
|
/* 02850C94 */ cpu->r[3] = cpu->r[30];
|
|
/* 02850C98 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02850C9C */ _t5 = cpu->r[31] + 0x00000074u;
|
|
/* 02850C9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02850CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02850CA4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850CA4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02850CA4 */ if (_t7) goto L_02850CA8; else goto L_02850CBC;
|
|
L_02850CA8: ; // 0x2850ca8
|
|
/* 02850CA8 */ _t8 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02850CA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02850CAC */ _t9 = cpu->r[31] + 0x00000078u;
|
|
/* 02850CAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02850CB0 */ Gambit_fn_028166F8(cpu);
|
|
/* 02850CB4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02850CB8 */ _t10 = cpu->r[31] + 0x00000078u;
|
|
/* 02850CB8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02850CBC: ; // 0x2850cbc
|
|
/* 02850CBC */ _t11 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02850CBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02850CC0 */ cpu->r[4] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02850CC4 */ cpu->r[5] = cpu->r[31] + 0x00000100u;
|
|
/* 02850CC8 */ Gambit_fn_02815B58(cpu);
|
|
/* 02850CCC */ cpu->r[31] = cpu->r[3];
|
|
/* 02850CD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02850CD4 */ Gambit_fn_02837030(cpu);
|
|
/* 02850CD8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02850CD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02850CDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02850CE0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850CE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02850CE4 */ cpu->lr = cpu->r[0];
|
|
/* 02850CE8 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02850CE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02850CEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02850CF0 */ return;
|
|
}
|
|
|
|
// fn_02850D1C @ 0x2850d1c
|
|
void Gambit_fn_02850D1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02850D1C: ; // 0x2850d1c
|
|
/* 02850D1C */ cpu->r[0] = cpu->lr;
|
|
/* 02850D20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02850D20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850D20 */ cpu->r[1] = _t0;
|
|
/* 02850D24 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850D24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02850D28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02850D2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02850D2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02850D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02850D34 */ _t3 = cpu->r[31] + 0x000001FCu;
|
|
/* 02850D34 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02850D38 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850D38 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02850D38 */ if (_t5) goto L_02850D3C; else goto L_02850D64;
|
|
L_02850D3C: ; // 0x2850d3c
|
|
/* 02850D3C */ _t6 = cpu->r[31] + 0x00000070u;
|
|
/* 02850D3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02850D40 */ _t7 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02850D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02850D44 */ cpu->ctr = cpu->r[0];
|
|
/* 02850D48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850D4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02850D50 */ _t8 = cpu->r[31] + 0x00000070u;
|
|
/* 02850D50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02850D54 */ _t9 = cpu->r[12] + 0x00000094u;
|
|
/* 02850D54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02850D58 */ cpu->ctr = cpu->r[0];
|
|
/* 02850D5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02850D60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850D64: ; // 0x2850d64
|
|
/* 02850D64 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02850D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02850D68 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850D68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02850D6C */ cpu->lr = cpu->r[0];
|
|
/* 02850D70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02850D74 */ return;
|
|
}
|
|
|
|
// fn_02850D20 @ 0x2850d20
|
|
void Gambit_fn_02850D20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02850D20: ; // 0x2850d20
|
|
/* 02850D20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02850D20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850D20 */ cpu->r[1] = _t0;
|
|
/* 02850D24 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850D24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02850D28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02850D2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02850D2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02850D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02850D34 */ _t3 = cpu->r[31] + 0x000001FCu;
|
|
/* 02850D34 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02850D38 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850D38 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02850D38 */ if (_t5) goto L_02850D3C; else goto L_02850D64;
|
|
L_02850D3C: ; // 0x2850d3c
|
|
/* 02850D3C */ _t6 = cpu->r[31] + 0x00000070u;
|
|
/* 02850D3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02850D40 */ _t7 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02850D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02850D44 */ cpu->ctr = cpu->r[0];
|
|
/* 02850D48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850D4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02850D50 */ _t8 = cpu->r[31] + 0x00000070u;
|
|
/* 02850D50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02850D54 */ _t9 = cpu->r[12] + 0x00000094u;
|
|
/* 02850D54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02850D58 */ cpu->ctr = cpu->r[0];
|
|
/* 02850D5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02850D60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850D64: ; // 0x2850d64
|
|
/* 02850D64 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02850D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02850D68 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850D68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02850D6C */ cpu->lr = cpu->r[0];
|
|
/* 02850D70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02850D74 */ return;
|
|
}
|
|
|
|
// fn_02850D78 @ 0x2850d78
|
|
void Gambit_fn_02850D78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02850D1C: ; // 0x2850d1c
|
|
/* 02850D1C */ cpu->r[0] = cpu->lr;
|
|
/* 02850D20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02850D20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850D20 */ cpu->r[1] = _t0;
|
|
/* 02850D24 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850D24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02850D28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02850D2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02850D2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02850D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02850D34 */ _t3 = cpu->r[31] + 0x000001FCu;
|
|
/* 02850D34 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02850D38 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850D38 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02850D38 */ if (_t5) goto L_02850D3C; else goto L_02850D64;
|
|
L_02850D3C: ; // 0x2850d3c
|
|
/* 02850D3C */ _t6 = cpu->r[31] + 0x00000070u;
|
|
/* 02850D3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02850D40 */ _t7 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02850D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02850D44 */ cpu->ctr = cpu->r[0];
|
|
/* 02850D48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850D4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02850D50 */ _t8 = cpu->r[31] + 0x00000070u;
|
|
/* 02850D50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02850D54 */ _t9 = cpu->r[12] + 0x00000094u;
|
|
/* 02850D54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02850D58 */ cpu->ctr = cpu->r[0];
|
|
/* 02850D5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02850D60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850D64: ; // 0x2850d64
|
|
/* 02850D64 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02850D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02850D68 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850D68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02850D6C */ cpu->lr = cpu->r[0];
|
|
/* 02850D70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02850D74 */ return;
|
|
L_02850D78: ; // 0x2850d78
|
|
/* 02850D78 */ cpu->r[4] = 0x00000000u;
|
|
/* 02850D7C */ goto L_02850D1C;
|
|
}
|
|
|
|
// fn_02850D80 @ 0x2850d80
|
|
void Gambit_fn_02850D80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72;
|
|
|
|
L_02850D80: ; // 0x2850d80
|
|
/* 02850D80 */ cpu->r[0] = cpu->lr;
|
|
/* 02850D84 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02850D84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850D84 */ cpu->r[1] = _t0;
|
|
/* 02850D88 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02850D88 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02850D8C */ /* nop */
|
|
/* 02850D90 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02850D90 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02850D94 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02850D94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02850D98 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02850D98 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02850D9C */ cpu->r[31] = cpu->r[3];
|
|
/* 02850DA0 */ _t5 = cpu->r[31] + 0x000001FCu;
|
|
/* 02850DA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02850DA4 */ cpu->r[8] = 0x10130000u;
|
|
/* 02850DA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
|
|
/* 02850DAC */ _t6 = cpu->r[8] + 0x00000304u;
|
|
/* 02850DAC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02850DB0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02850DB0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02850DB0 */ if (_t8) goto L_02850F48; else goto L_02850DB4;
|
|
L_02850DB4: ; // 0x2850db4
|
|
/* 02850DB4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850DB4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02850DB4 */ if (_t10) goto L_02850DE4; else goto L_02850DB8;
|
|
L_02850DB8: ; // 0x2850db8
|
|
/* 02850DB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u);
|
|
/* 02850DBC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02850DBC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02850DBC */ if (_t12) goto L_02850EA0; else goto L_02850DC0;
|
|
L_02850DC0: ; // 0x2850dc0
|
|
/* 02850DC0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850DC0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02850DC0 */ if (_t14) goto L_02850EC8; else goto L_02850DC4;
|
|
L_02850DC4: ; // 0x2850dc4
|
|
/* 02850DC4 */ _t15 = cpu->r[1] + 0x00000020u;
|
|
/* 02850DC4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02850DC8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02850DC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02850DCC */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02850DCC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 02850DD0 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02850DD0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02850DD0 */ if (_t19) goto L_02850DD4; // else: addr-0 trap, fall-through
|
|
L_02850DD4: ; // 0x2850dd4
|
|
/* 02850DD4 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02850DD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02850DD8 */ cpu->lr = cpu->r[0];
|
|
/* 02850DDC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02850DE0 */ return;
|
|
L_02850DE4: ; // 0x2850de4
|
|
/* 02850DE4 */ _t21 = cpu->r[31] + 0x000001E8u;
|
|
/* 02850DE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02850DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02850DEC */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02850DEC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02850DEC */ if (_t23) goto L_02850DF0; else goto L_02850E44;
|
|
L_02850DF0: ; // 0x2850df0
|
|
/* 02850DF0 */ cpu->r[8] = 0x10130000u;
|
|
/* 02850DF4 */ _t24 = cpu->r[8] + 0x00000308u;
|
|
/* 02850DF4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 02850DF8 */ cpu->r[10] = 0x43300000u;
|
|
/* 02850DFC */ _t25 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850DFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02850E00 */ cpu->r[9] = cpu->r[11] + 0x00000001u;
|
|
/* 02850E04 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02850E04 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 02850E08 */ cpu->r[0] = cpu->r[8] ^ 0x80000000u;
|
|
/* 02850E0C */ cpu->r[9] = cpu->r[9] ^ 0x80000000u;
|
|
/* 02850E10 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850E10 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02850E14 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02850E14 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 02850E18 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850E18 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02850E1C */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02850E1C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02850E20 */ cpu->f[0] = cpu->f[11] - cpu->f[12];
|
|
/* 02850E24 */ cpu->f[13] = cpu->f[13] - cpu->f[12];
|
|
/* 02850E28 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 02850E2C */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 02850E30 */ cpu->f[0] = cpu->f[12] / cpu->f[11];
|
|
/* 02850E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02850E38 */ _t31 = cpu->r[31] + 0x000001F4u;
|
|
/* 02850E38 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02850E3C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850E3C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02850E3C */ if (_t33) goto L_02850E40; else goto L_02850E7C;
|
|
L_02850E40: ; // 0x2850e40
|
|
/* 02850E40 */ goto L_02850E5C;
|
|
L_02850E44: ; // 0x2850e44
|
|
/* 02850E44 */ _t34 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850E44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02850E48 */ cpu->r[12] = 0x10130000u;
|
|
/* 02850E4C */ _t35 = cpu->r[12] + 0x000002F4u;
|
|
/* 02850E4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02850E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02850E54 */ _t36 = cpu->r[31] + 0x000001F4u;
|
|
/* 02850E54 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 02850E58 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850E58 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02850E58 */ if (_t38) goto L_02850E5C; else goto L_02850E7C;
|
|
L_02850E5C: ; // 0x2850e5c
|
|
/* 02850E5C */ _t39 = cpu->r[31] + 0x00000070u;
|
|
/* 02850E5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02850E60 */ cpu->r[0] = 0x00000002u;
|
|
/* 02850E64 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02850E64 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02850E68 */ _t41 = cpu->r[12] + 0x000000BCu;
|
|
/* 02850E68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02850E6C */ cpu->ctr = cpu->r[7];
|
|
/* 02850E70 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850E74 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02850E78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850E7C: ; // 0x2850e7c
|
|
/* 02850E7C */ _t42 = cpu->r[31] + 0x00000070u;
|
|
/* 02850E7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02850E80 */ _t43 = cpu->r[8] + 0x000000B4u;
|
|
/* 02850E80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02850E84 */ cpu->ctr = cpu->r[0];
|
|
/* 02850E88 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850E8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02850E90 */ _t44 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850E90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02850E94 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02850E98 */ _t45 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850E98 */ rbrew_write32(cpu->mem, _t45, cpu->r[10]);
|
|
/* 02850E9C */ goto L_02850F48;
|
|
L_02850EA0: ; // 0x2850ea0
|
|
/* 02850EA0 */ _t46 = cpu->r[31] + 0x00000070u;
|
|
/* 02850EA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02850EA4 */ _t47 = cpu->r[12] + 0x000000B4u;
|
|
/* 02850EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02850EA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02850EAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02850EB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02850EB4 */ _t48 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850EB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02850EB8 */ _t49 = cpu->r[31] + 0x000001F4u;
|
|
/* 02850EB8 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[31]);
|
|
/* 02850EBC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02850EC0 */ _t50 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850EC0 */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
|
|
/* 02850EC4 */ goto L_02850F48;
|
|
L_02850EC8: ; // 0x2850ec8
|
|
/* 02850EC8 */ _t51 = cpu->r[31] + 0x00000070u;
|
|
/* 02850EC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02850ECC */ _t52 = cpu->r[9] + 0x000000B4u;
|
|
/* 02850ECC */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02850ED0 */ cpu->ctr = cpu->r[10];
|
|
/* 02850ED4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850ED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02850EDC */ _t53 = cpu->r[31] + 0x000001F0u;
|
|
/* 02850EDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02850EE0 */ _t54 = cpu->r[31] + 0x000001ECu;
|
|
/* 02850EE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02850EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 02850EE8 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850EE8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02850EE8 */ if (_t56) goto L_02850F3C; else goto L_02850EEC;
|
|
L_02850EEC: ; // 0x2850eec
|
|
/* 02850EEC */ _t57 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02850EF0 */ cpu->r[12] = 0x10130000u;
|
|
/* 02850EF4 */ cpu->r[11] = cpu->r[7] - cpu->r[9];
|
|
/* 02850EF8 */ cpu->r[7] = 0x43300000u;
|
|
/* 02850EFC */ _t58 = cpu->r[12] + 0x00000308u;
|
|
/* 02850EFC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t58);
|
|
/* 02850F00 */ cpu->r[12] = cpu->r[0] - cpu->r[9];
|
|
/* 02850F04 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 02850F04 */ rbrew_write32(cpu->mem, _t59, cpu->r[7]);
|
|
/* 02850F08 */ cpu->r[9] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02850F0C */ cpu->r[0] = cpu->r[11] ^ 0x80000000u;
|
|
/* 02850F10 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850F10 */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 02850F14 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 02850F14 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 02850F18 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850F18 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 02850F1C */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 02850F1C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t63);
|
|
/* 02850F20 */ cpu->f[11] = cpu->f[0] - cpu->f[13];
|
|
/* 02850F24 */ cpu->f[0] = cpu->f[12] - cpu->f[13];
|
|
/* 02850F28 */ cpu->f[11] = (double)(float)cpu->f[11];
|
|
/* 02850F2C */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 02850F30 */ cpu->f[12] = cpu->f[11] / cpu->f[13];
|
|
/* 02850F34 */ cpu->f[0] = cpu->f[31] - cpu->f[12];
|
|
/* 02850F38 */ _t64 = cpu->r[31] + 0x000001F4u;
|
|
/* 02850F38 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
L_02850F3C: ; // 0x2850f3c
|
|
/* 02850F3C */ _t65 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850F3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02850F40 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02850F44 */ _t66 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850F44 */ rbrew_write32(cpu->mem, _t66, cpu->r[10]);
|
|
L_02850F48: ; // 0x2850f48
|
|
/* 02850F48 */ _t67 = cpu->r[1] + 0x00000020u;
|
|
/* 02850F48 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02850F4C */ _t68 = cpu->r[1] + 0x00000014u;
|
|
/* 02850F4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02850F50 */ _t69 = cpu->r[1] + 0x00000018u;
|
|
/* 02850F50 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 02850F54 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02850F54 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02850F54 */ if (_t71) goto L_02850F58; // else: addr-0 trap, fall-through
|
|
L_02850F58: ; // 0x2850f58
|
|
/* 02850F58 */ _t72 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02850F58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02850F5C */ cpu->lr = cpu->r[0];
|
|
/* 02850F60 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02850F64 */ return;
|
|
}
|
|
|
|
// fn_02850D84 @ 0x2850d84
|
|
void Gambit_fn_02850D84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72;
|
|
|
|
L_02850D84: ; // 0x2850d84
|
|
/* 02850D84 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02850D84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850D84 */ cpu->r[1] = _t0;
|
|
/* 02850D88 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02850D88 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02850D8C */ /* nop */
|
|
/* 02850D90 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02850D90 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02850D94 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02850D94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02850D98 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02850D98 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02850D9C */ cpu->r[31] = cpu->r[3];
|
|
/* 02850DA0 */ _t5 = cpu->r[31] + 0x000001FCu;
|
|
/* 02850DA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02850DA4 */ cpu->r[8] = 0x10130000u;
|
|
/* 02850DA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000001u);
|
|
/* 02850DAC */ _t6 = cpu->r[8] + 0x00000304u;
|
|
/* 02850DAC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02850DB0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02850DB0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02850DB0 */ if (_t8) goto L_02850F48; else goto L_02850DB4;
|
|
L_02850DB4: ; // 0x2850db4
|
|
/* 02850DB4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850DB4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02850DB4 */ if (_t10) goto L_02850DE4; else goto L_02850DB8;
|
|
L_02850DB8: ; // 0x2850db8
|
|
/* 02850DB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u);
|
|
/* 02850DBC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02850DBC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02850DBC */ if (_t12) goto L_02850EA0; else goto L_02850DC0;
|
|
L_02850DC0: ; // 0x2850dc0
|
|
/* 02850DC0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850DC0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02850DC0 */ if (_t14) goto L_02850EC8; else goto L_02850DC4;
|
|
L_02850DC4: ; // 0x2850dc4
|
|
/* 02850DC4 */ _t15 = cpu->r[1] + 0x00000020u;
|
|
/* 02850DC4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02850DC8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02850DC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02850DCC */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02850DCC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 02850DD0 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02850DD0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02850DD0 */ if (_t19) goto L_02850DD4; // else: addr-0 trap, fall-through
|
|
L_02850DD4: ; // 0x2850dd4
|
|
/* 02850DD4 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02850DD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02850DD8 */ cpu->lr = cpu->r[0];
|
|
/* 02850DDC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02850DE0 */ return;
|
|
L_02850DE4: ; // 0x2850de4
|
|
/* 02850DE4 */ _t21 = cpu->r[31] + 0x000001E8u;
|
|
/* 02850DE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02850DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02850DEC */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02850DEC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02850DEC */ if (_t23) goto L_02850DF0; else goto L_02850E44;
|
|
L_02850DF0: ; // 0x2850df0
|
|
/* 02850DF0 */ cpu->r[8] = 0x10130000u;
|
|
/* 02850DF4 */ _t24 = cpu->r[8] + 0x00000308u;
|
|
/* 02850DF4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 02850DF8 */ cpu->r[10] = 0x43300000u;
|
|
/* 02850DFC */ _t25 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850DFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02850E00 */ cpu->r[9] = cpu->r[11] + 0x00000001u;
|
|
/* 02850E04 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02850E04 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 02850E08 */ cpu->r[0] = cpu->r[8] ^ 0x80000000u;
|
|
/* 02850E0C */ cpu->r[9] = cpu->r[9] ^ 0x80000000u;
|
|
/* 02850E10 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850E10 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02850E14 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02850E14 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 02850E18 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850E18 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02850E1C */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02850E1C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02850E20 */ cpu->f[0] = cpu->f[11] - cpu->f[12];
|
|
/* 02850E24 */ cpu->f[13] = cpu->f[13] - cpu->f[12];
|
|
/* 02850E28 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 02850E2C */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 02850E30 */ cpu->f[0] = cpu->f[12] / cpu->f[11];
|
|
/* 02850E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02850E38 */ _t31 = cpu->r[31] + 0x000001F4u;
|
|
/* 02850E38 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02850E3C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850E3C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02850E3C */ if (_t33) goto L_02850E40; else goto L_02850E7C;
|
|
L_02850E40: ; // 0x2850e40
|
|
/* 02850E40 */ goto L_02850E5C;
|
|
L_02850E44: ; // 0x2850e44
|
|
/* 02850E44 */ _t34 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850E44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02850E48 */ cpu->r[12] = 0x10130000u;
|
|
/* 02850E4C */ _t35 = cpu->r[12] + 0x000002F4u;
|
|
/* 02850E4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02850E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02850E54 */ _t36 = cpu->r[31] + 0x000001F4u;
|
|
/* 02850E54 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 02850E58 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850E58 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02850E58 */ if (_t38) goto L_02850E5C; else goto L_02850E7C;
|
|
L_02850E5C: ; // 0x2850e5c
|
|
/* 02850E5C */ _t39 = cpu->r[31] + 0x00000070u;
|
|
/* 02850E5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02850E60 */ cpu->r[0] = 0x00000002u;
|
|
/* 02850E64 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02850E64 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02850E68 */ _t41 = cpu->r[12] + 0x000000BCu;
|
|
/* 02850E68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02850E6C */ cpu->ctr = cpu->r[7];
|
|
/* 02850E70 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850E74 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02850E78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02850E7C: ; // 0x2850e7c
|
|
/* 02850E7C */ _t42 = cpu->r[31] + 0x00000070u;
|
|
/* 02850E7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02850E80 */ _t43 = cpu->r[8] + 0x000000B4u;
|
|
/* 02850E80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02850E84 */ cpu->ctr = cpu->r[0];
|
|
/* 02850E88 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850E8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02850E90 */ _t44 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850E90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02850E94 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02850E98 */ _t45 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850E98 */ rbrew_write32(cpu->mem, _t45, cpu->r[10]);
|
|
/* 02850E9C */ goto L_02850F48;
|
|
L_02850EA0: ; // 0x2850ea0
|
|
/* 02850EA0 */ _t46 = cpu->r[31] + 0x00000070u;
|
|
/* 02850EA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02850EA4 */ _t47 = cpu->r[12] + 0x000000B4u;
|
|
/* 02850EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02850EA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02850EAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02850EB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02850EB4 */ _t48 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850EB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02850EB8 */ _t49 = cpu->r[31] + 0x000001F4u;
|
|
/* 02850EB8 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[31]);
|
|
/* 02850EBC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02850EC0 */ _t50 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850EC0 */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
|
|
/* 02850EC4 */ goto L_02850F48;
|
|
L_02850EC8: ; // 0x2850ec8
|
|
/* 02850EC8 */ _t51 = cpu->r[31] + 0x00000070u;
|
|
/* 02850EC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02850ECC */ _t52 = cpu->r[9] + 0x000000B4u;
|
|
/* 02850ECC */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02850ED0 */ cpu->ctr = cpu->r[10];
|
|
/* 02850ED4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02850ED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02850EDC */ _t53 = cpu->r[31] + 0x000001F0u;
|
|
/* 02850EDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02850EE0 */ _t54 = cpu->r[31] + 0x000001ECu;
|
|
/* 02850EE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02850EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 02850EE8 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850EE8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02850EE8 */ if (_t56) goto L_02850F3C; else goto L_02850EEC;
|
|
L_02850EEC: ; // 0x2850eec
|
|
/* 02850EEC */ _t57 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02850EF0 */ cpu->r[12] = 0x10130000u;
|
|
/* 02850EF4 */ cpu->r[11] = cpu->r[7] - cpu->r[9];
|
|
/* 02850EF8 */ cpu->r[7] = 0x43300000u;
|
|
/* 02850EFC */ _t58 = cpu->r[12] + 0x00000308u;
|
|
/* 02850EFC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t58);
|
|
/* 02850F00 */ cpu->r[12] = cpu->r[0] - cpu->r[9];
|
|
/* 02850F04 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 02850F04 */ rbrew_write32(cpu->mem, _t59, cpu->r[7]);
|
|
/* 02850F08 */ cpu->r[9] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02850F0C */ cpu->r[0] = cpu->r[11] ^ 0x80000000u;
|
|
/* 02850F10 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850F10 */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 02850F14 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 02850F14 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 02850F18 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02850F18 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 02850F1C */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 02850F1C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t63);
|
|
/* 02850F20 */ cpu->f[11] = cpu->f[0] - cpu->f[13];
|
|
/* 02850F24 */ cpu->f[0] = cpu->f[12] - cpu->f[13];
|
|
/* 02850F28 */ cpu->f[11] = (double)(float)cpu->f[11];
|
|
/* 02850F2C */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 02850F30 */ cpu->f[12] = cpu->f[11] / cpu->f[13];
|
|
/* 02850F34 */ cpu->f[0] = cpu->f[31] - cpu->f[12];
|
|
/* 02850F38 */ _t64 = cpu->r[31] + 0x000001F4u;
|
|
/* 02850F38 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
L_02850F3C: ; // 0x2850f3c
|
|
/* 02850F3C */ _t65 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850F3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02850F40 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02850F44 */ _t66 = cpu->r[31] + 0x000001E4u;
|
|
/* 02850F44 */ rbrew_write32(cpu->mem, _t66, cpu->r[10]);
|
|
L_02850F48: ; // 0x2850f48
|
|
/* 02850F48 */ _t67 = cpu->r[1] + 0x00000020u;
|
|
/* 02850F48 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02850F4C */ _t68 = cpu->r[1] + 0x00000014u;
|
|
/* 02850F4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02850F50 */ _t69 = cpu->r[1] + 0x00000018u;
|
|
/* 02850F50 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 02850F54 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02850F54 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02850F54 */ if (_t71) goto L_02850F58; // else: addr-0 trap, fall-through
|
|
L_02850F58: ; // 0x2850f58
|
|
/* 02850F58 */ _t72 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02850F58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02850F5C */ cpu->lr = cpu->r[0];
|
|
/* 02850F60 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02850F64 */ return;
|
|
}
|
|
|
|
// fn_02850F68 @ 0x2850f68
|
|
void Gambit_fn_02850F68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145;
|
|
|
|
L_02850F68: ; // 0x2850f68
|
|
/* 02850F68 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02850F68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02850F68 */ cpu->r[1] = _t0;
|
|
/* 02850F6C */ /* nop */
|
|
/* 02850F70 */ cpu->r[0] = cpu->lr;
|
|
/* 02850F74 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02850F74 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02850F78 */ cpu->r[28] = 0x10130000u;
|
|
/* 02850F7C */ cpu->r[30] = cpu->r[3];
|
|
/* 02850F80 */ _t2 = cpu->r[30] + 0x000001FCu;
|
|
/* 02850F80 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02850F84 */ cpu->r[28] = cpu->r[28] + 0x00000284u;
|
|
/* 02850F88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000001u);
|
|
/* 02850F8C */ cpu->r[29] = 0x00000000u;
|
|
/* 02850F90 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02850F90 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02850F90 */ if (_t4) goto L_028513E4; else goto L_02850F94;
|
|
L_02850F94: ; // 0x2850f94
|
|
/* 02850F94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850F94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02850F94 */ if (_t6) goto L_02850FB8; else goto L_02850F98;
|
|
L_02850F98: ; // 0x2850f98
|
|
/* 02850F98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000003u);
|
|
/* 02850F9C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02850F9C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02850F9C */ if (_t8) goto L_028512BC; else goto L_02850FA0;
|
|
L_02850FA0: ; // 0x2850fa0
|
|
/* 02850FA0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850FA0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02850FA0 */ if (_t10) goto L_0285136C; else goto L_02850FA4;
|
|
L_02850FA4: ; // 0x2850fa4
|
|
/* 02850FA4 */ /* nop */
|
|
/* 02850FA8 */ _t11 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02850FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02850FAC */ cpu->lr = cpu->r[0];
|
|
/* 02850FB0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02850FB4 */ return;
|
|
L_02850FB8: ; // 0x2850fb8
|
|
/* 02850FB8 */ _t12 = cpu->r[30] + 0x000001E8u;
|
|
/* 02850FB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02850FBC */ _t13 = cpu->r[30] + 0x000001E4u;
|
|
/* 02850FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02850FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[8]);
|
|
/* 02850FC4 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02850FC4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02850FC4 */ if (_t15) goto L_02850FC8; else goto L_028513E4;
|
|
L_02850FC8: ; // 0x2850fc8
|
|
/* 02850FC8 */ _t16 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02850FC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02850FCC */ cpu->r[27] = cpu->r[12] + 0x00000004u;
|
|
/* 02850FD0 */ cpu->r[12] = cpu->r[8] + 0x00000001u;
|
|
/* 02850FD4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02850FD8 */ _t17 = cpu->r[30] + 0x000001E4u;
|
|
/* 02850FD8 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 02850FDC */ Gambit_fn_02837004(cpu);
|
|
/* 02850FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02850FE4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02850FE4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02850FE4 */ if (_t19) goto L_028513E4; else goto L_02850FE8;
|
|
L_02850FE8: ; // 0x2850fe8
|
|
/* 02850FE8 */ _t20 = cpu->r[30] + 0x00000070u;
|
|
/* 02850FE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02850FEC */ cpu->r[8] = 0x00000003u;
|
|
/* 02850FF0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02850FF0 */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
|
|
/* 02850FF4 */ _t22 = cpu->r[6] + 0x000000BCu;
|
|
/* 02850FF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02850FF8 */ cpu->ctr = cpu->r[9];
|
|
/* 02850FFC */ cpu->r[3] = cpu->r[30];
|
|
/* 02851000 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02851004 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02851008 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285100C */ cpu->r[4] = 0x00000002u;
|
|
/* 02851010 */ Gambit_fn_02850D1C(cpu);
|
|
/* 02851014 */ _t23 = cpu->r[30] + 0x00000074u;
|
|
/* 02851014 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02851018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
|
|
/* 0285101C */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285101C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285101C */ if (_t25) goto L_028512A0; else goto L_02851020;
|
|
L_02851020: ; // 0x2851020
|
|
/* 02851020 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851020 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02851020 */ if (_t27) goto L_02851180; else goto L_02851024;
|
|
L_02851024: ; // 0x2851024
|
|
/* 02851024 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000003u);
|
|
/* 02851028 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02851028 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02851028 */ if (_t29) goto L_028511A4; else goto L_0285102C;
|
|
L_0285102C: ; // 0x285102c
|
|
/* 0285102C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285102C */ _t31 = _t30 & 0x00000001u;
|
|
/* 0285102C */ if (_t31) goto L_02851270; else goto L_02851030;
|
|
L_02851030: ; // 0x2851030
|
|
/* 02851030 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000004u);
|
|
/* 02851034 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851034 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02851034 */ if (_t33) goto L_02851038; else goto L_028512A0;
|
|
L_02851038: ; // 0x2851038
|
|
/* 02851038 */ _t34 = cpu->r[30] + 0x00000078u;
|
|
/* 02851038 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0285103C */ _t35 = cpu->r[4] + 0x00000000u;
|
|
/* 0285103C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02851040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851044 */ _t36 = cpu->r[30] + 0x000000FCu;
|
|
/* 02851044 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02851048 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851048 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02851048 */ if (_t38) goto L_02851050; else goto L_0285104C;
|
|
L_0285104C: ; // 0x285104c
|
|
/* 0285104C */ _t39 = cpu->r[31] + 0x00000010u;
|
|
/* 0285104C */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
L_02851050: ; // 0x2851050
|
|
/* 02851050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02851054 */ _t40 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02851054 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02851058 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851058 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02851058 */ if (_t42) goto L_0285105C; else goto L_028510D4;
|
|
L_0285105C: ; // 0x285105c
|
|
/* 0285105C */ Gambit_fn_028166F8(cpu);
|
|
/* 02851060 */ _t43 = cpu->r[31] + 0x00000070u;
|
|
/* 02851060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02851064 */ _t44 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02851064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02851068 */ cpu->ctr = cpu->r[0];
|
|
/* 0285106C */ cpu->r[3] = cpu->r[31];
|
|
/* 02851070 */ cpu->r[4] = 0x00000000u;
|
|
/* 02851074 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02851078 */ _t45 = cpu->r[31] + 0x00000070u;
|
|
/* 02851078 */ cpu->r[6] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0285107C */ _t46 = cpu->r[6] + 0x00000024u;
|
|
/* 0285107C */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02851080 */ cpu->ctr = cpu->r[7];
|
|
/* 02851084 */ cpu->r[3] = cpu->r[31];
|
|
/* 02851088 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285108C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02851090 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02851090 */ rbrew_write32(cpu->mem, _t47, cpu->r[29]);
|
|
/* 02851094 */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02851094 */ rbrew_write32(cpu->mem, _t48, cpu->r[28]);
|
|
/* 02851098 */ _t49 = cpu->r[31] + 0x00000070u;
|
|
/* 02851098 */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0285109C */ _t50 = cpu->r[6] + 0x00000074u;
|
|
/* 0285109C */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 028510A0 */ cpu->ctr = cpu->r[7];
|
|
/* 028510A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028510A8 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 028510AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028510B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028510B4 */ Gambit_fn_02850C68(cpu);
|
|
/* 028510B8 */ cpu->r[3] = cpu->r[27];
|
|
/* 028510BC */ Gambit_fn_02837030(cpu);
|
|
/* 028510C0 */ /* nop */
|
|
/* 028510C4 */ _t51 = cpu->r[1] + 0x0000004Cu;
|
|
/* 028510C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 028510C8 */ cpu->lr = cpu->r[0];
|
|
/* 028510CC */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 028510D0 */ return;
|
|
L_028510D4: ; // 0x28510d4
|
|
/* 028510D4 */ Gambit_fn_028166F8(cpu);
|
|
/* 028510D8 */ _t52 = cpu->r[30] + 0x000000FCu;
|
|
/* 028510D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t52);
|
|
/* 028510DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]);
|
|
/* 028510E0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028510E0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 028510E0 */ if (_t54) goto L_0285110C; else goto L_028510E4;
|
|
L_028510E4: ; // 0x28510e4
|
|
/* 028510E4 */ _t55 = cpu->r[30] + 0x0000005Cu;
|
|
/* 028510E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 028510E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 028510EC */ Gambit_fn_028166F8(cpu);
|
|
/* 028510F0 */ _t56 = cpu->r[31] + 0x00000000u;
|
|
/* 028510F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t56);
|
|
/* 028510F4 */ cpu->r[31] = cpu->r[11];
|
|
/* 028510F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028510F8 */ _t57 = cpu->r[30] + 0x000000FCu;
|
|
/* 028510F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 028510FC */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028510FC */ _t59 = _t58 & 0x00000001u;
|
|
/* 028510FC */ if (_t59) goto L_02851104; else goto L_02851100;
|
|
L_02851100: ; // 0x2851100
|
|
/* 02851100 */ _t60 = cpu->r[11] + 0x00000010u;
|
|
/* 02851100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
L_02851104: ; // 0x2851104
|
|
/* 02851104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 02851108 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851108 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02851108 */ if (_t62) goto L_0285110C; else goto L_028510E4;
|
|
L_0285110C: ; // 0x285110c
|
|
/* 0285110C */ _t63 = cpu->r[31] + 0x00000070u;
|
|
/* 0285110C */ cpu->r[10] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02851110 */ _t64 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02851110 */ cpu->r[11] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02851114 */ cpu->ctr = cpu->r[11];
|
|
/* 02851118 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285111C */ cpu->r[4] = 0x00000000u;
|
|
/* 02851120 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02851124 */ _t65 = cpu->r[31] + 0x00000070u;
|
|
/* 02851124 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02851128 */ _t66 = cpu->r[12] + 0x00000024u;
|
|
/* 02851128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0285112C */ cpu->ctr = cpu->r[0];
|
|
/* 02851130 */ cpu->r[3] = cpu->r[31];
|
|
/* 02851134 */ cpu->r[4] = 0x00000000u;
|
|
/* 02851138 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285113C */ _t67 = cpu->r[1] + 0x00000014u;
|
|
/* 0285113C */ rbrew_write32(cpu->mem, _t67, cpu->r[29]);
|
|
/* 02851140 */ _t68 = cpu->r[1] + 0x00000018u;
|
|
/* 02851140 */ rbrew_write32(cpu->mem, _t68, cpu->r[28]);
|
|
/* 02851144 */ _t69 = cpu->r[31] + 0x00000070u;
|
|
/* 02851144 */ cpu->r[6] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02851148 */ _t70 = cpu->r[6] + 0x00000074u;
|
|
/* 02851148 */ cpu->r[7] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0285114C */ cpu->ctr = cpu->r[7];
|
|
/* 02851150 */ cpu->r[3] = cpu->r[31];
|
|
/* 02851154 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02851158 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285115C */ cpu->r[3] = cpu->r[30];
|
|
/* 02851160 */ Gambit_fn_02850C68(cpu);
|
|
/* 02851164 */ cpu->r[3] = cpu->r[27];
|
|
/* 02851168 */ Gambit_fn_02837030(cpu);
|
|
/* 0285116C */ /* nop */
|
|
/* 02851170 */ _t71 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02851170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02851174 */ cpu->lr = cpu->r[0];
|
|
/* 02851178 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 0285117C */ return;
|
|
L_02851180: ; // 0x2851180
|
|
/* 02851180 */ cpu->r[3] = cpu->r[30];
|
|
/* 02851184 */ Gambit_fn_02850C74(cpu);
|
|
/* 02851188 */ cpu->r[3] = cpu->r[27];
|
|
/* 0285118C */ Gambit_fn_02837030(cpu);
|
|
/* 02851190 */ /* nop */
|
|
/* 02851194 */ _t72 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02851194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02851198 */ cpu->lr = cpu->r[0];
|
|
/* 0285119C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 028511A0 */ return;
|
|
L_028511A4: ; // 0x28511a4
|
|
/* 028511A4 */ _t73 = cpu->r[30] + 0x00000078u;
|
|
/* 028511A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 028511A8 */ _t74 = cpu->r[3] + 0x00000070u;
|
|
/* 028511A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t74);
|
|
/* 028511AC */ _t75 = cpu->r[8] + 0x0000001Cu;
|
|
/* 028511AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t75);
|
|
/* 028511B0 */ cpu->ctr = cpu->r[9];
|
|
/* 028511B4 */ cpu->r[4] = 0x00000001u;
|
|
/* 028511B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028511BC */ _t76 = cpu->r[30] + 0x00000078u;
|
|
/* 028511BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t76);
|
|
/* 028511C0 */ _t77 = cpu->r[3] + 0x00000070u;
|
|
/* 028511C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t77);
|
|
/* 028511C4 */ _t78 = cpu->r[10] + 0x00000024u;
|
|
/* 028511C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
|
|
/* 028511C8 */ cpu->ctr = cpu->r[11];
|
|
/* 028511CC */ cpu->r[4] = 0x00000001u;
|
|
/* 028511D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028511D4 */ _t79 = cpu->r[30] + 0x000000FCu;
|
|
/* 028511D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
|
|
/* 028511D8 */ _t80 = cpu->r[3] + 0x00000070u;
|
|
/* 028511D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 028511DC */ _t81 = cpu->r[12] + 0x0000001Cu;
|
|
/* 028511DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 028511E0 */ cpu->ctr = cpu->r[0];
|
|
/* 028511E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 028511E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028511EC */ _t82 = cpu->r[30] + 0x000000FCu;
|
|
/* 028511EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 028511F0 */ _t83 = cpu->r[3] + 0x00000070u;
|
|
/* 028511F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t83);
|
|
/* 028511F4 */ _t84 = cpu->r[6] + 0x00000024u;
|
|
/* 028511F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
|
|
/* 028511F8 */ cpu->ctr = cpu->r[7];
|
|
/* 028511FC */ cpu->r[4] = 0x00000000u;
|
|
/* 02851200 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02851204 */ _t85 = cpu->r[1] + 0x00000020u;
|
|
/* 02851204 */ rbrew_write32(cpu->mem, _t85, cpu->r[28]);
|
|
/* 02851208 */ cpu->r[8] = 0x00000001u;
|
|
/* 0285120C */ _t86 = cpu->r[30] + 0x00000078u;
|
|
/* 0285120C */ cpu->r[3] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02851210 */ _t87 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02851210 */ rbrew_write32(cpu->mem, _t87, cpu->r[8]);
|
|
/* 02851214 */ _t88 = cpu->r[3] + 0x00000070u;
|
|
/* 02851214 */ cpu->r[9] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02851218 */ _t89 = cpu->r[9] + 0x00000074u;
|
|
/* 02851218 */ cpu->r[10] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0285121C */ cpu->ctr = cpu->r[10];
|
|
/* 02851220 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02851224 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02851228 */ _t90 = cpu->r[1] + 0x00000028u;
|
|
/* 02851228 */ rbrew_write32(cpu->mem, _t90, cpu->r[28]);
|
|
/* 0285122C */ cpu->r[0] = 0x00000002u;
|
|
/* 02851230 */ _t91 = cpu->r[30] + 0x000000FCu;
|
|
/* 02851230 */ cpu->r[3] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02851234 */ _t92 = cpu->r[1] + 0x00000024u;
|
|
/* 02851234 */ rbrew_write32(cpu->mem, _t92, cpu->r[0]);
|
|
/* 02851238 */ _t93 = cpu->r[3] + 0x00000070u;
|
|
/* 02851238 */ cpu->r[12] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0285123C */ _t94 = cpu->r[12] + 0x00000074u;
|
|
/* 0285123C */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02851240 */ cpu->ctr = cpu->r[0];
|
|
/* 02851244 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 02851248 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285124C */ cpu->r[3] = cpu->r[30];
|
|
/* 02851250 */ Gambit_fn_02850C68(cpu);
|
|
/* 02851254 */ cpu->r[3] = cpu->r[27];
|
|
/* 02851258 */ Gambit_fn_02837030(cpu);
|
|
/* 0285125C */ /* nop */
|
|
/* 02851260 */ _t95 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02851260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02851264 */ cpu->lr = cpu->r[0];
|
|
/* 02851268 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 0285126C */ return;
|
|
L_02851270: ; // 0x2851270
|
|
/* 02851270 */ _t96 = cpu->r[30] + 0x00000078u;
|
|
/* 02851270 */ cpu->r[3] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02851274 */ _t97 = cpu->r[3] + 0x00000070u;
|
|
/* 02851274 */ cpu->r[6] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02851278 */ _t98 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02851278 */ cpu->r[7] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0285127C */ cpu->ctr = cpu->r[7];
|
|
/* 02851280 */ cpu->r[4] = 0x00000001u;
|
|
/* 02851284 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02851288 */ _t99 = cpu->r[30] + 0x00000078u;
|
|
/* 02851288 */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0285128C */ _t100 = cpu->r[3] + 0x00000070u;
|
|
/* 0285128C */ cpu->r[8] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02851290 */ _t101 = cpu->r[8] + 0x00000024u;
|
|
/* 02851290 */ cpu->r[9] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02851294 */ cpu->ctr = cpu->r[9];
|
|
/* 02851298 */ cpu->r[4] = 0x00000001u;
|
|
/* 0285129C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028512A0: ; // 0x28512a0
|
|
/* 028512A0 */ cpu->r[3] = cpu->r[27];
|
|
/* 028512A4 */ Gambit_fn_02837030(cpu);
|
|
/* 028512A8 */ /* nop */
|
|
/* 028512AC */ _t102 = cpu->r[1] + 0x0000004Cu;
|
|
/* 028512AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
|
|
/* 028512B0 */ cpu->lr = cpu->r[0];
|
|
/* 028512B4 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 028512B8 */ return;
|
|
L_028512BC: ; // 0x28512bc
|
|
/* 028512BC */ _t103 = cpu->r[30] + 0x000001ECu;
|
|
/* 028512BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t103);
|
|
/* 028512C0 */ _t104 = cpu->r[30] + 0x000001E4u;
|
|
/* 028512C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t104);
|
|
/* 028512C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[6]);
|
|
/* 028512C8 */ _t105 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028512C8 */ _t106 = _t105 & 0x00000001u;
|
|
/* 028512C8 */ if (_t106) goto L_028512CC; else goto L_028513E4;
|
|
L_028512CC: ; // 0x28512cc
|
|
/* 028512CC */ _t107 = cpu->r[30] + 0x000001F8u;
|
|
/* 028512CC */ cpu->r[12] = rbrew_read8(cpu->mem, _t107);
|
|
/* 028512D0 */ cpu->r[11] = cpu->r[6] + 0x00000001u;
|
|
/* 028512D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028512D8 */ _t108 = cpu->r[30] + 0x000001E4u;
|
|
/* 028512D8 */ rbrew_write32(cpu->mem, _t108, cpu->r[11]);
|
|
/* 028512DC */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028512DC */ _t110 = _t109 & 0x00000001u;
|
|
/* 028512DC */ if (_t110) goto L_0285134C; else goto L_028512E0;
|
|
L_028512E0: ; // 0x28512e0
|
|
/* 028512E0 */ _t111 = cpu->r[30] + 0x00000074u;
|
|
/* 028512E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t111);
|
|
/* 028512E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 028512E8 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028512E8 */ _t113 = _t112 & 0x00000001u;
|
|
/* 028512E8 */ if (_t113) goto L_028512EC; else goto L_02851310;
|
|
L_028512EC: ; // 0x28512ec
|
|
/* 028512EC */ _t114 = cpu->r[1] + 0x00000030u;
|
|
/* 028512EC */ rbrew_write32(cpu->mem, _t114, cpu->r[28]);
|
|
/* 028512F0 */ cpu->r[7] = 0x00000004u;
|
|
/* 028512F4 */ _t115 = cpu->r[30] + 0x000000FCu;
|
|
/* 028512F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t115);
|
|
/* 028512F8 */ _t116 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028512F8 */ rbrew_write32(cpu->mem, _t116, cpu->r[7]);
|
|
/* 028512FC */ _t117 = cpu->r[3] + 0x00000070u;
|
|
/* 028512FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02851300 */ _t118 = cpu->r[9] + 0x00000074u;
|
|
/* 02851300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02851304 */ cpu->ctr = cpu->r[0];
|
|
/* 02851308 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285130C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02851310: ; // 0x2851310
|
|
/* 02851310 */ _t119 = cpu->r[30] + 0x00000070u;
|
|
/* 02851310 */ cpu->r[12] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02851314 */ _t120 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851314 */ rbrew_write32(cpu->mem, _t120, cpu->r[29]);
|
|
/* 02851318 */ _t121 = cpu->r[12] + 0x000000BCu;
|
|
/* 02851318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0285131C */ cpu->ctr = cpu->r[0];
|
|
/* 02851320 */ cpu->r[3] = cpu->r[30];
|
|
/* 02851324 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851328 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285132C */ cpu->r[3] = cpu->r[30];
|
|
/* 02851330 */ cpu->r[4] = 0x00000003u;
|
|
/* 02851334 */ Gambit_fn_02850D1C(cpu);
|
|
/* 02851338 */ /* nop */
|
|
/* 0285133C */ _t122 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0285133C */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02851340 */ cpu->lr = cpu->r[0];
|
|
/* 02851344 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02851348 */ return;
|
|
L_0285134C: ; // 0x285134c
|
|
/* 0285134C */ _t123 = cpu->r[30] + 0x000001ECu;
|
|
/* 0285134C */ cpu->r[9] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02851350 */ cpu->r[0] = cpu->r[9] + 0x00000001u;
|
|
/* 02851354 */ _t124 = cpu->r[30] + 0x000001E4u;
|
|
/* 02851354 */ rbrew_write32(cpu->mem, _t124, cpu->r[0]);
|
|
/* 02851358 */ /* nop */
|
|
/* 0285135C */ _t125 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0285135C */ cpu->r[0] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02851360 */ cpu->lr = cpu->r[0];
|
|
/* 02851364 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02851368 */ return;
|
|
L_0285136C: ; // 0x285136c
|
|
/* 0285136C */ _t126 = cpu->r[30] + 0x000001E4u;
|
|
/* 0285136C */ cpu->r[10] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02851370 */ _t127 = cpu->r[30] + 0x000001F0u;
|
|
/* 02851370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02851374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 02851378 */ _t128 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02851378 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02851378 */ if (_t129) goto L_0285137C; else goto L_028513E4;
|
|
L_0285137C: ; // 0x285137c
|
|
/* 0285137C */ _t130 = cpu->r[30] + 0x00000070u;
|
|
/* 0285137C */ cpu->r[12] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02851380 */ cpu->r[7] = 0x00000001u;
|
|
/* 02851384 */ _t131 = cpu->r[1] + 0x00000010u;
|
|
/* 02851384 */ rbrew_write32(cpu->mem, _t131, cpu->r[7]);
|
|
/* 02851388 */ _t132 = cpu->r[12] + 0x000000BCu;
|
|
/* 02851388 */ cpu->r[8] = rbrew_read32(cpu->mem, _t132);
|
|
/* 0285138C */ cpu->ctr = cpu->r[8];
|
|
/* 02851390 */ cpu->r[3] = cpu->r[30];
|
|
/* 02851394 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02851398 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285139C */ _t133 = cpu->r[30] + 0x000001F0u;
|
|
/* 0285139C */ cpu->r[11] = rbrew_read32(cpu->mem, _t133);
|
|
/* 028513A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028513A4 */ cpu->r[9] = cpu->r[11] + 0x00000001u;
|
|
/* 028513A8 */ cpu->r[4] = 0x00000000u;
|
|
/* 028513AC */ _t134 = cpu->r[30] + 0x000001E4u;
|
|
/* 028513AC */ rbrew_write32(cpu->mem, _t134, cpu->r[9]);
|
|
/* 028513B0 */ Gambit_fn_02850D1C(cpu);
|
|
/* 028513B4 */ _t135 = cpu->r[30] + 0x00000078u;
|
|
/* 028513B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t135);
|
|
/* 028513B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 028513BC */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028513BC */ _t137 = _t136 & 0x00000001u;
|
|
/* 028513BC */ if (_t137) goto L_028513CC; else goto L_028513C0;
|
|
L_028513C0: ; // 0x28513c0
|
|
/* 028513C0 */ _t138 = cpu->r[4] + 0x00000030u;
|
|
/* 028513C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t138);
|
|
/* 028513C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 028513C8 */ _t139 = cpu->r[4] + 0x00000030u;
|
|
/* 028513C8 */ rbrew_write32(cpu->mem, _t139, cpu->r[0]);
|
|
L_028513CC: ; // 0x28513cc
|
|
/* 028513CC */ _t140 = cpu->r[30] + 0x000000FCu;
|
|
/* 028513CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t140);
|
|
/* 028513D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 028513D4 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028513D4 */ _t142 = _t141 & 0x00000001u;
|
|
/* 028513D4 */ if (_t142) goto L_028513E4; else goto L_028513D8;
|
|
L_028513D8: ; // 0x28513d8
|
|
/* 028513D8 */ _t143 = cpu->r[6] + 0x00000030u;
|
|
/* 028513D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t143);
|
|
/* 028513DC */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 028513E0 */ _t144 = cpu->r[6] + 0x00000030u;
|
|
/* 028513E0 */ rbrew_write32(cpu->mem, _t144, cpu->r[7]);
|
|
L_028513E4: ; // 0x28513e4
|
|
/* 028513E4 */ /* nop */
|
|
/* 028513E8 */ _t145 = cpu->r[1] + 0x0000004Cu;
|
|
/* 028513E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145);
|
|
/* 028513EC */ cpu->lr = cpu->r[0];
|
|
/* 028513F0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 028513F4 */ return;
|
|
}
|
|
|
|
// fn_028513F8 @ 0x28513f8
|
|
void Gambit_fn_028513F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_028513F8: ; // 0x28513f8
|
|
/* 028513F8 */ cpu->r[0] = cpu->lr;
|
|
/* 028513FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028513FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028513FC */ cpu->r[1] = _t0;
|
|
/* 02851400 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02851400 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02851404 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851404 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02851408 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02851408 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0285140C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0285140C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02851410 */ cpu->r[30] = cpu->r[3];
|
|
/* 02851414 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02851414 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02851418 */ _t6 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02851418 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285141C */ cpu->r[28] = cpu->r[7] + 0x00000004u;
|
|
/* 02851420 */ cpu->r[3] = cpu->r[28];
|
|
/* 02851424 */ cpu->r[31] = cpu->r[4];
|
|
/* 02851428 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0285142C */ _t7 = cpu->r[30] + 0x000001FCu;
|
|
/* 0285142C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02851430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02851434 */ cpu->r[29] = 0x00000000u;
|
|
/* 02851438 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851438 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02851438 */ if (_t9) goto L_0285143C; else goto L_028514E0;
|
|
L_0285143C: ; // 0x285143c
|
|
/* 0285143C */ cpu->r[10] = 0x00000008u;
|
|
/* 02851440 */ cpu->r[8] = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 02851444 */ cpu->r[9] = cpu->r[30] + 0x00000078u;
|
|
/* 02851448 */ cpu->ctr = cpu->r[10];
|
|
/* 0285144C */ _t10 = cpu->r[30] + 0x00000074u;
|
|
/* 0285144C */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
L_02851450: ; // 0x2851450
|
|
/* 02851450 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02851450 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02851454 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 02851454 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02851458 */ _t13 = cpu->r[8] + 0x00000008u;
|
|
/* 02851458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285145C */ _t14 = cpu->r[9] + 0x00000008u;
|
|
/* 0285145C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02851460 */ _t15 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02851460 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02851464 */ _t16 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02851464 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02851468 */ _t17 = cpu->r[8] + 0x00000010u;
|
|
/* 02851468 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02851468 */ cpu->r[8] = _t17;
|
|
/* 0285146C */ _t18 = cpu->r[9] + 0x00000010u;
|
|
/* 0285146C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 0285146C */ cpu->r[9] = _t18;
|
|
/* 02851470 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02851470 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02851470 */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 02851470 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02851470 */ if (_t21) goto L_02851450; else goto L_02851474;
|
|
L_02851474: ; // 0x2851474
|
|
/* 02851474 */ cpu->r[3] = cpu->r[30];
|
|
/* 02851478 */ Gambit_fn_02850C74(cpu);
|
|
/* 0285147C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02851480 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851480 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02851480 */ if (_t23) goto L_028514E0; else goto L_02851484;
|
|
L_02851484: ; // 0x2851484
|
|
/* 02851484 */ _t24 = cpu->r[30] + 0x000001E8u;
|
|
/* 02851484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02851488 */ _t25 = cpu->r[30] + 0x00000078u;
|
|
/* 02851488 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 0285148C */ cpu->r[4] = 0x00000002u;
|
|
/* 02851490 */ cpu->r[3] = cpu->r[30];
|
|
/* 02851494 */ _t26 = cpu->r[30] + 0x000001E4u;
|
|
/* 02851494 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02851498 */ Gambit_fn_02850D1C(cpu);
|
|
/* 0285149C */ cpu->r[12] = 0x10130000u;
|
|
/* 028514A0 */ _t27 = cpu->r[12] + 0x00000304u;
|
|
/* 028514A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 028514A4 */ _t28 = cpu->r[30] + 0x000001F8u;
|
|
/* 028514A4 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[29]);
|
|
/* 028514A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028514AC */ _t29 = cpu->r[30] + 0x000001F4u;
|
|
/* 028514AC */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 028514B0 */ Gambit_fn_0281505C(cpu);
|
|
/* 028514B4 */ cpu->r[3] = cpu->r[28];
|
|
/* 028514B8 */ Gambit_fn_02837030(cpu);
|
|
/* 028514BC */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 028514BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028514C0 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028514C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028514C4 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028514C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028514C8 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 028514C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028514CC */ cpu->lr = cpu->r[0];
|
|
/* 028514D0 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 028514D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028514D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028514D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 028514DC */ return;
|
|
L_028514E0: ; // 0x28514e0
|
|
/* 028514E0 */ cpu->r[3] = cpu->r[28];
|
|
/* 028514E4 */ Gambit_fn_02837030(cpu);
|
|
/* 028514E8 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 028514E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
|
|
/* 028514EC */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028514EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 028514F0 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028514F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028514F4 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 028514F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 028514F8 */ cpu->lr = cpu->r[0];
|
|
/* 028514FC */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 028514FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02851500 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02851504 */ cpu->r[3] = 0x00000000u;
|
|
/* 02851508 */ return;
|
|
}
|
|
|
|
// fn_028513FC @ 0x28513fc
|
|
void Gambit_fn_028513FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_028513FC: ; // 0x28513fc
|
|
/* 028513FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028513FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028513FC */ cpu->r[1] = _t0;
|
|
/* 02851400 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02851400 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02851404 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851404 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02851408 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02851408 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0285140C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0285140C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02851410 */ cpu->r[30] = cpu->r[3];
|
|
/* 02851414 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02851414 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02851418 */ _t6 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02851418 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285141C */ cpu->r[28] = cpu->r[7] + 0x00000004u;
|
|
/* 02851420 */ cpu->r[3] = cpu->r[28];
|
|
/* 02851424 */ cpu->r[31] = cpu->r[4];
|
|
/* 02851428 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0285142C */ _t7 = cpu->r[30] + 0x000001FCu;
|
|
/* 0285142C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02851430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02851434 */ cpu->r[29] = 0x00000000u;
|
|
/* 02851438 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851438 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02851438 */ if (_t9) goto L_0285143C; else goto L_028514E0;
|
|
L_0285143C: ; // 0x285143c
|
|
/* 0285143C */ cpu->r[10] = 0x00000008u;
|
|
/* 02851440 */ cpu->r[8] = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 02851444 */ cpu->r[9] = cpu->r[30] + 0x00000078u;
|
|
/* 02851448 */ cpu->ctr = cpu->r[10];
|
|
/* 0285144C */ _t10 = cpu->r[30] + 0x00000074u;
|
|
/* 0285144C */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
L_02851450: ; // 0x2851450
|
|
/* 02851450 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 02851450 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02851454 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 02851454 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02851458 */ _t13 = cpu->r[8] + 0x00000008u;
|
|
/* 02851458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285145C */ _t14 = cpu->r[9] + 0x00000008u;
|
|
/* 0285145C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02851460 */ _t15 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02851460 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02851464 */ _t16 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02851464 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02851468 */ _t17 = cpu->r[8] + 0x00000010u;
|
|
/* 02851468 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02851468 */ cpu->r[8] = _t17;
|
|
/* 0285146C */ _t18 = cpu->r[9] + 0x00000010u;
|
|
/* 0285146C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 0285146C */ cpu->r[9] = _t18;
|
|
/* 02851470 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02851470 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02851470 */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 02851470 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02851470 */ if (_t21) goto L_02851450; else goto L_02851474;
|
|
L_02851474: ; // 0x2851474
|
|
/* 02851474 */ cpu->r[3] = cpu->r[30];
|
|
/* 02851478 */ Gambit_fn_02850C74(cpu);
|
|
/* 0285147C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02851480 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851480 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02851480 */ if (_t23) goto L_028514E0; else goto L_02851484;
|
|
L_02851484: ; // 0x2851484
|
|
/* 02851484 */ _t24 = cpu->r[30] + 0x000001E8u;
|
|
/* 02851484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02851488 */ _t25 = cpu->r[30] + 0x00000078u;
|
|
/* 02851488 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 0285148C */ cpu->r[4] = 0x00000002u;
|
|
/* 02851490 */ cpu->r[3] = cpu->r[30];
|
|
/* 02851494 */ _t26 = cpu->r[30] + 0x000001E4u;
|
|
/* 02851494 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02851498 */ Gambit_fn_02850D1C(cpu);
|
|
/* 0285149C */ cpu->r[12] = 0x10130000u;
|
|
/* 028514A0 */ _t27 = cpu->r[12] + 0x00000304u;
|
|
/* 028514A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 028514A4 */ _t28 = cpu->r[30] + 0x000001F8u;
|
|
/* 028514A4 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[29]);
|
|
/* 028514A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028514AC */ _t29 = cpu->r[30] + 0x000001F4u;
|
|
/* 028514AC */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 028514B0 */ Gambit_fn_0281505C(cpu);
|
|
/* 028514B4 */ cpu->r[3] = cpu->r[28];
|
|
/* 028514B8 */ Gambit_fn_02837030(cpu);
|
|
/* 028514BC */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 028514BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028514C0 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028514C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028514C4 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028514C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028514C8 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 028514C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028514CC */ cpu->lr = cpu->r[0];
|
|
/* 028514D0 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 028514D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028514D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028514D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 028514DC */ return;
|
|
L_028514E0: ; // 0x28514e0
|
|
/* 028514E0 */ cpu->r[3] = cpu->r[28];
|
|
/* 028514E4 */ Gambit_fn_02837030(cpu);
|
|
/* 028514E8 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 028514E8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
|
|
/* 028514EC */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028514EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 028514F0 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028514F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028514F4 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 028514F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 028514F8 */ cpu->lr = cpu->r[0];
|
|
/* 028514FC */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 028514FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02851500 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02851504 */ cpu->r[3] = 0x00000000u;
|
|
/* 02851508 */ return;
|
|
}
|
|
|
|
// fn_0285150C @ 0x285150c
|
|
void Gambit_fn_0285150C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_0285150C: ; // 0x285150c
|
|
/* 0285150C */ cpu->r[0] = cpu->lr;
|
|
/* 02851510 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02851510 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851510 */ cpu->r[1] = _t0;
|
|
/* 02851514 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02851514 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02851518 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02851518 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285151C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0285151C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02851520 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02851520 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02851524 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02851524 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02851528 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285152C */ _t6 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0285152C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02851530 */ cpu->r[28] = cpu->r[11] + 0x00000004u;
|
|
/* 02851534 */ cpu->r[31] = cpu->r[5];
|
|
/* 02851538 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285153C */ cpu->r[30] = cpu->r[4];
|
|
/* 02851540 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02851544 */ _t7 = cpu->r[29] + 0x000001FCu;
|
|
/* 02851544 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02851548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285154C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285154C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285154C */ if (_t9) goto L_02851550; else goto L_02851638;
|
|
L_02851550: ; // 0x2851550
|
|
/* 02851550 */ cpu->r[0] = 0x00000001u;
|
|
/* 02851554 */ _t10 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02851554 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02851558 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285155C */ cpu->r[5] = 0x00000005u;
|
|
/* 02851560 */ _t11 = cpu->r[29] + 0x00000074u;
|
|
/* 02851560 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02851564 */ Gambit_fn_02816450(cpu);
|
|
/* 02851568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285156C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285156C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285156C */ if (_t13) goto L_02851638; else goto L_02851570;
|
|
L_02851570: ; // 0x2851570
|
|
/* 02851570 */ cpu->r[7] = 0x10130000u;
|
|
/* 02851574 */ _t14 = cpu->r[29] + 0x00000078u;
|
|
/* 02851574 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02851578 */ _t15 = cpu->r[30] + 0x00000030u;
|
|
/* 02851578 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285157C */ cpu->r[7] = cpu->r[7] + 0x00000284u;
|
|
/* 02851580 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851580 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02851584 */ cpu->r[6] = cpu->r[6] | 0x00000001u;
|
|
/* 02851588 */ cpu->r[8] = 0x00000003u;
|
|
/* 0285158C */ _t17 = cpu->r[30] + 0x00000030u;
|
|
/* 0285158C */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 02851590 */ _t18 = cpu->r[29] + 0x00000078u;
|
|
/* 02851590 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02851594 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02851594 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02851598 */ _t20 = cpu->r[3] + 0x00000070u;
|
|
/* 02851598 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285159C */ _t21 = cpu->r[9] + 0x00000074u;
|
|
/* 0285159C */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028515A0 */ cpu->ctr = cpu->r[10];
|
|
/* 028515A4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028515A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028515AC */ cpu->r[0] = 0x00000008u;
|
|
/* 028515B0 */ cpu->r[11] = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 028515B4 */ cpu->ctr = cpu->r[0];
|
|
/* 028515B8 */ cpu->r[12] = cpu->r[29] + 0x00000078u;
|
|
L_028515BC: ; // 0x28515bc
|
|
/* 028515BC */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 028515BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028515C0 */ _t23 = cpu->r[12] + 0x00000004u;
|
|
/* 028515C0 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 028515C4 */ _t24 = cpu->r[11] + 0x00000008u;
|
|
/* 028515C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028515C8 */ _t25 = cpu->r[12] + 0x00000008u;
|
|
/* 028515C8 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 028515CC */ _t26 = cpu->r[11] + 0x0000000Cu;
|
|
/* 028515CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028515D0 */ _t27 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028515D0 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 028515D4 */ _t28 = cpu->r[11] + 0x00000010u;
|
|
/* 028515D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028515D4 */ cpu->r[11] = _t28;
|
|
/* 028515D8 */ _t29 = cpu->r[12] + 0x00000010u;
|
|
/* 028515D8 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 028515D8 */ cpu->r[12] = _t29;
|
|
/* 028515DC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028515DC */ _t30 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028515DC */ _t31 = _t30 >> (0x00000002u & 31u);
|
|
/* 028515DC */ _t32 = _t31 & 0x00000001u;
|
|
/* 028515DC */ if (_t32) goto L_028515BC; else goto L_028515E0;
|
|
L_028515E0: ; // 0x28515e0
|
|
/* 028515E0 */ cpu->r[31] = 0x00000000u;
|
|
/* 028515E4 */ cpu->r[3] = cpu->r[29];
|
|
/* 028515E8 */ cpu->r[4] = 0x00000001u;
|
|
/* 028515EC */ _t33 = cpu->r[29] + 0x000001E4u;
|
|
/* 028515EC */ rbrew_write32(cpu->mem, _t33, cpu->r[31]);
|
|
/* 028515F0 */ Gambit_fn_02850D1C(cpu);
|
|
/* 028515F4 */ cpu->r[5] = 0x10130000u;
|
|
/* 028515F8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028515FC */ _t34 = cpu->r[5] + 0x000002F4u;
|
|
/* 028515FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02851600 */ _t35 = cpu->r[29] + 0x000001F8u;
|
|
/* 02851600 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[31]);
|
|
/* 02851604 */ _t36 = cpu->r[29] + 0x000001F4u;
|
|
/* 02851604 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 02851608 */ Gambit_fn_0281505C(cpu);
|
|
/* 0285160C */ cpu->r[3] = cpu->r[28];
|
|
/* 02851610 */ Gambit_fn_02837030(cpu);
|
|
/* 02851614 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 02851614 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02851618 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02851618 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0285161C */ _t39 = cpu->r[1] + 0x00000024u;
|
|
/* 0285161C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02851620 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 02851620 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02851624 */ cpu->lr = cpu->r[0];
|
|
/* 02851628 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02851628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0285162C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02851630 */ cpu->r[3] = 0x00000001u;
|
|
/* 02851634 */ return;
|
|
L_02851638: ; // 0x2851638
|
|
/* 02851638 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285163C */ Gambit_fn_02837030(cpu);
|
|
/* 02851640 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02851640 */ cpu->r[28] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02851644 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02851644 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02851648 */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 02851648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0285164C */ _t45 = cpu->r[1] + 0x00000018u;
|
|
/* 0285164C */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02851650 */ cpu->lr = cpu->r[0];
|
|
/* 02851654 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02851654 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02851658 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285165C */ cpu->r[3] = 0x00000000u;
|
|
/* 02851660 */ return;
|
|
}
|
|
|
|
// fn_02851510 @ 0x2851510
|
|
void Gambit_fn_02851510(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02851510: ; // 0x2851510
|
|
/* 02851510 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02851510 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851510 */ cpu->r[1] = _t0;
|
|
/* 02851514 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02851514 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02851518 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02851518 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285151C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0285151C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02851520 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02851520 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02851524 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02851524 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02851528 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285152C */ _t6 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0285152C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02851530 */ cpu->r[28] = cpu->r[11] + 0x00000004u;
|
|
/* 02851534 */ cpu->r[31] = cpu->r[5];
|
|
/* 02851538 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285153C */ cpu->r[30] = cpu->r[4];
|
|
/* 02851540 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02851544 */ _t7 = cpu->r[29] + 0x000001FCu;
|
|
/* 02851544 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02851548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285154C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285154C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285154C */ if (_t9) goto L_02851550; else goto L_02851638;
|
|
L_02851550: ; // 0x2851550
|
|
/* 02851550 */ cpu->r[0] = 0x00000001u;
|
|
/* 02851554 */ _t10 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02851554 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02851558 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285155C */ cpu->r[5] = 0x00000005u;
|
|
/* 02851560 */ _t11 = cpu->r[29] + 0x00000074u;
|
|
/* 02851560 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02851564 */ Gambit_fn_02816450(cpu);
|
|
/* 02851568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285156C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285156C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285156C */ if (_t13) goto L_02851638; else goto L_02851570;
|
|
L_02851570: ; // 0x2851570
|
|
/* 02851570 */ cpu->r[7] = 0x10130000u;
|
|
/* 02851574 */ _t14 = cpu->r[29] + 0x00000078u;
|
|
/* 02851574 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02851578 */ _t15 = cpu->r[30] + 0x00000030u;
|
|
/* 02851578 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285157C */ cpu->r[7] = cpu->r[7] + 0x00000284u;
|
|
/* 02851580 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851580 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02851584 */ cpu->r[6] = cpu->r[6] | 0x00000001u;
|
|
/* 02851588 */ cpu->r[8] = 0x00000003u;
|
|
/* 0285158C */ _t17 = cpu->r[30] + 0x00000030u;
|
|
/* 0285158C */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 02851590 */ _t18 = cpu->r[29] + 0x00000078u;
|
|
/* 02851590 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02851594 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02851594 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02851598 */ _t20 = cpu->r[3] + 0x00000070u;
|
|
/* 02851598 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285159C */ _t21 = cpu->r[9] + 0x00000074u;
|
|
/* 0285159C */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028515A0 */ cpu->ctr = cpu->r[10];
|
|
/* 028515A4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028515A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028515AC */ cpu->r[0] = 0x00000008u;
|
|
/* 028515B0 */ cpu->r[11] = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 028515B4 */ cpu->ctr = cpu->r[0];
|
|
/* 028515B8 */ cpu->r[12] = cpu->r[29] + 0x00000078u;
|
|
L_028515BC: ; // 0x28515bc
|
|
/* 028515BC */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 028515BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028515C0 */ _t23 = cpu->r[12] + 0x00000004u;
|
|
/* 028515C0 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 028515C4 */ _t24 = cpu->r[11] + 0x00000008u;
|
|
/* 028515C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028515C8 */ _t25 = cpu->r[12] + 0x00000008u;
|
|
/* 028515C8 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 028515CC */ _t26 = cpu->r[11] + 0x0000000Cu;
|
|
/* 028515CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028515D0 */ _t27 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028515D0 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 028515D4 */ _t28 = cpu->r[11] + 0x00000010u;
|
|
/* 028515D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028515D4 */ cpu->r[11] = _t28;
|
|
/* 028515D8 */ _t29 = cpu->r[12] + 0x00000010u;
|
|
/* 028515D8 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 028515D8 */ cpu->r[12] = _t29;
|
|
/* 028515DC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028515DC */ _t30 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028515DC */ _t31 = _t30 >> (0x00000002u & 31u);
|
|
/* 028515DC */ _t32 = _t31 & 0x00000001u;
|
|
/* 028515DC */ if (_t32) goto L_028515BC; else goto L_028515E0;
|
|
L_028515E0: ; // 0x28515e0
|
|
/* 028515E0 */ cpu->r[31] = 0x00000000u;
|
|
/* 028515E4 */ cpu->r[3] = cpu->r[29];
|
|
/* 028515E8 */ cpu->r[4] = 0x00000001u;
|
|
/* 028515EC */ _t33 = cpu->r[29] + 0x000001E4u;
|
|
/* 028515EC */ rbrew_write32(cpu->mem, _t33, cpu->r[31]);
|
|
/* 028515F0 */ Gambit_fn_02850D1C(cpu);
|
|
/* 028515F4 */ cpu->r[5] = 0x10130000u;
|
|
/* 028515F8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028515FC */ _t34 = cpu->r[5] + 0x000002F4u;
|
|
/* 028515FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02851600 */ _t35 = cpu->r[29] + 0x000001F8u;
|
|
/* 02851600 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[31]);
|
|
/* 02851604 */ _t36 = cpu->r[29] + 0x000001F4u;
|
|
/* 02851604 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[0]);
|
|
/* 02851608 */ Gambit_fn_0281505C(cpu);
|
|
/* 0285160C */ cpu->r[3] = cpu->r[28];
|
|
/* 02851610 */ Gambit_fn_02837030(cpu);
|
|
/* 02851614 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 02851614 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02851618 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02851618 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0285161C */ _t39 = cpu->r[1] + 0x00000024u;
|
|
/* 0285161C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02851620 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 02851620 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02851624 */ cpu->lr = cpu->r[0];
|
|
/* 02851628 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02851628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0285162C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02851630 */ cpu->r[3] = 0x00000001u;
|
|
/* 02851634 */ return;
|
|
L_02851638: ; // 0x2851638
|
|
/* 02851638 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285163C */ Gambit_fn_02837030(cpu);
|
|
/* 02851640 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02851640 */ cpu->r[28] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02851644 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02851644 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02851648 */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 02851648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0285164C */ _t45 = cpu->r[1] + 0x00000018u;
|
|
/* 0285164C */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02851650 */ cpu->lr = cpu->r[0];
|
|
/* 02851654 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02851654 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02851658 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285165C */ cpu->r[3] = 0x00000000u;
|
|
/* 02851660 */ return;
|
|
}
|
|
|
|
// fn_02851664 @ 0x2851664
|
|
void Gambit_fn_02851664(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02851664: ; // 0x2851664
|
|
/* 02851664 */ cpu->r[0] = cpu->lr;
|
|
/* 02851668 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02851668 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851668 */ cpu->r[1] = _t0;
|
|
/* 0285166C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285166C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02851670 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851670 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02851674 */ cpu->r[31] = cpu->r[3];
|
|
/* 02851674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851678 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285167C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285167C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02851680 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851680 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02851680 */ if (_t5) goto L_02851684; else goto L_02851694;
|
|
L_02851684: ; // 0x2851684
|
|
/* 02851684 */ cpu->r[3] = 0x00000200u;
|
|
/* 02851688 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285168C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285168C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851690 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851690 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02851690 */ if (_t7) goto L_028516D0; else goto L_02851694;
|
|
L_02851694: ; // 0x2851694
|
|
/* 02851694 */ cpu->r[5] = 0x10130000u;
|
|
/* 02851698 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285169C */ cpu->r[5] = cpu->r[5] + 0x00000314u;
|
|
/* 028516A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028516A4 */ Gambit_fn_02850674(cpu);
|
|
/* 028516A8 */ cpu->r[12] = 0x10130000u;
|
|
/* 028516AC */ cpu->r[0] = 0x10130000u;
|
|
/* 028516B0 */ cpu->r[12] = cpu->r[12] + 0x000003FCu;
|
|
/* 028516B4 */ cpu->r[0] = cpu->r[0] + 0x000004CCu;
|
|
/* 028516B8 */ _t8 = cpu->r[31] + 0x00000070u;
|
|
/* 028516B8 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 028516BC */ cpu->r[12] = 0x00000000u;
|
|
/* 028516C0 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 028516C0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028516C4 */ _t10 = cpu->r[31] + 0x000001E8u;
|
|
/* 028516C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 028516C8 */ _t11 = cpu->r[31] + 0x000001F0u;
|
|
/* 028516C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 028516CC */ _t12 = cpu->r[31] + 0x000001ECu;
|
|
/* 028516CC */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
L_028516D0: ; // 0x28516d0
|
|
/* 028516D0 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 028516D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028516D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028516D8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028516D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028516DC */ cpu->lr = cpu->r[0];
|
|
/* 028516E0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 028516E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028516E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028516E8 */ return;
|
|
}
|
|
|
|
// fn_02851668 @ 0x2851668
|
|
void Gambit_fn_02851668(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02851668: ; // 0x2851668
|
|
/* 02851668 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02851668 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851668 */ cpu->r[1] = _t0;
|
|
/* 0285166C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285166C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02851670 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851670 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02851674 */ cpu->r[31] = cpu->r[3];
|
|
/* 02851674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851678 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285167C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285167C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02851680 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851680 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02851680 */ if (_t5) goto L_02851684; else goto L_02851694;
|
|
L_02851684: ; // 0x2851684
|
|
/* 02851684 */ cpu->r[3] = 0x00000200u;
|
|
/* 02851688 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285168C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285168C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851690 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851690 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02851690 */ if (_t7) goto L_028516D0; else goto L_02851694;
|
|
L_02851694: ; // 0x2851694
|
|
/* 02851694 */ cpu->r[5] = 0x10130000u;
|
|
/* 02851698 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285169C */ cpu->r[5] = cpu->r[5] + 0x00000314u;
|
|
/* 028516A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028516A4 */ Gambit_fn_02850674(cpu);
|
|
/* 028516A8 */ cpu->r[12] = 0x10130000u;
|
|
/* 028516AC */ cpu->r[0] = 0x10130000u;
|
|
/* 028516B0 */ cpu->r[12] = cpu->r[12] + 0x000003FCu;
|
|
/* 028516B4 */ cpu->r[0] = cpu->r[0] + 0x000004CCu;
|
|
/* 028516B8 */ _t8 = cpu->r[31] + 0x00000070u;
|
|
/* 028516B8 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 028516BC */ cpu->r[12] = 0x00000000u;
|
|
/* 028516C0 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 028516C0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028516C4 */ _t10 = cpu->r[31] + 0x000001E8u;
|
|
/* 028516C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 028516C8 */ _t11 = cpu->r[31] + 0x000001F0u;
|
|
/* 028516C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 028516CC */ _t12 = cpu->r[31] + 0x000001ECu;
|
|
/* 028516CC */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
L_028516D0: ; // 0x28516d0
|
|
/* 028516D0 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 028516D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028516D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028516D8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028516D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028516DC */ cpu->lr = cpu->r[0];
|
|
/* 028516E0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 028516E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028516E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028516E8 */ return;
|
|
}
|
|
|
|
// fn_028516EC @ 0x28516ec
|
|
void Gambit_fn_028516EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_028516EC: ; // 0x28516ec
|
|
/* 028516EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028516F0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028516F0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028516F0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028516F0 */ goto L_028516F4;
|
|
L_028516F4: ; // 0x28516f4
|
|
/* 028516F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028516F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028516F8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028516F8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028516F8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028516F8 */ goto L_028516FC;
|
|
L_028516FC: ; // 0x28516fc
|
|
/* 028516FC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02851700 @ 0x2851700
|
|
void Gambit_fn_02851700(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02851700: ; // 0x2851700
|
|
/* 02851700 */ cpu->r[0] = cpu->lr;
|
|
/* 02851704 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02851704 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851704 */ cpu->r[1] = _t0;
|
|
/* 02851708 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851708 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285170C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285170C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02851710 */ cpu->r[30] = cpu->r[3];
|
|
/* 02851710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02851714 */ cpu->r[31] = cpu->r[4];
|
|
/* 02851718 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02851718 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285171C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285171C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285171C */ if (_t5) goto L_0285175C; else goto L_02851720;
|
|
L_02851720: ; // 0x2851720
|
|
/* 02851720 */ cpu->r[0] = 0x10130000u;
|
|
/* 02851724 */ cpu->r[12] = 0x10130000u;
|
|
/* 02851728 */ cpu->r[0] = cpu->r[0] + 0x0000023Cu;
|
|
/* 0285172C */ cpu->r[12] = cpu->r[12] + 0x0000025Cu;
|
|
/* 02851730 */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02851730 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02851734 */ cpu->r[3] = cpu->r[30];
|
|
/* 02851738 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02851738 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0285173C */ Gambit_fn_0281436C(cpu);
|
|
/* 02851740 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02851744 */ cpu->r[4] = 0x00000000u;
|
|
/* 02851748 */ Gambit_fn_02821E68(cpu);
|
|
/* 0285174C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285174C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02851750 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851750 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02851750 */ if (_t9) goto L_0285175C; else goto L_02851754;
|
|
L_02851754: ; // 0x2851754
|
|
/* 02851754 */ cpu->r[3] = cpu->r[30];
|
|
/* 02851758 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285175C: ; // 0x285175c
|
|
/* 0285175C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0285175C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02851760 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02851760 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02851764 */ cpu->lr = cpu->r[0];
|
|
/* 02851768 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851768 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285176C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02851770 */ return;
|
|
}
|
|
|
|
// fn_02851704 @ 0x2851704
|
|
void Gambit_fn_02851704(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02851704: ; // 0x2851704
|
|
/* 02851704 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02851704 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851704 */ cpu->r[1] = _t0;
|
|
/* 02851708 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851708 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285170C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285170C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02851710 */ cpu->r[30] = cpu->r[3];
|
|
/* 02851710 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02851714 */ cpu->r[31] = cpu->r[4];
|
|
/* 02851718 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02851718 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285171C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285171C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285171C */ if (_t5) goto L_0285175C; else goto L_02851720;
|
|
L_02851720: ; // 0x2851720
|
|
/* 02851720 */ cpu->r[0] = 0x10130000u;
|
|
/* 02851724 */ cpu->r[12] = 0x10130000u;
|
|
/* 02851728 */ cpu->r[0] = cpu->r[0] + 0x0000023Cu;
|
|
/* 0285172C */ cpu->r[12] = cpu->r[12] + 0x0000025Cu;
|
|
/* 02851730 */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02851730 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02851734 */ cpu->r[3] = cpu->r[30];
|
|
/* 02851738 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02851738 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0285173C */ Gambit_fn_0281436C(cpu);
|
|
/* 02851740 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02851744 */ cpu->r[4] = 0x00000000u;
|
|
/* 02851748 */ Gambit_fn_02821E68(cpu);
|
|
/* 0285174C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285174C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02851750 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851750 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02851750 */ if (_t9) goto L_0285175C; else goto L_02851754;
|
|
L_02851754: ; // 0x2851754
|
|
/* 02851754 */ cpu->r[3] = cpu->r[30];
|
|
/* 02851758 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285175C: ; // 0x285175c
|
|
/* 0285175C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0285175C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02851760 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02851760 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02851764 */ cpu->lr = cpu->r[0];
|
|
/* 02851768 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851768 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285176C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02851770 */ return;
|
|
}
|
|
|
|
// fn_02851774 @ 0x2851774
|
|
void Gambit_fn_02851774(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02851774: ; // 0x2851774
|
|
/* 02851774 */ cpu->r[0] = cpu->lr;
|
|
/* 02851778 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02851778 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851778 */ cpu->r[1] = _t0;
|
|
/* 0285177C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285177C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02851780 */ cpu->r[31] = cpu->r[4];
|
|
/* 02851784 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02851784 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02851788 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02851788 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0285178C */ cpu->r[30] = cpu->r[3];
|
|
/* 0285178C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02851790 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851790 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02851794 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02851794 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02851798 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851798 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02851798 */ if (_t7) goto L_028517FC; else goto L_0285179C;
|
|
L_0285179C: ; // 0x285179c
|
|
/* 0285179C */ cpu->r[10] = 0x10130000u;
|
|
/* 028517A0 */ _t8 = cpu->r[30] + 0x00000038u;
|
|
/* 028517A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 028517A4 */ cpu->r[10] = cpu->r[10] + 0x0000029Cu;
|
|
/* 028517A8 */ cpu->r[29] = 0x00000000u;
|
|
/* 028517AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028517B0 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028517B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 028517B4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028517B4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 028517B4 */ if (_t11) goto L_028517E0; else goto L_028517B8;
|
|
L_028517B8: ; // 0x28517b8
|
|
/* 028517B8 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028517B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028517BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 028517C0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028517C0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028517C0 */ if (_t14) goto L_028517DC; else goto L_028517C4;
|
|
L_028517C4: ; // 0x28517c4
|
|
/* 028517C4 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 028517C8 */ _t15 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028517C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 028517CC */ Gambit_fn_02801EDC(cpu);
|
|
/* 028517D0 */ _t16 = cpu->r[28] + 0x00000008u;
|
|
/* 028517D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028517D4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 028517D8 */ _t17 = cpu->r[28] + 0x00000008u;
|
|
/* 028517D8 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
L_028517DC: ; // 0x28517dc
|
|
/* 028517DC */ _t18 = cpu->r[30] + 0x00000038u;
|
|
/* 028517DC */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[29]);
|
|
L_028517E0: ; // 0x28517e0
|
|
/* 028517E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028517E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 028517E8 */ Gambit_fn_02821E68(cpu);
|
|
/* 028517EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028517EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028517F0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028517F0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028517F0 */ if (_t20) goto L_028517FC; else goto L_028517F4;
|
|
L_028517F4: ; // 0x28517f4
|
|
/* 028517F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028517F8 */ Gambit_fn_02801BB0(cpu);
|
|
L_028517FC: ; // 0x28517fc
|
|
/* 028517FC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 028517FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02851800 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851800 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02851804 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02851804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02851808 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02851808 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285180C */ cpu->lr = cpu->r[0];
|
|
/* 02851810 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02851810 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02851814 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02851818 */ return;
|
|
}
|
|
|
|
// fn_02851778 @ 0x2851778
|
|
void Gambit_fn_02851778(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02851778: ; // 0x2851778
|
|
/* 02851778 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02851778 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851778 */ cpu->r[1] = _t0;
|
|
/* 0285177C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285177C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02851780 */ cpu->r[31] = cpu->r[4];
|
|
/* 02851784 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02851784 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02851788 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02851788 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0285178C */ cpu->r[30] = cpu->r[3];
|
|
/* 0285178C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02851790 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851790 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02851794 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02851794 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02851798 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851798 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02851798 */ if (_t7) goto L_028517FC; else goto L_0285179C;
|
|
L_0285179C: ; // 0x285179c
|
|
/* 0285179C */ cpu->r[10] = 0x10130000u;
|
|
/* 028517A0 */ _t8 = cpu->r[30] + 0x00000038u;
|
|
/* 028517A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 028517A4 */ cpu->r[10] = cpu->r[10] + 0x0000029Cu;
|
|
/* 028517A8 */ cpu->r[29] = 0x00000000u;
|
|
/* 028517AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028517B0 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028517B0 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 028517B4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028517B4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 028517B4 */ if (_t11) goto L_028517E0; else goto L_028517B8;
|
|
L_028517B8: ; // 0x28517b8
|
|
/* 028517B8 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028517B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028517BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 028517C0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028517C0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028517C0 */ if (_t14) goto L_028517DC; else goto L_028517C4;
|
|
L_028517C4: ; // 0x28517c4
|
|
/* 028517C4 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 028517C8 */ _t15 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028517C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 028517CC */ Gambit_fn_02801EDC(cpu);
|
|
/* 028517D0 */ _t16 = cpu->r[28] + 0x00000008u;
|
|
/* 028517D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028517D4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 028517D8 */ _t17 = cpu->r[28] + 0x00000008u;
|
|
/* 028517D8 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
L_028517DC: ; // 0x28517dc
|
|
/* 028517DC */ _t18 = cpu->r[30] + 0x00000038u;
|
|
/* 028517DC */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[29]);
|
|
L_028517E0: ; // 0x28517e0
|
|
/* 028517E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028517E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 028517E8 */ Gambit_fn_02821E68(cpu);
|
|
/* 028517EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028517EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028517F0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028517F0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028517F0 */ if (_t20) goto L_028517FC; else goto L_028517F4;
|
|
L_028517F4: ; // 0x28517f4
|
|
/* 028517F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028517F8 */ Gambit_fn_02801BB0(cpu);
|
|
L_028517FC: ; // 0x28517fc
|
|
/* 028517FC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 028517FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02851800 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851800 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02851804 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02851804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02851808 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02851808 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285180C */ cpu->lr = cpu->r[0];
|
|
/* 02851810 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02851810 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02851814 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02851818 */ return;
|
|
}
|
|
|
|
// fn_0285181C @ 0x285181c
|
|
void Gambit_fn_0285181C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_0285181C: ; // 0x285181c
|
|
/* 0285181C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285181C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285181C */ cpu->r[1] = _t0;
|
|
/* 02851820 */ cpu->r[0] = cpu->lr;
|
|
/* 02851824 */ /* nop */
|
|
/* 02851828 */ cpu->r[30] = cpu->r[3];
|
|
/* 02851828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285182C */ cpu->r[31] = cpu->r[4];
|
|
/* 02851830 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02851830 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02851834 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851834 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02851834 */ if (_t3) goto L_02851910; else goto L_02851838;
|
|
L_02851838: ; // 0x2851838
|
|
/* 02851838 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285183C */ cpu->r[29] = 0x10130000u;
|
|
/* 02851840 */ cpu->r[28] = 0x10130000u;
|
|
/* 02851844 */ cpu->r[0] = cpu->r[0] + 0x000003ECu;
|
|
/* 02851848 */ cpu->r[27] = 0x00000000u;
|
|
/* 0285184C */ cpu->r[29] = cpu->r[29] + 0x0000025Cu;
|
|
/* 02851850 */ cpu->r[7] = cpu->r[30] + 0x00000190u;
|
|
/* 02851850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02851854 */ cpu->r[28] = cpu->r[28] + 0x0000023Cu;
|
|
/* 02851858 */ _t4 = cpu->r[30] + 0x00000020u;
|
|
/* 02851858 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285185C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285185C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285185C */ if (_t6) goto L_0285187C; else goto L_02851860;
|
|
L_02851860: ; // 0x2851860
|
|
/* 02851860 */ _t7 = cpu->r[30] + 0x000001E0u;
|
|
/* 02851860 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 02851864 */ cpu->r[3] = cpu->r[30] + 0x00000190u;
|
|
/* 02851868 */ _t8 = cpu->r[30] + 0x000001B8u;
|
|
/* 02851868 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0285186C */ Gambit_fn_0281436C(cpu);
|
|
/* 02851870 */ cpu->r[3] = cpu->r[30] + 0x000001ACu;
|
|
/* 02851874 */ cpu->r[4] = 0x00000000u;
|
|
/* 02851878 */ Gambit_fn_02821E68(cpu);
|
|
L_0285187C: ; // 0x285187c
|
|
/* 0285187C */ cpu->r[8] = cpu->r[30] + 0x0000013Cu;
|
|
/* 0285187C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02851880 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851880 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02851880 */ if (_t10) goto L_028518A0; else goto L_02851884;
|
|
L_02851884: ; // 0x2851884
|
|
/* 02851884 */ _t11 = cpu->r[30] + 0x0000018Cu;
|
|
/* 02851884 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 02851888 */ cpu->r[3] = cpu->r[30] + 0x0000013Cu;
|
|
/* 0285188C */ _t12 = cpu->r[30] + 0x00000164u;
|
|
/* 0285188C */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02851890 */ Gambit_fn_0281436C(cpu);
|
|
/* 02851894 */ cpu->r[3] = cpu->r[30] + 0x00000158u;
|
|
/* 02851898 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285189C */ Gambit_fn_02821E68(cpu);
|
|
L_028518A0: ; // 0x28518a0
|
|
/* 028518A0 */ cpu->r[0] = cpu->r[30] + 0x00000100u;
|
|
/* 028518A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028518A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028518A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028518A4 */ if (_t14) goto L_028518F4; else goto L_028518A8;
|
|
L_028518A8: ; // 0x28518a8
|
|
/* 028518A8 */ _t15 = cpu->r[30] + 0x00000138u;
|
|
/* 028518A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 028518AC */ cpu->r[10] = 0x10130000u;
|
|
/* 028518B0 */ cpu->r[10] = cpu->r[10] + 0x0000029Cu;
|
|
/* 028518B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028518B8 */ _t16 = cpu->r[30] + 0x0000010Cu;
|
|
/* 028518B8 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 028518BC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028518BC */ _t18 = _t17 & 0x00000001u;
|
|
/* 028518BC */ if (_t18) goto L_028518E8; else goto L_028518C0;
|
|
L_028518C0: ; // 0x28518c0
|
|
/* 028518C0 */ _t19 = cpu->r[30] + 0x0000011Cu;
|
|
/* 028518C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028518C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028518C8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028518C8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 028518C8 */ if (_t21) goto L_028518E4; else goto L_028518CC;
|
|
L_028518CC: ; // 0x28518cc
|
|
/* 028518CC */ cpu->r[3] = cpu->r[30] + 0x00000110u;
|
|
/* 028518D0 */ _t22 = cpu->r[30] + 0x0000011Cu;
|
|
/* 028518D0 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
/* 028518D4 */ Gambit_fn_02801EDC(cpu);
|
|
/* 028518D8 */ _t23 = cpu->r[29] + 0x00000008u;
|
|
/* 028518D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028518DC */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 028518E0 */ _t24 = cpu->r[29] + 0x00000008u;
|
|
/* 028518E0 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
L_028518E4: ; // 0x28518e4
|
|
/* 028518E4 */ _t25 = cpu->r[30] + 0x00000138u;
|
|
/* 028518E4 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[27]);
|
|
L_028518E8: ; // 0x28518e8
|
|
/* 028518E8 */ cpu->r[3] = cpu->r[30] + 0x00000100u;
|
|
/* 028518EC */ cpu->r[4] = 0x00000000u;
|
|
/* 028518F0 */ Gambit_fn_02821E68(cpu);
|
|
L_028518F4: ; // 0x28518f4
|
|
/* 028518F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028518F8 */ cpu->r[4] = 0x00000000u;
|
|
/* 028518FC */ Gambit_fn_02814F74(cpu);
|
|
/* 02851900 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02851900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02851904 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851904 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02851904 */ if (_t27) goto L_02851910; else goto L_02851908;
|
|
L_02851908: ; // 0x2851908
|
|
/* 02851908 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285190C */ Gambit_fn_02801BB0(cpu);
|
|
L_02851910: ; // 0x2851910
|
|
/* 02851910 */ /* nop */
|
|
/* 02851914 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02851914 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02851918 */ cpu->lr = cpu->r[0];
|
|
/* 0285191C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02851920 */ return;
|
|
}
|
|
|
|
// fn_02851924 @ 0x2851924
|
|
void Gambit_fn_02851924(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_02851924: ; // 0x2851924
|
|
/* 02851924 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02851924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851924 */ cpu->r[1] = _t0;
|
|
/* 02851928 */ cpu->r[0] = cpu->lr;
|
|
/* 0285192C */ /* nop */
|
|
/* 02851930 */ cpu->r[31] = cpu->r[3];
|
|
/* 02851930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851934 */ cpu->r[27] = cpu->r[4];
|
|
/* 02851938 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02851938 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285193C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285193C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285193C */ if (_t3) goto L_02851A38; else goto L_02851940;
|
|
L_02851940: ; // 0x2851940
|
|
/* 02851940 */ cpu->r[10] = 0x10130000u;
|
|
/* 02851944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851948 */ cpu->r[10] = cpu->r[10] + 0x000004CCu;
|
|
/* 0285194C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285194C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285194C */ if (_t5) goto L_02851950; else goto L_02851960;
|
|
L_02851950: ; // 0x2851950
|
|
/* 02851950 */ _t6 = cpu->r[31] + 0x00000020u;
|
|
/* 02851950 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02851954 */ cpu->r[10] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02851954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02851958 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851958 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02851958 */ if (_t8) goto L_02851A38; else goto L_0285195C;
|
|
L_0285195C: ; // 0x285195c
|
|
/* 0285195C */ goto L_02851A30;
|
|
L_02851960: ; // 0x2851960
|
|
/* 02851960 */ cpu->r[11] = 0x10130000u;
|
|
/* 02851964 */ cpu->r[29] = 0x10130000u;
|
|
/* 02851968 */ cpu->r[30] = 0x10130000u;
|
|
/* 0285196C */ cpu->r[11] = cpu->r[11] + 0x000003ECu;
|
|
/* 02851970 */ cpu->r[29] = cpu->r[29] + 0x0000023Cu;
|
|
/* 02851974 */ cpu->r[12] = cpu->r[31] + 0x00000190u;
|
|
/* 02851974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02851978 */ cpu->r[28] = 0x00000000u;
|
|
/* 0285197C */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 0285197C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02851980 */ cpu->r[30] = cpu->r[30] + 0x0000025Cu;
|
|
/* 02851984 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851984 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02851984 */ if (_t11) goto L_028519A4; else goto L_02851988;
|
|
L_02851988: ; // 0x2851988
|
|
/* 02851988 */ _t12 = cpu->r[31] + 0x000001E0u;
|
|
/* 02851988 */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 0285198C */ cpu->r[3] = cpu->r[31] + 0x00000190u;
|
|
/* 02851990 */ _t13 = cpu->r[31] + 0x000001B8u;
|
|
/* 02851990 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02851994 */ Gambit_fn_0281436C(cpu);
|
|
/* 02851998 */ cpu->r[3] = cpu->r[31] + 0x000001ACu;
|
|
/* 0285199C */ cpu->r[4] = 0x00000000u;
|
|
/* 028519A0 */ Gambit_fn_02821E68(cpu);
|
|
L_028519A4: ; // 0x28519a4
|
|
/* 028519A4 */ cpu->r[0] = cpu->r[31] + 0x0000013Cu;
|
|
/* 028519A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028519A8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028519A8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 028519A8 */ if (_t15) goto L_028519C8; else goto L_028519AC;
|
|
L_028519AC: ; // 0x28519ac
|
|
/* 028519AC */ _t16 = cpu->r[31] + 0x0000018Cu;
|
|
/* 028519AC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 028519B0 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 028519B4 */ _t17 = cpu->r[31] + 0x00000164u;
|
|
/* 028519B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 028519B8 */ Gambit_fn_0281436C(cpu);
|
|
/* 028519BC */ cpu->r[3] = cpu->r[31] + 0x00000158u;
|
|
/* 028519C0 */ cpu->r[4] = 0x00000000u;
|
|
/* 028519C4 */ Gambit_fn_02821E68(cpu);
|
|
L_028519C8: ; // 0x28519c8
|
|
/* 028519C8 */ cpu->r[0] = cpu->r[31] + 0x00000100u;
|
|
/* 028519C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028519CC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028519CC */ _t19 = _t18 & 0x00000001u;
|
|
/* 028519CC */ if (_t19) goto L_02851A1C; else goto L_028519D0;
|
|
L_028519D0: ; // 0x28519d0
|
|
/* 028519D0 */ _t20 = cpu->r[31] + 0x00000138u;
|
|
/* 028519D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 028519D4 */ cpu->r[9] = 0x10130000u;
|
|
/* 028519D8 */ cpu->r[9] = cpu->r[9] + 0x0000029Cu;
|
|
/* 028519DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028519E0 */ _t21 = cpu->r[31] + 0x0000010Cu;
|
|
/* 028519E0 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 028519E4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028519E4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028519E4 */ if (_t23) goto L_02851A10; else goto L_028519E8;
|
|
L_028519E8: ; // 0x28519e8
|
|
/* 028519E8 */ _t24 = cpu->r[31] + 0x0000011Cu;
|
|
/* 028519E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028519EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028519F0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028519F0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 028519F0 */ if (_t26) goto L_02851A0C; else goto L_028519F4;
|
|
L_028519F4: ; // 0x28519f4
|
|
/* 028519F4 */ cpu->r[3] = cpu->r[31] + 0x00000110u;
|
|
/* 028519F8 */ _t27 = cpu->r[31] + 0x0000011Cu;
|
|
/* 028519F8 */ rbrew_write32(cpu->mem, _t27, cpu->r[28]);
|
|
/* 028519FC */ Gambit_fn_02801EDC(cpu);
|
|
/* 02851A00 */ _t28 = cpu->r[30] + 0x00000008u;
|
|
/* 02851A00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02851A04 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02851A08 */ _t29 = cpu->r[30] + 0x00000008u;
|
|
/* 02851A08 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
L_02851A0C: ; // 0x2851a0c
|
|
/* 02851A0C */ _t30 = cpu->r[31] + 0x00000138u;
|
|
/* 02851A0C */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[28]);
|
|
L_02851A10: ; // 0x2851a10
|
|
/* 02851A10 */ cpu->r[3] = cpu->r[31] + 0x00000100u;
|
|
/* 02851A14 */ cpu->r[4] = 0x00000000u;
|
|
/* 02851A18 */ Gambit_fn_02821E68(cpu);
|
|
L_02851A1C: ; // 0x2851a1c
|
|
/* 02851A1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02851A20 */ cpu->r[4] = 0x00000000u;
|
|
/* 02851A24 */ Gambit_fn_02814F74(cpu);
|
|
/* 02851A28 */ cpu->r[10] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02851A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02851A2C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851A2C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02851A2C */ if (_t32) goto L_02851A38; else goto L_02851A30;
|
|
L_02851A30: ; // 0x2851a30
|
|
/* 02851A30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02851A34 */ Gambit_fn_02801BB0(cpu);
|
|
L_02851A38: ; // 0x2851a38
|
|
/* 02851A38 */ /* nop */
|
|
/* 02851A3C */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02851A3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02851A40 */ cpu->lr = cpu->r[0];
|
|
/* 02851A44 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02851A48 */ return;
|
|
}
|
|
|
|
// fn_02851A4C @ 0x2851a4c
|
|
void Gambit_fn_02851A4C(CPUState* cpu) {
|
|
L_02851A4C: ; // 0x2851a4c
|
|
/* 02851A4C */ return;
|
|
}
|
|
|
|
// fn_02851A50 @ 0x2851a50
|
|
void Gambit_fn_02851A50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02851A50: ; // 0x2851a50
|
|
/* 02851A50 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02851A54 */ _t0 = cpu->r[11] + 0xFFFFD4FCu;
|
|
/* 02851A54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02851A54 */ cpu->r[11] = _t0;
|
|
/* 02851A58 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02851A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02851A60 */ cpu->r[12] = cpu->r[12] + 0xFFFFDD6Cu;
|
|
/* 02851A64 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851A64 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02851A64 */ if (_t2) goto L_02851A68; else goto L_02851A7C;
|
|
L_02851A68: ; // 0x2851a68
|
|
/* 02851A68 */ cpu->r[9] = 0x10130000u;
|
|
/* 02851A6C */ cpu->r[8] = 0x00000001u;
|
|
/* 02851A70 */ cpu->r[9] = cpu->r[9] + 0x0000022Cu;
|
|
/* 02851A74 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 02851A74 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02851A78 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02851A78 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02851A7C: ; // 0x2851a7c
|
|
/* 02851A7C */ cpu->r[10] = cpu->r[4] ^ cpu->r[12];
|
|
/* 02851A80 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 02851A84 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02851A88 */ return;
|
|
}
|
|
|
|
// fn_02851A8C @ 0x2851a8c
|
|
void Gambit_fn_02851A8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02851A8C: ; // 0x2851a8c
|
|
/* 02851A8C */ cpu->r[12] = cpu->r[3];
|
|
/* 02851A90 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02851A90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02851A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02851A98 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851A98 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02851A98 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02851A98 */ goto L_02851A9C;
|
|
L_02851A9C: ; // 0x2851a9c
|
|
/* 02851A9C */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 02851A9C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 02851AA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02851AA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851AA4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02851AA4 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02851AA4 */ goto L_02851AA8;
|
|
L_02851AA8: ; // 0x2851aa8
|
|
/* 02851AA8 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 02851AA8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02851AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02851AB0 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 02851AB4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02851AB4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02851AB4 */ if (_t8) goto L_02851AB8; else goto L_02851AC4;
|
|
L_02851AB8: ; // 0x2851ab8
|
|
/* 02851AB8 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02851AB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02851ABC */ cpu->ctr = cpu->r[11];
|
|
/* 02851AC0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02851AC4: ; // 0x2851ac4
|
|
/* 02851AC4 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 02851AC4 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 02851AC8 */ _t11 = cpu->r[3] + cpu->r[12];
|
|
/* 02851AC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02851ACC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02851AD0 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 02851AD4 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 02851AD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02851AD8 */ cpu->ctr = cpu->r[11];
|
|
/* 02851ADC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02851AE0 @ 0x2851ae0
|
|
void Gambit_fn_02851AE0(CPUState* cpu) {
|
|
L_02851AE0: ; // 0x2851ae0
|
|
/* 02851AE0 */ return;
|
|
}
|
|
|
|
// fn_02851AE4 @ 0x2851ae4
|
|
void Gambit_fn_02851AE4(CPUState* cpu) {
|
|
L_02851AE4: ; // 0x2851ae4
|
|
/* 02851AE4 */ return;
|
|
}
|
|
|
|
// fn_02851AE8 @ 0x2851ae8
|
|
void Gambit_fn_02851AE8(CPUState* cpu) {
|
|
L_02851AE8: ; // 0x2851ae8
|
|
/* 02851AE8 */ return;
|
|
}
|
|
|
|
// fn_02851AEC @ 0x2851aec
|
|
void Gambit_fn_02851AEC(CPUState* cpu) {
|
|
L_02851AEC: ; // 0x2851aec
|
|
/* 02851AEC */ return;
|
|
}
|
|
|
|
// fn_02851AF0 @ 0x2851af0
|
|
void Gambit_fn_02851AF0(CPUState* cpu) {
|
|
L_02851AF0: ; // 0x2851af0
|
|
/* 02851AF0 */ return;
|
|
}
|
|
|
|
// fn_02851AF4 @ 0x2851af4
|
|
void Gambit_fn_02851AF4(CPUState* cpu) {
|
|
L_02851AF4: ; // 0x2851af4
|
|
/* 02851AF4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02851AF8 */ return;
|
|
}
|
|
|
|
// fn_02851AFC @ 0x2851afc
|
|
void Gambit_fn_02851AFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02851AFC: ; // 0x2851afc
|
|
/* 02851AFC */ cpu->r[12] = cpu->r[3];
|
|
/* 02851B00 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02851B00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02851B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02851B08 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851B08 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02851B08 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02851B08 */ goto L_02851B0C;
|
|
L_02851B0C: ; // 0x2851b0c
|
|
/* 02851B0C */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 02851B0C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 02851B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02851B14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851B14 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02851B14 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02851B14 */ goto L_02851B18;
|
|
L_02851B18: ; // 0x2851b18
|
|
/* 02851B18 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 02851B18 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02851B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02851B20 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 02851B24 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02851B24 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02851B24 */ if (_t8) goto L_02851B28; else goto L_02851B34;
|
|
L_02851B28: ; // 0x2851b28
|
|
/* 02851B28 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02851B28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02851B2C */ cpu->ctr = cpu->r[11];
|
|
/* 02851B30 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02851B34: ; // 0x2851b34
|
|
/* 02851B34 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 02851B34 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 02851B38 */ _t11 = cpu->r[3] + cpu->r[12];
|
|
/* 02851B38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02851B3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02851B40 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 02851B44 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 02851B44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02851B48 */ cpu->ctr = cpu->r[11];
|
|
/* 02851B4C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02851B50 @ 0x2851b50
|
|
void Gambit_fn_02851B50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02851B50: ; // 0x2851b50
|
|
/* 02851B50 */ cpu->r[12] = cpu->r[3];
|
|
/* 02851B54 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02851B54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02851B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02851B5C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851B5C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02851B5C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02851B5C */ goto L_02851B60;
|
|
L_02851B60: ; // 0x2851b60
|
|
/* 02851B60 */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 02851B60 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 02851B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02851B68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851B68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02851B68 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02851B68 */ goto L_02851B6C;
|
|
L_02851B6C: ; // 0x2851b6c
|
|
/* 02851B6C */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 02851B6C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02851B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02851B74 */ cpu->r[3] = cpu->r[10] + cpu->r[11];
|
|
/* 02851B78 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02851B78 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02851B78 */ if (_t8) goto L_02851B7C; else goto L_02851B88;
|
|
L_02851B7C: ; // 0x2851b7c
|
|
/* 02851B7C */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02851B7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02851B80 */ cpu->ctr = cpu->r[10];
|
|
/* 02851B84 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02851B88: ; // 0x2851b88
|
|
/* 02851B88 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 02851B88 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 02851B8C */ _t11 = cpu->r[3] + cpu->r[0];
|
|
/* 02851B8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02851B90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02851B94 */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
/* 02851B98 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 02851B98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02851B9C */ cpu->ctr = cpu->r[10];
|
|
/* 02851BA0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02851BA4 @ 0x2851ba4
|
|
void Gambit_fn_02851BA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52;
|
|
|
|
L_02851BA4: ; // 0x2851ba4
|
|
/* 02851BA4 */ cpu->r[0] = cpu->lr;
|
|
/* 02851BA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02851BA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851BA8 */ cpu->r[1] = _t0;
|
|
/* 02851BAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851BAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02851BB0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02851BB4 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02851BB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02851BB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02851BBC */ _t3 = cpu->r[12] + 0x00006F18u;
|
|
/* 02851BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02851BBC */ cpu->r[12] = _t3;
|
|
/* 02851BC0 */ cpu->r[4] = 0x101F0000u;
|
|
/* 02851BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02851BC8 */ cpu->r[4] = cpu->r[4] + 0x00006D20u;
|
|
/* 02851BCC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851BCC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02851BCC */ if (_t5) goto L_02851BD0; else goto L_02851C88;
|
|
L_02851BD0: ; // 0x2851bd0
|
|
/* 02851BD0 */ cpu->r[8] = 0x10130000u;
|
|
/* 02851BD4 */ cpu->r[11] = 0x10130000u;
|
|
/* 02851BD8 */ _t6 = cpu->r[8] + 0x00000540u;
|
|
/* 02851BD8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02851BDC */ cpu->r[10] = 0x10130000u;
|
|
/* 02851BE0 */ _t7 = cpu->r[11] + 0x00000544u;
|
|
/* 02851BE0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02851BE4 */ cpu->r[11] = 0x10130000u;
|
|
/* 02851BE8 */ _t8 = cpu->r[10] + 0x00000538u;
|
|
/* 02851BE8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02851BEC */ _t9 = cpu->r[11] + 0x0000053Cu;
|
|
/* 02851BEC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02851BF0 */ _t10 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02851BF0 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02851BF4 */ _t11 = cpu->r[4] + 0x00000024u;
|
|
/* 02851BF4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 02851BF8 */ _t12 = cpu->r[4] + 0x00000004u;
|
|
/* 02851BF8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[12]);
|
|
/* 02851BFC */ _t13 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02851BFC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02851C00 */ _t14 = cpu->r[4] + 0x00000034u;
|
|
/* 02851C00 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[11]);
|
|
/* 02851C04 */ _t15 = cpu->r[4] + 0x00000058u;
|
|
/* 02851C04 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02851C08 */ _t16 = cpu->r[4] + 0x00000038u;
|
|
/* 02851C08 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02851C0C */ _t17 = cpu->r[4] + 0x00000020u;
|
|
/* 02851C0C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 02851C10 */ _t18 = cpu->r[4] + 0x0000003Cu;
|
|
/* 02851C10 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02851C14 */ cpu->r[0] = 0x00000001u;
|
|
/* 02851C18 */ _t19 = cpu->r[4] + 0x00000050u;
|
|
/* 02851C18 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02851C1C */ _t20 = cpu->r[12] + 0x00000000u;
|
|
/* 02851C1C */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02851C20 */ _t21 = cpu->r[4] + 0x00000088u;
|
|
/* 02851C20 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 02851C24 */ _t22 = cpu->r[4] + 0x0000005Cu;
|
|
/* 02851C24 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 02851C28 */ _t23 = cpu->r[4] + 0x00000084u;
|
|
/* 02851C28 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 02851C2C */ _t24 = cpu->r[4] + 0x00000010u;
|
|
/* 02851C2C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[11]);
|
|
/* 02851C30 */ _t25 = cpu->r[4] + 0x00000080u;
|
|
/* 02851C30 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 02851C34 */ _t26 = cpu->r[4] + 0x00000060u;
|
|
/* 02851C34 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 02851C38 */ _t27 = cpu->r[4] + 0x0000007Cu;
|
|
/* 02851C38 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02851C3C */ _t28 = cpu->r[4] + 0x00000014u;
|
|
/* 02851C3C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02851C40 */ _t29 = cpu->r[4] + 0x00000078u;
|
|
/* 02851C40 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[11]);
|
|
/* 02851C44 */ _t30 = cpu->r[4] + 0x00000054u;
|
|
/* 02851C44 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02851C48 */ _t31 = cpu->r[4] + 0x00000074u;
|
|
/* 02851C48 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02851C4C */ _t32 = cpu->r[4] + 0x00000048u;
|
|
/* 02851C4C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[13]);
|
|
/* 02851C50 */ _t33 = cpu->r[4] + 0x00000070u;
|
|
/* 02851C50 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]);
|
|
/* 02851C54 */ _t34 = cpu->r[4] + 0x00000018u;
|
|
/* 02851C54 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 02851C58 */ _t35 = cpu->r[4] + 0x0000006Cu;
|
|
/* 02851C58 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[12]);
|
|
/* 02851C5C */ _t36 = cpu->r[4] + 0x00000000u;
|
|
/* 02851C5C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 02851C60 */ _t37 = cpu->r[4] + 0x00000068u;
|
|
/* 02851C60 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 02851C64 */ _t38 = cpu->r[4] + 0x00000008u;
|
|
/* 02851C64 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 02851C68 */ _t39 = cpu->r[4] + 0x00000028u;
|
|
/* 02851C68 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 02851C6C */ _t40 = cpu->r[4] + 0x00000040u;
|
|
/* 02851C6C */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 02851C70 */ _t41 = cpu->r[4] + 0x00000044u;
|
|
/* 02851C70 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 02851C74 */ _t42 = cpu->r[4] + 0x00000030u;
|
|
/* 02851C74 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[11]);
|
|
/* 02851C78 */ _t43 = cpu->r[4] + 0x0000004Cu;
|
|
/* 02851C78 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[13]);
|
|
/* 02851C7C */ _t44 = cpu->r[4] + 0x00000064u;
|
|
/* 02851C7C */ rbrew_write_f32(cpu->mem, _t44, cpu->f[0]);
|
|
/* 02851C80 */ _t45 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02851C80 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
|
|
/* 02851C84 */ _t46 = cpu->r[4] + 0x0000008Cu;
|
|
/* 02851C84 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
L_02851C88: ; // 0x2851c88
|
|
/* 02851C88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02851C8C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851C8C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02851C8C */ if (_t48) goto L_02851C9C; else goto L_02851C90;
|
|
L_02851C90: ; // 0x2851c90
|
|
/* 02851C90 */ cpu->r[6] = 0x00000000u;
|
|
/* 02851C94 */ cpu->r[5] = 0x00000090u;
|
|
/* 02851C98 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_02851C9C: ; // 0x2851c9c
|
|
/* 02851C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851CA0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851CA0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02851CA0 */ if (_t50) goto L_02851CBC; else goto L_02851CA4;
|
|
L_02851CA4: ; // 0x2851ca4
|
|
/* 02851CA4 */ cpu->r[4] = 0x10130000u;
|
|
/* 02851CA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02851CAC */ cpu->r[5] = 0x0000000Cu;
|
|
/* 02851CB0 */ cpu->r[4] = cpu->r[4] + 0x000004E4u;
|
|
/* 02851CB4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02851CB8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_02851CBC: ; // 0x2851cbc
|
|
/* 02851CBC */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02851CBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02851CC0 */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851CC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02851CC4 */ cpu->lr = cpu->r[0];
|
|
/* 02851CC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02851CCC */ return;
|
|
}
|
|
|
|
// fn_02851BA8 @ 0x2851ba8
|
|
void Gambit_fn_02851BA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52;
|
|
|
|
L_02851BA8: ; // 0x2851ba8
|
|
/* 02851BA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02851BA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851BA8 */ cpu->r[1] = _t0;
|
|
/* 02851BAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851BAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02851BB0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02851BB4 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02851BB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02851BB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02851BBC */ _t3 = cpu->r[12] + 0x00006F18u;
|
|
/* 02851BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02851BBC */ cpu->r[12] = _t3;
|
|
/* 02851BC0 */ cpu->r[4] = 0x101F0000u;
|
|
/* 02851BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02851BC8 */ cpu->r[4] = cpu->r[4] + 0x00006D20u;
|
|
/* 02851BCC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851BCC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02851BCC */ if (_t5) goto L_02851BD0; else goto L_02851C88;
|
|
L_02851BD0: ; // 0x2851bd0
|
|
/* 02851BD0 */ cpu->r[8] = 0x10130000u;
|
|
/* 02851BD4 */ cpu->r[11] = 0x10130000u;
|
|
/* 02851BD8 */ _t6 = cpu->r[8] + 0x00000540u;
|
|
/* 02851BD8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02851BDC */ cpu->r[10] = 0x10130000u;
|
|
/* 02851BE0 */ _t7 = cpu->r[11] + 0x00000544u;
|
|
/* 02851BE0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02851BE4 */ cpu->r[11] = 0x10130000u;
|
|
/* 02851BE8 */ _t8 = cpu->r[10] + 0x00000538u;
|
|
/* 02851BE8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02851BEC */ _t9 = cpu->r[11] + 0x0000053Cu;
|
|
/* 02851BEC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02851BF0 */ _t10 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02851BF0 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02851BF4 */ _t11 = cpu->r[4] + 0x00000024u;
|
|
/* 02851BF4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 02851BF8 */ _t12 = cpu->r[4] + 0x00000004u;
|
|
/* 02851BF8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[12]);
|
|
/* 02851BFC */ _t13 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02851BFC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02851C00 */ _t14 = cpu->r[4] + 0x00000034u;
|
|
/* 02851C00 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[11]);
|
|
/* 02851C04 */ _t15 = cpu->r[4] + 0x00000058u;
|
|
/* 02851C04 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02851C08 */ _t16 = cpu->r[4] + 0x00000038u;
|
|
/* 02851C08 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02851C0C */ _t17 = cpu->r[4] + 0x00000020u;
|
|
/* 02851C0C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 02851C10 */ _t18 = cpu->r[4] + 0x0000003Cu;
|
|
/* 02851C10 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02851C14 */ cpu->r[0] = 0x00000001u;
|
|
/* 02851C18 */ _t19 = cpu->r[4] + 0x00000050u;
|
|
/* 02851C18 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02851C1C */ _t20 = cpu->r[12] + 0x00000000u;
|
|
/* 02851C1C */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02851C20 */ _t21 = cpu->r[4] + 0x00000088u;
|
|
/* 02851C20 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 02851C24 */ _t22 = cpu->r[4] + 0x0000005Cu;
|
|
/* 02851C24 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 02851C28 */ _t23 = cpu->r[4] + 0x00000084u;
|
|
/* 02851C28 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 02851C2C */ _t24 = cpu->r[4] + 0x00000010u;
|
|
/* 02851C2C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[11]);
|
|
/* 02851C30 */ _t25 = cpu->r[4] + 0x00000080u;
|
|
/* 02851C30 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 02851C34 */ _t26 = cpu->r[4] + 0x00000060u;
|
|
/* 02851C34 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 02851C38 */ _t27 = cpu->r[4] + 0x0000007Cu;
|
|
/* 02851C38 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02851C3C */ _t28 = cpu->r[4] + 0x00000014u;
|
|
/* 02851C3C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02851C40 */ _t29 = cpu->r[4] + 0x00000078u;
|
|
/* 02851C40 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[11]);
|
|
/* 02851C44 */ _t30 = cpu->r[4] + 0x00000054u;
|
|
/* 02851C44 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02851C48 */ _t31 = cpu->r[4] + 0x00000074u;
|
|
/* 02851C48 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[0]);
|
|
/* 02851C4C */ _t32 = cpu->r[4] + 0x00000048u;
|
|
/* 02851C4C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[13]);
|
|
/* 02851C50 */ _t33 = cpu->r[4] + 0x00000070u;
|
|
/* 02851C50 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]);
|
|
/* 02851C54 */ _t34 = cpu->r[4] + 0x00000018u;
|
|
/* 02851C54 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 02851C58 */ _t35 = cpu->r[4] + 0x0000006Cu;
|
|
/* 02851C58 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[12]);
|
|
/* 02851C5C */ _t36 = cpu->r[4] + 0x00000000u;
|
|
/* 02851C5C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 02851C60 */ _t37 = cpu->r[4] + 0x00000068u;
|
|
/* 02851C60 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 02851C64 */ _t38 = cpu->r[4] + 0x00000008u;
|
|
/* 02851C64 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 02851C68 */ _t39 = cpu->r[4] + 0x00000028u;
|
|
/* 02851C68 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 02851C6C */ _t40 = cpu->r[4] + 0x00000040u;
|
|
/* 02851C6C */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 02851C70 */ _t41 = cpu->r[4] + 0x00000044u;
|
|
/* 02851C70 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 02851C74 */ _t42 = cpu->r[4] + 0x00000030u;
|
|
/* 02851C74 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[11]);
|
|
/* 02851C78 */ _t43 = cpu->r[4] + 0x0000004Cu;
|
|
/* 02851C78 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[13]);
|
|
/* 02851C7C */ _t44 = cpu->r[4] + 0x00000064u;
|
|
/* 02851C7C */ rbrew_write_f32(cpu->mem, _t44, cpu->f[0]);
|
|
/* 02851C80 */ _t45 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02851C80 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
|
|
/* 02851C84 */ _t46 = cpu->r[4] + 0x0000008Cu;
|
|
/* 02851C84 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
L_02851C88: ; // 0x2851c88
|
|
/* 02851C88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02851C8C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851C8C */ _t48 = _t47 & 0x00000001u;
|
|
/* 02851C8C */ if (_t48) goto L_02851C9C; else goto L_02851C90;
|
|
L_02851C90: ; // 0x2851c90
|
|
/* 02851C90 */ cpu->r[6] = 0x00000000u;
|
|
/* 02851C94 */ cpu->r[5] = 0x00000090u;
|
|
/* 02851C98 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_02851C9C: ; // 0x2851c9c
|
|
/* 02851C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851CA0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851CA0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02851CA0 */ if (_t50) goto L_02851CBC; else goto L_02851CA4;
|
|
L_02851CA4: ; // 0x2851ca4
|
|
/* 02851CA4 */ cpu->r[4] = 0x10130000u;
|
|
/* 02851CA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02851CAC */ cpu->r[5] = 0x0000000Cu;
|
|
/* 02851CB0 */ cpu->r[4] = cpu->r[4] + 0x000004E4u;
|
|
/* 02851CB4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02851CB8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_02851CBC: ; // 0x2851cbc
|
|
/* 02851CBC */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02851CBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02851CC0 */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851CC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02851CC4 */ cpu->lr = cpu->r[0];
|
|
/* 02851CC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02851CCC */ return;
|
|
}
|
|
|
|
// fn_02851CD0 @ 0x2851cd0
|
|
void Gambit_fn_02851CD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90;
|
|
|
|
L_02851CD0: ; // 0x2851cd0
|
|
/* 02851CD0 */ cpu->r[0] = cpu->lr;
|
|
/* 02851CD4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02851CD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851CD4 */ cpu->r[1] = _t0;
|
|
/* 02851CD8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851CD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02851CDC */ cpu->r[31] = cpu->r[4];
|
|
/* 02851CE0 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02851CE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02851CE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02851CE8 */ _t3 = cpu->r[11] + 0x00006F1Cu;
|
|
/* 02851CE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02851CE8 */ cpu->r[11] = _t3;
|
|
/* 02851CEC */ cpu->r[4] = 0x101F0000u;
|
|
/* 02851CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02851CF4 */ cpu->r[4] = cpu->r[4] + 0x00006DB0u;
|
|
/* 02851CF8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851CF8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02851CF8 */ if (_t5) goto L_02851CFC; else goto L_02851E54;
|
|
L_02851CFC: ; // 0x2851cfc
|
|
/* 02851CFC */ cpu->r[9] = 0x10130000u;
|
|
/* 02851D00 */ cpu->r[12] = 0x10130000u;
|
|
/* 02851D04 */ _t6 = cpu->r[9] + 0x0000053Cu;
|
|
/* 02851D04 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02851D08 */ _t7 = cpu->r[12] + 0x00000540u;
|
|
/* 02851D08 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02851D0C */ cpu->r[12] = 0x10130000u;
|
|
/* 02851D10 */ _t8 = cpu->r[4] + 0x00000050u;
|
|
/* 02851D10 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[9]);
|
|
/* 02851D14 */ cpu->r[9] = 0x10130000u;
|
|
/* 02851D18 */ _t9 = cpu->r[12] + 0x00000548u;
|
|
/* 02851D18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02851D1C */ _t10 = cpu->r[9] + 0x00000544u;
|
|
/* 02851D1C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02851D20 */ _t11 = cpu->r[4] + 0x00000014u;
|
|
/* 02851D20 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02851D24 */ _t12 = cpu->r[4] + 0x00000030u;
|
|
/* 02851D24 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[10]);
|
|
/* 02851D28 */ _t13 = cpu->r[4] + 0x00000020u;
|
|
/* 02851D28 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[10]);
|
|
/* 02851D2C */ _t14 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02851D2C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[10]);
|
|
/* 02851D30 */ _t15 = cpu->r[4] + 0x00000010u;
|
|
/* 02851D30 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[10]);
|
|
/* 02851D34 */ _t16 = cpu->r[4] + 0x00000034u;
|
|
/* 02851D34 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
|
|
/* 02851D38 */ _t17 = cpu->r[4] + 0x00000038u;
|
|
/* 02851D38 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[10]);
|
|
/* 02851D3C */ _t18 = cpu->r[4] + 0x00000060u;
|
|
/* 02851D3C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[10]);
|
|
/* 02851D40 */ cpu->r[10] = 0x10130000u;
|
|
/* 02851D44 */ _t19 = cpu->r[4] + 0x00000090u;
|
|
/* 02851D44 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[9]);
|
|
/* 02851D48 */ _t20 = cpu->r[10] + 0x00000538u;
|
|
/* 02851D48 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02851D4C */ _t21 = cpu->r[4] + 0x00000054u;
|
|
/* 02851D4C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 02851D50 */ _t22 = cpu->r[4] + 0x00000008u;
|
|
/* 02851D50 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 02851D54 */ _t23 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02851D54 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[11]);
|
|
/* 02851D58 */ _t24 = cpu->r[4] + 0x00000048u;
|
|
/* 02851D58 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[11]);
|
|
/* 02851D5C */ _t25 = cpu->r[4] + 0x00000000u;
|
|
/* 02851D5C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 02851D60 */ _t26 = cpu->r[4] + 0x00000004u;
|
|
/* 02851D60 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[11]);
|
|
/* 02851D64 */ _t27 = cpu->r[4] + 0x00000024u;
|
|
/* 02851D64 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[11]);
|
|
/* 02851D68 */ _t28 = cpu->r[4] + 0x00000094u;
|
|
/* 02851D68 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[11]);
|
|
/* 02851D6C */ _t29 = cpu->r[4] + 0x00000044u;
|
|
/* 02851D6C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[10]);
|
|
/* 02851D70 */ cpu->r[0] = 0x00000001u;
|
|
/* 02851D74 */ _t30 = cpu->r[4] + 0x00000028u;
|
|
/* 02851D74 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[9]);
|
|
/* 02851D78 */ _t31 = cpu->r[11] + 0x00000000u;
|
|
/* 02851D78 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02851D7C */ _t32 = cpu->r[4] + 0x0000003Cu;
|
|
/* 02851D7C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[10]);
|
|
/* 02851D80 */ cpu->r[12] = 0x10130000u;
|
|
/* 02851D84 */ _t33 = cpu->r[4] + 0x000000D8u;
|
|
/* 02851D84 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[9]);
|
|
/* 02851D88 */ _t34 = cpu->r[12] + 0x0000054Cu;
|
|
/* 02851D88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02851D8C */ _t35 = cpu->r[4] + 0x0000004Cu;
|
|
/* 02851D8C */ rbrew_write_f32(cpu->mem, _t35, cpu->f[9]);
|
|
/* 02851D90 */ _t36 = cpu->r[4] + 0x000000C8u;
|
|
/* 02851D90 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 02851D94 */ _t37 = cpu->r[4] + 0x00000080u;
|
|
/* 02851D94 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[13]);
|
|
/* 02851D98 */ _t38 = cpu->r[4] + 0x0000008Cu;
|
|
/* 02851D98 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[10]);
|
|
/* 02851D9C */ _t39 = cpu->r[4] + 0x00000068u;
|
|
/* 02851D9C */ rbrew_write_f32(cpu->mem, _t39, cpu->f[10]);
|
|
/* 02851DA0 */ _t40 = cpu->r[4] + 0x00000058u;
|
|
/* 02851DA0 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[12]);
|
|
/* 02851DA4 */ _t41 = cpu->r[4] + 0x0000005Cu;
|
|
/* 02851DA4 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 02851DA8 */ _t42 = cpu->r[4] + 0x00000088u;
|
|
/* 02851DA8 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[10]);
|
|
/* 02851DAC */ _t43 = cpu->r[4] + 0x00000064u;
|
|
/* 02851DAC */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]);
|
|
/* 02851DB0 */ _t44 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02851DB0 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[10]);
|
|
/* 02851DB4 */ _t45 = cpu->r[4] + 0x0000007Cu;
|
|
/* 02851DB4 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[10]);
|
|
/* 02851DB8 */ _t46 = cpu->r[4] + 0x00000098u;
|
|
/* 02851DB8 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[9]);
|
|
/* 02851DBC */ _t47 = cpu->r[4] + 0x0000009Cu;
|
|
/* 02851DBC */ rbrew_write_f32(cpu->mem, _t47, cpu->f[10]);
|
|
/* 02851DC0 */ _t48 = cpu->r[4] + 0x000000C0u;
|
|
/* 02851DC0 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[10]);
|
|
/* 02851DC4 */ _t49 = cpu->r[4] + 0x000000ECu;
|
|
/* 02851DC4 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[0]);
|
|
/* 02851DC8 */ _t50 = cpu->r[4] + 0x000000E8u;
|
|
/* 02851DC8 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[12]);
|
|
/* 02851DCC */ _t51 = cpu->r[4] + 0x000000BCu;
|
|
/* 02851DCC */ rbrew_write_f32(cpu->mem, _t51, cpu->f[9]);
|
|
/* 02851DD0 */ _t52 = cpu->r[4] + 0x000000C4u;
|
|
/* 02851DD0 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[12]);
|
|
/* 02851DD4 */ _t53 = cpu->r[4] + 0x000000F0u;
|
|
/* 02851DD4 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[10]);
|
|
/* 02851DD8 */ _t54 = cpu->r[4] + 0x0000006Cu;
|
|
/* 02851DD8 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[11]);
|
|
/* 02851DDC */ _t55 = cpu->r[4] + 0x000000B8u;
|
|
/* 02851DDC */ rbrew_write_f32(cpu->mem, _t55, cpu->f[9]);
|
|
/* 02851DE0 */ _t56 = cpu->r[4] + 0x000000CCu;
|
|
/* 02851DE0 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[10]);
|
|
/* 02851DE4 */ _t57 = cpu->r[4] + 0x000000F4u;
|
|
/* 02851DE4 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[10]);
|
|
/* 02851DE8 */ _t58 = cpu->r[4] + 0x00000084u;
|
|
/* 02851DE8 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[10]);
|
|
/* 02851DEC */ _t59 = cpu->r[4] + 0x000000B4u;
|
|
/* 02851DEC */ rbrew_write_f32(cpu->mem, _t59, cpu->f[9]);
|
|
/* 02851DF0 */ _t60 = cpu->r[4] + 0x000000D0u;
|
|
/* 02851DF0 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[10]);
|
|
/* 02851DF4 */ _t61 = cpu->r[4] + 0x000000F8u;
|
|
/* 02851DF4 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[10]);
|
|
/* 02851DF8 */ _t62 = cpu->r[4] + 0x00000070u;
|
|
/* 02851DF8 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[11]);
|
|
/* 02851DFC */ _t63 = cpu->r[4] + 0x000000B0u;
|
|
/* 02851DFC */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 02851E00 */ _t64 = cpu->r[4] + 0x000000D4u;
|
|
/* 02851E00 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[10]);
|
|
/* 02851E04 */ _t65 = cpu->r[4] + 0x000000FCu;
|
|
/* 02851E04 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[9]);
|
|
/* 02851E08 */ _t66 = cpu->r[4] + 0x000000E4u;
|
|
/* 02851E08 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[12]);
|
|
/* 02851E0C */ _t67 = cpu->r[4] + 0x000000ACu;
|
|
/* 02851E0C */ rbrew_write_f32(cpu->mem, _t67, cpu->f[10]);
|
|
/* 02851E10 */ _t68 = cpu->r[4] + 0x00000040u;
|
|
/* 02851E10 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[10]);
|
|
/* 02851E14 */ _t69 = cpu->r[4] + 0x00000100u;
|
|
/* 02851E14 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[11]);
|
|
/* 02851E18 */ _t70 = cpu->r[4] + 0x00000074u;
|
|
/* 02851E18 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[9]);
|
|
/* 02851E1C */ _t71 = cpu->r[4] + 0x000000A8u;
|
|
/* 02851E1C */ rbrew_write_f32(cpu->mem, _t71, cpu->f[10]);
|
|
/* 02851E20 */ _t72 = cpu->r[4] + 0x00000018u;
|
|
/* 02851E20 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[10]);
|
|
/* 02851E24 */ _t73 = cpu->r[4] + 0x00000104u;
|
|
/* 02851E24 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[11]);
|
|
/* 02851E28 */ _t74 = cpu->r[4] + 0x000000E0u;
|
|
/* 02851E28 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[11]);
|
|
/* 02851E2C */ _t75 = cpu->r[4] + 0x000000A4u;
|
|
/* 02851E2C */ rbrew_write_f32(cpu->mem, _t75, cpu->f[12]);
|
|
/* 02851E30 */ _t76 = cpu->r[4] + 0x000000DCu;
|
|
/* 02851E30 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[9]);
|
|
/* 02851E34 */ _t77 = cpu->r[4] + 0x00000108u;
|
|
/* 02851E34 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[12]);
|
|
/* 02851E38 */ _t78 = cpu->r[4] + 0x00000078u;
|
|
/* 02851E38 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[12]);
|
|
/* 02851E3C */ _t79 = cpu->r[4] + 0x000000A0u;
|
|
/* 02851E3C */ rbrew_write_f32(cpu->mem, _t79, cpu->f[10]);
|
|
/* 02851E40 */ _t80 = cpu->r[4] + 0x0000010Cu;
|
|
/* 02851E40 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[10]);
|
|
/* 02851E44 */ _t81 = cpu->r[4] + 0x00000110u;
|
|
/* 02851E44 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[13]);
|
|
/* 02851E48 */ _t82 = cpu->r[4] + 0x00000114u;
|
|
/* 02851E48 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[10]);
|
|
/* 02851E4C */ _t83 = cpu->r[4] + 0x00000118u;
|
|
/* 02851E4C */ rbrew_write_f32(cpu->mem, _t83, cpu->f[10]);
|
|
/* 02851E50 */ _t84 = cpu->r[4] + 0x0000011Cu;
|
|
/* 02851E50 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[10]);
|
|
L_02851E54: ; // 0x2851e54
|
|
/* 02851E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02851E58 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851E58 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02851E58 */ if (_t86) goto L_02851E68; else goto L_02851E5C;
|
|
L_02851E5C: ; // 0x2851e5c
|
|
/* 02851E5C */ cpu->r[6] = 0x00000000u;
|
|
/* 02851E60 */ cpu->r[5] = 0x00000120u;
|
|
/* 02851E64 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_02851E68: ; // 0x2851e68
|
|
/* 02851E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851E6C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851E6C */ _t88 = _t87 & 0x00000001u;
|
|
/* 02851E6C */ if (_t88) goto L_02851E88; else goto L_02851E70;
|
|
L_02851E70: ; // 0x2851e70
|
|
/* 02851E70 */ cpu->r[4] = 0x10130000u;
|
|
/* 02851E74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02851E78 */ cpu->r[5] = 0x00000048u;
|
|
/* 02851E7C */ cpu->r[4] = cpu->r[4] + 0x000004F0u;
|
|
/* 02851E80 */ cpu->r[6] = 0x00000000u;
|
|
/* 02851E84 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_02851E88: ; // 0x2851e88
|
|
/* 02851E88 */ _t89 = cpu->r[1] + 0x00000014u;
|
|
/* 02851E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02851E8C */ _t90 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851E8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02851E90 */ cpu->lr = cpu->r[0];
|
|
/* 02851E94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02851E98 */ return;
|
|
}
|
|
|
|
// fn_02851CD4 @ 0x2851cd4
|
|
void Gambit_fn_02851CD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90;
|
|
|
|
L_02851CD4: ; // 0x2851cd4
|
|
/* 02851CD4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02851CD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851CD4 */ cpu->r[1] = _t0;
|
|
/* 02851CD8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851CD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02851CDC */ cpu->r[31] = cpu->r[4];
|
|
/* 02851CE0 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02851CE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02851CE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02851CE8 */ _t3 = cpu->r[11] + 0x00006F1Cu;
|
|
/* 02851CE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02851CE8 */ cpu->r[11] = _t3;
|
|
/* 02851CEC */ cpu->r[4] = 0x101F0000u;
|
|
/* 02851CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02851CF4 */ cpu->r[4] = cpu->r[4] + 0x00006DB0u;
|
|
/* 02851CF8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851CF8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02851CF8 */ if (_t5) goto L_02851CFC; else goto L_02851E54;
|
|
L_02851CFC: ; // 0x2851cfc
|
|
/* 02851CFC */ cpu->r[9] = 0x10130000u;
|
|
/* 02851D00 */ cpu->r[12] = 0x10130000u;
|
|
/* 02851D04 */ _t6 = cpu->r[9] + 0x0000053Cu;
|
|
/* 02851D04 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02851D08 */ _t7 = cpu->r[12] + 0x00000540u;
|
|
/* 02851D08 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02851D0C */ cpu->r[12] = 0x10130000u;
|
|
/* 02851D10 */ _t8 = cpu->r[4] + 0x00000050u;
|
|
/* 02851D10 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[9]);
|
|
/* 02851D14 */ cpu->r[9] = 0x10130000u;
|
|
/* 02851D18 */ _t9 = cpu->r[12] + 0x00000548u;
|
|
/* 02851D18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02851D1C */ _t10 = cpu->r[9] + 0x00000544u;
|
|
/* 02851D1C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02851D20 */ _t11 = cpu->r[4] + 0x00000014u;
|
|
/* 02851D20 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02851D24 */ _t12 = cpu->r[4] + 0x00000030u;
|
|
/* 02851D24 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[10]);
|
|
/* 02851D28 */ _t13 = cpu->r[4] + 0x00000020u;
|
|
/* 02851D28 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[10]);
|
|
/* 02851D2C */ _t14 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02851D2C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[10]);
|
|
/* 02851D30 */ _t15 = cpu->r[4] + 0x00000010u;
|
|
/* 02851D30 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[10]);
|
|
/* 02851D34 */ _t16 = cpu->r[4] + 0x00000034u;
|
|
/* 02851D34 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
|
|
/* 02851D38 */ _t17 = cpu->r[4] + 0x00000038u;
|
|
/* 02851D38 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[10]);
|
|
/* 02851D3C */ _t18 = cpu->r[4] + 0x00000060u;
|
|
/* 02851D3C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[10]);
|
|
/* 02851D40 */ cpu->r[10] = 0x10130000u;
|
|
/* 02851D44 */ _t19 = cpu->r[4] + 0x00000090u;
|
|
/* 02851D44 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[9]);
|
|
/* 02851D48 */ _t20 = cpu->r[10] + 0x00000538u;
|
|
/* 02851D48 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02851D4C */ _t21 = cpu->r[4] + 0x00000054u;
|
|
/* 02851D4C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 02851D50 */ _t22 = cpu->r[4] + 0x00000008u;
|
|
/* 02851D50 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 02851D54 */ _t23 = cpu->r[4] + 0x0000002Cu;
|
|
/* 02851D54 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[11]);
|
|
/* 02851D58 */ _t24 = cpu->r[4] + 0x00000048u;
|
|
/* 02851D58 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[11]);
|
|
/* 02851D5C */ _t25 = cpu->r[4] + 0x00000000u;
|
|
/* 02851D5C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 02851D60 */ _t26 = cpu->r[4] + 0x00000004u;
|
|
/* 02851D60 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[11]);
|
|
/* 02851D64 */ _t27 = cpu->r[4] + 0x00000024u;
|
|
/* 02851D64 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[11]);
|
|
/* 02851D68 */ _t28 = cpu->r[4] + 0x00000094u;
|
|
/* 02851D68 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[11]);
|
|
/* 02851D6C */ _t29 = cpu->r[4] + 0x00000044u;
|
|
/* 02851D6C */ rbrew_write_f32(cpu->mem, _t29, cpu->f[10]);
|
|
/* 02851D70 */ cpu->r[0] = 0x00000001u;
|
|
/* 02851D74 */ _t30 = cpu->r[4] + 0x00000028u;
|
|
/* 02851D74 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[9]);
|
|
/* 02851D78 */ _t31 = cpu->r[11] + 0x00000000u;
|
|
/* 02851D78 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02851D7C */ _t32 = cpu->r[4] + 0x0000003Cu;
|
|
/* 02851D7C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[10]);
|
|
/* 02851D80 */ cpu->r[12] = 0x10130000u;
|
|
/* 02851D84 */ _t33 = cpu->r[4] + 0x000000D8u;
|
|
/* 02851D84 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[9]);
|
|
/* 02851D88 */ _t34 = cpu->r[12] + 0x0000054Cu;
|
|
/* 02851D88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02851D8C */ _t35 = cpu->r[4] + 0x0000004Cu;
|
|
/* 02851D8C */ rbrew_write_f32(cpu->mem, _t35, cpu->f[9]);
|
|
/* 02851D90 */ _t36 = cpu->r[4] + 0x000000C8u;
|
|
/* 02851D90 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 02851D94 */ _t37 = cpu->r[4] + 0x00000080u;
|
|
/* 02851D94 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[13]);
|
|
/* 02851D98 */ _t38 = cpu->r[4] + 0x0000008Cu;
|
|
/* 02851D98 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[10]);
|
|
/* 02851D9C */ _t39 = cpu->r[4] + 0x00000068u;
|
|
/* 02851D9C */ rbrew_write_f32(cpu->mem, _t39, cpu->f[10]);
|
|
/* 02851DA0 */ _t40 = cpu->r[4] + 0x00000058u;
|
|
/* 02851DA0 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[12]);
|
|
/* 02851DA4 */ _t41 = cpu->r[4] + 0x0000005Cu;
|
|
/* 02851DA4 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 02851DA8 */ _t42 = cpu->r[4] + 0x00000088u;
|
|
/* 02851DA8 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[10]);
|
|
/* 02851DAC */ _t43 = cpu->r[4] + 0x00000064u;
|
|
/* 02851DAC */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]);
|
|
/* 02851DB0 */ _t44 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02851DB0 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[10]);
|
|
/* 02851DB4 */ _t45 = cpu->r[4] + 0x0000007Cu;
|
|
/* 02851DB4 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[10]);
|
|
/* 02851DB8 */ _t46 = cpu->r[4] + 0x00000098u;
|
|
/* 02851DB8 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[9]);
|
|
/* 02851DBC */ _t47 = cpu->r[4] + 0x0000009Cu;
|
|
/* 02851DBC */ rbrew_write_f32(cpu->mem, _t47, cpu->f[10]);
|
|
/* 02851DC0 */ _t48 = cpu->r[4] + 0x000000C0u;
|
|
/* 02851DC0 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[10]);
|
|
/* 02851DC4 */ _t49 = cpu->r[4] + 0x000000ECu;
|
|
/* 02851DC4 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[0]);
|
|
/* 02851DC8 */ _t50 = cpu->r[4] + 0x000000E8u;
|
|
/* 02851DC8 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[12]);
|
|
/* 02851DCC */ _t51 = cpu->r[4] + 0x000000BCu;
|
|
/* 02851DCC */ rbrew_write_f32(cpu->mem, _t51, cpu->f[9]);
|
|
/* 02851DD0 */ _t52 = cpu->r[4] + 0x000000C4u;
|
|
/* 02851DD0 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[12]);
|
|
/* 02851DD4 */ _t53 = cpu->r[4] + 0x000000F0u;
|
|
/* 02851DD4 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[10]);
|
|
/* 02851DD8 */ _t54 = cpu->r[4] + 0x0000006Cu;
|
|
/* 02851DD8 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[11]);
|
|
/* 02851DDC */ _t55 = cpu->r[4] + 0x000000B8u;
|
|
/* 02851DDC */ rbrew_write_f32(cpu->mem, _t55, cpu->f[9]);
|
|
/* 02851DE0 */ _t56 = cpu->r[4] + 0x000000CCu;
|
|
/* 02851DE0 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[10]);
|
|
/* 02851DE4 */ _t57 = cpu->r[4] + 0x000000F4u;
|
|
/* 02851DE4 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[10]);
|
|
/* 02851DE8 */ _t58 = cpu->r[4] + 0x00000084u;
|
|
/* 02851DE8 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[10]);
|
|
/* 02851DEC */ _t59 = cpu->r[4] + 0x000000B4u;
|
|
/* 02851DEC */ rbrew_write_f32(cpu->mem, _t59, cpu->f[9]);
|
|
/* 02851DF0 */ _t60 = cpu->r[4] + 0x000000D0u;
|
|
/* 02851DF0 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[10]);
|
|
/* 02851DF4 */ _t61 = cpu->r[4] + 0x000000F8u;
|
|
/* 02851DF4 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[10]);
|
|
/* 02851DF8 */ _t62 = cpu->r[4] + 0x00000070u;
|
|
/* 02851DF8 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[11]);
|
|
/* 02851DFC */ _t63 = cpu->r[4] + 0x000000B0u;
|
|
/* 02851DFC */ rbrew_write_f32(cpu->mem, _t63, cpu->f[10]);
|
|
/* 02851E00 */ _t64 = cpu->r[4] + 0x000000D4u;
|
|
/* 02851E00 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[10]);
|
|
/* 02851E04 */ _t65 = cpu->r[4] + 0x000000FCu;
|
|
/* 02851E04 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[9]);
|
|
/* 02851E08 */ _t66 = cpu->r[4] + 0x000000E4u;
|
|
/* 02851E08 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[12]);
|
|
/* 02851E0C */ _t67 = cpu->r[4] + 0x000000ACu;
|
|
/* 02851E0C */ rbrew_write_f32(cpu->mem, _t67, cpu->f[10]);
|
|
/* 02851E10 */ _t68 = cpu->r[4] + 0x00000040u;
|
|
/* 02851E10 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[10]);
|
|
/* 02851E14 */ _t69 = cpu->r[4] + 0x00000100u;
|
|
/* 02851E14 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[11]);
|
|
/* 02851E18 */ _t70 = cpu->r[4] + 0x00000074u;
|
|
/* 02851E18 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[9]);
|
|
/* 02851E1C */ _t71 = cpu->r[4] + 0x000000A8u;
|
|
/* 02851E1C */ rbrew_write_f32(cpu->mem, _t71, cpu->f[10]);
|
|
/* 02851E20 */ _t72 = cpu->r[4] + 0x00000018u;
|
|
/* 02851E20 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[10]);
|
|
/* 02851E24 */ _t73 = cpu->r[4] + 0x00000104u;
|
|
/* 02851E24 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[11]);
|
|
/* 02851E28 */ _t74 = cpu->r[4] + 0x000000E0u;
|
|
/* 02851E28 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[11]);
|
|
/* 02851E2C */ _t75 = cpu->r[4] + 0x000000A4u;
|
|
/* 02851E2C */ rbrew_write_f32(cpu->mem, _t75, cpu->f[12]);
|
|
/* 02851E30 */ _t76 = cpu->r[4] + 0x000000DCu;
|
|
/* 02851E30 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[9]);
|
|
/* 02851E34 */ _t77 = cpu->r[4] + 0x00000108u;
|
|
/* 02851E34 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[12]);
|
|
/* 02851E38 */ _t78 = cpu->r[4] + 0x00000078u;
|
|
/* 02851E38 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[12]);
|
|
/* 02851E3C */ _t79 = cpu->r[4] + 0x000000A0u;
|
|
/* 02851E3C */ rbrew_write_f32(cpu->mem, _t79, cpu->f[10]);
|
|
/* 02851E40 */ _t80 = cpu->r[4] + 0x0000010Cu;
|
|
/* 02851E40 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[10]);
|
|
/* 02851E44 */ _t81 = cpu->r[4] + 0x00000110u;
|
|
/* 02851E44 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[13]);
|
|
/* 02851E48 */ _t82 = cpu->r[4] + 0x00000114u;
|
|
/* 02851E48 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[10]);
|
|
/* 02851E4C */ _t83 = cpu->r[4] + 0x00000118u;
|
|
/* 02851E4C */ rbrew_write_f32(cpu->mem, _t83, cpu->f[10]);
|
|
/* 02851E50 */ _t84 = cpu->r[4] + 0x0000011Cu;
|
|
/* 02851E50 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[10]);
|
|
L_02851E54: ; // 0x2851e54
|
|
/* 02851E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02851E58 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851E58 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02851E58 */ if (_t86) goto L_02851E68; else goto L_02851E5C;
|
|
L_02851E5C: ; // 0x2851e5c
|
|
/* 02851E5C */ cpu->r[6] = 0x00000000u;
|
|
/* 02851E60 */ cpu->r[5] = 0x00000120u;
|
|
/* 02851E64 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_02851E68: ; // 0x2851e68
|
|
/* 02851E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851E6C */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851E6C */ _t88 = _t87 & 0x00000001u;
|
|
/* 02851E6C */ if (_t88) goto L_02851E88; else goto L_02851E70;
|
|
L_02851E70: ; // 0x2851e70
|
|
/* 02851E70 */ cpu->r[4] = 0x10130000u;
|
|
/* 02851E74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02851E78 */ cpu->r[5] = 0x00000048u;
|
|
/* 02851E7C */ cpu->r[4] = cpu->r[4] + 0x000004F0u;
|
|
/* 02851E80 */ cpu->r[6] = 0x00000000u;
|
|
/* 02851E84 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_02851E88: ; // 0x2851e88
|
|
/* 02851E88 */ _t89 = cpu->r[1] + 0x00000014u;
|
|
/* 02851E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02851E8C */ _t90 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851E8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02851E90 */ cpu->lr = cpu->r[0];
|
|
/* 02851E94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02851E98 */ return;
|
|
}
|
|
|
|
// fn_02851E9C @ 0x2851e9c
|
|
void Gambit_fn_02851E9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02851E9C: ; // 0x2851e9c
|
|
/* 02851E9C */ cpu->r[0] = cpu->lr;
|
|
/* 02851EA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02851EA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851EA0 */ cpu->r[1] = _t0;
|
|
/* 02851EA4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851EA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02851EA8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02851EAC */ cpu->r[4] = 0x00000000u;
|
|
/* 02851EB0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02851EB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02851EB4 */ Gambit_fn_02851CD0(cpu);
|
|
/* 02851EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851EBC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851EBC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02851EBC */ if (_t4) goto L_02851ED8; else goto L_02851EC0;
|
|
L_02851EC0: ; // 0x2851ec0
|
|
/* 02851EC0 */ cpu->r[4] = 0x10130000u;
|
|
/* 02851EC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02851EC8 */ cpu->r[5] = 0x00000022u;
|
|
/* 02851ECC */ cpu->r[4] = cpu->r[4] + 0x00000550u;
|
|
/* 02851ED0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02851ED4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_02851ED8: ; // 0x2851ed8
|
|
/* 02851ED8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02851ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02851EDC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851EDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02851EE0 */ cpu->lr = cpu->r[0];
|
|
/* 02851EE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02851EE8 */ return;
|
|
}
|
|
|
|
// fn_02851EA0 @ 0x2851ea0
|
|
void Gambit_fn_02851EA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02851EA0: ; // 0x2851ea0
|
|
/* 02851EA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02851EA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851EA0 */ cpu->r[1] = _t0;
|
|
/* 02851EA4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851EA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02851EA8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02851EAC */ cpu->r[4] = 0x00000000u;
|
|
/* 02851EB0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02851EB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02851EB4 */ Gambit_fn_02851CD0(cpu);
|
|
/* 02851EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02851EBC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851EBC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02851EBC */ if (_t4) goto L_02851ED8; else goto L_02851EC0;
|
|
L_02851EC0: ; // 0x2851ec0
|
|
/* 02851EC0 */ cpu->r[4] = 0x10130000u;
|
|
/* 02851EC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02851EC8 */ cpu->r[5] = 0x00000022u;
|
|
/* 02851ECC */ cpu->r[4] = cpu->r[4] + 0x00000550u;
|
|
/* 02851ED0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02851ED4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_02851ED8: ; // 0x2851ed8
|
|
/* 02851ED8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02851ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02851EDC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851EDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02851EE0 */ cpu->lr = cpu->r[0];
|
|
/* 02851EE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02851EE8 */ return;
|
|
}
|
|
|
|
// fn_02851EEC @ 0x2851eec
|
|
void Gambit_fn_02851EEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02851EEC: ; // 0x2851eec
|
|
/* 02851EEC */ _t0 = cpu->r[1] + 0xFFFFFED0u;
|
|
/* 02851EEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02851EEC */ cpu->r[1] = _t0;
|
|
/* 02851EF0 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02851EF0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[17]);
|
|
/* 02851EF4 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 02851EF4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[18]);
|
|
/* 02851EF8 */ _t3 = cpu->r[1] + 0x00000060u;
|
|
/* 02851EF8 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[19]);
|
|
/* 02851EFC */ /* nop */
|
|
/* 02851F00 */ _t4 = cpu->r[1] + 0x00000070u;
|
|
/* 02851F00 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[20]);
|
|
/* 02851F04 */ /* nop */
|
|
/* 02851F08 */ _t5 = cpu->r[1] + 0x00000080u;
|
|
/* 02851F08 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[21]);
|
|
/* 02851F0C */ /* nop */
|
|
/* 02851F10 */ _t6 = cpu->r[1] + 0x00000090u;
|
|
/* 02851F10 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[22]);
|
|
/* 02851F14 */ /* nop */
|
|
/* 02851F18 */ _t7 = cpu->r[1] + 0x000000A0u;
|
|
/* 02851F18 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[23]);
|
|
/* 02851F1C */ /* nop */
|
|
/* 02851F20 */ _t8 = cpu->r[1] + 0x000000B0u;
|
|
/* 02851F20 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[24]);
|
|
/* 02851F24 */ /* nop */
|
|
/* 02851F28 */ _t9 = cpu->r[1] + 0x000000C0u;
|
|
/* 02851F28 */ rbrew_write_f64(cpu->mem, _t9, cpu->f[25]);
|
|
/* 02851F2C */ /* nop */
|
|
/* 02851F30 */ _t10 = cpu->r[1] + 0x000000D0u;
|
|
/* 02851F30 */ rbrew_write_f64(cpu->mem, _t10, cpu->f[26]);
|
|
/* 02851F34 */ /* nop */
|
|
/* 02851F38 */ _t11 = cpu->r[1] + 0x00000048u;
|
|
/* 02851F38 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[17]);
|
|
/* 02851F3C */ _t12 = cpu->r[1] + 0x00000058u;
|
|
/* 02851F3C */ rbrew_write_f32(cpu->mem, _t12, cpu->f[18]);
|
|
/* 02851F40 */ _t13 = cpu->r[1] + 0x00000068u;
|
|
/* 02851F40 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[19]);
|
|
/* 02851F44 */ /* nop */
|
|
/* 02851F48 */ _t14 = cpu->r[1] + 0x00000078u;
|
|
/* 02851F48 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[20]);
|
|
/* 02851F4C */ _t15 = cpu->r[1] + 0x00000088u;
|
|
/* 02851F4C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[21]);
|
|
/* 02851F50 */ _t16 = cpu->r[1] + 0x00000098u;
|
|
/* 02851F50 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[22]);
|
|
/* 02851F54 */ /* nop */
|
|
/* 02851F58 */ _t17 = cpu->r[1] + 0x000000A8u;
|
|
/* 02851F58 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[23]);
|
|
/* 02851F5C */ _t18 = cpu->r[1] + 0x000000B8u;
|
|
/* 02851F5C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[24]);
|
|
/* 02851F60 */ _t19 = cpu->r[1] + 0x000000C8u;
|
|
/* 02851F60 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[25]);
|
|
/* 02851F64 */ cpu->r[0] = cpu->lr;
|
|
/* 02851F68 */ _t20 = cpu->r[1] + 0x000000D8u;
|
|
/* 02851F68 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[26]);
|
|
/* 02851F6C */ _t21 = cpu->r[1] + 0x000000E0u;
|
|
/* 02851F6C */ rbrew_write_f64(cpu->mem, _t21, cpu->f[27]);
|
|
/* 02851F70 */ /* nop */
|
|
/* 02851F74 */ _t22 = cpu->r[1] + 0x000000E8u;
|
|
/* 02851F74 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[27]);
|
|
/* 02851F78 */ _t23 = cpu->r[1] + 0x000000F0u;
|
|
/* 02851F78 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[28]);
|
|
/* 02851F7C */ /* nop */
|
|
/* 02851F80 */ _t24 = cpu->r[1] + 0x000000F8u;
|
|
/* 02851F80 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[28]);
|
|
/* 02851F84 */ _t25 = cpu->r[1] + 0x00000100u;
|
|
/* 02851F84 */ rbrew_write_f64(cpu->mem, _t25, cpu->f[29]);
|
|
/* 02851F88 */ /* nop */
|
|
/* 02851F8C */ _t26 = cpu->r[1] + 0x00000108u;
|
|
/* 02851F8C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[29]);
|
|
/* 02851F90 */ _t27 = cpu->r[1] + 0x00000110u;
|
|
/* 02851F90 */ rbrew_write_f64(cpu->mem, _t27, cpu->f[30]);
|
|
/* 02851F94 */ /* nop */
|
|
/* 02851F98 */ _t28 = cpu->r[1] + 0x00000118u;
|
|
/* 02851F98 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[30]);
|
|
/* 02851F9C */ _t29 = cpu->r[1] + 0x00000120u;
|
|
/* 02851F9C */ rbrew_write_f64(cpu->mem, _t29, cpu->f[31]);
|
|
/* 02851FA0 */ /* nop */
|
|
/* 02851FA4 */ _t30 = cpu->r[1] + 0x00000134u;
|
|
/* 02851FA4 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02851FA8 */ _t31 = cpu->r[1] + 0x00000128u;
|
|
/* 02851FA8 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]);
|
|
/* 02851FAC */ /* nop */
|
|
/* 02851FB0 */ cpu->r[27] = cpu->r[3];
|
|
/* 02851FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02851FB4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02851FB8 */ cpu->r[31] = cpu->r[5];
|
|
/* 02851FBC */ cpu->r[28] = cpu->r[6];
|
|
/* 02851FC0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02851FC0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02851FC0 */ if (_t33) goto L_0285219C; else goto L_02851FC4;
|
|
L_02851FC4: ; // 0x2851fc4
|
|
/* 02851FC4 */ cpu->r[7] = 0x10130000u;
|
|
/* 02851FC8 */ cpu->r[6] = 0x10130000u;
|
|
/* 02851FCC */ cpu->r[24] = cpu->r[28];
|
|
/* 02851FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02851FD0 */ _t34 = cpu->r[7] + 0x0000053Cu;
|
|
/* 02851FD0 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02851FD4 */ cpu->r[23] = 0x00000000u;
|
|
/* 02851FD8 */ _t35 = cpu->r[6] + 0x00000544u;
|
|
/* 02851FD8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02851FDC */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02851FDC */ _t37 = _t36 & 0x00000001u;
|
|
/* 02851FDC */ if (_t37) goto L_02851FE0; else goto L_02852144;
|
|
L_02851FE0: ; // 0x2851fe0
|
|
/* 02851FE0 */ cpu->r[5] = 0x10130000u;
|
|
/* 02851FE4 */ cpu->r[7] = 0x43300000u;
|
|
/* 02851FE8 */ _t38 = cpu->r[5] + 0x00000578u;
|
|
/* 02851FE8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 02851FEC */ cpu->r[8] = cpu->r[28] ^ 0x80000000u;
|
|
/* 02851FF0 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02851FF0 */ rbrew_write32(cpu->mem, _t39, cpu->r[7]);
|
|
/* 02851FF4 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02851FF4 */ rbrew_write32(cpu->mem, _t40, cpu->r[8]);
|
|
/* 02851FF8 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02851FF8 */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 02851FFC */ cpu->r[4] = 0x10130000u;
|
|
/* 02852000 */ cpu->f[7] = cpu->f[6] - cpu->f[13];
|
|
/* 02852004 */ _t42 = cpu->r[4] + 0x00000580u;
|
|
/* 02852004 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02852008 */ cpu->f[27] = cpu->f[28];
|
|
/* 0285200C */ cpu->r[12] = 0x10130000u;
|
|
/* 02852010 */ cpu->f[0] = (double)(float)cpu->f[7];
|
|
/* 02852014 */ _t43 = cpu->r[12] + 0x00000574u;
|
|
/* 02852014 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02852018 */ cpu->f[24] = cpu->f[0] + cpu->f[29];
|
|
/* 0285201C */ cpu->r[25] = 0x00000000u;
|
|
L_02852020: ; // 0x2852020
|
|
/* 02852020 */ cpu->r[11] = 0x10130000u;
|
|
/* 02852024 */ cpu->r[0] = 0x43300000u;
|
|
/* 02852028 */ cpu->r[26] = cpu->r[23] + 0x00000001u;
|
|
/* 0285202C */ _t44 = cpu->r[11] + 0x00000578u;
|
|
/* 0285202C */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t44);
|
|
/* 02852030 */ cpu->r[9] = cpu->r[26] ^ 0x80000000u;
|
|
/* 02852034 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02852034 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 02852038 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02852038 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]);
|
|
/* 0285203C */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 0285203C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t47);
|
|
/* 02852040 */ cpu->f[11] = cpu->f[9] - cpu->f[10];
|
|
/* 02852044 */ cpu->f[8] = (double)(float)cpu->f[11];
|
|
/* 02852048 */ cpu->f[12] = cpu->f[8] / cpu->f[24];
|
|
/* 0285204C */ cpu->f[13] = cpu->f[12] - cpu->f[27];
|
|
/* 02852050 */ cpu->f[26] = cpu->f[13] * cpu->f[31];
|
|
/* 02852054 */ cpu->f[1] = cpu->f[26];
|
|
/* 02852058 */ Gambit_fn_02C886F8(cpu);
|
|
/* 0285205C */ cpu->f[21] = cpu->f[1] * cpu->f[27];
|
|
/* 02852060 */ cpu->f[1] = cpu->f[26];
|
|
/* 02852064 */ Gambit_fn_02C88F2C(cpu);
|
|
/* 02852068 */ cpu->r[22] = cpu->r[31];
|
|
/* 02852068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0285206C */ cpu->r[21] = 0x00000000u;
|
|
/* 02852070 */ cpu->f[22] = cpu->f[1] * cpu->f[27];
|
|
/* 02852074 */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02852074 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02852074 */ if (_t49) goto L_02852078; else goto L_02852134;
|
|
L_02852078: ; // 0x2852078
|
|
/* 02852078 */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 0285207C */ cpu->r[10] = 0x10130000u;
|
|
/* 02852080 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02852080 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 02852084 */ cpu->f[23] = cpu->f[27];
|
|
/* 02852088 */ cpu->r[12] = 0x43300000u;
|
|
/* 0285208C */ _t51 = cpu->r[10] + 0x00000578u;
|
|
/* 0285208C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t51);
|
|
/* 02852090 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02852090 */ rbrew_write32(cpu->mem, _t52, cpu->r[12]);
|
|
/* 02852094 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02852094 */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t53);
|
|
/* 02852098 */ cpu->f[25] = cpu->f[23] - cpu->f[21];
|
|
/* 0285209C */ cpu->f[7] = cpu->f[6] - cpu->f[11];
|
|
/* 028520A0 */ cpu->f[26] = cpu->f[21] + cpu->f[23];
|
|
/* 028520A4 */ cpu->f[20] = (double)(float)cpu->f[7];
|
|
/* 028520A8 */ cpu->r[30] = cpu->r[25];
|
|
L_028520AC: ; // 0x28520ac
|
|
/* 028520AC */ cpu->r[9] = 0x10130000u;
|
|
/* 028520B0 */ cpu->r[0] = 0x43300000u;
|
|
/* 028520B4 */ _t54 = cpu->r[9] + 0x00000578u;
|
|
/* 028520B4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 028520B8 */ cpu->r[5] = cpu->r[21] ^ 0x80000000u;
|
|
/* 028520BC */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 028520BC */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 028520C0 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028520C0 */ rbrew_write32(cpu->mem, _t56, cpu->r[5]);
|
|
/* 028520C4 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 028520C4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t57);
|
|
/* 028520C8 */ cpu->f[10] = cpu->f[8] - cpu->f[9];
|
|
/* 028520CC */ cpu->f[17] = (double)(float)cpu->f[10];
|
|
/* 028520D0 */ cpu->f[11] = cpu->f[30] * cpu->f[17];
|
|
/* 028520D4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[23], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028520D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 028520D8 */ cpu->f[18] = cpu->f[11] / cpu->f[20];
|
|
/* 028520DC */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028520DC */ _t59 = _t58 & 0x00000001u;
|
|
/* 028520DC */ if (_t59) goto L_028520E0; else goto L_028520E8;
|
|
L_028520E0: ; // 0x28520e0
|
|
/* 028520E0 */ cpu->f[13] = cpu->f[30] / cpu->f[20];
|
|
/* 028520E4 */ cpu->f[18] = -fma(cpu->f[13], cpu->f[23], -(cpu->f[18]));
|
|
L_028520E8: ; // 0x28520e8
|
|
/* 028520E8 */ cpu->f[1] = cpu->f[18];
|
|
/* 028520EC */ Gambit_fn_02C88F2C(cpu);
|
|
/* 028520F0 */ cpu->f[19] = cpu->f[1] * cpu->f[22];
|
|
/* 028520F4 */ cpu->f[1] = cpu->f[18];
|
|
/* 028520F8 */ Gambit_fn_02C886F8(cpu);
|
|
/* 028520FC */ cpu->f[12] = cpu->f[17] / cpu->f[20];
|
|
/* 02852100 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000024u);
|
|
/* 02852104 */ cpu->r[10] = cpu->r[27] + cpu->r[0];
|
|
/* 02852108 */ _t60 = cpu->r[10] + 0x00000014u;
|
|
/* 02852108 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[25]);
|
|
/* 0285210C */ _t61 = cpu->r[10] + 0x00000000u;
|
|
/* 0285210C */ rbrew_write_f32(cpu->mem, _t61, cpu->f[19]);
|
|
/* 02852110 */ _t62 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02852110 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[26]);
|
|
/* 02852114 */ _t63 = cpu->r[10] + 0x00000004u;
|
|
/* 02852114 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[21]);
|
|
/* 02852118 */ cpu->f[0] = cpu->f[1] * cpu->f[22];
|
|
/* 0285211C */ _t64 = cpu->r[10] + 0x00000010u;
|
|
/* 0285211C */ rbrew_write_f32(cpu->mem, _t64, cpu->f[12]);
|
|
/* 02852120 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02852124 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02852124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02852128 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 0285212C */ _t65 = cpu->r[10] + 0x00000008u;
|
|
/* 0285212C */ rbrew_write_f32(cpu->mem, _t65, cpu->f[0]);
|
|
/* 02852130 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852130 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02852130 */ if (_t67) goto L_02852134; else goto L_028520AC;
|
|
L_02852134: ; // 0x2852134
|
|
/* 02852134 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02852134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02852138 */ cpu->r[23] = cpu->r[26];
|
|
/* 0285213C */ cpu->r[25] = cpu->r[25] + cpu->r[31];
|
|
/* 02852140 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852140 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02852140 */ if (_t69) goto L_02852144; else goto L_02852020;
|
|
L_02852144: ; // 0x2852144
|
|
/* 02852144 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[28]);
|
|
/* 02852148 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285214C */ cpu->r[12] = 0x10130000u;
|
|
/* 02852150 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000024u);
|
|
/* 02852154 */ cpu->r[0] = cpu->r[8] + 0x00000001u;
|
|
/* 02852158 */ _t70 = cpu->r[12] + 0x00000538u;
|
|
/* 02852158 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 0285215C */ _t71 = cpu->r[10] + 0x00000540u;
|
|
/* 0285215C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02852160 */ cpu->r[5] = cpu->r[27] + cpu->r[11];
|
|
/* 02852164 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000024u);
|
|
/* 02852168 */ _t72 = cpu->r[5] + 0x00000000u;
|
|
/* 02852168 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[12]);
|
|
/* 0285216C */ _t73 = cpu->r[5] + 0x0000000Cu;
|
|
/* 0285216C */ rbrew_write_f32(cpu->mem, _t73, cpu->f[12]);
|
|
/* 02852170 */ _t74 = cpu->r[5] + 0x00000010u;
|
|
/* 02852170 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[28]);
|
|
/* 02852174 */ cpu->r[12] = cpu->r[27] + cpu->r[12];
|
|
/* 02852178 */ _t75 = cpu->r[5] + 0x00000004u;
|
|
/* 02852178 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[0]);
|
|
/* 0285217C */ _t76 = cpu->r[5] + 0x00000014u;
|
|
/* 0285217C */ rbrew_write_f32(cpu->mem, _t76, cpu->f[29]);
|
|
/* 02852180 */ _t77 = cpu->r[5] + 0x00000008u;
|
|
/* 02852180 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[12]);
|
|
/* 02852184 */ _t78 = cpu->r[12] + 0x00000004u;
|
|
/* 02852184 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[28]);
|
|
/* 02852188 */ _t79 = cpu->r[12] + 0x00000008u;
|
|
/* 02852188 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[12]);
|
|
/* 0285218C */ _t80 = cpu->r[12] + 0x00000000u;
|
|
/* 0285218C */ rbrew_write_f32(cpu->mem, _t80, cpu->f[12]);
|
|
/* 02852190 */ _t81 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02852190 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[29]);
|
|
/* 02852194 */ _t82 = cpu->r[12] + 0x00000010u;
|
|
/* 02852194 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[28]);
|
|
/* 02852198 */ _t83 = cpu->r[12] + 0x00000014u;
|
|
/* 02852198 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[12]);
|
|
L_0285219C: ; // 0x285219c
|
|
/* 0285219C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028521A0 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028521A0 */ _t85 = _t84 & 0x00000001u;
|
|
/* 028521A0 */ if (_t85) goto L_02852328; else goto L_028521A4;
|
|
L_028521A4: ; // 0x28521a4
|
|
/* 028521A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028521A8 */ cpu->r[5] = 0x00000000u;
|
|
/* 028521AC */ _t86 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028521AC */ _t87 = _t86 & 0x00000001u;
|
|
/* 028521AC */ if (_t87) goto L_028521B0; else goto L_028521E4;
|
|
L_028521B0: ; // 0x28521b0
|
|
/* 028521B0 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[28]);
|
|
/* 028521B4 */ cpu->ctr = cpu->r[31];
|
|
/* 028521B8 */ cpu->r[8] = 0x00000001u;
|
|
/* 028521BC */ cpu->r[6] = cpu->r[29] + 0xFFFFFFFAu;
|
|
L_028521C0: ; // 0x28521c0
|
|
/* 028521C0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] / (int32_t)cpu->r[31]);
|
|
/* 028521C4 */ _t88 = cpu->r[6] + 0x00000006u;
|
|
/* 028521C4 */ rbrew_write16(cpu->mem, _t88, (uint16_t)cpu->r[7]);
|
|
/* 028521C4 */ cpu->r[6] = _t88;
|
|
/* 028521C8 */ _t89 = cpu->r[6] + 0x00000002u;
|
|
/* 028521C8 */ rbrew_write16(cpu->mem, _t89, (uint16_t)cpu->r[5]);
|
|
/* 028521CC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 028521D0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[31]);
|
|
/* 028521D4 */ cpu->r[0] = cpu->r[8] - cpu->r[0];
|
|
/* 028521D8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 028521DC */ _t90 = cpu->r[6] + 0x00000004u;
|
|
/* 028521DC */ rbrew_write16(cpu->mem, _t90, (uint16_t)cpu->r[0]);
|
|
/* 028521E0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028521E0 */ _t91 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028521E0 */ _t92 = _t91 >> (0x00000002u & 31u);
|
|
/* 028521E0 */ _t93 = _t92 & 0x00000001u;
|
|
/* 028521E0 */ if (_t93) goto L_028521C0; else goto L_028521E4;
|
|
L_028521E4: ; // 0x28521e4
|
|
/* 028521E4 */ cpu->r[27] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 028521E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 028521E8 */ cpu->r[25] = 0x00000000u;
|
|
/* 028521EC */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028521EC */ _t95 = _t94 & 0x00000001u;
|
|
/* 028521EC */ if (_t95) goto L_028521F0; else goto L_028522B0;
|
|
L_028521F0: ; // 0x28521f0
|
|
/* 028521F0 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000003u);
|
|
/* 028521F4 */ cpu->r[0] = cpu->r[31];
|
|
/* 028521F8 */ cpu->r[10] = 0x00000000u;
|
|
/* 028521FC */ cpu->r[12] = cpu->r[31];
|
|
L_02852200: ; // 0x2852200
|
|
/* 02852200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02852204 */ cpu->r[26] = 0x00000000u;
|
|
/* 02852208 */ _t96 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02852208 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02852208 */ if (_t97) goto L_0285220C; else goto L_0285229C;
|
|
L_0285220C: ; // 0x285220c
|
|
/* 0285220C */ cpu->r[11] = rbrew_rlwinm(cpu->r[25], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02852210 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000006u);
|
|
/* 02852214 */ cpu->r[4] = cpu->r[11] + cpu->r[25];
|
|
/* 02852218 */ cpu->r[24] = cpu->r[10];
|
|
/* 0285221C */ cpu->ctr = cpu->r[31];
|
|
/* 02852220 */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 02852224 */ cpu->r[23] = cpu->r[9] + cpu->r[3];
|
|
/* 02852228 */ cpu->r[30] = 0x00000001u;
|
|
/* 0285222C */ cpu->r[22] = cpu->r[25] - cpu->r[6];
|
|
L_02852230: ; // 0x2852230
|
|
/* 02852230 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[30] / (int32_t)cpu->r[31]);
|
|
/* 02852234 */ cpu->r[6] = cpu->r[26] + cpu->r[22];
|
|
/* 02852238 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[6] / (int32_t)cpu->r[31]);
|
|
/* 0285223C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[31]);
|
|
/* 02852240 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[31]);
|
|
/* 02852244 */ cpu->r[9] = cpu->r[6] - cpu->r[5];
|
|
/* 02852248 */ cpu->r[8] = cpu->r[30] + cpu->r[22];
|
|
/* 0285224C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[8] / (int32_t)cpu->r[31]);
|
|
/* 02852250 */ cpu->r[6] = cpu->r[30] - cpu->r[7];
|
|
/* 02852254 */ cpu->r[5] = rbrew_rlwinm(cpu->r[23], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02852258 */ cpu->r[6] = cpu->r[10] + cpu->r[6];
|
|
/* 0285225C */ cpu->r[7] = cpu->r[29] + cpu->r[5];
|
|
/* 02852260 */ _t98 = cpu->r[7] + 0x00000004u;
|
|
/* 02852260 */ rbrew_write16(cpu->mem, _t98, (uint16_t)cpu->r[6]);
|
|
/* 02852264 */ cpu->r[4] = cpu->r[12] + cpu->r[9];
|
|
/* 02852268 */ _t99 = cpu->r[7] + 0x00000002u;
|
|
/* 02852268 */ rbrew_write16(cpu->mem, _t99, (uint16_t)cpu->r[4]);
|
|
/* 0285226C */ _t100 = cpu->r[7] + 0x00000000u;
|
|
/* 0285226C */ rbrew_write16(cpu->mem, _t100, (uint16_t)cpu->r[24]);
|
|
/* 02852270 */ cpu->r[23] = cpu->r[23] + 0x00000006u;
|
|
/* 02852274 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02852278 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[31]);
|
|
/* 0285227C */ _t101 = cpu->r[7] + 0x00000006u;
|
|
/* 0285227C */ rbrew_write16(cpu->mem, _t101, (uint16_t)cpu->r[4]);
|
|
/* 02852280 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02852284 */ cpu->r[9] = cpu->r[8] - cpu->r[11];
|
|
/* 02852288 */ _t102 = cpu->r[7] + 0x0000000Au;
|
|
/* 02852288 */ rbrew_write16(cpu->mem, _t102, (uint16_t)cpu->r[6]);
|
|
/* 0285228C */ cpu->r[4] = cpu->r[12] + cpu->r[9];
|
|
/* 02852290 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02852294 */ _t103 = cpu->r[7] + 0x00000008u;
|
|
/* 02852294 */ rbrew_write16(cpu->mem, _t103, (uint16_t)cpu->r[4]);
|
|
/* 02852298 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02852298 */ _t104 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02852298 */ _t105 = _t104 >> (0x00000002u & 31u);
|
|
/* 02852298 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02852298 */ if (_t106) goto L_02852230; else goto L_0285229C;
|
|
L_0285229C: ; // 0x285229c
|
|
/* 0285229C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
/* 028522A0 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 028522A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 028522A4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 028522A8 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
/* 028522AC */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028522AC */ _t108 = _t107 & 0x00000001u;
|
|
/* 028522AC */ if (_t108) goto L_028522B0; else goto L_02852200;
|
|
L_028522B0: ; // 0x28522b0
|
|
/* 028522B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028522B4 */ _t109 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028522B4 */ _t110 = _t109 & 0x00000001u;
|
|
/* 028522B4 */ if (_t110) goto L_028522B8; else goto L_02852328;
|
|
L_028522B8: ; // 0x28522b8
|
|
/* 028522B8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000003u);
|
|
/* 028522BC */ cpu->r[5] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 028522C0 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[31]);
|
|
/* 028522C4 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000006u);
|
|
/* 028522C8 */ cpu->r[7] = 0x00000001u;
|
|
/* 028522CC */ cpu->r[27] = 0x00000000u;
|
|
/* 028522D0 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[28]);
|
|
/* 028522D4 */ cpu->r[28] = cpu->r[6] + cpu->r[0];
|
|
/* 028522D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028522DC */ cpu->ctr = cpu->r[31];
|
|
/* 028522E0 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
L_028522E4: ; // 0x28522e4
|
|
/* 028522E4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[7] / (int32_t)cpu->r[31]);
|
|
/* 028522E8 */ cpu->r[4] = cpu->r[27] + cpu->r[28];
|
|
/* 028522EC */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 028522F0 */ cpu->r[10] = cpu->r[4] + 0x00000001u;
|
|
/* 028522F4 */ cpu->r[27] = cpu->r[27] + 0x00000003u;
|
|
/* 028522F8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[31]);
|
|
/* 028522FC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02852300 */ cpu->r[5] = cpu->r[4] + 0x00000002u;
|
|
/* 02852304 */ cpu->r[12] = cpu->r[7] - cpu->r[0];
|
|
/* 02852308 */ _t111 = cpu->r[9] + cpu->r[29];
|
|
/* 02852308 */ rbrew_write16(cpu->mem, _t111, (uint16_t)cpu->r[8]);
|
|
/* 0285230C */ cpu->r[0] = cpu->r[30] + cpu->r[12];
|
|
/* 02852310 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02852314 */ _t112 = cpu->r[11] + cpu->r[29];
|
|
/* 02852314 */ rbrew_write16(cpu->mem, _t112, (uint16_t)cpu->r[0]);
|
|
/* 02852318 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0285231C */ _t113 = cpu->r[6] + cpu->r[29];
|
|
/* 0285231C */ rbrew_write16(cpu->mem, _t113, (uint16_t)cpu->r[3]);
|
|
/* 02852320 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02852324 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02852324 */ _t114 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02852324 */ _t115 = _t114 >> (0x00000002u & 31u);
|
|
/* 02852324 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02852324 */ if (_t116) goto L_028522E4; else goto L_02852328;
|
|
L_02852328: ; // 0x2852328
|
|
/* 02852328 */ /* nop */
|
|
/* 0285232C */ _t117 = cpu->r[1] + 0x00000098u;
|
|
/* 0285232C */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02852330 */ _t118 = cpu->r[1] + 0x00000078u;
|
|
/* 02852330 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02852334 */ _t119 = cpu->r[1] + 0x00000090u;
|
|
/* 02852334 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t119);
|
|
/* 02852338 */ _t120 = cpu->r[1] + 0x00000068u;
|
|
/* 02852338 */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 0285233C */ _t121 = cpu->r[1] + 0x00000070u;
|
|
/* 0285233C */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t121);
|
|
/* 02852340 */ _t122 = cpu->r[1] + 0x00000060u;
|
|
/* 02852340 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t122);
|
|
/* 02852344 */ _t123 = cpu->r[1] + 0x000000B8u;
|
|
/* 02852344 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 02852348 */ _t124 = cpu->r[1] + 0x00000088u;
|
|
/* 02852348 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t124);
|
|
/* 0285234C */ _t125 = cpu->r[1] + 0x000000B0u;
|
|
/* 0285234C */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t125);
|
|
/* 02852350 */ _t126 = cpu->r[1] + 0x00000080u;
|
|
/* 02852350 */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t126);
|
|
/* 02852354 */ _t127 = cpu->r[1] + 0x000000D8u;
|
|
/* 02852354 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 02852358 */ _t128 = cpu->r[1] + 0x000000A8u;
|
|
/* 02852358 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 0285235C */ _t129 = cpu->r[1] + 0x000000D0u;
|
|
/* 0285235C */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t129);
|
|
/* 02852360 */ _t130 = cpu->r[1] + 0x000000A0u;
|
|
/* 02852360 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 02852364 */ _t131 = cpu->r[1] + 0x000000F8u;
|
|
/* 02852364 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 02852368 */ _t132 = cpu->r[1] + 0x000000E8u;
|
|
/* 02852368 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t132);
|
|
/* 0285236C */ _t133 = cpu->r[1] + 0x00000058u;
|
|
/* 0285236C */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 02852370 */ _t134 = cpu->r[1] + 0x000000E0u;
|
|
/* 02852370 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t134);
|
|
/* 02852374 */ _t135 = cpu->r[1] + 0x00000108u;
|
|
/* 02852374 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 02852378 */ _t136 = cpu->r[1] + 0x00000050u;
|
|
/* 02852378 */ cpu->f[18] = rbrew_read_f64(cpu->mem, _t136);
|
|
/* 0285237C */ _t137 = cpu->r[1] + 0x00000100u;
|
|
/* 0285237C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t137);
|
|
/* 02852380 */ _t138 = cpu->r[1] + 0x00000048u;
|
|
/* 02852380 */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 02852384 */ _t139 = cpu->r[1] + 0x00000128u;
|
|
/* 02852384 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 02852388 */ _t140 = cpu->r[1] + 0x00000040u;
|
|
/* 02852388 */ cpu->f[17] = rbrew_read_f64(cpu->mem, _t140);
|
|
/* 0285238C */ _t141 = cpu->r[1] + 0x00000120u;
|
|
/* 0285238C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t141);
|
|
/* 02852390 */ _t142 = cpu->r[1] + 0x000000F0u;
|
|
/* 02852390 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t142);
|
|
/* 02852394 */ _t143 = cpu->r[1] + 0x00000118u;
|
|
/* 02852394 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t143);
|
|
/* 02852398 */ _t144 = cpu->r[1] + 0x000000C8u;
|
|
/* 02852398 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 0285239C */ _t145 = cpu->r[1] + 0x00000110u;
|
|
/* 0285239C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t145);
|
|
/* 028523A0 */ _t146 = cpu->r[1] + 0x000000C0u;
|
|
/* 028523A0 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t146);
|
|
/* 028523A4 */ _t147 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028523A4 */ _t148 = _t147 & 0x00000001u;
|
|
/* 028523A4 */ if (_t148) goto L_028523A8; // else: addr-0 trap, fall-through
|
|
L_028523A8: ; // 0x28523a8
|
|
/* 028523A8 */ _t149 = cpu->r[1] + 0x00000134u;
|
|
/* 028523A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t149);
|
|
/* 028523AC */ cpu->lr = cpu->r[0];
|
|
/* 028523B0 */ cpu->r[1] = cpu->r[1] + 0x00000130u;
|
|
/* 028523B4 */ return;
|
|
}
|
|
|
|
// fn_028523B8 @ 0x28523b8
|
|
void Gambit_fn_028523B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_028523B8: ; // 0x28523b8
|
|
/* 028523B8 */ _t0 = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 028523B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028523B8 */ cpu->r[1] = _t0;
|
|
/* 028523BC */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 028523BC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[25]);
|
|
/* 028523C0 */ /* nop */
|
|
/* 028523C4 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 028523C4 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[26]);
|
|
/* 028523C8 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 028523C8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[25]);
|
|
/* 028523CC */ _t4 = cpu->r[1] + 0x00000048u;
|
|
/* 028523CC */ rbrew_write_f64(cpu->mem, _t4, cpu->f[27]);
|
|
/* 028523D0 */ /* nop */
|
|
/* 028523D4 */ _t5 = cpu->r[1] + 0x00000058u;
|
|
/* 028523D4 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[28]);
|
|
/* 028523D8 */ /* nop */
|
|
/* 028523DC */ _t6 = cpu->r[1] + 0x00000040u;
|
|
/* 028523DC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[26]);
|
|
/* 028523E0 */ /* nop */
|
|
/* 028523E4 */ _t7 = cpu->r[1] + 0x00000050u;
|
|
/* 028523E4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[27]);
|
|
/* 028523E8 */ _t8 = cpu->r[1] + 0x00000060u;
|
|
/* 028523E8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[28]);
|
|
/* 028523EC */ _t9 = cpu->r[1] + 0x00000068u;
|
|
/* 028523EC */ rbrew_write_f64(cpu->mem, _t9, cpu->f[29]);
|
|
/* 028523F0 */ cpu->r[0] = cpu->lr;
|
|
/* 028523F4 */ _t10 = cpu->r[1] + 0x00000078u;
|
|
/* 028523F4 */ rbrew_write_f64(cpu->mem, _t10, cpu->f[30]);
|
|
/* 028523F8 */ /* nop */
|
|
/* 028523FC */ _t11 = cpu->r[1] + 0x00000088u;
|
|
/* 028523FC */ rbrew_write_f64(cpu->mem, _t11, cpu->f[31]);
|
|
/* 02852400 */ /* nop */
|
|
/* 02852404 */ _t12 = cpu->r[1] + 0x00000070u;
|
|
/* 02852404 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[29]);
|
|
/* 02852408 */ /* nop */
|
|
/* 0285240C */ _t13 = cpu->r[1] + 0x00000080u;
|
|
/* 0285240C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[30]);
|
|
/* 02852410 */ _t14 = cpu->r[1] + 0x00000090u;
|
|
/* 02852410 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]);
|
|
/* 02852414 */ _t15 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02852414 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02852418 */ /* nop */
|
|
/* 0285241C */ cpu->r[28] = cpu->r[3];
|
|
/* 0285241C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02852420 */ cpu->r[29] = cpu->r[4];
|
|
/* 02852424 */ cpu->r[31] = cpu->r[5];
|
|
/* 02852428 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852428 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02852428 */ if (_t17) goto L_02852518; else goto L_0285242C;
|
|
L_0285242C: ; // 0x285242c
|
|
/* 0285242C */ cpu->r[9] = 0x10130000u;
|
|
/* 02852430 */ cpu->r[6] = 0x10130000u;
|
|
/* 02852434 */ cpu->r[30] = cpu->r[31];
|
|
/* 02852434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02852438 */ _t18 = cpu->r[9] + 0x00000540u;
|
|
/* 02852438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0285243C */ cpu->r[27] = 0x00000000u;
|
|
/* 02852440 */ _t19 = cpu->r[6] + 0x0000053Cu;
|
|
/* 02852440 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02852444 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02852444 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02852444 */ if (_t21) goto L_02852448; else goto L_028524F8;
|
|
L_02852448: ; // 0x2852448
|
|
/* 02852448 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285244C */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 02852450 */ _t22 = cpu->r[12] + 0x00000578u;
|
|
/* 02852450 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 02852454 */ cpu->r[12] = 0x43300000u;
|
|
/* 02852458 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02852458 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 0285245C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0285245C */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 02852460 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02852460 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 02852464 */ cpu->r[12] = 0x10130000u;
|
|
/* 02852468 */ cpu->f[26] = cpu->f[29];
|
|
/* 0285246C */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 02852470 */ _t26 = cpu->r[12] + 0x00000544u;
|
|
/* 02852470 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02852474 */ cpu->f[25] = cpu->f[31];
|
|
/* 02852478 */ cpu->f[28] = (double)(float)cpu->f[12];
|
|
/* 0285247C */ cpu->r[26] = cpu->r[28] + 0xFFFFFFDCu;
|
|
L_02852480: ; // 0x2852480
|
|
/* 02852480 */ cpu->r[10] = 0x10130000u;
|
|
/* 02852484 */ cpu->r[0] = cpu->r[27] ^ 0x80000000u;
|
|
/* 02852488 */ _t27 = cpu->r[10] + 0x00000578u;
|
|
/* 02852488 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 0285248C */ cpu->r[7] = 0x43300000u;
|
|
/* 02852490 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02852490 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02852494 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02852494 */ rbrew_write32(cpu->mem, _t29, cpu->r[7]);
|
|
/* 02852498 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02852498 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 0285249C */ cpu->f[9] = cpu->f[7] - cpu->f[10];
|
|
/* 028524A0 */ cpu->r[9] = 0x10130000u;
|
|
/* 028524A4 */ cpu->f[13] = (double)(float)cpu->f[9];
|
|
/* 028524A8 */ _t31 = cpu->r[9] + 0x00000580u;
|
|
/* 028524A8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 028524AC */ cpu->f[11] = cpu->f[8] * cpu->f[13];
|
|
/* 028524B0 */ cpu->f[27] = cpu->f[11] / cpu->f[28];
|
|
/* 028524B4 */ cpu->f[1] = cpu->f[27];
|
|
/* 028524B8 */ Gambit_fn_02C88F2C(cpu);
|
|
/* 028524BC */ cpu->f[13] = cpu->f[1] * cpu->f[26];
|
|
/* 028524C0 */ cpu->f[1] = cpu->f[27];
|
|
/* 028524C4 */ _t32 = cpu->r[26] + 0x00000024u;
|
|
/* 028524C4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[13]);
|
|
/* 028524C4 */ cpu->r[26] = _t32;
|
|
/* 028524C8 */ Gambit_fn_02C886F8(cpu);
|
|
/* 028524CC */ _t33 = cpu->r[26] + 0x00000000u;
|
|
/* 028524CC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 028524D0 */ cpu->f[8] = cpu->f[1] * cpu->f[26];
|
|
/* 028524D4 */ _t34 = cpu->r[26] + 0x0000000Cu;
|
|
/* 028524D4 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[9]);
|
|
/* 028524D8 */ _t35 = cpu->r[26] + 0x00000014u;
|
|
/* 028524D8 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[30]);
|
|
/* 028524DC */ cpu->f[10] = cpu->f[30] - cpu->f[8];
|
|
/* 028524E0 */ _t36 = cpu->r[26] + 0x00000004u;
|
|
/* 028524E0 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[8]);
|
|
/* 028524E4 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 028524E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028524E8 */ _t37 = cpu->r[26] + 0x00000008u;
|
|
/* 028524E8 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[25]);
|
|
/* 028524EC */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 028524F0 */ _t38 = cpu->r[26] + 0x00000010u;
|
|
/* 028524F0 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[10]);
|
|
/* 028524F4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028524F4 */ _t40 = _t39 & 0x00000001u;
|
|
/* 028524F4 */ if (_t40) goto L_028524F8; else goto L_02852480;
|
|
L_028524F8: ; // 0x28524f8
|
|
/* 028524F8 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000024u);
|
|
/* 028524FC */ cpu->r[10] = cpu->r[28] + cpu->r[7];
|
|
/* 02852500 */ _t41 = cpu->r[10] + 0x00000000u;
|
|
/* 02852500 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[31]);
|
|
/* 02852504 */ _t42 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02852504 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[29]);
|
|
/* 02852508 */ _t43 = cpu->r[10] + 0x00000004u;
|
|
/* 02852508 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[31]);
|
|
/* 0285250C */ _t44 = cpu->r[10] + 0x00000008u;
|
|
/* 0285250C */ rbrew_write_f32(cpu->mem, _t44, cpu->f[31]);
|
|
/* 02852510 */ _t45 = cpu->r[10] + 0x00000014u;
|
|
/* 02852510 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[31]);
|
|
/* 02852514 */ _t46 = cpu->r[10] + 0x00000010u;
|
|
/* 02852514 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[29]);
|
|
L_02852518: ; // 0x2852518
|
|
/* 02852518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285251C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285251C */ _t48 = _t47 & 0x00000001u;
|
|
/* 0285251C */ if (_t48) goto L_0285255C; else goto L_02852520;
|
|
L_02852520: ; // 0x2852520
|
|
/* 02852520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02852524 */ cpu->r[6] = 0x00000000u;
|
|
/* 02852528 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02852528 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02852528 */ if (_t50) goto L_0285252C; else goto L_0285255C;
|
|
L_0285252C: ; // 0x285252c
|
|
/* 0285252C */ cpu->ctr = cpu->r[31];
|
|
/* 02852530 */ cpu->r[10] = 0x00000001u;
|
|
/* 02852534 */ cpu->r[11] = cpu->r[29] + 0xFFFFFFFAu;
|
|
L_02852538: ; // 0x2852538
|
|
/* 02852538 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] / (int32_t)cpu->r[31]);
|
|
/* 0285253C */ _t51 = cpu->r[11] + 0x00000006u;
|
|
/* 0285253C */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[6]);
|
|
/* 0285253C */ cpu->r[11] = _t51;
|
|
/* 02852540 */ _t52 = cpu->r[11] + 0x00000004u;
|
|
/* 02852540 */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[31]);
|
|
/* 02852544 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[31]);
|
|
/* 02852548 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0285254C */ cpu->r[8] = cpu->r[10] - cpu->r[0];
|
|
/* 02852550 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02852554 */ _t53 = cpu->r[11] + 0x00000002u;
|
|
/* 02852554 */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[8]);
|
|
/* 02852558 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02852558 */ _t54 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02852558 */ _t55 = _t54 >> (0x00000002u & 31u);
|
|
/* 02852558 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02852558 */ if (_t56) goto L_02852538; else goto L_0285255C;
|
|
L_0285255C: ; // 0x285255c
|
|
/* 0285255C */ /* nop */
|
|
/* 02852560 */ _t57 = cpu->r[1] + 0x00000080u;
|
|
/* 02852560 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02852564 */ _t58 = cpu->r[1] + 0x00000060u;
|
|
/* 02852564 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02852568 */ _t59 = cpu->r[1] + 0x00000078u;
|
|
/* 02852568 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t59);
|
|
/* 0285256C */ _t60 = cpu->r[1] + 0x00000050u;
|
|
/* 0285256C */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02852570 */ _t61 = cpu->r[1] + 0x00000058u;
|
|
/* 02852570 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 02852574 */ _t62 = cpu->r[1] + 0x00000048u;
|
|
/* 02852574 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t62);
|
|
/* 02852578 */ _t63 = cpu->r[1] + 0x00000040u;
|
|
/* 02852578 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0285257C */ _t64 = cpu->r[1] + 0x00000070u;
|
|
/* 0285257C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 02852580 */ _t65 = cpu->r[1] + 0x00000038u;
|
|
/* 02852580 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 02852584 */ _t66 = cpu->r[1] + 0x00000068u;
|
|
/* 02852584 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t66);
|
|
/* 02852588 */ _t67 = cpu->r[1] + 0x00000030u;
|
|
/* 02852588 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 0285258C */ _t68 = cpu->r[1] + 0x00000090u;
|
|
/* 0285258C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02852590 */ _t69 = cpu->r[1] + 0x00000028u;
|
|
/* 02852590 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 02852594 */ _t70 = cpu->r[1] + 0x00000088u;
|
|
/* 02852594 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t70);
|
|
/* 02852598 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02852598 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02852598 */ if (_t72) goto L_0285259C; // else: addr-0 trap, fall-through
|
|
L_0285259C: ; // 0x285259c
|
|
/* 0285259C */ _t73 = cpu->r[1] + 0x0000009Cu;
|
|
/* 0285259C */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 028525A0 */ cpu->lr = cpu->r[0];
|
|
/* 028525A4 */ cpu->r[1] = cpu->r[1] + 0x00000098u;
|
|
/* 028525A8 */ return;
|
|
}
|
|
|
|
// fn_028525AC @ 0x28525ac
|
|
void Gambit_fn_028525AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_028525AC: ; // 0x28525ac
|
|
/* 028525AC */ cpu->r[0] = cpu->lr;
|
|
/* 028525B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028525B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028525B0 */ cpu->r[1] = _t0;
|
|
/* 028525B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028525B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028525B8 */ cpu->r[31] = cpu->r[4];
|
|
/* 028525BC */ cpu->r[12] = 0x101F0000u;
|
|
/* 028525C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028525C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028525C4 */ _t3 = cpu->r[12] + 0x00006F20u;
|
|
/* 028525C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028525C4 */ cpu->r[12] = _t3;
|
|
/* 028525C8 */ cpu->r[4] = 0x101F0000u;
|
|
/* 028525CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028525D0 */ cpu->r[4] = cpu->r[4] + 0x00006ED0u;
|
|
/* 028525D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028525D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028525D4 */ if (_t5) goto L_028525D8; else goto L_02852648;
|
|
L_028525D8: ; // 0x28525d8
|
|
/* 028525D8 */ cpu->r[9] = 0x10130000u;
|
|
/* 028525DC */ cpu->r[7] = 0x10130000u;
|
|
/* 028525E0 */ _t6 = cpu->r[9] + 0x00000544u;
|
|
/* 028525E0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 028525E4 */ cpu->r[11] = 0x10130000u;
|
|
/* 028525E8 */ _t7 = cpu->r[7] + 0x00000540u;
|
|
/* 028525E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 028525EC */ _t8 = cpu->r[11] + 0x0000053Cu;
|
|
/* 028525EC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 028525F0 */ _t9 = cpu->r[4] + 0x00000008u;
|
|
/* 028525F0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 028525F4 */ _t10 = cpu->r[4] + 0x00000010u;
|
|
/* 028525F4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[11]);
|
|
/* 028525F8 */ _t11 = cpu->r[4] + 0x00000024u;
|
|
/* 028525F8 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[11]);
|
|
/* 028525FC */ _t12 = cpu->r[4] + 0x00000034u;
|
|
/* 028525FC */ rbrew_write_f32(cpu->mem, _t12, cpu->f[11]);
|
|
/* 02852600 */ _t13 = cpu->r[4] + 0x00000028u;
|
|
/* 02852600 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02852604 */ _t14 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02852604 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02852608 */ _t15 = cpu->r[4] + 0x00000004u;
|
|
/* 02852608 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 0285260C */ cpu->r[0] = 0x00000001u;
|
|
/* 02852610 */ _t16 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02852610 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02852614 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 02852614 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02852618 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285261C */ _t18 = cpu->r[4] + 0x00000014u;
|
|
/* 0285261C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02852620 */ _t19 = cpu->r[4] + 0x00000030u;
|
|
/* 02852620 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[12]);
|
|
/* 02852624 */ _t20 = cpu->r[4] + 0x00000040u;
|
|
/* 02852624 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02852628 */ _t21 = cpu->r[10] + 0x00000538u;
|
|
/* 02852628 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0285262C */ _t22 = cpu->r[4] + 0x0000003Cu;
|
|
/* 0285262C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 02852630 */ _t23 = cpu->r[4] + 0x00000018u;
|
|
/* 02852630 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 02852634 */ _t24 = cpu->r[4] + 0x00000044u;
|
|
/* 02852634 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02852638 */ _t25 = cpu->r[4] + 0x00000000u;
|
|
/* 02852638 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 0285263C */ _t26 = cpu->r[4] + 0x0000002Cu;
|
|
/* 0285263C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 02852640 */ _t27 = cpu->r[4] + 0x00000020u;
|
|
/* 02852640 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02852644 */ _t28 = cpu->r[4] + 0x00000038u;
|
|
/* 02852644 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
L_02852648: ; // 0x2852648
|
|
/* 02852648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285264C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285264C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0285264C */ if (_t30) goto L_0285265C; else goto L_02852650;
|
|
L_02852650: ; // 0x2852650
|
|
/* 02852650 */ cpu->r[6] = 0x00000000u;
|
|
/* 02852654 */ cpu->r[5] = 0x00000048u;
|
|
/* 02852658 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_0285265C: ; // 0x285265c
|
|
/* 0285265C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02852660 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852660 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02852660 */ if (_t32) goto L_0285267C; else goto L_02852664;
|
|
L_02852664: ; // 0x2852664
|
|
/* 02852664 */ cpu->r[4] = 0x10130000u;
|
|
/* 02852668 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285266C */ cpu->r[5] = 0x00000004u;
|
|
/* 02852670 */ cpu->r[4] = cpu->r[4] + 0x000004E0u;
|
|
/* 02852674 */ cpu->r[6] = 0x00000000u;
|
|
/* 02852678 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_0285267C: ; // 0x285267c
|
|
/* 0285267C */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0285267C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02852680 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02852680 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02852684 */ cpu->lr = cpu->r[0];
|
|
/* 02852688 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285268C */ return;
|
|
}
|
|
|
|
// fn_028525B0 @ 0x28525b0
|
|
void Gambit_fn_028525B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34;
|
|
|
|
L_028525B0: ; // 0x28525b0
|
|
/* 028525B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028525B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028525B0 */ cpu->r[1] = _t0;
|
|
/* 028525B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028525B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028525B8 */ cpu->r[31] = cpu->r[4];
|
|
/* 028525BC */ cpu->r[12] = 0x101F0000u;
|
|
/* 028525C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028525C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028525C4 */ _t3 = cpu->r[12] + 0x00006F20u;
|
|
/* 028525C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028525C4 */ cpu->r[12] = _t3;
|
|
/* 028525C8 */ cpu->r[4] = 0x101F0000u;
|
|
/* 028525CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028525D0 */ cpu->r[4] = cpu->r[4] + 0x00006ED0u;
|
|
/* 028525D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028525D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028525D4 */ if (_t5) goto L_028525D8; else goto L_02852648;
|
|
L_028525D8: ; // 0x28525d8
|
|
/* 028525D8 */ cpu->r[9] = 0x10130000u;
|
|
/* 028525DC */ cpu->r[7] = 0x10130000u;
|
|
/* 028525E0 */ _t6 = cpu->r[9] + 0x00000544u;
|
|
/* 028525E0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 028525E4 */ cpu->r[11] = 0x10130000u;
|
|
/* 028525E8 */ _t7 = cpu->r[7] + 0x00000540u;
|
|
/* 028525E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 028525EC */ _t8 = cpu->r[11] + 0x0000053Cu;
|
|
/* 028525EC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 028525F0 */ _t9 = cpu->r[4] + 0x00000008u;
|
|
/* 028525F0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 028525F4 */ _t10 = cpu->r[4] + 0x00000010u;
|
|
/* 028525F4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[11]);
|
|
/* 028525F8 */ _t11 = cpu->r[4] + 0x00000024u;
|
|
/* 028525F8 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[11]);
|
|
/* 028525FC */ _t12 = cpu->r[4] + 0x00000034u;
|
|
/* 028525FC */ rbrew_write_f32(cpu->mem, _t12, cpu->f[11]);
|
|
/* 02852600 */ _t13 = cpu->r[4] + 0x00000028u;
|
|
/* 02852600 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02852604 */ _t14 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02852604 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02852608 */ _t15 = cpu->r[4] + 0x00000004u;
|
|
/* 02852608 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 0285260C */ cpu->r[0] = 0x00000001u;
|
|
/* 02852610 */ _t16 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02852610 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02852614 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 02852614 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02852618 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285261C */ _t18 = cpu->r[4] + 0x00000014u;
|
|
/* 0285261C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02852620 */ _t19 = cpu->r[4] + 0x00000030u;
|
|
/* 02852620 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[12]);
|
|
/* 02852624 */ _t20 = cpu->r[4] + 0x00000040u;
|
|
/* 02852624 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02852628 */ _t21 = cpu->r[10] + 0x00000538u;
|
|
/* 02852628 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0285262C */ _t22 = cpu->r[4] + 0x0000003Cu;
|
|
/* 0285262C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 02852630 */ _t23 = cpu->r[4] + 0x00000018u;
|
|
/* 02852630 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 02852634 */ _t24 = cpu->r[4] + 0x00000044u;
|
|
/* 02852634 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 02852638 */ _t25 = cpu->r[4] + 0x00000000u;
|
|
/* 02852638 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 0285263C */ _t26 = cpu->r[4] + 0x0000002Cu;
|
|
/* 0285263C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 02852640 */ _t27 = cpu->r[4] + 0x00000020u;
|
|
/* 02852640 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02852644 */ _t28 = cpu->r[4] + 0x00000038u;
|
|
/* 02852644 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
L_02852648: ; // 0x2852648
|
|
/* 02852648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285264C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285264C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0285264C */ if (_t30) goto L_0285265C; else goto L_02852650;
|
|
L_02852650: ; // 0x2852650
|
|
/* 02852650 */ cpu->r[6] = 0x00000000u;
|
|
/* 02852654 */ cpu->r[5] = 0x00000048u;
|
|
/* 02852658 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_0285265C: ; // 0x285265c
|
|
/* 0285265C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02852660 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852660 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02852660 */ if (_t32) goto L_0285267C; else goto L_02852664;
|
|
L_02852664: ; // 0x2852664
|
|
/* 02852664 */ cpu->r[4] = 0x10130000u;
|
|
/* 02852668 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285266C */ cpu->r[5] = 0x00000004u;
|
|
/* 02852670 */ cpu->r[4] = cpu->r[4] + 0x000004E0u;
|
|
/* 02852674 */ cpu->r[6] = 0x00000000u;
|
|
/* 02852678 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_0285267C: ; // 0x285267c
|
|
/* 0285267C */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0285267C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02852680 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02852680 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02852684 */ cpu->lr = cpu->r[0];
|
|
/* 02852688 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285268C */ return;
|
|
}
|
|
|
|
// fn_02852690 @ 0x2852690
|
|
void Gambit_fn_02852690(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02852690: ; // 0x2852690
|
|
/* 02852690 */ _t0 = cpu->r[1] + 0xFFFFFF28u;
|
|
/* 02852690 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02852690 */ cpu->r[1] = _t0;
|
|
/* 02852694 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 02852694 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[22]);
|
|
/* 02852698 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 02852698 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[23]);
|
|
/* 0285269C */ _t3 = cpu->r[1] + 0x00000058u;
|
|
/* 0285269C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[24]);
|
|
/* 028526A0 */ /* nop */
|
|
/* 028526A4 */ _t4 = cpu->r[1] + 0x00000068u;
|
|
/* 028526A4 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[25]);
|
|
/* 028526A8 */ /* nop */
|
|
/* 028526AC */ _t5 = cpu->r[1] + 0x00000078u;
|
|
/* 028526AC */ rbrew_write_f64(cpu->mem, _t5, cpu->f[26]);
|
|
/* 028526B0 */ /* nop */
|
|
/* 028526B4 */ _t6 = cpu->r[1] + 0x00000088u;
|
|
/* 028526B4 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[27]);
|
|
/* 028526B8 */ /* nop */
|
|
/* 028526BC */ _t7 = cpu->r[1] + 0x00000098u;
|
|
/* 028526BC */ rbrew_write_f64(cpu->mem, _t7, cpu->f[28]);
|
|
/* 028526C0 */ /* nop */
|
|
/* 028526C4 */ _t8 = cpu->r[1] + 0x000000A8u;
|
|
/* 028526C4 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[29]);
|
|
/* 028526C8 */ /* nop */
|
|
/* 028526CC */ _t9 = cpu->r[1] + 0x000000B8u;
|
|
/* 028526CC */ rbrew_write_f64(cpu->mem, _t9, cpu->f[30]);
|
|
/* 028526D0 */ /* nop */
|
|
/* 028526D4 */ _t10 = cpu->r[1] + 0x000000C8u;
|
|
/* 028526D4 */ rbrew_write_f64(cpu->mem, _t10, cpu->f[31]);
|
|
/* 028526D8 */ /* nop */
|
|
/* 028526DC */ _t11 = cpu->r[1] + 0x00000040u;
|
|
/* 028526DC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[22]);
|
|
/* 028526E0 */ _t12 = cpu->r[1] + 0x00000050u;
|
|
/* 028526E0 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[23]);
|
|
/* 028526E4 */ _t13 = cpu->r[1] + 0x00000060u;
|
|
/* 028526E4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[24]);
|
|
/* 028526E8 */ /* nop */
|
|
/* 028526EC */ _t14 = cpu->r[1] + 0x00000070u;
|
|
/* 028526EC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[25]);
|
|
/* 028526F0 */ _t15 = cpu->r[1] + 0x00000080u;
|
|
/* 028526F0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[26]);
|
|
/* 028526F4 */ _t16 = cpu->r[1] + 0x00000090u;
|
|
/* 028526F4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[27]);
|
|
/* 028526F8 */ /* nop */
|
|
/* 028526FC */ _t17 = cpu->r[1] + 0x000000A0u;
|
|
/* 028526FC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[28]);
|
|
/* 02852700 */ _t18 = cpu->r[1] + 0x000000B0u;
|
|
/* 02852700 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[29]);
|
|
/* 02852704 */ _t19 = cpu->r[1] + 0x000000C0u;
|
|
/* 02852704 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[30]);
|
|
/* 02852708 */ cpu->r[0] = cpu->lr;
|
|
/* 0285270C */ _t20 = cpu->r[1] + 0x000000D0u;
|
|
/* 0285270C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[31]);
|
|
/* 02852710 */ _t21 = cpu->r[1] + 0x000000DCu;
|
|
/* 02852710 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02852714 */ /* nop */
|
|
/* 02852718 */ cpu->r[24] = cpu->r[3];
|
|
/* 02852718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0285271C */ cpu->r[28] = cpu->r[4];
|
|
/* 02852720 */ cpu->r[31] = cpu->r[5];
|
|
/* 02852724 */ cpu->r[27] = cpu->r[31] + 0x00000001u;
|
|
/* 02852728 */ cpu->r[26] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000003u);
|
|
/* 0285272C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285272C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0285272C */ if (_t23) goto L_028528A0; else goto L_02852730;
|
|
L_02852730: ; // 0x2852730
|
|
/* 02852730 */ cpu->r[5] = 0x10130000u;
|
|
/* 02852734 */ cpu->r[12] = 0x10130000u;
|
|
/* 02852738 */ _t24 = cpu->r[5] + 0x00000540u;
|
|
/* 02852738 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0285273C */ cpu->r[7] = 0x10130000u;
|
|
/* 02852740 */ _t25 = cpu->r[12] + 0x00000544u;
|
|
/* 02852740 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02852744 */ cpu->r[11] = 0x10130000u;
|
|
/* 02852748 */ cpu->r[25] = cpu->r[31];
|
|
/* 02852748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0285274C */ _t26 = cpu->r[7] + 0x00000538u;
|
|
/* 0285274C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02852750 */ cpu->r[23] = 0x00000000u;
|
|
/* 02852754 */ _t27 = cpu->r[11] + 0x0000053Cu;
|
|
/* 02852754 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02852758 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02852758 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02852758 */ if (_t29) goto L_0285275C; else goto L_0285285C;
|
|
L_0285275C: ; // 0x285275c
|
|
/* 0285275C */ cpu->r[0] = cpu->r[31] ^ 0x80000000u;
|
|
/* 02852760 */ cpu->r[10] = 0x43300000u;
|
|
/* 02852764 */ cpu->r[4] = 0x10130000u;
|
|
/* 02852768 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02852768 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 0285276C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)0x00000024u);
|
|
/* 02852770 */ _t31 = cpu->r[4] + 0x00000578u;
|
|
/* 02852770 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 02852774 */ cpu->f[25] = cpu->f[31];
|
|
/* 02852778 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02852778 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 0285277C */ cpu->f[26] = cpu->f[30];
|
|
/* 02852780 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02852780 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 02852784 */ cpu->f[24] = cpu->f[29];
|
|
/* 02852788 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 0285278C */ cpu->r[30] = cpu->r[24] + cpu->r[9];
|
|
/* 02852790 */ cpu->f[27] = cpu->f[28];
|
|
/* 02852794 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFDCu;
|
|
/* 02852798 */ cpu->f[23] = (double)(float)cpu->f[0];
|
|
/* 0285279C */ cpu->r[29] = cpu->r[24] + 0xFFFFFFDCu;
|
|
L_028527A0: ; // 0x28527a0
|
|
/* 028527A0 */ cpu->r[11] = 0x10130000u;
|
|
/* 028527A4 */ cpu->r[0] = cpu->r[23] ^ 0x80000000u;
|
|
/* 028527A8 */ _t34 = cpu->r[11] + 0x00000578u;
|
|
/* 028527A8 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t34);
|
|
/* 028527AC */ cpu->r[12] = 0x43300000u;
|
|
/* 028527B0 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028527B0 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 028527B4 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 028527B4 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 028527B8 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 028527B8 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 028527BC */ cpu->f[9] = cpu->f[8] - cpu->f[10];
|
|
/* 028527C0 */ cpu->r[10] = 0x10130000u;
|
|
/* 028527C4 */ cpu->f[6] = (double)(float)cpu->f[9];
|
|
/* 028527C8 */ _t38 = cpu->r[10] + 0x00000580u;
|
|
/* 028527C8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 028527CC */ cpu->f[10] = cpu->f[8] * cpu->f[6];
|
|
/* 028527D0 */ cpu->f[22] = cpu->f[10] / cpu->f[23];
|
|
/* 028527D4 */ cpu->f[1] = cpu->f[22];
|
|
/* 028527D8 */ Gambit_fn_02C88F2C(cpu);
|
|
/* 028527DC */ cpu->f[12] = cpu->f[1] * cpu->f[24];
|
|
/* 028527E0 */ cpu->f[1] = cpu->f[22];
|
|
/* 028527E4 */ _t39 = cpu->r[29] + 0x00000024u;
|
|
/* 028527E4 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 028527E4 */ cpu->r[29] = _t39;
|
|
/* 028527E8 */ Gambit_fn_02C886F8(cpu);
|
|
/* 028527EC */ cpu->f[13] = cpu->f[1] * cpu->f[24];
|
|
/* 028527F0 */ _t40 = cpu->r[29] + 0x00000000u;
|
|
/* 028527F0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 028527F4 */ cpu->f[11] = -cpu->f[13];
|
|
/* 028527F8 */ _t41 = cpu->r[29] + 0x0000000Cu;
|
|
/* 028527F8 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[12]);
|
|
/* 028527FC */ cpu->f[1] = cpu->f[22];
|
|
/* 02852800 */ _t42 = cpu->r[29] + 0x00000014u;
|
|
/* 02852800 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[27]);
|
|
/* 02852804 */ cpu->f[13] = cpu->f[25] - cpu->f[11];
|
|
/* 02852808 */ _t43 = cpu->r[29] + 0x00000008u;
|
|
/* 02852808 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[11]);
|
|
/* 0285280C */ _t44 = cpu->r[29] + 0x00000004u;
|
|
/* 0285280C */ rbrew_write_f32(cpu->mem, _t44, cpu->f[24]);
|
|
/* 02852810 */ _t45 = cpu->r[29] + 0x00000010u;
|
|
/* 02852810 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[13]);
|
|
/* 02852814 */ Gambit_fn_02C88F2C(cpu);
|
|
/* 02852818 */ cpu->f[0] = cpu->f[1] * cpu->f[24];
|
|
/* 0285281C */ cpu->f[1] = cpu->f[22];
|
|
/* 02852820 */ _t46 = cpu->r[30] + 0x00000024u;
|
|
/* 02852820 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
/* 02852820 */ cpu->r[30] = _t46;
|
|
/* 02852824 */ Gambit_fn_02C886F8(cpu);
|
|
/* 02852828 */ cpu->f[6] = cpu->f[1] * cpu->f[24];
|
|
/* 0285282C */ cpu->f[7] = -cpu->f[6];
|
|
/* 02852830 */ _t47 = cpu->r[30] + 0x00000008u;
|
|
/* 02852830 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[7]);
|
|
/* 02852834 */ _t48 = cpu->r[30] + 0x00000004u;
|
|
/* 02852834 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[26]);
|
|
/* 02852838 */ _t49 = cpu->r[29] + 0x00000000u;
|
|
/* 02852838 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 0285283C */ _t50 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285283C */ rbrew_write_f32(cpu->mem, _t50, cpu->f[9]);
|
|
/* 02852840 */ _t51 = cpu->r[29] + 0x00000008u;
|
|
/* 02852840 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02852844 */ cpu->f[11] = cpu->f[25] - cpu->f[12];
|
|
/* 02852848 */ _t52 = cpu->r[30] + 0x00000014u;
|
|
/* 02852848 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[25]);
|
|
/* 0285284C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 0285284C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02852850 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02852854 */ _t53 = cpu->r[30] + 0x00000010u;
|
|
/* 02852854 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[11]);
|
|
/* 02852858 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852858 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02852858 */ if (_t55) goto L_0285285C; else goto L_028527A0;
|
|
L_0285285C: ; // 0x285285c
|
|
/* 0285285C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000024u);
|
|
/* 02852860 */ cpu->r[0] = cpu->r[31] + cpu->r[27];
|
|
/* 02852864 */ cpu->r[6] = cpu->r[24] + cpu->r[12];
|
|
/* 02852868 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000024u);
|
|
/* 0285286C */ _t56 = cpu->r[6] + 0x00000000u;
|
|
/* 0285286C */ rbrew_write_f32(cpu->mem, _t56, cpu->f[28]);
|
|
/* 02852870 */ _t57 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02852870 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[29]);
|
|
/* 02852874 */ _t58 = cpu->r[6] + 0x00000010u;
|
|
/* 02852874 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[29]);
|
|
/* 02852878 */ cpu->r[12] = cpu->r[24] + cpu->r[0];
|
|
/* 0285287C */ _t59 = cpu->r[6] + 0x00000004u;
|
|
/* 0285287C */ rbrew_write_f32(cpu->mem, _t59, cpu->f[29]);
|
|
/* 02852880 */ _t60 = cpu->r[6] + 0x00000014u;
|
|
/* 02852880 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[28]);
|
|
/* 02852884 */ _t61 = cpu->r[6] + 0x00000008u;
|
|
/* 02852884 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[28]);
|
|
/* 02852888 */ _t62 = cpu->r[12] + 0x00000004u;
|
|
/* 02852888 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[30]);
|
|
/* 0285288C */ _t63 = cpu->r[12] + 0x00000008u;
|
|
/* 0285288C */ rbrew_write_f32(cpu->mem, _t63, cpu->f[28]);
|
|
/* 02852890 */ _t64 = cpu->r[12] + 0x00000000u;
|
|
/* 02852890 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[28]);
|
|
/* 02852894 */ _t65 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02852894 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[29]);
|
|
/* 02852898 */ _t66 = cpu->r[12] + 0x00000010u;
|
|
/* 02852898 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[29]);
|
|
/* 0285289C */ _t67 = cpu->r[12] + 0x00000014u;
|
|
/* 0285289C */ rbrew_write_f32(cpu->mem, _t67, cpu->f[31]);
|
|
L_028528A0: ; // 0x28528a0
|
|
/* 028528A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 028528A4 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028528A4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 028528A4 */ if (_t69) goto L_0285296C; else goto L_028528A8;
|
|
L_028528A8: ; // 0x28528a8
|
|
/* 028528A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028528AC */ cpu->r[5] = 0x00000000u;
|
|
/* 028528B0 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028528B0 */ _t71 = _t70 & 0x00000001u;
|
|
/* 028528B0 */ if (_t71) goto L_028528B4; else goto L_0285290C;
|
|
L_028528B4: ; // 0x28528b4
|
|
/* 028528B4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 028528B8 */ cpu->ctr = cpu->r[31];
|
|
/* 028528BC */ cpu->r[10] = cpu->r[28] + cpu->r[6];
|
|
/* 028528C0 */ cpu->r[6] = cpu->r[28] + 0xFFFFFFFAu;
|
|
/* 028528C4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFAu;
|
|
/* 028528C8 */ cpu->r[0] = cpu->r[31] + cpu->r[27];
|
|
/* 028528CC */ cpu->r[9] = cpu->r[27];
|
|
/* 028528D0 */ cpu->r[7] = 0x00000001u;
|
|
L_028528D4: ; // 0x28528d4
|
|
/* 028528D4 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[7] / (int32_t)cpu->r[31]);
|
|
/* 028528D8 */ _t72 = cpu->r[6] + 0x00000006u;
|
|
/* 028528D8 */ rbrew_write16(cpu->mem, _t72, (uint16_t)cpu->r[5]);
|
|
/* 028528D8 */ cpu->r[6] = _t72;
|
|
/* 028528DC */ _t73 = cpu->r[6] + 0x00000004u;
|
|
/* 028528DC */ rbrew_write16(cpu->mem, _t73, (uint16_t)cpu->r[31]);
|
|
/* 028528E0 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[31]);
|
|
/* 028528E4 */ cpu->r[11] = cpu->r[7] - cpu->r[8];
|
|
/* 028528E8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 028528EC */ _t74 = cpu->r[6] + 0x00000002u;
|
|
/* 028528EC */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[11]);
|
|
/* 028528F0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 028528F4 */ _t75 = cpu->r[10] + 0x00000006u;
|
|
/* 028528F4 */ rbrew_write16(cpu->mem, _t75, (uint16_t)cpu->r[9]);
|
|
/* 028528F4 */ cpu->r[10] = _t75;
|
|
/* 028528F8 */ cpu->r[4] = cpu->r[11] + cpu->r[27];
|
|
/* 028528FC */ _t76 = cpu->r[10] + 0x00000002u;
|
|
/* 028528FC */ rbrew_write16(cpu->mem, _t76, (uint16_t)cpu->r[0]);
|
|
/* 02852900 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02852904 */ _t77 = cpu->r[10] + 0x00000004u;
|
|
/* 02852904 */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[4]);
|
|
/* 02852908 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02852908 */ _t78 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02852908 */ _t79 = _t78 >> (0x00000002u & 31u);
|
|
/* 02852908 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02852908 */ if (_t80) goto L_028528D4; else goto L_0285290C;
|
|
L_0285290C: ; // 0x285290c
|
|
/* 0285290C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02852910 */ cpu->r[9] = 0x00000000u;
|
|
/* 02852914 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02852914 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02852914 */ if (_t82) goto L_02852918; else goto L_0285296C;
|
|
L_02852918: ; // 0x2852918
|
|
/* 02852918 */ cpu->ctr = cpu->r[31];
|
|
/* 0285291C */ cpu->r[12] = rbrew_rlwinm(cpu->r[26], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02852920 */ cpu->r[5] = 0x00000001u;
|
|
/* 02852924 */ cpu->r[8] = cpu->r[27];
|
|
L_02852928: ; // 0x2852928
|
|
/* 02852928 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] / (int32_t)cpu->r[31]);
|
|
/* 0285292C */ cpu->r[6] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02852930 */ cpu->r[7] = cpu->r[28] + cpu->r[6];
|
|
/* 02852934 */ _t83 = cpu->r[7] + 0x00000008u;
|
|
/* 02852934 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[8]);
|
|
/* 02852938 */ _t84 = cpu->r[7] + 0x00000002u;
|
|
/* 02852938 */ rbrew_write16(cpu->mem, _t84, (uint16_t)cpu->r[8]);
|
|
/* 0285293C */ cpu->r[12] = cpu->r[12] + 0x00000006u;
|
|
/* 02852940 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[31]);
|
|
/* 02852944 */ _t85 = cpu->r[7] + 0x00000000u;
|
|
/* 02852944 */ rbrew_write16(cpu->mem, _t85, (uint16_t)cpu->r[9]);
|
|
/* 02852948 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0285294C */ cpu->r[10] = cpu->r[5] - cpu->r[0];
|
|
/* 02852950 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02852954 */ _t86 = cpu->r[7] + 0x00000004u;
|
|
/* 02852954 */ rbrew_write16(cpu->mem, _t86, (uint16_t)cpu->r[10]);
|
|
/* 02852958 */ cpu->r[4] = cpu->r[10] + cpu->r[27];
|
|
/* 0285295C */ _t87 = cpu->r[7] + 0x00000006u;
|
|
/* 0285295C */ rbrew_write16(cpu->mem, _t87, (uint16_t)cpu->r[10]);
|
|
/* 02852960 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02852964 */ _t88 = cpu->r[7] + 0x0000000Au;
|
|
/* 02852964 */ rbrew_write16(cpu->mem, _t88, (uint16_t)cpu->r[4]);
|
|
/* 02852968 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02852968 */ _t89 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02852968 */ _t90 = _t89 >> (0x00000002u & 31u);
|
|
/* 02852968 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02852968 */ if (_t91) goto L_02852928; else goto L_0285296C;
|
|
L_0285296C: ; // 0x285296c
|
|
/* 0285296C */ /* nop */
|
|
/* 02852970 */ _t92 = cpu->r[1] + 0x00000080u;
|
|
/* 02852970 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 02852974 */ _t93 = cpu->r[1] + 0x00000060u;
|
|
/* 02852974 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02852978 */ _t94 = cpu->r[1] + 0x00000078u;
|
|
/* 02852978 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t94);
|
|
/* 0285297C */ _t95 = cpu->r[1] + 0x00000058u;
|
|
/* 0285297C */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t95);
|
|
/* 02852980 */ _t96 = cpu->r[1] + 0x000000A0u;
|
|
/* 02852980 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 02852984 */ _t97 = cpu->r[1] + 0x00000070u;
|
|
/* 02852984 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 02852988 */ _t98 = cpu->r[1] + 0x00000098u;
|
|
/* 02852988 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t98);
|
|
/* 0285298C */ _t99 = cpu->r[1] + 0x00000068u;
|
|
/* 0285298C */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t99);
|
|
/* 02852990 */ _t100 = cpu->r[1] + 0x000000C0u;
|
|
/* 02852990 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 02852994 */ _t101 = cpu->r[1] + 0x00000090u;
|
|
/* 02852994 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02852998 */ _t102 = cpu->r[1] + 0x000000B8u;
|
|
/* 02852998 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t102);
|
|
/* 0285299C */ _t103 = cpu->r[1] + 0x00000088u;
|
|
/* 0285299C */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t103);
|
|
/* 028529A0 */ _t104 = cpu->r[1] + 0x00000050u;
|
|
/* 028529A0 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 028529A4 */ _t105 = cpu->r[1] + 0x000000B0u;
|
|
/* 028529A4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 028529A8 */ _t106 = cpu->r[1] + 0x00000048u;
|
|
/* 028529A8 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t106);
|
|
/* 028529AC */ _t107 = cpu->r[1] + 0x000000A8u;
|
|
/* 028529AC */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t107);
|
|
/* 028529B0 */ _t108 = cpu->r[1] + 0x00000040u;
|
|
/* 028529B0 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 028529B4 */ _t109 = cpu->r[1] + 0x000000D0u;
|
|
/* 028529B4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 028529B8 */ _t110 = cpu->r[1] + 0x00000038u;
|
|
/* 028529B8 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t110);
|
|
/* 028529BC */ _t111 = cpu->r[1] + 0x000000C8u;
|
|
/* 028529BC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t111);
|
|
/* 028529C0 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028529C0 */ _t113 = _t112 & 0x00000001u;
|
|
/* 028529C0 */ if (_t113) goto L_028529C4; // else: addr-0 trap, fall-through
|
|
L_028529C4: ; // 0x28529c4
|
|
/* 028529C4 */ _t114 = cpu->r[1] + 0x000000DCu;
|
|
/* 028529C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 028529C8 */ cpu->lr = cpu->r[0];
|
|
/* 028529CC */ cpu->r[1] = cpu->r[1] + 0x000000D8u;
|
|
/* 028529D0 */ return;
|
|
}
|
|
|
|
// fn_028529D4 @ 0x28529d4
|
|
void Gambit_fn_028529D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_028529D4: ; // 0x28529d4
|
|
/* 028529D4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 028529D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028529D4 */ cpu->r[1] = _t0;
|
|
/* 028529D8 */ cpu->r[0] = cpu->lr;
|
|
/* 028529DC */ /* nop */
|
|
/* 028529E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028529E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028529E4 */ cpu->r[24] = cpu->r[4];
|
|
/* 028529E8 */ cpu->r[25] = cpu->r[5];
|
|
/* 028529EC */ cpu->r[30] = cpu->r[6];
|
|
/* 028529F0 */ cpu->r[26] = cpu->r[7];
|
|
/* 028529F4 */ cpu->r[27] = cpu->r[8];
|
|
/* 028529F8 */ cpu->r[28] = cpu->r[9];
|
|
/* 028529FC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028529FC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02852A00 */ cpu->r[29] = cpu->r[10];
|
|
/* 02852A04 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852A04 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02852A04 */ if (_t3) goto L_02852A08; else goto L_02852A18;
|
|
L_02852A08: ; // 0x2852a08
|
|
/* 02852A08 */ cpu->r[3] = 0x000000ACu;
|
|
/* 02852A0C */ Gambit_fn_02801A78(cpu);
|
|
/* 02852A10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02852A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02852A14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852A14 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02852A14 */ if (_t5) goto L_02852B00; else goto L_02852A18;
|
|
L_02852A18: ; // 0x2852a18
|
|
/* 02852A18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02852A1C */ cpu->r[4] = cpu->r[24];
|
|
/* 02852A20 */ cpu->r[5] = cpu->r[25];
|
|
/* 02852A24 */ cpu->r[6] = cpu->r[27];
|
|
/* 02852A28 */ cpu->r[7] = cpu->r[28];
|
|
/* 02852A2C */ cpu->r[9] = cpu->r[29];
|
|
/* 02852A30 */ cpu->r[8] = 0x00000001u;
|
|
/* 02852A34 */ Gambit_fn_02826280(cpu);
|
|
/* 02852A38 */ cpu->r[7] = 0x10130000u;
|
|
/* 02852A3C */ cpu->r[29] = 0x00000000u;
|
|
/* 02852A40 */ cpu->r[7] = cpu->r[7] + 0x0000064Cu;
|
|
/* 02852A44 */ cpu->r[28] = cpu->r[31] + 0x00000094u;
|
|
/* 02852A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02852A48 */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02852A48 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02852A4C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852A4C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02852A4C */ if (_t8) goto L_02852A50; else goto L_02852A60;
|
|
L_02852A50: ; // 0x2852a50
|
|
/* 02852A50 */ cpu->r[3] = 0x00000018u;
|
|
/* 02852A54 */ Gambit_fn_02801A78(cpu);
|
|
/* 02852A58 */ cpu->r[28] = cpu->r[3];
|
|
/* 02852A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02852A5C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852A5C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02852A5C */ if (_t10) goto L_02852A90; else goto L_02852A60;
|
|
L_02852A60: ; // 0x2852a60
|
|
/* 02852A60 */ cpu->r[3] = cpu->r[28];
|
|
/* 02852A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02852A64 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852A64 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02852A64 */ if (_t12) goto L_02852A68; else goto L_02852A78;
|
|
L_02852A68: ; // 0x2852a68
|
|
/* 02852A68 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02852A6C */ Gambit_fn_02801A78(cpu);
|
|
/* 02852A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02852A74 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852A74 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02852A74 */ if (_t14) goto L_02852A84; else goto L_02852A78;
|
|
L_02852A78: ; // 0x2852a78
|
|
/* 02852A78 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02852A78 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 02852A7C */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 02852A7C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02852A80 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02852A80 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
L_02852A84: ; // 0x2852a84
|
|
/* 02852A84 */ _t18 = cpu->r[28] + 0x00000010u;
|
|
/* 02852A84 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 02852A88 */ _t19 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02852A88 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 02852A8C */ _t20 = cpu->r[28] + 0x00000014u;
|
|
/* 02852A8C */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
L_02852A90: ; // 0x2852a90
|
|
/* 02852A90 */ _t21 = cpu->r[31] + 0x00000090u;
|
|
/* 02852A90 */ cpu->r[8] = rbrew_read16(cpu->mem, _t21);
|
|
/* 02852A94 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02852A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02852A98 */ cpu->r[28] = 0x00000000u;
|
|
/* 02852A9C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852A9C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02852A9C */ if (_t23) goto L_02852AAC; else goto L_02852AA0;
|
|
L_02852AA0: ; // 0x2852aa0
|
|
/* 02852AA0 */ cpu->r[28] = cpu->r[31] + 0x00000054u;
|
|
/* 02852AA4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02852AA8 */ Gambit_fn_02836FFC(cpu);
|
|
L_02852AAC: ; // 0x2852aac
|
|
/* 02852AAC */ cpu->r[6] = rbrew_rlwinm(cpu->r[26], 0x0000001Cu, 0x00000004u, 0x0000001Fu);
|
|
/* 02852AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02852AB0 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02852AB0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02852AB0 */ if (_t25) goto L_02852AB4; else goto L_02852AF0;
|
|
L_02852AB4: ; // 0x2852ab4
|
|
/* 02852AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02852AB8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852AB8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02852AB8 */ if (_t27) goto L_02852AF0; else goto L_02852ABC;
|
|
L_02852ABC: ; // 0x2852abc
|
|
/* 02852ABC */ cpu->r[0] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02852ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02852AC0 */ _t28 = cpu->r[31] + 0x000000A0u;
|
|
/* 02852AC0 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02852AC4 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02852AC4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02852AC4 */ if (_t30) goto L_02852AC8; else goto L_02852ADC;
|
|
L_02852AC8: ; // 0x2852ac8
|
|
/* 02852AC8 */ cpu->ctr = cpu->r[0];
|
|
/* 02852ACC */ cpu->r[12] = cpu->r[30] + 0x00000010u;
|
|
L_02852AD0: ; // 0x2852ad0
|
|
/* 02852AD0 */ _t31 = cpu->r[12] + 0xFFFFFFF0u;
|
|
/* 02852AD0 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02852AD4 */ cpu->r[12] = cpu->r[12] + 0x00000010u;
|
|
/* 02852AD8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02852AD8 */ _t32 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02852AD8 */ _t33 = _t32 >> (0x00000002u & 31u);
|
|
/* 02852AD8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02852AD8 */ if (_t34) goto L_02852AD0; else goto L_02852ADC;
|
|
L_02852ADC: ; // 0x2852adc
|
|
/* 02852ADC */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02852AE0 */ cpu->r[11] = cpu->r[30] + cpu->r[9];
|
|
/* 02852AE4 */ _t35 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02852AE4 */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
|
|
/* 02852AE8 */ _t36 = cpu->r[31] + 0x000000A8u;
|
|
/* 02852AE8 */ rbrew_write32(cpu->mem, _t36, cpu->r[6]);
|
|
/* 02852AEC */ _t37 = cpu->r[31] + 0x000000A4u;
|
|
/* 02852AEC */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
L_02852AF0: ; // 0x2852af0
|
|
/* 02852AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02852AF4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852AF4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02852AF4 */ if (_t39) goto L_02852B00; else goto L_02852AF8;
|
|
L_02852AF8: ; // 0x2852af8
|
|
/* 02852AF8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02852AFC */ Gambit_fn_02837030(cpu);
|
|
L_02852B00: ; // 0x2852b00
|
|
/* 02852B00 */ cpu->r[3] = cpu->r[31];
|
|
/* 02852B04 */ /* nop */
|
|
/* 02852B08 */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02852B08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02852B0C */ cpu->lr = cpu->r[0];
|
|
/* 02852B10 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02852B14 */ return;
|
|
}
|
|
|
|
// fn_02852B18 @ 0x2852b18
|
|
void Gambit_fn_02852B18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02852B18: ; // 0x2852b18
|
|
/* 02852B18 */ cpu->r[0] = cpu->lr;
|
|
/* 02852B1C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02852B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02852B1C */ cpu->r[1] = _t0;
|
|
/* 02852B20 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02852B20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02852B24 */ cpu->r[30] = cpu->r[6];
|
|
/* 02852B28 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02852B28 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02852B2C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02852B2C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02852B30 */ cpu->r[10] = cpu->r[8];
|
|
/* 02852B34 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02852B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02852B38 */ cpu->r[0] = cpu->r[3];
|
|
/* 02852B3C */ cpu->r[3] = cpu->r[4];
|
|
/* 02852B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02852B40 */ cpu->r[29] = cpu->r[7];
|
|
/* 02852B44 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852B44 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02852B44 */ if (_t6) goto L_02852B64; else goto L_02852B48;
|
|
L_02852B48: ; // 0x2852b48
|
|
/* 02852B48 */ cpu->r[6] = cpu->r[4] + 0x000000ACu;
|
|
/* 02852B4C */ cpu->r[7] = cpu->r[5] + 0xFFFFFF54u;
|
|
/* 02852B50 */ cpu->r[5] = 0x00000000u;
|
|
/* 02852B54 */ cpu->r[9] = cpu->r[29];
|
|
/* 02852B58 */ cpu->r[8] = cpu->r[30];
|
|
/* 02852B5C */ cpu->r[4] = cpu->r[0];
|
|
/* 02852B60 */ Gambit_fn_028529D4(cpu);
|
|
L_02852B64: ; // 0x2852b64
|
|
/* 02852B64 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02852B68 */ _t7 = cpu->r[12] + 0xFFFF98F0u;
|
|
/* 02852B68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02852B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02852B70 */ cpu->r[31] = cpu->r[3];
|
|
/* 02852B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02852B74 */ if (_t9) goto L_02852B94; else goto L_02852B78;
|
|
L_02852B78: ; // 0x2852b78
|
|
/* 02852B78 */ _t10 = cpu->r[12] + 0x00000008u;
|
|
/* 02852B78 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02852B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02852B80 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852B80 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02852B80 */ if (_t12) goto L_02852B94; else goto L_02852B84;
|
|
L_02852B84: ; // 0x2852b84
|
|
/* 02852B84 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 02852B84 */ cpu->r[4] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02852B88 */ cpu->r[5] = cpu->r[29];
|
|
/* 02852B8C */ cpu->r[3] = cpu->r[30];
|
|
/* 02852B90 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_02852B94: ; // 0x2852b94
|
|
/* 02852B94 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02852B94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02852B98 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02852B98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02852B9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02852BA0 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02852BA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02852BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02852BA8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02852BA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02852BAC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02852BB0 */ return;
|
|
}
|
|
|
|
// fn_02852B1C @ 0x2852b1c
|
|
void Gambit_fn_02852B1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02852B1C: ; // 0x2852b1c
|
|
/* 02852B1C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02852B1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02852B1C */ cpu->r[1] = _t0;
|
|
/* 02852B20 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02852B20 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02852B24 */ cpu->r[30] = cpu->r[6];
|
|
/* 02852B28 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02852B28 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02852B2C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02852B2C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02852B30 */ cpu->r[10] = cpu->r[8];
|
|
/* 02852B34 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02852B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02852B38 */ cpu->r[0] = cpu->r[3];
|
|
/* 02852B3C */ cpu->r[3] = cpu->r[4];
|
|
/* 02852B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02852B40 */ cpu->r[29] = cpu->r[7];
|
|
/* 02852B44 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852B44 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02852B44 */ if (_t6) goto L_02852B64; else goto L_02852B48;
|
|
L_02852B48: ; // 0x2852b48
|
|
/* 02852B48 */ cpu->r[6] = cpu->r[4] + 0x000000ACu;
|
|
/* 02852B4C */ cpu->r[7] = cpu->r[5] + 0xFFFFFF54u;
|
|
/* 02852B50 */ cpu->r[5] = 0x00000000u;
|
|
/* 02852B54 */ cpu->r[9] = cpu->r[29];
|
|
/* 02852B58 */ cpu->r[8] = cpu->r[30];
|
|
/* 02852B5C */ cpu->r[4] = cpu->r[0];
|
|
/* 02852B60 */ Gambit_fn_028529D4(cpu);
|
|
L_02852B64: ; // 0x2852b64
|
|
/* 02852B64 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02852B68 */ _t7 = cpu->r[12] + 0xFFFF98F0u;
|
|
/* 02852B68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02852B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02852B70 */ cpu->r[31] = cpu->r[3];
|
|
/* 02852B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02852B74 */ if (_t9) goto L_02852B94; else goto L_02852B78;
|
|
L_02852B78: ; // 0x2852b78
|
|
/* 02852B78 */ _t10 = cpu->r[12] + 0x00000008u;
|
|
/* 02852B78 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02852B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02852B80 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852B80 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02852B80 */ if (_t12) goto L_02852B94; else goto L_02852B84;
|
|
L_02852B84: ; // 0x2852b84
|
|
/* 02852B84 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 02852B84 */ cpu->r[4] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02852B88 */ cpu->r[5] = cpu->r[29];
|
|
/* 02852B8C */ cpu->r[3] = cpu->r[30];
|
|
/* 02852B90 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_02852B94: ; // 0x2852b94
|
|
/* 02852B94 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02852B94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02852B98 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02852B98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02852B9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02852BA0 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02852BA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02852BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02852BA8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02852BA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02852BAC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02852BB0 */ return;
|
|
}
|
|
|
|
// fn_02852BB4 @ 0x2852bb4
|
|
void Gambit_fn_02852BB4(CPUState* cpu) {
|
|
L_02852BB4: ; // 0x2852bb4
|
|
/* 02852BB4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02852BB8 */ cpu->r[3] = cpu->r[12] + 0x000000ACu;
|
|
/* 02852BBC */ return;
|
|
}
|
|
|
|
// fn_02852BC0 @ 0x2852bc0
|
|
void Gambit_fn_02852BC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02852BC0: ; // 0x2852bc0
|
|
/* 02852BC0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02852BC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02852BC0 */ cpu->r[1] = _t0;
|
|
/* 02852BC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02852BC8 */ /* nop */
|
|
/* 02852BCC */ cpu->r[30] = cpu->r[3];
|
|
/* 02852BD0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02852BD4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02852BD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02852BD8 */ Gambit_fn_02826558(cpu);
|
|
/* 02852BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02852BE0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852BE0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02852BE0 */ if (_t3) goto L_02852BF4; else goto L_02852BE4;
|
|
L_02852BE4: ; // 0x2852be4
|
|
/* 02852BE4 */ _t4 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02852BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02852BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02852BEC */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02852BEC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02852BEC */ if (_t6) goto L_02852BF0; else goto L_02852BF4;
|
|
L_02852BF0: ; // 0x2852bf0
|
|
/* 02852BF0 */ cpu->r[31] = 0x00000001u;
|
|
L_02852BF4: ; // 0x2852bf4
|
|
/* 02852BF4 */ cpu->r[26] = 0x00000000u;
|
|
/* 02852BF8 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02852BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02852BFC */ cpu->r[29] = cpu->r[26];
|
|
/* 02852C00 */ cpu->r[27] = cpu->r[26];
|
|
/* 02852C04 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852C04 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02852C04 */ if (_t8) goto L_02852C64; else goto L_02852C08;
|
|
L_02852C08: ; // 0x2852c08
|
|
/* 02852C08 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02852C0C */ _t9 = cpu->r[12] + 0xFFFF98F0u;
|
|
/* 02852C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02852C10 */ cpu->r[26] = 0x000000ADu;
|
|
/* 02852C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02852C18 */ _t10 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02852C18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02852C1C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852C1C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02852C1C */ if (_t12) goto L_02852C24; else goto L_02852C20;
|
|
L_02852C20: ; // 0x2852c20
|
|
/* 02852C20 */ _t13 = cpu->r[12] + 0x00000007u;
|
|
/* 02852C20 */ cpu->r[26] = rbrew_read8(cpu->mem, _t13);
|
|
L_02852C24: ; // 0x2852c24
|
|
/* 02852C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02852C28 */ _t14 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02852C28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02852C2C */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02852C2C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02852C2C */ if (_t16) goto L_02852C30; else goto L_02852C50;
|
|
L_02852C30: ; // 0x2852c30
|
|
/* 02852C30 */ _t17 = cpu->r[30] + 0x00000094u;
|
|
/* 02852C30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02852C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02852C38 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852C38 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02852C38 */ if (_t19) goto L_02852C50; else goto L_02852C3C;
|
|
L_02852C3C: ; // 0x2852c3c
|
|
/* 02852C3C */ _t20 = cpu->r[9] + 0xFFFFFFF8u;
|
|
/* 02852C3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02852C40 */ _t21 = cpu->r[9] + 0xFFFFFFFCu;
|
|
/* 02852C40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02852C44 */ cpu->r[10] = cpu->r[8] - cpu->r[29];
|
|
/* 02852C48 */ cpu->r[27] = cpu->r[10] + cpu->r[11];
|
|
/* 02852C4C */ goto L_02852C64;
|
|
L_02852C50: ; // 0x2852c50
|
|
/* 02852C50 */ cpu->r[7] = 0x00000000u;
|
|
/* 02852C54 */ _t22 = cpu->r[7] + 0x00000000u;
|
|
/* 02852C54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02852C58 */ _t23 = cpu->r[7] + 0x00000004u;
|
|
/* 02852C58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02852C5C */ cpu->r[10] = cpu->r[8] - cpu->r[29];
|
|
/* 02852C60 */ cpu->r[27] = cpu->r[10] + cpu->r[11];
|
|
L_02852C64: ; // 0x2852c64
|
|
/* 02852C64 */ _t24 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02852C64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02852C68 */ _t25 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02852C68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02852C6C */ cpu->ctr = cpu->r[0];
|
|
/* 02852C70 */ _t26 = cpu->r[30] + 0x00000024u;
|
|
/* 02852C70 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02852C74 */ cpu->r[4] = 0x00000002u;
|
|
/* 02852C78 */ cpu->r[3] = cpu->r[30];
|
|
/* 02852C7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02852C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02852C84 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852C84 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02852C84 */ if (_t28) goto L_02852C98; else goto L_02852C88;
|
|
L_02852C88: ; // 0x2852c88
|
|
/* 02852C88 */ cpu->r[5] = cpu->r[27];
|
|
/* 02852C8C */ cpu->r[4] = cpu->r[26];
|
|
/* 02852C90 */ cpu->r[3] = cpu->r[29];
|
|
/* 02852C94 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_02852C98: ; // 0x2852c98
|
|
/* 02852C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02852C9C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852C9C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02852C9C */ if (_t30) goto L_02852D10; else goto L_02852CA0;
|
|
L_02852CA0: ; // 0x2852ca0
|
|
/* 02852CA0 */ _t31 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02852CA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02852CA4 */ _t32 = cpu->r[6] + 0x00000094u;
|
|
/* 02852CA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02852CA8 */ cpu->ctr = cpu->r[7];
|
|
/* 02852CAC */ cpu->r[3] = cpu->r[28];
|
|
/* 02852CB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02852CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02852CB8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852CB8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02852CB8 */ if (_t34) goto L_02852D10; else goto L_02852CBC;
|
|
L_02852CBC: ; // 0x2852cbc
|
|
/* 02852CBC */ _t35 = cpu->r[28] + 0x00000090u;
|
|
/* 02852CBC */ cpu->r[11] = rbrew_read16(cpu->mem, _t35);
|
|
/* 02852CC0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02852CC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02852CC4 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852CC4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02852CC4 */ if (_t37) goto L_02852CD4; else goto L_02852CC8;
|
|
L_02852CC8: ; // 0x2852cc8
|
|
/* 02852CC8 */ cpu->r[3] = cpu->r[28] + 0x00000054u;
|
|
/* 02852CCC */ Gambit_fn_02836FFC(cpu);
|
|
/* 02852CD0 */ _t38 = cpu->r[28] + 0x00000090u;
|
|
/* 02852CD0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t38);
|
|
L_02852CD4: ; // 0x2852cd4
|
|
/* 02852CD4 */ _t39 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02852CD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02852CD8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Du, 0x0000001Bu);
|
|
/* 02852CDC */ _t40 = cpu->r[28] + 0x00000090u;
|
|
/* 02852CDC */ rbrew_write16(cpu->mem, _t40, (uint16_t)cpu->r[9]);
|
|
/* 02852CE0 */ _t41 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02852CE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02852CE4 */ cpu->ctr = cpu->r[0];
|
|
/* 02852CE8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02852CEC */ cpu->r[4] = cpu->r[30];
|
|
/* 02852CF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02852CF4 */ _t42 = cpu->r[28] + 0x00000090u;
|
|
/* 02852CF4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t42);
|
|
/* 02852CF8 */ cpu->r[10] = cpu->r[10] | 0x00000008u;
|
|
/* 02852CFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02852CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02852D00 */ _t43 = cpu->r[28] + 0x00000090u;
|
|
/* 02852D00 */ rbrew_write16(cpu->mem, _t43, (uint16_t)cpu->r[10]);
|
|
/* 02852D04 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852D04 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02852D04 */ if (_t45) goto L_02852D10; else goto L_02852D08;
|
|
L_02852D08: ; // 0x2852d08
|
|
/* 02852D08 */ cpu->r[3] = cpu->r[28] + 0x00000054u;
|
|
/* 02852D0C */ Gambit_fn_02837030(cpu);
|
|
L_02852D10: ; // 0x2852d10
|
|
/* 02852D10 */ /* nop */
|
|
/* 02852D14 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02852D14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02852D18 */ cpu->lr = cpu->r[0];
|
|
/* 02852D1C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02852D20 */ return;
|
|
}
|
|
|
|
// fn_02852D24 @ 0x2852d24
|
|
void Gambit_fn_02852D24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150;
|
|
|
|
L_02852D24: ; // 0x2852d24
|
|
/* 02852D24 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 02852D24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02852D24 */ cpu->r[1] = _t0;
|
|
/* 02852D28 */ /* nop */
|
|
/* 02852D2C */ cpu->r[0] = cpu->lr;
|
|
/* 02852D30 */ cpu->r[28] = cpu->r[5];
|
|
/* 02852D34 */ cpu->r[27] = cpu->r[4];
|
|
/* 02852D38 */ _t1 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02852D38 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02852D3C */ cpu->r[29] = cpu->r[27];
|
|
/* 02852D40 */ cpu->r[23] = 0x101D0000u;
|
|
/* 02852D44 */ cpu->r[26] = cpu->r[3];
|
|
/* 02852D48 */ cpu->r[24] = cpu->r[28];
|
|
/* 02852D4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000004u);
|
|
/* 02852D50 */ _t2 = cpu->r[23] + 0xFFFF98F0u;
|
|
/* 02852D50 */ cpu->r[23] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02852D54 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02852D54 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02852D54 */ if (_t4) goto L_02852D58; else goto L_02852D5C;
|
|
L_02852D58: ; // 0x2852d58
|
|
/* 02852D58 */ cpu->r[29] = 0x00000004u;
|
|
L_02852D5C: ; // 0x2852d5c
|
|
/* 02852D5C */ /* nop */
|
|
/* 02852D60 */ cpu->r[24] = cpu->r[24] ^ cpu->r[9];
|
|
/* 02852D64 */ cpu->r[24] = cpu->r[24] - cpu->r[9];
|
|
/* 02852D68 */ cpu->r[12] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02852D6C */ cpu->r[0] = cpu->r[12] & cpu->r[24];
|
|
/* 02852D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02852D70 */ cpu->r[22] = 0x00000000u;
|
|
/* 02852D74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852D74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02852D74 */ if (_t6) goto L_02852DCC; else goto L_02852D78;
|
|
L_02852D78: ; // 0x2852d78
|
|
/* 02852D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02852D7C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852D7C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02852D7C */ if (_t8) goto L_028530C0; else goto L_02852D80;
|
|
L_02852D80: ; // 0x2852d80
|
|
/* 02852D80 */ _t9 = cpu->r[23] + 0x0000000Cu;
|
|
/* 02852D80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02852D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02852D88 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852D88 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02852D88 */ if (_t11) goto L_028530C0; else goto L_02852D8C;
|
|
L_02852D8C: ; // 0x2852d8c
|
|
/* 02852D8C */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02852D8C */ rbrew_write32(cpu->mem, _t12, cpu->r[24]);
|
|
/* 02852D90 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02852D90 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 02852D94 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02852D94 */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 02852D98 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02852D98 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 02852D9C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02852D9C */ rbrew_write32(cpu->mem, _t16, cpu->r[26]);
|
|
/* 02852DA0 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02852DA0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02852DA4 */ _t18 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02852DA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02852DA8 */ cpu->ctr = cpu->r[6];
|
|
/* 02852DAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02852DB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02852DB4 */ /* nop */
|
|
/* 02852DB8 */ _t19 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02852DB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02852DBC */ cpu->lr = cpu->r[0];
|
|
/* 02852DC0 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02852DC4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02852DC8 */ return;
|
|
L_02852DCC: ; // 0x2852dcc
|
|
/* 02852DCC */ _t20 = cpu->r[26] + 0x00000090u;
|
|
/* 02852DCC */ cpu->r[9] = rbrew_read16(cpu->mem, _t20);
|
|
/* 02852DD0 */ cpu->r[7] = cpu->r[29] + 0x00000003u;
|
|
/* 02852DD4 */ cpu->r[25] = 0x00000000u;
|
|
/* 02852DD8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02852DD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02852DDC */ cpu->r[29] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 02852DE0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852DE0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02852DE0 */ if (_t22) goto L_02852DF0; else goto L_02852DE4;
|
|
L_02852DE4: ; // 0x2852de4
|
|
/* 02852DE4 */ cpu->r[25] = cpu->r[26] + 0x00000054u;
|
|
/* 02852DE8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02852DEC */ Gambit_fn_02836FFC(cpu);
|
|
L_02852DF0: ; // 0x2852df0
|
|
/* 02852DF0 */ _t23 = cpu->r[26] + 0x0000009Cu;
|
|
/* 02852DF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02852DF4 */ _t24 = cpu->r[26] + 0x000000A8u;
|
|
/* 02852DF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02852DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[31]);
|
|
/* 02852DFC */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02852DFC */ _t26 = _t25 & 0x00000001u;
|
|
/* 02852DFC */ if (_t26) goto L_02852E48; else goto L_02852E00;
|
|
L_02852E00: ; // 0x2852e00
|
|
/* 02852E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02852E04 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852E04 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02852E04 */ if (_t28) goto L_028530B0; else goto L_02852E08;
|
|
L_02852E08: ; // 0x2852e08
|
|
/* 02852E08 */ _t29 = cpu->r[23] + 0x0000000Cu;
|
|
/* 02852E08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02852E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02852E10 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852E10 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02852E10 */ if (_t31) goto L_028530B0; else goto L_02852E14;
|
|
L_02852E14: ; // 0x2852e14
|
|
/* 02852E14 */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02852E14 */ rbrew_write32(cpu->mem, _t32, cpu->r[24]);
|
|
/* 02852E18 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02852E18 */ rbrew_write32(cpu->mem, _t33, cpu->r[28]);
|
|
/* 02852E1C */ _t34 = cpu->r[1] + 0x00000020u;
|
|
/* 02852E1C */ rbrew_write32(cpu->mem, _t34, cpu->r[27]);
|
|
/* 02852E20 */ _t35 = cpu->r[1] + 0x00000028u;
|
|
/* 02852E20 */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
|
|
/* 02852E24 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02852E24 */ rbrew_write32(cpu->mem, _t36, cpu->r[26]);
|
|
/* 02852E28 */ _t37 = cpu->r[3] + 0x00000000u;
|
|
/* 02852E28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02852E2C */ _t38 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02852E2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02852E30 */ cpu->ctr = cpu->r[0];
|
|
/* 02852E34 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02852E38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02852E3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02852E40 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852E40 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02852E40 */ if (_t40) goto L_02852E44; else goto L_028530B8;
|
|
L_02852E44: ; // 0x2852e44
|
|
/* 02852E44 */ goto L_028530C0;
|
|
L_02852E48: ; // 0x2852e48
|
|
/* 02852E48 */ _t41 = cpu->r[26] + 0x00000098u;
|
|
/* 02852E48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02852E4C */ cpu->r[0] = cpu->r[26] + 0x0000008Cu;
|
|
/* 02852E50 */ _t42 = cpu->r[26] + 0x0000001Cu;
|
|
/* 02852E50 */ cpu->r[21] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02852E54 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 02852E58 */ cpu->r[4] = 0x00000000u;
|
|
/* 02852E5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02852E60 */ cpu->r[11] = cpu->r[21];
|
|
/* 02852E64 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852E64 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02852E64 */ if (_t44) goto L_02852EEC; else goto L_02852E68;
|
|
L_02852E68: ; // 0x2852e68
|
|
/* 02852E68 */ cpu->r[5] = cpu->r[11] + cpu->r[24];
|
|
/* 02852E6C */ cpu->r[7] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02852E70 */ cpu->r[6] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02852E74 */ _t45 = cpu->r[12] + 0x00000000u;
|
|
/* 02852E74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02852E78 */ _t46 = ~cpu->r[7];
|
|
/* 02852E78 */ cpu->r[30] = cpu->r[6] & _t46;
|
|
/* 02852E7C */ cpu->r[10] = 0x00000000u;
|
|
/* 02852E80 */ cpu->r[7] = cpu->r[8] - cpu->r[30];
|
|
/* 02852E84 */ cpu->r[6] = ~cpu->r[10];
|
|
/* 02852E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02852E88 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02852E88 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02852E88 */ if (_t48) goto L_02852E98; else goto L_02852E8C;
|
|
L_02852E8C: ; // 0x2852e8c
|
|
/* 02852E8C */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02852E8C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02852E8C */ if (_t50) goto L_02852EE0; else goto L_02852E90;
|
|
L_02852E90: ; // 0x2852e90
|
|
/* 02852E90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 02852E94 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02852E94 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02852E94 */ if (_t52) goto L_02852E98; else goto L_02852EE0;
|
|
L_02852E98: ; // 0x2852e98
|
|
/* 02852E98 */ _t53 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02852E98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02852E9C */ _t54 = cpu->r[12] + 0x00000004u;
|
|
/* 02852E9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02852EA0 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02852EA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02852EA8 */ cpu->r[11] = cpu->r[8] + cpu->r[9];
|
|
/* 02852EAC */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852EAC */ _t56 = _t55 & 0x00000001u;
|
|
/* 02852EAC */ if (_t56) goto L_02852EB0; else goto L_02852E68;
|
|
L_02852EB0: ; // 0x2852eb0
|
|
/* 02852EB0 */ cpu->r[12] = cpu->r[11] + cpu->r[24];
|
|
/* 02852EB4 */ cpu->r[6] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02852EB8 */ _t57 = cpu->r[26] + 0x00000020u;
|
|
/* 02852EB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02852EBC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02852EC0 */ _t58 = ~cpu->r[6];
|
|
/* 02852EC0 */ cpu->r[30] = cpu->r[0] & _t58;
|
|
/* 02852EC4 */ cpu->r[10] = cpu->r[21] + cpu->r[9];
|
|
/* 02852EC8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02852ECC */ cpu->r[7] = cpu->r[10] - cpu->r[30];
|
|
/* 02852ED0 */ cpu->r[5] = ~cpu->r[8];
|
|
/* 02852ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02852ED4 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02852ED4 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02852ED4 */ if (_t60) goto L_02852F28; else goto L_02852ED8;
|
|
L_02852ED8: ; // 0x2852ed8
|
|
/* 02852ED8 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02852ED8 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02852ED8 */ if (_t62) goto L_02852F20; else goto L_02852EDC;
|
|
L_02852EDC: ; // 0x2852edc
|
|
/* 02852EDC */ goto L_02852F18;
|
|
L_02852EE0: ; // 0x2852ee0
|
|
/* 02852EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02852EE4 */ cpu->r[4] = cpu->r[12];
|
|
/* 02852EE8 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852EE8 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02852EE8 */ if (_t64) goto L_02852EEC; else goto L_02852F70;
|
|
L_02852EEC: ; // 0x2852eec
|
|
/* 02852EEC */ cpu->r[12] = cpu->r[11] + cpu->r[24];
|
|
/* 02852EF0 */ cpu->r[6] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 02852EF4 */ _t65 = cpu->r[26] + 0x00000020u;
|
|
/* 02852EF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02852EF8 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02852EFC */ _t66 = ~cpu->r[6];
|
|
/* 02852EFC */ cpu->r[30] = cpu->r[0] & _t66;
|
|
/* 02852F00 */ cpu->r[10] = cpu->r[21] + cpu->r[9];
|
|
/* 02852F04 */ cpu->r[8] = 0x00000000u;
|
|
/* 02852F08 */ cpu->r[7] = cpu->r[10] - cpu->r[30];
|
|
/* 02852F0C */ cpu->r[5] = ~cpu->r[8];
|
|
/* 02852F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02852F10 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02852F10 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02852F10 */ if (_t68) goto L_02852F28; else goto L_02852F14;
|
|
L_02852F14: ; // 0x2852f14
|
|
/* 02852F14 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02852F14 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02852F14 */ if (_t70) goto L_02852F20; else goto L_02852F18;
|
|
L_02852F18: ; // 0x2852f18
|
|
/* 02852F18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 02852F1C */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02852F1C */ _t72 = _t71 & 0x00000001u;
|
|
/* 02852F1C */ if (_t72) goto L_02852F28; else goto L_02852F20;
|
|
L_02852F20: ; // 0x2852f20
|
|
/* 02852F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02852F24 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852F24 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02852F24 */ if (_t74) goto L_02852F28; else goto L_02852F70;
|
|
L_02852F28: ; // 0x2852f28
|
|
/* 02852F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02852F2C */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852F2C */ _t76 = _t75 & 0x00000001u;
|
|
/* 02852F2C */ if (_t76) goto L_028530B0; else goto L_02852F30;
|
|
L_02852F30: ; // 0x2852f30
|
|
/* 02852F30 */ _t77 = cpu->r[23] + 0x0000000Cu;
|
|
/* 02852F30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02852F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02852F38 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852F38 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02852F38 */ if (_t79) goto L_028530B0; else goto L_02852F3C;
|
|
L_02852F3C: ; // 0x2852f3c
|
|
/* 02852F3C */ _t80 = cpu->r[1] + 0x00000040u;
|
|
/* 02852F3C */ rbrew_write32(cpu->mem, _t80, cpu->r[24]);
|
|
/* 02852F40 */ _t81 = cpu->r[1] + 0x00000038u;
|
|
/* 02852F40 */ rbrew_write32(cpu->mem, _t81, cpu->r[28]);
|
|
/* 02852F44 */ _t82 = cpu->r[1] + 0x00000034u;
|
|
/* 02852F44 */ rbrew_write32(cpu->mem, _t82, cpu->r[27]);
|
|
/* 02852F48 */ _t83 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02852F48 */ rbrew_write32(cpu->mem, _t83, cpu->r[29]);
|
|
/* 02852F4C */ _t84 = cpu->r[1] + 0x00000030u;
|
|
/* 02852F4C */ rbrew_write32(cpu->mem, _t84, cpu->r[26]);
|
|
/* 02852F50 */ _t85 = cpu->r[3] + 0x00000000u;
|
|
/* 02852F50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02852F54 */ _t86 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02852F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02852F58 */ cpu->ctr = cpu->r[0];
|
|
/* 02852F5C */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02852F60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02852F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02852F68 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852F68 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02852F68 */ if (_t88) goto L_02852F6C; else goto L_028530B8;
|
|
L_02852F6C: ; // 0x2852f6c
|
|
/* 02852F6C */ goto L_028530C0;
|
|
L_02852F70: ; // 0x2852f70
|
|
/* 02852F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[31]);
|
|
/* 02852F74 */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02852F74 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02852F74 */ if (_t90) goto L_02852F78; else goto L_02853074;
|
|
L_02852F78: ; // 0x2852f78
|
|
/* 02852F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02852F7C */ _t91 = cpu->r[26] + 0x000000A0u;
|
|
/* 02852F7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02852F80 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852F80 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02852F80 */ if (_t93) goto L_02852F84; else goto L_02852FF0;
|
|
L_02852F84: ; // 0x2852f84
|
|
/* 02852F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02852F88 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852F88 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02852F88 */ if (_t95) goto L_02852F94; else goto L_02852F8C;
|
|
L_02852F8C: ; // 0x2852f8c
|
|
/* 02852F8C */ _t96 = cpu->r[31] + 0x00000000u;
|
|
/* 02852F8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02852F90 */ _t97 = cpu->r[26] + 0x000000A0u;
|
|
/* 02852F90 */ rbrew_write32(cpu->mem, _t97, cpu->r[5]);
|
|
L_02852F94: ; // 0x2852f94
|
|
/* 02852F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02852F98 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852F98 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02852F98 */ if (_t99) goto L_02852FC8; else goto L_02852F9C;
|
|
L_02852F9C: ; // 0x2852f9c
|
|
/* 02852F9C */ _t100 = cpu->r[31] + 0x00000008u;
|
|
/* 02852F9C */ rbrew_write32(cpu->mem, _t100, cpu->r[22]);
|
|
/* 02852FA0 */ cpu->r[4] = cpu->r[31] + 0x00000008u;
|
|
/* 02852FA4 */ cpu->r[3] = cpu->r[26] + 0x00000094u;
|
|
/* 02852FA8 */ _t101 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02852FA8 */ rbrew_write32(cpu->mem, _t101, cpu->r[22]);
|
|
/* 02852FAC */ Gambit_fn_02801EBC(cpu);
|
|
/* 02852FB0 */ _t102 = cpu->r[26] + 0x0000009Cu;
|
|
/* 02852FB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02852FB4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02852FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02852FBC */ _t103 = cpu->r[26] + 0x0000009Cu;
|
|
/* 02852FBC */ rbrew_write32(cpu->mem, _t103, cpu->r[8]);
|
|
/* 02852FC0 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852FC0 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02852FC0 */ if (_t105) goto L_02853074; else goto L_02852FC4;
|
|
L_02852FC4: ; // 0x2852fc4
|
|
/* 02852FC4 */ goto L_02853058;
|
|
L_02852FC8: ; // 0x2852fc8
|
|
/* 02852FC8 */ cpu->r[4] = 0x00000008u;
|
|
/* 02852FCC */ cpu->r[3] = cpu->r[26] + 0x00000094u;
|
|
/* 02852FD0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02852FD4 */ Gambit_fn_02801EBC(cpu);
|
|
/* 02852FD8 */ _t106 = cpu->r[26] + 0x0000009Cu;
|
|
/* 02852FD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02852FDC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02852FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02852FE4 */ _t107 = cpu->r[26] + 0x0000009Cu;
|
|
/* 02852FE4 */ rbrew_write32(cpu->mem, _t107, cpu->r[8]);
|
|
/* 02852FE8 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852FE8 */ _t109 = _t108 & 0x00000001u;
|
|
/* 02852FE8 */ if (_t109) goto L_028530B0; else goto L_02852FEC;
|
|
L_02852FEC: ; // 0x2852fec
|
|
/* 02852FEC */ goto L_0285307C;
|
|
L_02852FF0: ; // 0x2852ff0
|
|
/* 02852FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02852FF4 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02852FF4 */ _t111 = _t110 & 0x00000001u;
|
|
/* 02852FF4 */ if (_t111) goto L_02853000; else goto L_02852FF8;
|
|
L_02852FF8: ; // 0x2852ff8
|
|
/* 02852FF8 */ _t112 = cpu->r[31] + 0x00000000u;
|
|
/* 02852FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02852FFC */ _t113 = cpu->r[26] + 0x000000A0u;
|
|
/* 02852FFC */ rbrew_write32(cpu->mem, _t113, cpu->r[0]);
|
|
L_02853000: ; // 0x2853000
|
|
/* 02853000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02853004 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853004 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02853004 */ if (_t115) goto L_02853034; else goto L_02853008;
|
|
L_02853008: ; // 0x2853008
|
|
/* 02853008 */ _t116 = cpu->r[31] + 0x00000008u;
|
|
/* 02853008 */ rbrew_write32(cpu->mem, _t116, cpu->r[22]);
|
|
/* 0285300C */ cpu->r[3] = cpu->r[4] + 0x00000008u;
|
|
/* 02853010 */ cpu->r[4] = cpu->r[31] + 0x00000008u;
|
|
/* 02853014 */ _t117 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02853014 */ rbrew_write32(cpu->mem, _t117, cpu->r[22]);
|
|
/* 02853018 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0285301C */ _t118 = cpu->r[26] + 0x0000009Cu;
|
|
/* 0285301C */ cpu->r[10] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02853020 */ cpu->r[8] = cpu->r[10] + 0x00000001u;
|
|
/* 02853024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02853028 */ _t119 = cpu->r[26] + 0x0000009Cu;
|
|
/* 02853028 */ rbrew_write32(cpu->mem, _t119, cpu->r[8]);
|
|
/* 0285302C */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285302C */ _t121 = _t120 & 0x00000001u;
|
|
/* 0285302C */ if (_t121) goto L_02853074; else goto L_02853030;
|
|
L_02853030: ; // 0x2853030
|
|
/* 02853030 */ goto L_02853058;
|
|
L_02853034: ; // 0x2853034
|
|
/* 02853034 */ cpu->r[3] = cpu->r[4] + 0x00000008u;
|
|
/* 02853038 */ cpu->r[4] = 0x00000008u;
|
|
/* 0285303C */ cpu->r[31] = 0x00000000u;
|
|
/* 02853040 */ Gambit_fn_02801EBC(cpu);
|
|
/* 02853044 */ _t122 = cpu->r[26] + 0x0000009Cu;
|
|
/* 02853044 */ cpu->r[10] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02853048 */ cpu->r[8] = cpu->r[10] + 0x00000001u;
|
|
/* 0285304C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02853050 */ _t123 = cpu->r[26] + 0x0000009Cu;
|
|
/* 02853050 */ rbrew_write32(cpu->mem, _t123, cpu->r[8]);
|
|
/* 02853054 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853054 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02853054 */ if (_t125) goto L_02853074; else goto L_02853058;
|
|
L_02853058: ; // 0x2853058
|
|
/* 02853058 */ _t126 = cpu->r[31] + 0x00000000u;
|
|
/* 02853058 */ rbrew_write32(cpu->mem, _t126, cpu->r[30]);
|
|
/* 0285305C */ cpu->r[3] = cpu->r[26];
|
|
/* 02853060 */ _t127 = cpu->r[31] + 0x00000004u;
|
|
/* 02853060 */ rbrew_write32(cpu->mem, _t127, cpu->r[29]);
|
|
/* 02853064 */ Gambit_fn_028264F0(cpu);
|
|
/* 02853068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285306C */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285306C */ _t129 = _t128 & 0x00000001u;
|
|
/* 0285306C */ if (_t129) goto L_028530F4; else goto L_02853070;
|
|
L_02853070: ; // 0x2853070
|
|
/* 02853070 */ goto L_028530D8;
|
|
L_02853074: ; // 0x2853074
|
|
/* 02853074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02853078 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853078 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02853078 */ if (_t131) goto L_028530B0; else goto L_0285307C;
|
|
L_0285307C: ; // 0x285307c
|
|
/* 0285307C */ _t132 = cpu->r[23] + 0x0000000Cu;
|
|
/* 0285307C */ cpu->r[3] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02853080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02853084 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853084 */ _t134 = _t133 & 0x00000001u;
|
|
/* 02853084 */ if (_t134) goto L_028530B0; else goto L_02853088;
|
|
L_02853088: ; // 0x2853088
|
|
/* 02853088 */ _t135 = cpu->r[1] + 0x00000054u;
|
|
/* 02853088 */ rbrew_write32(cpu->mem, _t135, cpu->r[24]);
|
|
/* 0285308C */ _t136 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0285308C */ rbrew_write32(cpu->mem, _t136, cpu->r[28]);
|
|
/* 02853090 */ _t137 = cpu->r[1] + 0x00000048u;
|
|
/* 02853090 */ rbrew_write32(cpu->mem, _t137, cpu->r[27]);
|
|
/* 02853094 */ _t138 = cpu->r[1] + 0x00000050u;
|
|
/* 02853094 */ rbrew_write32(cpu->mem, _t138, cpu->r[29]);
|
|
/* 02853098 */ _t139 = cpu->r[1] + 0x00000044u;
|
|
/* 02853098 */ rbrew_write32(cpu->mem, _t139, cpu->r[26]);
|
|
/* 0285309C */ _t140 = cpu->r[3] + 0x00000000u;
|
|
/* 0285309C */ cpu->r[10] = rbrew_read32(cpu->mem, _t140);
|
|
/* 028530A0 */ _t141 = cpu->r[10] + 0x0000000Cu;
|
|
/* 028530A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t141);
|
|
/* 028530A4 */ cpu->ctr = cpu->r[0];
|
|
/* 028530A8 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 028530AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028530B0: ; // 0x28530b0
|
|
/* 028530B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 028530B4 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028530B4 */ _t143 = _t142 & 0x00000001u;
|
|
/* 028530B4 */ if (_t143) goto L_028530C0; else goto L_028530B8;
|
|
L_028530B8: ; // 0x28530b8
|
|
/* 028530B8 */ cpu->r[3] = cpu->r[25];
|
|
/* 028530BC */ Gambit_fn_02837030(cpu);
|
|
L_028530C0: ; // 0x28530c0
|
|
/* 028530C0 */ /* nop */
|
|
/* 028530C4 */ _t144 = cpu->r[1] + 0x0000008Cu;
|
|
/* 028530C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t144);
|
|
/* 028530C8 */ cpu->lr = cpu->r[0];
|
|
/* 028530CC */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 028530D0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028530D4 */ return;
|
|
L_028530D8: ; // 0x28530d8
|
|
/* 028530D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 028530DC */ cpu->r[4] = 0x000000CDu;
|
|
/* 028530E0 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028530E0 */ _t146 = _t145 & 0x00000001u;
|
|
/* 028530E0 */ if (_t146) goto L_028530E8; else goto L_028530E4;
|
|
L_028530E4: ; // 0x28530e4
|
|
/* 028530E4 */ _t147 = cpu->r[23] + 0x00000005u;
|
|
/* 028530E4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t147);
|
|
L_028530E8: ; // 0x28530e8
|
|
/* 028530E8 */ cpu->r[5] = cpu->r[29];
|
|
/* 028530EC */ cpu->r[3] = cpu->r[30];
|
|
/* 028530F0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_028530F4: ; // 0x28530f4
|
|
/* 028530F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 028530F8 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028530F8 */ _t149 = _t148 & 0x00000001u;
|
|
/* 028530F8 */ if (_t149) goto L_02853104; else goto L_028530FC;
|
|
L_028530FC: ; // 0x28530fc
|
|
/* 028530FC */ cpu->r[3] = cpu->r[25];
|
|
/* 02853100 */ Gambit_fn_02837030(cpu);
|
|
L_02853104: ; // 0x2853104
|
|
/* 02853104 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853108 */ /* nop */
|
|
/* 0285310C */ _t150 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0285310C */ cpu->r[0] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02853110 */ cpu->lr = cpu->r[0];
|
|
/* 02853114 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02853118 */ return;
|
|
}
|
|
|
|
// fn_0285311C @ 0x285311c
|
|
void Gambit_fn_0285311C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285311C: ; // 0x285311c
|
|
/* 0285311C */ _t0 = cpu->r[3] + 0x00000098u;
|
|
/* 0285311C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02853120 */ cpu->r[10] = cpu->r[3] + 0x0000008Cu;
|
|
/* 02853124 */ cpu->r[3] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 02853128 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[10]);
|
|
/* 0285312C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285312C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285312C */ if (_t2) goto L_0285314C; else goto L_02853130;
|
|
L_02853130: ; // 0x2853130
|
|
/* 02853130 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02853130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02853134 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02853138 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853138 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02853138 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02853138 */ goto L_0285313C;
|
|
L_0285313C: ; // 0x285313c
|
|
/* 0285313C */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285313C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02853140 */ cpu->r[3] = cpu->r[9] + 0xFFFFFFF8u;
|
|
/* 02853144 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[10]);
|
|
/* 02853148 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853148 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02853148 */ if (_t8) goto L_0285314C; else goto L_02853130;
|
|
L_0285314C: ; // 0x285314c
|
|
/* 0285314C */ cpu->r[3] = 0x00000000u;
|
|
/* 02853150 */ return;
|
|
}
|
|
|
|
// fn_02853154 @ 0x2853154
|
|
void Gambit_fn_02853154(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02853154: ; // 0x2853154
|
|
/* 02853154 */ cpu->r[0] = cpu->lr;
|
|
/* 02853158 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02853158 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853158 */ cpu->r[1] = _t0;
|
|
/* 0285315C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285315C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02853160 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853160 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02853164 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02853164 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02853168 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853168 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285316C */ cpu->r[29] = cpu->r[4];
|
|
/* 0285316C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02853170 */ cpu->r[31] = cpu->r[3];
|
|
/* 02853174 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853174 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02853174 */ if (_t6) goto L_0285320C; else goto L_02853178;
|
|
L_02853178: ; // 0x2853178
|
|
/* 02853178 */ _t7 = cpu->r[31] + 0x00000090u;
|
|
/* 02853178 */ cpu->r[0] = rbrew_read16(cpu->mem, _t7);
|
|
/* 0285317C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285317C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02853180 */ cpu->r[30] = 0x00000000u;
|
|
/* 02853184 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853184 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02853184 */ if (_t9) goto L_02853194; else goto L_02853188;
|
|
L_02853188: ; // 0x2853188
|
|
/* 02853188 */ cpu->r[30] = cpu->r[31] + 0x00000054u;
|
|
/* 0285318C */ cpu->r[3] = cpu->r[30];
|
|
/* 02853190 */ Gambit_fn_02836FFC(cpu);
|
|
L_02853194: ; // 0x2853194
|
|
/* 02853194 */ cpu->r[3] = cpu->r[31];
|
|
/* 02853198 */ cpu->r[4] = cpu->r[29];
|
|
/* 0285319C */ Gambit_fn_0285311C(cpu);
|
|
/* 028531A0 */ cpu->r[29] = cpu->r[3];
|
|
/* 028531A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028531A4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028531A4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 028531A4 */ if (_t11) goto L_028531FC; else goto L_028531A8;
|
|
L_028531A8: ; // 0x28531a8
|
|
/* 028531A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028531AC */ Gambit_fn_02826524(cpu);
|
|
/* 028531B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028531B4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028531B4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028531B4 */ if (_t13) goto L_028531DC; else goto L_028531B8;
|
|
L_028531B8: ; // 0x28531b8
|
|
/* 028531B8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 028531BC */ _t14 = cpu->r[12] + 0xFFFF98F0u;
|
|
/* 028531BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028531C0 */ cpu->r[4] = 0x000000DDu;
|
|
/* 028531C4 */ _t15 = cpu->r[29] + 0x00000004u;
|
|
/* 028531C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028531C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028531CC */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 028531CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028531D0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028531D0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028531D0 */ if (_t18) goto L_028531D8; else goto L_028531D4;
|
|
L_028531D4: ; // 0x28531d4
|
|
/* 028531D4 */ _t19 = cpu->r[12] + 0x00000006u;
|
|
/* 028531D4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t19);
|
|
L_028531D8: ; // 0x28531d8
|
|
/* 028531D8 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_028531DC: ; // 0x28531dc
|
|
/* 028531DC */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 028531E0 */ Gambit_fn_02801EDC(cpu);
|
|
/* 028531E4 */ _t20 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028531E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028531E8 */ _t21 = cpu->r[31] + 0x000000A0u;
|
|
/* 028531E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028531EC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 028531F0 */ _t22 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028531F0 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 028531F4 */ _t23 = cpu->r[29] + 0x00000000u;
|
|
/* 028531F4 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 028531F8 */ _t24 = cpu->r[31] + 0x000000A0u;
|
|
/* 028531F8 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
L_028531FC: ; // 0x28531fc
|
|
/* 028531FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02853200 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853200 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02853200 */ if (_t26) goto L_0285320C; else goto L_02853204;
|
|
L_02853204: ; // 0x2853204
|
|
/* 02853204 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853208 */ Gambit_fn_02837030(cpu);
|
|
L_0285320C: ; // 0x285320c
|
|
/* 0285320C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285320C */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02853210 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02853214 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02853214 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02853218 */ cpu->lr = cpu->r[0];
|
|
/* 0285321C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0285321C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02853220 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02853224 */ return;
|
|
}
|
|
|
|
// fn_02853158 @ 0x2853158
|
|
void Gambit_fn_02853158(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02853158: ; // 0x2853158
|
|
/* 02853158 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02853158 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853158 */ cpu->r[1] = _t0;
|
|
/* 0285315C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285315C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02853160 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853160 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02853164 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02853164 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02853168 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853168 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285316C */ cpu->r[29] = cpu->r[4];
|
|
/* 0285316C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02853170 */ cpu->r[31] = cpu->r[3];
|
|
/* 02853174 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853174 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02853174 */ if (_t6) goto L_0285320C; else goto L_02853178;
|
|
L_02853178: ; // 0x2853178
|
|
/* 02853178 */ _t7 = cpu->r[31] + 0x00000090u;
|
|
/* 02853178 */ cpu->r[0] = rbrew_read16(cpu->mem, _t7);
|
|
/* 0285317C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285317C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02853180 */ cpu->r[30] = 0x00000000u;
|
|
/* 02853184 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853184 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02853184 */ if (_t9) goto L_02853194; else goto L_02853188;
|
|
L_02853188: ; // 0x2853188
|
|
/* 02853188 */ cpu->r[30] = cpu->r[31] + 0x00000054u;
|
|
/* 0285318C */ cpu->r[3] = cpu->r[30];
|
|
/* 02853190 */ Gambit_fn_02836FFC(cpu);
|
|
L_02853194: ; // 0x2853194
|
|
/* 02853194 */ cpu->r[3] = cpu->r[31];
|
|
/* 02853198 */ cpu->r[4] = cpu->r[29];
|
|
/* 0285319C */ Gambit_fn_0285311C(cpu);
|
|
/* 028531A0 */ cpu->r[29] = cpu->r[3];
|
|
/* 028531A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028531A4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028531A4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 028531A4 */ if (_t11) goto L_028531FC; else goto L_028531A8;
|
|
L_028531A8: ; // 0x28531a8
|
|
/* 028531A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028531AC */ Gambit_fn_02826524(cpu);
|
|
/* 028531B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028531B4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028531B4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028531B4 */ if (_t13) goto L_028531DC; else goto L_028531B8;
|
|
L_028531B8: ; // 0x28531b8
|
|
/* 028531B8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 028531BC */ _t14 = cpu->r[12] + 0xFFFF98F0u;
|
|
/* 028531BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028531C0 */ cpu->r[4] = 0x000000DDu;
|
|
/* 028531C4 */ _t15 = cpu->r[29] + 0x00000004u;
|
|
/* 028531C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028531C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028531CC */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 028531CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028531D0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028531D0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028531D0 */ if (_t18) goto L_028531D8; else goto L_028531D4;
|
|
L_028531D4: ; // 0x28531d4
|
|
/* 028531D4 */ _t19 = cpu->r[12] + 0x00000006u;
|
|
/* 028531D4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t19);
|
|
L_028531D8: ; // 0x28531d8
|
|
/* 028531D8 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_028531DC: ; // 0x28531dc
|
|
/* 028531DC */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 028531E0 */ Gambit_fn_02801EDC(cpu);
|
|
/* 028531E4 */ _t20 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028531E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028531E8 */ _t21 = cpu->r[31] + 0x000000A0u;
|
|
/* 028531E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028531EC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 028531F0 */ _t22 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028531F0 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 028531F4 */ _t23 = cpu->r[29] + 0x00000000u;
|
|
/* 028531F4 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 028531F8 */ _t24 = cpu->r[31] + 0x000000A0u;
|
|
/* 028531F8 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
L_028531FC: ; // 0x28531fc
|
|
/* 028531FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02853200 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853200 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02853200 */ if (_t26) goto L_0285320C; else goto L_02853204;
|
|
L_02853204: ; // 0x2853204
|
|
/* 02853204 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853208 */ Gambit_fn_02837030(cpu);
|
|
L_0285320C: ; // 0x285320c
|
|
/* 0285320C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285320C */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02853210 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02853214 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02853214 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02853218 */ cpu->lr = cpu->r[0];
|
|
/* 0285321C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0285321C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02853220 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02853224 */ return;
|
|
}
|
|
|
|
// fn_02853228 @ 0x2853228
|
|
void Gambit_fn_02853228(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63;
|
|
|
|
L_02853228: ; // 0x2853228
|
|
/* 02853228 */ cpu->r[0] = cpu->lr;
|
|
/* 0285322C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285322C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285322C */ cpu->r[1] = _t0;
|
|
/* 02853230 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02853230 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02853234 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02853234 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02853238 */ cpu->r[28] = cpu->r[3];
|
|
/* 0285323C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285323C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02853240 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02853240 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02853244 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853244 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02853248 */ cpu->r[29] = cpu->r[5];
|
|
/* 0285324C */ _t6 = cpu->r[28] + 0x00000090u;
|
|
/* 0285324C */ cpu->r[12] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02853250 */ cpu->r[31] = cpu->r[4];
|
|
/* 02853254 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02853254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02853258 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285325C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285325C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285325C */ if (_t8) goto L_0285326C; else goto L_02853260;
|
|
L_02853260: ; // 0x2853260
|
|
/* 02853260 */ cpu->r[30] = cpu->r[28] + 0x00000054u;
|
|
/* 02853264 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853268 */ Gambit_fn_02836FFC(cpu);
|
|
L_0285326C: ; // 0x285326c
|
|
/* 0285326C */ cpu->r[3] = cpu->r[28];
|
|
/* 02853270 */ cpu->r[4] = cpu->r[31];
|
|
/* 02853274 */ Gambit_fn_0285311C(cpu);
|
|
/* 02853278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285327C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285327C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285327C */ if (_t10) goto L_02853320; else goto L_02853280;
|
|
L_02853280: ; // 0x2853280
|
|
/* 02853280 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02853280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02853284 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02853288 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853288 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02853288 */ if (_t13) goto L_02853354; else goto L_0285328C;
|
|
L_0285328C: ; // 0x285328c
|
|
/* 0285328C */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285328C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285328C */ if (_t15) goto L_02853290; else goto L_0285339C;
|
|
L_02853290: ; // 0x2853290
|
|
/* 02853290 */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 02853290 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02853294 */ cpu->r[10] = cpu->r[28] + 0x00000094u;
|
|
/* 02853298 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 0285329C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285329C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285329C */ if (_t18) goto L_028532A8; else goto L_028532A0;
|
|
L_028532A0: ; // 0x28532a0
|
|
/* 028532A0 */ cpu->r[6] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 028532A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 028532A4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028532A4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028532A4 */ if (_t20) goto L_028532A8; else goto L_028532C4;
|
|
L_028532A8: ; // 0x28532a8
|
|
/* 028532A8 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 028532A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028532AC */ cpu->r[0] = cpu->r[0] - cpu->r[29];
|
|
/* 028532B0 */ _t22 = cpu->r[28] + 0x0000001Cu;
|
|
/* 028532B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028532B4 */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
/* 028532B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 028532BC */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028532BC */ _t24 = _t23 & 0x00000001u;
|
|
/* 028532BC */ if (_t24) goto L_02853320; else goto L_028532C0;
|
|
L_028532C0: ; // 0x28532c0
|
|
/* 028532C0 */ goto L_028532E4;
|
|
L_028532C4: ; // 0x28532c4
|
|
/* 028532C4 */ _t25 = cpu->r[6] + 0x00000000u;
|
|
/* 028532C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 028532C8 */ _t26 = cpu->r[6] + 0x00000004u;
|
|
/* 028532C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028532CC */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 028532D0 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 028532D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 028532D4 */ cpu->r[0] = cpu->r[0] - cpu->r[29];
|
|
/* 028532D8 */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
/* 028532DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 028532E0 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028532E0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 028532E0 */ if (_t29) goto L_02853320; else goto L_028532E4;
|
|
L_028532E4: ; // 0x28532e4
|
|
/* 028532E4 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 028532E4 */ rbrew_write32(cpu->mem, _t30, cpu->r[31]);
|
|
/* 028532E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028532EC */ _t31 = cpu->r[3] + 0x00000004u;
|
|
/* 028532EC */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 028532F0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028532F0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 028532F0 */ if (_t33) goto L_028532FC; else goto L_028532F4;
|
|
L_028532F4: ; // 0x28532f4
|
|
/* 028532F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028532F8 */ Gambit_fn_02837030(cpu);
|
|
L_028532FC: ; // 0x28532fc
|
|
/* 028532FC */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 028532FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02853300 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853300 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02853304 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02853308 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285330C */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0285330C */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02853310 */ cpu->lr = cpu->r[0];
|
|
/* 02853314 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02853314 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02853318 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285331C */ return;
|
|
L_02853320: ; // 0x2853320
|
|
/* 02853320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02853324 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853324 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02853324 */ if (_t40) goto L_02853330; else goto L_02853328;
|
|
L_02853328: ; // 0x2853328
|
|
/* 02853328 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285332C */ Gambit_fn_02837030(cpu);
|
|
L_02853330: ; // 0x2853330
|
|
/* 02853330 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02853330 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02853334 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853334 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02853338 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0285333C */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 0285333C */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02853340 */ cpu->lr = cpu->r[0];
|
|
/* 02853344 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02853344 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02853348 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285334C */ cpu->r[3] = 0x00000000u;
|
|
/* 02853350 */ return;
|
|
L_02853354: ; // 0x2853354
|
|
/* 02853354 */ _t46 = cpu->r[3] + 0x00000000u;
|
|
/* 02853354 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02853358 */ cpu->r[0] = cpu->r[0] - cpu->r[29];
|
|
/* 0285335C */ _t47 = cpu->r[3] + 0x00000004u;
|
|
/* 0285335C */ rbrew_write32(cpu->mem, _t47, cpu->r[29]);
|
|
/* 02853360 */ cpu->r[31] = cpu->r[9] + cpu->r[0];
|
|
/* 02853364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02853368 */ _t48 = cpu->r[3] + 0x00000000u;
|
|
/* 02853368 */ rbrew_write32(cpu->mem, _t48, cpu->r[31]);
|
|
/* 0285336C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285336C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0285336C */ if (_t50) goto L_02853378; else goto L_02853370;
|
|
L_02853370: ; // 0x2853370
|
|
/* 02853370 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853374 */ Gambit_fn_02837030(cpu);
|
|
L_02853378: ; // 0x2853378
|
|
/* 02853378 */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 02853378 */ cpu->r[28] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0285337C */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285337C */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02853380 */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02853384 */ cpu->r[3] = cpu->r[31];
|
|
/* 02853388 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 02853388 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0285338C */ cpu->lr = cpu->r[0];
|
|
/* 02853390 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02853390 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02853394 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02853398 */ return;
|
|
L_0285339C: ; // 0x285339c
|
|
/* 0285339C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028533A0 */ _t56 = cpu->r[3] + 0x00000000u;
|
|
/* 028533A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 028533A4 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028533A4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 028533A4 */ if (_t58) goto L_028533B0; else goto L_028533A8;
|
|
L_028533A8: ; // 0x28533a8
|
|
/* 028533A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028533AC */ Gambit_fn_02837030(cpu);
|
|
L_028533B0: ; // 0x28533b0
|
|
/* 028533B0 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 028533B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t59);
|
|
/* 028533B4 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028533B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t60);
|
|
/* 028533B8 */ _t61 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028533B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 028533BC */ cpu->r[3] = cpu->r[31];
|
|
/* 028533C0 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 028533C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t62);
|
|
/* 028533C4 */ cpu->lr = cpu->r[0];
|
|
/* 028533C8 */ _t63 = cpu->r[1] + 0x00000014u;
|
|
/* 028533C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
/* 028533CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028533D0 */ return;
|
|
}
|
|
|
|
// fn_0285322C @ 0x285322c
|
|
void Gambit_fn_0285322C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63;
|
|
|
|
L_0285322C: ; // 0x285322c
|
|
/* 0285322C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285322C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285322C */ cpu->r[1] = _t0;
|
|
/* 02853230 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02853230 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02853234 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02853234 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02853238 */ cpu->r[28] = cpu->r[3];
|
|
/* 0285323C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285323C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02853240 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02853240 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02853244 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853244 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02853248 */ cpu->r[29] = cpu->r[5];
|
|
/* 0285324C */ _t6 = cpu->r[28] + 0x00000090u;
|
|
/* 0285324C */ cpu->r[12] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02853250 */ cpu->r[31] = cpu->r[4];
|
|
/* 02853254 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02853254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02853258 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285325C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285325C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285325C */ if (_t8) goto L_0285326C; else goto L_02853260;
|
|
L_02853260: ; // 0x2853260
|
|
/* 02853260 */ cpu->r[30] = cpu->r[28] + 0x00000054u;
|
|
/* 02853264 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853268 */ Gambit_fn_02836FFC(cpu);
|
|
L_0285326C: ; // 0x285326c
|
|
/* 0285326C */ cpu->r[3] = cpu->r[28];
|
|
/* 02853270 */ cpu->r[4] = cpu->r[31];
|
|
/* 02853274 */ Gambit_fn_0285311C(cpu);
|
|
/* 02853278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285327C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285327C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285327C */ if (_t10) goto L_02853320; else goto L_02853280;
|
|
L_02853280: ; // 0x2853280
|
|
/* 02853280 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02853280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02853284 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02853288 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853288 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02853288 */ if (_t13) goto L_02853354; else goto L_0285328C;
|
|
L_0285328C: ; // 0x285328c
|
|
/* 0285328C */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285328C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285328C */ if (_t15) goto L_02853290; else goto L_0285339C;
|
|
L_02853290: ; // 0x2853290
|
|
/* 02853290 */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 02853290 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02853294 */ cpu->r[10] = cpu->r[28] + 0x00000094u;
|
|
/* 02853298 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 0285329C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285329C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285329C */ if (_t18) goto L_028532A8; else goto L_028532A0;
|
|
L_028532A0: ; // 0x28532a0
|
|
/* 028532A0 */ cpu->r[6] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 028532A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 028532A4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028532A4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028532A4 */ if (_t20) goto L_028532A8; else goto L_028532C4;
|
|
L_028532A8: ; // 0x28532a8
|
|
/* 028532A8 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 028532A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028532AC */ cpu->r[0] = cpu->r[0] - cpu->r[29];
|
|
/* 028532B0 */ _t22 = cpu->r[28] + 0x0000001Cu;
|
|
/* 028532B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028532B4 */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
/* 028532B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 028532BC */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028532BC */ _t24 = _t23 & 0x00000001u;
|
|
/* 028532BC */ if (_t24) goto L_02853320; else goto L_028532C0;
|
|
L_028532C0: ; // 0x28532c0
|
|
/* 028532C0 */ goto L_028532E4;
|
|
L_028532C4: ; // 0x28532c4
|
|
/* 028532C4 */ _t25 = cpu->r[6] + 0x00000000u;
|
|
/* 028532C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 028532C8 */ _t26 = cpu->r[6] + 0x00000004u;
|
|
/* 028532C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028532CC */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 028532D0 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 028532D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 028532D4 */ cpu->r[0] = cpu->r[0] - cpu->r[29];
|
|
/* 028532D8 */ cpu->r[31] = cpu->r[11] + cpu->r[0];
|
|
/* 028532DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 028532E0 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028532E0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 028532E0 */ if (_t29) goto L_02853320; else goto L_028532E4;
|
|
L_028532E4: ; // 0x28532e4
|
|
/* 028532E4 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 028532E4 */ rbrew_write32(cpu->mem, _t30, cpu->r[31]);
|
|
/* 028532E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028532EC */ _t31 = cpu->r[3] + 0x00000004u;
|
|
/* 028532EC */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 028532F0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028532F0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 028532F0 */ if (_t33) goto L_028532FC; else goto L_028532F4;
|
|
L_028532F4: ; // 0x28532f4
|
|
/* 028532F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028532F8 */ Gambit_fn_02837030(cpu);
|
|
L_028532FC: ; // 0x28532fc
|
|
/* 028532FC */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 028532FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02853300 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853300 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02853304 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02853308 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285330C */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0285330C */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02853310 */ cpu->lr = cpu->r[0];
|
|
/* 02853314 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02853314 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02853318 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285331C */ return;
|
|
L_02853320: ; // 0x2853320
|
|
/* 02853320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02853324 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853324 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02853324 */ if (_t40) goto L_02853330; else goto L_02853328;
|
|
L_02853328: ; // 0x2853328
|
|
/* 02853328 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285332C */ Gambit_fn_02837030(cpu);
|
|
L_02853330: ; // 0x2853330
|
|
/* 02853330 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02853330 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02853334 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853334 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02853338 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0285333C */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 0285333C */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02853340 */ cpu->lr = cpu->r[0];
|
|
/* 02853344 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02853344 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02853348 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285334C */ cpu->r[3] = 0x00000000u;
|
|
/* 02853350 */ return;
|
|
L_02853354: ; // 0x2853354
|
|
/* 02853354 */ _t46 = cpu->r[3] + 0x00000000u;
|
|
/* 02853354 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02853358 */ cpu->r[0] = cpu->r[0] - cpu->r[29];
|
|
/* 0285335C */ _t47 = cpu->r[3] + 0x00000004u;
|
|
/* 0285335C */ rbrew_write32(cpu->mem, _t47, cpu->r[29]);
|
|
/* 02853360 */ cpu->r[31] = cpu->r[9] + cpu->r[0];
|
|
/* 02853364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02853368 */ _t48 = cpu->r[3] + 0x00000000u;
|
|
/* 02853368 */ rbrew_write32(cpu->mem, _t48, cpu->r[31]);
|
|
/* 0285336C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285336C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0285336C */ if (_t50) goto L_02853378; else goto L_02853370;
|
|
L_02853370: ; // 0x2853370
|
|
/* 02853370 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853374 */ Gambit_fn_02837030(cpu);
|
|
L_02853378: ; // 0x2853378
|
|
/* 02853378 */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 02853378 */ cpu->r[28] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0285337C */ _t52 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285337C */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02853380 */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02853384 */ cpu->r[3] = cpu->r[31];
|
|
/* 02853388 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 02853388 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0285338C */ cpu->lr = cpu->r[0];
|
|
/* 02853390 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02853390 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02853394 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02853398 */ return;
|
|
L_0285339C: ; // 0x285339c
|
|
/* 0285339C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028533A0 */ _t56 = cpu->r[3] + 0x00000000u;
|
|
/* 028533A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 028533A4 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028533A4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 028533A4 */ if (_t58) goto L_028533B0; else goto L_028533A8;
|
|
L_028533A8: ; // 0x28533a8
|
|
/* 028533A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028533AC */ Gambit_fn_02837030(cpu);
|
|
L_028533B0: ; // 0x28533b0
|
|
/* 028533B0 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 028533B0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t59);
|
|
/* 028533B4 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028533B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t60);
|
|
/* 028533B8 */ _t61 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028533B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 028533BC */ cpu->r[3] = cpu->r[31];
|
|
/* 028533C0 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 028533C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t62);
|
|
/* 028533C4 */ cpu->lr = cpu->r[0];
|
|
/* 028533C8 */ _t63 = cpu->r[1] + 0x00000014u;
|
|
/* 028533C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
/* 028533CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028533D0 */ return;
|
|
}
|
|
|
|
// fn_028533D4 @ 0x28533d4
|
|
void Gambit_fn_028533D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_028533D4: ; // 0x28533d4
|
|
/* 028533D4 */ cpu->r[0] = cpu->lr;
|
|
/* 028533D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028533D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028533D8 */ cpu->r[1] = _t0;
|
|
/* 028533DC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028533DC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028533E0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028533E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028533E4 */ cpu->r[28] = cpu->r[3];
|
|
/* 028533E8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028533E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028533EC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028533EC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028533F0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028533F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028533F4 */ cpu->r[29] = cpu->r[4];
|
|
/* 028533F8 */ _t6 = cpu->r[28] + 0x00000090u;
|
|
/* 028533F8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t6);
|
|
/* 028533FC */ cpu->r[31] = cpu->r[5];
|
|
/* 02853400 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02853400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02853404 */ cpu->r[30] = 0x00000000u;
|
|
/* 02853408 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853408 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02853408 */ if (_t8) goto L_02853418; else goto L_0285340C;
|
|
L_0285340C: ; // 0x285340c
|
|
/* 0285340C */ cpu->r[30] = cpu->r[28] + 0x00000054u;
|
|
/* 02853410 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853414 */ Gambit_fn_02836FFC(cpu);
|
|
L_02853418: ; // 0x2853418
|
|
/* 02853418 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285341C */ cpu->r[4] = cpu->r[29];
|
|
/* 02853420 */ Gambit_fn_0285311C(cpu);
|
|
/* 02853424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02853428 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853428 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02853428 */ if (_t10) goto L_028534C4; else goto L_0285342C;
|
|
L_0285342C: ; // 0x285342c
|
|
/* 0285342C */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 0285342C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02853430 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02853434 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853434 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02853434 */ if (_t13) goto L_028534F8; else goto L_02853438;
|
|
L_02853438: ; // 0x2853438
|
|
/* 02853438 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02853438 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02853438 */ if (_t15) goto L_0285343C; else goto L_02853534;
|
|
L_0285343C: ; // 0x285343c
|
|
/* 0285343C */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285343C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02853440 */ cpu->r[0] = cpu->r[28] + 0x00000094u;
|
|
/* 02853444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02853448 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853448 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02853448 */ if (_t18) goto L_02853454; else goto L_0285344C;
|
|
L_0285344C: ; // 0x285344c
|
|
/* 0285344C */ cpu->r[8] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 0285344C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02853450 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853450 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02853450 */ if (_t20) goto L_02853454; else goto L_02853474;
|
|
L_02853454: ; // 0x2853454
|
|
/* 02853454 */ _t21 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02853454 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02853458 */ _t22 = cpu->r[28] + 0x00000020u;
|
|
/* 02853458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285345C */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
/* 02853460 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 02853460 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02853464 */ cpu->r[7] = cpu->r[11] + cpu->r[31];
|
|
/* 02853468 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 0285346C */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285346C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285346C */ if (_t25) goto L_028534C4; else goto L_02853470;
|
|
L_02853470: ; // 0x2853470
|
|
/* 02853470 */ goto L_02853488;
|
|
L_02853474: ; // 0x2853474
|
|
/* 02853474 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 02853474 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02853478 */ _t27 = cpu->r[8] + 0x00000000u;
|
|
/* 02853478 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285347C */ cpu->r[7] = cpu->r[11] + cpu->r[31];
|
|
/* 02853480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 02853484 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02853484 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02853484 */ if (_t29) goto L_028534C4; else goto L_02853488;
|
|
L_02853488: ; // 0x2853488
|
|
/* 02853488 */ _t30 = cpu->r[3] + 0x00000004u;
|
|
/* 02853488 */ rbrew_write32(cpu->mem, _t30, cpu->r[31]);
|
|
/* 0285348C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02853490 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02853490 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02853494 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853494 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02853494 */ if (_t33) goto L_028534A0; else goto L_02853498;
|
|
L_02853498: ; // 0x2853498
|
|
/* 02853498 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285349C */ Gambit_fn_02837030(cpu);
|
|
L_028534A0: ; // 0x28534a0
|
|
/* 028534A0 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 028534A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028534A4 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028534A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 028534A8 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028534A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 028534AC */ cpu->r[3] = cpu->r[31];
|
|
/* 028534B0 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 028534B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028534B4 */ cpu->lr = cpu->r[0];
|
|
/* 028534B8 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 028534B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 028534BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028534C0 */ return;
|
|
L_028534C4: ; // 0x28534c4
|
|
/* 028534C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028534C8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028534C8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 028534C8 */ if (_t40) goto L_028534D4; else goto L_028534CC;
|
|
L_028534CC: ; // 0x28534cc
|
|
/* 028534CC */ cpu->r[3] = cpu->r[30];
|
|
/* 028534D0 */ Gambit_fn_02837030(cpu);
|
|
L_028534D4: ; // 0x28534d4
|
|
/* 028534D4 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 028534D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 028534D8 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028534D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 028534DC */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028534DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 028534E0 */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 028534E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 028534E4 */ cpu->lr = cpu->r[0];
|
|
/* 028534E8 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 028534E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 028534EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028534F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028534F4 */ return;
|
|
L_028534F8: ; // 0x28534f8
|
|
/* 028534F8 */ _t46 = cpu->r[3] + 0x00000004u;
|
|
/* 028534F8 */ rbrew_write32(cpu->mem, _t46, cpu->r[31]);
|
|
/* 028534FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02853500 */ _t47 = cpu->r[3] + 0x00000000u;
|
|
/* 02853500 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02853504 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853504 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02853504 */ if (_t49) goto L_02853510; else goto L_02853508;
|
|
L_02853508: ; // 0x2853508
|
|
/* 02853508 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285350C */ Gambit_fn_02837030(cpu);
|
|
L_02853510: ; // 0x2853510
|
|
/* 02853510 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02853510 */ cpu->r[28] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02853514 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853514 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02853518 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0285351C */ cpu->r[3] = cpu->r[31];
|
|
/* 02853520 */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 02853520 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02853524 */ cpu->lr = cpu->r[0];
|
|
/* 02853528 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02853528 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0285352C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02853530 */ return;
|
|
L_02853534: ; // 0x2853534
|
|
/* 02853534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02853538 */ _t55 = cpu->r[3] + 0x00000000u;
|
|
/* 02853538 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0285353C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285353C */ _t57 = _t56 & 0x00000001u;
|
|
/* 0285353C */ if (_t57) goto L_02853548; else goto L_02853540;
|
|
L_02853540: ; // 0x2853540
|
|
/* 02853540 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853544 */ Gambit_fn_02837030(cpu);
|
|
L_02853548: ; // 0x2853548
|
|
/* 02853548 */ _t58 = cpu->r[1] + 0x00000008u;
|
|
/* 02853548 */ cpu->r[28] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0285354C */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285354C */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02853550 */ _t60 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02853554 */ cpu->r[3] = cpu->r[31];
|
|
/* 02853558 */ _t61 = cpu->r[1] + 0x00000010u;
|
|
/* 02853558 */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0285355C */ cpu->lr = cpu->r[0];
|
|
/* 02853560 */ _t62 = cpu->r[1] + 0x00000014u;
|
|
/* 02853560 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02853564 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02853568 */ return;
|
|
}
|
|
|
|
// fn_028533D8 @ 0x28533d8
|
|
void Gambit_fn_028533D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_028533D8: ; // 0x28533d8
|
|
/* 028533D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028533D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028533D8 */ cpu->r[1] = _t0;
|
|
/* 028533DC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028533DC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028533E0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028533E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028533E4 */ cpu->r[28] = cpu->r[3];
|
|
/* 028533E8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028533E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028533EC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028533EC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028533F0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028533F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028533F4 */ cpu->r[29] = cpu->r[4];
|
|
/* 028533F8 */ _t6 = cpu->r[28] + 0x00000090u;
|
|
/* 028533F8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t6);
|
|
/* 028533FC */ cpu->r[31] = cpu->r[5];
|
|
/* 02853400 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02853400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02853404 */ cpu->r[30] = 0x00000000u;
|
|
/* 02853408 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853408 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02853408 */ if (_t8) goto L_02853418; else goto L_0285340C;
|
|
L_0285340C: ; // 0x285340c
|
|
/* 0285340C */ cpu->r[30] = cpu->r[28] + 0x00000054u;
|
|
/* 02853410 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853414 */ Gambit_fn_02836FFC(cpu);
|
|
L_02853418: ; // 0x2853418
|
|
/* 02853418 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285341C */ cpu->r[4] = cpu->r[29];
|
|
/* 02853420 */ Gambit_fn_0285311C(cpu);
|
|
/* 02853424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02853428 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853428 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02853428 */ if (_t10) goto L_028534C4; else goto L_0285342C;
|
|
L_0285342C: ; // 0x285342c
|
|
/* 0285342C */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 0285342C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02853430 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02853434 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853434 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02853434 */ if (_t13) goto L_028534F8; else goto L_02853438;
|
|
L_02853438: ; // 0x2853438
|
|
/* 02853438 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02853438 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02853438 */ if (_t15) goto L_0285343C; else goto L_02853534;
|
|
L_0285343C: ; // 0x285343c
|
|
/* 0285343C */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285343C */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02853440 */ cpu->r[0] = cpu->r[28] + 0x00000094u;
|
|
/* 02853444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02853448 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853448 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02853448 */ if (_t18) goto L_02853454; else goto L_0285344C;
|
|
L_0285344C: ; // 0x285344c
|
|
/* 0285344C */ cpu->r[8] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 0285344C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02853450 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853450 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02853450 */ if (_t20) goto L_02853454; else goto L_02853474;
|
|
L_02853454: ; // 0x2853454
|
|
/* 02853454 */ _t21 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02853454 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02853458 */ _t22 = cpu->r[28] + 0x00000020u;
|
|
/* 02853458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285345C */ cpu->r[9] = cpu->r[11] + cpu->r[0];
|
|
/* 02853460 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 02853460 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02853464 */ cpu->r[7] = cpu->r[11] + cpu->r[31];
|
|
/* 02853468 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 0285346C */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285346C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285346C */ if (_t25) goto L_028534C4; else goto L_02853470;
|
|
L_02853470: ; // 0x2853470
|
|
/* 02853470 */ goto L_02853488;
|
|
L_02853474: ; // 0x2853474
|
|
/* 02853474 */ _t26 = cpu->r[3] + 0x00000000u;
|
|
/* 02853474 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02853478 */ _t27 = cpu->r[8] + 0x00000000u;
|
|
/* 02853478 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285347C */ cpu->r[7] = cpu->r[11] + cpu->r[31];
|
|
/* 02853480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 02853484 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02853484 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02853484 */ if (_t29) goto L_028534C4; else goto L_02853488;
|
|
L_02853488: ; // 0x2853488
|
|
/* 02853488 */ _t30 = cpu->r[3] + 0x00000004u;
|
|
/* 02853488 */ rbrew_write32(cpu->mem, _t30, cpu->r[31]);
|
|
/* 0285348C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02853490 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02853490 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02853494 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853494 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02853494 */ if (_t33) goto L_028534A0; else goto L_02853498;
|
|
L_02853498: ; // 0x2853498
|
|
/* 02853498 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285349C */ Gambit_fn_02837030(cpu);
|
|
L_028534A0: ; // 0x28534a0
|
|
/* 028534A0 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 028534A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028534A4 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028534A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 028534A8 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028534A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 028534AC */ cpu->r[3] = cpu->r[31];
|
|
/* 028534B0 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 028534B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028534B4 */ cpu->lr = cpu->r[0];
|
|
/* 028534B8 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 028534B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 028534BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028534C0 */ return;
|
|
L_028534C4: ; // 0x28534c4
|
|
/* 028534C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028534C8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028534C8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 028534C8 */ if (_t40) goto L_028534D4; else goto L_028534CC;
|
|
L_028534CC: ; // 0x28534cc
|
|
/* 028534CC */ cpu->r[3] = cpu->r[30];
|
|
/* 028534D0 */ Gambit_fn_02837030(cpu);
|
|
L_028534D4: ; // 0x28534d4
|
|
/* 028534D4 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 028534D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 028534D8 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028534D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 028534DC */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028534DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 028534E0 */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 028534E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 028534E4 */ cpu->lr = cpu->r[0];
|
|
/* 028534E8 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 028534E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 028534EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028534F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028534F4 */ return;
|
|
L_028534F8: ; // 0x28534f8
|
|
/* 028534F8 */ _t46 = cpu->r[3] + 0x00000004u;
|
|
/* 028534F8 */ rbrew_write32(cpu->mem, _t46, cpu->r[31]);
|
|
/* 028534FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02853500 */ _t47 = cpu->r[3] + 0x00000000u;
|
|
/* 02853500 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02853504 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853504 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02853504 */ if (_t49) goto L_02853510; else goto L_02853508;
|
|
L_02853508: ; // 0x2853508
|
|
/* 02853508 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285350C */ Gambit_fn_02837030(cpu);
|
|
L_02853510: ; // 0x2853510
|
|
/* 02853510 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02853510 */ cpu->r[28] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02853514 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853514 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02853518 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0285351C */ cpu->r[3] = cpu->r[31];
|
|
/* 02853520 */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 02853520 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02853524 */ cpu->lr = cpu->r[0];
|
|
/* 02853528 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02853528 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0285352C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02853530 */ return;
|
|
L_02853534: ; // 0x2853534
|
|
/* 02853534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02853538 */ _t55 = cpu->r[3] + 0x00000000u;
|
|
/* 02853538 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0285353C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285353C */ _t57 = _t56 & 0x00000001u;
|
|
/* 0285353C */ if (_t57) goto L_02853548; else goto L_02853540;
|
|
L_02853540: ; // 0x2853540
|
|
/* 02853540 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853544 */ Gambit_fn_02837030(cpu);
|
|
L_02853548: ; // 0x2853548
|
|
/* 02853548 */ _t58 = cpu->r[1] + 0x00000008u;
|
|
/* 02853548 */ cpu->r[28] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0285354C */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285354C */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02853550 */ _t60 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853550 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02853554 */ cpu->r[3] = cpu->r[31];
|
|
/* 02853558 */ _t61 = cpu->r[1] + 0x00000010u;
|
|
/* 02853558 */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0285355C */ cpu->lr = cpu->r[0];
|
|
/* 02853560 */ _t62 = cpu->r[1] + 0x00000014u;
|
|
/* 02853560 */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02853564 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02853568 */ return;
|
|
}
|
|
|
|
// fn_0285356C @ 0x285356c
|
|
void Gambit_fn_0285356C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0285356C: ; // 0x285356c
|
|
/* 0285356C */ cpu->r[0] = cpu->lr;
|
|
/* 02853570 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02853570 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853570 */ cpu->r[1] = _t0;
|
|
/* 02853574 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853574 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02853578 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02853578 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0285357C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285357C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02853580 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02853580 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02853584 */ cpu->r[31] = cpu->r[3];
|
|
/* 02853588 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853588 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0285358C */ _t6 = cpu->r[31] + 0x00000090u;
|
|
/* 0285358C */ cpu->r[0] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02853590 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02853590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02853594 */ cpu->r[28] = 0x00000000u;
|
|
/* 02853598 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853598 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02853598 */ if (_t8) goto L_028535A8; else goto L_0285359C;
|
|
L_0285359C: ; // 0x285359c
|
|
/* 0285359C */ cpu->r[28] = cpu->r[31] + 0x00000054u;
|
|
/* 028535A0 */ cpu->r[3] = cpu->r[28];
|
|
/* 028535A4 */ Gambit_fn_02836FFC(cpu);
|
|
L_028535A8: ; // 0x28535a8
|
|
/* 028535A8 */ cpu->r[4] = 0x00000000u;
|
|
/* 028535AC */ cpu->r[3] = cpu->r[31];
|
|
/* 028535B0 */ cpu->r[5] = cpu->r[4];
|
|
/* 028535B4 */ Gambit_fn_02826588(cpu);
|
|
/* 028535B8 */ _t9 = cpu->r[31] + 0x00000098u;
|
|
/* 028535B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028535BC */ cpu->r[29] = cpu->r[31] + 0x00000094u;
|
|
/* 028535C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 028535C4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028535C4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 028535C4 */ if (_t11) goto L_028535FC; else goto L_028535C8;
|
|
L_028535C8: ; // 0x28535c8
|
|
/* 028535C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028535CC */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 028535CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028535D0 */ Gambit_fn_02801EDC(cpu);
|
|
/* 028535D4 */ _t13 = cpu->r[29] + 0x00000008u;
|
|
/* 028535D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028535D8 */ _t14 = cpu->r[29] + 0x0000000Cu;
|
|
/* 028535D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028535DC */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 028535E0 */ _t15 = cpu->r[29] + 0x00000008u;
|
|
/* 028535E0 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 028535E4 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFF8u;
|
|
/* 028535E8 */ _t16 = cpu->r[30] + 0xFFFFFFF8u;
|
|
/* 028535E8 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 028535EC */ cpu->r[30] = cpu->r[31];
|
|
/* 028535F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 028535F4 */ _t17 = cpu->r[29] + 0x0000000Cu;
|
|
/* 028535F4 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 028535F8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028535F8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028535F8 */ if (_t19) goto L_028535FC; else goto L_028535C8;
|
|
L_028535FC: ; // 0x28535fc
|
|
/* 028535FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02853600 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853600 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02853600 */ if (_t21) goto L_0285360C; else goto L_02853604;
|
|
L_02853604: ; // 0x2853604
|
|
/* 02853604 */ cpu->r[3] = cpu->r[28];
|
|
/* 02853608 */ Gambit_fn_02837030(cpu);
|
|
L_0285360C: ; // 0x285360c
|
|
/* 0285360C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0285360C */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02853610 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853610 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02853614 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02853618 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02853618 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285361C */ cpu->lr = cpu->r[0];
|
|
/* 02853620 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02853620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02853624 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02853628 */ return;
|
|
}
|
|
|
|
// fn_02853570 @ 0x2853570
|
|
void Gambit_fn_02853570(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02853570: ; // 0x2853570
|
|
/* 02853570 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02853570 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853570 */ cpu->r[1] = _t0;
|
|
/* 02853574 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853574 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02853578 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02853578 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0285357C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285357C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02853580 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02853580 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02853584 */ cpu->r[31] = cpu->r[3];
|
|
/* 02853588 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853588 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0285358C */ _t6 = cpu->r[31] + 0x00000090u;
|
|
/* 0285358C */ cpu->r[0] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02853590 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02853590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02853594 */ cpu->r[28] = 0x00000000u;
|
|
/* 02853598 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853598 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02853598 */ if (_t8) goto L_028535A8; else goto L_0285359C;
|
|
L_0285359C: ; // 0x285359c
|
|
/* 0285359C */ cpu->r[28] = cpu->r[31] + 0x00000054u;
|
|
/* 028535A0 */ cpu->r[3] = cpu->r[28];
|
|
/* 028535A4 */ Gambit_fn_02836FFC(cpu);
|
|
L_028535A8: ; // 0x28535a8
|
|
/* 028535A8 */ cpu->r[4] = 0x00000000u;
|
|
/* 028535AC */ cpu->r[3] = cpu->r[31];
|
|
/* 028535B0 */ cpu->r[5] = cpu->r[4];
|
|
/* 028535B4 */ Gambit_fn_02826588(cpu);
|
|
/* 028535B8 */ _t9 = cpu->r[31] + 0x00000098u;
|
|
/* 028535B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028535BC */ cpu->r[29] = cpu->r[31] + 0x00000094u;
|
|
/* 028535C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 028535C4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028535C4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 028535C4 */ if (_t11) goto L_028535FC; else goto L_028535C8;
|
|
L_028535C8: ; // 0x28535c8
|
|
/* 028535C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028535CC */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 028535CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028535D0 */ Gambit_fn_02801EDC(cpu);
|
|
/* 028535D4 */ _t13 = cpu->r[29] + 0x00000008u;
|
|
/* 028535D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028535D8 */ _t14 = cpu->r[29] + 0x0000000Cu;
|
|
/* 028535D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028535DC */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 028535E0 */ _t15 = cpu->r[29] + 0x00000008u;
|
|
/* 028535E0 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 028535E4 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFF8u;
|
|
/* 028535E8 */ _t16 = cpu->r[30] + 0xFFFFFFF8u;
|
|
/* 028535E8 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 028535EC */ cpu->r[30] = cpu->r[31];
|
|
/* 028535F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[29]);
|
|
/* 028535F4 */ _t17 = cpu->r[29] + 0x0000000Cu;
|
|
/* 028535F4 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 028535F8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028535F8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028535F8 */ if (_t19) goto L_028535FC; else goto L_028535C8;
|
|
L_028535FC: ; // 0x28535fc
|
|
/* 028535FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02853600 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853600 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02853600 */ if (_t21) goto L_0285360C; else goto L_02853604;
|
|
L_02853604: ; // 0x2853604
|
|
/* 02853604 */ cpu->r[3] = cpu->r[28];
|
|
/* 02853608 */ Gambit_fn_02837030(cpu);
|
|
L_0285360C: ; // 0x285360c
|
|
/* 0285360C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0285360C */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02853610 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853610 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02853614 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02853618 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02853618 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285361C */ cpu->lr = cpu->r[0];
|
|
/* 02853620 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02853620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02853624 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02853628 */ return;
|
|
}
|
|
|
|
// fn_0285362C @ 0x285362c
|
|
void Gambit_fn_0285362C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0285362C: ; // 0x285362c
|
|
/* 0285362C */ _t0 = cpu->r[3] + 0x00000098u;
|
|
/* 0285362C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02853630 */ cpu->r[9] = cpu->r[3] + 0x0000008Cu;
|
|
/* 02853634 */ cpu->r[12] = cpu->r[10] + 0xFFFFFFF8u;
|
|
/* 02853638 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 0285363C */ cpu->r[8] = 0x00000000u;
|
|
/* 02853640 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853640 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02853640 */ if (_t2) goto L_0285365C; else goto L_02853644;
|
|
L_02853644: ; // 0x2853644
|
|
/* 02853644 */ _t3 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02853644 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02853648 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 02853648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285364C */ cpu->r[12] = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02853650 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[9]);
|
|
/* 02853654 */ cpu->r[8] = cpu->r[8] + cpu->r[0];
|
|
/* 02853658 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853658 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02853658 */ if (_t6) goto L_0285365C; else goto L_02853644;
|
|
L_0285365C: ; // 0x285365c
|
|
/* 0285365C */ _t7 = cpu->r[3] + 0x00000020u;
|
|
/* 0285365C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02853660 */ cpu->r[3] = cpu->r[0] - cpu->r[8];
|
|
/* 02853664 */ return;
|
|
}
|
|
|
|
// fn_02853668 @ 0x2853668
|
|
void Gambit_fn_02853668(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02853668: ; // 0x2853668
|
|
/* 02853668 */ _t0 = cpu->r[3] + 0x00000098u;
|
|
/* 02853668 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285366C */ cpu->r[7] = cpu->r[3] + 0x0000008Cu;
|
|
/* 02853670 */ _t1 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02853670 */ cpu->r[6] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02853674 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 02853678 */ cpu->r[12] = 0x00000000u;
|
|
/* 0285367C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02853680 */ cpu->r[10] = cpu->r[6];
|
|
/* 02853684 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853684 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02853684 */ if (_t3) goto L_028536C4; else goto L_02853688;
|
|
L_02853688: ; // 0x2853688
|
|
/* 02853688 */ cpu->r[10] = cpu->r[10] + cpu->r[4];
|
|
/* 0285368C */ cpu->r[11] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02853690 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02853694 */ _t4 = cpu->r[8] + 0x00000000u;
|
|
/* 02853694 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02853698 */ _t5 = ~cpu->r[11];
|
|
/* 02853698 */ cpu->r[10] = cpu->r[10] & _t5;
|
|
/* 0285369C */ cpu->r[11] = cpu->r[9] - cpu->r[10];
|
|
/* 028536A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 028536A4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028536A4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028536A4 */ if (_t7) goto L_028536A8; else goto L_028536AC;
|
|
L_028536A8: ; // 0x28536a8
|
|
/* 028536A8 */ cpu->r[12] = cpu->r[11];
|
|
L_028536AC: ; // 0x28536ac
|
|
/* 028536AC */ _t8 = cpu->r[8] + 0x0000000Cu;
|
|
/* 028536AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028536B0 */ _t9 = cpu->r[8] + 0x00000004u;
|
|
/* 028536B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028536B4 */ cpu->r[8] = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 028536B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 028536BC */ cpu->r[10] = cpu->r[9] + cpu->r[10];
|
|
/* 028536C0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028536C0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 028536C0 */ if (_t11) goto L_028536C4; else goto L_02853688;
|
|
L_028536C4: ; // 0x28536c4
|
|
/* 028536C4 */ _t12 = cpu->r[3] + 0x00000020u;
|
|
/* 028536C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028536C8 */ cpu->r[9] = cpu->r[10] + cpu->r[4];
|
|
/* 028536CC */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 028536D0 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 028536D4 */ cpu->r[8] = cpu->r[6] + cpu->r[11];
|
|
/* 028536D8 */ _t13 = ~cpu->r[10];
|
|
/* 028536D8 */ cpu->r[11] = cpu->r[9] & _t13;
|
|
/* 028536DC */ cpu->r[11] = cpu->r[8] - cpu->r[11];
|
|
/* 028536E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 028536E4 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028536E4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 028536E4 */ if (_t15) goto L_028536E8; else goto L_028536EC;
|
|
L_028536E8: ; // 0x28536e8
|
|
/* 028536E8 */ cpu->r[12] = cpu->r[11];
|
|
L_028536EC: ; // 0x28536ec
|
|
/* 028536EC */ cpu->r[3] = cpu->r[12];
|
|
/* 028536F0 */ return;
|
|
}
|
|
|
|
// fn_028536F4 @ 0x28536f4
|
|
void Gambit_fn_028536F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_028536F4: ; // 0x28536f4
|
|
/* 028536F4 */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 028536F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028536F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 028536FC */ cpu->r[12] = 0x00000000u;
|
|
/* 02853700 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853700 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02853700 */ if (_t2) goto L_02853718; else goto L_02853704;
|
|
L_02853704: ; // 0x2853704
|
|
/* 02853704 */ _t3 = cpu->r[3] + 0x00000020u;
|
|
/* 02853704 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02853708 */ cpu->r[0] = cpu->r[10] + cpu->r[11];
|
|
/* 0285370C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02853710 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853710 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02853710 */ if (_t5) goto L_02853714; else goto L_02853718;
|
|
L_02853714: ; // 0x2853714
|
|
/* 02853714 */ cpu->r[12] = 0x00000001u;
|
|
L_02853718: ; // 0x2853718
|
|
/* 02853718 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285371C */ return;
|
|
}
|
|
|
|
// fn_02853720 @ 0x2853720
|
|
void Gambit_fn_02853720(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02853720: ; // 0x2853720
|
|
/* 02853720 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 02853720 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853720 */ cpu->r[1] = _t0;
|
|
/* 02853724 */ /* nop */
|
|
/* 02853728 */ cpu->r[0] = cpu->lr;
|
|
/* 0285372C */ _t1 = cpu->r[1] + 0x000000BCu;
|
|
/* 0285372C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02853730 */ cpu->r[29] = cpu->r[5];
|
|
/* 02853734 */ cpu->r[27] = cpu->r[3];
|
|
/* 02853738 */ _t2 = cpu->r[27] + 0x00000090u;
|
|
/* 02853738 */ cpu->r[11] = rbrew_read16(cpu->mem, _t2);
|
|
/* 0285373C */ cpu->r[28] = cpu->r[4];
|
|
/* 02853740 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02853740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02853744 */ cpu->r[26] = 0x00000000u;
|
|
/* 02853748 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853748 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02853748 */ if (_t4) goto L_02853758; else goto L_0285374C;
|
|
L_0285374C: ; // 0x285374c
|
|
/* 0285374C */ cpu->r[26] = cpu->r[27] + 0x00000054u;
|
|
/* 02853750 */ cpu->r[3] = cpu->r[26];
|
|
/* 02853754 */ Gambit_fn_02836FFC(cpu);
|
|
L_02853758: ; // 0x2853758
|
|
/* 02853758 */ cpu->r[3] = cpu->r[27];
|
|
/* 0285375C */ cpu->r[4] = cpu->r[28];
|
|
/* 02853760 */ cpu->r[5] = cpu->r[29];
|
|
/* 02853764 */ Gambit_fn_02825974(cpu);
|
|
/* 02853768 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285376C */ cpu->r[25] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02853770 */ cpu->r[5] = 0x10130000u;
|
|
/* 02853774 */ cpu->r[10] = cpu->r[10] + 0x00000584u;
|
|
/* 02853778 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02853778 */ rbrew_write32(cpu->mem, _t5, cpu->r[25]);
|
|
/* 0285377C */ cpu->r[31] = 0x10110000u;
|
|
/* 02853780 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853780 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02853784 */ cpu->r[5] = cpu->r[5] + 0x000005E4u;
|
|
/* 02853788 */ cpu->r[0] = 0x00000080u;
|
|
/* 0285378C */ _t7 = cpu->r[31] + 0x00007399u;
|
|
/* 0285378C */ cpu->r[31] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02853790 */ cpu->r[12] = 0x10130000u;
|
|
/* 02853794 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02853794 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02853798 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02853798 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 0285379C */ cpu->r[12] = cpu->r[12] + 0x00000614u;
|
|
/* 028537A0 */ _t10 = cpu->r[1] + 0x0000009Bu;
|
|
/* 028537A0 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[31]);
|
|
/* 028537A4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028537A8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 028537A8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 028537AC */ Gambit_fn_02853A54(cpu);
|
|
/* 028537B0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 028537B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028537B4 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 028537B4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t13);
|
|
/* 028537B8 */ cpu->r[30] = 0x00000000u;
|
|
/* 028537BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 028537C0 */ cpu->r[0] = 0x00080000u;
|
|
/* 028537C4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028537C4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 028537C4 */ if (_t15) goto L_028537EC; else goto L_028537C8;
|
|
L_028537C8: ; // 0x28537c8
|
|
/* 028537C8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028537CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 028537D0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028537D4 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028537D4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028537D4 */ if (_t17) goto L_028537E8; else goto L_028537D8;
|
|
L_028537D8: ; // 0x28537d8
|
|
/* 028537D8 */ _t18 = cpu->r[12] + 0x00000000u;
|
|
/* 028537D8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t18);
|
|
/* 028537DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 028537E0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028537E0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028537E0 */ if (_t20) goto L_028537E4; else goto L_028537C8;
|
|
L_028537E4: ; // 0x28537e4
|
|
/* 028537E4 */ goto L_028537EC;
|
|
L_028537E8: ; // 0x28537e8
|
|
/* 028537E8 */ cpu->r[30] = 0x00000000u;
|
|
L_028537EC: ; // 0x28537ec
|
|
/* 028537EC */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 028537EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028537F0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028537F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028537F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 028537F8 */ _t23 = cpu->r[8] + 0x00000014u;
|
|
/* 028537F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028537FC */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028537FC */ _t25 = _t24 & 0x00000001u;
|
|
/* 028537FC */ if (_t25) goto L_02853804; else goto L_02853800;
|
|
L_02853800: ; // 0x2853800
|
|
/* 02853800 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02853804: ; // 0x2853804
|
|
/* 02853804 */ cpu->ctr = cpu->r[9];
|
|
/* 02853808 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0285380C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02853810 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02853810 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02853814 */ cpu->r[6] = 0x00000000u;
|
|
/* 02853818 */ cpu->r[5] = cpu->r[30];
|
|
/* 0285381C */ cpu->r[3] = cpu->r[25];
|
|
/* 02853820 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02853824 */ cpu->r[10] = 0x10130000u;
|
|
/* 02853828 */ _t27 = cpu->r[25] + cpu->r[30];
|
|
/* 02853828 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[31]);
|
|
/* 0285382C */ cpu->r[10] = cpu->r[10] + 0x000005FCu;
|
|
/* 02853830 */ cpu->r[30] = cpu->r[29];
|
|
/* 02853834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02853838 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02853838 */ rbrew_write32(cpu->mem, _t28, cpu->r[10]);
|
|
/* 0285383C */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285383C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0285383C */ if (_t30) goto L_02853840; else goto L_028538C4;
|
|
L_02853840: ; // 0x2853840
|
|
/* 02853840 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02853844 */ Gambit_fn_02853A58(cpu);
|
|
/* 02853848 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02853848 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0285384C */ cpu->r[9] = cpu->r[12];
|
|
/* 02853850 */ _t32 = cpu->r[9] + 0x00000000u;
|
|
/* 02853850 */ cpu->r[11] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02853854 */ cpu->r[10] = 0x00000000u;
|
|
/* 02853858 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0285385C */ cpu->r[11] = 0x00080000u;
|
|
/* 02853860 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853860 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02853860 */ if (_t34) goto L_02853888; else goto L_02853864;
|
|
L_02853864: ; // 0x2853864
|
|
/* 02853864 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02853868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[11]);
|
|
/* 0285386C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02853870 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02853870 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02853870 */ if (_t36) goto L_02853884; else goto L_02853874;
|
|
L_02853874: ; // 0x2853874
|
|
/* 02853874 */ _t37 = cpu->r[9] + 0x00000000u;
|
|
/* 02853874 */ cpu->r[0] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02853878 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0285387C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285387C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0285387C */ if (_t39) goto L_02853880; else goto L_02853864;
|
|
L_02853880: ; // 0x2853880
|
|
/* 02853880 */ goto L_02853888;
|
|
L_02853884: ; // 0x2853884
|
|
/* 02853884 */ cpu->r[10] = 0x00000000u;
|
|
L_02853888: ; // 0x2853888
|
|
/* 02853888 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 02853888 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0285388C */ cpu->r[8] = cpu->r[7] - cpu->r[10];
|
|
/* 02853890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 02853894 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853894 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02853894 */ if (_t42) goto L_0285389C; else goto L_02853898;
|
|
L_02853898: ; // 0x2853898
|
|
/* 02853898 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0285389C: ; // 0x285389c
|
|
/* 0285389C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028538A0 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028538A0 */ _t44 = _t43 & 0x00000001u;
|
|
/* 028538A0 */ if (_t44) goto L_028538A4; else goto L_028538BC;
|
|
L_028538A4: ; // 0x28538a4
|
|
/* 028538A4 */ cpu->r[8] = cpu->r[12] + cpu->r[10];
|
|
/* 028538A8 */ cpu->ctr = cpu->r[30];
|
|
/* 028538AC */ cpu->r[0] = 0x00000020u;
|
|
/* 028538B0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_028538B4: ; // 0x28538b4
|
|
/* 028538B4 */ _t45 = cpu->r[8] + 0x00000001u;
|
|
/* 028538B4 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 028538B4 */ cpu->r[8] = _t45;
|
|
/* 028538B8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028538B8 */ _t46 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028538B8 */ _t47 = _t46 >> (0x00000002u & 31u);
|
|
/* 028538B8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 028538B8 */ if (_t48) goto L_028538B4; else goto L_028538BC;
|
|
L_028538BC: ; // 0x28538bc
|
|
/* 028538BC */ cpu->r[5] = cpu->r[10] + cpu->r[30];
|
|
/* 028538C0 */ _t49 = cpu->r[12] + cpu->r[5];
|
|
/* 028538C0 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[31]);
|
|
L_028538C4: ; // 0x28538c4
|
|
/* 028538C4 */ cpu->r[4] = 0x10130000u;
|
|
/* 028538C8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028538CC */ cpu->r[4] = cpu->r[4] + 0x00000618u;
|
|
/* 028538D0 */ _t50 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 028538D0 */ _t51 = _t50 & 0x00000001u;
|
|
/* 028538D0 */ if (_t51) goto L_028538D4; // else: addr-0 trap, fall-through
|
|
L_028538D4: ; // 0x28538d4
|
|
/* 028538D4 */ Gambit_fn_0282A718(cpu);
|
|
/* 028538D8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 028538DC */ cpu->r[3] = cpu->r[28];
|
|
/* 028538E0 */ Gambit_fn_028346EC(cpu);
|
|
/* 028538E4 */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 028538E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 028538E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028538EC */ _t53 = cpu->r[6] + 0x00000000u;
|
|
/* 028538EC */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[31]);
|
|
/* 028538F0 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028538F0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 028538F0 */ if (_t55) goto L_028538F4; else goto L_02853984;
|
|
L_028538F4: ; // 0x28538f4
|
|
/* 028538F4 */ _t56 = cpu->r[1] + 0x00000014u;
|
|
/* 028538F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 028538F8 */ _t57 = cpu->r[7] + 0x00000014u;
|
|
/* 028538F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57);
|
|
/* 028538FC */ cpu->ctr = cpu->r[8];
|
|
/* 02853900 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02853904 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02853908 */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 02853908 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0285390C */ cpu->r[8] = cpu->r[12];
|
|
/* 02853910 */ _t59 = cpu->r[8] + 0x00000000u;
|
|
/* 02853910 */ cpu->r[0] = rbrew_read8(cpu->mem, _t59);
|
|
/* 02853914 */ cpu->r[11] = 0x00000000u;
|
|
/* 02853918 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0285391C */ cpu->r[0] = 0x00080000u;
|
|
/* 02853920 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853920 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02853920 */ if (_t61) goto L_02853948; else goto L_02853924;
|
|
L_02853924: ; // 0x2853924
|
|
/* 02853924 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02853928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 0285392C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02853930 */ _t62 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02853930 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02853930 */ if (_t63) goto L_02853944; else goto L_02853934;
|
|
L_02853934: ; // 0x2853934
|
|
/* 02853934 */ _t64 = cpu->r[8] + 0x00000000u;
|
|
/* 02853934 */ cpu->r[10] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02853938 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0285393C */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285393C */ _t66 = _t65 & 0x00000001u;
|
|
/* 0285393C */ if (_t66) goto L_02853940; else goto L_02853924;
|
|
L_02853940: ; // 0x2853940
|
|
/* 02853940 */ goto L_02853948;
|
|
L_02853944: ; // 0x2853944
|
|
/* 02853944 */ cpu->r[11] = 0x00000000u;
|
|
L_02853948: ; // 0x2853948
|
|
/* 02853948 */ _t67 = cpu->r[1] + 0x00000018u;
|
|
/* 02853948 */ cpu->r[7] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0285394C */ cpu->r[9] = cpu->r[7] - cpu->r[11];
|
|
/* 02853950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 02853954 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853954 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02853954 */ if (_t69) goto L_0285395C; else goto L_02853958;
|
|
L_02853958: ; // 0x2853958
|
|
/* 02853958 */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0285395C: ; // 0x285395c
|
|
/* 0285395C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02853960 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02853960 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02853960 */ if (_t71) goto L_02853964; else goto L_0285397C;
|
|
L_02853964: ; // 0x2853964
|
|
/* 02853964 */ cpu->r[7] = cpu->r[12] + cpu->r[11];
|
|
/* 02853968 */ cpu->ctr = cpu->r[29];
|
|
/* 0285396C */ cpu->r[6] = 0x00000020u;
|
|
/* 02853970 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02853974: ; // 0x2853974
|
|
/* 02853974 */ _t72 = cpu->r[7] + 0x00000001u;
|
|
/* 02853974 */ rbrew_write8(cpu->mem, _t72, (uint8_t)cpu->r[6]);
|
|
/* 02853974 */ cpu->r[7] = _t72;
|
|
/* 02853978 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02853978 */ _t73 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02853978 */ _t74 = _t73 >> (0x00000002u & 31u);
|
|
/* 02853978 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02853978 */ if (_t75) goto L_02853974; else goto L_0285397C;
|
|
L_0285397C: ; // 0x285397c
|
|
/* 0285397C */ cpu->r[5] = cpu->r[11] + cpu->r[29];
|
|
/* 02853980 */ _t76 = cpu->r[12] + cpu->r[5];
|
|
/* 02853980 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[31]);
|
|
L_02853984: ; // 0x2853984
|
|
/* 02853984 */ cpu->r[4] = 0x10130000u;
|
|
/* 02853988 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0285398C */ _t77 = cpu->r[27] + 0x0000009Cu;
|
|
/* 0285398C */ cpu->r[5] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02853990 */ cpu->r[4] = cpu->r[4] + 0x00000634u;
|
|
/* 02853994 */ _t78 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02853994 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02853994 */ if (_t79) goto L_02853998; // else: addr-0 trap, fall-through
|
|
L_02853998: ; // 0x2853998
|
|
/* 02853998 */ Gambit_fn_0282A718(cpu);
|
|
/* 0285399C */ cpu->r[3] = cpu->r[28];
|
|
/* 028539A0 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 028539A4 */ Gambit_fn_028346EC(cpu);
|
|
/* 028539A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 028539AC */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028539AC */ _t81 = _t80 & 0x00000001u;
|
|
/* 028539AC */ if (_t81) goto L_028539B8; else goto L_028539B0;
|
|
L_028539B0: ; // 0x28539b0
|
|
/* 028539B0 */ cpu->r[3] = cpu->r[26];
|
|
/* 028539B4 */ Gambit_fn_02837030(cpu);
|
|
L_028539B8: ; // 0x28539b8
|
|
/* 028539B8 */ /* nop */
|
|
/* 028539BC */ _t82 = cpu->r[1] + 0x000000BCu;
|
|
/* 028539BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 028539C0 */ cpu->lr = cpu->r[0];
|
|
/* 028539C4 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 028539C8 */ return;
|
|
}
|
|
|
|
// fn_028539CC @ 0x28539cc
|
|
void Gambit_fn_028539CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_028539CC: ; // 0x28539cc
|
|
/* 028539CC */ cpu->r[0] = cpu->lr;
|
|
/* 028539D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028539D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028539D0 */ cpu->r[1] = _t0;
|
|
/* 028539D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028539D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028539D8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028539D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028539DC */ cpu->r[30] = cpu->r[3];
|
|
/* 028539DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028539E0 */ cpu->r[31] = cpu->r[4];
|
|
/* 028539E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028539E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028539E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028539E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028539E8 */ if (_t5) goto L_02853A28; else goto L_028539EC;
|
|
L_028539EC: ; // 0x28539ec
|
|
/* 028539EC */ cpu->r[0] = 0x10130000u;
|
|
/* 028539F0 */ cpu->r[12] = 0x10130000u;
|
|
/* 028539F4 */ cpu->r[0] = cpu->r[0] + 0x0000064Cu;
|
|
/* 028539F8 */ cpu->r[12] = cpu->r[12] + 0x000005B4u;
|
|
/* 028539FC */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028539FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02853A00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853A04 */ _t7 = cpu->r[30] + 0x00000018u;
|
|
/* 02853A04 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02853A08 */ Gambit_fn_02826714(cpu);
|
|
/* 02853A0C */ cpu->r[3] = cpu->r[30];
|
|
/* 02853A10 */ cpu->r[4] = 0x00000000u;
|
|
/* 02853A14 */ Gambit_fn_02826484(cpu);
|
|
/* 02853A18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02853A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02853A1C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853A1C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02853A1C */ if (_t9) goto L_02853A28; else goto L_02853A20;
|
|
L_02853A20: ; // 0x2853a20
|
|
/* 02853A20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853A24 */ Gambit_fn_02801BB0(cpu);
|
|
L_02853A28: ; // 0x2853a28
|
|
/* 02853A28 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02853A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02853A2C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02853A2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02853A30 */ cpu->lr = cpu->r[0];
|
|
/* 02853A34 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853A34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02853A38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02853A3C */ return;
|
|
}
|
|
|
|
// fn_028539D0 @ 0x28539d0
|
|
void Gambit_fn_028539D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_028539D0: ; // 0x28539d0
|
|
/* 028539D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028539D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028539D0 */ cpu->r[1] = _t0;
|
|
/* 028539D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028539D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028539D8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028539D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028539DC */ cpu->r[30] = cpu->r[3];
|
|
/* 028539DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028539E0 */ cpu->r[31] = cpu->r[4];
|
|
/* 028539E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028539E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028539E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028539E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028539E8 */ if (_t5) goto L_02853A28; else goto L_028539EC;
|
|
L_028539EC: ; // 0x28539ec
|
|
/* 028539EC */ cpu->r[0] = 0x10130000u;
|
|
/* 028539F0 */ cpu->r[12] = 0x10130000u;
|
|
/* 028539F4 */ cpu->r[0] = cpu->r[0] + 0x0000064Cu;
|
|
/* 028539F8 */ cpu->r[12] = cpu->r[12] + 0x000005B4u;
|
|
/* 028539FC */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028539FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02853A00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853A04 */ _t7 = cpu->r[30] + 0x00000018u;
|
|
/* 02853A04 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02853A08 */ Gambit_fn_02826714(cpu);
|
|
/* 02853A0C */ cpu->r[3] = cpu->r[30];
|
|
/* 02853A10 */ cpu->r[4] = 0x00000000u;
|
|
/* 02853A14 */ Gambit_fn_02826484(cpu);
|
|
/* 02853A18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02853A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02853A1C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853A1C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02853A1C */ if (_t9) goto L_02853A28; else goto L_02853A20;
|
|
L_02853A20: ; // 0x2853a20
|
|
/* 02853A20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853A24 */ Gambit_fn_02801BB0(cpu);
|
|
L_02853A28: ; // 0x2853a28
|
|
/* 02853A28 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02853A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02853A2C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02853A2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02853A30 */ cpu->lr = cpu->r[0];
|
|
/* 02853A34 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853A34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02853A38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02853A3C */ return;
|
|
}
|
|
|
|
// fn_02853A40 @ 0x2853a40
|
|
void Gambit_fn_02853A40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02853A40: ; // 0x2853a40
|
|
/* 02853A40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02853A44 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853A44 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02853A44 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02853A44 */ goto L_02853A48;
|
|
L_02853A48: ; // 0x2853a48
|
|
/* 02853A48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02853A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02853A4C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853A4C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02853A4C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02853A4C */ goto L_02853A50;
|
|
L_02853A50: ; // 0x2853a50
|
|
/* 02853A50 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02853A54 @ 0x2853a54
|
|
void Gambit_fn_02853A54(CPUState* cpu) {
|
|
L_02853A54: ; // 0x2853a54
|
|
/* 02853A54 */ return;
|
|
}
|
|
|
|
// fn_02853A58 @ 0x2853a58
|
|
void Gambit_fn_02853A58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02853A58: ; // 0x2853a58
|
|
/* 02853A58 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02853A58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02853A5C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02853A5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02853A60 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02853A64 */ cpu->r[11] = 0x10110000u;
|
|
/* 02853A68 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02853A68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02853A6C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02853A6C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02853A70 */ return;
|
|
}
|
|
|
|
// fn_02853A74 @ 0x2853a74
|
|
void Gambit_fn_02853A74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02853A74: ; // 0x2853a74
|
|
/* 02853A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02853A78 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853A78 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02853A78 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02853A78 */ goto L_02853A7C;
|
|
L_02853A7C: ; // 0x2853a7c
|
|
/* 02853A7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02853A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02853A80 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853A80 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02853A80 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02853A80 */ goto L_02853A84;
|
|
L_02853A84: ; // 0x2853a84
|
|
/* 02853A84 */ goto L_02801BB0;
|
|
}
|
|
|