mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
47847 lines
2.5 MiB
Plaintext
47847 lines
2.5 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_02804E88 @ 0x2804e88
|
|
void Gambit_fn_02804E88(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02804E88: ; // 0x2804e88
|
|
/* 02804E88 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02804E88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02804E8C */ _t1 = cpu->r[12] + 0x0000015Cu;
|
|
/* 02804E8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02804E90 */ cpu->r[4] = 0x00000000u;
|
|
/* 02804E94 */ rbrew_dispatch(cpu, 0x02d08e18u); return;
|
|
}
|
|
|
|
// fn_02804E98 @ 0x2804e98
|
|
void Gambit_fn_02804E98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02804E98: ; // 0x2804e98
|
|
/* 02804E98 */ cpu->r[0] = cpu->lr;
|
|
/* 02804E9C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02804E9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02804E9C */ cpu->r[1] = _t0;
|
|
/* 02804EA0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02804EA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02804EA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02804EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02804EA8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02804EA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02804EAC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02804EAC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02804EAC */ if (_t4) goto L_02804EB0; else goto L_02804EC0;
|
|
L_02804EB0: ; // 0x2804eb0
|
|
/* 02804EB0 */ cpu->r[3] = 0x00000AC8u;
|
|
/* 02804EB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02804EB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02804EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02804EBC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02804EBC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02804EBC */ if (_t6) goto L_02804EDC; else goto L_02804EC0;
|
|
L_02804EC0: ; // 0x2804ec0
|
|
/* 02804EC0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02804EC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02804EC8 */ cpu->r[12] = 0xFFFFFFFEu;
|
|
/* 02804ECC */ _t7 = cpu->r[31] + 0x00000AC0u;
|
|
/* 02804ECC */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 02804ED0 */ cpu->r[5] = 0x00000AC0u;
|
|
/* 02804ED4 */ _t8 = cpu->r[31] + 0x00000AC4u;
|
|
/* 02804ED4 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02804ED8 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_02804EDC: ; // 0x2804edc
|
|
/* 02804EDC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02804EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02804EE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02804EE4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02804EE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02804EE8 */ cpu->lr = cpu->r[0];
|
|
/* 02804EEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02804EF0 */ return;
|
|
}
|
|
|
|
// fn_02804E9C @ 0x2804e9c
|
|
void Gambit_fn_02804E9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02804E9C: ; // 0x2804e9c
|
|
/* 02804E9C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02804E9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02804E9C */ cpu->r[1] = _t0;
|
|
/* 02804EA0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02804EA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02804EA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02804EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02804EA8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02804EA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02804EAC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02804EAC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02804EAC */ if (_t4) goto L_02804EB0; else goto L_02804EC0;
|
|
L_02804EB0: ; // 0x2804eb0
|
|
/* 02804EB0 */ cpu->r[3] = 0x00000AC8u;
|
|
/* 02804EB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02804EB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02804EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02804EBC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02804EBC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02804EBC */ if (_t6) goto L_02804EDC; else goto L_02804EC0;
|
|
L_02804EC0: ; // 0x2804ec0
|
|
/* 02804EC0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02804EC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02804EC8 */ cpu->r[12] = 0xFFFFFFFEu;
|
|
/* 02804ECC */ _t7 = cpu->r[31] + 0x00000AC0u;
|
|
/* 02804ECC */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 02804ED0 */ cpu->r[5] = 0x00000AC0u;
|
|
/* 02804ED4 */ _t8 = cpu->r[31] + 0x00000AC4u;
|
|
/* 02804ED4 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02804ED8 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_02804EDC: ; // 0x2804edc
|
|
/* 02804EDC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02804EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02804EE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02804EE4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02804EE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02804EE8 */ cpu->lr = cpu->r[0];
|
|
/* 02804EEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02804EF0 */ return;
|
|
}
|
|
|
|
// fn_02804EF4 @ 0x2804ef4
|
|
void Gambit_fn_02804EF4(CPUState* cpu) {
|
|
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_02804EF4: ; // 0x2804ef4
|
|
/* 02804EF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02804EF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02804EF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02804EF8 */ cpu->r[1] = _t0;
|
|
/* 02804EFC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02804EFC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02804F00 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02804F00 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02804F04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02804F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02804F08 */ cpu->r[30] = cpu->r[4];
|
|
/* 02804F0C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02804F0C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02804F10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02804F10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02804F10 */ if (_t5) goto L_02804F14; else goto L_02804F24;
|
|
L_02804F14: ; // 0x2804f14
|
|
/* 02804F14 */ cpu->r[3] = 0x00000ADCu;
|
|
/* 02804F18 */ Gambit_fn_02801A78(cpu);
|
|
/* 02804F1C */ cpu->r[31] = cpu->r[3];
|
|
/* 02804F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02804F20 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02804F20 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02804F20 */ if (_t7) goto L_02804F78; else goto L_02804F24;
|
|
L_02804F24: ; // 0x2804f24
|
|
/* 02804F24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02804F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02804F28 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02804F28 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02804F28 */ if (_t9) goto L_02804F2C; else goto L_02804F3C;
|
|
L_02804F2C: ; // 0x2804f2c
|
|
/* 02804F2C */ cpu->r[3] = 0x00000014u;
|
|
/* 02804F30 */ Gambit_fn_02801A78(cpu);
|
|
/* 02804F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02804F38 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02804F38 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02804F38 */ if (_t11) goto L_02804F5C; else goto L_02804F3C;
|
|
L_02804F3C: ; // 0x2804f3c
|
|
/* 02804F3C */ cpu->r[0] = 0x10110000u;
|
|
/* 02804F40 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02804F40 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02804F44 */ cpu->r[0] = cpu->r[0] + 0x000021E4u;
|
|
/* 02804F48 */ cpu->r[10] = 0x00000000u;
|
|
/* 02804F4C */ _t13 = cpu->r[3] + 0x00000010u;
|
|
/* 02804F4C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02804F50 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 02804F50 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02804F54 */ _t15 = cpu->r[3] + 0x00000008u;
|
|
/* 02804F54 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02804F58 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02804F58 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
L_02804F5C: ; // 0x2804f5c
|
|
/* 02804F5C */ cpu->r[0] = 0x10110000u;
|
|
/* 02804F60 */ cpu->r[0] = cpu->r[0] + 0x0000221Cu;
|
|
/* 02804F64 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 02804F68 */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 02804F68 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02804F6C */ Gambit_fn_02804E98(cpu);
|
|
/* 02804F70 */ cpu->r[12] = 0x00000008u;
|
|
/* 02804F74 */ _t18 = cpu->r[31] + 0x00000008u;
|
|
/* 02804F74 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
L_02804F78: ; // 0x2804f78
|
|
/* 02804F78 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02804F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02804F7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02804F80 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02804F80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02804F84 */ cpu->lr = cpu->r[0];
|
|
/* 02804F88 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02804F88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02804F8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02804F90 */ return;
|
|
}
|
|
|
|
// fn_02804EF8 @ 0x2804ef8
|
|
void Gambit_fn_02804EF8(CPUState* cpu) {
|
|
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_02804EF8: ; // 0x2804ef8
|
|
/* 02804EF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02804EF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02804EF8 */ cpu->r[1] = _t0;
|
|
/* 02804EFC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02804EFC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02804F00 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02804F00 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02804F04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02804F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02804F08 */ cpu->r[30] = cpu->r[4];
|
|
/* 02804F0C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02804F0C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02804F10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02804F10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02804F10 */ if (_t5) goto L_02804F14; else goto L_02804F24;
|
|
L_02804F14: ; // 0x2804f14
|
|
/* 02804F14 */ cpu->r[3] = 0x00000ADCu;
|
|
/* 02804F18 */ Gambit_fn_02801A78(cpu);
|
|
/* 02804F1C */ cpu->r[31] = cpu->r[3];
|
|
/* 02804F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02804F20 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02804F20 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02804F20 */ if (_t7) goto L_02804F78; else goto L_02804F24;
|
|
L_02804F24: ; // 0x2804f24
|
|
/* 02804F24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02804F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02804F28 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02804F28 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02804F28 */ if (_t9) goto L_02804F2C; else goto L_02804F3C;
|
|
L_02804F2C: ; // 0x2804f2c
|
|
/* 02804F2C */ cpu->r[3] = 0x00000014u;
|
|
/* 02804F30 */ Gambit_fn_02801A78(cpu);
|
|
/* 02804F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02804F38 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02804F38 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02804F38 */ if (_t11) goto L_02804F5C; else goto L_02804F3C;
|
|
L_02804F3C: ; // 0x2804f3c
|
|
/* 02804F3C */ cpu->r[0] = 0x10110000u;
|
|
/* 02804F40 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02804F40 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02804F44 */ cpu->r[0] = cpu->r[0] + 0x000021E4u;
|
|
/* 02804F48 */ cpu->r[10] = 0x00000000u;
|
|
/* 02804F4C */ _t13 = cpu->r[3] + 0x00000010u;
|
|
/* 02804F4C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02804F50 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 02804F50 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02804F54 */ _t15 = cpu->r[3] + 0x00000008u;
|
|
/* 02804F54 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02804F58 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02804F58 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
L_02804F5C: ; // 0x2804f5c
|
|
/* 02804F5C */ cpu->r[0] = 0x10110000u;
|
|
/* 02804F60 */ cpu->r[0] = cpu->r[0] + 0x0000221Cu;
|
|
/* 02804F64 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 02804F68 */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 02804F68 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02804F6C */ Gambit_fn_02804E98(cpu);
|
|
/* 02804F70 */ cpu->r[12] = 0x00000008u;
|
|
/* 02804F74 */ _t18 = cpu->r[31] + 0x00000008u;
|
|
/* 02804F74 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
L_02804F78: ; // 0x2804f78
|
|
/* 02804F78 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02804F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02804F7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02804F80 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02804F80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02804F84 */ cpu->lr = cpu->r[0];
|
|
/* 02804F88 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02804F88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02804F8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02804F90 */ return;
|
|
}
|
|
|
|
// fn_02804F94 @ 0x2804f94
|
|
void Gambit_fn_02804F94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02804F94: ; // 0x2804f94
|
|
/* 02804F94 */ cpu->r[0] = cpu->lr;
|
|
/* 02804F98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02804F98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02804F98 */ cpu->r[1] = _t0;
|
|
/* 02804F9C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02804F9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02804FA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02804FA4 */ cpu->r[6] = cpu->r[31] + 0x00000AD8u;
|
|
/* 02804FA8 */ cpu->r[4] = cpu->r[31] + 0x00000014u;
|
|
/* 02804FAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02804FB0 */ cpu->r[5] = 0x00000010u;
|
|
/* 02804FB4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02804FB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02804FB8 */ rbrew_dispatch(cpu, 0x02d08048u);
|
|
/* 02804FBC */ _t3 = cpu->r[31] + 0x00000AD4u;
|
|
/* 02804FBC */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02804FC0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02804FC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02804FC4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02804FC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02804FC8 */ cpu->lr = cpu->r[0];
|
|
/* 02804FCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02804FD0 */ return;
|
|
}
|
|
|
|
// fn_02804F98 @ 0x2804f98
|
|
void Gambit_fn_02804F98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02804F98: ; // 0x2804f98
|
|
/* 02804F98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02804F98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02804F98 */ cpu->r[1] = _t0;
|
|
/* 02804F9C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02804F9C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02804FA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02804FA4 */ cpu->r[6] = cpu->r[31] + 0x00000AD8u;
|
|
/* 02804FA8 */ cpu->r[4] = cpu->r[31] + 0x00000014u;
|
|
/* 02804FAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02804FB0 */ cpu->r[5] = 0x00000010u;
|
|
/* 02804FB4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02804FB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02804FB8 */ rbrew_dispatch(cpu, 0x02d08048u);
|
|
/* 02804FBC */ _t3 = cpu->r[31] + 0x00000AD4u;
|
|
/* 02804FBC */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02804FC0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02804FC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02804FC4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02804FC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02804FC8 */ cpu->lr = cpu->r[0];
|
|
/* 02804FCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02804FD0 */ return;
|
|
}
|
|
|
|
// fn_02804FD4 @ 0x2804fd4
|
|
void Gambit_fn_02804FD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02804FD4: ; // 0x2804fd4
|
|
/* 02804FD4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02804FD8 */ _t0 = cpu->r[11] + 0xFFFFDC38u;
|
|
/* 02804FD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02804FD8 */ cpu->r[11] = _t0;
|
|
/* 02804FDC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02804FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02804FE4 */ cpu->r[12] = cpu->r[12] + 0x000014ACu;
|
|
/* 02804FE8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02804FE8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02804FE8 */ if (_t2) goto L_02804FEC; else goto L_02805000;
|
|
L_02804FEC: ; // 0x2804fec
|
|
/* 02804FEC */ cpu->r[9] = 0x10110000u;
|
|
/* 02804FF0 */ cpu->r[8] = 0x00000001u;
|
|
/* 02804FF4 */ cpu->r[9] = cpu->r[9] + 0x000021D4u;
|
|
/* 02804FF8 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 02804FF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02804FFC */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02804FFC */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02805000: ; // 0x2805000
|
|
/* 02805000 */ cpu->r[10] = cpu->r[4] ^ cpu->r[12];
|
|
/* 02805004 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 02805008 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0280500C */ return;
|
|
}
|
|
|
|
// fn_02805010 @ 0x2805010
|
|
void Gambit_fn_02805010(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02805010: ; // 0x2805010
|
|
/* 02805010 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02805014 */ _t0 = cpu->r[9] + 0xFFFFDC40u;
|
|
/* 02805014 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02805014 */ cpu->r[9] = _t0;
|
|
/* 02805018 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0280501C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02805020 */ cpu->r[12] = cpu->r[12] + 0x000014A8u;
|
|
/* 02805024 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805024 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02805024 */ if (_t2) goto L_02805028; else goto L_0280503C;
|
|
L_02805028: ; // 0x2805028
|
|
/* 02805028 */ cpu->r[7] = 0x10110000u;
|
|
/* 0280502C */ cpu->r[0] = 0x00000001u;
|
|
/* 02805030 */ cpu->r[7] = cpu->r[7] + 0x0000220Cu;
|
|
/* 02805034 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02805034 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02805038 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02805038 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_0280503C: ; // 0x280503c
|
|
/* 0280503C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02805040 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805040 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02805040 */ if (_t6) goto L_02805044; else goto L_0280504C;
|
|
L_02805044: ; // 0x2805044
|
|
/* 02805044 */ cpu->r[3] = 0x00000001u;
|
|
/* 02805048 */ return;
|
|
L_0280504C: ; // 0x280504c
|
|
/* 0280504C */ cpu->r[7] = 0x101D0000u;
|
|
/* 02805050 */ _t7 = cpu->r[7] + 0xFFFFDC38u;
|
|
/* 02805050 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02805050 */ cpu->r[7] = _t7;
|
|
/* 02805054 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02805058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0280505C */ cpu->r[11] = cpu->r[11] + 0x000014ACu;
|
|
/* 02805060 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805060 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02805060 */ if (_t9) goto L_02805064; else goto L_02805078;
|
|
L_02805064: ; // 0x2805064
|
|
/* 02805064 */ cpu->r[0] = 0x10110000u;
|
|
/* 02805068 */ cpu->r[9] = 0x00000001u;
|
|
/* 0280506C */ cpu->r[0] = cpu->r[0] + 0x000021D4u;
|
|
/* 02805070 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02805070 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02805074 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02805074 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02805078: ; // 0x2805078
|
|
/* 02805078 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 0280507C */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02805080 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02805084 */ return;
|
|
}
|
|
|
|
// fn_02805088 @ 0x2805088
|
|
void Gambit_fn_02805088(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02805088: ; // 0x2805088
|
|
/* 02805088 */ cpu->r[0] = cpu->lr;
|
|
/* 0280508C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280508C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280508C */ cpu->r[1] = _t0;
|
|
/* 02805090 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02805090 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02805094 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805094 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02805098 */ cpu->r[31] = cpu->r[3];
|
|
/* 02805098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280509C */ cpu->r[30] = cpu->r[4];
|
|
/* 028050A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028050A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028050A4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028050A4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028050A4 */ if (_t5) goto L_028050A8; else goto L_028050B8;
|
|
L_028050A8: ; // 0x28050a8
|
|
/* 028050A8 */ cpu->r[3] = 0x00000190u;
|
|
/* 028050AC */ Gambit_fn_02801A78(cpu);
|
|
/* 028050B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028050B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028050B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028050B4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028050B4 */ if (_t7) goto L_02805104; else goto L_028050B8;
|
|
L_028050B8: ; // 0x28050b8
|
|
/* 028050B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028050BC */ cpu->r[4] = cpu->r[30];
|
|
/* 028050C0 */ Gambit_fn_02802C30(cpu);
|
|
/* 028050C4 */ cpu->r[12] = 0x00000000u;
|
|
/* 028050C8 */ cpu->r[4] = 0x00000003u;
|
|
/* 028050CC */ _t8 = cpu->r[31] + 0x0000015Cu;
|
|
/* 028050CC */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 028050D0 */ cpu->r[0] = 0x10110000u;
|
|
/* 028050D4 */ cpu->r[6] = 0x02800000u;
|
|
/* 028050D8 */ _t9 = cpu->r[31] + 0x00000168u;
|
|
/* 028050D8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 028050DC */ cpu->r[0] = cpu->r[0] + 0x00002290u;
|
|
/* 028050E0 */ _t10 = cpu->r[31] + 0x00000160u;
|
|
/* 028050E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 028050E4 */ cpu->r[6] = cpu->r[6] + 0x00005600u;
|
|
/* 028050E8 */ cpu->r[5] = 0x0000000Cu;
|
|
/* 028050EC */ _t11 = cpu->r[31] + 0x00000158u;
|
|
/* 028050EC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 028050F0 */ cpu->r[3] = cpu->r[31] + 0x0000016Cu;
|
|
/* 028050F4 */ _t12 = cpu->r[31] + 0x00000164u;
|
|
/* 028050F4 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 028050F8 */ Gambit_fn_02C82E00(cpu);
|
|
/* 028050FC */ cpu->r[0] = 0x00000008u;
|
|
/* 02805100 */ _t13 = cpu->r[31] + 0x00000130u;
|
|
/* 02805100 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02805104: ; // 0x2805104
|
|
/* 02805104 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02805104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02805108 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280510C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280510C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02805110 */ cpu->lr = cpu->r[0];
|
|
/* 02805114 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02805114 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02805118 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280511C */ return;
|
|
}
|
|
|
|
// fn_0280508C @ 0x280508c
|
|
void Gambit_fn_0280508C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0280508C: ; // 0x280508c
|
|
/* 0280508C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280508C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280508C */ cpu->r[1] = _t0;
|
|
/* 02805090 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02805090 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02805094 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805094 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02805098 */ cpu->r[31] = cpu->r[3];
|
|
/* 02805098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280509C */ cpu->r[30] = cpu->r[4];
|
|
/* 028050A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028050A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028050A4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028050A4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028050A4 */ if (_t5) goto L_028050A8; else goto L_028050B8;
|
|
L_028050A8: ; // 0x28050a8
|
|
/* 028050A8 */ cpu->r[3] = 0x00000190u;
|
|
/* 028050AC */ Gambit_fn_02801A78(cpu);
|
|
/* 028050B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028050B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028050B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028050B4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028050B4 */ if (_t7) goto L_02805104; else goto L_028050B8;
|
|
L_028050B8: ; // 0x28050b8
|
|
/* 028050B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028050BC */ cpu->r[4] = cpu->r[30];
|
|
/* 028050C0 */ Gambit_fn_02802C30(cpu);
|
|
/* 028050C4 */ cpu->r[12] = 0x00000000u;
|
|
/* 028050C8 */ cpu->r[4] = 0x00000003u;
|
|
/* 028050CC */ _t8 = cpu->r[31] + 0x0000015Cu;
|
|
/* 028050CC */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 028050D0 */ cpu->r[0] = 0x10110000u;
|
|
/* 028050D4 */ cpu->r[6] = 0x02800000u;
|
|
/* 028050D8 */ _t9 = cpu->r[31] + 0x00000168u;
|
|
/* 028050D8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 028050DC */ cpu->r[0] = cpu->r[0] + 0x00002290u;
|
|
/* 028050E0 */ _t10 = cpu->r[31] + 0x00000160u;
|
|
/* 028050E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 028050E4 */ cpu->r[6] = cpu->r[6] + 0x00005600u;
|
|
/* 028050E8 */ cpu->r[5] = 0x0000000Cu;
|
|
/* 028050EC */ _t11 = cpu->r[31] + 0x00000158u;
|
|
/* 028050EC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 028050F0 */ cpu->r[3] = cpu->r[31] + 0x0000016Cu;
|
|
/* 028050F4 */ _t12 = cpu->r[31] + 0x00000164u;
|
|
/* 028050F4 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 028050F8 */ Gambit_fn_02C82E00(cpu);
|
|
/* 028050FC */ cpu->r[0] = 0x00000008u;
|
|
/* 02805100 */ _t13 = cpu->r[31] + 0x00000130u;
|
|
/* 02805100 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02805104: ; // 0x2805104
|
|
/* 02805104 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02805104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02805108 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280510C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280510C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02805110 */ cpu->lr = cpu->r[0];
|
|
/* 02805114 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02805114 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02805118 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280511C */ return;
|
|
}
|
|
|
|
// fn_02805120 @ 0x2805120
|
|
void Gambit_fn_02805120(CPUState* cpu) {
|
|
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_02805120: ; // 0x2805120
|
|
/* 02805120 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02805120 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02805124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02805128 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280512C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280512C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0280512C */ if (_t2) goto L_02805140; else goto L_02805130;
|
|
L_02805130: ; // 0x2805130
|
|
/* 02805130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02805134 */ cpu->r[11] = cpu->r[11] | 0x00000001u;
|
|
/* 02805138 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805138 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02805138 */ if (_t4) goto L_0280514C; else goto L_0280513C;
|
|
L_0280513C: ; // 0x280513c
|
|
/* 0280513C */ goto L_0280516C;
|
|
L_02805140: ; // 0x2805140
|
|
/* 02805140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02805144 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 02805148 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805148 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02805148 */ if (_t6) goto L_0280514C; else goto L_0280516C;
|
|
L_0280514C: ; // 0x280514c
|
|
/* 0280514C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02805150 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805150 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02805150 */ if (_t8) goto L_0280516C; else goto L_02805154;
|
|
L_02805154: ; // 0x2805154
|
|
/* 02805154 */ cpu->r[11] = cpu->r[11] | 0x00000002u;
|
|
/* 02805158 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Cu);
|
|
/* 0280515C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02805160 */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 02805160 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02805164 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805164 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02805164 */ if (_t11) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02805164 */ goto L_02805168;
|
|
L_02805168: ; // 0x2805168
|
|
/* 02805168 */ goto L_0280519C;
|
|
L_0280516C: ; // 0x280516c
|
|
/* 0280516C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02805170 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Du);
|
|
/* 02805174 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805174 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02805174 */ if (_t13) goto L_0280518C; else goto L_02805178;
|
|
L_02805178: ; // 0x2805178
|
|
/* 02805178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280517C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280517C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280517C */ if (_t15) goto L_02805180; else goto L_0280518C;
|
|
L_02805180: ; // 0x2805180
|
|
/* 02805180 */ cpu->r[12] = cpu->r[11] | 0x00000004u;
|
|
/* 02805184 */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 02805184 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02805188 */ return;
|
|
L_0280518C: ; // 0x280518c
|
|
/* 0280518C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Cu);
|
|
/* 02805190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02805194 */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 02805194 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02805198 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805198 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02805198 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02805198 */ goto L_0280519C;
|
|
L_0280519C: ; // 0x280519c
|
|
/* 0280519C */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 0280519C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[2]);
|
|
/* 028051A0 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 028051A0 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[1]);
|
|
/* 028051A4 */ return;
|
|
}
|
|
|
|
// fn_028051A8 @ 0x28051a8
|
|
void Gambit_fn_028051A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_028051A8: ; // 0x28051a8
|
|
/* 028051A8 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 028051A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028051A8 */ cpu->r[1] = _t0;
|
|
/* 028051AC */ /* nop */
|
|
/* 028051B0 */ cpu->r[0] = cpu->lr;
|
|
/* 028051B4 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 028051B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028051B8 */ cpu->r[29] = cpu->r[3];
|
|
/* 028051BC */ _t2 = cpu->r[29] + 0x00000134u;
|
|
/* 028051BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028051C0 */ cpu->r[4] = 0x00000008u;
|
|
/* 028051C4 */ Gambit_fn_02803E2C(cpu);
|
|
/* 028051C8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 028051CC */ _t3 = cpu->r[12] + 0xFFFFDC40u;
|
|
/* 028051CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028051CC */ cpu->r[12] = _t3;
|
|
/* 028051D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028051D4 */ cpu->r[4] = 0x101D0000u;
|
|
/* 028051D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 028051DC */ cpu->r[4] = cpu->r[4] + 0x000014A8u;
|
|
/* 028051E0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028051E0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028051E0 */ if (_t5) goto L_028051E4; else goto L_028051F8;
|
|
L_028051E4: ; // 0x28051e4
|
|
/* 028051E4 */ cpu->r[8] = 0x10110000u;
|
|
/* 028051E8 */ cpu->r[6] = 0x00000001u;
|
|
/* 028051EC */ cpu->r[8] = cpu->r[8] + 0x00002268u;
|
|
/* 028051F0 */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 028051F0 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 028051F4 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 028051F4 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
L_028051F8: ; // 0x28051f8
|
|
/* 028051F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028051FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028051FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 028051FC */ if (_t9) goto L_02805574; else goto L_02805200;
|
|
L_02805200: ; // 0x2805200
|
|
/* 02805200 */ _t10 = cpu->r[31] + 0x00000010u;
|
|
/* 02805200 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02805204 */ _t11 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02805204 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02805208 */ cpu->ctr = cpu->r[11];
|
|
/* 0280520C */ cpu->r[3] = cpu->r[31];
|
|
/* 02805210 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02805214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805218 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805218 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02805218 */ if (_t13) goto L_02805574; else goto L_0280521C;
|
|
L_0280521C: ; // 0x280521c
|
|
/* 0280521C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805220 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805220 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02805220 */ if (_t15) goto L_02805574; else goto L_02805224;
|
|
L_02805224: ; // 0x2805224
|
|
/* 02805224 */ _t16 = cpu->r[31] + 0x00000AD4u;
|
|
/* 02805224 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02805228 */ cpu->r[28] = cpu->r[31] + 0x00000014u;
|
|
/* 0280522C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02805230 */ cpu->r[30] = 0x00000000u;
|
|
/* 02805234 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02805234 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02805234 */ if (_t18) goto L_0280525C; else goto L_02805238;
|
|
L_02805238: ; // 0x2805238
|
|
/* 02805238 */ _t19 = cpu->r[28] + 0x00000AC4u;
|
|
/* 02805238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280523C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02805240 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805240 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02805240 */ if (_t21) goto L_02805244; else goto L_0280556C;
|
|
L_02805244: ; // 0x2805244
|
|
/* 02805244 */ _t22 = cpu->r[29] + 0x0000015Cu;
|
|
/* 02805244 */ cpu->r[5] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02805248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0280524C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280524C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0280524C */ if (_t24) goto L_0280556C; else goto L_02805250;
|
|
L_02805250: ; // 0x2805250
|
|
/* 02805250 */ _t25 = cpu->r[29] + 0x00000164u;
|
|
/* 02805250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02805254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x000000B4u);
|
|
/* 02805258 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02805258 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02805258 */ if (_t27) goto L_0280525C; else goto L_0280556C;
|
|
L_0280525C: ; // 0x280525c
|
|
/* 0280525C */ _t28 = cpu->r[28] + 0x00000000u;
|
|
/* 0280525C */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02805260 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x00000010u);
|
|
/* 02805260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02805264 */ cpu->r[0] = 0x00000000u;
|
|
/* 02805268 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805268 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02805268 */ if (_t30) goto L_02805270; else goto L_0280526C;
|
|
L_0280526C: ; // 0x280526c
|
|
/* 0280526C */ cpu->r[0] = 0x00000001u;
|
|
L_02805270: ; // 0x2805270
|
|
/* 02805270 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000011u, 0x00000011u);
|
|
/* 02805270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02805274 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805274 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02805274 */ if (_t32) goto L_0280527C; else goto L_02805278;
|
|
L_02805278: ; // 0x2805278
|
|
/* 02805278 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
L_0280527C: ; // 0x280527c
|
|
/* 0280527C */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000012u, 0x00000012u);
|
|
/* 0280527C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02805280 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805280 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02805280 */ if (_t34) goto L_02805288; else goto L_02805284;
|
|
L_02805284: ; // 0x2805284
|
|
/* 02805284 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
L_02805288: ; // 0x2805288
|
|
/* 02805288 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000013u, 0x00000013u);
|
|
/* 02805288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0280528C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280528C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0280528C */ if (_t36) goto L_02805294; else goto L_02805290;
|
|
L_02805290: ; // 0x2805290
|
|
/* 02805290 */ cpu->r[0] = cpu->r[0] | 0x00000010u;
|
|
L_02805294: ; // 0x2805294
|
|
/* 02805294 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02805294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02805298 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805298 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02805298 */ if (_t38) goto L_028052A0; else goto L_0280529C;
|
|
L_0280529C: ; // 0x280529c
|
|
/* 0280529C */ cpu->r[0] = cpu->r[0] | 0x00000C00u;
|
|
L_028052A0: ; // 0x28052a0
|
|
/* 028052A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 028052A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028052A4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028052A4 */ _t40 = _t39 & 0x00000001u;
|
|
/* 028052A4 */ if (_t40) goto L_028052AC; else goto L_028052A8;
|
|
L_028052A8: ; // 0x28052a8
|
|
/* 028052A8 */ cpu->r[0] = cpu->r[0] | 0x00001200u;
|
|
L_028052AC: ; // 0x28052ac
|
|
/* 028052AC */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 028052AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 028052B0 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028052B0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 028052B0 */ if (_t42) goto L_028052B8; else goto L_028052B4;
|
|
L_028052B4: ; // 0x28052b4
|
|
/* 028052B4 */ cpu->r[0] = cpu->r[0] | 0x00002000u;
|
|
L_028052B8: ; // 0x28052b8
|
|
/* 028052B8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 028052B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 028052BC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028052BC */ _t44 = _t43 & 0x00000001u;
|
|
/* 028052BC */ if (_t44) goto L_028052C4; else goto L_028052C0;
|
|
L_028052C0: ; // 0x28052c0
|
|
/* 028052C0 */ cpu->r[0] = cpu->r[0] | 0x00004000u;
|
|
L_028052C4: ; // 0x28052c4
|
|
/* 028052C4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x00000018u);
|
|
/* 028052C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 028052C8 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028052C8 */ _t46 = _t45 & 0x00000001u;
|
|
/* 028052C8 */ if (_t46) goto L_028052D0; else goto L_028052CC;
|
|
L_028052CC: ; // 0x28052cc
|
|
/* 028052CC */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
L_028052D0: ; // 0x28052d0
|
|
/* 028052D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000019u, 0x00000019u);
|
|
/* 028052D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 028052D4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028052D4 */ _t48 = _t47 & 0x00000001u;
|
|
/* 028052D4 */ if (_t48) goto L_028052DC; else goto L_028052D8;
|
|
L_028052D8: ; // 0x28052d8
|
|
/* 028052D8 */ cpu->r[0] = cpu->r[0] | 0x00000020u;
|
|
L_028052DC: ; // 0x28052dc
|
|
/* 028052DC */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 028052DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 028052E0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028052E0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 028052E0 */ if (_t50) goto L_028052E8; else goto L_028052E4;
|
|
L_028052E4: ; // 0x28052e4
|
|
/* 028052E4 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
L_028052E8: ; // 0x28052e8
|
|
/* 028052E8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000016u, 0x00000016u);
|
|
/* 028052E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028052EC */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028052EC */ _t52 = _t51 & 0x00000001u;
|
|
/* 028052EC */ if (_t52) goto L_028052F4; else goto L_028052F0;
|
|
L_028052F0: ; // 0x28052f0
|
|
/* 028052F0 */ cpu->r[0] = cpu->r[0] | 0x00010000u;
|
|
L_028052F4: ; // 0x28052f4
|
|
/* 028052F4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000017u, 0x00000017u);
|
|
/* 028052F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 028052F8 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028052F8 */ _t54 = _t53 & 0x00000001u;
|
|
/* 028052F8 */ if (_t54) goto L_02805300; else goto L_028052FC;
|
|
L_028052FC: ; // 0x28052fc
|
|
/* 028052FC */ cpu->r[0] = cpu->r[0] | 0x00020000u;
|
|
L_02805300: ; // 0x2805300
|
|
/* 02805300 */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000014u, 0x00000014u);
|
|
/* 02805300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02805304 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805304 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02805304 */ if (_t56) goto L_0280530C; else goto L_02805308;
|
|
L_02805308: ; // 0x2805308
|
|
/* 02805308 */ cpu->r[0] = cpu->r[0] | 0x00040000u;
|
|
L_0280530C: ; // 0x280530c
|
|
/* 0280530C */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000015u, 0x00000015u);
|
|
/* 0280530C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02805310 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805310 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02805310 */ if (_t58) goto L_02805318; else goto L_02805314;
|
|
L_02805314: ; // 0x2805314
|
|
/* 02805314 */ cpu->r[0] = cpu->r[0] | 0x00080000u;
|
|
L_02805318: ; // 0x2805318
|
|
/* 02805318 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000000Eu, 0x0000000Eu);
|
|
/* 02805318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0280531C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280531C */ _t60 = _t59 & 0x00000001u;
|
|
/* 0280531C */ if (_t60) goto L_02805324; else goto L_02805320;
|
|
L_02805320: ; // 0x2805320
|
|
/* 02805320 */ cpu->r[0] = cpu->r[0] | 0x00000040u;
|
|
L_02805324: ; // 0x2805324
|
|
/* 02805324 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000000Du, 0x0000000Du);
|
|
/* 02805324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02805328 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805328 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02805328 */ if (_t62) goto L_02805330; else goto L_0280532C;
|
|
L_0280532C: ; // 0x280532c
|
|
/* 0280532C */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
L_02805330: ; // 0x2805330
|
|
/* 02805330 */ _t63 = cpu->r[29] + 0x0000010Cu;
|
|
/* 02805330 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 02805334 */ _t64 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02805334 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 02805338 */ _t65 = cpu->r[28] + 0x00000010u;
|
|
/* 02805338 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 0280533C */ _t66 = cpu->r[29] + 0x00000118u;
|
|
/* 0280533C */ rbrew_write_f32(cpu->mem, _t66, cpu->f[12]);
|
|
/* 02805340 */ _t67 = cpu->r[29] + 0x0000011Cu;
|
|
/* 02805340 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[13]);
|
|
/* 02805344 */ _t68 = cpu->r[28] + 0x00000014u;
|
|
/* 02805344 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02805348 */ _t69 = cpu->r[28] + 0x00000018u;
|
|
/* 02805348 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 0280534C */ cpu->r[9] = 0x10110000u;
|
|
/* 02805350 */ _t70 = cpu->r[29] + 0x00000120u;
|
|
/* 02805350 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[12]);
|
|
/* 02805354 */ _t71 = cpu->r[9] + 0x00002278u;
|
|
/* 02805354 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02805358 */ _t72 = cpu->r[29] + 0x00000124u;
|
|
/* 02805358 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[13]);
|
|
/* 0280535C */ _t73 = cpu->r[29] + 0x00000128u;
|
|
/* 0280535C */ rbrew_write_f32(cpu->mem, _t73, cpu->f[0]);
|
|
/* 02805360 */ cpu->r[25] = 0x00000000u;
|
|
/* 02805364 */ _t74 = cpu->r[29] + 0x0000012Cu;
|
|
/* 02805364 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[0]);
|
|
/* 02805368 */ _t75 = cpu->r[28] + 0x00000AC0u;
|
|
/* 02805368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0280536C */ cpu->r[26] = cpu->r[25];
|
|
/* 02805370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805374 */ _t76 = cpu->r[29] + 0x00000160u;
|
|
/* 02805374 */ cpu->r[9] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02805378 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805378 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02805378 */ if (_t78) goto L_0280537C; else goto L_02805388;
|
|
L_0280537C: ; // 0x280537c
|
|
/* 0280537C */ cpu->r[31] = 0x00000001u;
|
|
/* 02805380 */ cpu->r[27] = cpu->r[28] + 0x00000052u;
|
|
/* 02805384 */ goto L_028053A0;
|
|
L_02805388: ; // 0x2805388
|
|
/* 02805388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 0280538C */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280538C */ _t80 = _t79 & 0x00000001u;
|
|
/* 0280538C */ if (_t80) goto L_02805390; else goto L_02805394;
|
|
L_02805390: ; // 0x2805390
|
|
/* 02805390 */ cpu->r[31] = cpu->r[9];
|
|
L_02805394: ; // 0x2805394
|
|
/* 02805394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805398 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805398 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02805398 */ if (_t82) goto L_02805404; else goto L_0280539C;
|
|
L_0280539C: ; // 0x280539c
|
|
/* 0280539C */ cpu->r[27] = cpu->r[28] + 0x00000052u;
|
|
L_028053A0: ; // 0x28053a0
|
|
/* 028053A0 */ _t83 = cpu->r[27] + 0x00000006u;
|
|
/* 028053A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t83);
|
|
/* 028053A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 028053A8 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028053A8 */ _t85 = _t84 & 0x00000001u;
|
|
/* 028053A8 */ if (_t85) goto L_028053F8; else goto L_028053AC;
|
|
L_028053AC: ; // 0x28053ac
|
|
/* 028053AC */ cpu->r[5] = cpu->r[27];
|
|
/* 028053B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028053B4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 028053B8 */ rbrew_dispatch(cpu, 0x02d07fd8u);
|
|
/* 028053BC */ _t86 = cpu->r[27] + 0x00000006u;
|
|
/* 028053BC */ cpu->r[10] = rbrew_read16(cpu->mem, _t86);
|
|
/* 028053C0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028053C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 028053C4 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028053C4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 028053C4 */ if (_t88) goto L_028053C8; else goto L_028053D4;
|
|
L_028053C8: ; // 0x28053c8
|
|
/* 028053C8 */ _t89 = cpu->r[1] + 0x00000010u;
|
|
/* 028053C8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t89);
|
|
/* 028053CC */ cpu->r[25] = 0x00000001u;
|
|
/* 028053D0 */ _t90 = cpu->r[1] + 0x00000008u;
|
|
/* 028053D0 */ rbrew_write16(cpu->mem, _t90, (uint16_t)cpu->r[8]);
|
|
L_028053D4: ; // 0x28053d4
|
|
/* 028053D4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 028053D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 028053D8 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028053D8 */ _t92 = _t91 & 0x00000001u;
|
|
/* 028053D8 */ if (_t92) goto L_028053DC; else goto L_028053E8;
|
|
L_028053DC: ; // 0x28053dc
|
|
/* 028053DC */ _t93 = cpu->r[1] + 0x00000012u;
|
|
/* 028053DC */ cpu->r[6] = rbrew_read16(cpu->mem, _t93);
|
|
/* 028053E0 */ cpu->r[26] = 0x00000001u;
|
|
/* 028053E4 */ _t94 = cpu->r[1] + 0x0000000Au;
|
|
/* 028053E4 */ rbrew_write16(cpu->mem, _t94, (uint16_t)cpu->r[6]);
|
|
L_028053E8: ; // 0x28053e8
|
|
/* 028053E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 028053EC */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028053EC */ _t96 = _t95 & 0x00000001u;
|
|
/* 028053EC */ if (_t96) goto L_028053F8; else goto L_028053F0;
|
|
L_028053F0: ; // 0x28053f0
|
|
/* 028053F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 028053F4 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028053F4 */ _t98 = _t97 & 0x00000001u;
|
|
/* 028053F4 */ if (_t98) goto L_028053F8; else goto L_02805404;
|
|
L_028053F8: ; // 0x28053f8
|
|
/* 028053F8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 028053F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028053FC */ cpu->r[27] = cpu->r[27] + 0x000000ACu;
|
|
/* 02805400 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805400 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02805400 */ if (_t100) goto L_02805404; else goto L_028053A0;
|
|
L_02805404: ; // 0x2805404
|
|
/* 02805404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02805408 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280540C */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280540C */ _t102 = _t101 & 0x00000001u;
|
|
/* 0280540C */ if (_t102) goto L_0280541C; else goto L_02805410;
|
|
L_02805410: ; // 0x2805410
|
|
/* 02805410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02805414 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805414 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02805414 */ if (_t104) goto L_0280541C; else goto L_02805418;
|
|
L_02805418: ; // 0x2805418
|
|
/* 02805418 */ cpu->r[0] = 0x00000001u;
|
|
L_0280541C: ; // 0x280541c
|
|
/* 0280541C */ _t105 = cpu->r[1] + 0x00000008u;
|
|
/* 0280541C */ cpu->r[12] = rbrew_read16(cpu->mem, _t105);
|
|
/* 02805420 */ _t106 = cpu->r[1] + 0x0000000Au;
|
|
/* 02805420 */ cpu->r[5] = rbrew_read16(cpu->mem, _t106);
|
|
/* 02805424 */ cpu->r[31] = 0x43300000u;
|
|
/* 02805428 */ _t107 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805428 */ rbrew_write32(cpu->mem, _t107, cpu->r[12]);
|
|
/* 0280542C */ cpu->r[27] = 0x10110000u;
|
|
/* 02805430 */ _t108 = cpu->r[1] + 0x00000018u;
|
|
/* 02805430 */ rbrew_write32(cpu->mem, _t108, cpu->r[31]);
|
|
/* 02805434 */ _t109 = cpu->r[1] + 0x00000018u;
|
|
/* 02805434 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t109);
|
|
/* 02805438 */ _t110 = cpu->r[27] + 0x00002280u;
|
|
/* 02805438 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t110);
|
|
/* 0280543C */ _t111 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280543C */ rbrew_write32(cpu->mem, _t111, cpu->r[5]);
|
|
/* 02805440 */ _t112 = cpu->r[1] + 0x00000018u;
|
|
/* 02805440 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t112);
|
|
/* 02805444 */ cpu->f[0] = cpu->f[13] - cpu->f[12];
|
|
/* 02805448 */ cpu->f[12] = cpu->f[11] - cpu->f[12];
|
|
/* 0280544C */ cpu->f[1] = (double)(float)cpu->f[0];
|
|
/* 02805450 */ cpu->f[2] = (double)(float)cpu->f[12];
|
|
/* 02805454 */ cpu->r[3] = cpu->r[29] + 0x0000016Cu;
|
|
/* 02805458 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0280545C */ Gambit_fn_02805120(cpu);
|
|
/* 02805460 */ cpu->r[5] = cpu->r[28] + 0x0000005Au;
|
|
/* 02805464 */ cpu->r[3] = 0x00000000u;
|
|
/* 02805468 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0280546C */ rbrew_dispatch(cpu, 0x02d07fd8u);
|
|
/* 02805470 */ _t113 = cpu->r[1] + 0x00000020u;
|
|
/* 02805470 */ cpu->r[0] = rbrew_read16(cpu->mem, _t113);
|
|
/* 02805474 */ _t114 = cpu->r[1] + 0x00000018u;
|
|
/* 02805474 */ rbrew_write32(cpu->mem, _t114, cpu->r[31]);
|
|
/* 02805478 */ _t115 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805478 */ rbrew_write32(cpu->mem, _t115, cpu->r[0]);
|
|
/* 0280547C */ _t116 = cpu->r[1] + 0x00000018u;
|
|
/* 0280547C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t116);
|
|
/* 02805480 */ _t117 = cpu->r[1] + 0x00000022u;
|
|
/* 02805480 */ cpu->r[8] = rbrew_read16(cpu->mem, _t117);
|
|
/* 02805484 */ _t118 = cpu->r[27] + 0x00002280u;
|
|
/* 02805484 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t118);
|
|
/* 02805488 */ _t119 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805488 */ rbrew_write32(cpu->mem, _t119, cpu->r[8]);
|
|
/* 0280548C */ _t120 = cpu->r[1] + 0x00000018u;
|
|
/* 0280548C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t120);
|
|
/* 02805490 */ cpu->f[11] = cpu->f[12] - cpu->f[0];
|
|
/* 02805494 */ _t121 = cpu->r[1] + 0x00000024u;
|
|
/* 02805494 */ cpu->r[6] = rbrew_read16(cpu->mem, _t121);
|
|
/* 02805498 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
|
|
/* 0280549C */ cpu->r[7] = cpu->r[6] ^ 0x00000001u;
|
|
/* 028054A0 */ cpu->f[1] = (double)(float)cpu->f[11];
|
|
/* 028054A4 */ cpu->r[9] = rbrew_clz32(cpu->r[7]);
|
|
/* 028054A8 */ cpu->f[2] = (double)(float)cpu->f[12];
|
|
/* 028054AC */ cpu->r[4] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028054B0 */ cpu->r[3] = cpu->r[29] + 0x00000178u;
|
|
/* 028054B4 */ Gambit_fn_02805120(cpu);
|
|
/* 028054B8 */ cpu->r[5] = cpu->r[28] + 0x00000062u;
|
|
/* 028054BC */ cpu->r[3] = 0x00000000u;
|
|
/* 028054C0 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 028054C4 */ rbrew_dispatch(cpu, 0x02d07fd8u);
|
|
/* 028054C8 */ _t122 = cpu->r[1] + 0x00000018u;
|
|
/* 028054C8 */ rbrew_write32(cpu->mem, _t122, cpu->r[31]);
|
|
/* 028054CC */ _t123 = cpu->r[1] + 0x00000028u;
|
|
/* 028054CC */ cpu->r[10] = rbrew_read16(cpu->mem, _t123);
|
|
/* 028054D0 */ _t124 = cpu->r[1] + 0x0000002Au;
|
|
/* 028054D0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t124);
|
|
/* 028054D4 */ cpu->r[12] = 0x10110000u;
|
|
/* 028054D8 */ _t125 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028054D8 */ rbrew_write32(cpu->mem, _t125, cpu->r[10]);
|
|
/* 028054DC */ _t126 = cpu->r[1] + 0x00000018u;
|
|
/* 028054DC */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t126);
|
|
/* 028054E0 */ _t127 = cpu->r[12] + 0x00002280u;
|
|
/* 028054E0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t127);
|
|
/* 028054E4 */ _t128 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028054E4 */ rbrew_write32(cpu->mem, _t128, cpu->r[0]);
|
|
/* 028054E8 */ _t129 = cpu->r[1] + 0x00000018u;
|
|
/* 028054E8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t129);
|
|
/* 028054EC */ cpu->f[11] = cpu->f[12] - cpu->f[13];
|
|
/* 028054F0 */ _t130 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028054F0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t130);
|
|
/* 028054F4 */ cpu->f[12] = cpu->f[0] - cpu->f[13];
|
|
/* 028054F8 */ cpu->r[5] = cpu->r[9] ^ 0x00000001u;
|
|
/* 028054FC */ cpu->f[1] = (double)(float)cpu->f[11];
|
|
/* 02805500 */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02805504 */ cpu->f[2] = (double)(float)cpu->f[12];
|
|
/* 02805508 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0280550C */ cpu->r[3] = cpu->r[29] + 0x00000184u;
|
|
/* 02805510 */ Gambit_fn_02805120(cpu);
|
|
/* 02805514 */ _t131 = cpu->r[29] + 0x00000168u;
|
|
/* 02805514 */ cpu->r[7] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02805518 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000000Cu);
|
|
/* 0280551C */ cpu->r[6] = cpu->r[29] + cpu->r[0];
|
|
/* 02805520 */ _t132 = cpu->r[6] + 0x00000174u;
|
|
/* 02805520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02805524 */ cpu->r[6] = cpu->r[6] + 0x0000016Cu;
|
|
/* 02805528 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280552C */ cpu->r[5] = 0x00000001u;
|
|
/* 02805530 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02805534 */ Gambit_fn_02803170(cpu);
|
|
/* 02805538 */ _t133 = cpu->r[28] + 0x00000AC4u;
|
|
/* 02805538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 0280553C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 02805540 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805540 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02805540 */ if (_t135) goto L_02805544; else goto L_0280554C;
|
|
L_02805544: ; // 0x2805544
|
|
/* 02805544 */ _t136 = cpu->r[29] + 0x00000164u;
|
|
/* 02805544 */ cpu->r[30] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02805548 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_0280554C: ; // 0x280554c
|
|
/* 0280554C */ _t137 = cpu->r[29] + 0x00000164u;
|
|
/* 0280554C */ rbrew_write32(cpu->mem, _t137, cpu->r[30]);
|
|
/* 02805550 */ cpu->r[7] = 0x00000001u;
|
|
/* 02805554 */ _t138 = cpu->r[29] + 0x0000015Cu;
|
|
/* 02805554 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[7]);
|
|
/* 02805558 */ /* nop */
|
|
/* 0280555C */ _t139 = cpu->r[1] + 0x00000054u;
|
|
/* 0280555C */ cpu->r[0] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02805560 */ cpu->lr = cpu->r[0];
|
|
/* 02805564 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02805568 */ return;
|
|
L_0280556C: ; // 0x280556c
|
|
/* 0280556C */ _t140 = cpu->r[29] + 0x00000164u;
|
|
/* 0280556C */ rbrew_write32(cpu->mem, _t140, cpu->r[30]);
|
|
/* 02805570 */ _t141 = cpu->r[29] + 0x0000015Cu;
|
|
/* 02805570 */ rbrew_write8(cpu->mem, _t141, (uint8_t)cpu->r[30]);
|
|
L_02805574: ; // 0x2805574
|
|
/* 02805574 */ /* nop */
|
|
/* 02805578 */ _t142 = cpu->r[1] + 0x00000054u;
|
|
/* 02805578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
|
|
/* 0280557C */ cpu->lr = cpu->r[0];
|
|
/* 02805580 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02805584 */ return;
|
|
}
|
|
|
|
// fn_02805588 @ 0x2805588
|
|
void Gambit_fn_02805588(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02805588: ; // 0x2805588
|
|
/* 02805588 */ cpu->r[9] = 0x101D0000u;
|
|
/* 0280558C */ _t0 = cpu->r[9] + 0xFFFFDC2Cu;
|
|
/* 0280558C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280558C */ cpu->r[9] = _t0;
|
|
/* 02805590 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02805594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02805598 */ cpu->r[12] = cpu->r[12] + 0x000015C4u;
|
|
/* 0280559C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280559C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0280559C */ if (_t2) goto L_028055A0; else goto L_028055B4;
|
|
L_028055A0: ; // 0x28055a0
|
|
/* 028055A0 */ cpu->r[7] = 0x10110000u;
|
|
/* 028055A4 */ cpu->r[0] = 0x00000001u;
|
|
/* 028055A8 */ cpu->r[7] = cpu->r[7] + 0x00002258u;
|
|
/* 028055AC */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 028055AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028055B0 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 028055B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_028055B4: ; // 0x28055b4
|
|
/* 028055B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 028055B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028055B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028055B8 */ if (_t6) goto L_028055BC; else goto L_028055C4;
|
|
L_028055BC: ; // 0x28055bc
|
|
/* 028055BC */ cpu->r[3] = 0x00000001u;
|
|
/* 028055C0 */ return;
|
|
L_028055C4: ; // 0x28055c4
|
|
/* 028055C4 */ cpu->r[7] = 0x101D0000u;
|
|
/* 028055C8 */ _t7 = cpu->r[7] + 0xFFFFD878u;
|
|
/* 028055C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028055C8 */ cpu->r[7] = _t7;
|
|
/* 028055CC */ cpu->r[11] = 0x101D0000u;
|
|
/* 028055D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 028055D4 */ cpu->r[11] = cpu->r[11] + 0x00001490u;
|
|
/* 028055D8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028055D8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028055D8 */ if (_t9) goto L_028055DC; else goto L_028055F0;
|
|
L_028055DC: ; // 0x28055dc
|
|
/* 028055DC */ cpu->r[0] = 0x10110000u;
|
|
/* 028055E0 */ cpu->r[9] = 0x00000001u;
|
|
/* 028055E4 */ cpu->r[0] = cpu->r[0] + 0x00002248u;
|
|
/* 028055E8 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 028055E8 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 028055EC */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 028055EC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_028055F0: ; // 0x28055f0
|
|
/* 028055F0 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 028055F4 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 028055F8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 028055FC */ return;
|
|
}
|
|
|
|
// fn_02805604 @ 0x2805604
|
|
void Gambit_fn_02805604(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02805604: ; // 0x2805604
|
|
/* 02805604 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02805604 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02805604 */ cpu->r[1] = _t0;
|
|
/* 02805608 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805608 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280560C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280560C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805610 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02805610 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02805614 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805614 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02805614 */ if (_t4) goto L_02805618; else goto L_02805628;
|
|
L_02805618: ; // 0x2805618
|
|
/* 02805618 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280561C */ Gambit_fn_02801A78(cpu);
|
|
/* 02805620 */ cpu->r[31] = cpu->r[3];
|
|
/* 02805620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805624 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805624 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02805624 */ if (_t6) goto L_0280565C; else goto L_02805628;
|
|
L_02805628: ; // 0x2805628
|
|
/* 02805628 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0280562C */ _t7 = cpu->r[11] + 0x00005924u;
|
|
/* 0280562C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280562C */ cpu->r[11] = _t7;
|
|
/* 02805630 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02805630 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02805634 */ _t9 = cpu->r[11] + 0x00000004u;
|
|
/* 02805634 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02805638 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02805638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280563C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0280563C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02805640 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805640 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02805640 */ if (_t12) goto L_02805644; else goto L_02805654;
|
|
L_02805644: ; // 0x2805644
|
|
/* 02805644 */ cpu->r[3] = 0x00000004u;
|
|
/* 02805648 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280564C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805650 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805650 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02805650 */ if (_t14) goto L_0280565C; else goto L_02805654;
|
|
L_02805654: ; // 0x2805654
|
|
/* 02805654 */ cpu->r[0] = 0x00000000u;
|
|
/* 02805658 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 02805658 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_0280565C: ; // 0x280565c
|
|
/* 0280565C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0280565C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02805660 */ cpu->r[3] = cpu->r[31];
|
|
/* 02805664 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805664 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02805668 */ cpu->lr = cpu->r[0];
|
|
/* 0280566C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02805670 */ return;
|
|
}
|
|
|
|
// fn_02805674 @ 0x2805674
|
|
void Gambit_fn_02805674(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02805674: ; // 0x2805674
|
|
/* 02805674 */ cpu->r[0] = cpu->lr;
|
|
/* 02805678 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02805678 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02805678 */ cpu->r[1] = _t0;
|
|
/* 0280567C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280567C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02805680 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805680 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02805684 */ cpu->r[31] = cpu->r[3];
|
|
/* 02805684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805688 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280568C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280568C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02805690 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805690 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02805690 */ if (_t5) goto L_02805694; else goto L_028056A4;
|
|
L_02805694: ; // 0x2805694
|
|
/* 02805694 */ cpu->r[3] = 0x00000040u;
|
|
/* 02805698 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280569C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280569C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028056A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028056A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028056A0 */ if (_t7) goto L_028056D0; else goto L_028056A4;
|
|
L_028056A4: ; // 0x28056a4
|
|
/* 028056A4 */ cpu->r[4] = cpu->r[30];
|
|
/* 028056A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028056AC */ Gambit_fn_0284F068(cpu);
|
|
/* 028056B0 */ cpu->r[12] = 0x10110000u;
|
|
/* 028056B4 */ cpu->r[0] = 0x00000000u;
|
|
/* 028056B8 */ cpu->r[12] = cpu->r[12] + 0x000022E8u;
|
|
/* 028056BC */ _t8 = cpu->r[31] + 0x00000030u;
|
|
/* 028056BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 028056C0 */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 028056C0 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 028056C4 */ rbrew_dispatch(cpu, 0x02d0ab30u);
|
|
/* 028056C8 */ _t10 = cpu->r[31] + 0x00000038u;
|
|
/* 028056C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 028056CC */ _t11 = cpu->r[31] + 0x0000003Cu;
|
|
/* 028056CC */ rbrew_write32(cpu->mem, _t11, cpu->r[4]);
|
|
L_028056D0: ; // 0x28056d0
|
|
/* 028056D0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 028056D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028056D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028056D8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028056D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028056DC */ cpu->lr = cpu->r[0];
|
|
/* 028056E0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 028056E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028056E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028056E8 */ return;
|
|
}
|
|
|
|
// fn_02805678 @ 0x2805678
|
|
void Gambit_fn_02805678(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02805678: ; // 0x2805678
|
|
/* 02805678 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02805678 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02805678 */ cpu->r[1] = _t0;
|
|
/* 0280567C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280567C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02805680 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805680 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02805684 */ cpu->r[31] = cpu->r[3];
|
|
/* 02805684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805688 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280568C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280568C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02805690 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805690 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02805690 */ if (_t5) goto L_02805694; else goto L_028056A4;
|
|
L_02805694: ; // 0x2805694
|
|
/* 02805694 */ cpu->r[3] = 0x00000040u;
|
|
/* 02805698 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280569C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280569C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028056A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028056A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028056A0 */ if (_t7) goto L_028056D0; else goto L_028056A4;
|
|
L_028056A4: ; // 0x28056a4
|
|
/* 028056A4 */ cpu->r[4] = cpu->r[30];
|
|
/* 028056A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028056AC */ Gambit_fn_0284F068(cpu);
|
|
/* 028056B0 */ cpu->r[12] = 0x10110000u;
|
|
/* 028056B4 */ cpu->r[0] = 0x00000000u;
|
|
/* 028056B8 */ cpu->r[12] = cpu->r[12] + 0x000022E8u;
|
|
/* 028056BC */ _t8 = cpu->r[31] + 0x00000030u;
|
|
/* 028056BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 028056C0 */ _t9 = cpu->r[31] + 0x00000010u;
|
|
/* 028056C0 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 028056C4 */ rbrew_dispatch(cpu, 0x02d0ab30u);
|
|
/* 028056C8 */ _t10 = cpu->r[31] + 0x00000038u;
|
|
/* 028056C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 028056CC */ _t11 = cpu->r[31] + 0x0000003Cu;
|
|
/* 028056CC */ rbrew_write32(cpu->mem, _t11, cpu->r[4]);
|
|
L_028056D0: ; // 0x28056d0
|
|
/* 028056D0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 028056D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028056D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028056D8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028056D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028056DC */ cpu->lr = cpu->r[0];
|
|
/* 028056E0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 028056E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028056E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028056E8 */ return;
|
|
}
|
|
|
|
// fn_028056EC @ 0x28056ec
|
|
void Gambit_fn_028056EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_028056EC: ; // 0x28056ec
|
|
/* 028056EC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028056EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028056EC */ cpu->r[1] = _t0;
|
|
/* 028056F0 */ /* nop */
|
|
/* 028056F4 */ cpu->r[0] = cpu->lr;
|
|
/* 028056F8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 028056F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028056FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02805700 */ _t2 = cpu->r[30] + 0x00000014u;
|
|
/* 02805700 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02805704 */ cpu->r[28] = 0x00000000u;
|
|
/* 02805708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0280570C */ _t3 = cpu->r[30] + 0x00000018u;
|
|
/* 0280570C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02805710 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805710 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02805710 */ if (_t5) goto L_028058C4; else goto L_02805714;
|
|
L_02805714: ; // 0x2805714
|
|
/* 02805714 */ cpu->r[29] = 0x101F0000u;
|
|
/* 02805718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280571C */ cpu->r[29] = cpu->r[29] + 0x00006C30u;
|
|
/* 02805720 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805720 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02805720 */ if (_t7) goto L_02805724; else goto L_028057FC;
|
|
L_02805724: ; // 0x2805724
|
|
/* 02805724 */ cpu->r[31] = 0x00000000u;
|
|
/* 02805728 */ cpu->r[27] = cpu->r[30] + 0x00000020u;
|
|
/* 0280572C */ cpu->r[5] = 0x0000000Fu;
|
|
/* 02805730 */ cpu->r[4] = cpu->r[31];
|
|
/* 02805734 */ cpu->r[3] = cpu->r[27];
|
|
/* 02805738 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 0280573C */ _t8 = cpu->r[30] + 0x00000014u;
|
|
/* 0280573C */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02805740 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02805740 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02805744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02805748 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805748 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02805748 */ if (_t11) goto L_0280578C; else goto L_0280574C;
|
|
L_0280574C: ; // 0x280574c
|
|
/* 0280574C */ cpu->r[7] = 0x00000001u;
|
|
L_02805750: ; // 0x2805750
|
|
/* 02805750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000002Au);
|
|
/* 02805754 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805754 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02805754 */ if (_t13) goto L_02805758; else goto L_02805770;
|
|
L_02805758: ; // 0x2805758
|
|
/* 02805758 */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 0280575C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02805760 */ /* nop */
|
|
/* 02805764 */ _t14 = cpu->r[27] + cpu->r[0];
|
|
/* 02805764 */ cpu->r[10] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02805768 */ cpu->r[10] = cpu->r[10] | cpu->r[9];
|
|
/* 0280576C */ _t15 = cpu->r[27] + cpu->r[0];
|
|
/* 0280576C */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[10]);
|
|
L_02805770: ; // 0x2805770
|
|
/* 02805770 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02805774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000078u);
|
|
/* 02805778 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805778 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02805778 */ if (_t17) goto L_0280578C; else goto L_0280577C;
|
|
L_0280577C: ; // 0x280577c
|
|
/* 0280577C */ _t18 = cpu->r[30] + 0x00000014u;
|
|
/* 0280577C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02805780 */ _t19 = cpu->r[12] + cpu->r[31];
|
|
/* 02805780 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02805784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02805788 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805788 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02805788 */ if (_t21) goto L_0280578C; else goto L_02805750;
|
|
L_0280578C: ; // 0x280578c
|
|
/* 0280578C */ cpu->r[4] = cpu->r[27];
|
|
/* 02805790 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02805794 */ cpu->r[3] = 0x00000000u;
|
|
/* 02805798 */ _t22 = cpu->r[30] + 0x00000030u;
|
|
/* 02805798 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
|
|
/* 0280579C */ rbrew_dispatch(cpu, 0x02d07ef8u);
|
|
/* 028057A0 */ rbrew_dispatch(cpu, 0x02d0ab30u);
|
|
/* 028057A4 */ _t23 = cpu->r[30] + 0x00000030u;
|
|
/* 028057A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028057A8 */ cpu->r[27] = cpu->r[3];
|
|
/* 028057AC */ cpu->r[31] = cpu->r[4];
|
|
/* 028057B0 */ _t24 = cpu->r[30] + 0x00000038u;
|
|
/* 028057B0 */ rbrew_write32(cpu->mem, _t24, cpu->r[27]);
|
|
/* 028057B4 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000208Du);
|
|
/* 028057B8 */ _t25 = cpu->r[30] + 0x0000003Cu;
|
|
/* 028057B8 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
/* 028057BC */ _t26 = cpu->r[29] + 0x00000004u;
|
|
/* 028057BC */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028057C0 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 028057C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 028057C4 */ /* nop */
|
|
/* 028057C8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[12]);
|
|
/* 028057CC */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[5]);
|
|
/* 028057D0 */ cpu->r[5] = 0x00000000u;
|
|
/* 028057D4 */ cpu->r[3] = cpu->r[11] + cpu->r[0];
|
|
/* 028057D8 */ cpu->r[6] = 0x000003E8u;
|
|
/* 028057DC */ Gambit_fn_02C89EC8(cpu);
|
|
/* 028057E0 */ cpu->r[6] = 0x000003E8u;
|
|
/* 028057E4 */ cpu->r[5] = 0x00000000u;
|
|
/* 028057E8 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 028057EC */ cpu->r[9] = cpu->r[31] + cpu->r[4];
|
|
/* 028057F0 */ cpu->r[8] = cpu->r[27] + cpu->r[3];
|
|
/* 028057F4 */ _t28 = cpu->r[30] + 0x0000003Cu;
|
|
/* 028057F4 */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 028057F8 */ _t29 = cpu->r[30] + 0x00000038u;
|
|
/* 028057F8 */ rbrew_write32(cpu->mem, _t29, cpu->r[8]);
|
|
L_028057FC: ; // 0x28057fc
|
|
/* 028057FC */ rbrew_dispatch(cpu, 0x02d0ab30u);
|
|
/* 02805800 */ _t30 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02805800 */ cpu->r[7] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02805804 */ _t31 = cpu->r[30] + 0x00000038u;
|
|
/* 02805804 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02805808 */ cpu->r[5] = cpu->r[4] - cpu->r[7];
|
|
/* 0280580C */ cpu->r[12] = cpu->r[3] - cpu->r[6];
|
|
/* 0280580C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02805810 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02805810 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02805810 */ if (_t33) goto L_028058B0; else goto L_02805814;
|
|
L_02805814: ; // 0x2805814
|
|
/* 02805814 */ _t34 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02805814 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02805818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0280581C */ _t35 = cpu->r[30] + 0x00000018u;
|
|
/* 0280581C */ rbrew_write32(cpu->mem, _t35, cpu->r[28]);
|
|
/* 02805820 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805820 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02805820 */ if (_t37) goto L_02805844; else goto L_02805824;
|
|
L_02805824: ; // 0x2805824
|
|
/* 02805824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02805828 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805828 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02805828 */ if (_t39) goto L_0280582C; else goto L_0280583C;
|
|
L_0280582C: ; // 0x280582c
|
|
/* 0280582C */ _t40 = cpu->r[30] + 0x00000014u;
|
|
/* 0280582C */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
/* 02805830 */ cpu->r[3] = 0x00000000u;
|
|
/* 02805834 */ _t41 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02805834 */ rbrew_write32(cpu->mem, _t41, cpu->r[28]);
|
|
/* 02805838 */ goto L_028058DC;
|
|
L_0280583C: ; // 0x280583c
|
|
/* 0280583C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02805840 */ _t42 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02805840 */ rbrew_write32(cpu->mem, _t42, cpu->r[10]);
|
|
L_02805844: ; // 0x2805844
|
|
/* 02805844 */ _t43 = cpu->r[30] + 0x00000033u;
|
|
/* 02805844 */ cpu->r[5] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02805848 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280584C */ cpu->r[4] = cpu->r[30] + 0x00000020u;
|
|
/* 02805850 */ rbrew_dispatch(cpu, 0x02d07ef8u);
|
|
/* 02805854 */ rbrew_dispatch(cpu, 0x02d0ab30u);
|
|
/* 02805858 */ _t44 = cpu->r[30] + 0x00000030u;
|
|
/* 02805858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0280585C */ cpu->r[27] = cpu->r[3];
|
|
/* 02805860 */ cpu->r[31] = cpu->r[4];
|
|
/* 02805864 */ _t45 = cpu->r[30] + 0x00000038u;
|
|
/* 02805864 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 02805868 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000208Du);
|
|
/* 0280586C */ _t46 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0280586C */ rbrew_write32(cpu->mem, _t46, cpu->r[31]);
|
|
/* 02805870 */ _t47 = cpu->r[29] + 0x00000004u;
|
|
/* 02805870 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02805874 */ /* nop */
|
|
/* 02805878 */ _t48 = cpu->r[29] + 0x00000000u;
|
|
/* 02805878 */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0280587C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[9]);
|
|
/* 02805880 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[10]);
|
|
/* 02805884 */ cpu->r[3] = cpu->r[6] + cpu->r[8];
|
|
/* 02805888 */ cpu->r[6] = 0x000003E8u;
|
|
/* 0280588C */ cpu->r[5] = 0x00000000u;
|
|
/* 02805890 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02805894 */ cpu->r[6] = 0x000003E8u;
|
|
/* 02805898 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280589C */ Gambit_fn_02C89EC8(cpu);
|
|
/* 028058A0 */ cpu->r[0] = cpu->r[31] + cpu->r[4];
|
|
/* 028058A4 */ cpu->r[11] = cpu->r[27] + cpu->r[3];
|
|
/* 028058A8 */ _t49 = cpu->r[30] + 0x0000003Cu;
|
|
/* 028058A8 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 028058AC */ _t50 = cpu->r[30] + 0x00000038u;
|
|
/* 028058AC */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
L_028058B0: ; // 0x28058b0
|
|
/* 028058B0 */ _t51 = cpu->r[30] + 0x00000018u;
|
|
/* 028058B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 028058B4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028058B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 028058BC */ _t52 = cpu->r[30] + 0x00000018u;
|
|
/* 028058BC */ rbrew_write32(cpu->mem, _t52, cpu->r[12]);
|
|
/* 028058C0 */ goto L_028058DC;
|
|
L_028058C4: ; // 0x28058c4
|
|
/* 028058C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028058C8 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028058C8 */ _t54 = _t53 & 0x00000001u;
|
|
/* 028058C8 */ if (_t54) goto L_028058D8; else goto L_028058CC;
|
|
L_028058CC: ; // 0x28058cc
|
|
/* 028058CC */ cpu->r[3] = 0x00000000u;
|
|
/* 028058D0 */ rbrew_dispatch(cpu, 0x02d08148u);
|
|
/* 028058D4 */ _t55 = cpu->r[30] + 0x00000018u;
|
|
/* 028058D4 */ rbrew_write32(cpu->mem, _t55, cpu->r[28]);
|
|
L_028058D8: ; // 0x28058d8
|
|
/* 028058D8 */ cpu->r[3] = 0x00000000u;
|
|
L_028058DC: ; // 0x28058dc
|
|
/* 028058DC */ /* nop */
|
|
/* 028058E0 */ _t56 = cpu->r[1] + 0x00000024u;
|
|
/* 028058E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 028058E4 */ cpu->lr = cpu->r[0];
|
|
/* 028058E8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028058EC */ return;
|
|
}
|
|
|
|
// fn_028058F0 @ 0x28058f0
|
|
void Gambit_fn_028058F0(CPUState* cpu) {
|
|
L_028058F0: ; // 0x28058f0
|
|
/* 028058F0 */ return;
|
|
}
|
|
|
|
// fn_028058F4 @ 0x28058f4
|
|
void Gambit_fn_028058F4(CPUState* cpu) {
|
|
L_028058F4: ; // 0x28058f4
|
|
/* 028058F4 */ return;
|
|
}
|
|
|
|
// fn_028058F8 @ 0x28058f8
|
|
void Gambit_fn_028058F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_028058F8: ; // 0x28058f8
|
|
/* 028058F8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 028058F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028058F8 */ cpu->r[1] = _t0;
|
|
/* 028058FC */ cpu->r[0] = cpu->lr;
|
|
/* 02805900 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02805900 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02805904 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02805904 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02805908 */ /* nop */
|
|
/* 0280590C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0280590C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02805910 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02805910 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02805914 */ cpu->r[30] = cpu->r[4];
|
|
/* 02805918 */ cpu->r[31] = cpu->r[3];
|
|
/* 02805918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280591C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280591C */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 02805920 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02805920 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02805924 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805924 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02805924 */ if (_t8) goto L_02805928; else goto L_02805938;
|
|
L_02805928: ; // 0x2805928
|
|
/* 02805928 */ cpu->r[3] = 0x000001B0u;
|
|
/* 0280592C */ Gambit_fn_02801A78(cpu);
|
|
/* 02805930 */ cpu->r[31] = cpu->r[3];
|
|
/* 02805930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805934 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805934 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02805934 */ if (_t10) goto L_02805AA0; else goto L_02805938;
|
|
L_02805938: ; // 0x2805938
|
|
/* 02805938 */ cpu->r[3] = cpu->r[31];
|
|
/* 02805938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280593C */ cpu->r[29] = 0x00000000u;
|
|
/* 02805940 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805940 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02805940 */ if (_t12) goto L_02805944; else goto L_02805954;
|
|
L_02805944: ; // 0x2805944
|
|
/* 02805944 */ cpu->r[3] = 0x00000014u;
|
|
/* 02805948 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280594C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805950 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805950 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02805950 */ if (_t14) goto L_02805970; else goto L_02805954;
|
|
L_02805954: ; // 0x2805954
|
|
/* 02805954 */ cpu->r[0] = 0x10110000u;
|
|
/* 02805958 */ _t15 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02805958 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 0280595C */ cpu->r[0] = cpu->r[0] + 0x00002330u;
|
|
/* 02805960 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02805960 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02805964 */ _t17 = cpu->r[3] + 0x00000010u;
|
|
/* 02805964 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02805968 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02805968 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 0280596C */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 0280596C */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
L_02805970: ; // 0x2805970
|
|
/* 02805970 */ cpu->r[0] = 0x10110000u;
|
|
/* 02805974 */ cpu->r[0] = cpu->r[0] + 0x0000236Cu;
|
|
/* 02805978 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 02805978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280597C */ _t20 = cpu->r[31] + 0x00000010u;
|
|
/* 0280597C */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02805980 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805980 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02805980 */ if (_t22) goto L_02805984; else goto L_02805994;
|
|
L_02805984: ; // 0x2805984
|
|
/* 02805984 */ cpu->r[3] = 0x00000020u;
|
|
/* 02805988 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280598C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805990 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805990 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02805990 */ if (_t24) goto L_028059A0; else goto L_02805994;
|
|
L_02805994: ; // 0x2805994
|
|
/* 02805994 */ cpu->r[5] = 0x00000020u;
|
|
/* 02805998 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280599C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_028059A0: ; // 0x28059a0
|
|
/* 028059A0 */ cpu->r[3] = cpu->r[31] + 0x00000034u;
|
|
/* 028059A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028059A4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028059A4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 028059A4 */ if (_t26) goto L_028059A8; else goto L_028059B8;
|
|
L_028059A8: ; // 0x28059a8
|
|
/* 028059A8 */ cpu->r[3] = 0x00000020u;
|
|
/* 028059AC */ Gambit_fn_02801A78(cpu);
|
|
/* 028059B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028059B4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028059B4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 028059B4 */ if (_t28) goto L_028059C4; else goto L_028059B8;
|
|
L_028059B8: ; // 0x28059b8
|
|
/* 028059B8 */ cpu->r[5] = 0x00000020u;
|
|
/* 028059BC */ cpu->r[4] = 0x00000000u;
|
|
/* 028059C0 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_028059C4: ; // 0x28059c4
|
|
/* 028059C4 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
|
|
/* 028059C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028059C8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028059C8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 028059C8 */ if (_t30) goto L_028059CC; else goto L_028059DC;
|
|
L_028059CC: ; // 0x28059cc
|
|
/* 028059CC */ cpu->r[3] = 0x00000020u;
|
|
/* 028059D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028059D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028059D8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028059D8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 028059D8 */ if (_t32) goto L_028059E8; else goto L_028059DC;
|
|
L_028059DC: ; // 0x28059dc
|
|
/* 028059DC */ cpu->r[5] = 0x00000020u;
|
|
/* 028059E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 028059E4 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_028059E8: ; // 0x28059e8
|
|
/* 028059E8 */ cpu->r[3] = cpu->r[31] + 0x00000074u;
|
|
/* 028059E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028059EC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028059EC */ _t34 = _t33 & 0x00000001u;
|
|
/* 028059EC */ if (_t34) goto L_028059F0; else goto L_02805A00;
|
|
L_028059F0: ; // 0x28059f0
|
|
/* 028059F0 */ cpu->r[3] = 0x00000020u;
|
|
/* 028059F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028059F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028059FC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028059FC */ _t36 = _t35 & 0x00000001u;
|
|
/* 028059FC */ if (_t36) goto L_02805A0C; else goto L_02805A00;
|
|
L_02805A00: ; // 0x2805a00
|
|
/* 02805A00 */ cpu->r[5] = 0x00000020u;
|
|
/* 02805A04 */ cpu->r[4] = 0x00000000u;
|
|
/* 02805A08 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
L_02805A0C: ; // 0x2805a0c
|
|
/* 02805A0C */ cpu->r[12] = 0x10110000u;
|
|
/* 02805A10 */ cpu->r[3] = cpu->r[31] + 0x00000194u;
|
|
/* 02805A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805A14 */ _t37 = cpu->r[12] + 0x00002368u;
|
|
/* 02805A14 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02805A18 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805A18 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02805A18 */ if (_t39) goto L_02805A1C; else goto L_02805A2C;
|
|
L_02805A1C: ; // 0x2805a1c
|
|
/* 02805A1C */ cpu->r[3] = 0x00000008u;
|
|
/* 02805A20 */ Gambit_fn_02801A78(cpu);
|
|
/* 02805A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805A28 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805A28 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02805A28 */ if (_t41) goto L_02805A34; else goto L_02805A2C;
|
|
L_02805A2C: ; // 0x2805a2c
|
|
/* 02805A2C */ _t42 = cpu->r[3] + 0x00000004u;
|
|
/* 02805A2C */ rbrew_write_f32(cpu->mem, _t42, cpu->f[31]);
|
|
/* 02805A30 */ _t43 = cpu->r[3] + 0x00000000u;
|
|
/* 02805A30 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[31]);
|
|
L_02805A34: ; // 0x2805a34
|
|
/* 02805A34 */ cpu->r[3] = cpu->r[31] + 0x0000019Cu;
|
|
/* 02805A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805A38 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805A38 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02805A38 */ if (_t45) goto L_02805A3C; else goto L_02805A4C;
|
|
L_02805A3C: ; // 0x2805a3c
|
|
/* 02805A3C */ cpu->r[3] = 0x00000008u;
|
|
/* 02805A40 */ Gambit_fn_02801A78(cpu);
|
|
/* 02805A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805A48 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805A48 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02805A48 */ if (_t47) goto L_02805A54; else goto L_02805A4C;
|
|
L_02805A4C: ; // 0x2805a4c
|
|
/* 02805A4C */ _t48 = cpu->r[3] + 0x00000004u;
|
|
/* 02805A4C */ rbrew_write_f32(cpu->mem, _t48, cpu->f[31]);
|
|
/* 02805A50 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 02805A50 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[31]);
|
|
L_02805A54: ; // 0x2805a54
|
|
/* 02805A54 */ cpu->r[3] = cpu->r[31] + 0x000001A4u;
|
|
/* 02805A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805A58 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805A58 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02805A58 */ if (_t51) goto L_02805A5C; else goto L_02805A6C;
|
|
L_02805A5C: ; // 0x2805a5c
|
|
/* 02805A5C */ cpu->r[3] = 0x00000004u;
|
|
/* 02805A60 */ Gambit_fn_02801A78(cpu);
|
|
/* 02805A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805A68 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805A68 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02805A68 */ if (_t53) goto L_02805A70; else goto L_02805A6C;
|
|
L_02805A6C: ; // 0x2805a6c
|
|
/* 02805A6C */ _t54 = cpu->r[3] + 0x00000000u;
|
|
/* 02805A6C */ rbrew_write32(cpu->mem, _t54, cpu->r[29]);
|
|
L_02805A70: ; // 0x2805a70
|
|
/* 02805A70 */ _t55 = cpu->r[31] + 0x000001A8u;
|
|
/* 02805A70 */ rbrew_write32(cpu->mem, _t55, cpu->r[29]);
|
|
/* 02805A74 */ cpu->r[8] = 0x0000000Au;
|
|
/* 02805A78 */ cpu->r[10] = cpu->r[31] + 0x00000094u;
|
|
/* 02805A7C */ cpu->r[7] = 0x00000100u;
|
|
/* 02805A80 */ cpu->r[11] = 0x00000000u;
|
|
/* 02805A84 */ _t56 = cpu->r[31] + 0x000001ACu;
|
|
/* 02805A84 */ rbrew_write32(cpu->mem, _t56, cpu->r[29]);
|
|
/* 02805A88 */ cpu->ctr = cpu->r[7];
|
|
/* 02805A8C */ cpu->r[0] = cpu->r[11];
|
|
/* 02805A90 */ _t57 = cpu->r[31] + 0x00000008u;
|
|
/* 02805A90 */ rbrew_write32(cpu->mem, _t57, cpu->r[8]);
|
|
L_02805A94: ; // 0x2805a94
|
|
/* 02805A94 */ _t58 = cpu->r[10] + cpu->r[11];
|
|
/* 02805A94 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[0]);
|
|
/* 02805A98 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02805A9C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02805A9C */ _t59 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02805A9C */ _t60 = _t59 >> (0x00000002u & 31u);
|
|
/* 02805A9C */ _t61 = _t60 & 0x00000001u;
|
|
/* 02805A9C */ if (_t61) goto L_02805A94; else goto L_02805AA0;
|
|
L_02805AA0: ; // 0x2805aa0
|
|
/* 02805AA0 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805AA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02805AA4 */ _t63 = cpu->r[1] + 0x00000020u;
|
|
/* 02805AA4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02805AA8 */ _t64 = cpu->r[1] + 0x00000010u;
|
|
/* 02805AA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02805AAC */ _t65 = cpu->r[1] + 0x00000018u;
|
|
/* 02805AAC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 02805AB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02805AB4 */ _t66 = cpu->r[1] + 0x00000014u;
|
|
/* 02805AB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02805AB8 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02805AB8 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02805AB8 */ if (_t68) goto L_02805ABC; // else: addr-0 trap, fall-through
|
|
L_02805ABC: ; // 0x2805abc
|
|
/* 02805ABC */ _t69 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02805ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02805AC0 */ cpu->lr = cpu->r[0];
|
|
/* 02805AC4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02805AC8 */ return;
|
|
}
|
|
|
|
// fn_02805ACC @ 0x2805acc
|
|
void Gambit_fn_02805ACC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02805ACC: ; // 0x2805acc
|
|
/* 02805ACC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02805AD0 */ _t0 = cpu->r[11] + 0xFFFFDC38u;
|
|
/* 02805AD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02805AD0 */ cpu->r[11] = _t0;
|
|
/* 02805AD4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02805AD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02805ADC */ cpu->r[12] = cpu->r[12] + 0x000014ACu;
|
|
/* 02805AE0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805AE0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02805AE0 */ if (_t2) goto L_02805AE4; else goto L_02805AF8;
|
|
L_02805AE4: ; // 0x2805ae4
|
|
/* 02805AE4 */ cpu->r[9] = 0x10110000u;
|
|
/* 02805AE8 */ cpu->r[8] = 0x00000001u;
|
|
/* 02805AEC */ cpu->r[9] = cpu->r[9] + 0x00002320u;
|
|
/* 02805AF0 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 02805AF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02805AF4 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02805AF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02805AF8: ; // 0x2805af8
|
|
/* 02805AF8 */ cpu->r[10] = cpu->r[4] ^ cpu->r[12];
|
|
/* 02805AFC */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 02805B00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02805B04 */ return;
|
|
}
|
|
|
|
// fn_02805B08 @ 0x2805b08
|
|
void Gambit_fn_02805B08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02805B08: ; // 0x2805b08
|
|
/* 02805B08 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02805B0C */ _t0 = cpu->r[9] + 0x000013F4u;
|
|
/* 02805B0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02805B0C */ cpu->r[9] = _t0;
|
|
/* 02805B10 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02805B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02805B18 */ cpu->r[12] = cpu->r[12] + 0x000014B0u;
|
|
/* 02805B1C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805B1C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02805B1C */ if (_t2) goto L_02805B20; else goto L_02805B34;
|
|
L_02805B20: ; // 0x2805b20
|
|
/* 02805B20 */ cpu->r[7] = 0x10110000u;
|
|
/* 02805B24 */ cpu->r[0] = 0x00000001u;
|
|
/* 02805B28 */ cpu->r[7] = cpu->r[7] + 0x00002358u;
|
|
/* 02805B2C */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02805B2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02805B30 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02805B30 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02805B34: ; // 0x2805b34
|
|
/* 02805B34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02805B38 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805B38 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02805B38 */ if (_t6) goto L_02805B3C; else goto L_02805B44;
|
|
L_02805B3C: ; // 0x2805b3c
|
|
/* 02805B3C */ cpu->r[3] = 0x00000001u;
|
|
/* 02805B40 */ return;
|
|
L_02805B44: ; // 0x2805b44
|
|
/* 02805B44 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02805B48 */ _t7 = cpu->r[7] + 0xFFFFDC38u;
|
|
/* 02805B48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02805B48 */ cpu->r[7] = _t7;
|
|
/* 02805B4C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02805B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02805B54 */ cpu->r[11] = cpu->r[11] + 0x000014ACu;
|
|
/* 02805B58 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805B58 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02805B58 */ if (_t9) goto L_02805B5C; else goto L_02805B70;
|
|
L_02805B5C: ; // 0x2805b5c
|
|
/* 02805B5C */ cpu->r[0] = 0x10110000u;
|
|
/* 02805B60 */ cpu->r[9] = 0x00000001u;
|
|
/* 02805B64 */ cpu->r[0] = cpu->r[0] + 0x00002320u;
|
|
/* 02805B68 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02805B68 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02805B6C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02805B6C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02805B70: ; // 0x2805b70
|
|
/* 02805B70 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02805B74 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02805B78 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02805B7C */ return;
|
|
}
|
|
|
|
// fn_02805B80 @ 0x2805b80
|
|
void Gambit_fn_02805B80(CPUState* cpu) {
|
|
L_02805B80: ; // 0x2805b80
|
|
/* 02805B80 */ return;
|
|
}
|
|
|
|
// fn_02805B84 @ 0x2805b84
|
|
void Gambit_fn_02805B84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02805B84: ; // 0x2805b84
|
|
/* 02805B84 */ cpu->r[0] = cpu->lr;
|
|
/* 02805B88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02805B88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02805B88 */ cpu->r[1] = _t0;
|
|
/* 02805B8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805B8C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02805B90 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02805B90 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02805B94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02805B94 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02805B98 */ cpu->r[30] = cpu->r[3];
|
|
/* 02805B9C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805B9C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02805BA0 */ _t5 = cpu->r[30] + 0x00000038u;
|
|
/* 02805BA0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02805BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02805BA8 */ cpu->r[29] = 0x00000000u;
|
|
/* 02805BAC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805BAC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02805BAC */ if (_t7) goto L_02805BD8; else goto L_02805BB0;
|
|
L_02805BB0: ; // 0x2805bb0
|
|
/* 02805BB0 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02805BB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02805BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805BB8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805BB8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02805BB8 */ if (_t10) goto L_02805BD4; else goto L_02805BBC;
|
|
L_02805BBC: ; // 0x2805bbc
|
|
/* 02805BBC */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02805BC0 */ _t11 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02805BC0 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02805BC4 */ Gambit_fn_02801EDC(cpu);
|
|
/* 02805BC8 */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 02805BC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02805BCC */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02805BD0 */ _t13 = cpu->r[31] + 0x00000008u;
|
|
/* 02805BD0 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
L_02805BD4: ; // 0x2805bd4
|
|
/* 02805BD4 */ _t14 = cpu->r[30] + 0x00000038u;
|
|
/* 02805BD4 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[29]);
|
|
L_02805BD8: ; // 0x2805bd8
|
|
/* 02805BD8 */ _t15 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02805BD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02805BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805BE0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805BE0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02805BE0 */ if (_t17) goto L_02805BFC; else goto L_02805BE4;
|
|
L_02805BE4: ; // 0x2805be4
|
|
/* 02805BE4 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02805BE8 */ _t18 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02805BE8 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 02805BEC */ Gambit_fn_02801EDC(cpu);
|
|
/* 02805BF0 */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 02805BF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02805BF4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02805BF8 */ _t20 = cpu->r[31] + 0x00000008u;
|
|
/* 02805BF8 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
L_02805BFC: ; // 0x2805bfc
|
|
/* 02805BFC */ cpu->r[31] = 0x101F0000u;
|
|
/* 02805C00 */ cpu->r[31] = cpu->r[31] + 0x00005934u;
|
|
/* 02805C04 */ cpu->r[4] = cpu->r[30] + 0x00000010u;
|
|
/* 02805C08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02805C0C */ _t21 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02805C0C */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 02805C10 */ Gambit_fn_02801EBC(cpu);
|
|
/* 02805C14 */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 02805C14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02805C18 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02805C1C */ cpu->r[0] = 0x00000001u;
|
|
/* 02805C20 */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 02805C20 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 02805C24 */ _t24 = cpu->r[30] + 0x00000038u;
|
|
/* 02805C24 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 02805C28 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805C28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02805C2C */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805C2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02805C30 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02805C30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02805C34 */ cpu->lr = cpu->r[0];
|
|
/* 02805C38 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02805C38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02805C3C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02805C40 */ return;
|
|
}
|
|
|
|
// fn_02805B88 @ 0x2805b88
|
|
void Gambit_fn_02805B88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02805B88: ; // 0x2805b88
|
|
/* 02805B88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02805B88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02805B88 */ cpu->r[1] = _t0;
|
|
/* 02805B8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805B8C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02805B90 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02805B90 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02805B94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02805B94 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02805B98 */ cpu->r[30] = cpu->r[3];
|
|
/* 02805B9C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805B9C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02805BA0 */ _t5 = cpu->r[30] + 0x00000038u;
|
|
/* 02805BA0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02805BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02805BA8 */ cpu->r[29] = 0x00000000u;
|
|
/* 02805BAC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805BAC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02805BAC */ if (_t7) goto L_02805BD8; else goto L_02805BB0;
|
|
L_02805BB0: ; // 0x2805bb0
|
|
/* 02805BB0 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02805BB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02805BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805BB8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805BB8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02805BB8 */ if (_t10) goto L_02805BD4; else goto L_02805BBC;
|
|
L_02805BBC: ; // 0x2805bbc
|
|
/* 02805BBC */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02805BC0 */ _t11 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02805BC0 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02805BC4 */ Gambit_fn_02801EDC(cpu);
|
|
/* 02805BC8 */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 02805BC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02805BCC */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02805BD0 */ _t13 = cpu->r[31] + 0x00000008u;
|
|
/* 02805BD0 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
L_02805BD4: ; // 0x2805bd4
|
|
/* 02805BD4 */ _t14 = cpu->r[30] + 0x00000038u;
|
|
/* 02805BD4 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[29]);
|
|
L_02805BD8: ; // 0x2805bd8
|
|
/* 02805BD8 */ _t15 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02805BD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02805BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805BE0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805BE0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02805BE0 */ if (_t17) goto L_02805BFC; else goto L_02805BE4;
|
|
L_02805BE4: ; // 0x2805be4
|
|
/* 02805BE4 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02805BE8 */ _t18 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02805BE8 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 02805BEC */ Gambit_fn_02801EDC(cpu);
|
|
/* 02805BF0 */ _t19 = cpu->r[31] + 0x00000008u;
|
|
/* 02805BF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02805BF4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02805BF8 */ _t20 = cpu->r[31] + 0x00000008u;
|
|
/* 02805BF8 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
L_02805BFC: ; // 0x2805bfc
|
|
/* 02805BFC */ cpu->r[31] = 0x101F0000u;
|
|
/* 02805C00 */ cpu->r[31] = cpu->r[31] + 0x00005934u;
|
|
/* 02805C04 */ cpu->r[4] = cpu->r[30] + 0x00000010u;
|
|
/* 02805C08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02805C0C */ _t21 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02805C0C */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 02805C10 */ Gambit_fn_02801EBC(cpu);
|
|
/* 02805C14 */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 02805C14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02805C18 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02805C1C */ cpu->r[0] = 0x00000001u;
|
|
/* 02805C20 */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 02805C20 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 02805C24 */ _t24 = cpu->r[30] + 0x00000038u;
|
|
/* 02805C24 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 02805C28 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805C28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02805C2C */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805C2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02805C30 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02805C30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02805C34 */ cpu->lr = cpu->r[0];
|
|
/* 02805C38 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02805C38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02805C3C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02805C40 */ return;
|
|
}
|
|
|
|
// fn_02805C44 @ 0x2805c44
|
|
void Gambit_fn_02805C44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02805C44: ; // 0x2805c44
|
|
/* 02805C44 */ cpu->r[0] = cpu->lr;
|
|
/* 02805C48 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02805C48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02805C48 */ cpu->r[1] = _t0;
|
|
/* 02805C4C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02805C4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02805C50 */ cpu->r[31] = 0x101F0000u;
|
|
/* 02805C54 */ cpu->r[31] = cpu->r[31] + 0x00005934u;
|
|
/* 02805C58 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805C58 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02805C5C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02805C5C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02805C60 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805C60 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02805C64 */ cpu->r[29] = cpu->r[3];
|
|
/* 02805C68 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02805C68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02805C6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 02805C70 */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 02805C70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02805C74 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805C74 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02805C74 */ if (_t8) goto L_02805CAC; else goto L_02805C78;
|
|
L_02805C78: ; // 0x2805c78
|
|
/* 02805C78 */ _t9 = cpu->r[12] + 0x00000008u;
|
|
/* 02805C78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02805C7C */ _t10 = cpu->r[10] + 0x00000020u;
|
|
/* 02805C7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02805C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805C84 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805C84 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02805C84 */ if (_t12) goto L_02805C9C; else goto L_02805C88;
|
|
L_02805C88: ; // 0x2805c88
|
|
/* 02805C88 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02805C88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02805C8C */ _t14 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02805C8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02805C90 */ cpu->ctr = cpu->r[0];
|
|
/* 02805C94 */ cpu->r[4] = cpu->r[29];
|
|
/* 02805C98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02805C9C: ; // 0x2805c9c
|
|
/* 02805C9C */ cpu->r[12] = cpu->r[30];
|
|
/* 02805CA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 02805CA4 */ _t15 = cpu->r[30] + 0x00000004u;
|
|
/* 02805CA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02805CA8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805CA8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02805CA8 */ if (_t17) goto L_02805CAC; else goto L_02805C78;
|
|
L_02805CAC: ; // 0x2805cac
|
|
/* 02805CAC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02805CB0 */ _t18 = cpu->r[3] + 0xFFFF9874u;
|
|
/* 02805CB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02805CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805CB8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805CB8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02805CB8 */ if (_t20) goto L_02805CD0; else goto L_02805CBC;
|
|
L_02805CBC: ; // 0x2805cbc
|
|
/* 02805CBC */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 02805CBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02805CC0 */ _t22 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02805CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02805CC4 */ cpu->ctr = cpu->r[0];
|
|
/* 02805CC8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02805CCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02805CD0: ; // 0x2805cd0
|
|
/* 02805CD0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805CD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02805CD4 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805CD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02805CD8 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02805CD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02805CDC */ cpu->lr = cpu->r[0];
|
|
/* 02805CE0 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02805CE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02805CE4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02805CE8 */ return;
|
|
}
|
|
|
|
// fn_02805C48 @ 0x2805c48
|
|
void Gambit_fn_02805C48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02805C48: ; // 0x2805c48
|
|
/* 02805C48 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02805C48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02805C48 */ cpu->r[1] = _t0;
|
|
/* 02805C4C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02805C4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02805C50 */ cpu->r[31] = 0x101F0000u;
|
|
/* 02805C54 */ cpu->r[31] = cpu->r[31] + 0x00005934u;
|
|
/* 02805C58 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805C58 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02805C5C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02805C5C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02805C60 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805C60 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02805C64 */ cpu->r[29] = cpu->r[3];
|
|
/* 02805C68 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 02805C68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02805C6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 02805C70 */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 02805C70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02805C74 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805C74 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02805C74 */ if (_t8) goto L_02805CAC; else goto L_02805C78;
|
|
L_02805C78: ; // 0x2805c78
|
|
/* 02805C78 */ _t9 = cpu->r[12] + 0x00000008u;
|
|
/* 02805C78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02805C7C */ _t10 = cpu->r[10] + 0x00000020u;
|
|
/* 02805C7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02805C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805C84 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805C84 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02805C84 */ if (_t12) goto L_02805C9C; else goto L_02805C88;
|
|
L_02805C88: ; // 0x2805c88
|
|
/* 02805C88 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02805C88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02805C8C */ _t14 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02805C8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02805C90 */ cpu->ctr = cpu->r[0];
|
|
/* 02805C94 */ cpu->r[4] = cpu->r[29];
|
|
/* 02805C98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02805C9C: ; // 0x2805c9c
|
|
/* 02805C9C */ cpu->r[12] = cpu->r[30];
|
|
/* 02805CA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 02805CA4 */ _t15 = cpu->r[30] + 0x00000004u;
|
|
/* 02805CA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02805CA8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805CA8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02805CA8 */ if (_t17) goto L_02805CAC; else goto L_02805C78;
|
|
L_02805CAC: ; // 0x2805cac
|
|
/* 02805CAC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02805CB0 */ _t18 = cpu->r[3] + 0xFFFF9874u;
|
|
/* 02805CB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02805CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805CB8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805CB8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02805CB8 */ if (_t20) goto L_02805CD0; else goto L_02805CBC;
|
|
L_02805CBC: ; // 0x2805cbc
|
|
/* 02805CBC */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 02805CBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02805CC0 */ _t22 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02805CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02805CC4 */ cpu->ctr = cpu->r[0];
|
|
/* 02805CC8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02805CCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02805CD0: ; // 0x2805cd0
|
|
/* 02805CD0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805CD0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02805CD4 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805CD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02805CD8 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02805CD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02805CDC */ cpu->lr = cpu->r[0];
|
|
/* 02805CE0 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02805CE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02805CE4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02805CE8 */ return;
|
|
}
|
|
|
|
// fn_02805CEC @ 0x2805cec
|
|
void Gambit_fn_02805CEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02805CEC: ; // 0x2805cec
|
|
/* 02805CEC */ cpu->r[12] = 0x101F0000u;
|
|
/* 02805CF0 */ cpu->r[11] = 0x10110000u;
|
|
/* 02805CF4 */ cpu->r[12] = cpu->r[12] + 0x00005934u;
|
|
/* 02805CF8 */ cpu->r[11] = cpu->r[11] + 0x00002394u;
|
|
/* 02805CFC */ cpu->r[0] = 0x00000000u;
|
|
/* 02805D00 */ _t0 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02805D00 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 02805D04 */ _t1 = cpu->r[12] + 0x00000008u;
|
|
/* 02805D04 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02805D08 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02805D0C */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 02805D0C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02805D10 */ cpu->r[3] = cpu->r[3] + 0xFFFF9868u;
|
|
/* 02805D14 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 02805D14 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02805D18 */ 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_02805D1C @ 0x2805d1c
|
|
void Gambit_fn_02805D1C(CPUState* cpu) {
|
|
uint32_t _t0, _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_02805D1C: ; // 0x2805d1c
|
|
/* 02805D1C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02805D1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02805D1C */ cpu->r[1] = _t0;
|
|
/* 02805D20 */ cpu->r[0] = cpu->lr;
|
|
/* 02805D24 */ /* nop */
|
|
/* 02805D28 */ cpu->r[28] = cpu->r[3];
|
|
/* 02805D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02805D2C */ cpu->r[30] = cpu->r[4];
|
|
/* 02805D30 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02805D30 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02805D34 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805D34 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02805D34 */ if (_t3) goto L_02805DA8; else goto L_02805D38;
|
|
L_02805D38: ; // 0x2805d38
|
|
/* 02805D38 */ _t4 = cpu->r[28] + 0x00000004u;
|
|
/* 02805D38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02805D3C */ cpu->r[10] = 0x10110000u;
|
|
/* 02805D40 */ cpu->r[10] = cpu->r[10] + 0x00002394u;
|
|
/* 02805D44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02805D48 */ _t5 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02805D48 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 02805D4C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805D4C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02805D4C */ if (_t7) goto L_02805D98; else goto L_02805D50;
|
|
L_02805D50: ; // 0x2805d50
|
|
/* 02805D50 */ cpu->r[26] = 0x00000000u;
|
|
L_02805D54: ; // 0x2805d54
|
|
/* 02805D54 */ _t8 = cpu->r[29] + 0x00000008u;
|
|
/* 02805D54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02805D58 */ _t9 = cpu->r[31] + 0x00000038u;
|
|
/* 02805D58 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02805D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02805D60 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 02805D60 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02805D64 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805D64 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02805D64 */ if (_t12) goto L_02805D90; else goto L_02805D68;
|
|
L_02805D68: ; // 0x2805d68
|
|
/* 02805D68 */ _t13 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02805D68 */ cpu->r[27] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02805D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02805D70 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805D70 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02805D70 */ if (_t15) goto L_02805D8C; else goto L_02805D74;
|
|
L_02805D74: ; // 0x2805d74
|
|
/* 02805D74 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02805D78 */ _t16 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02805D78 */ rbrew_write32(cpu->mem, _t16, cpu->r[26]);
|
|
/* 02805D7C */ Gambit_fn_02801EDC(cpu);
|
|
/* 02805D80 */ _t17 = cpu->r[27] + 0x00000008u;
|
|
/* 02805D80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02805D84 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02805D88 */ _t18 = cpu->r[27] + 0x00000008u;
|
|
/* 02805D88 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
L_02805D8C: ; // 0x2805d8c
|
|
/* 02805D8C */ _t19 = cpu->r[31] + 0x00000038u;
|
|
/* 02805D8C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[26]);
|
|
L_02805D90: ; // 0x2805d90
|
|
/* 02805D90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02805D94 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805D94 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02805D94 */ if (_t21) goto L_02805D98; else goto L_02805D54;
|
|
L_02805D98: ; // 0x2805d98
|
|
/* 02805D98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02805D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02805D9C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805D9C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02805D9C */ if (_t23) goto L_02805DA8; else goto L_02805DA0;
|
|
L_02805DA0: ; // 0x2805da0
|
|
/* 02805DA0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02805DA4 */ Gambit_fn_02801BB0(cpu);
|
|
L_02805DA8: ; // 0x2805da8
|
|
/* 02805DA8 */ /* nop */
|
|
/* 02805DAC */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02805DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02805DB0 */ cpu->lr = cpu->r[0];
|
|
/* 02805DB4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02805DB8 */ return;
|
|
}
|
|
|
|
// fn_02805DBC @ 0x2805dbc
|
|
void Gambit_fn_02805DBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02805DBC: ; // 0x2805dbc
|
|
/* 02805DBC */ cpu->r[0] = cpu->lr;
|
|
/* 02805DC0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02805DC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02805DC0 */ cpu->r[1] = _t0;
|
|
/* 02805DC4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02805DC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02805DC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02805DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805DCC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805DCC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02805DD0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805DD0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02805DD0 */ if (_t4) goto L_02805DD4; else goto L_02805DE4;
|
|
L_02805DD4: ; // 0x2805dd4
|
|
/* 02805DD4 */ cpu->r[3] = 0x00000168u;
|
|
/* 02805DD8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02805DDC */ cpu->r[31] = cpu->r[3];
|
|
/* 02805DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805DE0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805DE0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02805DE0 */ if (_t6) goto L_02805E2C; else goto L_02805DE4;
|
|
L_02805DE4: ; // 0x2805de4
|
|
/* 02805DE4 */ cpu->r[0] = 0x10110000u;
|
|
/* 02805DE8 */ cpu->r[0] = cpu->r[0] + 0x00002478u;
|
|
/* 02805DEC */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02805DF0 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02805DF0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02805DF4 */ Gambit_fn_0281C814(cpu);
|
|
/* 02805DF8 */ cpu->r[12] = 0x10110000u;
|
|
/* 02805DFC */ _t8 = cpu->r[12] + 0x00002448u;
|
|
/* 02805DFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02805E00 */ cpu->r[12] = 0x10110000u;
|
|
/* 02805E04 */ _t9 = cpu->r[12] + 0x0000244Cu;
|
|
/* 02805E04 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02805E08 */ cpu->r[3] = cpu->r[31] + 0x000000B0u;
|
|
/* 02805E0C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805E0C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02805E10 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02805E14 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02805E14 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02805E18 */ Gambit_fn_0281AFF8(cpu);
|
|
/* 02805E1C */ cpu->r[3] = cpu->r[31] + 0x00000108u;
|
|
/* 02805E20 */ Gambit_fn_0281ECB4(cpu);
|
|
/* 02805E24 */ cpu->r[3] = cpu->r[31] + 0x00000158u;
|
|
/* 02805E28 */ Gambit_fn_0281E928(cpu);
|
|
L_02805E2C: ; // 0x2805e2c
|
|
/* 02805E2C */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805E2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02805E30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02805E34 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02805E34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02805E38 */ cpu->lr = cpu->r[0];
|
|
/* 02805E3C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02805E40 */ return;
|
|
}
|
|
|
|
// fn_02805DC0 @ 0x2805dc0
|
|
void Gambit_fn_02805DC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02805DC0: ; // 0x2805dc0
|
|
/* 02805DC0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02805DC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02805DC0 */ cpu->r[1] = _t0;
|
|
/* 02805DC4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02805DC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02805DC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02805DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805DCC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805DCC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02805DD0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805DD0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02805DD0 */ if (_t4) goto L_02805DD4; else goto L_02805DE4;
|
|
L_02805DD4: ; // 0x2805dd4
|
|
/* 02805DD4 */ cpu->r[3] = 0x00000168u;
|
|
/* 02805DD8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02805DDC */ cpu->r[31] = cpu->r[3];
|
|
/* 02805DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805DE0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805DE0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02805DE0 */ if (_t6) goto L_02805E2C; else goto L_02805DE4;
|
|
L_02805DE4: ; // 0x2805de4
|
|
/* 02805DE4 */ cpu->r[0] = 0x10110000u;
|
|
/* 02805DE8 */ cpu->r[0] = cpu->r[0] + 0x00002478u;
|
|
/* 02805DEC */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02805DF0 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02805DF0 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02805DF4 */ Gambit_fn_0281C814(cpu);
|
|
/* 02805DF8 */ cpu->r[12] = 0x10110000u;
|
|
/* 02805DFC */ _t8 = cpu->r[12] + 0x00002448u;
|
|
/* 02805DFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02805E00 */ cpu->r[12] = 0x10110000u;
|
|
/* 02805E04 */ _t9 = cpu->r[12] + 0x0000244Cu;
|
|
/* 02805E04 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02805E08 */ cpu->r[3] = cpu->r[31] + 0x000000B0u;
|
|
/* 02805E0C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805E0C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02805E10 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02805E14 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02805E14 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02805E18 */ Gambit_fn_0281AFF8(cpu);
|
|
/* 02805E1C */ cpu->r[3] = cpu->r[31] + 0x00000108u;
|
|
/* 02805E20 */ Gambit_fn_0281ECB4(cpu);
|
|
/* 02805E24 */ cpu->r[3] = cpu->r[31] + 0x00000158u;
|
|
/* 02805E28 */ Gambit_fn_0281E928(cpu);
|
|
L_02805E2C: ; // 0x2805e2c
|
|
/* 02805E2C */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02805E2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02805E30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02805E34 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02805E34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02805E38 */ cpu->lr = cpu->r[0];
|
|
/* 02805E3C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02805E40 */ return;
|
|
}
|
|
|
|
// fn_02805E44 @ 0x2805e44
|
|
void Gambit_fn_02805E44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02805E44: ; // 0x2805e44
|
|
/* 02805E44 */ cpu->r[0] = cpu->lr;
|
|
/* 02805E48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02805E48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02805E48 */ cpu->r[1] = _t0;
|
|
/* 02805E4C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02805E4C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02805E50 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805E50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02805E54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02805E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805E58 */ cpu->r[30] = cpu->r[4];
|
|
/* 02805E5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02805E5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02805E60 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805E60 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02805E60 */ if (_t5) goto L_02805E98; else goto L_02805E64;
|
|
L_02805E64: ; // 0x2805e64
|
|
/* 02805E64 */ cpu->r[3] = cpu->r[31] + 0x00000158u;
|
|
/* 02805E68 */ cpu->r[4] = 0x00000002u;
|
|
/* 02805E6C */ Gambit_fn_0281E984(cpu);
|
|
/* 02805E70 */ cpu->r[3] = cpu->r[31] + 0x000000B0u;
|
|
/* 02805E74 */ cpu->r[4] = 0x00000002u;
|
|
/* 02805E78 */ Gambit_fn_0281B190(cpu);
|
|
/* 02805E7C */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02805E80 */ cpu->r[4] = 0x00000002u;
|
|
/* 02805E84 */ Gambit_fn_0281CB84(cpu);
|
|
/* 02805E88 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02805E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02805E8C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805E8C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02805E8C */ if (_t7) goto L_02805E98; else goto L_02805E90;
|
|
L_02805E90: ; // 0x2805e90
|
|
/* 02805E90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02805E94 */ Gambit_fn_02801BB0(cpu);
|
|
L_02805E98: ; // 0x2805e98
|
|
/* 02805E98 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02805E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02805E9C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02805E9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02805EA0 */ cpu->lr = cpu->r[0];
|
|
/* 02805EA4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805EA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02805EA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02805EAC */ return;
|
|
}
|
|
|
|
// fn_02805E48 @ 0x2805e48
|
|
void Gambit_fn_02805E48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02805E48: ; // 0x2805e48
|
|
/* 02805E48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02805E48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02805E48 */ cpu->r[1] = _t0;
|
|
/* 02805E4C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02805E4C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02805E50 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805E50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02805E54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02805E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02805E58 */ cpu->r[30] = cpu->r[4];
|
|
/* 02805E5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02805E5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02805E60 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805E60 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02805E60 */ if (_t5) goto L_02805E98; else goto L_02805E64;
|
|
L_02805E64: ; // 0x2805e64
|
|
/* 02805E64 */ cpu->r[3] = cpu->r[31] + 0x00000158u;
|
|
/* 02805E68 */ cpu->r[4] = 0x00000002u;
|
|
/* 02805E6C */ Gambit_fn_0281E984(cpu);
|
|
/* 02805E70 */ cpu->r[3] = cpu->r[31] + 0x000000B0u;
|
|
/* 02805E74 */ cpu->r[4] = 0x00000002u;
|
|
/* 02805E78 */ Gambit_fn_0281B190(cpu);
|
|
/* 02805E7C */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02805E80 */ cpu->r[4] = 0x00000002u;
|
|
/* 02805E84 */ Gambit_fn_0281CB84(cpu);
|
|
/* 02805E88 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02805E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02805E8C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805E8C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02805E8C */ if (_t7) goto L_02805E98; else goto L_02805E90;
|
|
L_02805E90: ; // 0x2805e90
|
|
/* 02805E90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02805E94 */ Gambit_fn_02801BB0(cpu);
|
|
L_02805E98: ; // 0x2805e98
|
|
/* 02805E98 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02805E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02805E9C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02805E9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02805EA0 */ cpu->lr = cpu->r[0];
|
|
/* 02805EA4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805EA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02805EA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02805EAC */ return;
|
|
}
|
|
|
|
// fn_02805EB0 @ 0x2805eb0
|
|
void Gambit_fn_02805EB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_02805EB0: ; // 0x2805eb0
|
|
/* 02805EB0 */ cpu->r[0] = cpu->lr;
|
|
/* 02805EB4 */ cpu->r[10] = 0x10110000u;
|
|
/* 02805EB8 */ cpu->r[11] = 0x10110000u;
|
|
/* 02805EBC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02805EBC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02805EC0 */ cpu->r[6] = 0x10110000u;
|
|
/* 02805EC4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02805EC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02805EC4 */ cpu->r[1] = _t1;
|
|
/* 02805EC8 */ _t2 = cpu->r[11] + 0x00002448u;
|
|
/* 02805EC8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02805ECC */ cpu->r[11] = 0x10110000u;
|
|
/* 02805ED0 */ _t3 = cpu->r[6] + 0x0000245Cu;
|
|
/* 02805ED0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02805ED4 */ _t4 = cpu->r[10] + 0x0000244Cu;
|
|
/* 02805ED4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02805ED8 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02805EDC */ _t5 = cpu->r[11] + 0x00002460u;
|
|
/* 02805EDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02805EE0 */ _t6 = cpu->r[6] + 0x00005ACCu;
|
|
/* 02805EE0 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 02805EE0 */ cpu->r[6] = _t6;
|
|
/* 02805EE4 */ cpu->r[10] = 0x10110000u;
|
|
/* 02805EE8 */ _t7 = cpu->r[6] + 0x00000004u;
|
|
/* 02805EE8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02805EEC */ cpu->r[12] = 0x10110000u;
|
|
/* 02805EF0 */ _t8 = cpu->r[6] + 0x00000008u;
|
|
/* 02805EF0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 02805EF4 */ cpu->r[9] = 0x10110000u;
|
|
/* 02805EF8 */ _t9 = cpu->r[10] + 0x00002470u;
|
|
/* 02805EF8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02805EFC */ cpu->r[7] = 0x101F0000u;
|
|
/* 02805F00 */ _t10 = cpu->r[9] + 0x00002458u;
|
|
/* 02805F00 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02805F04 */ cpu->r[4] = 0x101F0000u;
|
|
/* 02805F08 */ _t11 = cpu->r[7] + 0x00005ADCu;
|
|
/* 02805F08 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 02805F08 */ cpu->r[7] = _t11;
|
|
/* 02805F0C */ _t12 = cpu->r[4] + 0x00005AACu;
|
|
/* 02805F0C */ rbrew_write_f32(cpu->mem, _t12, cpu->f[11]);
|
|
/* 02805F0C */ cpu->r[4] = _t12;
|
|
/* 02805F10 */ _t13 = cpu->r[4] + 0x00000004u;
|
|
/* 02805F10 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[9]);
|
|
/* 02805F14 */ cpu->r[9] = 0x10110000u;
|
|
/* 02805F18 */ _t14 = cpu->r[12] + 0x00002464u;
|
|
/* 02805F18 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02805F1C */ _t15 = cpu->r[9] + 0x00002450u;
|
|
/* 02805F1C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02805F20 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02805F24 */ _t16 = cpu->r[7] + 0x00000004u;
|
|
/* 02805F24 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[7]);
|
|
/* 02805F28 */ _t17 = cpu->r[7] + 0x00000008u;
|
|
/* 02805F28 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 02805F2C */ cpu->r[5] = 0x101F0000u;
|
|
/* 02805F30 */ _t18 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02805F30 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
/* 02805F34 */ _t19 = cpu->r[5] + 0x00005ABCu;
|
|
/* 02805F34 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02805F34 */ cpu->r[5] = _t19;
|
|
/* 02805F38 */ _t20 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02805F38 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 02805F3C */ cpu->r[11] = 0x10110000u;
|
|
/* 02805F40 */ _t21 = cpu->r[9] + 0x00005AFCu;
|
|
/* 02805F40 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 02805F40 */ cpu->r[9] = _t21;
|
|
/* 02805F44 */ cpu->r[12] = 0x10110000u;
|
|
/* 02805F48 */ _t22 = cpu->r[9] + 0x00000004u;
|
|
/* 02805F48 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 02805F4C */ cpu->r[10] = 0x101F0000u;
|
|
/* 02805F50 */ _t23 = cpu->r[5] + 0x00000004u;
|
|
/* 02805F50 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[9]);
|
|
/* 02805F54 */ cpu->r[0] = 0x10110000u;
|
|
/* 02805F58 */ _t24 = cpu->r[11] + 0x0000246Cu;
|
|
/* 02805F58 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02805F5C */ cpu->r[10] = cpu->r[10] + 0x00005B0Cu;
|
|
/* 02805F60 */ _t25 = cpu->r[5] + 0x00000008u;
|
|
/* 02805F60 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 02805F64 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02805F68 */ _t26 = cpu->r[4] + 0x00000008u;
|
|
/* 02805F68 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[11]);
|
|
/* 02805F6C */ _t27 = cpu->r[12] + 0x00002468u;
|
|
/* 02805F6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02805F70 */ _t28 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02805F70 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 02805F74 */ _t29 = cpu->r[8] + 0x00005AECu;
|
|
/* 02805F74 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 02805F74 */ cpu->r[8] = _t29;
|
|
/* 02805F78 */ _t30 = cpu->r[9] + 0x00000008u;
|
|
/* 02805F78 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[12]);
|
|
/* 02805F7C */ _t31 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02805F7C */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]);
|
|
/* 02805F80 */ cpu->r[12] = 0x10110000u;
|
|
/* 02805F84 */ _t32 = cpu->r[8] + 0x00000004u;
|
|
/* 02805F84 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[8]);
|
|
/* 02805F88 */ cpu->r[12] = cpu->r[12] + 0x000023A8u;
|
|
/* 02805F8C */ _t33 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02805F8C */ rbrew_write_f32(cpu->mem, _t33, cpu->f[10]);
|
|
/* 02805F90 */ _t34 = cpu->r[8] + 0x00000008u;
|
|
/* 02805F90 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 02805F94 */ cpu->r[0] = cpu->r[0] + 0x00002474u;
|
|
/* 02805F98 */ _t35 = cpu->r[10] + 0x00000004u;
|
|
/* 02805F98 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 02805F9C */ cpu->r[3] = 0x101F0000u;
|
|
/* 02805FA0 */ _t36 = cpu->r[10] + 0x00000000u;
|
|
/* 02805FA0 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 02805FA4 */ cpu->r[3] = cpu->r[3] + 0x00005944u;
|
|
/* 02805FA8 */ _t37 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02805FA8 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
|
|
/* 02805FAC */ Gambit_fn_02805DBC(cpu);
|
|
/* 02805FB0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02805FB4 */ cpu->r[3] = cpu->r[3] + 0xFFFF9878u;
|
|
/* 02805FB8 */ Gambit_fn_02C83090(cpu);
|
|
/* 02805FBC */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02805FC0 */ cpu->lr = cpu->r[0];
|
|
/* 02805FC4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02805FC8 */ return;
|
|
}
|
|
|
|
// fn_02805EC4 @ 0x2805ec4
|
|
void Gambit_fn_02805EC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02805EC4: ; // 0x2805ec4
|
|
/* 02805EC4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02805EC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02805EC4 */ cpu->r[1] = _t0;
|
|
/* 02805EC8 */ _t1 = cpu->r[11] + 0x00002448u;
|
|
/* 02805EC8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02805ECC */ cpu->r[11] = 0x10110000u;
|
|
/* 02805ED0 */ _t2 = cpu->r[6] + 0x0000245Cu;
|
|
/* 02805ED0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02805ED4 */ _t3 = cpu->r[10] + 0x0000244Cu;
|
|
/* 02805ED4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02805ED8 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02805EDC */ _t4 = cpu->r[11] + 0x00002460u;
|
|
/* 02805EDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02805EE0 */ _t5 = cpu->r[6] + 0x00005ACCu;
|
|
/* 02805EE0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[13]);
|
|
/* 02805EE0 */ cpu->r[6] = _t5;
|
|
/* 02805EE4 */ cpu->r[10] = 0x10110000u;
|
|
/* 02805EE8 */ _t6 = cpu->r[6] + 0x00000004u;
|
|
/* 02805EE8 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 02805EEC */ cpu->r[12] = 0x10110000u;
|
|
/* 02805EF0 */ _t7 = cpu->r[6] + 0x00000008u;
|
|
/* 02805EF0 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 02805EF4 */ cpu->r[9] = 0x10110000u;
|
|
/* 02805EF8 */ _t8 = cpu->r[10] + 0x00002470u;
|
|
/* 02805EF8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02805EFC */ cpu->r[7] = 0x101F0000u;
|
|
/* 02805F00 */ _t9 = cpu->r[9] + 0x00002458u;
|
|
/* 02805F00 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02805F04 */ cpu->r[4] = 0x101F0000u;
|
|
/* 02805F08 */ _t10 = cpu->r[7] + 0x00005ADCu;
|
|
/* 02805F08 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02805F08 */ cpu->r[7] = _t10;
|
|
/* 02805F0C */ _t11 = cpu->r[4] + 0x00005AACu;
|
|
/* 02805F0C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[11]);
|
|
/* 02805F0C */ cpu->r[4] = _t11;
|
|
/* 02805F10 */ _t12 = cpu->r[4] + 0x00000004u;
|
|
/* 02805F10 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[9]);
|
|
/* 02805F14 */ cpu->r[9] = 0x10110000u;
|
|
/* 02805F18 */ _t13 = cpu->r[12] + 0x00002464u;
|
|
/* 02805F18 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02805F1C */ _t14 = cpu->r[9] + 0x00002450u;
|
|
/* 02805F1C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02805F20 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02805F24 */ _t15 = cpu->r[7] + 0x00000004u;
|
|
/* 02805F24 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[7]);
|
|
/* 02805F28 */ _t16 = cpu->r[7] + 0x00000008u;
|
|
/* 02805F28 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 02805F2C */ cpu->r[5] = 0x101F0000u;
|
|
/* 02805F30 */ _t17 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02805F30 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 02805F34 */ _t18 = cpu->r[5] + 0x00005ABCu;
|
|
/* 02805F34 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 02805F34 */ cpu->r[5] = _t18;
|
|
/* 02805F38 */ _t19 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02805F38 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[12]);
|
|
/* 02805F3C */ cpu->r[11] = 0x10110000u;
|
|
/* 02805F40 */ _t20 = cpu->r[9] + 0x00005AFCu;
|
|
/* 02805F40 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 02805F40 */ cpu->r[9] = _t20;
|
|
/* 02805F44 */ cpu->r[12] = 0x10110000u;
|
|
/* 02805F48 */ _t21 = cpu->r[9] + 0x00000004u;
|
|
/* 02805F48 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 02805F4C */ cpu->r[10] = 0x101F0000u;
|
|
/* 02805F50 */ _t22 = cpu->r[5] + 0x00000004u;
|
|
/* 02805F50 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[9]);
|
|
/* 02805F54 */ cpu->r[0] = 0x10110000u;
|
|
/* 02805F58 */ _t23 = cpu->r[11] + 0x0000246Cu;
|
|
/* 02805F58 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02805F5C */ cpu->r[10] = cpu->r[10] + 0x00005B0Cu;
|
|
/* 02805F60 */ _t24 = cpu->r[5] + 0x00000008u;
|
|
/* 02805F60 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 02805F64 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02805F68 */ _t25 = cpu->r[4] + 0x00000008u;
|
|
/* 02805F68 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[11]);
|
|
/* 02805F6C */ _t26 = cpu->r[12] + 0x00002468u;
|
|
/* 02805F6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02805F70 */ _t27 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02805F70 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]);
|
|
/* 02805F74 */ _t28 = cpu->r[8] + 0x00005AECu;
|
|
/* 02805F74 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02805F74 */ cpu->r[8] = _t28;
|
|
/* 02805F78 */ _t29 = cpu->r[9] + 0x00000008u;
|
|
/* 02805F78 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[12]);
|
|
/* 02805F7C */ _t30 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02805F7C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[12]);
|
|
/* 02805F80 */ cpu->r[12] = 0x10110000u;
|
|
/* 02805F84 */ _t31 = cpu->r[8] + 0x00000004u;
|
|
/* 02805F84 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[8]);
|
|
/* 02805F88 */ cpu->r[12] = cpu->r[12] + 0x000023A8u;
|
|
/* 02805F8C */ _t32 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02805F8C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[10]);
|
|
/* 02805F90 */ _t33 = cpu->r[8] + 0x00000008u;
|
|
/* 02805F90 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 02805F94 */ cpu->r[0] = cpu->r[0] + 0x00002474u;
|
|
/* 02805F98 */ _t34 = cpu->r[10] + 0x00000004u;
|
|
/* 02805F98 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
/* 02805F9C */ cpu->r[3] = 0x101F0000u;
|
|
/* 02805FA0 */ _t35 = cpu->r[10] + 0x00000000u;
|
|
/* 02805FA0 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02805FA4 */ cpu->r[3] = cpu->r[3] + 0x00005944u;
|
|
/* 02805FA8 */ _t36 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02805FA8 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]);
|
|
/* 02805FAC */ Gambit_fn_02805DBC(cpu);
|
|
/* 02805FB0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02805FB4 */ cpu->r[3] = cpu->r[3] + 0xFFFF9878u;
|
|
/* 02805FB8 */ Gambit_fn_02C83090(cpu);
|
|
/* 02805FBC */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02805FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02805FC0 */ cpu->lr = cpu->r[0];
|
|
/* 02805FC4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02805FC8 */ return;
|
|
}
|
|
|
|
// fn_02805FCC @ 0x2805fcc
|
|
void Gambit_fn_02805FCC(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_02805FCC: ; // 0x2805fcc
|
|
/* 02805FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805FD0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805FD0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02805FD0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02805FD0 */ goto L_02805FD4;
|
|
L_02805FD4: ; // 0x2805fd4
|
|
/* 02805FD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02805FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02805FD8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805FD8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02805FD8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02805FD8 */ goto L_02805FDC;
|
|
L_02805FDC: ; // 0x2805fdc
|
|
/* 02805FDC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02805FE0 @ 0x2805fe0
|
|
void Gambit_fn_02805FE0(CPUState* cpu) {
|
|
L_02805FE0: ; // 0x2805fe0
|
|
/* 02805FE0 */ return;
|
|
}
|
|
|
|
// fn_02805FE4 @ 0x2805fe4
|
|
void Gambit_fn_02805FE4(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_02805FE4: ; // 0x2805fe4
|
|
/* 02805FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02805FE8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805FE8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02805FE8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02805FE8 */ goto L_02805FEC;
|
|
L_02805FEC: ; // 0x2805fec
|
|
/* 02805FEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02805FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02805FF0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02805FF0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02805FF0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02805FF0 */ goto L_02805FF4;
|
|
L_02805FF4: ; // 0x2805ff4
|
|
/* 02805FF4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02805FF8 @ 0x2805ff8
|
|
void Gambit_fn_02805FF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02805FF8: ; // 0x2805ff8
|
|
/* 02805FF8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02805FF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02805FFC */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02805FFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02806000 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02806004 */ cpu->r[11] = 0x10110000u;
|
|
/* 02806008 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02806008 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0280600C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0280600C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02806010 */ return;
|
|
}
|
|
|
|
// fn_02806014 @ 0x2806014
|
|
void Gambit_fn_02806014(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_02806014: ; // 0x2806014
|
|
/* 02806014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806018 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806018 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02806018 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02806018 */ goto L_0280601C;
|
|
L_0280601C: ; // 0x280601c
|
|
/* 0280601C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280601C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02806020 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806020 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02806020 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02806020 */ goto L_02806024;
|
|
L_02806024: ; // 0x2806024
|
|
/* 02806024 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02806028 @ 0x2806028
|
|
void Gambit_fn_02806028(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_02806028: ; // 0x2806028
|
|
/* 02806028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280602C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280602C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280602C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280602C */ goto L_02806030;
|
|
L_02806030: ; // 0x2806030
|
|
/* 02806030 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02806030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02806034 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806034 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02806034 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02806034 */ goto L_02806038;
|
|
L_02806038: ; // 0x2806038
|
|
/* 02806038 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280603C @ 0x280603c
|
|
void Gambit_fn_0280603C(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_0280603C: ; // 0x280603c
|
|
/* 0280603C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806040 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806040 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02806040 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02806040 */ goto L_02806044;
|
|
L_02806044: ; // 0x2806044
|
|
/* 02806044 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02806044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02806048 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806048 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02806048 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02806048 */ goto L_0280604C;
|
|
L_0280604C: ; // 0x280604c
|
|
/* 0280604C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02806050 @ 0x2806050
|
|
void Gambit_fn_02806050(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_02806050: ; // 0x2806050
|
|
/* 02806050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806054 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806054 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02806054 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02806054 */ goto L_02806058;
|
|
L_02806058: ; // 0x2806058
|
|
/* 02806058 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02806058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280605C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280605C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280605C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280605C */ goto L_02806060;
|
|
L_02806060: ; // 0x2806060
|
|
/* 02806060 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02806064 @ 0x2806064
|
|
void Gambit_fn_02806064(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02806064: ; // 0x2806064
|
|
/* 02806064 */ cpu->r[12] = 0x10110000u;
|
|
/* 02806068 */ _t0 = cpu->r[12] + 0x00002694u;
|
|
/* 02806068 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 0280606C */ cpu->r[12] = 0x10110000u;
|
|
/* 02806070 */ _t1 = cpu->r[12] + 0x00002660u;
|
|
/* 02806070 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02806074 */ cpu->r[12] = 0x10110000u;
|
|
/* 02806078 */ _t2 = cpu->r[12] + 0x00002678u;
|
|
/* 02806078 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0280607C */ cpu->r[12] = 0x10110000u;
|
|
/* 02806080 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02806084 */ _t3 = cpu->r[12] + 0x0000268Cu;
|
|
/* 02806084 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02806088 */ cpu->r[12] = 0x10110000u;
|
|
/* 0280608C */ _t4 = cpu->r[11] + 0x00005B34u;
|
|
/* 0280608C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[9]);
|
|
/* 0280608C */ cpu->r[11] = _t4;
|
|
/* 02806090 */ _t5 = cpu->r[12] + 0x00002668u;
|
|
/* 02806090 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02806094 */ cpu->r[12] = 0x10110000u;
|
|
/* 02806098 */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 02806098 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[10]);
|
|
/* 0280609C */ _t7 = cpu->r[12] + 0x0000267Cu;
|
|
/* 0280609C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 028060A0 */ cpu->r[12] = 0x10110000u;
|
|
/* 028060A4 */ _t8 = cpu->r[11] + 0x00000008u;
|
|
/* 028060A4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[11]);
|
|
/* 028060A8 */ cpu->r[9] = 0x101F0000u;
|
|
/* 028060AC */ _t9 = cpu->r[12] + 0x00002674u;
|
|
/* 028060AC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 028060B0 */ cpu->r[12] = 0x10110000u;
|
|
/* 028060B4 */ _t10 = cpu->r[9] + 0x00005B54u;
|
|
/* 028060B4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[9]);
|
|
/* 028060B4 */ cpu->r[9] = _t10;
|
|
/* 028060B8 */ cpu->r[10] = 0x101F0000u;
|
|
/* 028060BC */ _t11 = cpu->r[11] + 0x0000000Cu;
|
|
/* 028060BC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[9]);
|
|
/* 028060C0 */ _t12 = cpu->r[12] + 0x00002680u;
|
|
/* 028060C0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 028060C4 */ _t13 = cpu->r[10] + 0x00005B24u;
|
|
/* 028060C4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[11]);
|
|
/* 028060C4 */ cpu->r[10] = _t13;
|
|
/* 028060C8 */ cpu->r[12] = 0x10110000u;
|
|
/* 028060CC */ _t14 = cpu->r[10] + 0x00000004u;
|
|
/* 028060CC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[12]);
|
|
/* 028060D0 */ _t15 = cpu->r[12] + 0x00002690u;
|
|
/* 028060D0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 028060D4 */ cpu->r[12] = 0x10110000u;
|
|
/* 028060D8 */ _t16 = cpu->r[10] + 0x00000008u;
|
|
/* 028060D8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 028060DC */ cpu->r[11] = 0x101F0000u;
|
|
/* 028060E0 */ _t17 = cpu->r[12] + 0x00002698u;
|
|
/* 028060E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 028060E4 */ _t18 = cpu->r[9] + 0x00000004u;
|
|
/* 028060E4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[9]);
|
|
/* 028060E8 */ cpu->r[12] = 0x10110000u;
|
|
/* 028060EC */ _t19 = cpu->r[10] + 0x0000000Cu;
|
|
/* 028060EC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[9]);
|
|
/* 028060F0 */ _t20 = cpu->r[12] + 0x000026A0u;
|
|
/* 028060F0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 028060F4 */ cpu->r[12] = 0x10110000u;
|
|
/* 028060F8 */ _t21 = cpu->r[11] + 0x00005B44u;
|
|
/* 028060F8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 028060F8 */ cpu->r[11] = _t21;
|
|
/* 028060FC */ _t22 = cpu->r[12] + 0x00002684u;
|
|
/* 028060FC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02806100 */ cpu->r[12] = 0x10110000u;
|
|
/* 02806104 */ _t23 = cpu->r[11] + 0x00000004u;
|
|
/* 02806104 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 02806108 */ _t24 = cpu->r[12] + 0x00002688u;
|
|
/* 02806108 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0280610C */ cpu->r[12] = 0x10110000u;
|
|
/* 02806110 */ _t25 = cpu->r[11] + 0x00000008u;
|
|
/* 02806110 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 02806114 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02806118 */ _t26 = cpu->r[12] + 0x000026A8u;
|
|
/* 02806118 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 0280611C */ cpu->r[12] = 0x10110000u;
|
|
/* 02806120 */ _t27 = cpu->r[7] + 0x00005B14u;
|
|
/* 02806120 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[10]);
|
|
/* 02806120 */ cpu->r[7] = _t27;
|
|
/* 02806124 */ _t28 = cpu->r[7] + 0x00000004u;
|
|
/* 02806124 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[12]);
|
|
/* 02806128 */ _t29 = cpu->r[7] + 0x00000008u;
|
|
/* 02806128 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 0280612C */ cpu->r[10] = 0x101F0000u;
|
|
/* 02806130 */ _t30 = cpu->r[12] + 0x0000269Cu;
|
|
/* 02806130 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02806134 */ cpu->r[12] = 0x10110000u;
|
|
/* 02806138 */ _t31 = cpu->r[10] + 0x00005B74u;
|
|
/* 02806138 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[9]);
|
|
/* 02806138 */ cpu->r[10] = _t31;
|
|
/* 0280613C */ _t32 = cpu->r[12] + 0x000026A4u;
|
|
/* 0280613C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02806140 */ cpu->r[8] = 0x101F0000u;
|
|
/* 02806144 */ _t33 = cpu->r[9] + 0x00000008u;
|
|
/* 02806144 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[9]);
|
|
/* 02806148 */ _t34 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02806148 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[8]);
|
|
/* 0280614C */ _t35 = cpu->r[10] + 0x00000004u;
|
|
/* 0280614C */ rbrew_write_f32(cpu->mem, _t35, cpu->f[11]);
|
|
/* 02806150 */ cpu->r[12] = 0x10110000u;
|
|
/* 02806154 */ _t36 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02806154 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[9]);
|
|
/* 02806158 */ _t37 = cpu->r[12] + 0x000026B0u;
|
|
/* 02806158 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 0280615C */ cpu->r[12] = 0x10110000u;
|
|
/* 02806160 */ _t38 = cpu->r[8] + 0x00005B64u;
|
|
/* 02806160 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[12]);
|
|
/* 02806160 */ cpu->r[8] = _t38;
|
|
/* 02806164 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02806168 */ _t39 = cpu->r[12] + 0x000026ACu;
|
|
/* 02806168 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 0280616C */ cpu->r[12] = 0x10110000u;
|
|
/* 02806170 */ _t40 = cpu->r[12] + 0x000026B4u;
|
|
/* 02806170 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02806174 */ _t41 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02806174 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[9]);
|
|
/* 02806178 */ cpu->r[12] = 0x10110000u;
|
|
/* 0280617C */ _t42 = cpu->r[11] + 0x00005B84u;
|
|
/* 0280617C */ rbrew_write_f32(cpu->mem, _t42, cpu->f[9]);
|
|
/* 0280617C */ cpu->r[11] = _t42;
|
|
/* 02806180 */ _t43 = cpu->r[11] + 0x00000004u;
|
|
/* 02806180 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]);
|
|
/* 02806184 */ _t44 = cpu->r[11] + 0x00000008u;
|
|
/* 02806184 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[11]);
|
|
/* 02806188 */ _t45 = cpu->r[12] + 0x00004464u;
|
|
/* 02806188 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 0280618C */ cpu->r[12] = 0x10110000u;
|
|
/* 02806190 */ _t46 = cpu->r[10] + 0x00000008u;
|
|
/* 02806190 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[0]);
|
|
/* 02806194 */ _t47 = cpu->r[12] + 0x000026B8u;
|
|
/* 02806194 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02806198 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0280619C */ _t48 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280619C */ rbrew_write_f32(cpu->mem, _t48, cpu->f[9]);
|
|
/* 028061A0 */ _t49 = cpu->r[12] + 0x00005B94u;
|
|
/* 028061A0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[13]);
|
|
/* 028061A0 */ cpu->r[12] = _t49;
|
|
/* 028061A4 */ _t50 = cpu->r[10] + 0x0000000Cu;
|
|
/* 028061A4 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[9]);
|
|
/* 028061A8 */ _t51 = cpu->r[12] + 0x00000004u;
|
|
/* 028061A8 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[10]);
|
|
/* 028061AC */ _t52 = cpu->r[12] + 0x00000008u;
|
|
/* 028061AC */ rbrew_write_f32(cpu->mem, _t52, cpu->f[9]);
|
|
/* 028061B0 */ _t53 = cpu->r[8] + 0x00000004u;
|
|
/* 028061B0 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[12]);
|
|
/* 028061B4 */ _t54 = cpu->r[8] + 0x00000008u;
|
|
/* 028061B4 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[12]);
|
|
/* 028061B8 */ _t55 = cpu->r[8] + 0x0000000Cu;
|
|
/* 028061B8 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[8]);
|
|
/* 028061BC */ _t56 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028061BC */ rbrew_write_f32(cpu->mem, _t56, cpu->f[11]);
|
|
/* 028061C0 */ return;
|
|
}
|
|
|
|
// fn_028061C4 @ 0x28061c4
|
|
void Gambit_fn_028061C4(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_028061C4: ; // 0x28061c4
|
|
/* 028061C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028061C8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028061C8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028061C8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028061C8 */ goto L_028061CC;
|
|
L_028061CC: ; // 0x28061cc
|
|
/* 028061CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028061CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028061D0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028061D0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028061D0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028061D0 */ goto L_028061D4;
|
|
L_028061D4: ; // 0x28061d4
|
|
/* 028061D4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028061D8 @ 0x28061d8
|
|
void Gambit_fn_028061D8(CPUState* cpu) {
|
|
L_028061D8: ; // 0x28061d8
|
|
/* 028061D8 */ return;
|
|
}
|
|
|
|
// fn_028061DC @ 0x28061dc
|
|
void Gambit_fn_028061DC(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_028061DC: ; // 0x28061dc
|
|
/* 028061DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028061E0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028061E0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028061E0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028061E0 */ goto L_028061E4;
|
|
L_028061E4: ; // 0x28061e4
|
|
/* 028061E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028061E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028061E8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028061E8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028061E8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028061E8 */ goto L_028061EC;
|
|
L_028061EC: ; // 0x28061ec
|
|
/* 028061EC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028061F0 @ 0x28061f0
|
|
void Gambit_fn_028061F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_028061F0: ; // 0x28061f0
|
|
/* 028061F0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 028061F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028061F4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 028061F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028061F8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 028061FC */ cpu->r[11] = 0x10110000u;
|
|
/* 02806200 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02806200 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02806204 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02806204 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02806208 */ return;
|
|
}
|
|
|
|
// fn_0280620C @ 0x280620c
|
|
void Gambit_fn_0280620C(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_0280620C: ; // 0x280620c
|
|
/* 0280620C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806210 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806210 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02806210 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02806210 */ goto L_02806214;
|
|
L_02806214: ; // 0x2806214
|
|
/* 02806214 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02806214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02806218 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806218 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02806218 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02806218 */ goto L_0280621C;
|
|
L_0280621C: ; // 0x280621c
|
|
/* 0280621C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02806220 @ 0x2806220
|
|
void Gambit_fn_02806220(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_02806220: ; // 0x2806220
|
|
/* 02806220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806224 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806224 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02806224 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02806224 */ goto L_02806228;
|
|
L_02806228: ; // 0x2806228
|
|
/* 02806228 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02806228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280622C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280622C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280622C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280622C */ goto L_02806230;
|
|
L_02806230: ; // 0x2806230
|
|
/* 02806230 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02806234 @ 0x2806234
|
|
void Gambit_fn_02806234(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_02806234: ; // 0x2806234
|
|
/* 02806234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806238 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806238 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02806238 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02806238 */ goto L_0280623C;
|
|
L_0280623C: ; // 0x280623c
|
|
/* 0280623C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280623C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02806240 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806240 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02806240 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02806240 */ goto L_02806244;
|
|
L_02806244: ; // 0x2806244
|
|
/* 02806244 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02806248 @ 0x2806248
|
|
void Gambit_fn_02806248(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_02806248: ; // 0x2806248
|
|
/* 02806248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280624C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280624C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280624C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280624C */ goto L_02806250;
|
|
L_02806250: ; // 0x2806250
|
|
/* 02806250 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02806250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02806254 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806254 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02806254 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02806254 */ goto L_02806258;
|
|
L_02806258: ; // 0x2806258
|
|
/* 02806258 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280625C @ 0x280625c
|
|
void Gambit_fn_0280625C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0280625C: ; // 0x280625c
|
|
/* 0280625C */ cpu->r[0] = cpu->lr;
|
|
/* 02806260 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02806260 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02806264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806268 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02806268 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02806268 */ cpu->r[1] = _t1;
|
|
/* 0280626C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280626C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0280626C */ if (_t3) goto L_02806270; else goto L_02806280;
|
|
L_02806270: ; // 0x2806270
|
|
/* 02806270 */ cpu->r[3] = 0x00000004u;
|
|
/* 02806274 */ Gambit_fn_02801A78(cpu);
|
|
/* 02806278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280627C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280627C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280627C */ if (_t5) goto L_0280628C; else goto L_02806280;
|
|
L_02806280: ; // 0x2806280
|
|
/* 02806280 */ cpu->r[0] = 0x10110000u;
|
|
/* 02806284 */ cpu->r[0] = cpu->r[0] + 0x000026DCu;
|
|
/* 02806288 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02806288 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_0280628C: ; // 0x280628c
|
|
/* 0280628C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280628C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02806290 */ cpu->lr = cpu->r[0];
|
|
/* 02806294 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02806298 */ return;
|
|
}
|
|
|
|
// fn_02806268 @ 0x2806268
|
|
void Gambit_fn_02806268(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02806268: ; // 0x2806268
|
|
/* 02806268 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02806268 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02806268 */ cpu->r[1] = _t0;
|
|
/* 0280626C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280626C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0280626C */ if (_t2) goto L_02806270; else goto L_02806280;
|
|
L_02806270: ; // 0x2806270
|
|
/* 02806270 */ cpu->r[3] = 0x00000004u;
|
|
/* 02806274 */ Gambit_fn_02801A78(cpu);
|
|
/* 02806278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280627C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280627C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280627C */ if (_t4) goto L_0280628C; else goto L_02806280;
|
|
L_02806280: ; // 0x2806280
|
|
/* 02806280 */ cpu->r[0] = 0x10110000u;
|
|
/* 02806284 */ cpu->r[0] = cpu->r[0] + 0x000026DCu;
|
|
/* 02806288 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02806288 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_0280628C: ; // 0x280628c
|
|
/* 0280628C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280628C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02806290 */ cpu->lr = cpu->r[0];
|
|
/* 02806294 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02806298 */ return;
|
|
}
|
|
|
|
// fn_0280629C @ 0x280629c
|
|
void Gambit_fn_0280629C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0280629C: ; // 0x280629c
|
|
/* 0280629C */ cpu->r[0] = cpu->lr;
|
|
/* 028062A0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 028062A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 028062A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028062A8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 028062A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 028062A8 */ cpu->r[1] = _t1;
|
|
/* 028062AC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028062AC */ _t3 = _t2 & 0x00000001u;
|
|
/* 028062AC */ if (_t3) goto L_028062B0; else goto L_028062C0;
|
|
L_028062B0: ; // 0x28062b0
|
|
/* 028062B0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 028062B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028062B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028062BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028062BC */ _t5 = _t4 & 0x00000001u;
|
|
/* 028062BC */ if (_t5) goto L_028062D0; else goto L_028062C0;
|
|
L_028062C0: ; // 0x28062c0
|
|
/* 028062C0 */ cpu->r[0] = 0x00000000u;
|
|
/* 028062C4 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 028062C4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028062C8 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 028062C8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028062CC */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 028062CC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_028062D0: ; // 0x28062d0
|
|
/* 028062D0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028062D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028062D4 */ cpu->lr = cpu->r[0];
|
|
/* 028062D8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028062DC */ return;
|
|
}
|
|
|
|
// fn_028062A8 @ 0x28062a8
|
|
void Gambit_fn_028062A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_028062A8: ; // 0x28062a8
|
|
/* 028062A8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 028062A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028062A8 */ cpu->r[1] = _t0;
|
|
/* 028062AC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028062AC */ _t2 = _t1 & 0x00000001u;
|
|
/* 028062AC */ if (_t2) goto L_028062B0; else goto L_028062C0;
|
|
L_028062B0: ; // 0x28062b0
|
|
/* 028062B0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 028062B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028062B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028062BC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028062BC */ _t4 = _t3 & 0x00000001u;
|
|
/* 028062BC */ if (_t4) goto L_028062D0; else goto L_028062C0;
|
|
L_028062C0: ; // 0x28062c0
|
|
/* 028062C0 */ cpu->r[0] = 0x00000000u;
|
|
/* 028062C4 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 028062C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028062C8 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 028062C8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028062CC */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 028062CC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_028062D0: ; // 0x28062d0
|
|
/* 028062D0 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028062D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028062D4 */ cpu->lr = cpu->r[0];
|
|
/* 028062D8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028062DC */ return;
|
|
}
|
|
|
|
// fn_028062E0 @ 0x28062e0
|
|
void Gambit_fn_028062E0(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_028062E0: ; // 0x28062e0
|
|
/* 028062E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028062E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028062E4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028062E4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028062E4 */ goto L_028062E8;
|
|
L_028062E8: ; // 0x28062e8
|
|
/* 028062E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028062E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028062EC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028062EC */ _t19 = _t18 & 0x00000001u;
|
|
/* 028062EC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028062EC */ goto L_028062F0;
|
|
L_028062F0: ; // 0x28062f0
|
|
/* 028062F0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028062F4 @ 0x28062f4
|
|
void Gambit_fn_028062F4(CPUState* cpu) {
|
|
L_028062F4: ; // 0x28062f4
|
|
/* 028062F4 */ return;
|
|
}
|
|
|
|
// fn_028062F8 @ 0x28062f8
|
|
void Gambit_fn_028062F8(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_028062F8: ; // 0x28062f8
|
|
/* 028062F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028062FC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028062FC */ _t17 = _t16 & 0x00000001u;
|
|
/* 028062FC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028062FC */ goto L_02806300;
|
|
L_02806300: ; // 0x2806300
|
|
/* 02806300 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02806300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02806304 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806304 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02806304 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02806304 */ goto L_02806308;
|
|
L_02806308: ; // 0x2806308
|
|
/* 02806308 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280630C @ 0x280630c
|
|
void Gambit_fn_0280630C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0280630C: ; // 0x280630c
|
|
/* 0280630C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0280630C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02806310 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02806310 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02806314 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02806318 */ cpu->r[11] = 0x10110000u;
|
|
/* 0280631C */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0280631C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02806320 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02806320 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02806324 */ return;
|
|
}
|
|
|
|
// fn_02806328 @ 0x2806328
|
|
void Gambit_fn_02806328(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91;
|
|
|
|
L_02806328: ; // 0x2806328
|
|
/* 02806328 */ cpu->r[0] = cpu->lr;
|
|
/* 0280632C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280632C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280632C */ cpu->r[1] = _t0;
|
|
/* 02806330 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02806330 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02806334 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02806334 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02806338 */ cpu->r[31] = cpu->r[3];
|
|
/* 02806338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280633C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280633C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02806340 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806340 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02806340 */ if (_t5) goto L_02806344; else goto L_02806354;
|
|
L_02806344: ; // 0x2806344
|
|
/* 02806344 */ cpu->r[3] = 0x000000D4u;
|
|
/* 02806348 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280634C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280634C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02806350 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806350 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02806350 */ if (_t7) goto L_028064E4; else goto L_02806354;
|
|
L_02806354: ; // 0x2806354
|
|
/* 02806354 */ cpu->r[30] = 0x00000000u;
|
|
/* 02806358 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280635C */ _t8 = cpu->r[31] + 0x00000014u;
|
|
/* 0280635C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02806360 */ cpu->r[0] = cpu->r[0] + 0x00002D1Cu;
|
|
/* 02806364 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02806364 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02806368 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02806368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280636C */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 0280636C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02806370 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806370 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02806370 */ if (_t12) goto L_02806374; else goto L_02806384;
|
|
L_02806374: ; // 0x2806374
|
|
/* 02806374 */ cpu->r[3] = 0x00000014u;
|
|
/* 02806378 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280637C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806380 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806380 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02806380 */ if (_t14) goto L_02806398; else goto L_02806384;
|
|
L_02806384: ; // 0x2806384
|
|
/* 02806384 */ _t15 = cpu->r[3] + 0x00000010u;
|
|
/* 02806384 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02806388 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02806388 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 0280638C */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 0280638C */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02806390 */ _t18 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02806390 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02806394 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02806394 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_02806398: ; // 0x2806398
|
|
/* 02806398 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 02806398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280639C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280639C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0280639C */ if (_t21) goto L_028063A0; else goto L_028063B0;
|
|
L_028063A0: ; // 0x28063a0
|
|
/* 028063A0 */ cpu->r[3] = 0x00000014u;
|
|
/* 028063A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028063A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028063AC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028063AC */ _t23 = _t22 & 0x00000001u;
|
|
/* 028063AC */ if (_t23) goto L_028063C4; else goto L_028063B0;
|
|
L_028063B0: ; // 0x28063b0
|
|
/* 028063B0 */ _t24 = cpu->r[3] + 0x00000010u;
|
|
/* 028063B0 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 028063B4 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 028063B4 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 028063B8 */ _t26 = cpu->r[3] + 0x00000008u;
|
|
/* 028063B8 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 028063BC */ _t27 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028063BC */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 028063C0 */ _t28 = cpu->r[3] + 0x00000004u;
|
|
/* 028063C0 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
L_028063C4: ; // 0x28063c4
|
|
/* 028063C4 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 028063C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028063C8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028063C8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 028063C8 */ if (_t30) goto L_028063CC; else goto L_028063DC;
|
|
L_028063CC: ; // 0x28063cc
|
|
/* 028063CC */ cpu->r[3] = 0x00000014u;
|
|
/* 028063D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028063D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028063D8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028063D8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 028063D8 */ if (_t32) goto L_028063F0; else goto L_028063DC;
|
|
L_028063DC: ; // 0x28063dc
|
|
/* 028063DC */ _t33 = cpu->r[3] + 0x00000010u;
|
|
/* 028063DC */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 028063E0 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 028063E0 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 028063E4 */ _t35 = cpu->r[3] + 0x00000008u;
|
|
/* 028063E4 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
|
|
/* 028063E8 */ _t36 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028063E8 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
|
|
/* 028063EC */ _t37 = cpu->r[3] + 0x00000004u;
|
|
/* 028063EC */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
L_028063F0: ; // 0x28063f0
|
|
/* 028063F0 */ cpu->r[3] = cpu->r[31] + 0x00000058u;
|
|
/* 028063F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028063F4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028063F4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 028063F4 */ if (_t39) goto L_028063F8; else goto L_02806408;
|
|
L_028063F8: ; // 0x28063f8
|
|
/* 028063F8 */ cpu->r[3] = 0x00000014u;
|
|
/* 028063FC */ Gambit_fn_02801A78(cpu);
|
|
/* 02806400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806404 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806404 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02806404 */ if (_t41) goto L_0280641C; else goto L_02806408;
|
|
L_02806408: ; // 0x2806408
|
|
/* 02806408 */ _t42 = cpu->r[3] + 0x00000010u;
|
|
/* 02806408 */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
|
|
/* 0280640C */ _t43 = cpu->r[3] + 0x00000000u;
|
|
/* 0280640C */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
|
|
/* 02806410 */ _t44 = cpu->r[3] + 0x00000008u;
|
|
/* 02806410 */ rbrew_write32(cpu->mem, _t44, cpu->r[30]);
|
|
/* 02806414 */ _t45 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02806414 */ rbrew_write32(cpu->mem, _t45, cpu->r[30]);
|
|
/* 02806418 */ _t46 = cpu->r[3] + 0x00000004u;
|
|
/* 02806418 */ rbrew_write32(cpu->mem, _t46, cpu->r[30]);
|
|
L_0280641C: ; // 0x280641c
|
|
/* 0280641C */ cpu->r[3] = cpu->r[31] + 0x0000006Cu;
|
|
/* 0280641C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806420 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806420 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02806420 */ if (_t48) goto L_02806424; else goto L_02806434;
|
|
L_02806424: ; // 0x2806424
|
|
/* 02806424 */ cpu->r[3] = 0x00000014u;
|
|
/* 02806428 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280642C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806430 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806430 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02806430 */ if (_t50) goto L_02806448; else goto L_02806434;
|
|
L_02806434: ; // 0x2806434
|
|
/* 02806434 */ _t51 = cpu->r[3] + 0x00000010u;
|
|
/* 02806434 */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
|
|
/* 02806438 */ _t52 = cpu->r[3] + 0x00000000u;
|
|
/* 02806438 */ rbrew_write32(cpu->mem, _t52, cpu->r[30]);
|
|
/* 0280643C */ _t53 = cpu->r[3] + 0x00000008u;
|
|
/* 0280643C */ rbrew_write32(cpu->mem, _t53, cpu->r[30]);
|
|
/* 02806440 */ _t54 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02806440 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
|
|
/* 02806444 */ _t55 = cpu->r[3] + 0x00000004u;
|
|
/* 02806444 */ rbrew_write32(cpu->mem, _t55, cpu->r[30]);
|
|
L_02806448: ; // 0x2806448
|
|
/* 02806448 */ cpu->r[3] = cpu->r[31] + 0x00000080u;
|
|
/* 02806448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280644C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280644C */ _t57 = _t56 & 0x00000001u;
|
|
/* 0280644C */ if (_t57) goto L_02806450; else goto L_02806460;
|
|
L_02806450: ; // 0x2806450
|
|
/* 02806450 */ cpu->r[3] = 0x00000014u;
|
|
/* 02806454 */ Gambit_fn_02801A78(cpu);
|
|
/* 02806458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280645C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280645C */ _t59 = _t58 & 0x00000001u;
|
|
/* 0280645C */ if (_t59) goto L_02806474; else goto L_02806460;
|
|
L_02806460: ; // 0x2806460
|
|
/* 02806460 */ _t60 = cpu->r[3] + 0x00000010u;
|
|
/* 02806460 */ rbrew_write32(cpu->mem, _t60, cpu->r[30]);
|
|
/* 02806464 */ _t61 = cpu->r[3] + 0x00000000u;
|
|
/* 02806464 */ rbrew_write32(cpu->mem, _t61, cpu->r[30]);
|
|
/* 02806468 */ _t62 = cpu->r[3] + 0x00000008u;
|
|
/* 02806468 */ rbrew_write32(cpu->mem, _t62, cpu->r[30]);
|
|
/* 0280646C */ _t63 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280646C */ rbrew_write32(cpu->mem, _t63, cpu->r[30]);
|
|
/* 02806470 */ _t64 = cpu->r[3] + 0x00000004u;
|
|
/* 02806470 */ rbrew_write32(cpu->mem, _t64, cpu->r[30]);
|
|
L_02806474: ; // 0x2806474
|
|
/* 02806474 */ cpu->r[3] = cpu->r[31] + 0x00000094u;
|
|
/* 02806474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806478 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806478 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02806478 */ if (_t66) goto L_0280647C; else goto L_0280648C;
|
|
L_0280647C: ; // 0x280647c
|
|
/* 0280647C */ cpu->r[3] = 0x00000014u;
|
|
/* 02806480 */ Gambit_fn_02801A78(cpu);
|
|
/* 02806484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806488 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806488 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02806488 */ if (_t68) goto L_028064A0; else goto L_0280648C;
|
|
L_0280648C: ; // 0x280648c
|
|
/* 0280648C */ _t69 = cpu->r[3] + 0x00000010u;
|
|
/* 0280648C */ rbrew_write32(cpu->mem, _t69, cpu->r[30]);
|
|
/* 02806490 */ _t70 = cpu->r[3] + 0x00000000u;
|
|
/* 02806490 */ rbrew_write32(cpu->mem, _t70, cpu->r[30]);
|
|
/* 02806494 */ _t71 = cpu->r[3] + 0x00000008u;
|
|
/* 02806494 */ rbrew_write32(cpu->mem, _t71, cpu->r[30]);
|
|
/* 02806498 */ _t72 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02806498 */ rbrew_write32(cpu->mem, _t72, cpu->r[30]);
|
|
/* 0280649C */ _t73 = cpu->r[3] + 0x00000004u;
|
|
/* 0280649C */ rbrew_write32(cpu->mem, _t73, cpu->r[30]);
|
|
L_028064A0: ; // 0x28064a0
|
|
/* 028064A0 */ cpu->r[3] = cpu->r[31] + 0x000000A8u;
|
|
/* 028064A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028064A4 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028064A4 */ _t75 = _t74 & 0x00000001u;
|
|
/* 028064A4 */ if (_t75) goto L_028064A8; else goto L_028064B8;
|
|
L_028064A8: ; // 0x28064a8
|
|
/* 028064A8 */ cpu->r[3] = 0x00000014u;
|
|
/* 028064AC */ Gambit_fn_02801A78(cpu);
|
|
/* 028064B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028064B4 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028064B4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 028064B4 */ if (_t77) goto L_028064CC; else goto L_028064B8;
|
|
L_028064B8: ; // 0x28064b8
|
|
/* 028064B8 */ _t78 = cpu->r[3] + 0x00000010u;
|
|
/* 028064B8 */ rbrew_write32(cpu->mem, _t78, cpu->r[30]);
|
|
/* 028064BC */ _t79 = cpu->r[3] + 0x00000000u;
|
|
/* 028064BC */ rbrew_write32(cpu->mem, _t79, cpu->r[30]);
|
|
/* 028064C0 */ _t80 = cpu->r[3] + 0x00000008u;
|
|
/* 028064C0 */ rbrew_write32(cpu->mem, _t80, cpu->r[30]);
|
|
/* 028064C4 */ _t81 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028064C4 */ rbrew_write32(cpu->mem, _t81, cpu->r[30]);
|
|
/* 028064C8 */ _t82 = cpu->r[3] + 0x00000004u;
|
|
/* 028064C8 */ rbrew_write32(cpu->mem, _t82, cpu->r[30]);
|
|
L_028064CC: ; // 0x28064cc
|
|
/* 028064CC */ _t83 = cpu->r[31] + 0x000000BCu;
|
|
/* 028064CC */ rbrew_write32(cpu->mem, _t83, cpu->r[30]);
|
|
/* 028064D0 */ _t84 = cpu->r[31] + 0x000000CCu;
|
|
/* 028064D0 */ rbrew_write32(cpu->mem, _t84, cpu->r[30]);
|
|
/* 028064D4 */ _t85 = cpu->r[31] + 0x000000D0u;
|
|
/* 028064D4 */ rbrew_write32(cpu->mem, _t85, cpu->r[30]);
|
|
/* 028064D8 */ _t86 = cpu->r[31] + 0x000000C8u;
|
|
/* 028064D8 */ rbrew_write32(cpu->mem, _t86, cpu->r[30]);
|
|
/* 028064DC */ _t87 = cpu->r[31] + 0x000000C4u;
|
|
/* 028064DC */ rbrew_write32(cpu->mem, _t87, cpu->r[30]);
|
|
/* 028064E0 */ _t88 = cpu->r[31] + 0x000000C0u;
|
|
/* 028064E0 */ rbrew_write32(cpu->mem, _t88, cpu->r[30]);
|
|
L_028064E4: ; // 0x28064e4
|
|
/* 028064E4 */ _t89 = cpu->r[1] + 0x00000014u;
|
|
/* 028064E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 028064E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028064EC */ _t90 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028064EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t90);
|
|
/* 028064F0 */ cpu->lr = cpu->r[0];
|
|
/* 028064F4 */ _t91 = cpu->r[1] + 0x00000008u;
|
|
/* 028064F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t91);
|
|
/* 028064F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028064FC */ return;
|
|
}
|
|
|
|
// fn_0280632C @ 0x280632c
|
|
void Gambit_fn_0280632C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91;
|
|
|
|
L_0280632C: ; // 0x280632c
|
|
/* 0280632C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280632C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280632C */ cpu->r[1] = _t0;
|
|
/* 02806330 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02806330 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02806334 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02806334 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02806338 */ cpu->r[31] = cpu->r[3];
|
|
/* 02806338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280633C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280633C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02806340 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806340 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02806340 */ if (_t5) goto L_02806344; else goto L_02806354;
|
|
L_02806344: ; // 0x2806344
|
|
/* 02806344 */ cpu->r[3] = 0x000000D4u;
|
|
/* 02806348 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280634C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280634C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02806350 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806350 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02806350 */ if (_t7) goto L_028064E4; else goto L_02806354;
|
|
L_02806354: ; // 0x2806354
|
|
/* 02806354 */ cpu->r[30] = 0x00000000u;
|
|
/* 02806358 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280635C */ _t8 = cpu->r[31] + 0x00000014u;
|
|
/* 0280635C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02806360 */ cpu->r[0] = cpu->r[0] + 0x00002D1Cu;
|
|
/* 02806364 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02806364 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02806368 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02806368 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280636C */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 0280636C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02806370 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806370 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02806370 */ if (_t12) goto L_02806374; else goto L_02806384;
|
|
L_02806374: ; // 0x2806374
|
|
/* 02806374 */ cpu->r[3] = 0x00000014u;
|
|
/* 02806378 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280637C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806380 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806380 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02806380 */ if (_t14) goto L_02806398; else goto L_02806384;
|
|
L_02806384: ; // 0x2806384
|
|
/* 02806384 */ _t15 = cpu->r[3] + 0x00000010u;
|
|
/* 02806384 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02806388 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02806388 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 0280638C */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 0280638C */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02806390 */ _t18 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02806390 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02806394 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02806394 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_02806398: ; // 0x2806398
|
|
/* 02806398 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 02806398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280639C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280639C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0280639C */ if (_t21) goto L_028063A0; else goto L_028063B0;
|
|
L_028063A0: ; // 0x28063a0
|
|
/* 028063A0 */ cpu->r[3] = 0x00000014u;
|
|
/* 028063A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028063A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028063AC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028063AC */ _t23 = _t22 & 0x00000001u;
|
|
/* 028063AC */ if (_t23) goto L_028063C4; else goto L_028063B0;
|
|
L_028063B0: ; // 0x28063b0
|
|
/* 028063B0 */ _t24 = cpu->r[3] + 0x00000010u;
|
|
/* 028063B0 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 028063B4 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 028063B4 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 028063B8 */ _t26 = cpu->r[3] + 0x00000008u;
|
|
/* 028063B8 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 028063BC */ _t27 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028063BC */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 028063C0 */ _t28 = cpu->r[3] + 0x00000004u;
|
|
/* 028063C0 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
L_028063C4: ; // 0x28063c4
|
|
/* 028063C4 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 028063C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028063C8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028063C8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 028063C8 */ if (_t30) goto L_028063CC; else goto L_028063DC;
|
|
L_028063CC: ; // 0x28063cc
|
|
/* 028063CC */ cpu->r[3] = 0x00000014u;
|
|
/* 028063D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028063D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028063D8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028063D8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 028063D8 */ if (_t32) goto L_028063F0; else goto L_028063DC;
|
|
L_028063DC: ; // 0x28063dc
|
|
/* 028063DC */ _t33 = cpu->r[3] + 0x00000010u;
|
|
/* 028063DC */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 028063E0 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 028063E0 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
/* 028063E4 */ _t35 = cpu->r[3] + 0x00000008u;
|
|
/* 028063E4 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
|
|
/* 028063E8 */ _t36 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028063E8 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
|
|
/* 028063EC */ _t37 = cpu->r[3] + 0x00000004u;
|
|
/* 028063EC */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
L_028063F0: ; // 0x28063f0
|
|
/* 028063F0 */ cpu->r[3] = cpu->r[31] + 0x00000058u;
|
|
/* 028063F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028063F4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028063F4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 028063F4 */ if (_t39) goto L_028063F8; else goto L_02806408;
|
|
L_028063F8: ; // 0x28063f8
|
|
/* 028063F8 */ cpu->r[3] = 0x00000014u;
|
|
/* 028063FC */ Gambit_fn_02801A78(cpu);
|
|
/* 02806400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806404 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806404 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02806404 */ if (_t41) goto L_0280641C; else goto L_02806408;
|
|
L_02806408: ; // 0x2806408
|
|
/* 02806408 */ _t42 = cpu->r[3] + 0x00000010u;
|
|
/* 02806408 */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
|
|
/* 0280640C */ _t43 = cpu->r[3] + 0x00000000u;
|
|
/* 0280640C */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
|
|
/* 02806410 */ _t44 = cpu->r[3] + 0x00000008u;
|
|
/* 02806410 */ rbrew_write32(cpu->mem, _t44, cpu->r[30]);
|
|
/* 02806414 */ _t45 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02806414 */ rbrew_write32(cpu->mem, _t45, cpu->r[30]);
|
|
/* 02806418 */ _t46 = cpu->r[3] + 0x00000004u;
|
|
/* 02806418 */ rbrew_write32(cpu->mem, _t46, cpu->r[30]);
|
|
L_0280641C: ; // 0x280641c
|
|
/* 0280641C */ cpu->r[3] = cpu->r[31] + 0x0000006Cu;
|
|
/* 0280641C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806420 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806420 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02806420 */ if (_t48) goto L_02806424; else goto L_02806434;
|
|
L_02806424: ; // 0x2806424
|
|
/* 02806424 */ cpu->r[3] = 0x00000014u;
|
|
/* 02806428 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280642C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806430 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806430 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02806430 */ if (_t50) goto L_02806448; else goto L_02806434;
|
|
L_02806434: ; // 0x2806434
|
|
/* 02806434 */ _t51 = cpu->r[3] + 0x00000010u;
|
|
/* 02806434 */ rbrew_write32(cpu->mem, _t51, cpu->r[30]);
|
|
/* 02806438 */ _t52 = cpu->r[3] + 0x00000000u;
|
|
/* 02806438 */ rbrew_write32(cpu->mem, _t52, cpu->r[30]);
|
|
/* 0280643C */ _t53 = cpu->r[3] + 0x00000008u;
|
|
/* 0280643C */ rbrew_write32(cpu->mem, _t53, cpu->r[30]);
|
|
/* 02806440 */ _t54 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02806440 */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
|
|
/* 02806444 */ _t55 = cpu->r[3] + 0x00000004u;
|
|
/* 02806444 */ rbrew_write32(cpu->mem, _t55, cpu->r[30]);
|
|
L_02806448: ; // 0x2806448
|
|
/* 02806448 */ cpu->r[3] = cpu->r[31] + 0x00000080u;
|
|
/* 02806448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280644C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280644C */ _t57 = _t56 & 0x00000001u;
|
|
/* 0280644C */ if (_t57) goto L_02806450; else goto L_02806460;
|
|
L_02806450: ; // 0x2806450
|
|
/* 02806450 */ cpu->r[3] = 0x00000014u;
|
|
/* 02806454 */ Gambit_fn_02801A78(cpu);
|
|
/* 02806458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280645C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280645C */ _t59 = _t58 & 0x00000001u;
|
|
/* 0280645C */ if (_t59) goto L_02806474; else goto L_02806460;
|
|
L_02806460: ; // 0x2806460
|
|
/* 02806460 */ _t60 = cpu->r[3] + 0x00000010u;
|
|
/* 02806460 */ rbrew_write32(cpu->mem, _t60, cpu->r[30]);
|
|
/* 02806464 */ _t61 = cpu->r[3] + 0x00000000u;
|
|
/* 02806464 */ rbrew_write32(cpu->mem, _t61, cpu->r[30]);
|
|
/* 02806468 */ _t62 = cpu->r[3] + 0x00000008u;
|
|
/* 02806468 */ rbrew_write32(cpu->mem, _t62, cpu->r[30]);
|
|
/* 0280646C */ _t63 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280646C */ rbrew_write32(cpu->mem, _t63, cpu->r[30]);
|
|
/* 02806470 */ _t64 = cpu->r[3] + 0x00000004u;
|
|
/* 02806470 */ rbrew_write32(cpu->mem, _t64, cpu->r[30]);
|
|
L_02806474: ; // 0x2806474
|
|
/* 02806474 */ cpu->r[3] = cpu->r[31] + 0x00000094u;
|
|
/* 02806474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806478 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806478 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02806478 */ if (_t66) goto L_0280647C; else goto L_0280648C;
|
|
L_0280647C: ; // 0x280647c
|
|
/* 0280647C */ cpu->r[3] = 0x00000014u;
|
|
/* 02806480 */ Gambit_fn_02801A78(cpu);
|
|
/* 02806484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806488 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806488 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02806488 */ if (_t68) goto L_028064A0; else goto L_0280648C;
|
|
L_0280648C: ; // 0x280648c
|
|
/* 0280648C */ _t69 = cpu->r[3] + 0x00000010u;
|
|
/* 0280648C */ rbrew_write32(cpu->mem, _t69, cpu->r[30]);
|
|
/* 02806490 */ _t70 = cpu->r[3] + 0x00000000u;
|
|
/* 02806490 */ rbrew_write32(cpu->mem, _t70, cpu->r[30]);
|
|
/* 02806494 */ _t71 = cpu->r[3] + 0x00000008u;
|
|
/* 02806494 */ rbrew_write32(cpu->mem, _t71, cpu->r[30]);
|
|
/* 02806498 */ _t72 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02806498 */ rbrew_write32(cpu->mem, _t72, cpu->r[30]);
|
|
/* 0280649C */ _t73 = cpu->r[3] + 0x00000004u;
|
|
/* 0280649C */ rbrew_write32(cpu->mem, _t73, cpu->r[30]);
|
|
L_028064A0: ; // 0x28064a0
|
|
/* 028064A0 */ cpu->r[3] = cpu->r[31] + 0x000000A8u;
|
|
/* 028064A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028064A4 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028064A4 */ _t75 = _t74 & 0x00000001u;
|
|
/* 028064A4 */ if (_t75) goto L_028064A8; else goto L_028064B8;
|
|
L_028064A8: ; // 0x28064a8
|
|
/* 028064A8 */ cpu->r[3] = 0x00000014u;
|
|
/* 028064AC */ Gambit_fn_02801A78(cpu);
|
|
/* 028064B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028064B4 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028064B4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 028064B4 */ if (_t77) goto L_028064CC; else goto L_028064B8;
|
|
L_028064B8: ; // 0x28064b8
|
|
/* 028064B8 */ _t78 = cpu->r[3] + 0x00000010u;
|
|
/* 028064B8 */ rbrew_write32(cpu->mem, _t78, cpu->r[30]);
|
|
/* 028064BC */ _t79 = cpu->r[3] + 0x00000000u;
|
|
/* 028064BC */ rbrew_write32(cpu->mem, _t79, cpu->r[30]);
|
|
/* 028064C0 */ _t80 = cpu->r[3] + 0x00000008u;
|
|
/* 028064C0 */ rbrew_write32(cpu->mem, _t80, cpu->r[30]);
|
|
/* 028064C4 */ _t81 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028064C4 */ rbrew_write32(cpu->mem, _t81, cpu->r[30]);
|
|
/* 028064C8 */ _t82 = cpu->r[3] + 0x00000004u;
|
|
/* 028064C8 */ rbrew_write32(cpu->mem, _t82, cpu->r[30]);
|
|
L_028064CC: ; // 0x28064cc
|
|
/* 028064CC */ _t83 = cpu->r[31] + 0x000000BCu;
|
|
/* 028064CC */ rbrew_write32(cpu->mem, _t83, cpu->r[30]);
|
|
/* 028064D0 */ _t84 = cpu->r[31] + 0x000000CCu;
|
|
/* 028064D0 */ rbrew_write32(cpu->mem, _t84, cpu->r[30]);
|
|
/* 028064D4 */ _t85 = cpu->r[31] + 0x000000D0u;
|
|
/* 028064D4 */ rbrew_write32(cpu->mem, _t85, cpu->r[30]);
|
|
/* 028064D8 */ _t86 = cpu->r[31] + 0x000000C8u;
|
|
/* 028064D8 */ rbrew_write32(cpu->mem, _t86, cpu->r[30]);
|
|
/* 028064DC */ _t87 = cpu->r[31] + 0x000000C4u;
|
|
/* 028064DC */ rbrew_write32(cpu->mem, _t87, cpu->r[30]);
|
|
/* 028064E0 */ _t88 = cpu->r[31] + 0x000000C0u;
|
|
/* 028064E0 */ rbrew_write32(cpu->mem, _t88, cpu->r[30]);
|
|
L_028064E4: ; // 0x28064e4
|
|
/* 028064E4 */ _t89 = cpu->r[1] + 0x00000014u;
|
|
/* 028064E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 028064E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028064EC */ _t90 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028064EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t90);
|
|
/* 028064F0 */ cpu->lr = cpu->r[0];
|
|
/* 028064F4 */ _t91 = cpu->r[1] + 0x00000008u;
|
|
/* 028064F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t91);
|
|
/* 028064F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028064FC */ return;
|
|
}
|
|
|
|
// fn_02806500 @ 0x2806500
|
|
void Gambit_fn_02806500(CPUState* 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_02806500: ; // 0x2806500
|
|
/* 02806500 */ cpu->r[0] = cpu->lr;
|
|
/* 02806504 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02806504 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02806504 */ cpu->r[1] = _t0;
|
|
/* 02806508 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02806508 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280650C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280650C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02806510 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02806510 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02806514 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02806514 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02806518 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02806518 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280651C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02806520 */ cpu->r[30] = cpu->r[3];
|
|
/* 02806524 */ _t6 = cpu->r[29] + 0xFFFF9884u;
|
|
/* 02806524 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02806524 */ cpu->r[29] = _t6;
|
|
/* 02806528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280652C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280652C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280652C */ if (_t8) goto L_02806530; else goto L_02806580;
|
|
L_02806530: ; // 0x2806530
|
|
/* 02806530 */ cpu->r[4] = cpu->r[30];
|
|
/* 02806534 */ cpu->r[3] = 0x000000D4u;
|
|
/* 02806538 */ cpu->r[5] = 0x00000004u;
|
|
/* 0280653C */ Gambit_fn_02801ADC(cpu);
|
|
/* 02806540 */ cpu->r[31] = cpu->r[3];
|
|
/* 02806544 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
|
|
/* 02806544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02806548 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806548 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02806548 */ if (_t10) goto L_02806568; else goto L_0280654C;
|
|
L_0280654C: ; // 0x280654c
|
|
/* 0280654C */ cpu->r[5] = 0x00000003u;
|
|
/* 02806550 */ cpu->r[4] = cpu->r[30];
|
|
/* 02806554 */ cpu->r[3] = cpu->r[28];
|
|
/* 02806558 */ Gambit_fn_02821D88(cpu);
|
|
/* 0280655C */ cpu->r[0] = 0x10110000u;
|
|
/* 02806560 */ cpu->r[0] = cpu->r[0] + 0x00002D0Cu;
|
|
/* 02806564 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02806564 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02806568: ; // 0x2806568
|
|
/* 02806568 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0280656C */ cpu->r[3] = cpu->r[31];
|
|
/* 0280656C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806570 */ _t12 = cpu->r[12] + 0xFFFF9888u;
|
|
/* 02806570 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02806574 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806574 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02806574 */ if (_t14) goto L_0280657C; else goto L_02806578;
|
|
L_02806578: ; // 0x2806578
|
|
/* 02806578 */ Gambit_fn_02806328(cpu);
|
|
L_0280657C: ; // 0x280657c
|
|
/* 0280657C */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 0280657C */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_02806580: ; // 0x2806580
|
|
/* 02806580 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02806580 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02806584 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02806584 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02806588 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02806588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280658C */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0280658C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02806590 */ cpu->lr = cpu->r[0];
|
|
/* 02806594 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02806594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02806598 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280659C */ return;
|
|
}
|
|
|
|
// fn_02806504 @ 0x2806504
|
|
void Gambit_fn_02806504(CPUState* 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_02806504: ; // 0x2806504
|
|
/* 02806504 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02806504 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02806504 */ cpu->r[1] = _t0;
|
|
/* 02806508 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02806508 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280650C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280650C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02806510 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02806510 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02806514 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02806514 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02806518 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02806518 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280651C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02806520 */ cpu->r[30] = cpu->r[3];
|
|
/* 02806524 */ _t6 = cpu->r[29] + 0xFFFF9884u;
|
|
/* 02806524 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02806524 */ cpu->r[29] = _t6;
|
|
/* 02806528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280652C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280652C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280652C */ if (_t8) goto L_02806530; else goto L_02806580;
|
|
L_02806530: ; // 0x2806530
|
|
/* 02806530 */ cpu->r[4] = cpu->r[30];
|
|
/* 02806534 */ cpu->r[3] = 0x000000D4u;
|
|
/* 02806538 */ cpu->r[5] = 0x00000004u;
|
|
/* 0280653C */ Gambit_fn_02801ADC(cpu);
|
|
/* 02806540 */ cpu->r[31] = cpu->r[3];
|
|
/* 02806544 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
|
|
/* 02806544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02806548 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806548 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02806548 */ if (_t10) goto L_02806568; else goto L_0280654C;
|
|
L_0280654C: ; // 0x280654c
|
|
/* 0280654C */ cpu->r[5] = 0x00000003u;
|
|
/* 02806550 */ cpu->r[4] = cpu->r[30];
|
|
/* 02806554 */ cpu->r[3] = cpu->r[28];
|
|
/* 02806558 */ Gambit_fn_02821D88(cpu);
|
|
/* 0280655C */ cpu->r[0] = 0x10110000u;
|
|
/* 02806560 */ cpu->r[0] = cpu->r[0] + 0x00002D0Cu;
|
|
/* 02806564 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02806564 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02806568: ; // 0x2806568
|
|
/* 02806568 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0280656C */ cpu->r[3] = cpu->r[31];
|
|
/* 0280656C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806570 */ _t12 = cpu->r[12] + 0xFFFF9888u;
|
|
/* 02806570 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02806574 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806574 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02806574 */ if (_t14) goto L_0280657C; else goto L_02806578;
|
|
L_02806578: ; // 0x2806578
|
|
/* 02806578 */ Gambit_fn_02806328(cpu);
|
|
L_0280657C: ; // 0x280657c
|
|
/* 0280657C */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 0280657C */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_02806580: ; // 0x2806580
|
|
/* 02806580 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02806580 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02806584 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02806584 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02806588 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02806588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280658C */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0280658C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02806590 */ cpu->lr = cpu->r[0];
|
|
/* 02806594 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02806594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02806598 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280659C */ return;
|
|
}
|
|
|
|
// fn_028065A0 @ 0x28065a0
|
|
void Gambit_fn_028065A0(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_028065A0: ; // 0x28065a0
|
|
/* 028065A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028065A4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028065A4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028065A4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028065A4 */ goto L_028065A8;
|
|
L_028065A8: ; // 0x28065a8
|
|
/* 028065A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028065A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028065AC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028065AC */ _t19 = _t18 & 0x00000001u;
|
|
/* 028065AC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028065AC */ goto L_028065B0;
|
|
L_028065B0: ; // 0x28065b0
|
|
/* 028065B0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028065B4 @ 0x28065b4
|
|
void Gambit_fn_028065B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_028065B4: ; // 0x28065b4
|
|
/* 028065B4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 028065B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028065B4 */ cpu->r[1] = _t0;
|
|
/* 028065B8 */ /* nop */
|
|
/* 028065BC */ cpu->r[0] = cpu->lr;
|
|
/* 028065C0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 028065C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028065C4 */ cpu->r[29] = cpu->r[7];
|
|
/* 028065C8 */ cpu->r[27] = cpu->r[5];
|
|
/* 028065CC */ cpu->r[31] = 0x10110000u;
|
|
/* 028065D0 */ _t2 = cpu->r[27] + 0x00000000u;
|
|
/* 028065D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028065D4 */ _t3 = cpu->r[31] + 0x00007399u;
|
|
/* 028065D4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t3);
|
|
/* 028065D8 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 028065D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 028065DC */ cpu->r[25] = cpu->r[3];
|
|
/* 028065E0 */ cpu->r[26] = cpu->r[4];
|
|
/* 028065E4 */ cpu->r[28] = cpu->r[6];
|
|
/* 028065E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028065EC */ cpu->r[30] = 0x00000000u;
|
|
/* 028065F0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028065F0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028065F0 */ if (_t6) goto L_0280674C; else goto L_028065F4;
|
|
L_028065F4: ; // 0x28065f4
|
|
/* 028065F4 */ _t7 = cpu->r[26] + 0x00000014u;
|
|
/* 028065F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028065F8 */ _t8 = cpu->r[12] + 0x00000014u;
|
|
/* 028065F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028065FC */ cpu->ctr = cpu->r[0];
|
|
/* 02806600 */ cpu->r[3] = cpu->r[26] + 0x00000010u;
|
|
/* 02806604 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806608 */ _t9 = cpu->r[26] + 0x00000014u;
|
|
/* 02806608 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280660C */ _t10 = cpu->r[6] + 0x00000014u;
|
|
/* 0280660C */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02806610 */ cpu->ctr = cpu->r[7];
|
|
/* 02806614 */ cpu->r[3] = cpu->r[26] + 0x00000010u;
|
|
/* 02806618 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280661C */ _t11 = cpu->r[27] + 0x00000004u;
|
|
/* 0280661C */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02806620 */ _t12 = cpu->r[8] + 0x00000014u;
|
|
/* 02806620 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02806624 */ cpu->ctr = cpu->r[9];
|
|
/* 02806628 */ _t13 = cpu->r[26] + 0x00000010u;
|
|
/* 02806628 */ cpu->r[24] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280662C */ cpu->r[3] = cpu->r[27];
|
|
/* 02806630 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806634 */ _t14 = cpu->r[27] + 0x00000000u;
|
|
/* 02806634 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02806638 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[10]);
|
|
/* 0280663C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280663C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280663C */ if (_t16) goto L_02806688; else goto L_02806640;
|
|
L_02806640: ; // 0x2806640
|
|
/* 02806640 */ cpu->r[10] = 0x00080000u;
|
|
/* 02806644 */ _t17 = cpu->r[26] + 0x00000010u;
|
|
/* 02806644 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02806648 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0280664C */ _t18 = cpu->r[27] + 0x00000000u;
|
|
/* 0280664C */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02806650 */ cpu->ctr = cpu->r[10];
|
|
/* 02806654 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02806658 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0280665C: ; // 0x280665c
|
|
/* 0280665C */ _t19 = cpu->r[7] + 0x00000001u;
|
|
/* 0280665C */ cpu->r[8] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0280665C */ cpu->r[7] = _t19;
|
|
/* 02806660 */ _t20 = cpu->r[6] + 0x00000001u;
|
|
/* 02806660 */ cpu->r[11] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02806660 */ cpu->r[6] = _t20;
|
|
/* 02806664 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[11]);
|
|
/* 02806668 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806668 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02806668 */ if (_t22) goto L_0280666C; else goto L_02806750;
|
|
L_0280666C: ; // 0x280666c
|
|
/* 0280666C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02806670 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806670 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02806670 */ if (_t24) goto L_02806688; else goto L_02806674;
|
|
L_02806674: ; // 0x2806674
|
|
/* 02806674 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02806674 */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02806674 */ _t26 = _t25 >> (0x00000002u & 31u);
|
|
/* 02806674 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02806674 */ if (_t27) goto L_0280665C; else goto L_02806678;
|
|
L_02806678: ; // 0x2806678
|
|
/* 02806678 */ _t28 = cpu->r[26] + 0x00000004u;
|
|
/* 02806678 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280667C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02806680 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806680 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02806680 */ if (_t30) goto L_02806784; else goto L_02806684;
|
|
L_02806684: ; // 0x2806684
|
|
/* 02806684 */ goto L_0280675C;
|
|
L_02806688: ; // 0x2806688
|
|
/* 02806688 */ _t31 = cpu->r[28] + 0x00000000u;
|
|
/* 02806688 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0280668C */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 0280668C */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02806690 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02806694 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806694 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02806694 */ if (_t34) goto L_0280674C; else goto L_02806698;
|
|
L_02806698: ; // 0x2806698
|
|
/* 02806698 */ _t35 = cpu->r[29] + 0x00000000u;
|
|
/* 02806698 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0280669C */ _t36 = cpu->r[8] + 0x00000000u;
|
|
/* 0280669C */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 028066A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028066A4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028066A4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 028066A4 */ if (_t38) goto L_0280674C; else goto L_028066A8;
|
|
L_028066A8: ; // 0x28066a8
|
|
/* 028066A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028066AC */ cpu->r[5] = cpu->r[28];
|
|
/* 028066B0 */ cpu->r[3] = cpu->r[26];
|
|
/* 028066B4 */ Gambit_fn_02842084(cpu);
|
|
/* 028066B8 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028066B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 028066BC */ _t40 = cpu->r[10] + 0x00000014u;
|
|
/* 028066BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 028066C0 */ cpu->ctr = cpu->r[0];
|
|
/* 028066C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028066C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028066CC */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028066CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 028066D0 */ _t42 = cpu->r[12] + 0x00000014u;
|
|
/* 028066D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t42);
|
|
/* 028066D4 */ cpu->ctr = cpu->r[5];
|
|
/* 028066D8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028066DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028066E0 */ _t43 = cpu->r[29] + 0x00000004u;
|
|
/* 028066E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 028066E4 */ _t44 = cpu->r[6] + 0x00000014u;
|
|
/* 028066E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t44);
|
|
/* 028066E8 */ cpu->ctr = cpu->r[7];
|
|
/* 028066EC */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 028066EC */ cpu->r[24] = rbrew_read32(cpu->mem, _t45);
|
|
/* 028066F0 */ cpu->r[3] = cpu->r[29];
|
|
/* 028066F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028066F8 */ _t46 = cpu->r[29] + 0x00000000u;
|
|
/* 028066F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 028066FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[8]);
|
|
/* 02806700 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806700 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02806700 */ if (_t48) goto L_0280674C; else goto L_02806704;
|
|
L_02806704: ; // 0x2806704
|
|
/* 02806704 */ cpu->r[0] = 0x00080000u;
|
|
/* 02806708 */ _t49 = cpu->r[29] + 0x00000000u;
|
|
/* 02806708 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0280670C */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02806710 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02806710 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02806714 */ cpu->ctr = cpu->r[0];
|
|
/* 02806718 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0280671C: ; // 0x280671c
|
|
/* 0280671C */ _t51 = cpu->r[12] + 0x00000000u;
|
|
/* 0280671C */ cpu->r[9] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02806720 */ _t52 = cpu->r[5] + 0x00000001u;
|
|
/* 02806720 */ cpu->r[0] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02806720 */ cpu->r[5] = _t52;
|
|
/* 02806724 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02806728 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806728 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02806728 */ if (_t54) goto L_0280672C; else goto L_02806750;
|
|
L_0280672C: ; // 0x280672c
|
|
/* 0280672C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02806730 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806730 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02806730 */ if (_t56) goto L_0280674C; else goto L_02806734;
|
|
L_02806734: ; // 0x2806734
|
|
/* 02806734 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02806738 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02806738 */ _t57 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02806738 */ _t58 = _t57 >> (0x00000002u & 31u);
|
|
/* 02806738 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02806738 */ if (_t59) goto L_0280671C; else goto L_0280673C;
|
|
L_0280673C: ; // 0x280673c
|
|
/* 0280673C */ _t60 = cpu->r[26] + 0x00000004u;
|
|
/* 0280673C */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02806740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02806744 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806744 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02806744 */ if (_t62) goto L_02806784; else goto L_02806748;
|
|
L_02806748: ; // 0x2806748
|
|
/* 02806748 */ goto L_0280675C;
|
|
L_0280674C: ; // 0x280674c
|
|
/* 0280674C */ cpu->r[30] = 0x00000001u;
|
|
L_02806750: ; // 0x2806750
|
|
/* 02806750 */ _t63 = cpu->r[26] + 0x00000004u;
|
|
/* 02806750 */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02806754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02806758 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806758 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02806758 */ if (_t65) goto L_02806784; else goto L_0280675C;
|
|
L_0280675C: ; // 0x280675c
|
|
/* 0280675C */ cpu->r[7] = cpu->r[29];
|
|
/* 02806760 */ cpu->r[6] = cpu->r[28];
|
|
/* 02806764 */ cpu->r[5] = cpu->r[27];
|
|
/* 02806768 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280676C */ cpu->r[3] = cpu->r[25];
|
|
/* 02806770 */ Gambit_fn_028065B4(cpu);
|
|
/* 02806774 */ _t66 = cpu->r[31] + 0x00000008u;
|
|
/* 02806774 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02806778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280677C */ cpu->r[30] = cpu->r[30] + cpu->r[3];
|
|
/* 02806780 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806780 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02806780 */ if (_t68) goto L_02806784; else goto L_0280675C;
|
|
L_02806784: ; // 0x2806784
|
|
/* 02806784 */ cpu->r[3] = cpu->r[30];
|
|
/* 02806788 */ /* nop */
|
|
/* 0280678C */ _t69 = cpu->r[1] + 0x00000034u;
|
|
/* 0280678C */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02806790 */ cpu->lr = cpu->r[0];
|
|
/* 02806794 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02806798 */ return;
|
|
}
|
|
|
|
// fn_0280679C @ 0x280679c
|
|
void Gambit_fn_0280679C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_0280679C: ; // 0x280679c
|
|
/* 0280679C */ cpu->r[0] = cpu->lr;
|
|
/* 028067A0 */ _t0 = cpu->r[1] + 0xFFFFFED8u;
|
|
/* 028067A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028067A0 */ cpu->r[1] = _t0;
|
|
/* 028067A4 */ _t1 = cpu->r[1] + 0x00000120u;
|
|
/* 028067A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028067A8 */ _t2 = cpu->r[1] + 0x00000118u;
|
|
/* 028067A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028067AC */ _t3 = cpu->r[1] + 0x00000124u;
|
|
/* 028067AC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028067B0 */ cpu->r[31] = cpu->r[5];
|
|
/* 028067B4 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 028067B8 */ _t4 = cpu->r[1] + 0x0000011Cu;
|
|
/* 028067B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 028067BC */ cpu->r[30] = cpu->r[7];
|
|
/* 028067C0 */ cpu->r[28] = cpu->r[4];
|
|
/* 028067C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028067C8 */ _t5 = cpu->r[1] + 0x0000012Cu;
|
|
/* 028067C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028067CC */ cpu->r[29] = cpu->r[6];
|
|
/* 028067D0 */ Gambit_fn_0282C744(cpu);
|
|
/* 028067D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028067D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028067D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028067D8 */ if (_t7) goto L_02806800; else goto L_028067DC;
|
|
L_028067DC: ; // 0x28067dc
|
|
/* 028067DC */ _t8 = cpu->r[1] + 0x00000118u;
|
|
/* 028067DC */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028067E0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028067E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028067E4 */ _t10 = cpu->r[1] + 0x0000011Cu;
|
|
/* 028067E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028067E8 */ _t11 = cpu->r[1] + 0x0000012Cu;
|
|
/* 028067E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028067EC */ _t12 = cpu->r[1] + 0x00000120u;
|
|
/* 028067EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028067F0 */ cpu->lr = cpu->r[0];
|
|
/* 028067F4 */ _t13 = cpu->r[1] + 0x00000124u;
|
|
/* 028067F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028067F8 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 028067FC */ return;
|
|
L_02806800: ; // 0x2806800
|
|
/* 02806800 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 02806800 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02806804 */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 02806804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02806808 */ cpu->ctr = cpu->r[0];
|
|
/* 0280680C */ cpu->r[3] = cpu->r[29];
|
|
/* 02806810 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806814 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02806814 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02806818 */ _t17 = cpu->r[10] + 0x00000014u;
|
|
/* 02806818 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280681C */ cpu->ctr = cpu->r[11];
|
|
/* 02806820 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02806820 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02806824 */ cpu->r[3] = cpu->r[30];
|
|
/* 02806828 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280682C */ _t19 = cpu->r[28] + 0x00000004u;
|
|
/* 0280682C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02806830 */ _t20 = cpu->r[12] + 0x00000014u;
|
|
/* 02806830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02806834 */ cpu->ctr = cpu->r[0];
|
|
/* 02806838 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 02806838 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280683C */ cpu->r[3] = cpu->r[28];
|
|
/* 02806840 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806844 */ _t22 = cpu->r[28] + 0x00000000u;
|
|
/* 02806844 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02806848 */ cpu->r[4] = 0x10110000u;
|
|
/* 0280684C */ cpu->r[5] = cpu->r[29];
|
|
/* 02806850 */ cpu->r[8] = cpu->r[31];
|
|
/* 02806854 */ cpu->r[4] = cpu->r[4] + 0x00002A94u;
|
|
/* 02806858 */ cpu->r[6] = cpu->r[30];
|
|
/* 0280685C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02806860 */ _t23 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02806860 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02806860 */ if (_t24) goto L_02806864; // else: addr-0 trap, fall-through
|
|
L_02806864: ; // 0x2806864
|
|
/* 02806864 */ Gambit_fn_0280A084(cpu);
|
|
/* 02806868 */ _t25 = cpu->r[1] + 0x00000118u;
|
|
/* 02806868 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280686C */ _t26 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0280686C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02806870 */ _t27 = cpu->r[1] + 0x0000012Cu;
|
|
/* 02806870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02806874 */ cpu->r[3] = cpu->r[31];
|
|
/* 02806878 */ _t28 = cpu->r[1] + 0x00000124u;
|
|
/* 02806878 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280687C */ cpu->lr = cpu->r[0];
|
|
/* 02806880 */ _t29 = cpu->r[1] + 0x00000120u;
|
|
/* 02806880 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02806884 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 02806888 */ return;
|
|
}
|
|
|
|
// fn_028067A0 @ 0x28067a0
|
|
void Gambit_fn_028067A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_028067A0: ; // 0x28067a0
|
|
/* 028067A0 */ _t0 = cpu->r[1] + 0xFFFFFED8u;
|
|
/* 028067A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028067A0 */ cpu->r[1] = _t0;
|
|
/* 028067A4 */ _t1 = cpu->r[1] + 0x00000120u;
|
|
/* 028067A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028067A8 */ _t2 = cpu->r[1] + 0x00000118u;
|
|
/* 028067A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028067AC */ _t3 = cpu->r[1] + 0x00000124u;
|
|
/* 028067AC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028067B0 */ cpu->r[31] = cpu->r[5];
|
|
/* 028067B4 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 028067B8 */ _t4 = cpu->r[1] + 0x0000011Cu;
|
|
/* 028067B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 028067BC */ cpu->r[30] = cpu->r[7];
|
|
/* 028067C0 */ cpu->r[28] = cpu->r[4];
|
|
/* 028067C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028067C8 */ _t5 = cpu->r[1] + 0x0000012Cu;
|
|
/* 028067C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028067CC */ cpu->r[29] = cpu->r[6];
|
|
/* 028067D0 */ Gambit_fn_0282C744(cpu);
|
|
/* 028067D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028067D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028067D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028067D8 */ if (_t7) goto L_02806800; else goto L_028067DC;
|
|
L_028067DC: ; // 0x28067dc
|
|
/* 028067DC */ _t8 = cpu->r[1] + 0x00000118u;
|
|
/* 028067DC */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028067E0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028067E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028067E4 */ _t10 = cpu->r[1] + 0x0000011Cu;
|
|
/* 028067E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028067E8 */ _t11 = cpu->r[1] + 0x0000012Cu;
|
|
/* 028067E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028067EC */ _t12 = cpu->r[1] + 0x00000120u;
|
|
/* 028067EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028067F0 */ cpu->lr = cpu->r[0];
|
|
/* 028067F4 */ _t13 = cpu->r[1] + 0x00000124u;
|
|
/* 028067F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028067F8 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 028067FC */ return;
|
|
L_02806800: ; // 0x2806800
|
|
/* 02806800 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 02806800 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02806804 */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 02806804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02806808 */ cpu->ctr = cpu->r[0];
|
|
/* 0280680C */ cpu->r[3] = cpu->r[29];
|
|
/* 02806810 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806814 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02806814 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02806818 */ _t17 = cpu->r[10] + 0x00000014u;
|
|
/* 02806818 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280681C */ cpu->ctr = cpu->r[11];
|
|
/* 02806820 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02806820 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02806824 */ cpu->r[3] = cpu->r[30];
|
|
/* 02806828 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280682C */ _t19 = cpu->r[28] + 0x00000004u;
|
|
/* 0280682C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02806830 */ _t20 = cpu->r[12] + 0x00000014u;
|
|
/* 02806830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02806834 */ cpu->ctr = cpu->r[0];
|
|
/* 02806838 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 02806838 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280683C */ cpu->r[3] = cpu->r[28];
|
|
/* 02806840 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806844 */ _t22 = cpu->r[28] + 0x00000000u;
|
|
/* 02806844 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02806848 */ cpu->r[4] = 0x10110000u;
|
|
/* 0280684C */ cpu->r[5] = cpu->r[29];
|
|
/* 02806850 */ cpu->r[8] = cpu->r[31];
|
|
/* 02806854 */ cpu->r[4] = cpu->r[4] + 0x00002A94u;
|
|
/* 02806858 */ cpu->r[6] = cpu->r[30];
|
|
/* 0280685C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02806860 */ _t23 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02806860 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02806860 */ if (_t24) goto L_02806864; // else: addr-0 trap, fall-through
|
|
L_02806864: ; // 0x2806864
|
|
/* 02806864 */ Gambit_fn_0280A084(cpu);
|
|
/* 02806868 */ _t25 = cpu->r[1] + 0x00000118u;
|
|
/* 02806868 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280686C */ _t26 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0280686C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02806870 */ _t27 = cpu->r[1] + 0x0000012Cu;
|
|
/* 02806870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02806874 */ cpu->r[3] = cpu->r[31];
|
|
/* 02806878 */ _t28 = cpu->r[1] + 0x00000124u;
|
|
/* 02806878 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280687C */ cpu->lr = cpu->r[0];
|
|
/* 02806880 */ _t29 = cpu->r[1] + 0x00000120u;
|
|
/* 02806880 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02806884 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 02806888 */ return;
|
|
}
|
|
|
|
// fn_0280688C @ 0x280688c
|
|
void Gambit_fn_0280688C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_0280688C: ; // 0x280688c
|
|
/* 0280688C */ cpu->r[0] = cpu->lr;
|
|
/* 02806890 */ _t0 = cpu->r[1] + 0xFFFFFED8u;
|
|
/* 02806890 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02806890 */ cpu->r[1] = _t0;
|
|
/* 02806894 */ _t1 = cpu->r[1] + 0x00000120u;
|
|
/* 02806894 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02806898 */ _t2 = cpu->r[1] + 0x00000118u;
|
|
/* 02806898 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0280689C */ _t3 = cpu->r[1] + 0x00000124u;
|
|
/* 0280689C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028068A0 */ cpu->r[31] = cpu->r[5];
|
|
/* 028068A4 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 028068A8 */ _t4 = cpu->r[1] + 0x0000011Cu;
|
|
/* 028068A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 028068AC */ cpu->r[30] = cpu->r[7];
|
|
/* 028068B0 */ cpu->r[28] = cpu->r[4];
|
|
/* 028068B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028068B8 */ _t5 = cpu->r[1] + 0x0000012Cu;
|
|
/* 028068B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028068BC */ cpu->r[29] = cpu->r[6];
|
|
/* 028068C0 */ Gambit_fn_0282C740(cpu);
|
|
/* 028068C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028068C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028068C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028068C8 */ if (_t7) goto L_028068F0; else goto L_028068CC;
|
|
L_028068CC: ; // 0x28068cc
|
|
/* 028068CC */ _t8 = cpu->r[1] + 0x00000118u;
|
|
/* 028068CC */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028068D0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028068D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028068D4 */ _t10 = cpu->r[1] + 0x0000011Cu;
|
|
/* 028068D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028068D8 */ _t11 = cpu->r[1] + 0x0000012Cu;
|
|
/* 028068D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028068DC */ _t12 = cpu->r[1] + 0x00000120u;
|
|
/* 028068DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028068E0 */ cpu->lr = cpu->r[0];
|
|
/* 028068E4 */ _t13 = cpu->r[1] + 0x00000124u;
|
|
/* 028068E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028068E8 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 028068EC */ return;
|
|
L_028068F0: ; // 0x28068f0
|
|
/* 028068F0 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 028068F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028068F4 */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 028068F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028068F8 */ cpu->ctr = cpu->r[0];
|
|
/* 028068FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02806900 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806904 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02806904 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02806908 */ _t17 = cpu->r[10] + 0x00000014u;
|
|
/* 02806908 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280690C */ cpu->ctr = cpu->r[11];
|
|
/* 02806910 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02806910 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02806914 */ cpu->r[3] = cpu->r[30];
|
|
/* 02806918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280691C */ _t19 = cpu->r[28] + 0x00000004u;
|
|
/* 0280691C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02806920 */ _t20 = cpu->r[12] + 0x00000014u;
|
|
/* 02806920 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02806924 */ cpu->ctr = cpu->r[0];
|
|
/* 02806928 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 02806928 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280692C */ cpu->r[3] = cpu->r[28];
|
|
/* 02806930 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806934 */ _t22 = cpu->r[28] + 0x00000000u;
|
|
/* 02806934 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02806938 */ cpu->r[4] = 0x10110000u;
|
|
/* 0280693C */ cpu->r[5] = cpu->r[29];
|
|
/* 02806940 */ cpu->r[8] = cpu->r[31];
|
|
/* 02806944 */ cpu->r[4] = cpu->r[4] + 0x00002ADCu;
|
|
/* 02806948 */ cpu->r[6] = cpu->r[30];
|
|
/* 0280694C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02806950 */ _t23 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02806950 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02806950 */ if (_t24) goto L_02806954; // else: addr-0 trap, fall-through
|
|
L_02806954: ; // 0x2806954
|
|
/* 02806954 */ Gambit_fn_0280A084(cpu);
|
|
/* 02806958 */ _t25 = cpu->r[1] + 0x00000118u;
|
|
/* 02806958 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280695C */ _t26 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0280695C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02806960 */ _t27 = cpu->r[1] + 0x0000012Cu;
|
|
/* 02806960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02806964 */ cpu->r[3] = cpu->r[31];
|
|
/* 02806968 */ _t28 = cpu->r[1] + 0x00000124u;
|
|
/* 02806968 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280696C */ cpu->lr = cpu->r[0];
|
|
/* 02806970 */ _t29 = cpu->r[1] + 0x00000120u;
|
|
/* 02806970 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02806974 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 02806978 */ return;
|
|
}
|
|
|
|
// fn_02806890 @ 0x2806890
|
|
void Gambit_fn_02806890(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_02806890: ; // 0x2806890
|
|
/* 02806890 */ _t0 = cpu->r[1] + 0xFFFFFED8u;
|
|
/* 02806890 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02806890 */ cpu->r[1] = _t0;
|
|
/* 02806894 */ _t1 = cpu->r[1] + 0x00000120u;
|
|
/* 02806894 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02806898 */ _t2 = cpu->r[1] + 0x00000118u;
|
|
/* 02806898 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0280689C */ _t3 = cpu->r[1] + 0x00000124u;
|
|
/* 0280689C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028068A0 */ cpu->r[31] = cpu->r[5];
|
|
/* 028068A4 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 028068A8 */ _t4 = cpu->r[1] + 0x0000011Cu;
|
|
/* 028068A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 028068AC */ cpu->r[30] = cpu->r[7];
|
|
/* 028068B0 */ cpu->r[28] = cpu->r[4];
|
|
/* 028068B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028068B8 */ _t5 = cpu->r[1] + 0x0000012Cu;
|
|
/* 028068B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028068BC */ cpu->r[29] = cpu->r[6];
|
|
/* 028068C0 */ Gambit_fn_0282C740(cpu);
|
|
/* 028068C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028068C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028068C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028068C8 */ if (_t7) goto L_028068F0; else goto L_028068CC;
|
|
L_028068CC: ; // 0x28068cc
|
|
/* 028068CC */ _t8 = cpu->r[1] + 0x00000118u;
|
|
/* 028068CC */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028068D0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028068D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028068D4 */ _t10 = cpu->r[1] + 0x0000011Cu;
|
|
/* 028068D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028068D8 */ _t11 = cpu->r[1] + 0x0000012Cu;
|
|
/* 028068D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028068DC */ _t12 = cpu->r[1] + 0x00000120u;
|
|
/* 028068DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028068E0 */ cpu->lr = cpu->r[0];
|
|
/* 028068E4 */ _t13 = cpu->r[1] + 0x00000124u;
|
|
/* 028068E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028068E8 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 028068EC */ return;
|
|
L_028068F0: ; // 0x28068f0
|
|
/* 028068F0 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 028068F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028068F4 */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 028068F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028068F8 */ cpu->ctr = cpu->r[0];
|
|
/* 028068FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02806900 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806904 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02806904 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02806908 */ _t17 = cpu->r[10] + 0x00000014u;
|
|
/* 02806908 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280690C */ cpu->ctr = cpu->r[11];
|
|
/* 02806910 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02806910 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02806914 */ cpu->r[3] = cpu->r[30];
|
|
/* 02806918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280691C */ _t19 = cpu->r[28] + 0x00000004u;
|
|
/* 0280691C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02806920 */ _t20 = cpu->r[12] + 0x00000014u;
|
|
/* 02806920 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02806924 */ cpu->ctr = cpu->r[0];
|
|
/* 02806928 */ _t21 = cpu->r[30] + 0x00000000u;
|
|
/* 02806928 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280692C */ cpu->r[3] = cpu->r[28];
|
|
/* 02806930 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806934 */ _t22 = cpu->r[28] + 0x00000000u;
|
|
/* 02806934 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02806938 */ cpu->r[4] = 0x10110000u;
|
|
/* 0280693C */ cpu->r[5] = cpu->r[29];
|
|
/* 02806940 */ cpu->r[8] = cpu->r[31];
|
|
/* 02806944 */ cpu->r[4] = cpu->r[4] + 0x00002ADCu;
|
|
/* 02806948 */ cpu->r[6] = cpu->r[30];
|
|
/* 0280694C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02806950 */ _t23 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02806950 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02806950 */ if (_t24) goto L_02806954; // else: addr-0 trap, fall-through
|
|
L_02806954: ; // 0x2806954
|
|
/* 02806954 */ Gambit_fn_0280A084(cpu);
|
|
/* 02806958 */ _t25 = cpu->r[1] + 0x00000118u;
|
|
/* 02806958 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280695C */ _t26 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0280695C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02806960 */ _t27 = cpu->r[1] + 0x0000012Cu;
|
|
/* 02806960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02806964 */ cpu->r[3] = cpu->r[31];
|
|
/* 02806968 */ _t28 = cpu->r[1] + 0x00000124u;
|
|
/* 02806968 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280696C */ cpu->lr = cpu->r[0];
|
|
/* 02806970 */ _t29 = cpu->r[1] + 0x00000120u;
|
|
/* 02806970 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02806974 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 02806978 */ return;
|
|
}
|
|
|
|
// fn_0280697C @ 0x280697c
|
|
void Gambit_fn_0280697C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
|
|
L_0280697C: ; // 0x280697c
|
|
/* 0280697C */ cpu->r[0] = cpu->lr;
|
|
/* 02806980 */ _t0 = cpu->r[1] + 0xFFFFFEC8u;
|
|
/* 02806980 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02806980 */ cpu->r[1] = _t0;
|
|
/* 02806984 */ _t1 = cpu->r[1] + 0x00000128u;
|
|
/* 02806984 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02806988 */ /* nop */
|
|
/* 0280698C */ _t2 = cpu->r[1] + 0x00000120u;
|
|
/* 0280698C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02806990 */ cpu->r[30] = cpu->r[5];
|
|
/* 02806994 */ _t3 = cpu->r[1] + 0x00000130u;
|
|
/* 02806994 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02806998 */ cpu->f[31] = cpu->f[1];
|
|
/* 0280699C */ _t4 = cpu->r[1] + 0x00000124u;
|
|
/* 0280699C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028069A0 */ cpu->r[31] = cpu->r[6];
|
|
/* 028069A4 */ _t5 = cpu->r[1] + 0x0000011Cu;
|
|
/* 028069A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 028069A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028069AC */ _t6 = cpu->r[1] + 0x0000013Cu;
|
|
/* 028069AC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028069B0 */ cpu->r[29] = cpu->r[4];
|
|
/* 028069B4 */ Gambit_fn_0282C750(cpu);
|
|
/* 028069B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028069BC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028069BC */ _t8 = _t7 & 0x00000001u;
|
|
/* 028069BC */ if (_t8) goto L_028069EC; else goto L_028069C0;
|
|
L_028069C0: ; // 0x28069c0
|
|
/* 028069C0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028069C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 028069C4 */ _t10 = cpu->r[1] + 0x0000011Cu;
|
|
/* 028069C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028069C8 */ _t11 = cpu->r[1] + 0x00000130u;
|
|
/* 028069C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 028069CC */ _t12 = cpu->r[1] + 0x00000120u;
|
|
/* 028069CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028069D0 */ _t13 = cpu->r[1] + 0x00000128u;
|
|
/* 028069D0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 028069D4 */ _t14 = cpu->r[1] + 0x00000124u;
|
|
/* 028069D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028069D8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028069D8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 028069D8 */ if (_t16) goto L_028069DC; // else: addr-0 trap, fall-through
|
|
L_028069DC: ; // 0x28069dc
|
|
/* 028069DC */ _t17 = cpu->r[1] + 0x0000013Cu;
|
|
/* 028069DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028069E0 */ cpu->lr = cpu->r[0];
|
|
/* 028069E4 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 028069E8 */ return;
|
|
L_028069EC: ; // 0x28069ec
|
|
/* 028069EC */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 028069EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028069F0 */ _t19 = cpu->r[8] + 0x00000014u;
|
|
/* 028069F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028069F4 */ cpu->ctr = cpu->r[0];
|
|
/* 028069F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028069FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806A00 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 02806A00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02806A04 */ _t21 = cpu->r[10] + 0x00000014u;
|
|
/* 02806A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02806A08 */ cpu->ctr = cpu->r[0];
|
|
/* 02806A0C */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 02806A0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02806A10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02806A14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806A18 */ _t23 = cpu->r[29] + 0x00000004u;
|
|
/* 02806A18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02806A1C */ _t24 = cpu->r[12] + 0x00000014u;
|
|
/* 02806A1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02806A20 */ cpu->ctr = cpu->r[0];
|
|
/* 02806A24 */ _t25 = cpu->r[31] + 0x00000000u;
|
|
/* 02806A24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02806A28 */ cpu->r[3] = cpu->r[29];
|
|
/* 02806A2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806A30 */ cpu->f[1] = cpu->f[31];
|
|
/* 02806A34 */ cpu->r[4] = 0x10110000u;
|
|
/* 02806A38 */ _t26 = cpu->r[29] + 0x00000000u;
|
|
/* 02806A38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02806A3C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02806A40 */ cpu->r[6] = cpu->r[31];
|
|
/* 02806A44 */ cpu->r[4] = cpu->r[4] + 0x00002B24u;
|
|
/* 02806A48 */ cpu->r[5] = cpu->r[30];
|
|
/* 02806A4C */ _t27 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02806A4C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02806A4C */ if (_t28) goto L_02806A50; // else: addr-0 trap, fall-through
|
|
L_02806A50: ; // 0x2806a50
|
|
/* 02806A50 */ Gambit_fn_0280A084(cpu);
|
|
/* 02806A54 */ _t29 = cpu->r[1] + 0x0000011Cu;
|
|
/* 02806A54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02806A58 */ cpu->f[1] = cpu->f[31];
|
|
/* 02806A5C */ _t30 = cpu->r[1] + 0x00000130u;
|
|
/* 02806A5C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02806A60 */ _t31 = cpu->r[1] + 0x00000120u;
|
|
/* 02806A60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02806A64 */ _t32 = cpu->r[1] + 0x00000128u;
|
|
/* 02806A64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 02806A68 */ _t33 = cpu->r[1] + 0x00000124u;
|
|
/* 02806A68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02806A6C */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02806A6C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02806A6C */ if (_t35) goto L_02806A70; // else: addr-0 trap, fall-through
|
|
L_02806A70: ; // 0x2806a70
|
|
/* 02806A70 */ _t36 = cpu->r[1] + 0x0000013Cu;
|
|
/* 02806A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02806A74 */ cpu->lr = cpu->r[0];
|
|
/* 02806A78 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 02806A7C */ return;
|
|
}
|
|
|
|
// fn_02806980 @ 0x2806980
|
|
void Gambit_fn_02806980(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
|
|
L_02806980: ; // 0x2806980
|
|
/* 02806980 */ _t0 = cpu->r[1] + 0xFFFFFEC8u;
|
|
/* 02806980 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02806980 */ cpu->r[1] = _t0;
|
|
/* 02806984 */ _t1 = cpu->r[1] + 0x00000128u;
|
|
/* 02806984 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02806988 */ /* nop */
|
|
/* 0280698C */ _t2 = cpu->r[1] + 0x00000120u;
|
|
/* 0280698C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02806990 */ cpu->r[30] = cpu->r[5];
|
|
/* 02806994 */ _t3 = cpu->r[1] + 0x00000130u;
|
|
/* 02806994 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02806998 */ cpu->f[31] = cpu->f[1];
|
|
/* 0280699C */ _t4 = cpu->r[1] + 0x00000124u;
|
|
/* 0280699C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028069A0 */ cpu->r[31] = cpu->r[6];
|
|
/* 028069A4 */ _t5 = cpu->r[1] + 0x0000011Cu;
|
|
/* 028069A4 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 028069A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028069AC */ _t6 = cpu->r[1] + 0x0000013Cu;
|
|
/* 028069AC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028069B0 */ cpu->r[29] = cpu->r[4];
|
|
/* 028069B4 */ Gambit_fn_0282C750(cpu);
|
|
/* 028069B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028069BC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028069BC */ _t8 = _t7 & 0x00000001u;
|
|
/* 028069BC */ if (_t8) goto L_028069EC; else goto L_028069C0;
|
|
L_028069C0: ; // 0x28069c0
|
|
/* 028069C0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028069C0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 028069C4 */ _t10 = cpu->r[1] + 0x0000011Cu;
|
|
/* 028069C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028069C8 */ _t11 = cpu->r[1] + 0x00000130u;
|
|
/* 028069C8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 028069CC */ _t12 = cpu->r[1] + 0x00000120u;
|
|
/* 028069CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028069D0 */ _t13 = cpu->r[1] + 0x00000128u;
|
|
/* 028069D0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 028069D4 */ _t14 = cpu->r[1] + 0x00000124u;
|
|
/* 028069D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028069D8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028069D8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 028069D8 */ if (_t16) goto L_028069DC; // else: addr-0 trap, fall-through
|
|
L_028069DC: ; // 0x28069dc
|
|
/* 028069DC */ _t17 = cpu->r[1] + 0x0000013Cu;
|
|
/* 028069DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028069E0 */ cpu->lr = cpu->r[0];
|
|
/* 028069E4 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 028069E8 */ return;
|
|
L_028069EC: ; // 0x28069ec
|
|
/* 028069EC */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 028069EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028069F0 */ _t19 = cpu->r[8] + 0x00000014u;
|
|
/* 028069F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028069F4 */ cpu->ctr = cpu->r[0];
|
|
/* 028069F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028069FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806A00 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 02806A00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02806A04 */ _t21 = cpu->r[10] + 0x00000014u;
|
|
/* 02806A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02806A08 */ cpu->ctr = cpu->r[0];
|
|
/* 02806A0C */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 02806A0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02806A10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02806A14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806A18 */ _t23 = cpu->r[29] + 0x00000004u;
|
|
/* 02806A18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02806A1C */ _t24 = cpu->r[12] + 0x00000014u;
|
|
/* 02806A1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02806A20 */ cpu->ctr = cpu->r[0];
|
|
/* 02806A24 */ _t25 = cpu->r[31] + 0x00000000u;
|
|
/* 02806A24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02806A28 */ cpu->r[3] = cpu->r[29];
|
|
/* 02806A2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02806A30 */ cpu->f[1] = cpu->f[31];
|
|
/* 02806A34 */ cpu->r[4] = 0x10110000u;
|
|
/* 02806A38 */ _t26 = cpu->r[29] + 0x00000000u;
|
|
/* 02806A38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02806A3C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02806A40 */ cpu->r[6] = cpu->r[31];
|
|
/* 02806A44 */ cpu->r[4] = cpu->r[4] + 0x00002B24u;
|
|
/* 02806A48 */ cpu->r[5] = cpu->r[30];
|
|
/* 02806A4C */ _t27 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02806A4C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02806A4C */ if (_t28) goto L_02806A50; // else: addr-0 trap, fall-through
|
|
L_02806A50: ; // 0x2806a50
|
|
/* 02806A50 */ Gambit_fn_0280A084(cpu);
|
|
/* 02806A54 */ _t29 = cpu->r[1] + 0x0000011Cu;
|
|
/* 02806A54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02806A58 */ cpu->f[1] = cpu->f[31];
|
|
/* 02806A5C */ _t30 = cpu->r[1] + 0x00000130u;
|
|
/* 02806A5C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02806A60 */ _t31 = cpu->r[1] + 0x00000120u;
|
|
/* 02806A60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02806A64 */ _t32 = cpu->r[1] + 0x00000128u;
|
|
/* 02806A64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 02806A68 */ _t33 = cpu->r[1] + 0x00000124u;
|
|
/* 02806A68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02806A6C */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02806A6C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02806A6C */ if (_t35) goto L_02806A70; // else: addr-0 trap, fall-through
|
|
L_02806A70: ; // 0x2806a70
|
|
/* 02806A70 */ _t36 = cpu->r[1] + 0x0000013Cu;
|
|
/* 02806A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02806A74 */ cpu->lr = cpu->r[0];
|
|
/* 02806A78 */ cpu->r[1] = cpu->r[1] + 0x00000138u;
|
|
/* 02806A7C */ return;
|
|
}
|
|
|
|
// fn_02806A80 @ 0x2806a80
|
|
void Gambit_fn_02806A80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494, _t495, _t496, _t497, _t498, _t499, _t500, _t501, _t502, _t503, _t504, _t505, _t506, _t507, _t508, _t509, _t510, _t511, _t512, _t513, _t514, _t515, _t516, _t517, _t518, _t519, _t520, _t521, _t522, _t523, _t524, _t525, _t526, _t527, _t528, _t529, _t530, _t531, _t532, _t533, _t534, _t535, _t536, _t537, _t538, _t539, _t540, _t541, _t542, _t543, _t544, _t545, _t546, _t547, _t548, _t549, _t550, _t551, _t552, _t553, _t554, _t555, _t556, _t557, _t558, _t559, _t560, _t561, _t562, _t563, _t564, _t565, _t566, _t567, _t568, _t569, _t570, _t571, _t572, _t573, _t574, _t575, _t576, _t577, _t578, _t579, _t580, _t581, _t582, _t583, _t584, _t585, _t586, _t587, _t588, _t589, _t590, _t591, _t592, _t593, _t594, _t595, _t596, _t597, _t598, _t599, _t600, _t601, _t602, _t603, _t604, _t605, _t606, _t607, _t608, _t609, _t610, _t611, _t612, _t613, _t614, _t615, _t616, _t617, _t618, _t619, _t620, _t621, _t622, _t623, _t624, _t625, _t626, _t627, _t628, _t629, _t630, _t631, _t632, _t633, _t634, _t635, _t636, _t637, _t638, _t639, _t640, _t641, _t642, _t643, _t644, _t645, _t646, _t647, _t648, _t649, _t650, _t651, _t652, _t653, _t654, _t655, _t656, _t657, _t658, _t659, _t660, _t661, _t662, _t663, _t664, _t665, _t666, _t667, _t668, _t669, _t670, _t671, _t672, _t673, _t674, _t675, _t676, _t677, _t678, _t679, _t680, _t681, _t682, _t683, _t684, _t685, _t686, _t687, _t688, _t689, _t690, _t691, _t692, _t693, _t694, _t695, _t696, _t697, _t698, _t699, _t700, _t701, _t702, _t703, _t704, _t705, _t706, _t707, _t708, _t709, _t710, _t711, _t712, _t713, _t714, _t715, _t716, _t717, _t718, _t719, _t720, _t721, _t722, _t723, _t724, _t725, _t726, _t727, _t728, _t729, _t730;
|
|
|
|
L_02806A80: ; // 0x2806a80
|
|
/* 02806A80 */ _t0 = cpu->r[1] + 0xFFFFFD08u;
|
|
/* 02806A80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02806A80 */ cpu->r[1] = _t0;
|
|
/* 02806A84 */ /* nop */
|
|
/* 02806A88 */ _t1 = cpu->r[1] + 0x000002E8u;
|
|
/* 02806A88 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02806A8C */ _t2 = cpu->r[1] + 0x000002C8u;
|
|
/* 02806A8C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 02806A90 */ /* nop */
|
|
/* 02806A94 */ _t3 = cpu->r[1] + 0x000002F0u;
|
|
/* 02806A94 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02806A98 */ /* nop */
|
|
/* 02806A9C */ cpu->r[0] = cpu->lr;
|
|
/* 02806AA0 */ _t4 = cpu->r[1] + 0x000002FCu;
|
|
/* 02806AA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02806AA4 */ _t5 = cpu->r[1] + 0x000002D8u;
|
|
/* 02806AA4 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[30]);
|
|
/* 02806AA8 */ _t6 = cpu->r[1] + 0x000002D0u;
|
|
/* 02806AA8 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 02806AAC */ /* nop */
|
|
/* 02806AB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02806AB4 */ _t7 = cpu->r[1] + 0x000002E0u;
|
|
/* 02806AB4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 02806AB8 */ cpu->r[6] = 0x00004000u;
|
|
/* 02806ABC */ cpu->r[3] = cpu->r[4];
|
|
/* 02806AC0 */ _t8 = cpu->r[31] + 0x000000BCu;
|
|
/* 02806AC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02806AC4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02806AC8 */ Gambit_fn_0283E5F8(cpu);
|
|
/* 02806ACC */ _t9 = cpu->r[31] + 0x00000014u;
|
|
/* 02806ACC */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02806AD0 */ cpu->r[30] = 0x10110000u;
|
|
/* 02806AD4 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02806AD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02806AD8 */ cpu->r[25] = 0x10110000u;
|
|
/* 02806ADC */ cpu->r[30] = cpu->r[30] + 0x00002744u;
|
|
/* 02806AE0 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 02806AE0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02806AE4 */ cpu->r[7] = cpu->r[1] + 0x00000034u;
|
|
/* 02806AE8 */ _t12 = cpu->r[1] + 0x00000044u;
|
|
/* 02806AE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02806AEC */ cpu->r[23] = 0x10110000u;
|
|
/* 02806AF0 */ _t13 = cpu->r[1] + 0x00000038u;
|
|
/* 02806AF0 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02806AF4 */ cpu->r[23] = cpu->r[23] + 0x00002B98u;
|
|
/* 02806AF8 */ _t14 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02806AF8 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02806AFC */ cpu->r[25] = cpu->r[25] + 0x00002BBCu;
|
|
/* 02806B00 */ cpu->r[6] = cpu->r[1] + 0x00000048u;
|
|
/* 02806B04 */ _t15 = cpu->r[1] + 0x00000048u;
|
|
/* 02806B04 */ rbrew_write32(cpu->mem, _t15, cpu->r[23]);
|
|
/* 02806B08 */ cpu->r[4] = cpu->r[27];
|
|
/* 02806B0C */ cpu->r[5] = cpu->r[1] + 0x00000040u;
|
|
/* 02806B10 */ _t16 = cpu->r[1] + 0x00000034u;
|
|
/* 02806B10 */ rbrew_write32(cpu->mem, _t16, cpu->r[23]);
|
|
/* 02806B14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02806B18 */ _t17 = cpu->r[1] + 0x00000040u;
|
|
/* 02806B18 */ rbrew_write32(cpu->mem, _t17, cpu->r[25]);
|
|
/* 02806B1C */ Gambit_fn_028065B4(cpu);
|
|
/* 02806B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806B24 */ cpu->r[29] = 0x00000000u;
|
|
/* 02806B28 */ cpu->r[28] = cpu->r[3];
|
|
/* 02806B2C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806B2C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02806B2C */ if (_t19) goto L_02806B90; else goto L_02806B30;
|
|
L_02806B30: ; // 0x2806b30
|
|
/* 02806B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02806B34 */ _t20 = cpu->r[31] + 0x000000BCu;
|
|
/* 02806B34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02806B38 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02806B38 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02806B38 */ if (_t22) goto L_02806B3C; else goto L_02806B90;
|
|
L_02806B3C: ; // 0x2806b3c
|
|
/* 02806B3C */ cpu->r[26] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x00000064u);
|
|
/* 02806B40 */ cpu->r[5] = 0x00000004u;
|
|
/* 02806B44 */ cpu->r[3] = cpu->r[26];
|
|
/* 02806B48 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02806B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806B50 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806B50 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02806B50 */ if (_t24) goto L_02806B90; else goto L_02806B54;
|
|
L_02806B54: ; // 0x2806b54
|
|
/* 02806B54 */ _t25 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02806B54 */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 02806B58 */ cpu->r[5] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02806B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02806B5C */ cpu->r[18] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02806B60 */ _t26 = cpu->r[31] + 0x00000020u;
|
|
/* 02806B60 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 02806B64 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02806B64 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02806B64 */ if (_t28) goto L_02806B68; else goto L_02806B84;
|
|
L_02806B68: ; // 0x2806b68
|
|
/* 02806B68 */ cpu->ctr = cpu->r[5];
|
|
/* 02806B6C */ cpu->r[6] = 0x00000000u;
|
|
/* 02806B70 */ cpu->r[7] = cpu->r[3] + 0x00000064u;
|
|
L_02806B74: ; // 0x2806b74
|
|
/* 02806B74 */ _t29 = cpu->r[3] + cpu->r[6];
|
|
/* 02806B74 */ rbrew_write32(cpu->mem, _t29, cpu->r[7]);
|
|
/* 02806B78 */ cpu->r[6] = cpu->r[6] + 0x00000064u;
|
|
/* 02806B7C */ cpu->r[7] = cpu->r[7] + 0x00000064u;
|
|
/* 02806B80 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02806B80 */ _t30 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02806B80 */ _t31 = _t30 >> (0x00000002u & 31u);
|
|
/* 02806B80 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02806B80 */ if (_t32) goto L_02806B74; else goto L_02806B84;
|
|
L_02806B84: ; // 0x2806b84
|
|
/* 02806B84 */ cpu->r[4] = cpu->r[3] + cpu->r[26];
|
|
/* 02806B88 */ _t33 = cpu->r[4] + 0xFFFFFF9Cu;
|
|
/* 02806B88 */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
|
|
/* 02806B8C */ _t34 = cpu->r[18] + 0x00000008u;
|
|
/* 02806B8C */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
|
|
L_02806B90: ; // 0x2806b90
|
|
/* 02806B90 */ cpu->r[0] = 0x10110000u;
|
|
/* 02806B94 */ _t35 = cpu->r[1] + 0x00000038u;
|
|
/* 02806B94 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
|
|
/* 02806B98 */ cpu->r[0] = cpu->r[0] + 0x00002B78u;
|
|
/* 02806B9C */ _t36 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02806B9C */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
|
|
/* 02806BA0 */ cpu->r[24] = 0x10110000u;
|
|
/* 02806BA4 */ _t37 = cpu->r[1] + 0x00000044u;
|
|
/* 02806BA4 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02806BA8 */ cpu->r[24] = cpu->r[24] + 0x00002BC8u;
|
|
/* 02806BAC */ _t38 = cpu->r[1] + 0x00000028u;
|
|
/* 02806BAC */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02806BB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02806BB4 */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 02806BB8 */ _t39 = cpu->r[1] + 0x00000048u;
|
|
/* 02806BB8 */ rbrew_write32(cpu->mem, _t39, cpu->r[24]);
|
|
/* 02806BBC */ cpu->r[4] = cpu->r[27];
|
|
/* 02806BC0 */ cpu->r[7] = cpu->r[1] + 0x00000040u;
|
|
/* 02806BC4 */ _t40 = cpu->r[1] + 0x00000034u;
|
|
/* 02806BC4 */ rbrew_write32(cpu->mem, _t40, cpu->r[25]);
|
|
/* 02806BC8 */ cpu->r[6] = cpu->r[1] + 0x00000048u;
|
|
/* 02806BCC */ _t41 = cpu->r[1] + 0x00000040u;
|
|
/* 02806BCC */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02806BD0 */ Gambit_fn_028065B4(cpu);
|
|
/* 02806BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806BD8 */ cpu->r[26] = cpu->r[3];
|
|
/* 02806BDC */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806BDC */ _t43 = _t42 & 0x00000001u;
|
|
/* 02806BDC */ if (_t43) goto L_02806C40; else goto L_02806BE0;
|
|
L_02806BE0: ; // 0x2806be0
|
|
/* 02806BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02806BE4 */ _t44 = cpu->r[31] + 0x000000BCu;
|
|
/* 02806BE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02806BE8 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02806BE8 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02806BE8 */ if (_t46) goto L_02806BEC; else goto L_02806C40;
|
|
L_02806BEC: ; // 0x2806bec
|
|
/* 02806BEC */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000070u);
|
|
/* 02806BF0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02806BF4 */ cpu->r[3] = cpu->r[22];
|
|
/* 02806BF8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02806BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806C00 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806C00 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02806C00 */ if (_t48) goto L_02806C40; else goto L_02806C04;
|
|
L_02806C04: ; // 0x2806c04
|
|
/* 02806C04 */ _t49 = cpu->r[31] + 0x00000054u;
|
|
/* 02806C04 */ rbrew_write32(cpu->mem, _t49, cpu->r[26]);
|
|
/* 02806C08 */ cpu->r[12] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02806C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02806C0C */ cpu->r[26] = cpu->r[31] + 0x00000044u;
|
|
/* 02806C10 */ _t50 = cpu->r[31] + 0x00000048u;
|
|
/* 02806C10 */ rbrew_write32(cpu->mem, _t50, cpu->r[3]);
|
|
/* 02806C14 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02806C14 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02806C14 */ if (_t52) goto L_02806C18; else goto L_02806C34;
|
|
L_02806C18: ; // 0x2806c18
|
|
/* 02806C18 */ cpu->ctr = cpu->r[12];
|
|
/* 02806C1C */ cpu->r[4] = 0x00000000u;
|
|
/* 02806C20 */ cpu->r[5] = cpu->r[3] + 0x00000070u;
|
|
L_02806C24: ; // 0x2806c24
|
|
/* 02806C24 */ _t53 = cpu->r[3] + cpu->r[4];
|
|
/* 02806C24 */ rbrew_write32(cpu->mem, _t53, cpu->r[5]);
|
|
/* 02806C28 */ cpu->r[4] = cpu->r[4] + 0x00000070u;
|
|
/* 02806C2C */ cpu->r[5] = cpu->r[5] + 0x00000070u;
|
|
/* 02806C30 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02806C30 */ _t54 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02806C30 */ _t55 = _t54 >> (0x00000002u & 31u);
|
|
/* 02806C30 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02806C30 */ if (_t56) goto L_02806C24; else goto L_02806C34;
|
|
L_02806C34: ; // 0x2806c34
|
|
/* 02806C34 */ cpu->r[5] = cpu->r[3] + cpu->r[22];
|
|
/* 02806C38 */ _t57 = cpu->r[5] + 0xFFFFFF90u;
|
|
/* 02806C38 */ rbrew_write32(cpu->mem, _t57, cpu->r[29]);
|
|
/* 02806C3C */ _t58 = cpu->r[26] + 0x00000008u;
|
|
/* 02806C3C */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
L_02806C40: ; // 0x2806c40
|
|
/* 02806C40 */ cpu->r[12] = 0x10110000u;
|
|
/* 02806C44 */ _t59 = cpu->r[1] + 0x00000038u;
|
|
/* 02806C44 */ rbrew_write32(cpu->mem, _t59, cpu->r[30]);
|
|
/* 02806C48 */ cpu->r[12] = cpu->r[12] + 0x00002B7Cu;
|
|
/* 02806C4C */ _t60 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02806C4C */ rbrew_write32(cpu->mem, _t60, cpu->r[30]);
|
|
/* 02806C50 */ cpu->r[7] = cpu->r[1] + 0x00000040u;
|
|
/* 02806C54 */ _t61 = cpu->r[1] + 0x00000048u;
|
|
/* 02806C54 */ rbrew_write32(cpu->mem, _t61, cpu->r[24]);
|
|
/* 02806C58 */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 02806C5C */ _t62 = cpu->r[1] + 0x00000040u;
|
|
/* 02806C5C */ rbrew_write32(cpu->mem, _t62, cpu->r[12]);
|
|
/* 02806C60 */ cpu->r[6] = cpu->r[1] + 0x00000048u;
|
|
/* 02806C64 */ _t63 = cpu->r[1] + 0x00000044u;
|
|
/* 02806C64 */ rbrew_write32(cpu->mem, _t63, cpu->r[30]);
|
|
/* 02806C68 */ cpu->r[4] = cpu->r[27];
|
|
/* 02806C6C */ _t64 = cpu->r[1] + 0x00000034u;
|
|
/* 02806C6C */ rbrew_write32(cpu->mem, _t64, cpu->r[25]);
|
|
/* 02806C70 */ cpu->r[3] = cpu->r[31];
|
|
/* 02806C74 */ _t65 = cpu->r[1] + 0x00000020u;
|
|
/* 02806C74 */ rbrew_write32(cpu->mem, _t65, cpu->r[12]);
|
|
/* 02806C78 */ Gambit_fn_028065B4(cpu);
|
|
/* 02806C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806C80 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806C80 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02806C80 */ if (_t67) goto L_02806CE0; else goto L_02806C84;
|
|
L_02806C84: ; // 0x2806c84
|
|
/* 02806C84 */ cpu->r[26] = cpu->r[3];
|
|
/* 02806C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02806C88 */ _t68 = cpu->r[31] + 0x000000BCu;
|
|
/* 02806C88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02806C8C */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02806C8C */ _t70 = _t69 & 0x00000001u;
|
|
/* 02806C8C */ if (_t70) goto L_02806C90; else goto L_02806CE0;
|
|
L_02806C90: ; // 0x2806c90
|
|
/* 02806C90 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000070u);
|
|
/* 02806C94 */ cpu->r[5] = 0x00000004u;
|
|
/* 02806C98 */ cpu->r[3] = cpu->r[22];
|
|
/* 02806C9C */ Gambit_fn_02801ADC(cpu);
|
|
/* 02806CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806CA4 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806CA4 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02806CA4 */ if (_t72) goto L_02806CE0; else goto L_02806CA8;
|
|
L_02806CA8: ; // 0x2806ca8
|
|
/* 02806CA8 */ _t73 = cpu->r[31] + 0x00000068u;
|
|
/* 02806CA8 */ rbrew_write32(cpu->mem, _t73, cpu->r[26]);
|
|
/* 02806CAC */ cpu->r[10] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02806CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02806CB0 */ _t74 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02806CB0 */ rbrew_write32(cpu->mem, _t74, cpu->r[3]);
|
|
/* 02806CB4 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02806CB4 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02806CB4 */ if (_t76) goto L_02806CB8; else goto L_02806CD4;
|
|
L_02806CB8: ; // 0x2806cb8
|
|
/* 02806CB8 */ cpu->ctr = cpu->r[10];
|
|
/* 02806CBC */ cpu->r[11] = 0x00000000u;
|
|
/* 02806CC0 */ cpu->r[12] = cpu->r[3] + 0x00000070u;
|
|
L_02806CC4: ; // 0x2806cc4
|
|
/* 02806CC4 */ _t77 = cpu->r[3] + cpu->r[11];
|
|
/* 02806CC4 */ rbrew_write32(cpu->mem, _t77, cpu->r[12]);
|
|
/* 02806CC8 */ cpu->r[11] = cpu->r[11] + 0x00000070u;
|
|
/* 02806CCC */ cpu->r[12] = cpu->r[12] + 0x00000070u;
|
|
/* 02806CD0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02806CD0 */ _t78 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02806CD0 */ _t79 = _t78 >> (0x00000002u & 31u);
|
|
/* 02806CD0 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02806CD0 */ if (_t80) goto L_02806CC4; else goto L_02806CD4;
|
|
L_02806CD4: ; // 0x2806cd4
|
|
/* 02806CD4 */ cpu->r[6] = cpu->r[3] + cpu->r[22];
|
|
/* 02806CD8 */ _t81 = cpu->r[6] + 0xFFFFFF90u;
|
|
/* 02806CD8 */ rbrew_write32(cpu->mem, _t81, cpu->r[29]);
|
|
/* 02806CDC */ _t82 = cpu->r[31] + 0x00000060u;
|
|
/* 02806CDC */ rbrew_write32(cpu->mem, _t82, cpu->r[3]);
|
|
L_02806CE0: ; // 0x2806ce0
|
|
/* 02806CE0 */ cpu->r[11] = 0x10110000u;
|
|
/* 02806CE4 */ _t83 = cpu->r[1] + 0x00000038u;
|
|
/* 02806CE4 */ rbrew_write32(cpu->mem, _t83, cpu->r[30]);
|
|
/* 02806CE8 */ cpu->r[11] = cpu->r[11] + 0x00002B80u;
|
|
/* 02806CEC */ _t84 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02806CEC */ rbrew_write32(cpu->mem, _t84, cpu->r[30]);
|
|
/* 02806CF0 */ cpu->r[7] = cpu->r[1] + 0x00000040u;
|
|
/* 02806CF4 */ _t85 = cpu->r[1] + 0x00000048u;
|
|
/* 02806CF4 */ rbrew_write32(cpu->mem, _t85, cpu->r[24]);
|
|
/* 02806CF8 */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 02806CFC */ _t86 = cpu->r[1] + 0x00000040u;
|
|
/* 02806CFC */ rbrew_write32(cpu->mem, _t86, cpu->r[11]);
|
|
/* 02806D00 */ cpu->r[6] = cpu->r[1] + 0x00000048u;
|
|
/* 02806D04 */ _t87 = cpu->r[1] + 0x00000044u;
|
|
/* 02806D04 */ rbrew_write32(cpu->mem, _t87, cpu->r[30]);
|
|
/* 02806D08 */ cpu->r[4] = cpu->r[27];
|
|
/* 02806D0C */ _t88 = cpu->r[1] + 0x00000034u;
|
|
/* 02806D0C */ rbrew_write32(cpu->mem, _t88, cpu->r[25]);
|
|
/* 02806D10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02806D14 */ _t89 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02806D14 */ rbrew_write32(cpu->mem, _t89, cpu->r[11]);
|
|
/* 02806D18 */ Gambit_fn_028065B4(cpu);
|
|
/* 02806D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806D20 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806D20 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02806D20 */ if (_t91) goto L_02806D80; else goto L_02806D24;
|
|
L_02806D24: ; // 0x2806d24
|
|
/* 02806D24 */ cpu->r[26] = cpu->r[3];
|
|
/* 02806D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02806D28 */ _t92 = cpu->r[31] + 0x000000BCu;
|
|
/* 02806D28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02806D2C */ _t93 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02806D2C */ _t94 = _t93 & 0x00000001u;
|
|
/* 02806D2C */ if (_t94) goto L_02806D30; else goto L_02806D80;
|
|
L_02806D30: ; // 0x2806d30
|
|
/* 02806D30 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000070u);
|
|
/* 02806D34 */ cpu->r[5] = 0x00000004u;
|
|
/* 02806D38 */ cpu->r[3] = cpu->r[22];
|
|
/* 02806D3C */ Gambit_fn_02801ADC(cpu);
|
|
/* 02806D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806D44 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806D44 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02806D44 */ if (_t96) goto L_02806D80; else goto L_02806D48;
|
|
L_02806D48: ; // 0x2806d48
|
|
/* 02806D48 */ _t97 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02806D48 */ rbrew_write32(cpu->mem, _t97, cpu->r[26]);
|
|
/* 02806D4C */ cpu->r[8] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02806D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02806D50 */ _t98 = cpu->r[31] + 0x00000070u;
|
|
/* 02806D50 */ rbrew_write32(cpu->mem, _t98, cpu->r[3]);
|
|
/* 02806D54 */ _t99 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02806D54 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02806D54 */ if (_t100) goto L_02806D58; else goto L_02806D74;
|
|
L_02806D58: ; // 0x2806d58
|
|
/* 02806D58 */ cpu->ctr = cpu->r[8];
|
|
/* 02806D5C */ cpu->r[9] = 0x00000000u;
|
|
/* 02806D60 */ cpu->r[10] = cpu->r[3] + 0x00000070u;
|
|
L_02806D64: ; // 0x2806d64
|
|
/* 02806D64 */ _t101 = cpu->r[3] + cpu->r[9];
|
|
/* 02806D64 */ rbrew_write32(cpu->mem, _t101, cpu->r[10]);
|
|
/* 02806D68 */ cpu->r[9] = cpu->r[9] + 0x00000070u;
|
|
/* 02806D6C */ cpu->r[10] = cpu->r[10] + 0x00000070u;
|
|
/* 02806D70 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02806D70 */ _t102 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02806D70 */ _t103 = _t102 >> (0x00000002u & 31u);
|
|
/* 02806D70 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02806D70 */ if (_t104) goto L_02806D64; else goto L_02806D74;
|
|
L_02806D74: ; // 0x2806d74
|
|
/* 02806D74 */ cpu->r[7] = cpu->r[3] + cpu->r[22];
|
|
/* 02806D78 */ _t105 = cpu->r[7] + 0xFFFFFF90u;
|
|
/* 02806D78 */ rbrew_write32(cpu->mem, _t105, cpu->r[29]);
|
|
/* 02806D7C */ _t106 = cpu->r[31] + 0x00000074u;
|
|
/* 02806D7C */ rbrew_write32(cpu->mem, _t106, cpu->r[3]);
|
|
L_02806D80: ; // 0x2806d80
|
|
/* 02806D80 */ cpu->r[10] = 0x10110000u;
|
|
/* 02806D84 */ _t107 = cpu->r[1] + 0x00000038u;
|
|
/* 02806D84 */ rbrew_write32(cpu->mem, _t107, cpu->r[30]);
|
|
/* 02806D88 */ cpu->r[10] = cpu->r[10] + 0x00002B9Cu;
|
|
/* 02806D8C */ _t108 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02806D8C */ rbrew_write32(cpu->mem, _t108, cpu->r[30]);
|
|
/* 02806D90 */ cpu->r[7] = cpu->r[1] + 0x00000040u;
|
|
/* 02806D94 */ _t109 = cpu->r[1] + 0x00000048u;
|
|
/* 02806D94 */ rbrew_write32(cpu->mem, _t109, cpu->r[24]);
|
|
/* 02806D98 */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 02806D9C */ _t110 = cpu->r[1] + 0x00000040u;
|
|
/* 02806D9C */ rbrew_write32(cpu->mem, _t110, cpu->r[10]);
|
|
/* 02806DA0 */ cpu->r[6] = cpu->r[1] + 0x00000048u;
|
|
/* 02806DA4 */ _t111 = cpu->r[1] + 0x00000044u;
|
|
/* 02806DA4 */ rbrew_write32(cpu->mem, _t111, cpu->r[30]);
|
|
/* 02806DA8 */ cpu->r[4] = cpu->r[27];
|
|
/* 02806DAC */ _t112 = cpu->r[1] + 0x00000034u;
|
|
/* 02806DAC */ rbrew_write32(cpu->mem, _t112, cpu->r[25]);
|
|
/* 02806DB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02806DB4 */ _t113 = cpu->r[1] + 0x00000014u;
|
|
/* 02806DB4 */ rbrew_write32(cpu->mem, _t113, cpu->r[10]);
|
|
/* 02806DB8 */ Gambit_fn_028065B4(cpu);
|
|
/* 02806DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806DC0 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806DC0 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02806DC0 */ if (_t115) goto L_02806E18; else goto L_02806DC4;
|
|
L_02806DC4: ; // 0x2806dc4
|
|
/* 02806DC4 */ cpu->r[26] = cpu->r[3];
|
|
/* 02806DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02806DC8 */ _t116 = cpu->r[31] + 0x000000BCu;
|
|
/* 02806DC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02806DCC */ _t117 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02806DCC */ _t118 = _t117 & 0x00000001u;
|
|
/* 02806DCC */ if (_t118) goto L_02806DD0; else goto L_02806E18;
|
|
L_02806DD0: ; // 0x2806dd0
|
|
/* 02806DD0 */ cpu->r[22] = rbrew_rlwinm(cpu->r[26], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02806DD4 */ cpu->r[5] = 0x00000004u;
|
|
/* 02806DD8 */ cpu->r[3] = cpu->r[22];
|
|
/* 02806DDC */ Gambit_fn_02801ADC(cpu);
|
|
/* 02806DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806DE4 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806DE4 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02806DE4 */ if (_t120) goto L_02806E18; else goto L_02806DE8;
|
|
L_02806DE8: ; // 0x2806de8
|
|
/* 02806DE8 */ _t121 = cpu->r[31] + 0x00000090u;
|
|
/* 02806DE8 */ rbrew_write32(cpu->mem, _t121, cpu->r[26]);
|
|
/* 02806DEC */ cpu->r[6] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02806DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02806DF0 */ _t122 = cpu->r[31] + 0x00000084u;
|
|
/* 02806DF0 */ rbrew_write32(cpu->mem, _t122, cpu->r[3]);
|
|
/* 02806DF4 */ _t123 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02806DF4 */ _t124 = _t123 & 0x00000001u;
|
|
/* 02806DF4 */ if (_t124) goto L_02806DF8; else goto L_02806E0C;
|
|
L_02806DF8: ; // 0x2806df8
|
|
/* 02806DF8 */ cpu->ctr = cpu->r[6];
|
|
/* 02806DFC */ cpu->r[8] = cpu->r[3] + 0x00000100u;
|
|
L_02806E00: ; // 0x2806e00
|
|
/* 02806E00 */ _t125 = cpu->r[8] + 0xFFFFFF00u;
|
|
/* 02806E00 */ rbrew_write32(cpu->mem, _t125, cpu->r[8]);
|
|
/* 02806E04 */ cpu->r[8] = cpu->r[8] + 0x00000100u;
|
|
/* 02806E08 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02806E08 */ _t126 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02806E08 */ _t127 = _t126 >> (0x00000002u & 31u);
|
|
/* 02806E08 */ _t128 = _t127 & 0x00000001u;
|
|
/* 02806E08 */ if (_t128) goto L_02806E00; else goto L_02806E0C;
|
|
L_02806E0C: ; // 0x2806e0c
|
|
/* 02806E0C */ cpu->r[8] = cpu->r[3] + cpu->r[22];
|
|
/* 02806E10 */ _t129 = cpu->r[8] + 0xFFFFFF00u;
|
|
/* 02806E10 */ rbrew_write32(cpu->mem, _t129, cpu->r[29]);
|
|
/* 02806E14 */ _t130 = cpu->r[31] + 0x00000088u;
|
|
/* 02806E14 */ rbrew_write32(cpu->mem, _t130, cpu->r[3]);
|
|
L_02806E18: ; // 0x2806e18
|
|
/* 02806E18 */ cpu->r[9] = 0x10110000u;
|
|
/* 02806E1C */ _t131 = cpu->r[1] + 0x00000038u;
|
|
/* 02806E1C */ rbrew_write32(cpu->mem, _t131, cpu->r[30]);
|
|
/* 02806E20 */ cpu->r[9] = cpu->r[9] + 0x00002BA4u;
|
|
/* 02806E24 */ _t132 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02806E24 */ rbrew_write32(cpu->mem, _t132, cpu->r[30]);
|
|
/* 02806E28 */ cpu->r[7] = cpu->r[1] + 0x00000040u;
|
|
/* 02806E2C */ _t133 = cpu->r[1] + 0x00000048u;
|
|
/* 02806E2C */ rbrew_write32(cpu->mem, _t133, cpu->r[24]);
|
|
/* 02806E30 */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 02806E34 */ _t134 = cpu->r[1] + 0x00000040u;
|
|
/* 02806E34 */ rbrew_write32(cpu->mem, _t134, cpu->r[9]);
|
|
/* 02806E38 */ cpu->r[6] = cpu->r[1] + 0x00000048u;
|
|
/* 02806E3C */ _t135 = cpu->r[1] + 0x00000044u;
|
|
/* 02806E3C */ rbrew_write32(cpu->mem, _t135, cpu->r[30]);
|
|
/* 02806E40 */ cpu->r[4] = cpu->r[27];
|
|
/* 02806E44 */ _t136 = cpu->r[1] + 0x00000034u;
|
|
/* 02806E44 */ rbrew_write32(cpu->mem, _t136, cpu->r[25]);
|
|
/* 02806E48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02806E4C */ _t137 = cpu->r[1] + 0x00000010u;
|
|
/* 02806E4C */ rbrew_write32(cpu->mem, _t137, cpu->r[9]);
|
|
/* 02806E50 */ Gambit_fn_028065B4(cpu);
|
|
/* 02806E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806E58 */ cpu->r[26] = cpu->r[3];
|
|
/* 02806E5C */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806E5C */ _t139 = _t138 & 0x00000001u;
|
|
/* 02806E5C */ if (_t139) goto L_02806EBC; else goto L_02806E60;
|
|
L_02806E60: ; // 0x2806e60
|
|
/* 02806E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02806E64 */ _t140 = cpu->r[31] + 0x000000BCu;
|
|
/* 02806E64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02806E68 */ _t141 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02806E68 */ _t142 = _t141 & 0x00000001u;
|
|
/* 02806E68 */ if (_t142) goto L_02806E6C; else goto L_02806EBC;
|
|
L_02806E6C: ; // 0x2806e6c
|
|
/* 02806E6C */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000064u);
|
|
/* 02806E70 */ cpu->r[5] = 0x00000004u;
|
|
/* 02806E74 */ cpu->r[3] = cpu->r[22];
|
|
/* 02806E78 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02806E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806E80 */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806E80 */ _t144 = _t143 & 0x00000001u;
|
|
/* 02806E80 */ if (_t144) goto L_02806EBC; else goto L_02806E84;
|
|
L_02806E84: ; // 0x2806e84
|
|
/* 02806E84 */ _t145 = cpu->r[31] + 0x000000A4u;
|
|
/* 02806E84 */ rbrew_write32(cpu->mem, _t145, cpu->r[26]);
|
|
/* 02806E88 */ cpu->r[5] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02806E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02806E8C */ _t146 = cpu->r[31] + 0x00000098u;
|
|
/* 02806E8C */ rbrew_write32(cpu->mem, _t146, cpu->r[3]);
|
|
/* 02806E90 */ _t147 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02806E90 */ _t148 = _t147 & 0x00000001u;
|
|
/* 02806E90 */ if (_t148) goto L_02806E94; else goto L_02806EB0;
|
|
L_02806E94: ; // 0x2806e94
|
|
/* 02806E94 */ cpu->ctr = cpu->r[5];
|
|
/* 02806E98 */ cpu->r[6] = 0x00000000u;
|
|
/* 02806E9C */ cpu->r[7] = cpu->r[3] + 0x00000064u;
|
|
L_02806EA0: ; // 0x2806ea0
|
|
/* 02806EA0 */ _t149 = cpu->r[3] + cpu->r[6];
|
|
/* 02806EA0 */ rbrew_write32(cpu->mem, _t149, cpu->r[7]);
|
|
/* 02806EA4 */ cpu->r[6] = cpu->r[6] + 0x00000064u;
|
|
/* 02806EA8 */ cpu->r[7] = cpu->r[7] + 0x00000064u;
|
|
/* 02806EAC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02806EAC */ _t150 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02806EAC */ _t151 = _t150 >> (0x00000002u & 31u);
|
|
/* 02806EAC */ _t152 = _t151 & 0x00000001u;
|
|
/* 02806EAC */ if (_t152) goto L_02806EA0; else goto L_02806EB0;
|
|
L_02806EB0: ; // 0x2806eb0
|
|
/* 02806EB0 */ cpu->r[9] = cpu->r[3] + cpu->r[22];
|
|
/* 02806EB4 */ _t153 = cpu->r[9] + 0xFFFFFF9Cu;
|
|
/* 02806EB4 */ rbrew_write32(cpu->mem, _t153, cpu->r[29]);
|
|
/* 02806EB8 */ _t154 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02806EB8 */ rbrew_write32(cpu->mem, _t154, cpu->r[3]);
|
|
L_02806EBC: ; // 0x2806ebc
|
|
/* 02806EBC */ cpu->r[8] = 0x10110000u;
|
|
/* 02806EC0 */ _t155 = cpu->r[1] + 0x00000038u;
|
|
/* 02806EC0 */ rbrew_write32(cpu->mem, _t155, cpu->r[30]);
|
|
/* 02806EC4 */ cpu->r[8] = cpu->r[8] + 0x00002B84u;
|
|
/* 02806EC8 */ _t156 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02806EC8 */ rbrew_write32(cpu->mem, _t156, cpu->r[30]);
|
|
/* 02806ECC */ cpu->r[7] = cpu->r[1] + 0x00000040u;
|
|
/* 02806ED0 */ _t157 = cpu->r[1] + 0x00000048u;
|
|
/* 02806ED0 */ rbrew_write32(cpu->mem, _t157, cpu->r[24]);
|
|
/* 02806ED4 */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 02806ED8 */ _t158 = cpu->r[1] + 0x00000040u;
|
|
/* 02806ED8 */ rbrew_write32(cpu->mem, _t158, cpu->r[8]);
|
|
/* 02806EDC */ cpu->r[6] = cpu->r[1] + 0x00000048u;
|
|
/* 02806EE0 */ _t159 = cpu->r[1] + 0x00000044u;
|
|
/* 02806EE0 */ rbrew_write32(cpu->mem, _t159, cpu->r[30]);
|
|
/* 02806EE4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02806EE8 */ _t160 = cpu->r[1] + 0x00000034u;
|
|
/* 02806EE8 */ rbrew_write32(cpu->mem, _t160, cpu->r[25]);
|
|
/* 02806EEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02806EF0 */ _t161 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02806EF0 */ rbrew_write32(cpu->mem, _t161, cpu->r[8]);
|
|
/* 02806EF4 */ Gambit_fn_028065B4(cpu);
|
|
/* 02806EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806EFC */ cpu->r[26] = cpu->r[3];
|
|
/* 02806F00 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806F00 */ _t163 = _t162 & 0x00000001u;
|
|
/* 02806F00 */ if (_t163) goto L_02806F60; else goto L_02806F04;
|
|
L_02806F04: ; // 0x2806f04
|
|
/* 02806F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02806F08 */ _t164 = cpu->r[31] + 0x000000BCu;
|
|
/* 02806F08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02806F0C */ _t165 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02806F0C */ _t166 = _t165 & 0x00000001u;
|
|
/* 02806F0C */ if (_t166) goto L_02806F10; else goto L_02806F60;
|
|
L_02806F10: ; // 0x2806f10
|
|
/* 02806F10 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[26] * (int32_t)0x00000064u);
|
|
/* 02806F14 */ cpu->r[5] = 0x00000004u;
|
|
/* 02806F18 */ cpu->r[3] = cpu->r[22];
|
|
/* 02806F1C */ Gambit_fn_02801ADC(cpu);
|
|
/* 02806F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02806F24 */ _t167 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02806F24 */ _t168 = _t167 & 0x00000001u;
|
|
/* 02806F24 */ if (_t168) goto L_02806F60; else goto L_02806F28;
|
|
L_02806F28: ; // 0x2806f28
|
|
/* 02806F28 */ _t169 = cpu->r[31] + 0x000000B8u;
|
|
/* 02806F28 */ rbrew_write32(cpu->mem, _t169, cpu->r[26]);
|
|
/* 02806F2C */ cpu->r[4] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02806F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02806F30 */ _t170 = cpu->r[31] + 0x000000ACu;
|
|
/* 02806F30 */ rbrew_write32(cpu->mem, _t170, cpu->r[3]);
|
|
/* 02806F34 */ _t171 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02806F34 */ _t172 = _t171 & 0x00000001u;
|
|
/* 02806F34 */ if (_t172) goto L_02806F38; else goto L_02806F54;
|
|
L_02806F38: ; // 0x2806f38
|
|
/* 02806F38 */ cpu->ctr = cpu->r[4];
|
|
/* 02806F3C */ cpu->r[12] = 0x00000000u;
|
|
/* 02806F40 */ cpu->r[5] = cpu->r[3] + 0x00000064u;
|
|
L_02806F44: ; // 0x2806f44
|
|
/* 02806F44 */ _t173 = cpu->r[3] + cpu->r[12];
|
|
/* 02806F44 */ rbrew_write32(cpu->mem, _t173, cpu->r[5]);
|
|
/* 02806F48 */ cpu->r[12] = cpu->r[12] + 0x00000064u;
|
|
/* 02806F4C */ cpu->r[5] = cpu->r[5] + 0x00000064u;
|
|
/* 02806F50 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02806F50 */ _t174 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02806F50 */ _t175 = _t174 >> (0x00000002u & 31u);
|
|
/* 02806F50 */ _t176 = _t175 & 0x00000001u;
|
|
/* 02806F50 */ if (_t176) goto L_02806F44; else goto L_02806F54;
|
|
L_02806F54: ; // 0x2806f54
|
|
/* 02806F54 */ cpu->r[10] = cpu->r[3] + cpu->r[22];
|
|
/* 02806F58 */ _t177 = cpu->r[10] + 0xFFFFFF9Cu;
|
|
/* 02806F58 */ rbrew_write32(cpu->mem, _t177, cpu->r[29]);
|
|
/* 02806F5C */ _t178 = cpu->r[31] + 0x000000B0u;
|
|
/* 02806F5C */ rbrew_write32(cpu->mem, _t178, cpu->r[3]);
|
|
L_02806F60: ; // 0x2806f60
|
|
/* 02806F60 */ _t179 = cpu->r[1] + 0x00000038u;
|
|
/* 02806F60 */ rbrew_write32(cpu->mem, _t179, cpu->r[30]);
|
|
/* 02806F64 */ cpu->r[3] = cpu->r[31];
|
|
/* 02806F68 */ _t180 = cpu->r[1] + 0x00000040u;
|
|
/* 02806F68 */ rbrew_write32(cpu->mem, _t180, cpu->r[23]);
|
|
/* 02806F6C */ cpu->r[6] = cpu->r[1] + 0x00000048u;
|
|
/* 02806F70 */ _t181 = cpu->r[1] + 0x00000048u;
|
|
/* 02806F70 */ rbrew_write32(cpu->mem, _t181, cpu->r[23]);
|
|
/* 02806F74 */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 02806F78 */ _t182 = cpu->r[1] + 0x00000034u;
|
|
/* 02806F78 */ rbrew_write32(cpu->mem, _t182, cpu->r[23]);
|
|
/* 02806F7C */ cpu->r[7] = cpu->r[1] + 0x00000040u;
|
|
/* 02806F80 */ _t183 = cpu->r[1] + 0x00000044u;
|
|
/* 02806F80 */ rbrew_write32(cpu->mem, _t183, cpu->r[30]);
|
|
/* 02806F84 */ cpu->r[4] = cpu->r[27];
|
|
/* 02806F88 */ _t184 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02806F88 */ rbrew_write32(cpu->mem, _t184, cpu->r[30]);
|
|
/* 02806F8C */ Gambit_fn_028065B4(cpu);
|
|
/* 02806F90 */ cpu->r[4] = cpu->r[3];
|
|
/* 02806F94 */ _t185 = cpu->r[31] + 0x000000BCu;
|
|
/* 02806F94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t185);
|
|
/* 02806F98 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 02806F9C */ _t186 = cpu->r[1] + 0x00000060u;
|
|
/* 02806F9C */ rbrew_write32(cpu->mem, _t186, cpu->r[29]);
|
|
/* 02806FA0 */ _t187 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02806FA0 */ rbrew_write32(cpu->mem, _t187, cpu->r[29]);
|
|
/* 02806FA4 */ cpu->r[6] = 0x00000004u;
|
|
/* 02806FA8 */ _t188 = cpu->r[1] + 0x00000058u;
|
|
/* 02806FA8 */ rbrew_write32(cpu->mem, _t188, cpu->r[29]);
|
|
/* 02806FAC */ Gambit_fn_028023CC(cpu);
|
|
/* 02806FB0 */ _t189 = cpu->r[1] + 0x00000058u;
|
|
/* 02806FB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02806FB4 */ _t190 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02806FB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02806FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 02806FBC */ _t191 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02806FBC */ _t192 = _t191 & 0x00000001u;
|
|
/* 02806FBC */ if (_t192) goto L_02806FC0; else goto L_02806FD8;
|
|
L_02806FC0: ; // 0x2806fc0
|
|
/* 02806FC0 */ _t193 = cpu->r[1] + 0x00000060u;
|
|
/* 02806FC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t193);
|
|
/* 02806FC4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02806FC8 */ _t194 = cpu->r[11] + cpu->r[12];
|
|
/* 02806FC8 */ rbrew_write32(cpu->mem, _t194, cpu->r[27]);
|
|
/* 02806FCC */ _t195 = cpu->r[1] + 0x00000058u;
|
|
/* 02806FCC */ cpu->r[4] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02806FD0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02806FD4 */ _t196 = cpu->r[1] + 0x00000058u;
|
|
/* 02806FD4 */ rbrew_write32(cpu->mem, _t196, cpu->r[4]);
|
|
L_02806FD8: ; // 0x2806fd8
|
|
/* 02806FD8 */ cpu->r[5] = 0x10110000u;
|
|
/* 02806FDC */ cpu->r[5] = cpu->r[5] + 0x00002BD4u;
|
|
/* 02806FE0 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
|
|
/* 02806FE4 */ _t197 = cpu->r[1] + 0x00000034u;
|
|
/* 02806FE4 */ rbrew_write32(cpu->mem, _t197, cpu->r[5]);
|
|
/* 02806FE8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02806FEC */ _t198 = cpu->r[31] + 0x000000BCu;
|
|
/* 02806FEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t198);
|
|
/* 02806FF0 */ cpu->r[7] = cpu->r[3];
|
|
/* 02806FF4 */ cpu->r[6] = 0x00000001u;
|
|
/* 02806FF8 */ _t199 = cpu->r[1] + 0x00000038u;
|
|
/* 02806FF8 */ rbrew_write32(cpu->mem, _t199, cpu->r[30]);
|
|
/* 02806FFC */ Gambit_fn_02822600(cpu);
|
|
/* 02807000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02807004 */ cpu->r[4] = cpu->r[3];
|
|
/* 02807008 */ _t200 = cpu->r[31] + 0x000000C8u;
|
|
/* 02807008 */ rbrew_write32(cpu->mem, _t200, cpu->r[3]);
|
|
/* 0280700C */ _t201 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280700C */ _t202 = _t201 & 0x00000001u;
|
|
/* 0280700C */ if (_t202) goto L_02807010; else goto L_02807060;
|
|
L_02807010: ; // 0x2807010
|
|
/* 02807010 */ cpu->r[27] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x0000012Cu);
|
|
/* 02807014 */ cpu->r[5] = 0x00000004u;
|
|
/* 02807018 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280701C */ Gambit_fn_02801ADC(cpu);
|
|
/* 02807020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02807024 */ _t203 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807024 */ _t204 = _t203 & 0x00000001u;
|
|
/* 02807024 */ if (_t204) goto L_02807060; else goto L_02807028;
|
|
L_02807028: ; // 0x2807028
|
|
/* 02807028 */ _t205 = cpu->r[31] + 0x00000040u;
|
|
/* 02807028 */ rbrew_write32(cpu->mem, _t205, cpu->r[28]);
|
|
/* 0280702C */ cpu->r[12] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 0280702C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02807030 */ _t206 = cpu->r[31] + 0x00000034u;
|
|
/* 02807030 */ rbrew_write32(cpu->mem, _t206, cpu->r[3]);
|
|
/* 02807034 */ _t207 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02807034 */ _t208 = _t207 & 0x00000001u;
|
|
/* 02807034 */ if (_t208) goto L_02807038; else goto L_02807054;
|
|
L_02807038: ; // 0x2807038
|
|
/* 02807038 */ cpu->ctr = cpu->r[12];
|
|
/* 0280703C */ cpu->r[9] = 0x00000000u;
|
|
/* 02807040 */ cpu->r[10] = cpu->r[3] + 0x0000012Cu;
|
|
L_02807044: ; // 0x2807044
|
|
/* 02807044 */ _t209 = cpu->r[3] + cpu->r[9];
|
|
/* 02807044 */ rbrew_write32(cpu->mem, _t209, cpu->r[10]);
|
|
/* 02807048 */ cpu->r[9] = cpu->r[9] + 0x0000012Cu;
|
|
/* 0280704C */ cpu->r[10] = cpu->r[10] + 0x0000012Cu;
|
|
/* 02807050 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02807050 */ _t210 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02807050 */ _t211 = _t210 >> (0x00000002u & 31u);
|
|
/* 02807050 */ _t212 = _t211 & 0x00000001u;
|
|
/* 02807050 */ if (_t212) goto L_02807044; else goto L_02807054;
|
|
L_02807054: ; // 0x2807054
|
|
/* 02807054 */ cpu->r[6] = cpu->r[3] + cpu->r[27];
|
|
/* 02807058 */ _t213 = cpu->r[6] + 0xFFFFFED4u;
|
|
/* 02807058 */ rbrew_write32(cpu->mem, _t213, cpu->r[29]);
|
|
/* 0280705C */ _t214 = cpu->r[31] + 0x00000038u;
|
|
/* 0280705C */ rbrew_write32(cpu->mem, _t214, cpu->r[3]);
|
|
L_02807060: ; // 0x2807060
|
|
/* 02807060 */ _t215 = cpu->r[1] + 0x00000058u;
|
|
/* 02807060 */ cpu->r[8] = rbrew_read32(cpu->mem, _t215);
|
|
/* 02807064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02807068 */ _t216 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807068 */ _t217 = _t216 & 0x00000001u;
|
|
/* 02807068 */ if (_t217) goto L_028085AC; else goto L_0280706C;
|
|
L_0280706C: ; // 0x280706c
|
|
/* 0280706C */ cpu->r[14] = 0x00080000u;
|
|
/* 02807070 */ cpu->r[27] = 0x00000000u;
|
|
/* 02807074 */ cpu->r[7] = 0x10110000u;
|
|
/* 02807078 */ cpu->r[14] = cpu->r[14] + 0x00000001u;
|
|
/* 0280707C */ cpu->r[6] = 0x10110000u;
|
|
/* 02807080 */ _t218 = cpu->r[7] + 0x00007399u;
|
|
/* 02807080 */ cpu->r[29] = rbrew_read8(cpu->mem, _t218);
|
|
/* 02807084 */ cpu->r[4] = 0x10110000u;
|
|
/* 02807088 */ cpu->r[23] = 0x00000001u;
|
|
/* 0280708C */ cpu->r[19] = 0x10110000u;
|
|
/* 02807090 */ _t219 = cpu->r[4] + 0x00002B74u;
|
|
/* 02807090 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t219);
|
|
/* 02807094 */ cpu->r[7] = cpu->r[1] + 0x000000ACu;
|
|
/* 02807098 */ cpu->r[19] = cpu->r[19] + 0x00007399u;
|
|
/* 0280709C */ _t220 = cpu->r[6] + 0x00002B6Cu;
|
|
/* 0280709C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t220);
|
|
/* 028070A0 */ cpu->r[6] = cpu->r[1] + 0x000000B0u;
|
|
/* 028070A4 */ cpu->r[21] = 0x10110000u;
|
|
/* 028070A8 */ _t221 = cpu->r[1] + 0x00000024u;
|
|
/* 028070A8 */ rbrew_write32(cpu->mem, _t221, cpu->r[7]);
|
|
/* 028070AC */ cpu->r[20] = 0x10110000u;
|
|
/* 028070B0 */ cpu->r[5] = 0x10110000u;
|
|
/* 028070B4 */ cpu->r[21] = cpu->r[21] + 0x00002B88u;
|
|
/* 028070B8 */ cpu->r[22] = 0x10110000u;
|
|
/* 028070BC */ _t222 = cpu->r[5] + 0x00002B70u;
|
|
/* 028070BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t222);
|
|
/* 028070C0 */ cpu->r[5] = 0x10110000u;
|
|
/* 028070C4 */ cpu->r[22] = cpu->r[22] + 0x0000295Cu;
|
|
/* 028070C8 */ _t223 = cpu->r[1] + 0x00000018u;
|
|
/* 028070C8 */ rbrew_write32(cpu->mem, _t223, cpu->r[6]);
|
|
/* 028070CC */ cpu->r[5] = cpu->r[5] + 0x0000298Cu;
|
|
/* 028070D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 028070D4 */ cpu->r[20] = cpu->r[20] + 0x00002B8Cu;
|
|
/* 028070D8 */ _t224 = cpu->r[1] + 0x00000008u;
|
|
/* 028070D8 */ rbrew_write32(cpu->mem, _t224, cpu->r[5]);
|
|
/* 028070DC */ _t225 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028070DC */ _t226 = _t225 & 0x00000001u;
|
|
/* 028070DC */ if (_t226) goto L_028070E0; else goto L_0280714C;
|
|
L_028070E0: ; // 0x28070e0
|
|
/* 028070E0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 028070E4 */ _t227 = cpu->r[1] + 0x00000060u;
|
|
/* 028070E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t227);
|
|
/* 028070E8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028070EC */ _t228 = cpu->r[1] + 0x00000058u;
|
|
/* 028070EC */ rbrew_write32(cpu->mem, _t228, cpu->r[8]);
|
|
/* 028070F0 */ _t229 = cpu->r[7] + cpu->r[0];
|
|
/* 028070F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t229);
|
|
/* 028070F4 */ _t230 = cpu->r[1] + 0x00000078u;
|
|
/* 028070F4 */ rbrew_write32(cpu->mem, _t230, cpu->r[30]);
|
|
/* 028070F8 */ _t231 = cpu->r[1] + 0x00000074u;
|
|
/* 028070F8 */ rbrew_write32(cpu->mem, _t231, cpu->r[25]);
|
|
/* 028070FC */ _t232 = cpu->r[28] + 0x00000014u;
|
|
/* 028070FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t232);
|
|
/* 02807100 */ _t233 = cpu->r[9] + 0x00000014u;
|
|
/* 02807100 */ cpu->r[10] = rbrew_read32(cpu->mem, _t233);
|
|
/* 02807104 */ cpu->ctr = cpu->r[10];
|
|
/* 02807108 */ cpu->r[3] = cpu->r[28] + 0x00000010u;
|
|
/* 0280710C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02807110 */ _t234 = cpu->r[28] + 0x00000014u;
|
|
/* 02807110 */ cpu->r[11] = rbrew_read32(cpu->mem, _t234);
|
|
/* 02807114 */ _t235 = cpu->r[11] + 0x00000014u;
|
|
/* 02807114 */ cpu->r[12] = rbrew_read32(cpu->mem, _t235);
|
|
/* 02807118 */ cpu->ctr = cpu->r[12];
|
|
/* 0280711C */ cpu->r[3] = cpu->r[28] + 0x00000010u;
|
|
/* 02807120 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02807124 */ _t236 = cpu->r[1] + 0x00000078u;
|
|
/* 02807124 */ cpu->r[4] = rbrew_read32(cpu->mem, _t236);
|
|
/* 02807128 */ _t237 = cpu->r[4] + 0x00000014u;
|
|
/* 02807128 */ cpu->r[5] = rbrew_read32(cpu->mem, _t237);
|
|
/* 0280712C */ cpu->ctr = cpu->r[5];
|
|
/* 02807130 */ _t238 = cpu->r[28] + 0x00000010u;
|
|
/* 02807130 */ cpu->r[26] = rbrew_read32(cpu->mem, _t238);
|
|
/* 02807134 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 02807138 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280713C */ _t239 = cpu->r[1] + 0x00000074u;
|
|
/* 0280713C */ cpu->r[6] = rbrew_read32(cpu->mem, _t239);
|
|
/* 02807140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[6]);
|
|
/* 02807144 */ _t240 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807144 */ _t241 = _t240 & 0x00000001u;
|
|
/* 02807144 */ if (_t241) goto L_028071E8; else goto L_02807148;
|
|
L_02807148: ; // 0x2807148
|
|
/* 02807148 */ goto L_028071A4;
|
|
L_0280714C: ; // 0x280714c
|
|
/* 0280714C */ _t242 = cpu->r[1] + 0x00000078u;
|
|
/* 0280714C */ rbrew_write32(cpu->mem, _t242, cpu->r[30]);
|
|
/* 02807150 */ cpu->r[28] = 0x00000000u;
|
|
/* 02807154 */ _t243 = cpu->r[1] + 0x00000074u;
|
|
/* 02807154 */ rbrew_write32(cpu->mem, _t243, cpu->r[25]);
|
|
/* 02807158 */ _t244 = cpu->r[28] + 0x00000014u;
|
|
/* 02807158 */ cpu->r[9] = rbrew_read32(cpu->mem, _t244);
|
|
/* 0280715C */ _t245 = cpu->r[9] + 0x00000014u;
|
|
/* 0280715C */ cpu->r[10] = rbrew_read32(cpu->mem, _t245);
|
|
/* 02807160 */ cpu->ctr = cpu->r[10];
|
|
/* 02807164 */ cpu->r[3] = 0x00000010u;
|
|
/* 02807168 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280716C */ _t246 = cpu->r[28] + 0x00000014u;
|
|
/* 0280716C */ cpu->r[11] = rbrew_read32(cpu->mem, _t246);
|
|
/* 02807170 */ _t247 = cpu->r[11] + 0x00000014u;
|
|
/* 02807170 */ cpu->r[12] = rbrew_read32(cpu->mem, _t247);
|
|
/* 02807174 */ cpu->ctr = cpu->r[12];
|
|
/* 02807178 */ cpu->r[3] = 0x00000010u;
|
|
/* 0280717C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02807180 */ _t248 = cpu->r[1] + 0x00000078u;
|
|
/* 02807180 */ cpu->r[4] = rbrew_read32(cpu->mem, _t248);
|
|
/* 02807184 */ _t249 = cpu->r[4] + 0x00000014u;
|
|
/* 02807184 */ cpu->r[5] = rbrew_read32(cpu->mem, _t249);
|
|
/* 02807188 */ cpu->ctr = cpu->r[5];
|
|
/* 0280718C */ _t250 = cpu->r[28] + 0x00000010u;
|
|
/* 0280718C */ cpu->r[26] = rbrew_read32(cpu->mem, _t250);
|
|
/* 02807190 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 02807194 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02807198 */ _t251 = cpu->r[1] + 0x00000074u;
|
|
/* 02807198 */ cpu->r[6] = rbrew_read32(cpu->mem, _t251);
|
|
/* 0280719C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[6]);
|
|
/* 028071A0 */ _t252 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028071A0 */ _t253 = _t252 & 0x00000001u;
|
|
/* 028071A0 */ if (_t253) goto L_028071E8; else goto L_028071A4;
|
|
L_028071A4: ; // 0x28071a4
|
|
/* 028071A4 */ _t254 = cpu->r[28] + 0x00000010u;
|
|
/* 028071A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t254);
|
|
/* 028071A8 */ cpu->r[6] = cpu->r[29];
|
|
/* 028071AC */ _t255 = cpu->r[1] + 0x00000074u;
|
|
/* 028071AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t255);
|
|
/* 028071B0 */ cpu->ctr = cpu->r[14];
|
|
/* 028071B4 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 028071B8 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_028071BC: ; // 0x28071bc
|
|
/* 028071BC */ _t256 = cpu->r[5] + 0x00000001u;
|
|
/* 028071BC */ cpu->r[10] = rbrew_read8(cpu->mem, _t256);
|
|
/* 028071BC */ cpu->r[5] = _t256;
|
|
/* 028071C0 */ _t257 = cpu->r[4] + 0x00000001u;
|
|
/* 028071C0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t257);
|
|
/* 028071C0 */ cpu->r[4] = _t257;
|
|
/* 028071C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[7]);
|
|
/* 028071C8 */ _t258 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028071C8 */ _t259 = _t258 & 0x00000001u;
|
|
/* 028071C8 */ if (_t259) goto L_028071CC; else goto L_02808578;
|
|
L_028071CC: ; // 0x28071cc
|
|
/* 028071CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]);
|
|
/* 028071D0 */ _t260 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028071D0 */ _t261 = _t260 & 0x00000001u;
|
|
/* 028071D0 */ if (_t261) goto L_028071E8; else goto L_028071D4;
|
|
L_028071D4: ; // 0x28071d4
|
|
/* 028071D4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028071D4 */ _t262 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028071D4 */ _t263 = _t262 >> (0x00000002u & 31u);
|
|
/* 028071D4 */ _t264 = _t263 & 0x00000001u;
|
|
/* 028071D4 */ if (_t264) goto L_028071BC; else goto L_028071D8;
|
|
L_028071D8: ; // 0x28071d8
|
|
/* 028071D8 */ _t265 = cpu->r[28] + 0x00000004u;
|
|
/* 028071D8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t265);
|
|
/* 028071DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 028071E0 */ _t266 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028071E0 */ _t267 = _t266 & 0x00000001u;
|
|
/* 028071E0 */ if (_t267) goto L_0280859C; else goto L_028071E4;
|
|
L_028071E4: ; // 0x28071e4
|
|
/* 028071E4 */ goto L_02808584;
|
|
L_028071E8: ; // 0x28071e8
|
|
/* 028071E8 */ cpu->r[0] = 0x10110000u;
|
|
/* 028071EC */ _t268 = cpu->r[1] + 0x000000D8u;
|
|
/* 028071EC */ rbrew_write32(cpu->mem, _t268, cpu->r[30]);
|
|
/* 028071F0 */ cpu->r[3] = cpu->r[28];
|
|
/* 028071F4 */ cpu->r[0] = cpu->r[0] + 0x00002BACu;
|
|
/* 028071F8 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 028071FC */ cpu->r[5] = cpu->r[1] + 0x000000D4u;
|
|
/* 02807200 */ _t269 = cpu->r[1] + 0x000000D4u;
|
|
/* 02807200 */ rbrew_write32(cpu->mem, _t269, cpu->r[0]);
|
|
/* 02807204 */ Gambit_fn_02842084(cpu);
|
|
/* 02807208 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280720C */ _t270 = cpu->r[1] + 0x000000E0u;
|
|
/* 0280720C */ rbrew_write32(cpu->mem, _t270, cpu->r[30]);
|
|
/* 02807210 */ cpu->r[4] = cpu->r[1] + 0x00000050u;
|
|
/* 02807214 */ cpu->r[5] = cpu->r[1] + 0x000000DCu;
|
|
/* 02807218 */ _t271 = cpu->r[1] + 0x000000DCu;
|
|
/* 02807218 */ rbrew_write32(cpu->mem, _t271, cpu->r[24]);
|
|
/* 0280721C */ Gambit_fn_02842084(cpu);
|
|
/* 02807220 */ cpu->r[26] = 0x10110000u;
|
|
/* 02807224 */ _t272 = cpu->r[1] + 0x00000098u;
|
|
/* 02807224 */ rbrew_write32(cpu->mem, _t272, cpu->r[30]);
|
|
/* 02807228 */ cpu->r[26] = cpu->r[26] + 0x00002BE4u;
|
|
/* 0280722C */ cpu->r[5] = cpu->r[1] + 0x00000094u;
|
|
/* 02807230 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02807234 */ _t273 = cpu->r[1] + 0x00000094u;
|
|
/* 02807234 */ rbrew_write32(cpu->mem, _t273, cpu->r[26]);
|
|
/* 02807238 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280723C */ Gambit_fn_02842084(cpu);
|
|
/* 02807240 */ _t274 = cpu->r[1] + 0x00000054u;
|
|
/* 02807240 */ cpu->r[8] = rbrew_read32(cpu->mem, _t274);
|
|
/* 02807244 */ _t275 = cpu->r[1] + 0x00000028u;
|
|
/* 02807244 */ cpu->r[4] = rbrew_read32(cpu->mem, _t275);
|
|
/* 02807248 */ _t276 = cpu->r[1] + 0x00000080u;
|
|
/* 02807248 */ rbrew_write32(cpu->mem, _t276, cpu->r[30]);
|
|
/* 0280724C */ _t277 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0280724C */ rbrew_write32(cpu->mem, _t277, cpu->r[4]);
|
|
/* 02807250 */ _t278 = cpu->r[8] + 0x00000014u;
|
|
/* 02807250 */ cpu->r[9] = rbrew_read32(cpu->mem, _t278);
|
|
/* 02807254 */ cpu->ctr = cpu->r[9];
|
|
/* 02807258 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 0280725C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02807260 */ _t279 = cpu->r[1] + 0x00000054u;
|
|
/* 02807260 */ cpu->r[10] = rbrew_read32(cpu->mem, _t279);
|
|
/* 02807264 */ _t280 = cpu->r[10] + 0x00000014u;
|
|
/* 02807264 */ cpu->r[11] = rbrew_read32(cpu->mem, _t280);
|
|
/* 02807268 */ cpu->ctr = cpu->r[11];
|
|
/* 0280726C */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02807270 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02807274 */ _t281 = cpu->r[1] + 0x00000080u;
|
|
/* 02807274 */ cpu->r[12] = rbrew_read32(cpu->mem, _t281);
|
|
/* 02807278 */ _t282 = cpu->r[12] + 0x00000014u;
|
|
/* 02807278 */ cpu->r[4] = rbrew_read32(cpu->mem, _t282);
|
|
/* 0280727C */ cpu->ctr = cpu->r[4];
|
|
/* 02807280 */ _t283 = cpu->r[1] + 0x00000050u;
|
|
/* 02807280 */ cpu->r[18] = rbrew_read32(cpu->mem, _t283);
|
|
/* 02807284 */ cpu->r[3] = cpu->r[1] + 0x0000007Cu;
|
|
/* 02807288 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280728C */ _t284 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0280728C */ cpu->r[5] = rbrew_read32(cpu->mem, _t284);
|
|
/* 02807290 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[5]);
|
|
/* 02807294 */ _t285 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807294 */ _t286 = _t285 & 0x00000001u;
|
|
/* 02807294 */ if (_t286) goto L_028072D0; else goto L_02807298;
|
|
L_02807298: ; // 0x2807298
|
|
/* 02807298 */ _t287 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02807298 */ cpu->r[10] = rbrew_read32(cpu->mem, _t287);
|
|
/* 0280729C */ cpu->ctr = cpu->r[14];
|
|
/* 028072A0 */ _t288 = cpu->r[1] + 0x00000050u;
|
|
/* 028072A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t288);
|
|
/* 028072A4 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 028072A8 */ cpu->r[5] = cpu->r[29];
|
|
L_028072AC: ; // 0x28072ac
|
|
/* 028072AC */ _t289 = cpu->r[8] + 0x00000000u;
|
|
/* 028072AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t289);
|
|
/* 028072B0 */ _t290 = cpu->r[10] + 0x00000001u;
|
|
/* 028072B0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t290);
|
|
/* 028072B0 */ cpu->r[10] = _t290;
|
|
/* 028072B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 028072B8 */ _t291 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028072B8 */ _t292 = _t291 & 0x00000001u;
|
|
/* 028072B8 */ if (_t292) goto L_028072BC; else goto L_02807AF0;
|
|
L_028072BC: ; // 0x28072bc
|
|
/* 028072BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 028072C0 */ _t293 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028072C0 */ _t294 = _t293 & 0x00000001u;
|
|
/* 028072C0 */ if (_t294) goto L_028072D0; else goto L_028072C4;
|
|
L_028072C4: ; // 0x28072c4
|
|
/* 028072C4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 028072C8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028072C8 */ _t295 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028072C8 */ _t296 = _t295 >> (0x00000002u & 31u);
|
|
/* 028072C8 */ _t297 = _t296 & 0x00000001u;
|
|
/* 028072C8 */ if (_t297) goto L_028072AC; else goto L_028072CC;
|
|
L_028072CC: ; // 0x28072cc
|
|
/* 028072CC */ goto L_02807AF0;
|
|
L_028072D0: ; // 0x28072d0
|
|
/* 028072D0 */ _t298 = cpu->r[31] + 0x00000028u;
|
|
/* 028072D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t298);
|
|
/* 028072D4 */ _t299 = cpu->r[31] + 0x0000002Cu;
|
|
/* 028072D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t299);
|
|
/* 028072D8 */ _t300 = cpu->r[1] + 0x000000ACu;
|
|
/* 028072D8 */ rbrew_write32(cpu->mem, _t300, cpu->r[27]);
|
|
/* 028072DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 028072E0 */ cpu->r[18] = cpu->r[31] + 0x0000001Cu;
|
|
/* 028072E4 */ _t301 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028072E4 */ _t302 = _t301 & 0x00000001u;
|
|
/* 028072E4 */ if (_t302) goto L_028072E8; else goto L_02807520;
|
|
L_028072E8: ; // 0x28072e8
|
|
/* 028072E8 */ _t303 = cpu->r[18] + 0x00000004u;
|
|
/* 028072E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t303);
|
|
/* 028072EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 028072F0 */ _t304 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028072F0 */ _t305 = _t304 & 0x00000001u;
|
|
/* 028072F0 */ if (_t305) goto L_028072FC; else goto L_028072F4;
|
|
L_028072F4: ; // 0x28072f4
|
|
/* 028072F4 */ _t306 = cpu->r[11] + 0x00000000u;
|
|
/* 028072F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t306);
|
|
/* 028072F8 */ _t307 = cpu->r[18] + 0x00000004u;
|
|
/* 028072F8 */ rbrew_write32(cpu->mem, _t307, cpu->r[8]);
|
|
L_028072FC: ; // 0x28072fc
|
|
/* 028072FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02807300 */ _t308 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807300 */ _t309 = _t308 & 0x00000001u;
|
|
/* 02807300 */ if (_t309) goto L_028074CC; else goto L_02807304;
|
|
L_02807304: ; // 0x2807304
|
|
/* 02807304 */ cpu->r[16] = cpu->r[11];
|
|
/* 02807304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
|
|
/* 02807308 */ cpu->r[3] = cpu->r[16];
|
|
/* 0280730C */ _t310 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280730C */ _t311 = _t310 & 0x00000001u;
|
|
/* 0280730C */ if (_t311) goto L_02807310; else goto L_02807320;
|
|
L_02807310: ; // 0x2807310
|
|
/* 02807310 */ cpu->r[3] = 0x00000018u;
|
|
/* 02807314 */ Gambit_fn_02801A78(cpu);
|
|
/* 02807318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280731C */ _t312 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280731C */ _t313 = _t312 & 0x00000001u;
|
|
/* 0280731C */ if (_t313) goto L_02807338; else goto L_02807320;
|
|
L_02807320: ; // 0x2807320
|
|
/* 02807320 */ _t314 = cpu->r[3] + 0x00000014u;
|
|
/* 02807320 */ rbrew_write32(cpu->mem, _t314, cpu->r[22]);
|
|
/* 02807324 */ _t315 = cpu->r[3] + 0x00000004u;
|
|
/* 02807324 */ rbrew_write32(cpu->mem, _t315, cpu->r[27]);
|
|
/* 02807328 */ _t316 = cpu->r[3] + 0x00000008u;
|
|
/* 02807328 */ rbrew_write32(cpu->mem, _t316, cpu->r[27]);
|
|
/* 0280732C */ _t317 = cpu->r[3] + 0x00000000u;
|
|
/* 0280732C */ rbrew_write32(cpu->mem, _t317, cpu->r[27]);
|
|
/* 02807330 */ _t318 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02807330 */ rbrew_write32(cpu->mem, _t318, cpu->r[19]);
|
|
/* 02807334 */ _t319 = cpu->r[3] + 0x00000010u;
|
|
/* 02807334 */ rbrew_write32(cpu->mem, _t319, cpu->r[30]);
|
|
L_02807338: ; // 0x2807338
|
|
/* 02807338 */ _t320 = cpu->r[1] + 0x00000008u;
|
|
/* 02807338 */ cpu->r[9] = rbrew_read32(cpu->mem, _t320);
|
|
/* 0280733C */ _t321 = cpu->r[1] + 0x00000024u;
|
|
/* 0280733C */ cpu->r[8] = rbrew_read32(cpu->mem, _t321);
|
|
/* 02807340 */ _t322 = cpu->r[16] + 0x00000014u;
|
|
/* 02807340 */ rbrew_write32(cpu->mem, _t322, cpu->r[9]);
|
|
/* 02807344 */ _t323 = cpu->r[8] + 0x00000000u;
|
|
/* 02807344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t323);
|
|
/* 02807348 */ _t324 = cpu->r[16] + 0x0000001Cu;
|
|
/* 02807348 */ rbrew_write32(cpu->mem, _t324, cpu->r[18]);
|
|
/* 0280734C */ _t325 = cpu->r[16] + 0x00000018u;
|
|
/* 0280734C */ rbrew_write32(cpu->mem, _t325, cpu->r[0]);
|
|
/* 02807350 */ _t326 = cpu->r[16] + 0x00000060u;
|
|
/* 02807350 */ rbrew_write8(cpu->mem, _t326, (uint8_t)cpu->r[29]);
|
|
/* 02807354 */ _t327 = cpu->r[1] + 0x00000030u;
|
|
/* 02807354 */ cpu->r[9] = rbrew_read32(cpu->mem, _t327);
|
|
/* 02807358 */ _t328 = cpu->r[9] + 0x00000014u;
|
|
/* 02807358 */ cpu->r[10] = rbrew_read32(cpu->mem, _t328);
|
|
/* 0280735C */ cpu->ctr = cpu->r[10];
|
|
/* 02807360 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807364 */ cpu->r[17] = cpu->r[16] + 0x00000020u;
|
|
/* 02807368 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280736C */ _t329 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280736C */ cpu->r[5] = rbrew_read32(cpu->mem, _t329);
|
|
/* 02807370 */ cpu->r[4] = cpu->r[29];
|
|
/* 02807374 */ _t330 = cpu->r[5] + 0x00000000u;
|
|
/* 02807374 */ cpu->r[11] = rbrew_read8(cpu->mem, _t330);
|
|
/* 02807378 */ cpu->r[12] = 0x00000000u;
|
|
/* 0280737C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[4]);
|
|
/* 02807380 */ cpu->r[0] = 0x00080000u;
|
|
/* 02807384 */ _t331 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807384 */ _t332 = _t331 & 0x00000001u;
|
|
/* 02807384 */ if (_t332) goto L_02807438; else goto L_02807388;
|
|
L_02807388: ; // 0x2807388
|
|
/* 02807388 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280738C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02807390 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02807394 */ _t333 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02807394 */ _t334 = _t333 & 0x00000001u;
|
|
/* 02807394 */ if (_t334) goto L_028073B4; else goto L_02807398;
|
|
L_02807398: ; // 0x2807398
|
|
/* 02807398 */ _t335 = cpu->r[5] + 0x00000000u;
|
|
/* 02807398 */ cpu->r[6] = rbrew_read8(cpu->mem, _t335);
|
|
/* 0280739C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[4]);
|
|
/* 028073A0 */ _t336 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028073A0 */ _t337 = _t336 & 0x00000001u;
|
|
/* 028073A0 */ if (_t337) goto L_028073A4; else goto L_02807388;
|
|
L_028073A4: ; // 0x28073a4
|
|
/* 028073A4 */ cpu->r[15] = cpu->r[12];
|
|
/* 028073A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x00000041u);
|
|
/* 028073AC */ _t338 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028073AC */ _t339 = _t338 & 0x00000001u;
|
|
/* 028073AC */ if (_t339) goto L_028073B0; else goto L_02807444;
|
|
L_028073B0: ; // 0x28073b0
|
|
/* 028073B0 */ goto L_02807448;
|
|
L_028073B4: ; // 0x28073b4
|
|
/* 028073B4 */ _t340 = cpu->r[1] + 0x00000030u;
|
|
/* 028073B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t340);
|
|
/* 028073B8 */ _t341 = cpu->r[7] + 0x00000014u;
|
|
/* 028073B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t341);
|
|
/* 028073BC */ cpu->ctr = cpu->r[8];
|
|
/* 028073C0 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 028073C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028073C8 */ cpu->r[5] = 0x00000000u;
|
|
/* 028073CC */ _t342 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028073CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t342);
|
|
/* 028073D0 */ cpu->r[6] = cpu->r[5];
|
|
/* 028073D4 */ cpu->r[3] = cpu->r[17];
|
|
/* 028073D8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028073DC */ _t343 = cpu->r[17] + 0x00000000u;
|
|
/* 028073DC */ rbrew_write8(cpu->mem, _t343, (uint8_t)cpu->r[29]);
|
|
/* 028073E0 */ _t344 = cpu->r[16] + 0x0000000Cu;
|
|
/* 028073E0 */ rbrew_write32(cpu->mem, _t344, cpu->r[17]);
|
|
/* 028073E4 */ _t345 = cpu->r[18] + 0x0000000Cu;
|
|
/* 028073E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t345);
|
|
/* 028073E8 */ cpu->r[5] = cpu->r[16];
|
|
/* 028073EC */ _t346 = cpu->r[18] + 0x00000000u;
|
|
/* 028073EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t346);
|
|
/* 028073F0 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 028073F4 */ cpu->r[3] = cpu->r[18];
|
|
/* 028073F8 */ _t347 = cpu->r[18] + 0x0000000Cu;
|
|
/* 028073F8 */ rbrew_write32(cpu->mem, _t347, cpu->r[9]);
|
|
/* 028073FC */ Gambit_fn_020EFDC4(cpu);
|
|
/* 02807400 */ _t348 = cpu->r[18] + 0x00000000u;
|
|
/* 02807400 */ rbrew_write32(cpu->mem, _t348, cpu->r[3]);
|
|
/* 02807404 */ cpu->r[4] = cpu->r[1] + 0x0000009Cu;
|
|
/* 02807408 */ _t349 = cpu->r[3] + 0x00000008u;
|
|
/* 02807408 */ rbrew_write32(cpu->mem, _t349, cpu->r[23]);
|
|
/* 0280740C */ cpu->r[5] = cpu->r[1] + 0x00000084u;
|
|
/* 02807410 */ _t350 = cpu->r[1] + 0x00000084u;
|
|
/* 02807410 */ rbrew_write32(cpu->mem, _t350, cpu->r[21]);
|
|
/* 02807414 */ cpu->r[3] = cpu->r[28];
|
|
/* 02807418 */ _t351 = cpu->r[1] + 0x00000088u;
|
|
/* 02807418 */ rbrew_write32(cpu->mem, _t351, cpu->r[30]);
|
|
/* 0280741C */ Gambit_fn_02842084(cpu);
|
|
/* 02807420 */ _t352 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02807420 */ cpu->r[10] = rbrew_read32(cpu->mem, _t352);
|
|
/* 02807424 */ _t353 = cpu->r[10] + 0x00000000u;
|
|
/* 02807424 */ cpu->r[11] = rbrew_read8(cpu->mem, _t353);
|
|
/* 02807428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
|
|
/* 0280742C */ cpu->r[8] = 0x00000000u;
|
|
/* 02807430 */ _t354 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807430 */ _t355 = _t354 & 0x00000001u;
|
|
/* 02807430 */ if (_t355) goto L_02807434; else goto L_028075B4;
|
|
L_02807434: ; // 0x2807434
|
|
/* 02807434 */ goto L_02807580;
|
|
L_02807438: ; // 0x2807438
|
|
/* 02807438 */ cpu->r[15] = cpu->r[12];
|
|
/* 0280743C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x00000041u);
|
|
/* 02807440 */ _t356 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02807440 */ _t357 = _t356 & 0x00000001u;
|
|
/* 02807440 */ if (_t357) goto L_02807448; else goto L_02807444;
|
|
L_02807444: ; // 0x2807444
|
|
/* 02807444 */ cpu->r[15] = 0x00000040u;
|
|
L_02807448: ; // 0x2807448
|
|
/* 02807448 */ _t358 = cpu->r[1] + 0x00000030u;
|
|
/* 02807448 */ cpu->r[7] = rbrew_read32(cpu->mem, _t358);
|
|
/* 0280744C */ _t359 = cpu->r[7] + 0x00000014u;
|
|
/* 0280744C */ cpu->r[8] = rbrew_read32(cpu->mem, _t359);
|
|
/* 02807450 */ cpu->ctr = cpu->r[8];
|
|
/* 02807454 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807458 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280745C */ _t360 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280745C */ cpu->r[4] = rbrew_read32(cpu->mem, _t360);
|
|
/* 02807460 */ cpu->r[3] = cpu->r[17];
|
|
/* 02807464 */ cpu->r[5] = cpu->r[15];
|
|
/* 02807468 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280746C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02807470 */ _t361 = cpu->r[17] + cpu->r[15];
|
|
/* 02807470 */ rbrew_write8(cpu->mem, _t361, (uint8_t)cpu->r[29]);
|
|
/* 02807474 */ _t362 = cpu->r[16] + 0x0000000Cu;
|
|
/* 02807474 */ rbrew_write32(cpu->mem, _t362, cpu->r[17]);
|
|
/* 02807478 */ _t363 = cpu->r[18] + 0x0000000Cu;
|
|
/* 02807478 */ cpu->r[9] = rbrew_read32(cpu->mem, _t363);
|
|
/* 0280747C */ cpu->r[5] = cpu->r[16];
|
|
/* 02807480 */ _t364 = cpu->r[18] + 0x00000000u;
|
|
/* 02807480 */ cpu->r[4] = rbrew_read32(cpu->mem, _t364);
|
|
/* 02807484 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02807488 */ cpu->r[3] = cpu->r[18];
|
|
/* 0280748C */ _t365 = cpu->r[18] + 0x0000000Cu;
|
|
/* 0280748C */ rbrew_write32(cpu->mem, _t365, cpu->r[9]);
|
|
/* 02807490 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 02807494 */ _t366 = cpu->r[18] + 0x00000000u;
|
|
/* 02807494 */ rbrew_write32(cpu->mem, _t366, cpu->r[3]);
|
|
/* 02807498 */ cpu->r[4] = cpu->r[1] + 0x0000009Cu;
|
|
/* 0280749C */ _t367 = cpu->r[3] + 0x00000008u;
|
|
/* 0280749C */ rbrew_write32(cpu->mem, _t367, cpu->r[23]);
|
|
/* 028074A0 */ cpu->r[5] = cpu->r[1] + 0x00000084u;
|
|
/* 028074A4 */ _t368 = cpu->r[1] + 0x00000084u;
|
|
/* 028074A4 */ rbrew_write32(cpu->mem, _t368, cpu->r[21]);
|
|
/* 028074A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028074AC */ _t369 = cpu->r[1] + 0x00000088u;
|
|
/* 028074AC */ rbrew_write32(cpu->mem, _t369, cpu->r[30]);
|
|
/* 028074B0 */ Gambit_fn_02842084(cpu);
|
|
/* 028074B4 */ _t370 = cpu->r[1] + 0x0000009Cu;
|
|
/* 028074B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t370);
|
|
/* 028074B8 */ _t371 = cpu->r[10] + 0x00000000u;
|
|
/* 028074B8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t371);
|
|
/* 028074BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
|
|
/* 028074C0 */ cpu->r[8] = 0x00000000u;
|
|
/* 028074C4 */ _t372 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028074C4 */ _t373 = _t372 & 0x00000001u;
|
|
/* 028074C4 */ if (_t373) goto L_028074C8; else goto L_028075B4;
|
|
L_028074C8: ; // 0x28074c8
|
|
/* 028074C8 */ goto L_02807580;
|
|
L_028074CC: ; // 0x28074cc
|
|
/* 028074CC */ _t374 = cpu->r[18] + 0x0000000Cu;
|
|
/* 028074CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t374);
|
|
/* 028074D0 */ cpu->r[5] = 0x00000000u;
|
|
/* 028074D4 */ _t375 = cpu->r[18] + 0x00000000u;
|
|
/* 028074D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t375);
|
|
/* 028074D8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 028074DC */ cpu->r[3] = cpu->r[18];
|
|
/* 028074E0 */ _t376 = cpu->r[18] + 0x0000000Cu;
|
|
/* 028074E0 */ rbrew_write32(cpu->mem, _t376, cpu->r[9]);
|
|
/* 028074E4 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 028074E8 */ _t377 = cpu->r[18] + 0x00000000u;
|
|
/* 028074E8 */ rbrew_write32(cpu->mem, _t377, cpu->r[3]);
|
|
/* 028074EC */ _t378 = cpu->r[3] + 0x00000008u;
|
|
/* 028074EC */ rbrew_write32(cpu->mem, _t378, cpu->r[23]);
|
|
/* 028074F0 */ cpu->r[4] = cpu->r[1] + 0x0000009Cu;
|
|
/* 028074F4 */ _t379 = cpu->r[1] + 0x00000088u;
|
|
/* 028074F4 */ rbrew_write32(cpu->mem, _t379, cpu->r[30]);
|
|
/* 028074F8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028074FC */ cpu->r[5] = cpu->r[1] + 0x00000084u;
|
|
/* 02807500 */ _t380 = cpu->r[1] + 0x00000084u;
|
|
/* 02807500 */ rbrew_write32(cpu->mem, _t380, cpu->r[21]);
|
|
/* 02807504 */ Gambit_fn_02842084(cpu);
|
|
/* 02807508 */ _t381 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02807508 */ cpu->r[10] = rbrew_read32(cpu->mem, _t381);
|
|
/* 0280750C */ _t382 = cpu->r[10] + 0x00000000u;
|
|
/* 0280750C */ cpu->r[11] = rbrew_read8(cpu->mem, _t382);
|
|
/* 02807510 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
|
|
/* 02807514 */ cpu->r[8] = 0x00000000u;
|
|
/* 02807518 */ _t383 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807518 */ _t384 = _t383 & 0x00000001u;
|
|
/* 02807518 */ if (_t384) goto L_0280751C; else goto L_028075B4;
|
|
L_0280751C: ; // 0x280751c
|
|
/* 0280751C */ goto L_02807580;
|
|
L_02807520: ; // 0x2807520
|
|
/* 02807520 */ _t385 = cpu->r[18] + 0x00000000u;
|
|
/* 02807520 */ cpu->r[4] = rbrew_read32(cpu->mem, _t385);
|
|
/* 02807524 */ cpu->r[5] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807528 */ cpu->r[3] = cpu->r[18];
|
|
/* 0280752C */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02807530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02807534 */ _t386 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807534 */ _t387 = _t386 & 0x00000001u;
|
|
/* 02807534 */ if (_t387) goto L_02807554; else goto L_02807538;
|
|
L_02807538: ; // 0x2807538
|
|
/* 02807538 */ cpu->r[9] = cpu->r[3] + 0x00000018u;
|
|
/* 02807538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280753C */ _t388 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280753C */ _t389 = _t388 & 0x00000001u;
|
|
/* 0280753C */ if (_t389) goto L_02807554; else goto L_02807540;
|
|
L_02807540: ; // 0x2807540
|
|
/* 02807540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02807544 */ _t390 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807544 */ _t391 = _t390 & 0x00000001u;
|
|
/* 02807544 */ if (_t391) goto L_02807554; else goto L_02807548;
|
|
L_02807548: ; // 0x2807548
|
|
/* 02807548 */ _t392 = cpu->r[1] + 0x00000024u;
|
|
/* 02807548 */ cpu->r[7] = rbrew_read32(cpu->mem, _t392);
|
|
/* 0280754C */ _t393 = cpu->r[7] + 0x00000000u;
|
|
/* 0280754C */ cpu->r[0] = rbrew_read32(cpu->mem, _t393);
|
|
/* 02807550 */ _t394 = cpu->r[9] + 0x00000000u;
|
|
/* 02807550 */ rbrew_write32(cpu->mem, _t394, cpu->r[0]);
|
|
L_02807554: ; // 0x2807554
|
|
/* 02807554 */ _t395 = cpu->r[1] + 0x00000088u;
|
|
/* 02807554 */ rbrew_write32(cpu->mem, _t395, cpu->r[30]);
|
|
/* 02807558 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280755C */ cpu->r[4] = cpu->r[1] + 0x0000009Cu;
|
|
/* 02807560 */ _t396 = cpu->r[1] + 0x00000084u;
|
|
/* 02807560 */ rbrew_write32(cpu->mem, _t396, cpu->r[21]);
|
|
/* 02807564 */ cpu->r[5] = cpu->r[1] + 0x00000084u;
|
|
/* 02807568 */ Gambit_fn_02842084(cpu);
|
|
/* 0280756C */ _t397 = cpu->r[1] + 0x0000009Cu;
|
|
/* 0280756C */ cpu->r[10] = rbrew_read32(cpu->mem, _t397);
|
|
/* 02807570 */ _t398 = cpu->r[10] + 0x00000000u;
|
|
/* 02807570 */ cpu->r[11] = rbrew_read8(cpu->mem, _t398);
|
|
/* 02807574 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
|
|
/* 02807578 */ cpu->r[8] = 0x00000000u;
|
|
/* 0280757C */ _t399 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280757C */ _t400 = _t399 & 0x00000001u;
|
|
/* 0280757C */ if (_t400) goto L_02807580; else goto L_028075B4;
|
|
L_02807580: ; // 0x2807580
|
|
/* 02807580 */ _t401 = cpu->r[1] + 0x00000068u;
|
|
/* 02807580 */ rbrew_write32(cpu->mem, _t401, cpu->r[30]);
|
|
/* 02807584 */ cpu->r[3] = cpu->r[28];
|
|
/* 02807588 */ cpu->r[4] = cpu->r[1] + 0x000000A4u;
|
|
/* 0280758C */ _t402 = cpu->r[1] + 0x00000064u;
|
|
/* 0280758C */ rbrew_write32(cpu->mem, _t402, cpu->r[20]);
|
|
/* 02807590 */ cpu->r[5] = cpu->r[1] + 0x00000064u;
|
|
/* 02807594 */ cpu->r[17] = 0x80000000u;
|
|
/* 02807598 */ Gambit_fn_02842084(cpu);
|
|
/* 0280759C */ _t403 = cpu->r[1] + 0x000000A4u;
|
|
/* 0280759C */ cpu->r[7] = rbrew_read32(cpu->mem, _t403);
|
|
/* 028075A0 */ _t404 = cpu->r[7] + 0x00000000u;
|
|
/* 028075A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t404);
|
|
/* 028075A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 028075A8 */ cpu->r[8] = 0x00000000u;
|
|
/* 028075AC */ _t405 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028075AC */ _t406 = _t405 & 0x00000001u;
|
|
/* 028075AC */ if (_t406) goto L_028075B0; else goto L_02807650;
|
|
L_028075B0: ; // 0x28075b0
|
|
/* 028075B0 */ goto L_02807608;
|
|
L_028075B4: ; // 0x28075b4
|
|
/* 028075B4 */ _t407 = cpu->r[1] + 0x00000068u;
|
|
/* 028075B4 */ rbrew_write32(cpu->mem, _t407, cpu->r[30]);
|
|
/* 028075B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028075BC */ cpu->r[4] = cpu->r[1] + 0x0000009Cu;
|
|
/* 028075C0 */ cpu->r[6] = cpu->r[1] + 0x0000002Cu;
|
|
/* 028075C4 */ cpu->r[5] = 0x80000000u;
|
|
/* 028075C8 */ cpu->r[8] = 0x00000001u;
|
|
/* 028075CC */ cpu->r[7] = cpu->r[1] + 0x00000064u;
|
|
/* 028075D0 */ _t408 = cpu->r[1] + 0x00000064u;
|
|
/* 028075D0 */ rbrew_write32(cpu->mem, _t408, cpu->r[21]);
|
|
/* 028075D4 */ Gambit_fn_0280679C(cpu);
|
|
/* 028075D8 */ cpu->r[17] = cpu->r[3];
|
|
/* 028075DC */ _t409 = cpu->r[1] + 0x00000068u;
|
|
/* 028075DC */ rbrew_write32(cpu->mem, _t409, cpu->r[30]);
|
|
/* 028075E0 */ cpu->r[3] = cpu->r[28];
|
|
/* 028075E4 */ cpu->r[4] = cpu->r[1] + 0x000000A4u;
|
|
/* 028075E8 */ _t410 = cpu->r[1] + 0x00000064u;
|
|
/* 028075E8 */ rbrew_write32(cpu->mem, _t410, cpu->r[20]);
|
|
/* 028075EC */ cpu->r[5] = cpu->r[1] + 0x00000064u;
|
|
/* 028075F0 */ Gambit_fn_02842084(cpu);
|
|
/* 028075F4 */ _t411 = cpu->r[1] + 0x000000A4u;
|
|
/* 028075F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t411);
|
|
/* 028075F8 */ _t412 = cpu->r[7] + 0x00000000u;
|
|
/* 028075F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t412);
|
|
/* 028075FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02807600 */ cpu->r[8] = 0x00000000u;
|
|
/* 02807604 */ _t413 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807604 */ _t414 = _t413 & 0x00000001u;
|
|
/* 02807604 */ if (_t414) goto L_02807608; else goto L_02807650;
|
|
L_02807608: ; // 0x2807608
|
|
/* 02807608 */ cpu->r[3] = 0x80000000u;
|
|
/* 0280760C */ _t415 = cpu->r[1] + 0x00000068u;
|
|
/* 0280760C */ rbrew_write32(cpu->mem, _t415, cpu->r[30]);
|
|
/* 02807610 */ cpu->r[8] = 0x00000001u;
|
|
/* 02807614 */ cpu->r[18] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02807618 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280761C */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02807620 */ cpu->r[5] = 0x00000000u;
|
|
/* 02807624 */ cpu->r[6] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807628 */ cpu->r[7] = cpu->r[1] + 0x00000064u;
|
|
/* 0280762C */ _t416 = cpu->r[1] + 0x00000064u;
|
|
/* 0280762C */ rbrew_write32(cpu->mem, _t416, cpu->r[26]);
|
|
/* 02807630 */ Gambit_fn_0280679C(cpu);
|
|
/* 02807634 */ _t417 = cpu->r[31] + 0x00000054u;
|
|
/* 02807634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t417);
|
|
/* 02807638 */ cpu->r[16] = cpu->r[3];
|
|
/* 0280763C */ _t418 = cpu->r[31] + 0x00000050u;
|
|
/* 0280763C */ cpu->r[4] = rbrew_read32(cpu->mem, _t418);
|
|
/* 02807640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 02807644 */ cpu->r[26] = cpu->r[31] + 0x00000044u;
|
|
/* 02807648 */ _t419 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02807648 */ _t420 = _t419 & 0x00000001u;
|
|
/* 02807648 */ if (_t420) goto L_0280764C; else goto L_02807A24;
|
|
L_0280764C: ; // 0x280764c
|
|
/* 0280764C */ goto L_028076B8;
|
|
L_02807650: ; // 0x2807650
|
|
/* 02807650 */ _t421 = cpu->r[1] + 0x00000088u;
|
|
/* 02807650 */ rbrew_write32(cpu->mem, _t421, cpu->r[30]);
|
|
/* 02807654 */ cpu->r[3] = cpu->r[31];
|
|
/* 02807658 */ cpu->r[4] = cpu->r[1] + 0x000000A4u;
|
|
/* 0280765C */ cpu->r[5] = 0x80000000u;
|
|
/* 02807660 */ cpu->r[6] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807664 */ cpu->r[8] = 0x00000001u;
|
|
/* 02807668 */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 0280766C */ cpu->r[7] = cpu->r[1] + 0x00000084u;
|
|
/* 02807670 */ _t422 = cpu->r[1] + 0x00000084u;
|
|
/* 02807670 */ rbrew_write32(cpu->mem, _t422, cpu->r[20]);
|
|
/* 02807674 */ Gambit_fn_0280679C(cpu);
|
|
/* 02807678 */ cpu->r[18] = cpu->r[3];
|
|
/* 0280767C */ cpu->r[7] = cpu->r[1] + 0x00000064u;
|
|
/* 02807680 */ cpu->r[6] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807684 */ _t423 = cpu->r[1] + 0x00000068u;
|
|
/* 02807684 */ rbrew_write32(cpu->mem, _t423, cpu->r[30]);
|
|
/* 02807688 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 0280768C */ cpu->r[5] = 0x00000000u;
|
|
/* 02807690 */ _t424 = cpu->r[1] + 0x00000064u;
|
|
/* 02807690 */ rbrew_write32(cpu->mem, _t424, cpu->r[26]);
|
|
/* 02807694 */ cpu->r[8] = 0x00000001u;
|
|
/* 02807698 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280769C */ Gambit_fn_0280679C(cpu);
|
|
/* 028076A0 */ _t425 = cpu->r[31] + 0x00000050u;
|
|
/* 028076A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t425);
|
|
/* 028076A4 */ _t426 = cpu->r[31] + 0x00000054u;
|
|
/* 028076A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t426);
|
|
/* 028076A8 */ cpu->r[16] = cpu->r[3];
|
|
/* 028076AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 028076B0 */ cpu->r[26] = cpu->r[31] + 0x00000044u;
|
|
/* 028076B4 */ _t427 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028076B4 */ _t428 = _t427 & 0x00000001u;
|
|
/* 028076B4 */ if (_t428) goto L_028076B8; else goto L_02807A24;
|
|
L_028076B8: ; // 0x28076b8
|
|
/* 028076B8 */ _t429 = cpu->r[26] + 0x00000004u;
|
|
/* 028076B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t429);
|
|
/* 028076BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 028076C0 */ _t430 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028076C0 */ _t431 = _t430 & 0x00000001u;
|
|
/* 028076C0 */ if (_t431) goto L_028076CC; else goto L_028076C4;
|
|
L_028076C4: ; // 0x28076c4
|
|
/* 028076C4 */ _t432 = cpu->r[10] + 0x00000000u;
|
|
/* 028076C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t432);
|
|
/* 028076C8 */ _t433 = cpu->r[26] + 0x00000004u;
|
|
/* 028076C8 */ rbrew_write32(cpu->mem, _t433, cpu->r[6]);
|
|
L_028076CC: ; // 0x28076cc
|
|
/* 028076CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 028076D0 */ _t434 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028076D0 */ _t435 = _t434 & 0x00000001u;
|
|
/* 028076D0 */ if (_t435) goto L_0280796C; else goto L_028076D4;
|
|
L_028076D4: ; // 0x28076d4
|
|
/* 028076D4 */ cpu->r[15] = cpu->r[10];
|
|
/* 028076D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x00000000u);
|
|
/* 028076D8 */ cpu->r[3] = cpu->r[15];
|
|
/* 028076DC */ _t436 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028076DC */ _t437 = _t436 & 0x00000001u;
|
|
/* 028076DC */ if (_t437) goto L_028076E0; else goto L_028076F0;
|
|
L_028076E0: ; // 0x28076e0
|
|
/* 028076E0 */ cpu->r[3] = 0x00000018u;
|
|
/* 028076E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028076E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028076EC */ _t438 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028076EC */ _t439 = _t438 & 0x00000001u;
|
|
/* 028076EC */ if (_t439) goto L_02807708; else goto L_028076F0;
|
|
L_028076F0: ; // 0x28076f0
|
|
/* 028076F0 */ _t440 = cpu->r[3] + 0x00000014u;
|
|
/* 028076F0 */ rbrew_write32(cpu->mem, _t440, cpu->r[22]);
|
|
/* 028076F4 */ _t441 = cpu->r[3] + 0x00000004u;
|
|
/* 028076F4 */ rbrew_write32(cpu->mem, _t441, cpu->r[27]);
|
|
/* 028076F8 */ _t442 = cpu->r[3] + 0x00000008u;
|
|
/* 028076F8 */ rbrew_write32(cpu->mem, _t442, cpu->r[27]);
|
|
/* 028076FC */ _t443 = cpu->r[3] + 0x00000000u;
|
|
/* 028076FC */ rbrew_write32(cpu->mem, _t443, cpu->r[27]);
|
|
/* 02807700 */ _t444 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02807700 */ rbrew_write32(cpu->mem, _t444, cpu->r[19]);
|
|
/* 02807704 */ _t445 = cpu->r[3] + 0x00000010u;
|
|
/* 02807704 */ rbrew_write32(cpu->mem, _t445, cpu->r[30]);
|
|
L_02807708: ; // 0x2807708
|
|
/* 02807708 */ cpu->r[8] = 0x10110000u;
|
|
/* 0280770C */ _t446 = cpu->r[15] + 0x0000001Cu;
|
|
/* 0280770C */ rbrew_write32(cpu->mem, _t446, cpu->r[16]);
|
|
/* 02807710 */ cpu->r[8] = cpu->r[8] + 0x000029BCu;
|
|
/* 02807714 */ _t447 = cpu->r[15] + 0x00000018u;
|
|
/* 02807714 */ rbrew_write32(cpu->mem, _t447, cpu->r[16]);
|
|
/* 02807718 */ _t448 = cpu->r[15] + 0x00000014u;
|
|
/* 02807718 */ rbrew_write32(cpu->mem, _t448, cpu->r[8]);
|
|
/* 0280771C */ _t449 = cpu->r[15] + 0x00000024u;
|
|
/* 0280771C */ rbrew_write32(cpu->mem, _t449, cpu->r[18]);
|
|
/* 02807720 */ _t450 = cpu->r[15] + 0x00000028u;
|
|
/* 02807720 */ rbrew_write32(cpu->mem, _t450, cpu->r[26]);
|
|
/* 02807724 */ _t451 = cpu->r[15] + 0x0000006Cu;
|
|
/* 02807724 */ rbrew_write8(cpu->mem, _t451, (uint8_t)cpu->r[29]);
|
|
/* 02807728 */ _t452 = cpu->r[15] + 0x00000020u;
|
|
/* 02807728 */ rbrew_write32(cpu->mem, _t452, cpu->r[17]);
|
|
/* 0280772C */ _t453 = cpu->r[1] + 0x00000030u;
|
|
/* 0280772C */ cpu->r[11] = rbrew_read32(cpu->mem, _t453);
|
|
/* 02807730 */ _t454 = cpu->r[11] + 0x00000014u;
|
|
/* 02807730 */ cpu->r[12] = rbrew_read32(cpu->mem, _t454);
|
|
/* 02807734 */ cpu->ctr = cpu->r[12];
|
|
/* 02807738 */ cpu->r[18] = cpu->r[15] + 0x0000002Cu;
|
|
/* 0280773C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807740 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02807744 */ _t455 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807744 */ cpu->r[10] = rbrew_read32(cpu->mem, _t455);
|
|
/* 02807748 */ cpu->r[12] = cpu->r[29];
|
|
/* 0280774C */ _t456 = cpu->r[10] + 0x00000000u;
|
|
/* 0280774C */ cpu->r[0] = rbrew_read8(cpu->mem, _t456);
|
|
/* 02807750 */ cpu->r[11] = 0x00000000u;
|
|
/* 02807754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02807758 */ cpu->r[4] = 0x00080000u;
|
|
/* 0280775C */ _t457 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280775C */ _t458 = _t457 & 0x00000001u;
|
|
/* 0280775C */ if (_t458) goto L_02807874; else goto L_02807760;
|
|
L_02807760: ; // 0x2807760
|
|
/* 02807760 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02807764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[4]);
|
|
/* 02807768 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0280776C */ _t459 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280776C */ _t460 = _t459 & 0x00000001u;
|
|
/* 0280776C */ if (_t460) goto L_0280778C; else goto L_02807770;
|
|
L_02807770: ; // 0x2807770
|
|
/* 02807770 */ _t461 = cpu->r[10] + 0x00000000u;
|
|
/* 02807770 */ cpu->r[5] = rbrew_read8(cpu->mem, _t461);
|
|
/* 02807774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]);
|
|
/* 02807778 */ _t462 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807778 */ _t463 = _t462 & 0x00000001u;
|
|
/* 02807778 */ if (_t463) goto L_0280777C; else goto L_02807760;
|
|
L_0280777C: ; // 0x280777c
|
|
/* 0280777C */ cpu->r[17] = cpu->r[11];
|
|
/* 02807780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000041u);
|
|
/* 02807784 */ _t464 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02807784 */ _t465 = _t464 & 0x00000001u;
|
|
/* 02807784 */ if (_t465) goto L_02807788; else goto L_02807880;
|
|
L_02807788: ; // 0x2807788
|
|
/* 02807788 */ goto L_02807884;
|
|
L_0280778C: ; // 0x280778c
|
|
/* 0280778C */ _t466 = cpu->r[1] + 0x00000030u;
|
|
/* 0280778C */ cpu->r[8] = rbrew_read32(cpu->mem, _t466);
|
|
/* 02807790 */ _t467 = cpu->r[8] + 0x00000014u;
|
|
/* 02807790 */ cpu->r[9] = rbrew_read32(cpu->mem, _t467);
|
|
/* 02807794 */ cpu->ctr = cpu->r[9];
|
|
/* 02807798 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280779C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028077A0 */ cpu->r[5] = 0x00000000u;
|
|
/* 028077A4 */ _t468 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028077A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t468);
|
|
/* 028077A8 */ cpu->r[6] = cpu->r[5];
|
|
/* 028077AC */ cpu->r[3] = cpu->r[18];
|
|
/* 028077B0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028077B4 */ _t469 = cpu->r[18] + 0x00000000u;
|
|
/* 028077B4 */ rbrew_write8(cpu->mem, _t469, (uint8_t)cpu->r[29]);
|
|
/* 028077B8 */ _t470 = cpu->r[15] + 0x0000000Cu;
|
|
/* 028077B8 */ rbrew_write32(cpu->mem, _t470, cpu->r[18]);
|
|
/* 028077BC */ _t471 = cpu->r[26] + 0x0000000Cu;
|
|
/* 028077BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t471);
|
|
/* 028077C0 */ cpu->r[5] = cpu->r[15];
|
|
/* 028077C4 */ _t472 = cpu->r[26] + 0x00000000u;
|
|
/* 028077C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t472);
|
|
/* 028077C8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028077CC */ _t473 = cpu->r[26] + 0x0000000Cu;
|
|
/* 028077CC */ rbrew_write32(cpu->mem, _t473, cpu->r[12]);
|
|
/* 028077D0 */ cpu->r[3] = cpu->r[26];
|
|
/* 028077D4 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 028077D8 */ _t474 = cpu->r[26] + 0x00000000u;
|
|
/* 028077D8 */ rbrew_write32(cpu->mem, _t474, cpu->r[3]);
|
|
/* 028077DC */ _t475 = cpu->r[3] + 0x00000008u;
|
|
/* 028077DC */ rbrew_write32(cpu->mem, _t475, cpu->r[23]);
|
|
/* 028077E0 */ cpu->r[4] = 0x10110000u;
|
|
/* 028077E4 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 028077E8 */ cpu->r[4] = cpu->r[4] + 0x00002BB4u;
|
|
/* 028077EC */ Gambit_fn_02809BAC(cpu);
|
|
/* 028077F0 */ cpu->r[5] = cpu->r[3];
|
|
/* 028077F4 */ cpu->r[3] = cpu->r[28];
|
|
/* 028077F8 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 028077FC */ Gambit_fn_02842084(cpu);
|
|
/* 02807800 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 02807804 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807808 */ Gambit_fn_02809B98(cpu);
|
|
/* 0280780C */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 02807810 */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 02807814 */ Gambit_fn_0280B854(cpu);
|
|
/* 02807818 */ cpu->r[5] = cpu->r[3];
|
|
/* 0280781C */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807820 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 02807824 */ Gambit_fn_0280B344(cpu);
|
|
/* 02807828 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280782C */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 02807830 */ Gambit_fn_0280B9DC(cpu);
|
|
/* 02807834 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807838 */ cpu->r[3] = cpu->r[1] + 0x000000E4u;
|
|
/* 0280783C */ Gambit_fn_02809B98(cpu);
|
|
/* 02807840 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807844 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02807848 */ Gambit_fn_02809B98(cpu);
|
|
/* 0280784C */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02807850 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807854 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807858 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280785C */ cpu->r[4] = 0x00000002u;
|
|
/* 02807860 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807864 */ _t476 = cpu->r[28] + 0x00000004u;
|
|
/* 02807864 */ cpu->r[28] = rbrew_read32(cpu->mem, _t476);
|
|
/* 02807868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0280786C */ _t477 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280786C */ _t478 = _t477 & 0x00000001u;
|
|
/* 0280786C */ if (_t478) goto L_0280859C; else goto L_02807870;
|
|
L_02807870: ; // 0x2807870
|
|
/* 02807870 */ goto L_02808584;
|
|
L_02807874: ; // 0x2807874
|
|
/* 02807874 */ cpu->r[17] = cpu->r[11];
|
|
/* 02807878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000041u);
|
|
/* 0280787C */ _t479 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280787C */ _t480 = _t479 & 0x00000001u;
|
|
/* 0280787C */ if (_t480) goto L_02807884; else goto L_02807880;
|
|
L_02807880: ; // 0x2807880
|
|
/* 02807880 */ cpu->r[17] = 0x00000040u;
|
|
L_02807884: ; // 0x2807884
|
|
/* 02807884 */ _t481 = cpu->r[1] + 0x00000030u;
|
|
/* 02807884 */ cpu->r[8] = rbrew_read32(cpu->mem, _t481);
|
|
/* 02807888 */ _t482 = cpu->r[8] + 0x00000014u;
|
|
/* 02807888 */ cpu->r[9] = rbrew_read32(cpu->mem, _t482);
|
|
/* 0280788C */ cpu->ctr = cpu->r[9];
|
|
/* 02807890 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807894 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02807898 */ _t483 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807898 */ cpu->r[4] = rbrew_read32(cpu->mem, _t483);
|
|
/* 0280789C */ cpu->r[3] = cpu->r[18];
|
|
/* 028078A0 */ cpu->r[5] = cpu->r[17];
|
|
/* 028078A4 */ cpu->r[6] = 0x00000000u;
|
|
/* 028078A8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028078AC */ _t484 = cpu->r[18] + cpu->r[17];
|
|
/* 028078AC */ rbrew_write8(cpu->mem, _t484, (uint8_t)cpu->r[29]);
|
|
/* 028078B0 */ _t485 = cpu->r[15] + 0x0000000Cu;
|
|
/* 028078B0 */ rbrew_write32(cpu->mem, _t485, cpu->r[18]);
|
|
/* 028078B4 */ _t486 = cpu->r[26] + 0x0000000Cu;
|
|
/* 028078B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t486);
|
|
/* 028078B8 */ cpu->r[5] = cpu->r[15];
|
|
/* 028078BC */ _t487 = cpu->r[26] + 0x00000000u;
|
|
/* 028078BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t487);
|
|
/* 028078C0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028078C4 */ _t488 = cpu->r[26] + 0x0000000Cu;
|
|
/* 028078C4 */ rbrew_write32(cpu->mem, _t488, cpu->r[12]);
|
|
/* 028078C8 */ cpu->r[3] = cpu->r[26];
|
|
/* 028078CC */ Gambit_fn_020EFDC4(cpu);
|
|
/* 028078D0 */ _t489 = cpu->r[26] + 0x00000000u;
|
|
/* 028078D0 */ rbrew_write32(cpu->mem, _t489, cpu->r[3]);
|
|
/* 028078D4 */ _t490 = cpu->r[3] + 0x00000008u;
|
|
/* 028078D4 */ rbrew_write32(cpu->mem, _t490, cpu->r[23]);
|
|
/* 028078D8 */ cpu->r[4] = 0x10110000u;
|
|
/* 028078DC */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 028078E0 */ cpu->r[4] = cpu->r[4] + 0x00002BB4u;
|
|
/* 028078E4 */ Gambit_fn_02809BAC(cpu);
|
|
/* 028078E8 */ cpu->r[5] = cpu->r[3];
|
|
/* 028078EC */ cpu->r[3] = cpu->r[28];
|
|
/* 028078F0 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 028078F4 */ Gambit_fn_02842084(cpu);
|
|
/* 028078F8 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 028078FC */ cpu->r[4] = 0x00000002u;
|
|
/* 02807900 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807904 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 02807908 */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 0280790C */ Gambit_fn_0280B854(cpu);
|
|
/* 02807910 */ cpu->r[5] = cpu->r[3];
|
|
/* 02807914 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807918 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 0280791C */ Gambit_fn_0280B344(cpu);
|
|
/* 02807920 */ cpu->r[4] = 0x00000000u;
|
|
/* 02807924 */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 02807928 */ Gambit_fn_0280B9DC(cpu);
|
|
/* 0280792C */ cpu->r[4] = 0x00000002u;
|
|
/* 02807930 */ cpu->r[3] = cpu->r[1] + 0x000000E4u;
|
|
/* 02807934 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807938 */ cpu->r[4] = 0x00000002u;
|
|
/* 0280793C */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02807940 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807944 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02807948 */ cpu->r[4] = 0x00000002u;
|
|
/* 0280794C */ Gambit_fn_02809B98(cpu);
|
|
/* 02807950 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807954 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807958 */ Gambit_fn_02809B98(cpu);
|
|
/* 0280795C */ _t491 = cpu->r[28] + 0x00000004u;
|
|
/* 0280795C */ cpu->r[28] = rbrew_read32(cpu->mem, _t491);
|
|
/* 02807960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02807964 */ _t492 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807964 */ _t493 = _t492 & 0x00000001u;
|
|
/* 02807964 */ if (_t493) goto L_0280859C; else goto L_02807968;
|
|
L_02807968: ; // 0x2807968
|
|
/* 02807968 */ goto L_02808584;
|
|
L_0280796C: ; // 0x280796c
|
|
/* 0280796C */ _t494 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0280796C */ cpu->r[12] = rbrew_read32(cpu->mem, _t494);
|
|
/* 02807970 */ cpu->r[5] = 0x00000000u;
|
|
/* 02807974 */ _t495 = cpu->r[26] + 0x00000000u;
|
|
/* 02807974 */ cpu->r[4] = rbrew_read32(cpu->mem, _t495);
|
|
/* 02807978 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280797C */ cpu->r[3] = cpu->r[26];
|
|
/* 02807980 */ _t496 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02807980 */ rbrew_write32(cpu->mem, _t496, cpu->r[12]);
|
|
/* 02807984 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 02807988 */ _t497 = cpu->r[26] + 0x00000000u;
|
|
/* 02807988 */ rbrew_write32(cpu->mem, _t497, cpu->r[3]);
|
|
/* 0280798C */ _t498 = cpu->r[3] + 0x00000008u;
|
|
/* 0280798C */ rbrew_write32(cpu->mem, _t498, cpu->r[23]);
|
|
/* 02807990 */ cpu->r[4] = 0x10110000u;
|
|
/* 02807994 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 02807998 */ cpu->r[4] = cpu->r[4] + 0x00002BB4u;
|
|
/* 0280799C */ Gambit_fn_02809BAC(cpu);
|
|
/* 028079A0 */ cpu->r[5] = cpu->r[3];
|
|
/* 028079A4 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 028079A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028079AC */ Gambit_fn_02842084(cpu);
|
|
/* 028079B0 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 028079B4 */ cpu->r[4] = 0x00000002u;
|
|
/* 028079B8 */ Gambit_fn_02809B98(cpu);
|
|
/* 028079BC */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 028079C0 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 028079C4 */ Gambit_fn_0280B854(cpu);
|
|
/* 028079C8 */ cpu->r[5] = cpu->r[3];
|
|
/* 028079CC */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 028079D0 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 028079D4 */ Gambit_fn_0280B344(cpu);
|
|
/* 028079D8 */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 028079DC */ cpu->r[4] = 0x00000000u;
|
|
/* 028079E0 */ Gambit_fn_0280B9DC(cpu);
|
|
/* 028079E4 */ cpu->r[3] = cpu->r[1] + 0x000000E4u;
|
|
/* 028079E8 */ cpu->r[4] = 0x00000002u;
|
|
/* 028079EC */ Gambit_fn_02809B98(cpu);
|
|
/* 028079F0 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 028079F4 */ cpu->r[4] = 0x00000002u;
|
|
/* 028079F8 */ Gambit_fn_02809B98(cpu);
|
|
/* 028079FC */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02807A00 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807A04 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807A08 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807A0C */ cpu->r[4] = 0x00000002u;
|
|
/* 02807A10 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807A14 */ _t499 = cpu->r[28] + 0x00000004u;
|
|
/* 02807A14 */ cpu->r[28] = rbrew_read32(cpu->mem, _t499);
|
|
/* 02807A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02807A1C */ _t500 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807A1C */ _t501 = _t500 & 0x00000001u;
|
|
/* 02807A1C */ if (_t501) goto L_0280859C; else goto L_02807A20;
|
|
L_02807A20: ; // 0x2807a20
|
|
/* 02807A20 */ goto L_02808584;
|
|
L_02807A24: ; // 0x2807a24
|
|
/* 02807A24 */ _t502 = cpu->r[26] + 0x00000000u;
|
|
/* 02807A24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t502);
|
|
/* 02807A28 */ cpu->r[5] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807A2C */ cpu->r[3] = cpu->r[26];
|
|
/* 02807A30 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02807A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02807A38 */ _t503 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807A38 */ _t504 = _t503 & 0x00000001u;
|
|
/* 02807A38 */ if (_t504) goto L_02807A5C; else goto L_02807A3C;
|
|
L_02807A3C: ; // 0x2807a3c
|
|
/* 02807A3C */ cpu->r[6] = cpu->r[3] + 0x00000018u;
|
|
/* 02807A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02807A40 */ _t505 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807A40 */ _t506 = _t505 & 0x00000001u;
|
|
/* 02807A40 */ if (_t506) goto L_02807A5C; else goto L_02807A44;
|
|
L_02807A44: ; // 0x2807a44
|
|
/* 02807A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02807A48 */ _t507 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807A48 */ _t508 = _t507 & 0x00000001u;
|
|
/* 02807A48 */ if (_t508) goto L_02807A5C; else goto L_02807A4C;
|
|
L_02807A4C: ; // 0x2807a4c
|
|
/* 02807A4C */ _t509 = cpu->r[6] + 0x00000004u;
|
|
/* 02807A4C */ rbrew_write32(cpu->mem, _t509, cpu->r[16]);
|
|
/* 02807A50 */ _t510 = cpu->r[6] + 0x00000008u;
|
|
/* 02807A50 */ rbrew_write32(cpu->mem, _t510, cpu->r[17]);
|
|
/* 02807A54 */ _t511 = cpu->r[6] + 0x00000000u;
|
|
/* 02807A54 */ rbrew_write32(cpu->mem, _t511, cpu->r[16]);
|
|
/* 02807A58 */ _t512 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02807A58 */ rbrew_write32(cpu->mem, _t512, cpu->r[18]);
|
|
L_02807A5C: ; // 0x2807a5c
|
|
/* 02807A5C */ cpu->r[4] = 0x10110000u;
|
|
/* 02807A60 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 02807A64 */ cpu->r[4] = cpu->r[4] + 0x00002BB4u;
|
|
/* 02807A68 */ Gambit_fn_02809BAC(cpu);
|
|
/* 02807A6C */ cpu->r[5] = cpu->r[3];
|
|
/* 02807A70 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 02807A74 */ cpu->r[3] = cpu->r[28];
|
|
/* 02807A78 */ Gambit_fn_02842084(cpu);
|
|
/* 02807A7C */ cpu->r[4] = 0x00000002u;
|
|
/* 02807A80 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 02807A84 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807A88 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 02807A8C */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 02807A90 */ Gambit_fn_0280B854(cpu);
|
|
/* 02807A94 */ cpu->r[5] = cpu->r[3];
|
|
/* 02807A98 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 02807A9C */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807AA0 */ Gambit_fn_0280B344(cpu);
|
|
/* 02807AA4 */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 02807AA8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02807AAC */ Gambit_fn_0280B9DC(cpu);
|
|
/* 02807AB0 */ cpu->r[3] = cpu->r[1] + 0x000000E4u;
|
|
/* 02807AB4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807AB8 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807ABC */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02807AC0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807AC4 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807AC8 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02807ACC */ cpu->r[4] = 0x00000002u;
|
|
/* 02807AD0 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807AD4 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807AD8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807ADC */ Gambit_fn_02809B98(cpu);
|
|
/* 02807AE0 */ _t513 = cpu->r[28] + 0x00000004u;
|
|
/* 02807AE0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t513);
|
|
/* 02807AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02807AE8 */ _t514 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807AE8 */ _t515 = _t514 & 0x00000001u;
|
|
/* 02807AE8 */ if (_t515) goto L_0280859C; else goto L_02807AEC;
|
|
L_02807AEC: ; // 0x2807aec
|
|
/* 02807AEC */ goto L_02808584;
|
|
L_02807AF0: ; // 0x2807af0
|
|
/* 02807AF0 */ _t516 = cpu->r[1] + 0x00000020u;
|
|
/* 02807AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t516);
|
|
/* 02807AF4 */ _t517 = cpu->r[1] + 0x00000054u;
|
|
/* 02807AF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t517);
|
|
/* 02807AF8 */ _t518 = cpu->r[1] + 0x00000090u;
|
|
/* 02807AF8 */ rbrew_write32(cpu->mem, _t518, cpu->r[30]);
|
|
/* 02807AFC */ _t519 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02807AFC */ rbrew_write32(cpu->mem, _t519, cpu->r[0]);
|
|
/* 02807B00 */ _t520 = cpu->r[6] + 0x00000014u;
|
|
/* 02807B00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t520);
|
|
/* 02807B04 */ cpu->ctr = cpu->r[7];
|
|
/* 02807B08 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02807B0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02807B10 */ _t521 = cpu->r[1] + 0x00000054u;
|
|
/* 02807B10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t521);
|
|
/* 02807B14 */ _t522 = cpu->r[9] + 0x00000014u;
|
|
/* 02807B14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t522);
|
|
/* 02807B18 */ cpu->ctr = cpu->r[0];
|
|
/* 02807B1C */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02807B20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02807B24 */ _t523 = cpu->r[1] + 0x00000090u;
|
|
/* 02807B24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t523);
|
|
/* 02807B28 */ _t524 = cpu->r[11] + 0x00000014u;
|
|
/* 02807B28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t524);
|
|
/* 02807B2C */ cpu->ctr = cpu->r[12];
|
|
/* 02807B30 */ _t525 = cpu->r[1] + 0x00000050u;
|
|
/* 02807B30 */ cpu->r[18] = rbrew_read32(cpu->mem, _t525);
|
|
/* 02807B34 */ cpu->r[3] = cpu->r[1] + 0x0000008Cu;
|
|
/* 02807B38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02807B3C */ _t526 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02807B3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t526);
|
|
/* 02807B40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[18], cpu->r[0]);
|
|
/* 02807B44 */ _t527 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807B44 */ _t528 = _t527 & 0x00000001u;
|
|
/* 02807B44 */ if (_t528) goto L_02807B80; else goto L_02807B48;
|
|
L_02807B48: ; // 0x2807b48
|
|
/* 02807B48 */ _t529 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02807B48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t529);
|
|
/* 02807B4C */ cpu->ctr = cpu->r[14];
|
|
/* 02807B50 */ _t530 = cpu->r[1] + 0x00000050u;
|
|
/* 02807B50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t530);
|
|
/* 02807B54 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02807B58 */ cpu->r[0] = cpu->r[29];
|
|
L_02807B5C: ; // 0x2807b5c
|
|
/* 02807B5C */ _t531 = cpu->r[4] + 0x00000000u;
|
|
/* 02807B5C */ cpu->r[11] = rbrew_read8(cpu->mem, _t531);
|
|
/* 02807B60 */ _t532 = cpu->r[6] + 0x00000001u;
|
|
/* 02807B60 */ cpu->r[7] = rbrew_read8(cpu->mem, _t532);
|
|
/* 02807B60 */ cpu->r[6] = _t532;
|
|
/* 02807B64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[7]);
|
|
/* 02807B68 */ _t533 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807B68 */ _t534 = _t533 & 0x00000001u;
|
|
/* 02807B68 */ if (_t534) goto L_02807B6C; else goto L_02808008;
|
|
L_02807B6C: ; // 0x2807b6c
|
|
/* 02807B6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02807B70 */ _t535 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807B70 */ _t536 = _t535 & 0x00000001u;
|
|
/* 02807B70 */ if (_t536) goto L_02807B80; else goto L_02807B74;
|
|
L_02807B74: ; // 0x2807b74
|
|
/* 02807B74 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02807B78 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02807B78 */ _t537 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02807B78 */ _t538 = _t537 >> (0x00000002u & 31u);
|
|
/* 02807B78 */ _t539 = _t538 & 0x00000001u;
|
|
/* 02807B78 */ if (_t539) goto L_02807B5C; else goto L_02807B7C;
|
|
L_02807B7C: ; // 0x2807b7c
|
|
/* 02807B7C */ goto L_02808008;
|
|
L_02807B80: ; // 0x2807b80
|
|
/* 02807B80 */ _t540 = cpu->r[31] + 0x00000028u;
|
|
/* 02807B80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t540);
|
|
/* 02807B84 */ _t541 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02807B84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t541);
|
|
/* 02807B88 */ _t542 = cpu->r[1] + 0x000000B0u;
|
|
/* 02807B88 */ rbrew_write32(cpu->mem, _t542, cpu->r[23]);
|
|
/* 02807B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[9]);
|
|
/* 02807B90 */ cpu->r[18] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02807B94 */ _t543 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02807B94 */ _t544 = _t543 & 0x00000001u;
|
|
/* 02807B94 */ if (_t544) goto L_02807B98; else goto L_02807DD0;
|
|
L_02807B98: ; // 0x2807b98
|
|
/* 02807B98 */ _t545 = cpu->r[18] + 0x00000004u;
|
|
/* 02807B98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t545);
|
|
/* 02807B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02807BA0 */ _t546 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807BA0 */ _t547 = _t546 & 0x00000001u;
|
|
/* 02807BA0 */ if (_t547) goto L_02807BAC; else goto L_02807BA4;
|
|
L_02807BA4: ; // 0x2807ba4
|
|
/* 02807BA4 */ _t548 = cpu->r[9] + 0x00000000u;
|
|
/* 02807BA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t548);
|
|
/* 02807BA8 */ _t549 = cpu->r[18] + 0x00000004u;
|
|
/* 02807BA8 */ rbrew_write32(cpu->mem, _t549, cpu->r[10]);
|
|
L_02807BAC: ; // 0x2807bac
|
|
/* 02807BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02807BB0 */ _t550 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807BB0 */ _t551 = _t550 & 0x00000001u;
|
|
/* 02807BB0 */ if (_t551) goto L_02807D7C; else goto L_02807BB4;
|
|
L_02807BB4: ; // 0x2807bb4
|
|
/* 02807BB4 */ cpu->r[16] = cpu->r[9];
|
|
/* 02807BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
|
|
/* 02807BB8 */ cpu->r[3] = cpu->r[16];
|
|
/* 02807BBC */ _t552 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807BBC */ _t553 = _t552 & 0x00000001u;
|
|
/* 02807BBC */ if (_t553) goto L_02807BC0; else goto L_02807BD0;
|
|
L_02807BC0: ; // 0x2807bc0
|
|
/* 02807BC0 */ cpu->r[3] = 0x00000018u;
|
|
/* 02807BC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02807BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02807BCC */ _t554 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807BCC */ _t555 = _t554 & 0x00000001u;
|
|
/* 02807BCC */ if (_t555) goto L_02807BE8; else goto L_02807BD0;
|
|
L_02807BD0: ; // 0x2807bd0
|
|
/* 02807BD0 */ _t556 = cpu->r[3] + 0x00000014u;
|
|
/* 02807BD0 */ rbrew_write32(cpu->mem, _t556, cpu->r[22]);
|
|
/* 02807BD4 */ _t557 = cpu->r[3] + 0x00000004u;
|
|
/* 02807BD4 */ rbrew_write32(cpu->mem, _t557, cpu->r[27]);
|
|
/* 02807BD8 */ _t558 = cpu->r[3] + 0x00000008u;
|
|
/* 02807BD8 */ rbrew_write32(cpu->mem, _t558, cpu->r[27]);
|
|
/* 02807BDC */ _t559 = cpu->r[3] + 0x00000000u;
|
|
/* 02807BDC */ rbrew_write32(cpu->mem, _t559, cpu->r[27]);
|
|
/* 02807BE0 */ _t560 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02807BE0 */ rbrew_write32(cpu->mem, _t560, cpu->r[19]);
|
|
/* 02807BE4 */ _t561 = cpu->r[3] + 0x00000010u;
|
|
/* 02807BE4 */ rbrew_write32(cpu->mem, _t561, cpu->r[30]);
|
|
L_02807BE8: ; // 0x2807be8
|
|
/* 02807BE8 */ _t562 = cpu->r[1] + 0x00000008u;
|
|
/* 02807BE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t562);
|
|
/* 02807BEC */ _t563 = cpu->r[1] + 0x00000018u;
|
|
/* 02807BEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t563);
|
|
/* 02807BF0 */ _t564 = cpu->r[16] + 0x00000014u;
|
|
/* 02807BF0 */ rbrew_write32(cpu->mem, _t564, cpu->r[12]);
|
|
/* 02807BF4 */ _t565 = cpu->r[11] + 0x00000000u;
|
|
/* 02807BF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t565);
|
|
/* 02807BF8 */ _t566 = cpu->r[16] + 0x0000001Cu;
|
|
/* 02807BF8 */ rbrew_write32(cpu->mem, _t566, cpu->r[18]);
|
|
/* 02807BFC */ _t567 = cpu->r[16] + 0x00000018u;
|
|
/* 02807BFC */ rbrew_write32(cpu->mem, _t567, cpu->r[0]);
|
|
/* 02807C00 */ _t568 = cpu->r[16] + 0x00000060u;
|
|
/* 02807C00 */ rbrew_write8(cpu->mem, _t568, (uint8_t)cpu->r[29]);
|
|
/* 02807C04 */ _t569 = cpu->r[1] + 0x00000030u;
|
|
/* 02807C04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t569);
|
|
/* 02807C08 */ _t570 = cpu->r[11] + 0x00000014u;
|
|
/* 02807C08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t570);
|
|
/* 02807C0C */ cpu->ctr = cpu->r[12];
|
|
/* 02807C10 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807C14 */ cpu->r[17] = cpu->r[16] + 0x00000020u;
|
|
/* 02807C18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02807C1C */ _t571 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807C1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t571);
|
|
/* 02807C20 */ cpu->r[0] = cpu->r[29];
|
|
/* 02807C24 */ _t572 = cpu->r[7] + 0x00000000u;
|
|
/* 02807C24 */ cpu->r[4] = rbrew_read8(cpu->mem, _t572);
|
|
/* 02807C28 */ cpu->r[10] = 0x00000000u;
|
|
/* 02807C2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02807C30 */ cpu->r[9] = 0x00080000u;
|
|
/* 02807C34 */ _t573 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807C34 */ _t574 = _t573 & 0x00000001u;
|
|
/* 02807C34 */ if (_t574) goto L_02807CE8; else goto L_02807C38;
|
|
L_02807C38: ; // 0x2807c38
|
|
/* 02807C38 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02807C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 02807C40 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02807C44 */ _t575 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02807C44 */ _t576 = _t575 & 0x00000001u;
|
|
/* 02807C44 */ if (_t576) goto L_02807C64; else goto L_02807C48;
|
|
L_02807C48: ; // 0x2807c48
|
|
/* 02807C48 */ _t577 = cpu->r[7] + 0x00000000u;
|
|
/* 02807C48 */ cpu->r[5] = rbrew_read8(cpu->mem, _t577);
|
|
/* 02807C4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02807C50 */ _t578 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807C50 */ _t579 = _t578 & 0x00000001u;
|
|
/* 02807C50 */ if (_t579) goto L_02807C54; else goto L_02807C38;
|
|
L_02807C54: ; // 0x2807c54
|
|
/* 02807C54 */ cpu->r[15] = cpu->r[10];
|
|
/* 02807C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x00000041u);
|
|
/* 02807C5C */ _t580 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02807C5C */ _t581 = _t580 & 0x00000001u;
|
|
/* 02807C5C */ if (_t581) goto L_02807C60; else goto L_02807CF4;
|
|
L_02807C60: ; // 0x2807c60
|
|
/* 02807C60 */ goto L_02807CF8;
|
|
L_02807C64: ; // 0x2807c64
|
|
/* 02807C64 */ _t582 = cpu->r[1] + 0x00000030u;
|
|
/* 02807C64 */ cpu->r[6] = rbrew_read32(cpu->mem, _t582);
|
|
/* 02807C68 */ _t583 = cpu->r[6] + 0x00000014u;
|
|
/* 02807C68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t583);
|
|
/* 02807C6C */ cpu->ctr = cpu->r[7];
|
|
/* 02807C70 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807C74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02807C78 */ cpu->r[5] = 0x00000000u;
|
|
/* 02807C7C */ _t584 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807C7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t584);
|
|
/* 02807C80 */ cpu->r[6] = cpu->r[5];
|
|
/* 02807C84 */ cpu->r[3] = cpu->r[17];
|
|
/* 02807C88 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02807C8C */ _t585 = cpu->r[17] + 0x00000000u;
|
|
/* 02807C8C */ rbrew_write8(cpu->mem, _t585, (uint8_t)cpu->r[29]);
|
|
/* 02807C90 */ _t586 = cpu->r[16] + 0x0000000Cu;
|
|
/* 02807C90 */ rbrew_write32(cpu->mem, _t586, cpu->r[17]);
|
|
/* 02807C94 */ _t587 = cpu->r[18] + 0x0000000Cu;
|
|
/* 02807C94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t587);
|
|
/* 02807C98 */ cpu->r[5] = cpu->r[16];
|
|
/* 02807C9C */ _t588 = cpu->r[18] + 0x00000000u;
|
|
/* 02807C9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t588);
|
|
/* 02807CA0 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02807CA4 */ cpu->r[3] = cpu->r[18];
|
|
/* 02807CA8 */ _t589 = cpu->r[18] + 0x0000000Cu;
|
|
/* 02807CA8 */ rbrew_write32(cpu->mem, _t589, cpu->r[8]);
|
|
/* 02807CAC */ Gambit_fn_020EFDC4(cpu);
|
|
/* 02807CB0 */ _t590 = cpu->r[18] + 0x00000000u;
|
|
/* 02807CB0 */ rbrew_write32(cpu->mem, _t590, cpu->r[3]);
|
|
/* 02807CB4 */ cpu->r[4] = cpu->r[1] + 0x0000009Cu;
|
|
/* 02807CB8 */ _t591 = cpu->r[3] + 0x00000008u;
|
|
/* 02807CB8 */ rbrew_write32(cpu->mem, _t591, cpu->r[23]);
|
|
/* 02807CBC */ cpu->r[5] = cpu->r[1] + 0x00000084u;
|
|
/* 02807CC0 */ _t592 = cpu->r[1] + 0x00000084u;
|
|
/* 02807CC0 */ rbrew_write32(cpu->mem, _t592, cpu->r[21]);
|
|
/* 02807CC4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02807CC8 */ _t593 = cpu->r[1] + 0x00000088u;
|
|
/* 02807CC8 */ rbrew_write32(cpu->mem, _t593, cpu->r[30]);
|
|
/* 02807CCC */ Gambit_fn_02842084(cpu);
|
|
/* 02807CD0 */ _t594 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02807CD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t594);
|
|
/* 02807CD4 */ _t595 = cpu->r[4] + 0x00000000u;
|
|
/* 02807CD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t595);
|
|
/* 02807CD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02807CDC */ cpu->r[8] = 0x00000000u;
|
|
/* 02807CE0 */ _t596 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807CE0 */ _t597 = _t596 & 0x00000001u;
|
|
/* 02807CE0 */ if (_t597) goto L_02807CE4; else goto L_02807E68;
|
|
L_02807CE4: ; // 0x2807ce4
|
|
/* 02807CE4 */ goto L_02807E30;
|
|
L_02807CE8: ; // 0x2807ce8
|
|
/* 02807CE8 */ cpu->r[15] = cpu->r[10];
|
|
/* 02807CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], 0x00000041u);
|
|
/* 02807CF0 */ _t598 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02807CF0 */ _t599 = _t598 & 0x00000001u;
|
|
/* 02807CF0 */ if (_t599) goto L_02807CF8; else goto L_02807CF4;
|
|
L_02807CF4: ; // 0x2807cf4
|
|
/* 02807CF4 */ cpu->r[15] = 0x00000040u;
|
|
L_02807CF8: ; // 0x2807cf8
|
|
/* 02807CF8 */ _t600 = cpu->r[1] + 0x00000030u;
|
|
/* 02807CF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t600);
|
|
/* 02807CFC */ _t601 = cpu->r[6] + 0x00000014u;
|
|
/* 02807CFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t601);
|
|
/* 02807D00 */ cpu->ctr = cpu->r[7];
|
|
/* 02807D04 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807D08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02807D0C */ _t602 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807D0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t602);
|
|
/* 02807D10 */ cpu->r[3] = cpu->r[17];
|
|
/* 02807D14 */ cpu->r[5] = cpu->r[15];
|
|
/* 02807D18 */ cpu->r[6] = 0x00000000u;
|
|
/* 02807D1C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02807D20 */ _t603 = cpu->r[17] + cpu->r[15];
|
|
/* 02807D20 */ rbrew_write8(cpu->mem, _t603, (uint8_t)cpu->r[29]);
|
|
/* 02807D24 */ _t604 = cpu->r[16] + 0x0000000Cu;
|
|
/* 02807D24 */ rbrew_write32(cpu->mem, _t604, cpu->r[17]);
|
|
/* 02807D28 */ _t605 = cpu->r[18] + 0x0000000Cu;
|
|
/* 02807D28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t605);
|
|
/* 02807D2C */ cpu->r[5] = cpu->r[16];
|
|
/* 02807D30 */ _t606 = cpu->r[18] + 0x00000000u;
|
|
/* 02807D30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t606);
|
|
/* 02807D34 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02807D38 */ cpu->r[3] = cpu->r[18];
|
|
/* 02807D3C */ _t607 = cpu->r[18] + 0x0000000Cu;
|
|
/* 02807D3C */ rbrew_write32(cpu->mem, _t607, cpu->r[8]);
|
|
/* 02807D40 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 02807D44 */ _t608 = cpu->r[18] + 0x00000000u;
|
|
/* 02807D44 */ rbrew_write32(cpu->mem, _t608, cpu->r[3]);
|
|
/* 02807D48 */ cpu->r[4] = cpu->r[1] + 0x0000009Cu;
|
|
/* 02807D4C */ _t609 = cpu->r[3] + 0x00000008u;
|
|
/* 02807D4C */ rbrew_write32(cpu->mem, _t609, cpu->r[23]);
|
|
/* 02807D50 */ cpu->r[5] = cpu->r[1] + 0x00000084u;
|
|
/* 02807D54 */ _t610 = cpu->r[1] + 0x00000084u;
|
|
/* 02807D54 */ rbrew_write32(cpu->mem, _t610, cpu->r[21]);
|
|
/* 02807D58 */ cpu->r[3] = cpu->r[28];
|
|
/* 02807D5C */ _t611 = cpu->r[1] + 0x00000088u;
|
|
/* 02807D5C */ rbrew_write32(cpu->mem, _t611, cpu->r[30]);
|
|
/* 02807D60 */ Gambit_fn_02842084(cpu);
|
|
/* 02807D64 */ _t612 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02807D64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t612);
|
|
/* 02807D68 */ _t613 = cpu->r[4] + 0x00000000u;
|
|
/* 02807D68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t613);
|
|
/* 02807D6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02807D70 */ cpu->r[8] = 0x00000000u;
|
|
/* 02807D74 */ _t614 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807D74 */ _t615 = _t614 & 0x00000001u;
|
|
/* 02807D74 */ if (_t615) goto L_02807D78; else goto L_02807E68;
|
|
L_02807D78: ; // 0x2807d78
|
|
/* 02807D78 */ goto L_02807E30;
|
|
L_02807D7C: ; // 0x2807d7c
|
|
/* 02807D7C */ _t616 = cpu->r[18] + 0x0000000Cu;
|
|
/* 02807D7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t616);
|
|
/* 02807D80 */ cpu->r[5] = 0x00000000u;
|
|
/* 02807D84 */ _t617 = cpu->r[18] + 0x00000000u;
|
|
/* 02807D84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t617);
|
|
/* 02807D88 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02807D8C */ cpu->r[3] = cpu->r[18];
|
|
/* 02807D90 */ _t618 = cpu->r[18] + 0x0000000Cu;
|
|
/* 02807D90 */ rbrew_write32(cpu->mem, _t618, cpu->r[8]);
|
|
/* 02807D94 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 02807D98 */ _t619 = cpu->r[18] + 0x00000000u;
|
|
/* 02807D98 */ rbrew_write32(cpu->mem, _t619, cpu->r[3]);
|
|
/* 02807D9C */ _t620 = cpu->r[3] + 0x00000008u;
|
|
/* 02807D9C */ rbrew_write32(cpu->mem, _t620, cpu->r[23]);
|
|
/* 02807DA0 */ cpu->r[4] = cpu->r[1] + 0x0000009Cu;
|
|
/* 02807DA4 */ _t621 = cpu->r[1] + 0x00000088u;
|
|
/* 02807DA4 */ rbrew_write32(cpu->mem, _t621, cpu->r[30]);
|
|
/* 02807DA8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02807DAC */ cpu->r[5] = cpu->r[1] + 0x00000084u;
|
|
/* 02807DB0 */ _t622 = cpu->r[1] + 0x00000084u;
|
|
/* 02807DB0 */ rbrew_write32(cpu->mem, _t622, cpu->r[21]);
|
|
/* 02807DB4 */ Gambit_fn_02842084(cpu);
|
|
/* 02807DB8 */ _t623 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02807DB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t623);
|
|
/* 02807DBC */ _t624 = cpu->r[4] + 0x00000000u;
|
|
/* 02807DBC */ cpu->r[0] = rbrew_read8(cpu->mem, _t624);
|
|
/* 02807DC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02807DC4 */ cpu->r[8] = 0x00000000u;
|
|
/* 02807DC8 */ _t625 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807DC8 */ _t626 = _t625 & 0x00000001u;
|
|
/* 02807DC8 */ if (_t626) goto L_02807DCC; else goto L_02807E68;
|
|
L_02807DCC: ; // 0x2807dcc
|
|
/* 02807DCC */ goto L_02807E30;
|
|
L_02807DD0: ; // 0x2807dd0
|
|
/* 02807DD0 */ _t627 = cpu->r[18] + 0x00000000u;
|
|
/* 02807DD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t627);
|
|
/* 02807DD4 */ cpu->r[5] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807DD8 */ cpu->r[3] = cpu->r[18];
|
|
/* 02807DDC */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02807DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02807DE4 */ _t628 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807DE4 */ _t629 = _t628 & 0x00000001u;
|
|
/* 02807DE4 */ if (_t629) goto L_02807E04; else goto L_02807DE8;
|
|
L_02807DE8: ; // 0x2807de8
|
|
/* 02807DE8 */ cpu->r[8] = cpu->r[3] + 0x00000018u;
|
|
/* 02807DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02807DEC */ _t630 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807DEC */ _t631 = _t630 & 0x00000001u;
|
|
/* 02807DEC */ if (_t631) goto L_02807E04; else goto L_02807DF0;
|
|
L_02807DF0: ; // 0x2807df0
|
|
/* 02807DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02807DF4 */ _t632 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807DF4 */ _t633 = _t632 & 0x00000001u;
|
|
/* 02807DF4 */ if (_t633) goto L_02807E04; else goto L_02807DF8;
|
|
L_02807DF8: ; // 0x2807df8
|
|
/* 02807DF8 */ _t634 = cpu->r[1] + 0x00000018u;
|
|
/* 02807DF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t634);
|
|
/* 02807DFC */ _t635 = cpu->r[10] + 0x00000000u;
|
|
/* 02807DFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t635);
|
|
/* 02807E00 */ _t636 = cpu->r[8] + 0x00000000u;
|
|
/* 02807E00 */ rbrew_write32(cpu->mem, _t636, cpu->r[11]);
|
|
L_02807E04: ; // 0x2807e04
|
|
/* 02807E04 */ _t637 = cpu->r[1] + 0x00000088u;
|
|
/* 02807E04 */ rbrew_write32(cpu->mem, _t637, cpu->r[30]);
|
|
/* 02807E08 */ cpu->r[3] = cpu->r[28];
|
|
/* 02807E0C */ cpu->r[4] = cpu->r[1] + 0x0000009Cu;
|
|
/* 02807E10 */ _t638 = cpu->r[1] + 0x00000084u;
|
|
/* 02807E10 */ rbrew_write32(cpu->mem, _t638, cpu->r[21]);
|
|
/* 02807E14 */ cpu->r[5] = cpu->r[1] + 0x00000084u;
|
|
/* 02807E18 */ Gambit_fn_02842084(cpu);
|
|
/* 02807E1C */ _t639 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02807E1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t639);
|
|
/* 02807E20 */ _t640 = cpu->r[4] + 0x00000000u;
|
|
/* 02807E20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t640);
|
|
/* 02807E24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02807E28 */ cpu->r[8] = 0x00000000u;
|
|
/* 02807E2C */ _t641 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807E2C */ _t642 = _t641 & 0x00000001u;
|
|
/* 02807E2C */ if (_t642) goto L_02807E30; else goto L_02807E68;
|
|
L_02807E30: ; // 0x2807e30
|
|
/* 02807E30 */ cpu->r[3] = 0x00000000u;
|
|
/* 02807E34 */ _t643 = cpu->r[1] + 0x00000068u;
|
|
/* 02807E34 */ rbrew_write32(cpu->mem, _t643, cpu->r[30]);
|
|
/* 02807E38 */ cpu->r[4] = cpu->r[1] + 0x000000A4u;
|
|
/* 02807E3C */ cpu->r[5] = cpu->r[1] + 0x00000064u;
|
|
/* 02807E40 */ _t644 = cpu->r[1] + 0x000000C0u;
|
|
/* 02807E40 */ rbrew_write32(cpu->mem, _t644, cpu->r[3]);
|
|
/* 02807E44 */ cpu->r[3] = cpu->r[28];
|
|
/* 02807E48 */ _t645 = cpu->r[1] + 0x00000064u;
|
|
/* 02807E48 */ rbrew_write32(cpu->mem, _t645, cpu->r[20]);
|
|
/* 02807E4C */ Gambit_fn_02842084(cpu);
|
|
/* 02807E50 */ cpu->r[3] = cpu->r[1] + 0x000000A4u;
|
|
/* 02807E54 */ cpu->r[18] = 0x00000000u;
|
|
/* 02807E58 */ Gambit_fn_02809CE4(cpu);
|
|
/* 02807E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02807E60 */ _t646 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807E60 */ _t647 = _t646 & 0x00000001u;
|
|
/* 02807E60 */ if (_t647) goto L_02807ED0; else goto L_02807E64;
|
|
L_02807E64: ; // 0x2807e64
|
|
/* 02807E64 */ goto L_02807EBC;
|
|
L_02807E68: ; // 0x2807e68
|
|
/* 02807E68 */ _t648 = cpu->r[1] + 0x00000068u;
|
|
/* 02807E68 */ rbrew_write32(cpu->mem, _t648, cpu->r[30]);
|
|
/* 02807E6C */ cpu->r[3] = cpu->r[31];
|
|
/* 02807E70 */ cpu->r[4] = cpu->r[1] + 0x0000009Cu;
|
|
/* 02807E74 */ cpu->r[6] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807E78 */ cpu->r[5] = 0x00000000u;
|
|
/* 02807E7C */ cpu->r[8] = 0x00000001u;
|
|
/* 02807E80 */ cpu->r[7] = cpu->r[1] + 0x00000064u;
|
|
/* 02807E84 */ _t649 = cpu->r[1] + 0x00000064u;
|
|
/* 02807E84 */ rbrew_write32(cpu->mem, _t649, cpu->r[21]);
|
|
/* 02807E88 */ Gambit_fn_0280688C(cpu);
|
|
/* 02807E8C */ cpu->r[4] = cpu->r[1] + 0x000000A4u;
|
|
/* 02807E90 */ _t650 = cpu->r[1] + 0x000000C0u;
|
|
/* 02807E90 */ rbrew_write32(cpu->mem, _t650, cpu->r[3]);
|
|
/* 02807E94 */ cpu->r[3] = cpu->r[28];
|
|
/* 02807E98 */ _t651 = cpu->r[1] + 0x00000068u;
|
|
/* 02807E98 */ rbrew_write32(cpu->mem, _t651, cpu->r[30]);
|
|
/* 02807E9C */ cpu->r[5] = cpu->r[1] + 0x00000064u;
|
|
/* 02807EA0 */ _t652 = cpu->r[1] + 0x00000064u;
|
|
/* 02807EA0 */ rbrew_write32(cpu->mem, _t652, cpu->r[20]);
|
|
/* 02807EA4 */ Gambit_fn_02842084(cpu);
|
|
/* 02807EA8 */ cpu->r[3] = cpu->r[1] + 0x000000A4u;
|
|
/* 02807EAC */ cpu->r[18] = 0x00000000u;
|
|
/* 02807EB0 */ Gambit_fn_02809CE4(cpu);
|
|
/* 02807EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02807EB8 */ _t653 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807EB8 */ _t654 = _t653 & 0x00000001u;
|
|
/* 02807EB8 */ if (_t654) goto L_02807ED0; else goto L_02807EBC;
|
|
L_02807EBC: ; // 0x2807ebc
|
|
/* 02807EBC */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02807EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 02807EC4 */ _t655 = cpu->r[1] + 0x000000C4u;
|
|
/* 02807EC4 */ rbrew_write32(cpu->mem, _t655, cpu->r[3]);
|
|
/* 02807EC8 */ _t656 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02807EC8 */ _t657 = _t656 & 0x00000001u;
|
|
/* 02807EC8 */ if (_t657) goto L_02807F0C; else goto L_02807ECC;
|
|
L_02807ECC: ; // 0x2807ecc
|
|
/* 02807ECC */ goto L_02807F00;
|
|
L_02807ED0: ; // 0x2807ed0
|
|
/* 02807ED0 */ cpu->r[4] = cpu->r[20];
|
|
/* 02807ED4 */ cpu->r[3] = cpu->r[1] + 0x00000084u;
|
|
/* 02807ED8 */ Gambit_fn_02809BAC(cpu);
|
|
/* 02807EDC */ cpu->r[18] = 0x00000001u;
|
|
/* 02807EE0 */ cpu->r[7] = cpu->r[1] + 0x00000084u;
|
|
/* 02807EE4 */ cpu->r[6] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807EE8 */ cpu->r[8] = cpu->r[18];
|
|
/* 02807EEC */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02807EF0 */ cpu->r[4] = cpu->r[1] + 0x000000A4u;
|
|
/* 02807EF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02807EF8 */ Gambit_fn_0280688C(cpu);
|
|
/* 02807EFC */ _t658 = cpu->r[1] + 0x000000C4u;
|
|
/* 02807EFC */ rbrew_write32(cpu->mem, _t658, cpu->r[3]);
|
|
L_02807F00: ; // 0x2807f00
|
|
/* 02807F00 */ cpu->r[3] = cpu->r[1] + 0x00000084u;
|
|
/* 02807F04 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807F08 */ Gambit_fn_02809B98(cpu);
|
|
L_02807F0C: ; // 0x2807f0c
|
|
/* 02807F0C */ cpu->r[3] = cpu->r[1] + 0x00000064u;
|
|
/* 02807F10 */ cpu->r[4] = cpu->r[26];
|
|
/* 02807F14 */ Gambit_fn_02809BAC(cpu);
|
|
/* 02807F18 */ cpu->r[7] = cpu->r[3];
|
|
/* 02807F1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02807F20 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02807F24 */ cpu->r[5] = 0x00000000u;
|
|
/* 02807F28 */ cpu->r[6] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807F2C */ cpu->r[8] = 0x00000001u;
|
|
/* 02807F30 */ Gambit_fn_0280688C(cpu);
|
|
/* 02807F34 */ _t659 = cpu->r[1] + 0x000000B8u;
|
|
/* 02807F34 */ rbrew_write32(cpu->mem, _t659, cpu->r[3]);
|
|
/* 02807F38 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807F3C */ cpu->r[3] = cpu->r[1] + 0x00000064u;
|
|
/* 02807F40 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807F44 */ _t660 = cpu->r[1] + 0x000000B8u;
|
|
/* 02807F44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t660);
|
|
/* 02807F48 */ cpu->r[3] = cpu->r[31] + 0x00000058u;
|
|
/* 02807F4C */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807F50 */ cpu->r[5] = cpu->r[1] + 0x000000B8u;
|
|
/* 02807F54 */ _t661 = cpu->r[1] + 0x000000BCu;
|
|
/* 02807F54 */ rbrew_write32(cpu->mem, _t661, cpu->r[0]);
|
|
/* 02807F58 */ Gambit_fn_0280A1E8(cpu);
|
|
/* 02807F5C */ cpu->r[3] = cpu->r[1] + 0x000000A4u;
|
|
/* 02807F60 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807F64 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807F68 */ cpu->r[3] = cpu->r[1] + 0x0000009Cu;
|
|
/* 02807F6C */ cpu->r[4] = 0x00000002u;
|
|
/* 02807F70 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807F74 */ cpu->r[4] = 0x10110000u;
|
|
/* 02807F78 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 02807F7C */ cpu->r[4] = cpu->r[4] + 0x00002BB4u;
|
|
/* 02807F80 */ Gambit_fn_02809BAC(cpu);
|
|
/* 02807F84 */ cpu->r[5] = cpu->r[3];
|
|
/* 02807F88 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 02807F8C */ cpu->r[3] = cpu->r[28];
|
|
/* 02807F90 */ Gambit_fn_02842084(cpu);
|
|
/* 02807F94 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807F98 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 02807F9C */ Gambit_fn_02809B98(cpu);
|
|
/* 02807FA0 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 02807FA4 */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 02807FA8 */ Gambit_fn_0280B854(cpu);
|
|
/* 02807FAC */ cpu->r[5] = cpu->r[3];
|
|
/* 02807FB0 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807FB4 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 02807FB8 */ Gambit_fn_0280B344(cpu);
|
|
/* 02807FBC */ cpu->r[4] = 0x00000000u;
|
|
/* 02807FC0 */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 02807FC4 */ Gambit_fn_0280B9DC(cpu);
|
|
/* 02807FC8 */ cpu->r[3] = cpu->r[1] + 0x000000E4u;
|
|
/* 02807FCC */ cpu->r[4] = 0x00000002u;
|
|
/* 02807FD0 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807FD4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807FD8 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02807FDC */ Gambit_fn_02809B98(cpu);
|
|
/* 02807FE0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02807FE4 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02807FE8 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807FEC */ cpu->r[4] = 0x00000002u;
|
|
/* 02807FF0 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02807FF4 */ Gambit_fn_02809B98(cpu);
|
|
/* 02807FF8 */ _t662 = cpu->r[28] + 0x00000004u;
|
|
/* 02807FF8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t662);
|
|
/* 02807FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02808000 */ _t663 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808000 */ _t664 = _t663 & 0x00000001u;
|
|
/* 02808000 */ if (_t664) goto L_0280859C; else goto L_02808004;
|
|
L_02808004: ; // 0x2808004
|
|
/* 02808004 */ goto L_02808584;
|
|
L_02808008: ; // 0x2808008
|
|
/* 02808008 */ _t665 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02808008 */ cpu->r[4] = rbrew_read32(cpu->mem, _t665);
|
|
/* 0280800C */ cpu->r[3] = cpu->r[1] + 0x000000ECu;
|
|
/* 02808010 */ Gambit_fn_02809BAC(cpu);
|
|
/* 02808014 */ cpu->r[4] = cpu->r[3];
|
|
/* 02808018 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 0280801C */ Gambit_fn_02809BFC(cpu);
|
|
/* 02808020 */ cpu->r[18] = cpu->r[3];
|
|
/* 02808024 */ cpu->r[3] = cpu->r[1] + 0x000000ECu;
|
|
/* 02808028 */ cpu->r[4] = 0x00000002u;
|
|
/* 0280802C */ Gambit_fn_02809B98(cpu);
|
|
/* 02808030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 02808034 */ _t666 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808034 */ _t667 = _t666 & 0x00000001u;
|
|
/* 02808034 */ if (_t667) goto L_0280825C; else goto L_02808038;
|
|
L_02808038: ; // 0x2808038
|
|
/* 02808038 */ cpu->r[18] = 0x00000002u;
|
|
/* 0280803C */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02808040 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808044 */ cpu->r[5] = cpu->r[1] + 0x000000B4u;
|
|
/* 02808048 */ _t668 = cpu->r[1] + 0x000000B4u;
|
|
/* 02808048 */ rbrew_write32(cpu->mem, _t668, cpu->r[18]);
|
|
/* 0280804C */ Gambit_fn_02809E14(cpu);
|
|
/* 02808050 */ cpu->r[4] = cpu->r[21];
|
|
/* 02808054 */ cpu->r[3] = cpu->r[1] + 0x00000084u;
|
|
/* 02808058 */ Gambit_fn_02809BAC(cpu);
|
|
/* 0280805C */ cpu->r[5] = cpu->r[3];
|
|
/* 02808060 */ cpu->r[3] = cpu->r[28];
|
|
/* 02808064 */ cpu->r[4] = cpu->r[1] + 0x000000B8u;
|
|
/* 02808068 */ Gambit_fn_02842084(cpu);
|
|
/* 0280806C */ cpu->r[3] = cpu->r[1] + 0x00000084u;
|
|
/* 02808070 */ cpu->r[4] = cpu->r[18];
|
|
/* 02808074 */ Gambit_fn_02809B98(cpu);
|
|
/* 02808078 */ cpu->r[3] = cpu->r[1] + 0x000000B8u;
|
|
/* 0280807C */ cpu->r[18] = 0x00000000u;
|
|
/* 02808080 */ Gambit_fn_02809CE4(cpu);
|
|
/* 02808084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02808088 */ _t669 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808088 */ _t670 = _t669 & 0x00000001u;
|
|
/* 02808088 */ if (_t670) goto L_0280809C; else goto L_0280808C;
|
|
L_0280808C: ; // 0x280808c
|
|
/* 0280808C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 02808090 */ _t671 = cpu->r[1] + 0x000000A4u;
|
|
/* 02808090 */ rbrew_write_f32(cpu->mem, _t671, cpu->f[31]);
|
|
/* 02808094 */ _t672 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808094 */ _t673 = _t672 & 0x00000001u;
|
|
/* 02808094 */ if (_t673) goto L_028080D8; else goto L_02808098;
|
|
L_02808098: ; // 0x2808098
|
|
/* 02808098 */ goto L_028080CC;
|
|
L_0280809C: ; // 0x280809c
|
|
/* 0280809C */ cpu->r[4] = cpu->r[21];
|
|
/* 028080A0 */ cpu->r[3] = cpu->r[1] + 0x00000064u;
|
|
/* 028080A4 */ Gambit_fn_02809BAC(cpu);
|
|
/* 028080A8 */ cpu->f[1] = cpu->f[31];
|
|
/* 028080AC */ cpu->r[18] = 0x00000001u;
|
|
/* 028080B0 */ cpu->r[6] = cpu->r[1] + 0x00000064u;
|
|
/* 028080B4 */ cpu->r[5] = cpu->r[1] + 0x0000002Cu;
|
|
/* 028080B8 */ cpu->r[7] = cpu->r[18];
|
|
/* 028080BC */ cpu->r[4] = cpu->r[1] + 0x000000B8u;
|
|
/* 028080C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028080C4 */ Gambit_fn_0280697C(cpu);
|
|
/* 028080C8 */ _t674 = cpu->r[1] + 0x000000A4u;
|
|
/* 028080C8 */ rbrew_write_f32(cpu->mem, _t674, cpu->f[1]);
|
|
L_028080CC: ; // 0x28080cc
|
|
/* 028080CC */ cpu->r[3] = cpu->r[1] + 0x00000064u;
|
|
/* 028080D0 */ cpu->r[4] = 0x00000002u;
|
|
/* 028080D4 */ Gambit_fn_02809B98(cpu);
|
|
L_028080D8: ; // 0x28080d8
|
|
/* 028080D8 */ cpu->r[4] = cpu->r[20];
|
|
/* 028080DC */ cpu->r[3] = cpu->r[1] + 0x00000064u;
|
|
/* 028080E0 */ Gambit_fn_02809BAC(cpu);
|
|
/* 028080E4 */ cpu->r[5] = cpu->r[3];
|
|
/* 028080E8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028080EC */ cpu->r[4] = cpu->r[1] + 0x000000C0u;
|
|
/* 028080F0 */ Gambit_fn_02842084(cpu);
|
|
/* 028080F4 */ cpu->r[3] = cpu->r[1] + 0x00000064u;
|
|
/* 028080F8 */ cpu->r[4] = 0x00000002u;
|
|
/* 028080FC */ Gambit_fn_02809B98(cpu);
|
|
/* 02808100 */ cpu->r[3] = cpu->r[1] + 0x000000C0u;
|
|
/* 02808104 */ cpu->r[18] = 0x00000000u;
|
|
/* 02808108 */ Gambit_fn_02809CE4(cpu);
|
|
/* 0280810C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02808110 */ _t675 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808110 */ _t676 = _t675 & 0x00000001u;
|
|
/* 02808110 */ if (_t676) goto L_02808124; else goto L_02808114;
|
|
L_02808114: ; // 0x2808114
|
|
/* 02808114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 02808118 */ _t677 = cpu->r[1] + 0x000000A8u;
|
|
/* 02808118 */ rbrew_write_f32(cpu->mem, _t677, cpu->f[29]);
|
|
/* 0280811C */ _t678 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280811C */ _t679 = _t678 & 0x00000001u;
|
|
/* 0280811C */ if (_t679) goto L_02808160; else goto L_02808120;
|
|
L_02808120: ; // 0x2808120
|
|
/* 02808120 */ goto L_02808154;
|
|
L_02808124: ; // 0x2808124
|
|
/* 02808124 */ cpu->r[4] = cpu->r[20];
|
|
/* 02808128 */ cpu->r[3] = cpu->r[1] + 0x00000084u;
|
|
/* 0280812C */ Gambit_fn_02809BAC(cpu);
|
|
/* 02808130 */ cpu->f[1] = cpu->f[29];
|
|
/* 02808134 */ cpu->r[18] = 0x00000001u;
|
|
/* 02808138 */ cpu->r[6] = cpu->r[1] + 0x00000084u;
|
|
/* 0280813C */ cpu->r[5] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808140 */ cpu->r[7] = cpu->r[18];
|
|
/* 02808144 */ cpu->r[4] = cpu->r[1] + 0x000000C0u;
|
|
/* 02808148 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280814C */ Gambit_fn_0280697C(cpu);
|
|
/* 02808150 */ _t680 = cpu->r[1] + 0x000000A8u;
|
|
/* 02808150 */ rbrew_write_f32(cpu->mem, _t680, cpu->f[1]);
|
|
L_02808154: ; // 0x2808154
|
|
/* 02808154 */ cpu->r[3] = cpu->r[1] + 0x00000084u;
|
|
/* 02808158 */ cpu->r[4] = 0x00000002u;
|
|
/* 0280815C */ Gambit_fn_02809B98(cpu);
|
|
L_02808160: ; // 0x2808160
|
|
/* 02808160 */ cpu->r[3] = cpu->r[1] + 0x00000064u;
|
|
/* 02808164 */ cpu->r[4] = cpu->r[26];
|
|
/* 02808168 */ Gambit_fn_02809BAC(cpu);
|
|
/* 0280816C */ cpu->r[6] = cpu->r[3];
|
|
/* 02808170 */ cpu->f[1] = cpu->f[30];
|
|
/* 02808174 */ cpu->r[3] = cpu->r[31];
|
|
/* 02808178 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 0280817C */ cpu->r[5] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808180 */ cpu->r[7] = 0x00000001u;
|
|
/* 02808184 */ Gambit_fn_0280697C(cpu);
|
|
/* 02808188 */ cpu->r[4] = 0x00000002u;
|
|
/* 0280818C */ cpu->r[3] = cpu->r[1] + 0x00000064u;
|
|
/* 02808190 */ _t681 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02808190 */ rbrew_write_f32(cpu->mem, _t681, cpu->f[1]);
|
|
/* 02808194 */ Gambit_fn_02809B98(cpu);
|
|
/* 02808198 */ _t682 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02808198 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t682);
|
|
/* 0280819C */ cpu->r[3] = cpu->r[31] + 0x0000006Cu;
|
|
/* 028081A0 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 028081A4 */ cpu->r[5] = cpu->r[1] + 0x0000009Cu;
|
|
/* 028081A8 */ _t683 = cpu->r[1] + 0x000000A0u;
|
|
/* 028081A8 */ rbrew_write_f32(cpu->mem, _t683, cpu->f[0]);
|
|
/* 028081AC */ Gambit_fn_0280A488(cpu);
|
|
/* 028081B0 */ cpu->r[3] = cpu->r[1] + 0x000000C0u;
|
|
/* 028081B4 */ cpu->r[4] = 0x00000002u;
|
|
/* 028081B8 */ Gambit_fn_02809B98(cpu);
|
|
/* 028081BC */ cpu->r[3] = cpu->r[1] + 0x000000B8u;
|
|
/* 028081C0 */ cpu->r[4] = 0x00000002u;
|
|
/* 028081C4 */ Gambit_fn_02809B98(cpu);
|
|
/* 028081C8 */ cpu->r[4] = 0x10110000u;
|
|
/* 028081CC */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 028081D0 */ cpu->r[4] = cpu->r[4] + 0x00002BB4u;
|
|
/* 028081D4 */ Gambit_fn_02809BAC(cpu);
|
|
/* 028081D8 */ cpu->r[5] = cpu->r[3];
|
|
/* 028081DC */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 028081E0 */ cpu->r[3] = cpu->r[28];
|
|
/* 028081E4 */ Gambit_fn_02842084(cpu);
|
|
/* 028081E8 */ cpu->r[4] = 0x00000002u;
|
|
/* 028081EC */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 028081F0 */ Gambit_fn_02809B98(cpu);
|
|
/* 028081F4 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 028081F8 */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 028081FC */ Gambit_fn_0280B854(cpu);
|
|
/* 02808200 */ cpu->r[5] = cpu->r[3];
|
|
/* 02808204 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808208 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 0280820C */ Gambit_fn_0280B344(cpu);
|
|
/* 02808210 */ cpu->r[4] = 0x00000000u;
|
|
/* 02808214 */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 02808218 */ Gambit_fn_0280B9DC(cpu);
|
|
/* 0280821C */ cpu->r[3] = cpu->r[1] + 0x000000E4u;
|
|
/* 02808220 */ cpu->r[4] = 0x00000002u;
|
|
/* 02808224 */ Gambit_fn_02809B98(cpu);
|
|
/* 02808228 */ cpu->r[4] = 0x00000002u;
|
|
/* 0280822C */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02808230 */ Gambit_fn_02809B98(cpu);
|
|
/* 02808234 */ cpu->r[4] = 0x00000002u;
|
|
/* 02808238 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 0280823C */ Gambit_fn_02809B98(cpu);
|
|
/* 02808240 */ cpu->r[4] = 0x00000002u;
|
|
/* 02808244 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808248 */ Gambit_fn_02809B98(cpu);
|
|
/* 0280824C */ _t684 = cpu->r[28] + 0x00000004u;
|
|
/* 0280824C */ cpu->r[28] = rbrew_read32(cpu->mem, _t684);
|
|
/* 02808250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02808254 */ _t685 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808254 */ _t686 = _t685 & 0x00000001u;
|
|
/* 02808254 */ if (_t686) goto L_0280859C; else goto L_02808258;
|
|
L_02808258: ; // 0x2808258
|
|
/* 02808258 */ goto L_02808584;
|
|
L_0280825C: ; // 0x280825c
|
|
/* 0280825C */ _t687 = cpu->r[1] + 0x00000014u;
|
|
/* 0280825C */ cpu->r[4] = rbrew_read32(cpu->mem, _t687);
|
|
/* 02808260 */ cpu->r[3] = cpu->r[1] + 0x000000F4u;
|
|
/* 02808264 */ Gambit_fn_02809BAC(cpu);
|
|
/* 02808268 */ cpu->r[4] = cpu->r[3];
|
|
/* 0280826C */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02808270 */ Gambit_fn_02809BFC(cpu);
|
|
/* 02808274 */ cpu->r[26] = cpu->r[3];
|
|
/* 02808278 */ cpu->r[3] = cpu->r[1] + 0x000000F4u;
|
|
/* 0280827C */ cpu->r[4] = 0x00000002u;
|
|
/* 02808280 */ Gambit_fn_02809B98(cpu);
|
|
/* 02808284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02808288 */ _t688 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808288 */ _t689 = _t688 & 0x00000001u;
|
|
/* 02808288 */ if (_t689) goto L_02808388; else goto L_0280828C;
|
|
L_0280828C: ; // 0x280828c
|
|
/* 0280828C */ cpu->r[9] = 0x00000003u;
|
|
/* 02808290 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02808294 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808298 */ cpu->r[5] = cpu->r[1] + 0x000000C8u;
|
|
/* 0280829C */ _t690 = cpu->r[1] + 0x000000C8u;
|
|
/* 0280829C */ rbrew_write32(cpu->mem, _t690, cpu->r[9]);
|
|
/* 028082A0 */ Gambit_fn_02809E14(cpu);
|
|
/* 028082A4 */ cpu->r[3] = cpu->r[1] + 0x00000114u;
|
|
/* 028082A8 */ Gambit_fn_0280A728(cpu);
|
|
/* 028082AC */ cpu->r[3] = cpu->r[1] + 0x00000164u;
|
|
/* 028082B0 */ Gambit_fn_0280A728(cpu);
|
|
/* 028082B4 */ cpu->r[3] = cpu->r[1] + 0x00000114u;
|
|
/* 028082B8 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 028082BC */ Gambit_fn_0280A80C(cpu);
|
|
/* 028082C0 */ cpu->r[4] = cpu->r[1] + 0x00000114u;
|
|
/* 028082C4 */ cpu->r[3] = cpu->r[1] + 0x00000164u;
|
|
/* 028082C8 */ Gambit_fn_0280A8D4(cpu);
|
|
/* 028082CC */ cpu->r[5] = cpu->r[1] + 0x00000114u;
|
|
/* 028082D0 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 028082D4 */ cpu->r[3] = cpu->r[31] + 0x00000080u;
|
|
/* 028082D8 */ Gambit_fn_0280A9B0(cpu);
|
|
/* 028082DC */ cpu->r[3] = cpu->r[1] + 0x00000164u;
|
|
/* 028082E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 028082E4 */ Gambit_fn_0280A99C(cpu);
|
|
/* 028082E8 */ cpu->r[3] = cpu->r[1] + 0x00000114u;
|
|
/* 028082EC */ cpu->r[4] = 0x00000000u;
|
|
/* 028082F0 */ Gambit_fn_0280A99C(cpu);
|
|
/* 028082F4 */ cpu->r[4] = 0x10110000u;
|
|
/* 028082F8 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 028082FC */ cpu->r[4] = cpu->r[4] + 0x00002BB4u;
|
|
/* 02808300 */ Gambit_fn_02809BAC(cpu);
|
|
/* 02808304 */ cpu->r[5] = cpu->r[3];
|
|
/* 02808308 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280830C */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 02808310 */ Gambit_fn_02842084(cpu);
|
|
/* 02808314 */ cpu->r[4] = 0x00000002u;
|
|
/* 02808318 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 0280831C */ Gambit_fn_02809B98(cpu);
|
|
/* 02808320 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 02808324 */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 02808328 */ Gambit_fn_0280B854(cpu);
|
|
/* 0280832C */ cpu->r[5] = cpu->r[3];
|
|
/* 02808330 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808334 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 02808338 */ Gambit_fn_0280B344(cpu);
|
|
/* 0280833C */ cpu->r[4] = 0x00000000u;
|
|
/* 02808340 */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 02808344 */ Gambit_fn_0280B9DC(cpu);
|
|
/* 02808348 */ cpu->r[3] = cpu->r[1] + 0x000000E4u;
|
|
/* 0280834C */ cpu->r[4] = 0x00000002u;
|
|
/* 02808350 */ Gambit_fn_02809B98(cpu);
|
|
/* 02808354 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02808358 */ cpu->r[4] = 0x00000002u;
|
|
/* 0280835C */ Gambit_fn_02809B98(cpu);
|
|
/* 02808360 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02808364 */ cpu->r[4] = 0x00000002u;
|
|
/* 02808368 */ Gambit_fn_02809B98(cpu);
|
|
/* 0280836C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808370 */ cpu->r[4] = 0x00000002u;
|
|
/* 02808374 */ Gambit_fn_02809B98(cpu);
|
|
/* 02808378 */ _t691 = cpu->r[28] + 0x00000004u;
|
|
/* 02808378 */ cpu->r[28] = rbrew_read32(cpu->mem, _t691);
|
|
/* 0280837C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02808380 */ _t692 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808380 */ _t693 = _t692 & 0x00000001u;
|
|
/* 02808380 */ if (_t693) goto L_0280859C; else goto L_02808384;
|
|
L_02808384: ; // 0x2808384
|
|
/* 02808384 */ goto L_02808584;
|
|
L_02808388: ; // 0x2808388
|
|
/* 02808388 */ _t694 = cpu->r[1] + 0x00000010u;
|
|
/* 02808388 */ cpu->r[4] = rbrew_read32(cpu->mem, _t694);
|
|
/* 0280838C */ cpu->r[3] = cpu->r[1] + 0x000000FCu;
|
|
/* 02808390 */ Gambit_fn_02809BAC(cpu);
|
|
/* 02808394 */ cpu->r[4] = cpu->r[3];
|
|
/* 02808398 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 0280839C */ Gambit_fn_02809BFC(cpu);
|
|
/* 028083A0 */ cpu->r[26] = cpu->r[3];
|
|
/* 028083A4 */ cpu->r[3] = cpu->r[1] + 0x000000FCu;
|
|
/* 028083A8 */ cpu->r[4] = 0x00000002u;
|
|
/* 028083AC */ Gambit_fn_02809B98(cpu);
|
|
/* 028083B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 028083B4 */ _t695 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028083B4 */ _t696 = _t695 & 0x00000001u;
|
|
/* 028083B4 */ if (_t696) goto L_028084AC; else goto L_028083B8;
|
|
L_028083B8: ; // 0x28083b8
|
|
/* 028083B8 */ cpu->r[0] = 0x00000004u;
|
|
/* 028083BC */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 028083C0 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 028083C4 */ cpu->r[5] = cpu->r[1] + 0x000000CCu;
|
|
/* 028083C8 */ _t697 = cpu->r[1] + 0x000000CCu;
|
|
/* 028083C8 */ rbrew_write32(cpu->mem, _t697, cpu->r[0]);
|
|
/* 028083CC */ Gambit_fn_02809E14(cpu);
|
|
/* 028083D0 */ cpu->r[4] = 0x10110000u;
|
|
/* 028083D4 */ cpu->r[3] = cpu->r[1] + 0x00000104u;
|
|
/* 028083D8 */ cpu->r[4] = cpu->r[4] + 0x00002B90u;
|
|
/* 028083DC */ Gambit_fn_02809BAC(cpu);
|
|
/* 028083E0 */ cpu->r[4] = cpu->r[3];
|
|
/* 028083E4 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 028083E8 */ Gambit_fn_02809BFC(cpu);
|
|
/* 028083EC */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 028083F0 */ cpu->r[3] = cpu->r[1] + 0x00000104u;
|
|
/* 028083F4 */ cpu->r[4] = 0x00000002u;
|
|
/* 028083F8 */ _t698 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028083F8 */ rbrew_write8(cpu->mem, _t698, (uint8_t)cpu->r[0]);
|
|
/* 028083FC */ Gambit_fn_02809B98(cpu);
|
|
/* 02808400 */ _t699 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02808400 */ cpu->r[7] = rbrew_read8(cpu->mem, _t699);
|
|
/* 02808404 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02808408 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280840C */ cpu->r[3] = cpu->r[31] + 0x00000094u;
|
|
/* 02808410 */ _t700 = cpu->r[1] + 0x0000003Du;
|
|
/* 02808410 */ rbrew_write8(cpu->mem, _t700, (uint8_t)cpu->r[7]);
|
|
/* 02808414 */ Gambit_fn_0280B0D0(cpu);
|
|
/* 02808418 */ cpu->r[4] = 0x10110000u;
|
|
/* 0280841C */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 02808420 */ cpu->r[4] = cpu->r[4] + 0x00002BB4u;
|
|
/* 02808424 */ Gambit_fn_02809BAC(cpu);
|
|
/* 02808428 */ cpu->r[5] = cpu->r[3];
|
|
/* 0280842C */ cpu->r[3] = cpu->r[28];
|
|
/* 02808430 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 02808434 */ Gambit_fn_02842084(cpu);
|
|
/* 02808438 */ cpu->r[4] = 0x00000002u;
|
|
/* 0280843C */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 02808440 */ Gambit_fn_02809B98(cpu);
|
|
/* 02808444 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 02808448 */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 0280844C */ Gambit_fn_0280B854(cpu);
|
|
/* 02808450 */ cpu->r[5] = cpu->r[3];
|
|
/* 02808454 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808458 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 0280845C */ Gambit_fn_0280B344(cpu);
|
|
/* 02808460 */ cpu->r[4] = 0x00000000u;
|
|
/* 02808464 */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 02808468 */ Gambit_fn_0280B9DC(cpu);
|
|
/* 0280846C */ cpu->r[4] = 0x00000002u;
|
|
/* 02808470 */ cpu->r[3] = cpu->r[1] + 0x000000E4u;
|
|
/* 02808474 */ Gambit_fn_02809B98(cpu);
|
|
/* 02808478 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 0280847C */ cpu->r[4] = 0x00000002u;
|
|
/* 02808480 */ Gambit_fn_02809B98(cpu);
|
|
/* 02808484 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02808488 */ cpu->r[4] = 0x00000002u;
|
|
/* 0280848C */ Gambit_fn_02809B98(cpu);
|
|
/* 02808490 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808494 */ cpu->r[4] = 0x00000002u;
|
|
/* 02808498 */ Gambit_fn_02809B98(cpu);
|
|
/* 0280849C */ _t701 = cpu->r[28] + 0x00000004u;
|
|
/* 0280849C */ cpu->r[28] = rbrew_read32(cpu->mem, _t701);
|
|
/* 028084A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 028084A4 */ _t702 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028084A4 */ _t703 = _t702 & 0x00000001u;
|
|
/* 028084A4 */ if (_t703) goto L_0280859C; else goto L_028084A8;
|
|
L_028084A8: ; // 0x28084a8
|
|
/* 028084A8 */ goto L_02808584;
|
|
L_028084AC: ; // 0x28084ac
|
|
/* 028084AC */ _t704 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028084AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t704);
|
|
/* 028084B0 */ cpu->r[3] = cpu->r[1] + 0x0000010Cu;
|
|
/* 028084B4 */ Gambit_fn_02809BAC(cpu);
|
|
/* 028084B8 */ cpu->r[4] = cpu->r[3];
|
|
/* 028084BC */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 028084C0 */ Gambit_fn_02809BFC(cpu);
|
|
/* 028084C4 */ cpu->r[26] = cpu->r[3];
|
|
/* 028084C8 */ cpu->r[3] = cpu->r[1] + 0x0000010Cu;
|
|
/* 028084CC */ cpu->r[4] = 0x00000002u;
|
|
/* 028084D0 */ Gambit_fn_02809B98(cpu);
|
|
/* 028084D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 028084D8 */ _t705 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028084D8 */ _t706 = _t705 & 0x00000001u;
|
|
/* 028084D8 */ if (_t706) goto L_028084F4; else goto L_028084DC;
|
|
L_028084DC: ; // 0x28084dc
|
|
/* 028084DC */ cpu->r[12] = 0x00000005u;
|
|
/* 028084E0 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 028084E4 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 028084E8 */ cpu->r[5] = cpu->r[1] + 0x000000D0u;
|
|
/* 028084EC */ _t707 = cpu->r[1] + 0x000000D0u;
|
|
/* 028084EC */ rbrew_write32(cpu->mem, _t707, cpu->r[12]);
|
|
/* 028084F0 */ Gambit_fn_02809E14(cpu);
|
|
L_028084F4: ; // 0x28084f4
|
|
/* 028084F4 */ cpu->r[4] = 0x10110000u;
|
|
/* 028084F8 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 028084FC */ cpu->r[4] = cpu->r[4] + 0x00002BB4u;
|
|
/* 02808500 */ Gambit_fn_02809BAC(cpu);
|
|
/* 02808504 */ cpu->r[5] = cpu->r[3];
|
|
/* 02808508 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 0280850C */ cpu->r[3] = cpu->r[28];
|
|
/* 02808510 */ Gambit_fn_02842084(cpu);
|
|
/* 02808514 */ cpu->r[4] = 0x00000002u;
|
|
/* 02808518 */ cpu->r[3] = cpu->r[1] + 0x00000094u;
|
|
/* 0280851C */ Gambit_fn_02809B98(cpu);
|
|
/* 02808520 */ cpu->r[4] = cpu->r[1] + 0x000000E4u;
|
|
/* 02808524 */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 02808528 */ Gambit_fn_0280B854(cpu);
|
|
/* 0280852C */ cpu->r[5] = cpu->r[3];
|
|
/* 02808530 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808534 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 02808538 */ Gambit_fn_0280B344(cpu);
|
|
/* 0280853C */ cpu->r[3] = cpu->r[1] + 0x000001B4u;
|
|
/* 02808540 */ cpu->r[4] = 0x00000000u;
|
|
/* 02808544 */ Gambit_fn_0280B9DC(cpu);
|
|
/* 02808548 */ cpu->r[3] = cpu->r[1] + 0x000000E4u;
|
|
/* 0280854C */ cpu->r[4] = 0x00000002u;
|
|
/* 02808550 */ Gambit_fn_02809B98(cpu);
|
|
/* 02808554 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02808558 */ cpu->r[4] = 0x00000002u;
|
|
/* 0280855C */ Gambit_fn_02809B98(cpu);
|
|
/* 02808560 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02808564 */ cpu->r[4] = 0x00000002u;
|
|
/* 02808568 */ Gambit_fn_02809B98(cpu);
|
|
/* 0280856C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808570 */ cpu->r[4] = 0x00000002u;
|
|
/* 02808574 */ Gambit_fn_02809B98(cpu);
|
|
L_02808578: ; // 0x2808578
|
|
/* 02808578 */ _t708 = cpu->r[28] + 0x00000004u;
|
|
/* 02808578 */ cpu->r[28] = rbrew_read32(cpu->mem, _t708);
|
|
/* 0280857C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02808580 */ _t709 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808580 */ _t710 = _t709 & 0x00000001u;
|
|
/* 02808580 */ if (_t710) goto L_0280859C; else goto L_02808584;
|
|
L_02808584: ; // 0x2808584
|
|
/* 02808584 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 02808588 */ cpu->r[4] = cpu->r[28];
|
|
/* 0280858C */ Gambit_fn_02809DE8(cpu);
|
|
/* 02808590 */ _t711 = cpu->r[28] + 0x00000008u;
|
|
/* 02808590 */ cpu->r[28] = rbrew_read32(cpu->mem, _t711);
|
|
/* 02808594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02808598 */ _t712 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808598 */ _t713 = _t712 & 0x00000001u;
|
|
/* 02808598 */ if (_t713) goto L_0280859C; else goto L_02808584;
|
|
L_0280859C: ; // 0x280859c
|
|
/* 0280859C */ _t714 = cpu->r[1] + 0x00000058u;
|
|
/* 0280859C */ cpu->r[8] = rbrew_read32(cpu->mem, _t714);
|
|
/* 028085A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 028085A4 */ _t715 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028085A4 */ _t716 = _t715 & 0x00000001u;
|
|
/* 028085A4 */ if (_t716) goto L_0280714C; else goto L_028085A8;
|
|
L_028085A8: ; // 0x28085a8
|
|
/* 028085A8 */ _t717 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028085A8 */ _t718 = _t717 & 0x00000001u;
|
|
/* 028085A8 */ if (_t718) goto L_028070E0; else goto L_028085AC;
|
|
L_028085AC: ; // 0x28085ac
|
|
/* 028085AC */ _t719 = cpu->r[31] + 0x000000C8u;
|
|
/* 028085AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t719);
|
|
/* 028085B0 */ _t720 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028085B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t720);
|
|
/* 028085B4 */ _t721 = cpu->r[4] + 0x0000002Cu;
|
|
/* 028085B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t721);
|
|
/* 028085B8 */ cpu->ctr = cpu->r[5];
|
|
/* 028085BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028085C0 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 028085C4 */ Gambit_fn_02802424(cpu);
|
|
/* 028085C8 */ /* nop */
|
|
/* 028085CC */ _t722 = cpu->r[1] + 0x000002D0u;
|
|
/* 028085CC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t722);
|
|
/* 028085D0 */ _t723 = cpu->r[1] + 0x000002E0u;
|
|
/* 028085D0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t723);
|
|
/* 028085D4 */ _t724 = cpu->r[1] + 0x000002C8u;
|
|
/* 028085D4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t724);
|
|
/* 028085D8 */ _t725 = cpu->r[1] + 0x000002F0u;
|
|
/* 028085D8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t725);
|
|
/* 028085DC */ _t726 = cpu->r[1] + 0x000002D8u;
|
|
/* 028085DC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t726);
|
|
/* 028085E0 */ _t727 = cpu->r[1] + 0x000002E8u;
|
|
/* 028085E0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t727);
|
|
/* 028085E4 */ _t728 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028085E4 */ _t729 = _t728 & 0x00000001u;
|
|
/* 028085E4 */ if (_t729) goto L_028085E8; // else: addr-0 trap, fall-through
|
|
L_028085E8: ; // 0x28085e8
|
|
/* 028085E8 */ _t730 = cpu->r[1] + 0x000002FCu;
|
|
/* 028085E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t730);
|
|
/* 028085EC */ cpu->lr = cpu->r[0];
|
|
/* 028085F0 */ cpu->r[1] = cpu->r[1] + 0x000002F8u;
|
|
/* 028085F4 */ return;
|
|
}
|
|
|
|
// fn_028085F8 @ 0x28085f8
|
|
void Gambit_fn_028085F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_028085F8: ; // 0x28085f8
|
|
/* 028085F8 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 028085F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028085F8 */ cpu->r[1] = _t0;
|
|
/* 028085FC */ cpu->r[0] = cpu->lr;
|
|
/* 02808600 */ /* nop */
|
|
/* 02808604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02808608 */ cpu->r[28] = cpu->r[3];
|
|
/* 0280860C */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0280860C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02808610 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808610 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02808610 */ if (_t3) goto L_02808614; else goto L_02808624;
|
|
L_02808614: ; // 0x2808614
|
|
/* 02808614 */ _t4 = cpu->r[28] + 0x00000018u;
|
|
/* 02808614 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02808618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280861C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280861C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280861C */ if (_t6) goto L_02808644; else goto L_02808620;
|
|
L_02808620: ; // 0x2808620
|
|
/* 02808620 */ goto L_02808704;
|
|
L_02808624: ; // 0x2808624
|
|
/* 02808624 */ cpu->r[3] = cpu->r[4];
|
|
/* 02808628 */ _t7 = cpu->r[28] + 0x000000C4u;
|
|
/* 02808628 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280862C */ cpu->r[6] = 0x00004000u;
|
|
/* 02808630 */ cpu->r[5] = 0x00000000u;
|
|
/* 02808634 */ Gambit_fn_0283E5F8(cpu);
|
|
/* 02808638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280863C */ _t8 = cpu->r[28] + 0x00000018u;
|
|
/* 0280863C */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02808640 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808640 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02808640 */ if (_t10) goto L_02808644; else goto L_02808704;
|
|
L_02808644: ; // 0x2808644
|
|
/* 02808644 */ cpu->r[3] = 0x00000000u;
|
|
/* 02808648 */ _t11 = cpu->r[28] + 0x000000C4u;
|
|
/* 02808648 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280864C */ cpu->r[6] = 0x00004000u;
|
|
/* 02808650 */ cpu->r[5] = cpu->r[3];
|
|
/* 02808654 */ Gambit_fn_0283E5F8(cpu);
|
|
/* 02808658 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280865C */ _t12 = cpu->r[28] + 0x00000018u;
|
|
/* 0280865C */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 02808660 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02808660 */ cpu->r[27] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02808664 */ cpu->r[0] = cpu->r[0] + 0x00002744u;
|
|
/* 02808668 */ cpu->r[6] = 0x10110000u;
|
|
/* 0280866C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280866C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02808670 */ cpu->r[6] = cpu->r[6] + 0x00002BF4u;
|
|
/* 02808674 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02808678 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02808678 */ rbrew_write32(cpu->mem, _t15, cpu->r[6]);
|
|
/* 0280867C */ _t16 = cpu->r[27] + 0x00000010u;
|
|
/* 0280867C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02808680 */ Gambit_fn_02809D04(cpu);
|
|
/* 02808684 */ cpu->r[31] = 0x10110000u;
|
|
/* 02808688 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02808688 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280868C */ _t18 = cpu->r[31] + 0x00007399u;
|
|
/* 0280868C */ cpu->r[31] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02808690 */ _t19 = cpu->r[12] + 0x00000000u;
|
|
/* 02808690 */ cpu->r[7] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02808694 */ cpu->r[30] = 0x00000000u;
|
|
/* 02808698 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0280869C */ cpu->r[0] = 0x00080000u;
|
|
/* 028086A0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028086A0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 028086A0 */ if (_t21) goto L_028086C8; else goto L_028086A4;
|
|
L_028086A4: ; // 0x28086a4
|
|
/* 028086A4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028086A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 028086AC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028086B0 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028086B0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028086B0 */ if (_t23) goto L_028086C4; else goto L_028086B4;
|
|
L_028086B4: ; // 0x28086b4
|
|
/* 028086B4 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 028086B4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t24);
|
|
/* 028086B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 028086BC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028086BC */ _t26 = _t25 & 0x00000001u;
|
|
/* 028086BC */ if (_t26) goto L_028086C0; else goto L_028086A4;
|
|
L_028086C0: ; // 0x28086c0
|
|
/* 028086C0 */ goto L_028086C8;
|
|
L_028086C4: ; // 0x28086c4
|
|
/* 028086C4 */ cpu->r[30] = 0x00000000u;
|
|
L_028086C8: ; // 0x28086c8
|
|
/* 028086C8 */ _t27 = cpu->r[27] + 0x00000018u;
|
|
/* 028086C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 028086CC */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028086CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028086D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 028086D4 */ _t29 = cpu->r[9] + 0x00000014u;
|
|
/* 028086D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 028086D8 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028086D8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 028086D8 */ if (_t31) goto L_028086E0; else goto L_028086DC;
|
|
L_028086DC: ; // 0x28086dc
|
|
/* 028086DC */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_028086E0: ; // 0x28086e0
|
|
/* 028086E0 */ cpu->ctr = cpu->r[0];
|
|
/* 028086E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028086E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028086EC */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 028086EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028086F0 */ cpu->r[6] = 0x00000000u;
|
|
/* 028086F4 */ cpu->r[5] = cpu->r[30];
|
|
/* 028086F8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028086FC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02808700 */ _t33 = cpu->r[29] + cpu->r[30];
|
|
/* 02808700 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[31]);
|
|
L_02808704: ; // 0x2808704
|
|
/* 02808704 */ cpu->r[11] = 0x10110000u;
|
|
/* 02808708 */ _t34 = cpu->r[11] + 0x0000272Cu;
|
|
/* 02808708 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02808708 */ cpu->r[11] = _t34;
|
|
/* 0280870C */ _t35 = cpu->r[11] + 0x00000004u;
|
|
/* 0280870C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02808710 */ cpu->r[4] = cpu->r[28];
|
|
/* 02808714 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02808714 */ rbrew_write32(cpu->mem, _t36, cpu->r[10]);
|
|
/* 02808718 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0280871C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02808720 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02808720 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02808724 */ Gambit_fn_0280BEB4(cpu);
|
|
/* 02808728 */ cpu->r[0] = cpu->r[1] + 0x00000024u;
|
|
/* 0280872C */ cpu->r[9] = 0x10110000u;
|
|
/* 02808730 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 02808730 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02808734 */ _t39 = cpu->r[9] + 0x0000273Cu;
|
|
/* 02808734 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02808734 */ cpu->r[9] = _t39;
|
|
/* 02808738 */ _t40 = cpu->r[9] + 0x00000004u;
|
|
/* 02808738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0280873C */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 02808740 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02808740 */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
|
|
/* 02808744 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02808748 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280874C */ _t42 = cpu->r[1] + 0x00000020u;
|
|
/* 0280874C */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02808750 */ Gambit_fn_0280BE0C(cpu);
|
|
/* 02808754 */ _t43 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02808754 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02808758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280875C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280875C */ _t45 = _t44 & 0x00000001u;
|
|
/* 0280875C */ if (_t45) goto L_02808768; else goto L_02808760;
|
|
L_02808760: ; // 0x2808760
|
|
/* 02808760 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
|
|
/* 02808764 */ Gambit_fn_0280BD5C(cpu);
|
|
L_02808768: ; // 0x2808768
|
|
/* 02808768 */ /* nop */
|
|
/* 0280876C */ _t46 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0280876C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02808770 */ cpu->lr = cpu->r[0];
|
|
/* 02808774 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02808778 */ return;
|
|
}
|
|
|
|
// fn_0280877C @ 0x280877c
|
|
void Gambit_fn_0280877C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_0280877C: ; // 0x280877c
|
|
/* 0280877C */ cpu->r[0] = cpu->lr;
|
|
/* 02808780 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02808780 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02808780 */ cpu->r[1] = _t0;
|
|
/* 02808784 */ cpu->r[6] = 0x10110000u;
|
|
/* 02808788 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02808788 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280878C */ cpu->r[6] = cpu->r[6] + 0x00002744u;
|
|
/* 02808790 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02808790 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02808794 */ cpu->r[30] = cpu->r[3];
|
|
/* 02808798 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280879C */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0280879C */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
|
|
/* 028087A0 */ cpu->r[7] = cpu->r[3];
|
|
/* 028087A4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028087A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 028087A8 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 028087AC */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028087AC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028087B0 */ cpu->r[0] = 0x10110000u;
|
|
/* 028087B4 */ _t6 = cpu->r[30] + 0x000000BCu;
|
|
/* 028087B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028087B8 */ cpu->r[0] = cpu->r[0] + 0x00002BFCu;
|
|
/* 028087BC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 028087BC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028087C0 */ cpu->r[6] = 0x00000001u;
|
|
/* 028087C4 */ Gambit_fn_02822600(cpu);
|
|
/* 028087C8 */ _t8 = cpu->r[30] + 0x00000018u;
|
|
/* 028087C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028087CC */ cpu->r[0] = 0x00000000u;
|
|
/* 028087D0 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 028087D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028087D4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 028087D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 028087D8 */ cpu->r[29] = cpu->r[3];
|
|
/* 028087DC */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 028087DC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 028087E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028087E4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028087E4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 028087E8 */ Gambit_fn_02802C0C(cpu);
|
|
/* 028087EC */ cpu->r[4] = cpu->r[3];
|
|
/* 028087F0 */ cpu->r[6] = 0x00000004u;
|
|
/* 028087F4 */ cpu->r[5] = cpu->r[29];
|
|
/* 028087F8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028087FC */ Gambit_fn_028023CC(cpu);
|
|
/* 02808800 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02808800 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02808804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02808808 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808808 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02808808 */ if (_t15) goto L_02808874; else goto L_0280880C;
|
|
L_0280880C: ; // 0x280880c
|
|
/* 0280880C */ _t16 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280880C */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02808810 */ cpu->r[5] = cpu->r[31] + 0x00000010u;
|
|
/* 02808814 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02808818 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 0280881C */ cpu->r[10] = cpu->r[3];
|
|
/* 0280881C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02808820 */ cpu->r[12] = cpu->r[10];
|
|
/* 02808824 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808824 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02808824 */ if (_t18) goto L_0280882C; else goto L_02808828;
|
|
L_02808828: ; // 0x2808828
|
|
/* 02808828 */ cpu->r[12] = cpu->r[10] + 0x00000018u;
|
|
L_0280882C: ; // 0x280882c
|
|
/* 0280882C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02808830 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808830 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02808830 */ if (_t20) goto L_02808840; else goto L_02808834;
|
|
L_02808834: ; // 0x2808834
|
|
/* 02808834 */ _t21 = cpu->r[12] + 0x00000000u;
|
|
/* 02808834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02808838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 0280883C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280883C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0280883C */ if (_t23) goto L_02808868; else goto L_02808840;
|
|
L_02808840: ; // 0x2808840
|
|
/* 02808840 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02808840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02808844 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02808844 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02808848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[5]);
|
|
/* 0280884C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280884C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0280884C */ if (_t27) goto L_02808850; else goto L_02808868;
|
|
L_02808850: ; // 0x2808850
|
|
/* 02808850 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02808850 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02808854 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02808858 */ _t29 = cpu->r[6] + cpu->r[7];
|
|
/* 02808858 */ rbrew_write32(cpu->mem, _t29, cpu->r[31]);
|
|
/* 0280885C */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 0280885C */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02808860 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02808864 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02808864 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
L_02808868: ; // 0x2808868
|
|
/* 02808868 */ _t32 = cpu->r[31] + 0x00000008u;
|
|
/* 02808868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0280886C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02808870 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808870 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02808870 */ if (_t34) goto L_02808874; else goto L_0280880C;
|
|
L_02808874: ; // 0x2808874
|
|
/* 02808874 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02808874 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02808878 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 02808878 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0280887C */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02808880 */ cpu->r[30] = cpu->r[31] + cpu->r[0];
|
|
/* 02808884 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02808888 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808888 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02808888 */ if (_t38) goto L_028088C0; else goto L_0280888C;
|
|
L_0280888C: ; // 0x280888c
|
|
/* 0280888C */ _t39 = cpu->r[31] + 0x00000000u;
|
|
/* 0280888C */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02808890 */ Gambit_fn_02802AE8(cpu);
|
|
/* 02808894 */ _t40 = cpu->r[31] + 0x00000000u;
|
|
/* 02808894 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02808898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280889C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280889C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0280889C */ if (_t42) goto L_028088B4; else goto L_028088A0;
|
|
L_028088A0: ; // 0x28088a0
|
|
/* 028088A0 */ _t43 = cpu->r[3] + 0x00000088u;
|
|
/* 028088A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 028088A4 */ _t44 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028088A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 028088A8 */ cpu->ctr = cpu->r[5];
|
|
/* 028088AC */ cpu->r[4] = 0x00000003u;
|
|
/* 028088B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028088B4: ; // 0x28088b4
|
|
/* 028088B4 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 028088B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 028088BC */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028088BC */ _t46 = _t45 & 0x00000001u;
|
|
/* 028088BC */ if (_t46) goto L_028088C0; else goto L_0280888C;
|
|
L_028088C0: ; // 0x28088c0
|
|
/* 028088C0 */ _t47 = cpu->r[29] + 0x0000000Cu;
|
|
/* 028088C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 028088C4 */ _t48 = cpu->r[7] + 0x00000024u;
|
|
/* 028088C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 028088C8 */ cpu->ctr = cpu->r[8];
|
|
/* 028088CC */ cpu->r[3] = cpu->r[29];
|
|
/* 028088D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028088D4 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028088D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 028088D8 */ _t50 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028088D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 028088DC */ _t51 = cpu->r[1] + 0x00000020u;
|
|
/* 028088DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 028088E0 */ cpu->lr = cpu->r[0];
|
|
/* 028088E4 */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 028088E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 028088E8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 028088EC */ return;
|
|
}
|
|
|
|
// fn_02808780 @ 0x2808780
|
|
void Gambit_fn_02808780(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02808780: ; // 0x2808780
|
|
/* 02808780 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02808780 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02808780 */ cpu->r[1] = _t0;
|
|
/* 02808784 */ cpu->r[6] = 0x10110000u;
|
|
/* 02808788 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02808788 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280878C */ cpu->r[6] = cpu->r[6] + 0x00002744u;
|
|
/* 02808790 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02808790 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02808794 */ cpu->r[30] = cpu->r[3];
|
|
/* 02808798 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280879C */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0280879C */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
|
|
/* 028087A0 */ cpu->r[7] = cpu->r[3];
|
|
/* 028087A4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028087A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 028087A8 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 028087AC */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028087AC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028087B0 */ cpu->r[0] = 0x10110000u;
|
|
/* 028087B4 */ _t6 = cpu->r[30] + 0x000000BCu;
|
|
/* 028087B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028087B8 */ cpu->r[0] = cpu->r[0] + 0x00002BFCu;
|
|
/* 028087BC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 028087BC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028087C0 */ cpu->r[6] = 0x00000001u;
|
|
/* 028087C4 */ Gambit_fn_02822600(cpu);
|
|
/* 028087C8 */ _t8 = cpu->r[30] + 0x00000018u;
|
|
/* 028087C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028087CC */ cpu->r[0] = 0x00000000u;
|
|
/* 028087D0 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 028087D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028087D4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 028087D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 028087D8 */ cpu->r[29] = cpu->r[3];
|
|
/* 028087DC */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 028087DC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 028087E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028087E4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028087E4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 028087E8 */ Gambit_fn_02802C0C(cpu);
|
|
/* 028087EC */ cpu->r[4] = cpu->r[3];
|
|
/* 028087F0 */ cpu->r[6] = 0x00000004u;
|
|
/* 028087F4 */ cpu->r[5] = cpu->r[29];
|
|
/* 028087F8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028087FC */ Gambit_fn_028023CC(cpu);
|
|
/* 02808800 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02808800 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02808804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02808808 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808808 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02808808 */ if (_t15) goto L_02808874; else goto L_0280880C;
|
|
L_0280880C: ; // 0x280880c
|
|
/* 0280880C */ _t16 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280880C */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02808810 */ cpu->r[5] = cpu->r[31] + 0x00000010u;
|
|
/* 02808814 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02808818 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 0280881C */ cpu->r[10] = cpu->r[3];
|
|
/* 0280881C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02808820 */ cpu->r[12] = cpu->r[10];
|
|
/* 02808824 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808824 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02808824 */ if (_t18) goto L_0280882C; else goto L_02808828;
|
|
L_02808828: ; // 0x2808828
|
|
/* 02808828 */ cpu->r[12] = cpu->r[10] + 0x00000018u;
|
|
L_0280882C: ; // 0x280882c
|
|
/* 0280882C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02808830 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808830 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02808830 */ if (_t20) goto L_02808840; else goto L_02808834;
|
|
L_02808834: ; // 0x2808834
|
|
/* 02808834 */ _t21 = cpu->r[12] + 0x00000000u;
|
|
/* 02808834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02808838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 0280883C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280883C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0280883C */ if (_t23) goto L_02808868; else goto L_02808840;
|
|
L_02808840: ; // 0x2808840
|
|
/* 02808840 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02808840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02808844 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02808844 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02808848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[5]);
|
|
/* 0280884C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280884C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0280884C */ if (_t27) goto L_02808850; else goto L_02808868;
|
|
L_02808850: ; // 0x2808850
|
|
/* 02808850 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02808850 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02808854 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02808858 */ _t29 = cpu->r[6] + cpu->r[7];
|
|
/* 02808858 */ rbrew_write32(cpu->mem, _t29, cpu->r[31]);
|
|
/* 0280885C */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 0280885C */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02808860 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02808864 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02808864 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
L_02808868: ; // 0x2808868
|
|
/* 02808868 */ _t32 = cpu->r[31] + 0x00000008u;
|
|
/* 02808868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0280886C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02808870 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808870 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02808870 */ if (_t34) goto L_02808874; else goto L_0280880C;
|
|
L_02808874: ; // 0x2808874
|
|
/* 02808874 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02808874 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02808878 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 02808878 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0280887C */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02808880 */ cpu->r[30] = cpu->r[31] + cpu->r[0];
|
|
/* 02808884 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02808888 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808888 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02808888 */ if (_t38) goto L_028088C0; else goto L_0280888C;
|
|
L_0280888C: ; // 0x280888c
|
|
/* 0280888C */ _t39 = cpu->r[31] + 0x00000000u;
|
|
/* 0280888C */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02808890 */ Gambit_fn_02802AE8(cpu);
|
|
/* 02808894 */ _t40 = cpu->r[31] + 0x00000000u;
|
|
/* 02808894 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02808898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280889C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280889C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0280889C */ if (_t42) goto L_028088B4; else goto L_028088A0;
|
|
L_028088A0: ; // 0x28088a0
|
|
/* 028088A0 */ _t43 = cpu->r[3] + 0x00000088u;
|
|
/* 028088A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 028088A4 */ _t44 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028088A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 028088A8 */ cpu->ctr = cpu->r[5];
|
|
/* 028088AC */ cpu->r[4] = 0x00000003u;
|
|
/* 028088B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028088B4: ; // 0x28088b4
|
|
/* 028088B4 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 028088B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 028088BC */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028088BC */ _t46 = _t45 & 0x00000001u;
|
|
/* 028088BC */ if (_t46) goto L_028088C0; else goto L_0280888C;
|
|
L_028088C0: ; // 0x28088c0
|
|
/* 028088C0 */ _t47 = cpu->r[29] + 0x0000000Cu;
|
|
/* 028088C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 028088C4 */ _t48 = cpu->r[7] + 0x00000024u;
|
|
/* 028088C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 028088C8 */ cpu->ctr = cpu->r[8];
|
|
/* 028088CC */ cpu->r[3] = cpu->r[29];
|
|
/* 028088D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028088D4 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028088D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 028088D8 */ _t50 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028088D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 028088DC */ _t51 = cpu->r[1] + 0x00000020u;
|
|
/* 028088DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 028088E0 */ cpu->lr = cpu->r[0];
|
|
/* 028088E4 */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 028088E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 028088E8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 028088EC */ return;
|
|
}
|
|
|
|
// fn_028088F0 @ 0x28088f0
|
|
void Gambit_fn_028088F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_028088F0: ; // 0x28088f0
|
|
/* 028088F0 */ cpu->r[0] = cpu->lr;
|
|
/* 028088F4 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 028088F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028088F4 */ cpu->r[1] = _t0;
|
|
/* 028088F8 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028088F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028088FC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02808900 */ cpu->r[7] = 0x10110000u;
|
|
/* 02808904 */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 02808904 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02808908 */ _t3 = cpu->r[7] + 0x00002734u;
|
|
/* 02808908 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02808908 */ cpu->r[7] = _t3;
|
|
/* 0280890C */ cpu->r[31] = cpu->r[3];
|
|
/* 02808910 */ _t4 = cpu->r[7] + 0x00000004u;
|
|
/* 02808910 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02808914 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02808918 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02808918 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0280891C */ cpu->r[4] = cpu->r[31];
|
|
/* 02808920 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02808920 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02808924 */ Gambit_fn_0280BEB4(cpu);
|
|
/* 02808928 */ cpu->r[5] = 0x10110000u;
|
|
/* 0280892C */ cpu->r[0] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02808930 */ _t7 = cpu->r[5] + 0x0000273Cu;
|
|
/* 02808930 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02808930 */ cpu->r[5] = _t7;
|
|
/* 02808934 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808938 */ _t8 = cpu->r[5] + 0x00000004u;
|
|
/* 02808938 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280893C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0280893C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02808940 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02808944 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02808944 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02808948 */ cpu->r[5] = cpu->r[6];
|
|
/* 0280894C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02808950 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02808950 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02808954 */ Gambit_fn_0280BE0C(cpu);
|
|
/* 02808958 */ _t12 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02808958 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280895C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02808960 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808960 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02808960 */ if (_t14) goto L_0280896C; else goto L_02808964;
|
|
L_02808964: ; // 0x2808964
|
|
/* 02808964 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808968 */ Gambit_fn_0280BD5C(cpu);
|
|
L_0280896C: ; // 0x280896c
|
|
/* 0280896C */ _t15 = cpu->r[1] + 0x00000044u;
|
|
/* 0280896C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02808970 */ _t16 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02808970 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02808974 */ cpu->lr = cpu->r[0];
|
|
/* 02808978 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0280897C */ return;
|
|
}
|
|
|
|
// fn_028088F4 @ 0x28088f4
|
|
void Gambit_fn_028088F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_028088F4: ; // 0x28088f4
|
|
/* 028088F4 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 028088F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028088F4 */ cpu->r[1] = _t0;
|
|
/* 028088F8 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028088F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028088FC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02808900 */ cpu->r[7] = 0x10110000u;
|
|
/* 02808904 */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 02808904 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02808908 */ _t3 = cpu->r[7] + 0x00002734u;
|
|
/* 02808908 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02808908 */ cpu->r[7] = _t3;
|
|
/* 0280890C */ cpu->r[31] = cpu->r[3];
|
|
/* 02808910 */ _t4 = cpu->r[7] + 0x00000004u;
|
|
/* 02808910 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02808914 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02808918 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02808918 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0280891C */ cpu->r[4] = cpu->r[31];
|
|
/* 02808920 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02808920 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02808924 */ Gambit_fn_0280BEB4(cpu);
|
|
/* 02808928 */ cpu->r[5] = 0x10110000u;
|
|
/* 0280892C */ cpu->r[0] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02808930 */ _t7 = cpu->r[5] + 0x0000273Cu;
|
|
/* 02808930 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02808930 */ cpu->r[5] = _t7;
|
|
/* 02808934 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808938 */ _t8 = cpu->r[5] + 0x00000004u;
|
|
/* 02808938 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280893C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0280893C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02808940 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02808944 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02808944 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02808948 */ cpu->r[5] = cpu->r[6];
|
|
/* 0280894C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02808950 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02808950 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02808954 */ Gambit_fn_0280BE0C(cpu);
|
|
/* 02808958 */ _t12 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02808958 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280895C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02808960 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808960 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02808960 */ if (_t14) goto L_0280896C; else goto L_02808964;
|
|
L_02808964: ; // 0x2808964
|
|
/* 02808964 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808968 */ Gambit_fn_0280BD5C(cpu);
|
|
L_0280896C: ; // 0x280896c
|
|
/* 0280896C */ _t15 = cpu->r[1] + 0x00000044u;
|
|
/* 0280896C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02808970 */ _t16 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02808970 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02808974 */ cpu->lr = cpu->r[0];
|
|
/* 02808978 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0280897C */ return;
|
|
}
|
|
|
|
// fn_02808980 @ 0x2808980
|
|
void Gambit_fn_02808980(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02808980: ; // 0x2808980
|
|
/* 02808980 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02808980 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02808980 */ cpu->r[1] = _t0;
|
|
/* 02808984 */ /* nop */
|
|
/* 02808988 */ cpu->r[25] = 0x10110000u;
|
|
/* 0280898C */ cpu->r[25] = cpu->r[25] + 0x00002744u;
|
|
/* 02808990 */ cpu->r[0] = cpu->lr;
|
|
/* 02808994 */ _t1 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02808994 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02808998 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280899C */ cpu->r[26] = cpu->r[3];
|
|
/* 028089A0 */ cpu->r[31] = cpu->r[4];
|
|
/* 028089A4 */ cpu->r[0] = cpu->r[0] + 0x00002C18u;
|
|
/* 028089A8 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028089A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[25]);
|
|
/* 028089AC */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 028089B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028089B4 */ cpu->r[6] = 0x00000001u;
|
|
/* 028089B8 */ _t3 = cpu->r[26] + 0x000000BCu;
|
|
/* 028089B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028089BC */ cpu->r[7] = cpu->r[3];
|
|
/* 028089C0 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 028089C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028089C4 */ Gambit_fn_02822600(cpu);
|
|
/* 028089C8 */ cpu->r[27] = cpu->r[3];
|
|
/* 028089CC */ cpu->r[5] = 0x00000000u;
|
|
/* 028089D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028089D4 */ cpu->r[4] = cpu->r[27];
|
|
/* 028089D8 */ cpu->r[6] = 0x00004000u;
|
|
/* 028089DC */ Gambit_fn_0283E5F8(cpu);
|
|
/* 028089E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028089E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028089E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028089E4 */ if (_t6) goto L_028089E8; else goto L_02808A10;
|
|
L_028089E8: ; // 0x28089e8
|
|
/* 028089E8 */ _t7 = cpu->r[27] + 0x0000000Cu;
|
|
/* 028089E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028089EC */ _t8 = cpu->r[9] + 0x00000024u;
|
|
/* 028089EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028089F0 */ cpu->ctr = cpu->r[10];
|
|
/* 028089F4 */ cpu->r[3] = cpu->r[27];
|
|
/* 028089F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028089FC */ /* nop */
|
|
/* 02808A00 */ _t9 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02808A00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02808A04 */ cpu->lr = cpu->r[0];
|
|
/* 02808A08 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02808A0C */ return;
|
|
L_02808A10: ; // 0x2808a10
|
|
/* 02808A10 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02808A10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02808A14 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 02808A14 */ cpu->r[24] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02808A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02808A1C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808A1C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02808A1C */ if (_t13) goto L_02808D44; else goto L_02808A20;
|
|
L_02808A20: ; // 0x2808a20
|
|
/* 02808A20 */ cpu->r[31] = 0x10110000u;
|
|
/* 02808A24 */ cpu->r[23] = 0x00080000u;
|
|
/* 02808A28 */ _t14 = cpu->r[31] + 0x00007399u;
|
|
/* 02808A28 */ cpu->r[31] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02808A2C */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
L_02808A30: ; // 0x2808a30
|
|
/* 02808A30 */ cpu->r[28] = cpu->r[24] + 0x00000010u;
|
|
/* 02808A34 */ _t15 = cpu->r[26] + 0x0000001Cu;
|
|
/* 02808A34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02808A38 */ cpu->r[3] = cpu->r[26] + 0x0000001Cu;
|
|
/* 02808A3C */ cpu->r[5] = cpu->r[28];
|
|
/* 02808A40 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02808A44 */ cpu->r[7] = cpu->r[3];
|
|
/* 02808A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02808A48 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808A48 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02808A48 */ if (_t17) goto L_02808D38; else goto L_02808A4C;
|
|
L_02808A4C: ; // 0x2808a4c
|
|
/* 02808A4C */ cpu->r[30] = cpu->r[7] + 0x00000018u;
|
|
/* 02808A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02808A50 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808A50 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02808A50 */ if (_t19) goto L_02808D38; else goto L_02808A54;
|
|
L_02808A54: ; // 0x2808a54
|
|
/* 02808A54 */ cpu->r[29] = 0x10110000u;
|
|
/* 02808A58 */ cpu->r[3] = cpu->r[24];
|
|
/* 02808A5C */ cpu->r[29] = cpu->r[29] + 0x00002C08u;
|
|
/* 02808A60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02808A64 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02808A64 */ rbrew_write32(cpu->mem, _t20, cpu->r[29]);
|
|
/* 02808A68 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02808A6C */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02808A6C */ rbrew_write32(cpu->mem, _t21, cpu->r[25]);
|
|
/* 02808A70 */ Gambit_fn_02842084(cpu);
|
|
/* 02808A74 */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 02808A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02808A78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02808A7C */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02808A7C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02808A7C */ if (_t24) goto L_02808A80; else goto L_02808A8C;
|
|
L_02808A80: ; // 0x2808a80
|
|
/* 02808A80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02808A84 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02808A84 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02808A84 */ if (_t26) goto L_02808AB0; else goto L_02808A88;
|
|
L_02808A88: ; // 0x2808a88
|
|
/* 02808A88 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808A88 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02808A88 */ if (_t28) goto L_02808B08; else goto L_02808A8C;
|
|
L_02808A8C: ; // 0x2808a8c
|
|
/* 02808A8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02808A90 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02808A90 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02808A90 */ if (_t30) goto L_02808B60; else goto L_02808A94;
|
|
L_02808A94: ; // 0x2808a94
|
|
/* 02808A94 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808A94 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02808A94 */ if (_t32) goto L_02808BB8; else goto L_02808A98;
|
|
L_02808A98: ; // 0x2808a98
|
|
/* 02808A98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02808A9C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808A9C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02808A9C */ if (_t34) goto L_02808C78; else goto L_02808AA0;
|
|
L_02808AA0: ; // 0x2808aa0
|
|
/* 02808AA0 */ _t35 = cpu->r[24] + 0x00000008u;
|
|
/* 02808AA0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02808AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02808AA8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808AA8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02808AA8 */ if (_t37) goto L_02808AAC; else goto L_02808A30;
|
|
L_02808AAC: ; // 0x2808aac
|
|
/* 02808AAC */ goto L_02808D44;
|
|
L_02808AB0: ; // 0x2808ab0
|
|
/* 02808AB0 */ _t38 = cpu->r[26] + 0x00000044u;
|
|
/* 02808AB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02808AB4 */ cpu->r[5] = cpu->r[28];
|
|
/* 02808AB8 */ cpu->r[3] = cpu->r[26] + 0x00000044u;
|
|
/* 02808ABC */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02808AC0 */ cpu->r[12] = cpu->r[3];
|
|
/* 02808AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02808AC4 */ cpu->r[30] = cpu->r[12];
|
|
/* 02808AC8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808AC8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02808AC8 */ if (_t40) goto L_02808AD0; else goto L_02808ACC;
|
|
L_02808ACC: ; // 0x2808acc
|
|
/* 02808ACC */ cpu->r[30] = cpu->r[12] + 0x00000018u;
|
|
L_02808AD0: ; // 0x2808ad0
|
|
/* 02808AD0 */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 02808AD0 */ rbrew_write32(cpu->mem, _t41, cpu->r[25]);
|
|
/* 02808AD4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02808AD8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02808ADC */ _t42 = cpu->r[1] + 0x00000020u;
|
|
/* 02808ADC */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
|
|
/* 02808AE0 */ cpu->r[7] = cpu->r[1] + 0x00000020u;
|
|
/* 02808AE4 */ _t43 = cpu->r[30] + 0x00000000u;
|
|
/* 02808AE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02808AE8 */ cpu->r[6] = cpu->r[28];
|
|
/* 02808AEC */ cpu->r[3] = cpu->r[26];
|
|
/* 02808AF0 */ Gambit_fn_0280679C(cpu);
|
|
/* 02808AF4 */ _t44 = cpu->r[30] + 0x00000000u;
|
|
/* 02808AF4 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]);
|
|
/* 02808AF8 */ _t45 = cpu->r[24] + 0x00000008u;
|
|
/* 02808AF8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02808AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02808B00 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808B00 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02808B00 */ if (_t47) goto L_02808B04; else goto L_02808A30;
|
|
L_02808B04: ; // 0x2808b04
|
|
/* 02808B04 */ goto L_02808D44;
|
|
L_02808B08: ; // 0x2808b08
|
|
/* 02808B08 */ _t48 = cpu->r[26] + 0x00000058u;
|
|
/* 02808B08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02808B0C */ cpu->r[5] = cpu->r[28];
|
|
/* 02808B10 */ cpu->r[3] = cpu->r[26] + 0x00000058u;
|
|
/* 02808B14 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02808B18 */ cpu->r[6] = cpu->r[3];
|
|
/* 02808B18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02808B1C */ cpu->r[30] = cpu->r[6];
|
|
/* 02808B20 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808B20 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02808B20 */ if (_t50) goto L_02808B28; else goto L_02808B24;
|
|
L_02808B24: ; // 0x2808b24
|
|
/* 02808B24 */ cpu->r[30] = cpu->r[6] + 0x00000018u;
|
|
L_02808B28: ; // 0x2808b28
|
|
/* 02808B28 */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02808B28 */ rbrew_write32(cpu->mem, _t51, cpu->r[25]);
|
|
/* 02808B2C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02808B30 */ cpu->r[8] = 0x00000000u;
|
|
/* 02808B34 */ _t52 = cpu->r[1] + 0x00000028u;
|
|
/* 02808B34 */ rbrew_write32(cpu->mem, _t52, cpu->r[29]);
|
|
/* 02808B38 */ cpu->r[7] = cpu->r[1] + 0x00000028u;
|
|
/* 02808B3C */ _t53 = cpu->r[30] + 0x00000000u;
|
|
/* 02808B3C */ cpu->r[5] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02808B40 */ cpu->r[6] = cpu->r[28];
|
|
/* 02808B44 */ cpu->r[3] = cpu->r[26];
|
|
/* 02808B48 */ Gambit_fn_0280688C(cpu);
|
|
/* 02808B4C */ _t54 = cpu->r[30] + 0x00000000u;
|
|
/* 02808B4C */ rbrew_write32(cpu->mem, _t54, cpu->r[3]);
|
|
/* 02808B50 */ _t55 = cpu->r[24] + 0x00000008u;
|
|
/* 02808B50 */ cpu->r[24] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02808B54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02808B58 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808B58 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02808B58 */ if (_t57) goto L_02808B5C; else goto L_02808A30;
|
|
L_02808B5C: ; // 0x2808b5c
|
|
/* 02808B5C */ goto L_02808D44;
|
|
L_02808B60: ; // 0x2808b60
|
|
/* 02808B60 */ _t58 = cpu->r[26] + 0x0000006Cu;
|
|
/* 02808B60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02808B64 */ cpu->r[5] = cpu->r[28];
|
|
/* 02808B68 */ cpu->r[3] = cpu->r[26] + 0x0000006Cu;
|
|
/* 02808B6C */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02808B70 */ cpu->r[7] = cpu->r[3];
|
|
/* 02808B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02808B74 */ cpu->r[30] = cpu->r[7];
|
|
/* 02808B78 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808B78 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02808B78 */ if (_t60) goto L_02808B80; else goto L_02808B7C;
|
|
L_02808B7C: ; // 0x2808b7c
|
|
/* 02808B7C */ cpu->r[30] = cpu->r[7] + 0x00000018u;
|
|
L_02808B80: ; // 0x2808b80
|
|
/* 02808B80 */ _t61 = cpu->r[1] + 0x00000034u;
|
|
/* 02808B80 */ rbrew_write32(cpu->mem, _t61, cpu->r[25]);
|
|
/* 02808B84 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02808B88 */ cpu->r[7] = 0x00000000u;
|
|
/* 02808B8C */ _t62 = cpu->r[1] + 0x00000030u;
|
|
/* 02808B8C */ rbrew_write32(cpu->mem, _t62, cpu->r[29]);
|
|
/* 02808B90 */ cpu->r[6] = cpu->r[1] + 0x00000030u;
|
|
/* 02808B94 */ _t63 = cpu->r[30] + 0x00000000u;
|
|
/* 02808B94 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02808B98 */ cpu->r[5] = cpu->r[28];
|
|
/* 02808B9C */ cpu->r[3] = cpu->r[26];
|
|
/* 02808BA0 */ Gambit_fn_0280697C(cpu);
|
|
/* 02808BA4 */ _t64 = cpu->r[30] + 0x00000000u;
|
|
/* 02808BA4 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[1]);
|
|
/* 02808BA8 */ _t65 = cpu->r[24] + 0x00000008u;
|
|
/* 02808BA8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02808BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02808BB0 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808BB0 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02808BB0 */ if (_t67) goto L_02808BB4; else goto L_02808A30;
|
|
L_02808BB4: ; // 0x2808bb4
|
|
/* 02808BB4 */ goto L_02808D44;
|
|
L_02808BB8: ; // 0x2808bb8
|
|
/* 02808BB8 */ _t68 = cpu->r[26] + 0x00000080u;
|
|
/* 02808BB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02808BBC */ cpu->r[3] = cpu->r[26] + 0x00000080u;
|
|
/* 02808BC0 */ cpu->r[5] = cpu->r[28];
|
|
/* 02808BC4 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02808BC8 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02808BC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02808BCC */ cpu->r[8] = cpu->r[3];
|
|
/* 02808BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02808BD0 */ cpu->r[28] = cpu->r[8];
|
|
/* 02808BD4 */ _t70 = cpu->r[5] + 0x00000014u;
|
|
/* 02808BD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02808BD8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808BD8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02808BD8 */ if (_t72) goto L_02808BE0; else goto L_02808BDC;
|
|
L_02808BDC: ; // 0x2808bdc
|
|
/* 02808BDC */ cpu->r[28] = cpu->r[8] + 0x00000018u;
|
|
L_02808BE0: ; // 0x2808be0
|
|
/* 02808BE0 */ cpu->ctr = cpu->r[6];
|
|
/* 02808BE4 */ _t73 = cpu->r[28] + 0x00000000u;
|
|
/* 02808BE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02808BE8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02808BEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02808BF0 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 02808BF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02808BF4 */ _t75 = cpu->r[9] + 0x00000000u;
|
|
/* 02808BF4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t75);
|
|
/* 02808BF8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02808BFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02808C00 */ cpu->r[0] = 0x00080000u;
|
|
/* 02808C04 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808C04 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02808C04 */ if (_t77) goto L_02808C2C; else goto L_02808C08;
|
|
L_02808C08: ; // 0x2808c08
|
|
/* 02808C08 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02808C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02808C10 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02808C14 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02808C14 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02808C14 */ if (_t79) goto L_02808C28; else goto L_02808C18;
|
|
L_02808C18: ; // 0x2808c18
|
|
/* 02808C18 */ _t80 = cpu->r[9] + 0x00000000u;
|
|
/* 02808C18 */ cpu->r[8] = rbrew_read8(cpu->mem, _t80);
|
|
/* 02808C1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02808C20 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808C20 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02808C20 */ if (_t82) goto L_02808C24; else goto L_02808C08;
|
|
L_02808C24: ; // 0x2808c24
|
|
/* 02808C24 */ goto L_02808C2C;
|
|
L_02808C28: ; // 0x2808c28
|
|
/* 02808C28 */ cpu->r[30] = 0x00000000u;
|
|
L_02808C2C: ; // 0x2808c2c
|
|
/* 02808C2C */ _t83 = cpu->r[28] + 0x00000008u;
|
|
/* 02808C2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02808C30 */ _t84 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02808C30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02808C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 02808C38 */ _t85 = cpu->r[10] + 0x00000014u;
|
|
/* 02808C38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02808C3C */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02808C3C */ _t87 = _t86 & 0x00000001u;
|
|
/* 02808C3C */ if (_t87) goto L_02808C44; else goto L_02808C40;
|
|
L_02808C40: ; // 0x2808c40
|
|
/* 02808C40 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02808C44: ; // 0x2808c44
|
|
/* 02808C44 */ cpu->ctr = cpu->r[12];
|
|
/* 02808C48 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02808C4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02808C50 */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 02808C50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02808C54 */ cpu->r[6] = 0x00000000u;
|
|
/* 02808C58 */ cpu->r[5] = cpu->r[30];
|
|
/* 02808C5C */ cpu->r[3] = cpu->r[29];
|
|
/* 02808C60 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02808C64 */ _t89 = cpu->r[29] + cpu->r[30];
|
|
/* 02808C64 */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[31]);
|
|
/* 02808C68 */ _t90 = cpu->r[24] + 0x00000008u;
|
|
/* 02808C68 */ cpu->r[24] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02808C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02808C70 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808C70 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02808C70 */ if (_t92) goto L_02808C74; else goto L_02808A30;
|
|
L_02808C74: ; // 0x2808c74
|
|
/* 02808C74 */ goto L_02808D44;
|
|
L_02808C78: ; // 0x2808c78
|
|
/* 02808C78 */ _t93 = cpu->r[26] + 0x00000094u;
|
|
/* 02808C78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02808C7C */ cpu->r[5] = cpu->r[28];
|
|
/* 02808C80 */ cpu->r[3] = cpu->r[26] + 0x00000094u;
|
|
/* 02808C84 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02808C88 */ cpu->r[12] = cpu->r[3];
|
|
/* 02808C88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02808C8C */ cpu->r[30] = cpu->r[12];
|
|
/* 02808C90 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808C90 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02808C90 */ if (_t95) goto L_02808C98; else goto L_02808C94;
|
|
L_02808C94: ; // 0x2808c94
|
|
/* 02808C94 */ cpu->r[30] = cpu->r[12] + 0x00000018u;
|
|
L_02808C98: ; // 0x2808c98
|
|
/* 02808C98 */ cpu->r[0] = 0x10110000u;
|
|
/* 02808C9C */ _t96 = cpu->r[1] + 0x00000014u;
|
|
/* 02808C9C */ rbrew_write32(cpu->mem, _t96, cpu->r[25]);
|
|
/* 02808CA0 */ cpu->r[0] = cpu->r[0] + 0x00002C10u;
|
|
/* 02808CA4 */ _t97 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02808CA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02808CA8 */ _t98 = cpu->r[1] + 0x00000010u;
|
|
/* 02808CA8 */ rbrew_write32(cpu->mem, _t98, cpu->r[0]);
|
|
/* 02808CAC */ _t99 = cpu->r[4] + 0x00000014u;
|
|
/* 02808CAC */ cpu->r[5] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02808CB0 */ cpu->ctr = cpu->r[5];
|
|
/* 02808CB4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02808CB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02808CBC */ _t100 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02808CBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02808CC0 */ _t101 = cpu->r[6] + 0x00000014u;
|
|
/* 02808CC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02808CC4 */ cpu->ctr = cpu->r[7];
|
|
/* 02808CC8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02808CCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02808CD0 */ _t102 = cpu->r[1] + 0x00000014u;
|
|
/* 02808CD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02808CD4 */ _t103 = cpu->r[8] + 0x00000014u;
|
|
/* 02808CD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02808CD8 */ cpu->ctr = cpu->r[9];
|
|
/* 02808CDC */ _t104 = cpu->r[1] + 0x00000008u;
|
|
/* 02808CDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02808CE0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02808CE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02808CE8 */ _t105 = cpu->r[1] + 0x00000010u;
|
|
/* 02808CE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02808CEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02808CF0 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808CF0 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02808CF0 */ if (_t107) goto L_02808CF4; else goto L_02808D00;
|
|
L_02808CF4: ; // 0x2808cf4
|
|
/* 02808CF4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02808CF8 */ _t108 = cpu->r[30] + 0x00000000u;
|
|
/* 02808CF8 */ rbrew_write8(cpu->mem, _t108, (uint8_t)cpu->r[4]);
|
|
/* 02808CFC */ goto L_02808D38;
|
|
L_02808D00: ; // 0x2808d00
|
|
/* 02808D00 */ _t109 = cpu->r[1] + 0x00000010u;
|
|
/* 02808D00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02808D04 */ cpu->ctr = cpu->r[23];
|
|
/* 02808D08 */ _t110 = cpu->r[1] + 0x00000008u;
|
|
/* 02808D08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02808D0C */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02808D10: ; // 0x2808d10
|
|
/* 02808D10 */ _t111 = cpu->r[12] + 0x00000000u;
|
|
/* 02808D10 */ cpu->r[0] = rbrew_read8(cpu->mem, _t111);
|
|
/* 02808D14 */ _t112 = cpu->r[5] + 0x00000001u;
|
|
/* 02808D14 */ cpu->r[11] = rbrew_read8(cpu->mem, _t112);
|
|
/* 02808D14 */ cpu->r[5] = _t112;
|
|
/* 02808D18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02808D1C */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808D1C */ _t114 = _t113 & 0x00000001u;
|
|
/* 02808D1C */ if (_t114) goto L_02808D20; else goto L_02808D30;
|
|
L_02808D20: ; // 0x2808d20
|
|
/* 02808D20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02808D24 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808D24 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02808D24 */ if (_t116) goto L_02808CF4; else goto L_02808D28;
|
|
L_02808D28: ; // 0x2808d28
|
|
/* 02808D28 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02808D2C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02808D2C */ _t117 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02808D2C */ _t118 = _t117 >> (0x00000002u & 31u);
|
|
/* 02808D2C */ _t119 = _t118 & 0x00000001u;
|
|
/* 02808D2C */ if (_t119) goto L_02808D10; else goto L_02808D30;
|
|
L_02808D30: ; // 0x2808d30
|
|
/* 02808D30 */ cpu->r[0] = 0x00000001u;
|
|
/* 02808D34 */ _t120 = cpu->r[30] + 0x00000000u;
|
|
/* 02808D34 */ rbrew_write8(cpu->mem, _t120, (uint8_t)cpu->r[0]);
|
|
L_02808D38: ; // 0x2808d38
|
|
/* 02808D38 */ _t121 = cpu->r[24] + 0x00000008u;
|
|
/* 02808D38 */ cpu->r[24] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02808D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02808D40 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808D40 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02808D40 */ if (_t123) goto L_02808D44; else goto L_02808A30;
|
|
L_02808D44: ; // 0x2808d44
|
|
/* 02808D44 */ _t124 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02808D44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02808D48 */ _t125 = cpu->r[6] + 0x00000024u;
|
|
/* 02808D48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02808D4C */ cpu->ctr = cpu->r[8];
|
|
/* 02808D50 */ cpu->r[3] = cpu->r[27];
|
|
/* 02808D54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02808D58 */ cpu->r[3] = cpu->r[26];
|
|
/* 02808D5C */ Gambit_fn_028088F0(cpu);
|
|
/* 02808D60 */ /* nop */
|
|
/* 02808D64 */ _t126 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02808D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02808D68 */ cpu->lr = cpu->r[0];
|
|
/* 02808D6C */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02808D70 */ return;
|
|
}
|
|
|
|
// fn_02808D74 @ 0x2808d74
|
|
void Gambit_fn_02808D74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02808D74: ; // 0x2808d74
|
|
/* 02808D74 */ cpu->r[0] = cpu->lr;
|
|
/* 02808D78 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02808D78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02808D78 */ cpu->r[1] = _t0;
|
|
/* 02808D7C */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02808D7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02808D80 */ cpu->r[31] = cpu->r[5];
|
|
/* 02808D84 */ cpu->r[12] = 0x10110000u;
|
|
/* 02808D88 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02808D88 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02808D8C */ cpu->r[28] = 0x10110000u;
|
|
/* 02808D90 */ cpu->r[12] = cpu->r[12] + 0x00002C24u;
|
|
/* 02808D94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02808D94 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02808D98 */ cpu->r[28] = cpu->r[28] + 0x00002744u;
|
|
/* 02808D9C */ cpu->r[5] = cpu->r[6];
|
|
/* 02808DA0 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02808DA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02808DA4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02808DA8 */ cpu->r[6] = 0x00000001u;
|
|
/* 02808DAC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02808DAC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02808DB0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02808DB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02808DB8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02808DB8 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 02808DBC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02808DC0 */ cpu->r[7] = cpu->r[3];
|
|
/* 02808DC4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02808DC4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02808DC8 */ Gambit_fn_02822600(cpu);
|
|
/* 02808DCC */ cpu->r[4] = cpu->r[30];
|
|
/* 02808DD0 */ _t8 = cpu->r[29] + 0x000000BCu;
|
|
/* 02808DD0 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02808DD4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02808DD8 */ Gambit_fn_02806A80(cpu);
|
|
/* 02808DDC */ cpu->r[0] = 0x10110000u;
|
|
/* 02808DE0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02808DE0 */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
/* 02808DE4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02808DE8 */ cpu->r[0] = cpu->r[0] + 0x00002C3Cu;
|
|
/* 02808DEC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02808DF0 */ _t10 = cpu->r[29] + 0x000000BCu;
|
|
/* 02808DF0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02808DF4 */ cpu->r[6] = 0x00000001u;
|
|
/* 02808DF8 */ cpu->r[7] = cpu->r[3];
|
|
/* 02808DFC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02808DFC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02808E00 */ Gambit_fn_02822600(cpu);
|
|
/* 02808E04 */ cpu->r[4] = cpu->r[31];
|
|
/* 02808E08 */ _t12 = cpu->r[29] + 0x000000C4u;
|
|
/* 02808E08 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 02808E0C */ cpu->r[3] = cpu->r[29];
|
|
/* 02808E10 */ Gambit_fn_028085F8(cpu);
|
|
/* 02808E14 */ _t13 = cpu->r[29] + 0x000000C4u;
|
|
/* 02808E14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02808E18 */ _t14 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02808E18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02808E1C */ _t15 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02808E1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02808E20 */ cpu->ctr = cpu->r[10];
|
|
/* 02808E24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02808E28 */ cpu->r[3] = cpu->r[29];
|
|
/* 02808E2C */ Gambit_fn_0280877C(cpu);
|
|
/* 02808E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02808E34 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808E34 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02808E34 */ if (_t17) goto L_02808E44; else goto L_02808E38;
|
|
L_02808E38: ; // 0x2808e38
|
|
/* 02808E38 */ cpu->r[3] = cpu->r[29];
|
|
/* 02808E3C */ cpu->r[4] = cpu->r[31];
|
|
/* 02808E40 */ Gambit_fn_02808980(cpu);
|
|
L_02808E44: ; // 0x2808e44
|
|
/* 02808E44 */ _t18 = cpu->r[29] + 0x000000BCu;
|
|
/* 02808E44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02808E48 */ _t19 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02808E48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02808E4C */ _t20 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02808E4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02808E50 */ cpu->ctr = cpu->r[0];
|
|
/* 02808E54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02808E58 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02808E58 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02808E5C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02808E5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02808E60 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02808E60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02808E64 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02808E64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02808E68 */ cpu->lr = cpu->r[0];
|
|
/* 02808E6C */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02808E6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02808E70 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02808E74 */ return;
|
|
}
|
|
|
|
// fn_02808D78 @ 0x2808d78
|
|
void Gambit_fn_02808D78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02808D78: ; // 0x2808d78
|
|
/* 02808D78 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02808D78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02808D78 */ cpu->r[1] = _t0;
|
|
/* 02808D7C */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02808D7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02808D80 */ cpu->r[31] = cpu->r[5];
|
|
/* 02808D84 */ cpu->r[12] = 0x10110000u;
|
|
/* 02808D88 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02808D88 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02808D8C */ cpu->r[28] = 0x10110000u;
|
|
/* 02808D90 */ cpu->r[12] = cpu->r[12] + 0x00002C24u;
|
|
/* 02808D94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02808D94 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02808D98 */ cpu->r[28] = cpu->r[28] + 0x00002744u;
|
|
/* 02808D9C */ cpu->r[5] = cpu->r[6];
|
|
/* 02808DA0 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02808DA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02808DA4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02808DA8 */ cpu->r[6] = 0x00000001u;
|
|
/* 02808DAC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02808DAC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02808DB0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02808DB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02808DB8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02808DB8 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 02808DBC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02808DC0 */ cpu->r[7] = cpu->r[3];
|
|
/* 02808DC4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02808DC4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02808DC8 */ Gambit_fn_02822600(cpu);
|
|
/* 02808DCC */ cpu->r[4] = cpu->r[30];
|
|
/* 02808DD0 */ _t8 = cpu->r[29] + 0x000000BCu;
|
|
/* 02808DD0 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02808DD4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02808DD8 */ Gambit_fn_02806A80(cpu);
|
|
/* 02808DDC */ cpu->r[0] = 0x10110000u;
|
|
/* 02808DE0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02808DE0 */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
/* 02808DE4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02808DE8 */ cpu->r[0] = cpu->r[0] + 0x00002C3Cu;
|
|
/* 02808DEC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02808DF0 */ _t10 = cpu->r[29] + 0x000000BCu;
|
|
/* 02808DF0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02808DF4 */ cpu->r[6] = 0x00000001u;
|
|
/* 02808DF8 */ cpu->r[7] = cpu->r[3];
|
|
/* 02808DFC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02808DFC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02808E00 */ Gambit_fn_02822600(cpu);
|
|
/* 02808E04 */ cpu->r[4] = cpu->r[31];
|
|
/* 02808E08 */ _t12 = cpu->r[29] + 0x000000C4u;
|
|
/* 02808E08 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 02808E0C */ cpu->r[3] = cpu->r[29];
|
|
/* 02808E10 */ Gambit_fn_028085F8(cpu);
|
|
/* 02808E14 */ _t13 = cpu->r[29] + 0x000000C4u;
|
|
/* 02808E14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02808E18 */ _t14 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02808E18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02808E1C */ _t15 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02808E1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02808E20 */ cpu->ctr = cpu->r[10];
|
|
/* 02808E24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02808E28 */ cpu->r[3] = cpu->r[29];
|
|
/* 02808E2C */ Gambit_fn_0280877C(cpu);
|
|
/* 02808E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02808E34 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808E34 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02808E34 */ if (_t17) goto L_02808E44; else goto L_02808E38;
|
|
L_02808E38: ; // 0x2808e38
|
|
/* 02808E38 */ cpu->r[3] = cpu->r[29];
|
|
/* 02808E3C */ cpu->r[4] = cpu->r[31];
|
|
/* 02808E40 */ Gambit_fn_02808980(cpu);
|
|
L_02808E44: ; // 0x2808e44
|
|
/* 02808E44 */ _t18 = cpu->r[29] + 0x000000BCu;
|
|
/* 02808E44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02808E48 */ _t19 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02808E48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02808E4C */ _t20 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02808E4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02808E50 */ cpu->ctr = cpu->r[0];
|
|
/* 02808E54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02808E58 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02808E58 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02808E5C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02808E5C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02808E60 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02808E60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02808E64 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02808E64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02808E68 */ cpu->lr = cpu->r[0];
|
|
/* 02808E6C */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02808E6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02808E70 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02808E74 */ return;
|
|
}
|
|
|
|
// fn_02808E78 @ 0x2808e78
|
|
void Gambit_fn_02808E78(CPUState* cpu) {
|
|
L_02808E78: ; // 0x2808e78
|
|
/* 02808E78 */ return;
|
|
}
|
|
|
|
// fn_02808E7C @ 0x2808e7c
|
|
void Gambit_fn_02808E7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02808E7C: ; // 0x2808e7c
|
|
/* 02808E7C */ _t0 = cpu->r[1] + 0xFFFFFF70u;
|
|
/* 02808E7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02808E7C */ cpu->r[1] = _t0;
|
|
/* 02808E80 */ /* nop */
|
|
/* 02808E84 */ cpu->r[0] = cpu->lr;
|
|
/* 02808E88 */ _t1 = cpu->r[1] + 0x00000094u;
|
|
/* 02808E88 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02808E8C */ cpu->r[25] = cpu->r[3];
|
|
/* 02808E90 */ _t2 = cpu->r[25] + 0x00000018u;
|
|
/* 02808E90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02808E94 */ _t3 = cpu->r[6] + 0x00000000u;
|
|
/* 02808E94 */ cpu->r[18] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02808E98 */ cpu->r[24] = cpu->r[5];
|
|
/* 02808E9C */ cpu->r[3] = cpu->r[18];
|
|
/* 02808EA0 */ cpu->r[23] = cpu->r[4];
|
|
/* 02808EA4 */ Gambit_fn_02841DD8(cpu);
|
|
/* 02808EA8 */ cpu->r[28] = 0x10110000u;
|
|
/* 02808EAC */ _t4 = cpu->r[24] + 0x00000000u;
|
|
/* 02808EAC */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02808EB0 */ cpu->r[28] = cpu->r[28] + 0x00002744u;
|
|
/* 02808EB4 */ cpu->r[22] = 0x10110000u;
|
|
/* 02808EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000005u);
|
|
/* 02808EBC */ cpu->r[26] = cpu->r[3];
|
|
/* 02808EC0 */ cpu->r[22] = cpu->r[22] + 0x00007399u;
|
|
/* 02808EC4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808EC4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02808EC4 */ if (_t6) goto L_02808EC8; else goto L_02809128;
|
|
L_02808EC8: ; // 0x2808ec8
|
|
/* 02808EC8 */ _t7 = cpu->r[25] + 0x000000B4u;
|
|
/* 02808EC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02808ECC */ _t8 = cpu->r[25] + 0x000000B8u;
|
|
/* 02808ECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02808ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 02808ED4 */ cpu->r[21] = cpu->r[25] + 0x000000A8u;
|
|
/* 02808ED8 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02808ED8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02808ED8 */ if (_t10) goto L_02808EDC; else goto L_028090E0;
|
|
L_02808EDC: ; // 0x2808edc
|
|
/* 02808EDC */ _t11 = cpu->r[21] + 0x00000004u;
|
|
/* 02808EDC */ cpu->r[27] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02808EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02808EE4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808EE4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02808EE4 */ if (_t13) goto L_02808EF0; else goto L_02808EE8;
|
|
L_02808EE8: ; // 0x2808ee8
|
|
/* 02808EE8 */ _t14 = cpu->r[27] + 0x00000000u;
|
|
/* 02808EE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02808EEC */ _t15 = cpu->r[21] + 0x00000004u;
|
|
/* 02808EEC */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
L_02808EF0: ; // 0x2808ef0
|
|
/* 02808EF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02808EF4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808EF4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02808EF4 */ if (_t17) goto L_0280909C; else goto L_02808EF8;
|
|
L_02808EF8: ; // 0x2808ef8
|
|
/* 02808EF8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02808EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02808EFC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808EFC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02808EFC */ if (_t19) goto L_02808F00; else goto L_02808F10;
|
|
L_02808F00: ; // 0x2808f00
|
|
/* 02808F00 */ cpu->r[3] = 0x00000018u;
|
|
/* 02808F04 */ Gambit_fn_02801A78(cpu);
|
|
/* 02808F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02808F0C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808F0C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02808F0C */ if (_t21) goto L_02808F34; else goto L_02808F10;
|
|
L_02808F10: ; // 0x2808f10
|
|
/* 02808F10 */ _t22 = cpu->r[3] + 0x00000010u;
|
|
/* 02808F10 */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
|
|
/* 02808F14 */ cpu->r[12] = 0x00000000u;
|
|
/* 02808F18 */ cpu->r[11] = 0x10110000u;
|
|
/* 02808F1C */ _t23 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02808F1C */ rbrew_write32(cpu->mem, _t23, cpu->r[22]);
|
|
/* 02808F20 */ cpu->r[11] = cpu->r[11] + 0x0000295Cu;
|
|
/* 02808F24 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02808F24 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 02808F28 */ _t25 = cpu->r[3] + 0x00000014u;
|
|
/* 02808F28 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 02808F2C */ _t26 = cpu->r[3] + 0x00000008u;
|
|
/* 02808F2C */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 02808F30 */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 02808F30 */ rbrew_write32(cpu->mem, _t27, cpu->r[12]);
|
|
L_02808F34: ; // 0x2808f34
|
|
/* 02808F34 */ cpu->r[5] = 0x10110000u;
|
|
/* 02808F38 */ _t28 = cpu->r[27] + 0x0000001Cu;
|
|
/* 02808F38 */ rbrew_write32(cpu->mem, _t28, cpu->r[21]);
|
|
/* 02808F3C */ cpu->r[5] = cpu->r[5] + 0x00002974u;
|
|
/* 02808F40 */ _t29 = cpu->r[27] + 0x00000018u;
|
|
/* 02808F40 */ rbrew_write32(cpu->mem, _t29, cpu->r[26]);
|
|
/* 02808F44 */ _t30 = cpu->r[27] + 0x00000014u;
|
|
/* 02808F44 */ rbrew_write32(cpu->mem, _t30, cpu->r[5]);
|
|
/* 02808F48 */ _t31 = cpu->r[22] + 0x00000000u;
|
|
/* 02808F48 */ cpu->r[29] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02808F4C */ _t32 = cpu->r[27] + 0x00000060u;
|
|
/* 02808F4C */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[29]);
|
|
/* 02808F50 */ _t33 = cpu->r[23] + 0x00000004u;
|
|
/* 02808F50 */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02808F54 */ _t34 = cpu->r[6] + 0x00000014u;
|
|
/* 02808F54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02808F58 */ cpu->ctr = cpu->r[7];
|
|
/* 02808F5C */ cpu->r[31] = cpu->r[27] + 0x00000020u;
|
|
/* 02808F60 */ cpu->r[3] = cpu->r[23];
|
|
/* 02808F64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02808F68 */ _t35 = cpu->r[23] + 0x00000000u;
|
|
/* 02808F68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02808F6C */ _t36 = cpu->r[11] + 0x00000000u;
|
|
/* 02808F6C */ cpu->r[8] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02808F70 */ cpu->r[30] = 0x00000000u;
|
|
/* 02808F74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 02808F78 */ cpu->r[0] = 0x00080000u;
|
|
/* 02808F7C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808F7C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02808F7C */ if (_t38) goto L_0280901C; else goto L_02808F80;
|
|
L_02808F80: ; // 0x2808f80
|
|
/* 02808F80 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02808F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02808F88 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02808F8C */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02808F8C */ _t40 = _t39 & 0x00000001u;
|
|
/* 02808F8C */ if (_t40) goto L_02808FA8; else goto L_02808F90;
|
|
L_02808F90: ; // 0x2808f90
|
|
/* 02808F90 */ _t41 = cpu->r[11] + 0x00000000u;
|
|
/* 02808F90 */ cpu->r[9] = rbrew_read8(cpu->mem, _t41);
|
|
/* 02808F94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]);
|
|
/* 02808F98 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02808F98 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02808F98 */ if (_t43) goto L_02808F9C; else goto L_02808F80;
|
|
L_02808F9C: ; // 0x2808f9c
|
|
/* 02808F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000041u);
|
|
/* 02808FA0 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02808FA0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02808FA0 */ if (_t45) goto L_02808FA4; else goto L_02809024;
|
|
L_02808FA4: ; // 0x2808fa4
|
|
/* 02808FA4 */ goto L_02809028;
|
|
L_02808FA8: ; // 0x2808fa8
|
|
/* 02808FA8 */ _t46 = cpu->r[23] + 0x00000004u;
|
|
/* 02808FA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02808FAC */ _t47 = cpu->r[10] + 0x00000014u;
|
|
/* 02808FAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02808FB0 */ cpu->ctr = cpu->r[0];
|
|
/* 02808FB4 */ cpu->r[3] = cpu->r[23];
|
|
/* 02808FB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02808FBC */ cpu->r[5] = 0x00000000u;
|
|
/* 02808FC0 */ _t48 = cpu->r[23] + 0x00000000u;
|
|
/* 02808FC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02808FC4 */ cpu->r[6] = cpu->r[5];
|
|
/* 02808FC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02808FCC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02808FD0 */ _t49 = cpu->r[31] + 0x00000000u;
|
|
/* 02808FD0 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[29]);
|
|
/* 02808FD4 */ _t50 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02808FD4 */ rbrew_write32(cpu->mem, _t50, cpu->r[31]);
|
|
/* 02808FD8 */ _t51 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02808FD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02808FDC */ cpu->r[5] = cpu->r[27];
|
|
/* 02808FE0 */ _t52 = cpu->r[21] + 0x00000000u;
|
|
/* 02808FE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02808FE4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02808FE8 */ cpu->r[3] = cpu->r[21];
|
|
/* 02808FEC */ _t53 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02808FEC */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
/* 02808FF0 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 02808FF4 */ cpu->r[5] = 0x00000001u;
|
|
/* 02808FF8 */ _t54 = cpu->r[21] + 0x00000000u;
|
|
/* 02808FF8 */ rbrew_write32(cpu->mem, _t54, cpu->r[3]);
|
|
/* 02808FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02809000 */ cpu->r[31] = 0x00000000u;
|
|
/* 02809004 */ _t55 = cpu->r[3] + 0x00000008u;
|
|
/* 02809004 */ rbrew_write32(cpu->mem, _t55, cpu->r[5]);
|
|
/* 02809008 */ cpu->r[29] = 0x10110000u;
|
|
/* 0280900C */ cpu->r[30] = cpu->r[31];
|
|
/* 02809010 */ cpu->r[29] = cpu->r[29] + 0x00002C68u;
|
|
/* 02809014 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809014 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02809014 */ if (_t57) goto L_02809388; else goto L_02809018;
|
|
L_02809018: ; // 0x2809018
|
|
/* 02809018 */ goto L_02809354;
|
|
L_0280901C: ; // 0x280901c
|
|
/* 0280901C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000041u);
|
|
/* 02809020 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02809020 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02809020 */ if (_t59) goto L_02809028; else goto L_02809024;
|
|
L_02809024: ; // 0x2809024
|
|
/* 02809024 */ cpu->r[30] = 0x00000040u;
|
|
L_02809028: ; // 0x2809028
|
|
/* 02809028 */ _t60 = cpu->r[23] + 0x00000004u;
|
|
/* 02809028 */ cpu->r[10] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0280902C */ _t61 = cpu->r[10] + 0x00000014u;
|
|
/* 0280902C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02809030 */ cpu->ctr = cpu->r[0];
|
|
/* 02809034 */ cpu->r[3] = cpu->r[23];
|
|
/* 02809038 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280903C */ _t62 = cpu->r[23] + 0x00000000u;
|
|
/* 0280903C */ cpu->r[4] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02809040 */ cpu->r[3] = cpu->r[31];
|
|
/* 02809044 */ cpu->r[5] = cpu->r[30];
|
|
/* 02809048 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280904C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02809050 */ _t63 = cpu->r[31] + cpu->r[30];
|
|
/* 02809050 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[29]);
|
|
/* 02809054 */ _t64 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02809054 */ rbrew_write32(cpu->mem, _t64, cpu->r[31]);
|
|
/* 02809058 */ _t65 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02809058 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0280905C */ cpu->r[5] = cpu->r[27];
|
|
/* 02809060 */ _t66 = cpu->r[21] + 0x00000000u;
|
|
/* 02809060 */ cpu->r[4] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02809064 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02809068 */ cpu->r[3] = cpu->r[21];
|
|
/* 0280906C */ _t67 = cpu->r[21] + 0x0000000Cu;
|
|
/* 0280906C */ rbrew_write32(cpu->mem, _t67, cpu->r[12]);
|
|
/* 02809070 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 02809074 */ cpu->r[5] = 0x00000001u;
|
|
/* 02809078 */ _t68 = cpu->r[21] + 0x00000000u;
|
|
/* 02809078 */ rbrew_write32(cpu->mem, _t68, cpu->r[3]);
|
|
/* 0280907C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02809080 */ cpu->r[31] = 0x00000000u;
|
|
/* 02809084 */ _t69 = cpu->r[3] + 0x00000008u;
|
|
/* 02809084 */ rbrew_write32(cpu->mem, _t69, cpu->r[5]);
|
|
/* 02809088 */ cpu->r[29] = 0x10110000u;
|
|
/* 0280908C */ cpu->r[30] = cpu->r[31];
|
|
/* 02809090 */ cpu->r[29] = cpu->r[29] + 0x00002C68u;
|
|
/* 02809094 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809094 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02809094 */ if (_t71) goto L_02809388; else goto L_02809098;
|
|
L_02809098: ; // 0x2809098
|
|
/* 02809098 */ goto L_02809354;
|
|
L_0280909C: ; // 0x280909c
|
|
/* 0280909C */ _t72 = cpu->r[21] + 0x0000000Cu;
|
|
/* 0280909C */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
|
|
/* 028090A0 */ cpu->r[5] = 0x00000000u;
|
|
/* 028090A4 */ _t73 = cpu->r[21] + 0x00000000u;
|
|
/* 028090A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t73);
|
|
/* 028090A8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028090AC */ cpu->r[3] = cpu->r[21];
|
|
/* 028090B0 */ _t74 = cpu->r[21] + 0x0000000Cu;
|
|
/* 028090B0 */ rbrew_write32(cpu->mem, _t74, cpu->r[12]);
|
|
/* 028090B4 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 028090B8 */ cpu->r[5] = 0x00000001u;
|
|
/* 028090BC */ _t75 = cpu->r[21] + 0x00000000u;
|
|
/* 028090BC */ rbrew_write32(cpu->mem, _t75, cpu->r[3]);
|
|
/* 028090C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 028090C4 */ cpu->r[31] = 0x00000000u;
|
|
/* 028090C8 */ _t76 = cpu->r[3] + 0x00000008u;
|
|
/* 028090C8 */ rbrew_write32(cpu->mem, _t76, cpu->r[5]);
|
|
/* 028090CC */ cpu->r[29] = 0x10110000u;
|
|
/* 028090D0 */ cpu->r[30] = cpu->r[31];
|
|
/* 028090D4 */ cpu->r[29] = cpu->r[29] + 0x00002C68u;
|
|
/* 028090D8 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028090D8 */ _t78 = _t77 & 0x00000001u;
|
|
/* 028090D8 */ if (_t78) goto L_02809388; else goto L_028090DC;
|
|
L_028090DC: ; // 0x28090dc
|
|
/* 028090DC */ goto L_02809354;
|
|
L_028090E0: ; // 0x28090e0
|
|
/* 028090E0 */ _t79 = cpu->r[21] + 0x00000000u;
|
|
/* 028090E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t79);
|
|
/* 028090E4 */ cpu->r[5] = cpu->r[23];
|
|
/* 028090E8 */ cpu->r[3] = cpu->r[21];
|
|
/* 028090EC */ Gambit_fn_020EFCB8(cpu);
|
|
/* 028090F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028090F4 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028090F4 */ _t81 = _t80 & 0x00000001u;
|
|
/* 028090F4 */ if (_t81) goto L_0280933C; else goto L_028090F8;
|
|
L_028090F8: ; // 0x28090f8
|
|
/* 028090F8 */ cpu->r[12] = cpu->r[3] + 0x00000018u;
|
|
/* 028090F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028090FC */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028090FC */ _t83 = _t82 & 0x00000001u;
|
|
/* 028090FC */ if (_t83) goto L_0280933C; else goto L_02809100;
|
|
L_02809100: ; // 0x2809100
|
|
/* 02809100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02809104 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809104 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02809104 */ if (_t85) goto L_0280933C; else goto L_02809108;
|
|
L_02809108: ; // 0x2809108
|
|
/* 02809108 */ _t86 = cpu->r[12] + 0x00000000u;
|
|
/* 02809108 */ rbrew_write32(cpu->mem, _t86, cpu->r[26]);
|
|
/* 0280910C */ cpu->r[29] = 0x10110000u;
|
|
/* 02809110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02809114 */ cpu->r[31] = 0x00000000u;
|
|
/* 02809118 */ cpu->r[29] = cpu->r[29] + 0x00002C68u;
|
|
/* 0280911C */ cpu->r[30] = cpu->r[31];
|
|
/* 02809120 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809120 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02809120 */ if (_t88) goto L_02809388; else goto L_02809124;
|
|
L_02809124: ; // 0x2809124
|
|
/* 02809124 */ goto L_02809354;
|
|
L_02809128: ; // 0x2809128
|
|
/* 02809128 */ _t89 = cpu->r[25] + 0x000000C4u;
|
|
/* 02809128 */ cpu->r[4] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0280912C */ cpu->r[3] = 0x00000041u;
|
|
/* 02809130 */ cpu->r[5] = 0x00000004u;
|
|
/* 02809134 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02809138 */ cpu->r[31] = cpu->r[3];
|
|
/* 02809138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280913C */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280913C */ _t91 = _t90 & 0x00000001u;
|
|
/* 0280913C */ if (_t91) goto L_0280914C; else goto L_02809140;
|
|
L_02809140: ; // 0x2809140
|
|
/* 02809140 */ cpu->r[3] = cpu->r[31];
|
|
/* 02809144 */ cpu->r[4] = 0x00000041u;
|
|
/* 02809148 */ Gambit_fn_02C89380(cpu);
|
|
L_0280914C: ; // 0x280914c
|
|
/* 0280914C */ _t92 = cpu->r[1] + 0x00000010u;
|
|
/* 0280914C */ rbrew_write32(cpu->mem, _t92, cpu->r[31]);
|
|
/* 02809150 */ cpu->r[6] = 0x00000041u;
|
|
/* 02809154 */ _t93 = cpu->r[22] + 0x00000000u;
|
|
/* 02809154 */ cpu->r[30] = rbrew_read8(cpu->mem, _t93);
|
|
/* 02809158 */ cpu->r[19] = 0x10110000u;
|
|
/* 0280915C */ _t94 = cpu->r[1] + 0x00000018u;
|
|
/* 0280915C */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 02809160 */ cpu->r[19] = cpu->r[19] + 0x000027BCu;
|
|
/* 02809164 */ _t95 = cpu->r[31] + 0x00000040u;
|
|
/* 02809164 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[30]);
|
|
/* 02809168 */ _t96 = cpu->r[1] + 0x00000010u;
|
|
/* 02809168 */ cpu->r[7] = rbrew_read32(cpu->mem, _t96);
|
|
/* 0280916C */ _t97 = cpu->r[1] + 0x00000014u;
|
|
/* 0280916C */ rbrew_write32(cpu->mem, _t97, cpu->r[19]);
|
|
/* 02809170 */ cpu->r[29] = 0x10110000u;
|
|
/* 02809174 */ cpu->r[29] = cpu->r[29] + 0x00002C58u;
|
|
/* 02809178 */ cpu->r[20] = 0x00000040u;
|
|
/* 0280917C */ _t98 = cpu->r[7] + 0x00000000u;
|
|
/* 0280917C */ rbrew_write8(cpu->mem, _t98, (uint8_t)cpu->r[30]);
|
|
L_02809180: ; // 0x2809180
|
|
/* 02809180 */ _t99 = cpu->r[1] + 0x00000014u;
|
|
/* 02809180 */ cpu->r[8] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02809184 */ _t100 = cpu->r[1] + 0x00000008u;
|
|
/* 02809184 */ rbrew_write32(cpu->mem, _t100, cpu->r[29]);
|
|
/* 02809188 */ _t101 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809188 */ rbrew_write32(cpu->mem, _t101, cpu->r[28]);
|
|
/* 0280918C */ _t102 = cpu->r[8] + 0x00000014u;
|
|
/* 0280918C */ cpu->r[9] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02809190 */ cpu->ctr = cpu->r[9];
|
|
/* 02809194 */ _t103 = cpu->r[1] + 0x00000010u;
|
|
/* 02809194 */ cpu->r[27] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02809198 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280919C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028091A0 */ _t104 = cpu->r[1] + 0x00000010u;
|
|
/* 028091A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t104);
|
|
/* 028091A4 */ _t105 = cpu->r[11] + 0x00000000u;
|
|
/* 028091A4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t105);
|
|
/* 028091A8 */ cpu->r[31] = 0x00000000u;
|
|
/* 028091AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 028091B0 */ cpu->r[4] = 0x00080000u;
|
|
/* 028091B4 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028091B4 */ _t107 = _t106 & 0x00000001u;
|
|
/* 028091B4 */ if (_t107) goto L_028091DC; else goto L_028091B8;
|
|
L_028091B8: ; // 0x28091b8
|
|
/* 028091B8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 028091BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[4]);
|
|
/* 028091C0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 028091C4 */ _t108 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028091C4 */ _t109 = _t108 & 0x00000001u;
|
|
/* 028091C4 */ if (_t109) goto L_028091D8; else goto L_028091C8;
|
|
L_028091C8: ; // 0x28091c8
|
|
/* 028091C8 */ _t110 = cpu->r[11] + 0x00000000u;
|
|
/* 028091C8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t110);
|
|
/* 028091CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 028091D0 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028091D0 */ _t112 = _t111 & 0x00000001u;
|
|
/* 028091D0 */ if (_t112) goto L_028091D4; else goto L_028091B8;
|
|
L_028091D4: ; // 0x28091d4
|
|
/* 028091D4 */ goto L_028091DC;
|
|
L_028091D8: ; // 0x28091d8
|
|
/* 028091D8 */ cpu->r[31] = 0x00000000u;
|
|
L_028091DC: ; // 0x28091dc
|
|
/* 028091DC */ _t113 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028091DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t113);
|
|
/* 028091E0 */ cpu->r[17] = cpu->r[31];
|
|
/* 028091E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 028091E4 */ _t114 = cpu->r[4] + 0x00000014u;
|
|
/* 028091E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t114);
|
|
/* 028091E8 */ _t115 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028091E8 */ _t116 = _t115 & 0x00000001u;
|
|
/* 028091E8 */ if (_t116) goto L_028091EC; else goto L_028091F0;
|
|
L_028091EC: ; // 0x28091ec
|
|
/* 028091EC */ cpu->r[17] = 0x00000000u;
|
|
L_028091F0: ; // 0x28091f0
|
|
/* 028091F0 */ cpu->ctr = cpu->r[5];
|
|
/* 028091F4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028091F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028091FC */ _t117 = cpu->r[1] + 0x00000008u;
|
|
/* 028091FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02809200 */ _t118 = cpu->r[6] + 0x00000000u;
|
|
/* 02809200 */ cpu->r[7] = rbrew_read8(cpu->mem, _t118);
|
|
/* 02809204 */ cpu->r[21] = 0x00000000u;
|
|
/* 02809208 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 0280920C */ cpu->r[8] = 0x00080000u;
|
|
/* 02809210 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809210 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02809210 */ if (_t120) goto L_02809238; else goto L_02809214;
|
|
L_02809214: ; // 0x2809214
|
|
/* 02809214 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02809218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[8]);
|
|
/* 0280921C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02809220 */ _t121 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02809220 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02809220 */ if (_t122) goto L_02809234; else goto L_02809224;
|
|
L_02809224: ; // 0x2809224
|
|
/* 02809224 */ _t123 = cpu->r[6] + 0x00000000u;
|
|
/* 02809224 */ cpu->r[9] = rbrew_read8(cpu->mem, _t123);
|
|
/* 02809228 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 0280922C */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280922C */ _t125 = _t124 & 0x00000001u;
|
|
/* 0280922C */ if (_t125) goto L_02809230; else goto L_02809214;
|
|
L_02809230: ; // 0x2809230
|
|
/* 02809230 */ goto L_02809238;
|
|
L_02809234: ; // 0x2809234
|
|
/* 02809234 */ cpu->r[21] = 0x00000000u;
|
|
L_02809238: ; // 0x2809238
|
|
/* 02809238 */ _t126 = cpu->r[1] + 0x00000018u;
|
|
/* 02809238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 0280923C */ cpu->r[8] = cpu->r[0] - cpu->r[17];
|
|
/* 02809240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[8]);
|
|
/* 02809244 */ _t127 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02809244 */ _t128 = _t127 & 0x00000001u;
|
|
/* 02809244 */ if (_t128) goto L_0280924C; else goto L_02809248;
|
|
L_02809248: ; // 0x2809248
|
|
/* 02809248 */ cpu->r[21] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0280924C: ; // 0x280924c
|
|
/* 0280924C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02809250 */ _t129 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02809250 */ _t130 = _t129 & 0x00000001u;
|
|
/* 02809250 */ if (_t130) goto L_02809254; else goto L_02809290;
|
|
L_02809254: ; // 0x2809254
|
|
/* 02809254 */ _t131 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809254 */ cpu->r[12] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02809258 */ _t132 = cpu->r[12] + 0x00000014u;
|
|
/* 02809258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t132);
|
|
/* 0280925C */ cpu->ctr = cpu->r[0];
|
|
/* 02809260 */ cpu->r[16] = cpu->r[27] + cpu->r[17];
|
|
/* 02809264 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02809268 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280926C */ _t133 = cpu->r[1] + 0x00000008u;
|
|
/* 0280926C */ cpu->r[4] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02809270 */ cpu->r[6] = 0x00000000u;
|
|
/* 02809274 */ cpu->r[5] = cpu->r[21];
|
|
/* 02809278 */ cpu->r[3] = cpu->r[16];
|
|
/* 0280927C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02809280 */ cpu->r[0] = cpu->r[17] + cpu->r[21];
|
|
/* 02809284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[31]);
|
|
/* 02809288 */ _t134 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02809288 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02809288 */ if (_t135) goto L_0280928C; else goto L_02809290;
|
|
L_0280928C: ; // 0x280928c
|
|
/* 0280928C */ _t136 = cpu->r[27] + cpu->r[0];
|
|
/* 0280928C */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[30]);
|
|
L_02809290: ; // 0x2809290
|
|
/* 02809290 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFFFu;
|
|
/* 02809290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02809294 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809294 */ _t138 = _t137 & 0x00000001u;
|
|
/* 02809294 */ if (_t138) goto L_02809298; else goto L_02809180;
|
|
L_02809298: ; // 0x2809298
|
|
/* 02809298 */ cpu->r[31] = 0x10110000u;
|
|
/* 0280929C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 028092A0 */ cpu->r[31] = cpu->r[31] + 0x00002C5Cu;
|
|
/* 028092A4 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028092A4 */ _t140 = _t139 & 0x00000001u;
|
|
/* 028092A4 */ if (_t140) goto L_028092D8; else goto L_028092A8;
|
|
L_028092A8: ; // 0x28092a8
|
|
/* 028092A8 */ _t141 = cpu->r[1] + 0x00000030u;
|
|
/* 028092A8 */ rbrew_write32(cpu->mem, _t141, cpu->r[28]);
|
|
/* 028092AC */ cpu->r[3] = cpu->r[26];
|
|
/* 028092B0 */ _t142 = cpu->r[25] + 0x000000C4u;
|
|
/* 028092B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t142);
|
|
/* 028092B4 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 028092B8 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 028092BC */ _t143 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028092BC */ rbrew_write32(cpu->mem, _t143, cpu->r[31]);
|
|
/* 028092C0 */ Gambit_fn_02843590(cpu);
|
|
/* 028092C4 */ _t144 = cpu->r[1] + 0x00000010u;
|
|
/* 028092C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t144);
|
|
/* 028092C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028092CC */ _t145 = cpu->r[1] + 0x00000014u;
|
|
/* 028092CC */ rbrew_write32(cpu->mem, _t145, cpu->r[19]);
|
|
/* 028092D0 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028092D0 */ _t147 = _t146 & 0x00000001u;
|
|
/* 028092D0 */ if (_t147) goto L_028092D4; else goto L_02809338;
|
|
L_028092D4: ; // 0x28092d4
|
|
/* 028092D4 */ goto L_0280933C;
|
|
L_028092D8: ; // 0x28092d8
|
|
/* 028092D8 */ cpu->r[0] = 0x10110000u;
|
|
/* 028092DC */ _t148 = cpu->r[1] + 0x00000020u;
|
|
/* 028092DC */ rbrew_write32(cpu->mem, _t148, cpu->r[28]);
|
|
/* 028092E0 */ cpu->r[3] = cpu->r[18];
|
|
/* 028092E4 */ cpu->r[0] = cpu->r[0] + 0x00002C64u;
|
|
/* 028092E8 */ _t149 = cpu->r[25] + 0x000000C4u;
|
|
/* 028092E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t149);
|
|
/* 028092EC */ cpu->r[4] = cpu->r[23];
|
|
/* 028092F0 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 028092F4 */ _t150 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028092F4 */ rbrew_write32(cpu->mem, _t150, cpu->r[0]);
|
|
/* 028092F8 */ Gambit_fn_02843CC8(cpu);
|
|
/* 028092FC */ cpu->r[4] = 0x00000001u;
|
|
/* 02809300 */ _t151 = cpu->r[25] + 0x000000C4u;
|
|
/* 02809300 */ cpu->r[5] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02809304 */ cpu->r[26] = cpu->r[3];
|
|
/* 02809308 */ Gambit_fn_028421D4(cpu);
|
|
/* 0280930C */ _t152 = cpu->r[1] + 0x00000020u;
|
|
/* 0280930C */ rbrew_write32(cpu->mem, _t152, cpu->r[28]);
|
|
/* 02809310 */ cpu->r[3] = cpu->r[26];
|
|
/* 02809314 */ _t153 = cpu->r[25] + 0x000000C4u;
|
|
/* 02809314 */ cpu->r[6] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02809318 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0280931C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02809320 */ _t154 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02809320 */ rbrew_write32(cpu->mem, _t154, cpu->r[31]);
|
|
/* 02809324 */ Gambit_fn_02842FE4(cpu);
|
|
/* 02809328 */ _t155 = cpu->r[1] + 0x00000010u;
|
|
/* 02809328 */ cpu->r[3] = rbrew_read32(cpu->mem, _t155);
|
|
/* 0280932C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809330 */ _t156 = cpu->r[1] + 0x00000014u;
|
|
/* 02809330 */ rbrew_write32(cpu->mem, _t156, cpu->r[19]);
|
|
/* 02809334 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809334 */ _t158 = _t157 & 0x00000001u;
|
|
/* 02809334 */ if (_t158) goto L_0280933C; else goto L_02809338;
|
|
L_02809338: ; // 0x2809338
|
|
/* 02809338 */ Gambit_fn_02801BB4(cpu);
|
|
L_0280933C: ; // 0x280933c
|
|
/* 0280933C */ cpu->r[29] = 0x10110000u;
|
|
/* 02809340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02809344 */ cpu->r[31] = 0x00000000u;
|
|
/* 02809348 */ cpu->r[29] = cpu->r[29] + 0x00002C68u;
|
|
/* 0280934C */ cpu->r[30] = cpu->r[31];
|
|
/* 02809350 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809350 */ _t160 = _t159 & 0x00000001u;
|
|
/* 02809350 */ if (_t160) goto L_02809388; else goto L_02809354;
|
|
L_02809354: ; // 0x2809354
|
|
/* 02809354 */ _t161 = cpu->r[1] + 0x00000028u;
|
|
/* 02809354 */ rbrew_write32(cpu->mem, _t161, cpu->r[28]);
|
|
/* 02809358 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280935C */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 02809360 */ _t162 = cpu->r[1] + 0x00000024u;
|
|
/* 02809360 */ rbrew_write32(cpu->mem, _t162, cpu->r[29]);
|
|
/* 02809364 */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 02809368 */ cpu->r[31] = 0x00000001u;
|
|
/* 0280936C */ Gambit_fn_02842084(cpu);
|
|
/* 02809370 */ _t163 = cpu->r[1] + 0x00000044u;
|
|
/* 02809370 */ cpu->r[7] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02809374 */ _t164 = cpu->r[22] + 0x00000000u;
|
|
/* 02809374 */ cpu->r[10] = rbrew_read8(cpu->mem, _t164);
|
|
/* 02809378 */ _t165 = cpu->r[7] + 0x00000000u;
|
|
/* 02809378 */ cpu->r[9] = rbrew_read8(cpu->mem, _t165);
|
|
/* 0280937C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02809380 */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809380 */ _t167 = _t166 & 0x00000001u;
|
|
/* 02809380 */ if (_t167) goto L_02809384; else goto L_02809388;
|
|
L_02809384: ; // 0x2809384
|
|
/* 02809384 */ cpu->r[30] = 0x00000001u;
|
|
L_02809388: ; // 0x2809388
|
|
/* 02809388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280938C */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280938C */ _t169 = _t168 & 0x00000001u;
|
|
/* 0280938C */ if (_t169) goto L_028093F4; else goto L_02809390;
|
|
L_02809390: ; // 0x2809390
|
|
/* 02809390 */ _t170 = cpu->r[24] + 0x00000000u;
|
|
/* 02809390 */ cpu->r[4] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02809394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000005u);
|
|
/* 02809398 */ cpu->r[4] = 0x00000002u;
|
|
/* 0280939C */ _t171 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280939C */ _t172 = _t171 & 0x00000001u;
|
|
/* 0280939C */ if (_t172) goto L_028093A0; else goto L_028093A4;
|
|
L_028093A0: ; // 0x28093a0
|
|
/* 028093A0 */ cpu->r[4] = 0x00000001u;
|
|
L_028093A4: ; // 0x28093a4
|
|
/* 028093A4 */ _t173 = cpu->r[25] + 0x000000C4u;
|
|
/* 028093A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t173);
|
|
/* 028093A8 */ cpu->r[3] = cpu->r[26];
|
|
/* 028093AC */ Gambit_fn_028421D4(cpu);
|
|
/* 028093B0 */ _t174 = cpu->r[25] + 0x00000030u;
|
|
/* 028093B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t174);
|
|
/* 028093B4 */ cpu->r[3] = cpu->r[25] + 0x00000030u;
|
|
/* 028093B8 */ cpu->r[5] = cpu->r[23];
|
|
/* 028093BC */ Gambit_fn_020EFCB8(cpu);
|
|
/* 028093C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028093C4 */ _t175 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028093C4 */ _t176 = _t175 & 0x00000001u;
|
|
/* 028093C4 */ if (_t176) goto L_028093CC; else goto L_028093C8;
|
|
L_028093C8: ; // 0x28093c8
|
|
/* 028093C8 */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_028093CC: ; // 0x28093cc
|
|
/* 028093CC */ _t177 = cpu->r[1] + 0x00000040u;
|
|
/* 028093CC */ rbrew_write32(cpu->mem, _t177, cpu->r[28]);
|
|
/* 028093D0 */ _t178 = cpu->r[3] + 0x00000000u;
|
|
/* 028093D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t178);
|
|
/* 028093D4 */ _t179 = cpu->r[1] + 0x00000034u;
|
|
/* 028093D4 */ rbrew_write32(cpu->mem, _t179, cpu->r[29]);
|
|
/* 028093D8 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
|
|
/* 028093DC */ _t180 = cpu->r[25] + 0x000000C4u;
|
|
/* 028093DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t180);
|
|
/* 028093E0 */ _t181 = cpu->r[1] + 0x00000038u;
|
|
/* 028093E0 */ rbrew_write32(cpu->mem, _t181, cpu->r[28]);
|
|
/* 028093E4 */ cpu->r[3] = cpu->r[26];
|
|
/* 028093E8 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
|
|
/* 028093EC */ _t182 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028093EC */ rbrew_write32(cpu->mem, _t182, cpu->r[0]);
|
|
/* 028093F0 */ Gambit_fn_02842FE4(cpu);
|
|
L_028093F4: ; // 0x28093f4
|
|
/* 028093F4 */ /* nop */
|
|
/* 028093F8 */ _t183 = cpu->r[1] + 0x00000094u;
|
|
/* 028093F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t183);
|
|
/* 028093FC */ cpu->lr = cpu->r[0];
|
|
/* 02809400 */ cpu->r[1] = cpu->r[1] + 0x00000090u;
|
|
/* 02809404 */ return;
|
|
}
|
|
|
|
// fn_02809408 @ 0x2809408
|
|
void Gambit_fn_02809408(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02809408: ; // 0x2809408
|
|
/* 02809408 */ cpu->r[0] = cpu->lr;
|
|
/* 0280940C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280940C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280940C */ cpu->r[1] = _t0;
|
|
/* 02809410 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02809410 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02809414 */ cpu->r[30] = cpu->r[4];
|
|
/* 02809418 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809418 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280941C */ cpu->r[31] = cpu->r[3];
|
|
/* 02809420 */ cpu->r[5] = cpu->r[30];
|
|
/* 02809424 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02809424 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02809428 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02809428 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280942C */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02809430 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02809434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809438 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809438 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02809438 */ if (_t6) goto L_02809478; else goto L_0280943C;
|
|
L_0280943C: ; // 0x280943c
|
|
/* 0280943C */ cpu->r[0] = cpu->r[3] + 0x00000018u;
|
|
/* 0280943C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02809440 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809440 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02809440 */ if (_t8) goto L_02809478; else goto L_02809444;
|
|
L_02809444: ; // 0x2809444
|
|
/* 02809444 */ _t9 = cpu->r[31] + 0x00000080u;
|
|
/* 02809444 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02809448 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280944C */ cpu->r[3] = cpu->r[31] + 0x00000080u;
|
|
/* 02809450 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02809454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809458 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809458 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02809458 */ if (_t11) goto L_02809460; else goto L_0280945C;
|
|
L_0280945C: ; // 0x280945c
|
|
/* 0280945C */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_02809460: ; // 0x2809460
|
|
/* 02809460 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02809460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02809464 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02809464 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02809468 */ cpu->lr = cpu->r[0];
|
|
/* 0280946C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280946C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02809470 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02809474 */ return;
|
|
L_02809478: ; // 0x2809478
|
|
/* 02809478 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02809478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280947C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0280947C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02809480 */ cpu->lr = cpu->r[0];
|
|
/* 02809484 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02809488 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280948C */ cpu->r[3] = 0x00000000u;
|
|
/* 02809490 */ return;
|
|
}
|
|
|
|
// fn_0280940C @ 0x280940c
|
|
void Gambit_fn_0280940C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0280940C: ; // 0x280940c
|
|
/* 0280940C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280940C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280940C */ cpu->r[1] = _t0;
|
|
/* 02809410 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02809410 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02809414 */ cpu->r[30] = cpu->r[4];
|
|
/* 02809418 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809418 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280941C */ cpu->r[31] = cpu->r[3];
|
|
/* 02809420 */ cpu->r[5] = cpu->r[30];
|
|
/* 02809424 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02809424 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02809428 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02809428 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280942C */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02809430 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02809434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809438 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809438 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02809438 */ if (_t6) goto L_02809478; else goto L_0280943C;
|
|
L_0280943C: ; // 0x280943c
|
|
/* 0280943C */ cpu->r[0] = cpu->r[3] + 0x00000018u;
|
|
/* 0280943C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02809440 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809440 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02809440 */ if (_t8) goto L_02809478; else goto L_02809444;
|
|
L_02809444: ; // 0x2809444
|
|
/* 02809444 */ _t9 = cpu->r[31] + 0x00000080u;
|
|
/* 02809444 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02809448 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280944C */ cpu->r[3] = cpu->r[31] + 0x00000080u;
|
|
/* 02809450 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02809454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809458 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809458 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02809458 */ if (_t11) goto L_02809460; else goto L_0280945C;
|
|
L_0280945C: ; // 0x280945c
|
|
/* 0280945C */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_02809460: ; // 0x2809460
|
|
/* 02809460 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02809460 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02809464 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02809464 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02809468 */ cpu->lr = cpu->r[0];
|
|
/* 0280946C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280946C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02809470 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02809474 */ return;
|
|
L_02809478: ; // 0x2809478
|
|
/* 02809478 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02809478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280947C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0280947C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02809480 */ cpu->lr = cpu->r[0];
|
|
/* 02809484 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02809488 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280948C */ cpu->r[3] = 0x00000000u;
|
|
/* 02809490 */ return;
|
|
}
|
|
|
|
// fn_02809494 @ 0x2809494
|
|
void Gambit_fn_02809494(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02809494: ; // 0x2809494
|
|
/* 02809494 */ cpu->r[0] = cpu->lr;
|
|
/* 02809498 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02809498 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02809498 */ cpu->r[1] = _t0;
|
|
/* 0280949C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280949C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028094A0 */ cpu->r[30] = cpu->r[4];
|
|
/* 028094A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028094A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028094A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028094AC */ cpu->r[5] = cpu->r[30];
|
|
/* 028094B0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028094B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028094B4 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 028094B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028094B8 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 028094BC */ Gambit_fn_020EFCB8(cpu);
|
|
/* 028094C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028094C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028094C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028094C4 */ if (_t6) goto L_02809504; else goto L_028094C8;
|
|
L_028094C8: ; // 0x28094c8
|
|
/* 028094C8 */ cpu->r[0] = cpu->r[3] + 0x00000018u;
|
|
/* 028094C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028094CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028094CC */ _t8 = _t7 & 0x00000001u;
|
|
/* 028094CC */ if (_t8) goto L_02809504; else goto L_028094D0;
|
|
L_028094D0: ; // 0x28094d0
|
|
/* 028094D0 */ _t9 = cpu->r[31] + 0x00000044u;
|
|
/* 028094D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028094D4 */ cpu->r[5] = cpu->r[30];
|
|
/* 028094D8 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 028094DC */ Gambit_fn_020EFCB8(cpu);
|
|
/* 028094E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028094E4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028094E4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 028094E4 */ if (_t11) goto L_028094EC; else goto L_028094E8;
|
|
L_028094E8: ; // 0x28094e8
|
|
/* 028094E8 */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_028094EC: ; // 0x28094ec
|
|
/* 028094EC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 028094EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028094F0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 028094F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028094F4 */ cpu->lr = cpu->r[0];
|
|
/* 028094F8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028094F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028094FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02809500 */ return;
|
|
L_02809504: ; // 0x2809504
|
|
/* 02809504 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02809504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02809508 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02809508 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280950C */ cpu->lr = cpu->r[0];
|
|
/* 02809510 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809510 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02809514 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02809518 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280951C */ return;
|
|
}
|
|
|
|
// fn_02809498 @ 0x2809498
|
|
void Gambit_fn_02809498(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02809498: ; // 0x2809498
|
|
/* 02809498 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02809498 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02809498 */ cpu->r[1] = _t0;
|
|
/* 0280949C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280949C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028094A0 */ cpu->r[30] = cpu->r[4];
|
|
/* 028094A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028094A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028094A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028094AC */ cpu->r[5] = cpu->r[30];
|
|
/* 028094B0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028094B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028094B4 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 028094B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028094B8 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 028094BC */ Gambit_fn_020EFCB8(cpu);
|
|
/* 028094C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028094C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028094C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028094C4 */ if (_t6) goto L_02809504; else goto L_028094C8;
|
|
L_028094C8: ; // 0x28094c8
|
|
/* 028094C8 */ cpu->r[0] = cpu->r[3] + 0x00000018u;
|
|
/* 028094C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028094CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028094CC */ _t8 = _t7 & 0x00000001u;
|
|
/* 028094CC */ if (_t8) goto L_02809504; else goto L_028094D0;
|
|
L_028094D0: ; // 0x28094d0
|
|
/* 028094D0 */ _t9 = cpu->r[31] + 0x00000044u;
|
|
/* 028094D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028094D4 */ cpu->r[5] = cpu->r[30];
|
|
/* 028094D8 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 028094DC */ Gambit_fn_020EFCB8(cpu);
|
|
/* 028094E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028094E4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028094E4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 028094E4 */ if (_t11) goto L_028094EC; else goto L_028094E8;
|
|
L_028094E8: ; // 0x28094e8
|
|
/* 028094E8 */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_028094EC: ; // 0x28094ec
|
|
/* 028094EC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 028094EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028094F0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 028094F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028094F4 */ cpu->lr = cpu->r[0];
|
|
/* 028094F8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028094F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028094FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02809500 */ return;
|
|
L_02809504: ; // 0x2809504
|
|
/* 02809504 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02809504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02809508 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02809508 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280950C */ cpu->lr = cpu->r[0];
|
|
/* 02809510 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809510 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02809514 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02809518 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280951C */ return;
|
|
}
|
|
|
|
// fn_02809520 @ 0x2809520
|
|
void Gambit_fn_02809520(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02809520: ; // 0x2809520
|
|
/* 02809520 */ cpu->r[0] = cpu->lr;
|
|
/* 02809524 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02809524 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02809524 */ cpu->r[1] = _t0;
|
|
/* 02809528 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02809528 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280952C */ cpu->r[30] = cpu->r[4];
|
|
/* 02809530 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809530 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02809534 */ cpu->r[31] = cpu->r[3];
|
|
/* 02809538 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280953C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280953C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02809540 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02809540 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02809544 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02809548 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 0280954C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809550 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809550 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02809550 */ if (_t6) goto L_02809590; else goto L_02809554;
|
|
L_02809554: ; // 0x2809554
|
|
/* 02809554 */ cpu->r[0] = cpu->r[3] + 0x00000018u;
|
|
/* 02809554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02809558 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809558 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02809558 */ if (_t8) goto L_02809590; else goto L_0280955C;
|
|
L_0280955C: ; // 0x280955c
|
|
/* 0280955C */ _t9 = cpu->r[31] + 0x00000058u;
|
|
/* 0280955C */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02809560 */ cpu->r[5] = cpu->r[30];
|
|
/* 02809564 */ cpu->r[3] = cpu->r[31] + 0x00000058u;
|
|
/* 02809568 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 0280956C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809570 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809570 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02809570 */ if (_t11) goto L_02809578; else goto L_02809574;
|
|
L_02809574: ; // 0x2809574
|
|
/* 02809574 */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_02809578: ; // 0x2809578
|
|
/* 02809578 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02809578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280957C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0280957C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02809580 */ cpu->lr = cpu->r[0];
|
|
/* 02809584 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02809588 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280958C */ return;
|
|
L_02809590: ; // 0x2809590
|
|
/* 02809590 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02809590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02809594 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02809594 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02809598 */ cpu->lr = cpu->r[0];
|
|
/* 0280959C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280959C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028095A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028095A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 028095A8 */ return;
|
|
}
|
|
|
|
// fn_02809524 @ 0x2809524
|
|
void Gambit_fn_02809524(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02809524: ; // 0x2809524
|
|
/* 02809524 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02809524 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02809524 */ cpu->r[1] = _t0;
|
|
/* 02809528 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02809528 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280952C */ cpu->r[30] = cpu->r[4];
|
|
/* 02809530 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809530 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02809534 */ cpu->r[31] = cpu->r[3];
|
|
/* 02809538 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280953C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280953C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02809540 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02809540 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02809544 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02809548 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 0280954C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809550 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809550 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02809550 */ if (_t6) goto L_02809590; else goto L_02809554;
|
|
L_02809554: ; // 0x2809554
|
|
/* 02809554 */ cpu->r[0] = cpu->r[3] + 0x00000018u;
|
|
/* 02809554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02809558 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809558 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02809558 */ if (_t8) goto L_02809590; else goto L_0280955C;
|
|
L_0280955C: ; // 0x280955c
|
|
/* 0280955C */ _t9 = cpu->r[31] + 0x00000058u;
|
|
/* 0280955C */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02809560 */ cpu->r[5] = cpu->r[30];
|
|
/* 02809564 */ cpu->r[3] = cpu->r[31] + 0x00000058u;
|
|
/* 02809568 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 0280956C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809570 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809570 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02809570 */ if (_t11) goto L_02809578; else goto L_02809574;
|
|
L_02809574: ; // 0x2809574
|
|
/* 02809574 */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_02809578: ; // 0x2809578
|
|
/* 02809578 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02809578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280957C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0280957C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02809580 */ cpu->lr = cpu->r[0];
|
|
/* 02809584 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02809588 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280958C */ return;
|
|
L_02809590: ; // 0x2809590
|
|
/* 02809590 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02809590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02809594 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02809594 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02809598 */ cpu->lr = cpu->r[0];
|
|
/* 0280959C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280959C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028095A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028095A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 028095A8 */ return;
|
|
}
|
|
|
|
// fn_028095AC @ 0x28095ac
|
|
void Gambit_fn_028095AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_028095AC: ; // 0x28095ac
|
|
/* 028095AC */ cpu->r[0] = cpu->lr;
|
|
/* 028095B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028095B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028095B0 */ cpu->r[1] = _t0;
|
|
/* 028095B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028095B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028095B8 */ cpu->r[30] = cpu->r[4];
|
|
/* 028095BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028095BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028095C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028095C4 */ cpu->r[5] = cpu->r[30];
|
|
/* 028095C8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028095C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028095CC */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 028095CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028095D0 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 028095D4 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 028095D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028095DC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028095DC */ _t6 = _t5 & 0x00000001u;
|
|
/* 028095DC */ if (_t6) goto L_0280961C; else goto L_028095E0;
|
|
L_028095E0: ; // 0x28095e0
|
|
/* 028095E0 */ cpu->r[0] = cpu->r[3] + 0x00000018u;
|
|
/* 028095E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028095E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028095E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028095E4 */ if (_t8) goto L_0280961C; else goto L_028095E8;
|
|
L_028095E8: ; // 0x28095e8
|
|
/* 028095E8 */ _t9 = cpu->r[31] + 0x00000094u;
|
|
/* 028095E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028095EC */ cpu->r[5] = cpu->r[30];
|
|
/* 028095F0 */ cpu->r[3] = cpu->r[31] + 0x00000094u;
|
|
/* 028095F4 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 028095F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028095FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028095FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 028095FC */ if (_t11) goto L_02809604; else goto L_02809600;
|
|
L_02809600: ; // 0x2809600
|
|
/* 02809600 */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_02809604: ; // 0x2809604
|
|
/* 02809604 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02809604 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02809608 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02809608 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280960C */ cpu->lr = cpu->r[0];
|
|
/* 02809610 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809610 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02809614 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02809618 */ return;
|
|
L_0280961C: ; // 0x280961c
|
|
/* 0280961C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0280961C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02809620 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02809620 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02809624 */ cpu->lr = cpu->r[0];
|
|
/* 02809628 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280962C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02809630 */ cpu->r[3] = 0x00000000u;
|
|
/* 02809634 */ return;
|
|
}
|
|
|
|
// fn_028095B0 @ 0x28095b0
|
|
void Gambit_fn_028095B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_028095B0: ; // 0x28095b0
|
|
/* 028095B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028095B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028095B0 */ cpu->r[1] = _t0;
|
|
/* 028095B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028095B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028095B8 */ cpu->r[30] = cpu->r[4];
|
|
/* 028095BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028095BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028095C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028095C4 */ cpu->r[5] = cpu->r[30];
|
|
/* 028095C8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028095C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028095CC */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 028095CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028095D0 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 028095D4 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 028095D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028095DC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028095DC */ _t6 = _t5 & 0x00000001u;
|
|
/* 028095DC */ if (_t6) goto L_0280961C; else goto L_028095E0;
|
|
L_028095E0: ; // 0x28095e0
|
|
/* 028095E0 */ cpu->r[0] = cpu->r[3] + 0x00000018u;
|
|
/* 028095E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028095E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028095E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028095E4 */ if (_t8) goto L_0280961C; else goto L_028095E8;
|
|
L_028095E8: ; // 0x28095e8
|
|
/* 028095E8 */ _t9 = cpu->r[31] + 0x00000094u;
|
|
/* 028095E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028095EC */ cpu->r[5] = cpu->r[30];
|
|
/* 028095F0 */ cpu->r[3] = cpu->r[31] + 0x00000094u;
|
|
/* 028095F4 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 028095F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028095FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028095FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 028095FC */ if (_t11) goto L_02809604; else goto L_02809600;
|
|
L_02809600: ; // 0x2809600
|
|
/* 02809600 */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_02809604: ; // 0x2809604
|
|
/* 02809604 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02809604 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02809608 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02809608 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280960C */ cpu->lr = cpu->r[0];
|
|
/* 02809610 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809610 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02809614 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02809618 */ return;
|
|
L_0280961C: ; // 0x280961c
|
|
/* 0280961C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0280961C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02809620 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02809620 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02809624 */ cpu->lr = cpu->r[0];
|
|
/* 02809628 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280962C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02809630 */ cpu->r[3] = 0x00000000u;
|
|
/* 02809634 */ return;
|
|
}
|
|
|
|
// fn_02809638 @ 0x2809638
|
|
void Gambit_fn_02809638(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02809638: ; // 0x2809638
|
|
/* 02809638 */ cpu->r[0] = cpu->lr;
|
|
/* 0280963C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280963C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280963C */ cpu->r[1] = _t0;
|
|
/* 02809640 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02809640 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02809644 */ cpu->r[30] = cpu->r[4];
|
|
/* 02809648 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809648 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280964C */ cpu->r[31] = cpu->r[3];
|
|
/* 02809650 */ cpu->r[5] = cpu->r[30];
|
|
/* 02809654 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02809654 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02809658 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02809658 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280965C */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02809660 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02809664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809668 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809668 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02809668 */ if (_t6) goto L_028096AC; else goto L_0280966C;
|
|
L_0280966C: ; // 0x280966c
|
|
/* 0280966C */ cpu->r[0] = cpu->r[3] + 0x00000018u;
|
|
/* 0280966C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02809670 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809670 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02809670 */ if (_t8) goto L_028096AC; else goto L_02809674;
|
|
L_02809674: ; // 0x2809674
|
|
/* 02809674 */ _t9 = cpu->r[31] + 0x000000A8u;
|
|
/* 02809674 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02809678 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280967C */ cpu->r[3] = cpu->r[31] + 0x000000A8u;
|
|
/* 02809680 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02809684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809688 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809688 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02809688 */ if (_t11) goto L_02809690; else goto L_0280968C;
|
|
L_0280968C: ; // 0x280968c
|
|
/* 0280968C */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_02809690: ; // 0x2809690
|
|
/* 02809690 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02809690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02809694 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02809694 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02809698 */ cpu->lr = cpu->r[0];
|
|
/* 0280969C */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 0280969C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028096A0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028096A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028096A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028096A8 */ return;
|
|
L_028096AC: ; // 0x28096ac
|
|
/* 028096AC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 028096AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028096B0 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 028096B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028096B4 */ cpu->lr = cpu->r[0];
|
|
/* 028096B8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028096B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028096BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028096C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028096C4 */ return;
|
|
}
|
|
|
|
// fn_0280963C @ 0x280963c
|
|
void Gambit_fn_0280963C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0280963C: ; // 0x280963c
|
|
/* 0280963C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280963C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280963C */ cpu->r[1] = _t0;
|
|
/* 02809640 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02809640 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02809644 */ cpu->r[30] = cpu->r[4];
|
|
/* 02809648 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809648 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280964C */ cpu->r[31] = cpu->r[3];
|
|
/* 02809650 */ cpu->r[5] = cpu->r[30];
|
|
/* 02809654 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02809654 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02809658 */ _t4 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02809658 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280965C */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02809660 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02809664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809668 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809668 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02809668 */ if (_t6) goto L_028096AC; else goto L_0280966C;
|
|
L_0280966C: ; // 0x280966c
|
|
/* 0280966C */ cpu->r[0] = cpu->r[3] + 0x00000018u;
|
|
/* 0280966C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02809670 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809670 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02809670 */ if (_t8) goto L_028096AC; else goto L_02809674;
|
|
L_02809674: ; // 0x2809674
|
|
/* 02809674 */ _t9 = cpu->r[31] + 0x000000A8u;
|
|
/* 02809674 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02809678 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280967C */ cpu->r[3] = cpu->r[31] + 0x000000A8u;
|
|
/* 02809680 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02809684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809688 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809688 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02809688 */ if (_t11) goto L_02809690; else goto L_0280968C;
|
|
L_0280968C: ; // 0x280968c
|
|
/* 0280968C */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_02809690: ; // 0x2809690
|
|
/* 02809690 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02809690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02809694 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02809694 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02809698 */ cpu->lr = cpu->r[0];
|
|
/* 0280969C */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 0280969C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028096A0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028096A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028096A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028096A8 */ return;
|
|
L_028096AC: ; // 0x28096ac
|
|
/* 028096AC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 028096AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028096B0 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 028096B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028096B4 */ cpu->lr = cpu->r[0];
|
|
/* 028096B8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028096B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028096BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028096C0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028096C4 */ return;
|
|
}
|
|
|
|
// fn_028096C8 @ 0x28096c8
|
|
void Gambit_fn_028096C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110;
|
|
|
|
L_028096C8: ; // 0x28096c8
|
|
/* 028096C8 */ _t0 = cpu->r[1] + 0xFFFFFF38u;
|
|
/* 028096C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028096C8 */ cpu->r[1] = _t0;
|
|
/* 028096CC */ /* nop */
|
|
/* 028096D0 */ cpu->r[0] = cpu->lr;
|
|
/* 028096D4 */ _t1 = cpu->r[1] + 0x000000CCu;
|
|
/* 028096D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028096D8 */ cpu->r[29] = 0x10110000u;
|
|
/* 028096DC */ cpu->r[27] = 0x10110000u;
|
|
/* 028096E0 */ cpu->r[29] = cpu->r[29] + 0x00002744u;
|
|
/* 028096E4 */ cpu->r[27] = cpu->r[27] + 0x00007399u;
|
|
/* 028096E8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028096E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[27]);
|
|
/* 028096EC */ _t3 = cpu->r[5] + 0x00000000u;
|
|
/* 028096EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028096F0 */ cpu->r[28] = cpu->r[4];
|
|
/* 028096F4 */ cpu->r[31] = 0x00000000u;
|
|
/* 028096F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028096FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02809700 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02809700 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02809704 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02809704 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02809704 */ if (_t6) goto L_02809708; else goto L_02809730;
|
|
L_02809708: ; // 0x2809708
|
|
/* 02809708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0280970C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280970C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280970C */ if (_t8) goto L_0280976C; else goto L_02809710;
|
|
L_02809710: ; // 0x2809710
|
|
/* 02809710 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809710 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02809710 */ if (_t10) goto L_028097BC; else goto L_02809714;
|
|
L_02809714: ; // 0x2809714
|
|
/* 02809714 */ _t11 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02809714 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02809718 */ cpu->r[5] = cpu->r[28];
|
|
/* 0280971C */ cpu->r[3] = cpu->r[30] + 0x0000006Cu;
|
|
/* 02809720 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02809724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809728 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809728 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02809728 */ if (_t13) goto L_0280972C; else goto L_0280980C;
|
|
L_0280972C: ; // 0x280972c
|
|
/* 0280972C */ goto L_02809810;
|
|
L_02809730: ; // 0x2809730
|
|
/* 02809730 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02809734 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02809734 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02809734 */ if (_t15) goto L_02809848; else goto L_02809738;
|
|
L_02809738: ; // 0x2809738
|
|
/* 02809738 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809738 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02809738 */ if (_t17) goto L_02809904; else goto L_0280973C;
|
|
L_0280973C: ; // 0x280973c
|
|
/* 0280973C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000005u);
|
|
/* 02809740 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809740 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02809740 */ if (_t19) goto L_02809A58; else goto L_02809744;
|
|
L_02809744: ; // 0x2809744
|
|
/* 02809744 */ _t20 = cpu->r[30] + 0x00000018u;
|
|
/* 02809744 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02809748 */ _t21 = cpu->r[11] + 0x00000000u;
|
|
/* 02809748 */ cpu->r[25] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280974C */ cpu->r[4] = cpu->r[28];
|
|
/* 02809750 */ cpu->r[3] = cpu->r[25];
|
|
/* 02809754 */ Gambit_fn_02841DD8(cpu);
|
|
/* 02809758 */ cpu->r[27] = 0x10110000u;
|
|
/* 0280975C */ cpu->r[26] = cpu->r[3];
|
|
/* 0280975C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02809760 */ cpu->r[27] = cpu->r[27] + 0x00002C78u;
|
|
/* 02809764 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809764 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02809764 */ if (_t23) goto L_028099C4; else goto L_02809768;
|
|
L_02809768: ; // 0x2809768
|
|
/* 02809768 */ goto L_02809974;
|
|
L_0280976C: ; // 0x280976c
|
|
/* 0280976C */ _t24 = cpu->r[30] + 0x00000044u;
|
|
/* 0280976C */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02809770 */ cpu->r[5] = cpu->r[28];
|
|
/* 02809774 */ cpu->r[3] = cpu->r[30] + 0x00000044u;
|
|
/* 02809778 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 0280977C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809780 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809780 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02809780 */ if (_t26) goto L_02809788; else goto L_02809784;
|
|
L_02809784: ; // 0x2809784
|
|
/* 02809784 */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_02809788: ; // 0x2809788
|
|
/* 02809788 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 02809788 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280978C */ cpu->r[4] = 0x10110000u;
|
|
/* 02809790 */ _t28 = cpu->r[3] + 0x00000004u;
|
|
/* 02809790 */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02809794 */ cpu->r[7] = cpu->r[5] ^ cpu->r[6];
|
|
/* 02809798 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0280979C */ cpu->r[8] = rbrew_clz32(cpu->r[7]);
|
|
/* 028097A0 */ cpu->r[4] = cpu->r[4] + 0x00002C81u;
|
|
/* 028097A4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028097A8 */ _t29 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 028097A8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 028097A8 */ if (_t30) goto L_028097AC; // else: addr-0 trap, fall-through
|
|
L_028097AC: ; // 0x28097ac
|
|
/* 028097AC */ Gambit_fn_0280B9F0(cpu);
|
|
/* 028097B0 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 028097B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028097B4 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 028097B4 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 028097B8 */ goto L_02809950;
|
|
L_028097BC: ; // 0x28097bc
|
|
/* 028097BC */ _t33 = cpu->r[30] + 0x00000058u;
|
|
/* 028097BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028097C0 */ cpu->r[5] = cpu->r[28];
|
|
/* 028097C4 */ cpu->r[3] = cpu->r[30] + 0x00000058u;
|
|
/* 028097C8 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 028097CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028097D0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028097D0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 028097D0 */ if (_t35) goto L_028097D8; else goto L_028097D4;
|
|
L_028097D4: ; // 0x28097d4
|
|
/* 028097D4 */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_028097D8: ; // 0x28097d8
|
|
/* 028097D8 */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 028097D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 028097DC */ cpu->r[4] = 0x10110000u;
|
|
/* 028097E0 */ _t37 = cpu->r[3] + 0x00000004u;
|
|
/* 028097E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028097E4 */ cpu->r[11] = cpu->r[5] ^ cpu->r[9];
|
|
/* 028097E8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 028097EC */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 028097F0 */ cpu->r[4] = cpu->r[4] + 0x00002C84u;
|
|
/* 028097F4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028097F8 */ _t38 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 028097F8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 028097F8 */ if (_t39) goto L_028097FC; // else: addr-0 trap, fall-through
|
|
L_028097FC: ; // 0x28097fc
|
|
/* 028097FC */ Gambit_fn_0280B9F0(cpu);
|
|
/* 02809800 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 02809800 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02809804 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02809804 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 02809808 */ goto L_02809950;
|
|
L_0280980C: ; // 0x280980c
|
|
/* 0280980C */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_02809810: ; // 0x2809810
|
|
/* 02809810 */ _t42 = cpu->r[3] + 0x00000000u;
|
|
/* 02809810 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02809814 */ _t43 = cpu->r[3] + 0x00000004u;
|
|
/* 02809814 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02809818 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0280981C */ _t44 = cpu->r[3] + 0x00000000u;
|
|
/* 0280981C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02809820 */ cpu->r[4] = 0x10110000u;
|
|
/* 02809824 */ /* nop */
|
|
/* 02809828 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0280982C */ cpu->r[4] = cpu->r[4] + 0x00002C87u;
|
|
/* 02809830 */ cpu->r[31] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02809834 */ _t45 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02809834 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02809834 */ if (_t46) goto L_02809838; // else: addr-0 trap, fall-through
|
|
L_02809838: ; // 0x2809838
|
|
/* 02809838 */ Gambit_fn_0280B9F0(cpu);
|
|
/* 0280983C */ _t47 = cpu->r[3] + 0x00000000u;
|
|
/* 0280983C */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02809840 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02809840 */ rbrew_write32(cpu->mem, _t48, cpu->r[12]);
|
|
/* 02809844 */ goto L_02809950;
|
|
L_02809848: ; // 0x2809848
|
|
/* 02809848 */ _t49 = cpu->r[30] + 0x00000080u;
|
|
/* 02809848 */ cpu->r[4] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0280984C */ cpu->r[5] = cpu->r[28];
|
|
/* 02809850 */ cpu->r[3] = cpu->r[30] + 0x00000080u;
|
|
/* 02809854 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02809858 */ cpu->r[31] = cpu->r[3];
|
|
/* 02809858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280985C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280985C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0280985C */ if (_t51) goto L_02809864; else goto L_02809860;
|
|
L_02809860: ; // 0x2809860
|
|
/* 02809860 */ cpu->r[31] = cpu->r[31] + 0x00000018u;
|
|
L_02809864: ; // 0x2809864
|
|
/* 02809864 */ _t52 = cpu->r[31] + 0x00000004u;
|
|
/* 02809864 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02809868 */ _t53 = cpu->r[11] + 0x00000014u;
|
|
/* 02809868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0280986C */ cpu->ctr = cpu->r[0];
|
|
/* 02809870 */ cpu->r[3] = cpu->r[31];
|
|
/* 02809874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02809878 */ _t54 = cpu->r[31] + 0x00000004u;
|
|
/* 02809878 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0280987C */ _t55 = cpu->r[12] + 0x00000014u;
|
|
/* 0280987C */ cpu->r[5] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02809880 */ cpu->ctr = cpu->r[5];
|
|
/* 02809884 */ cpu->r[3] = cpu->r[31];
|
|
/* 02809888 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280988C */ _t56 = cpu->r[31] + 0x00000054u;
|
|
/* 0280988C */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02809890 */ _t57 = cpu->r[7] + 0x00000014u;
|
|
/* 02809890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02809894 */ cpu->ctr = cpu->r[0];
|
|
/* 02809898 */ _t58 = cpu->r[31] + 0x00000000u;
|
|
/* 02809898 */ cpu->r[26] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0280989C */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 028098A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028098A4 */ _t59 = cpu->r[31] + 0x00000050u;
|
|
/* 028098A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
|
|
/* 028098A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[9]);
|
|
/* 028098AC */ _t60 = cpu->r[31] + 0x00000000u;
|
|
/* 028098AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 028098B0 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028098B0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 028098B0 */ if (_t62) goto L_028098B4; else goto L_028098C0;
|
|
L_028098B4: ; // 0x28098b4
|
|
/* 028098B4 */ cpu->r[31] = 0x00000001u;
|
|
/* 028098B8 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 028098B8 */ rbrew_write32(cpu->mem, _t63, cpu->r[12]);
|
|
/* 028098BC */ goto L_02809950;
|
|
L_028098C0: ; // 0x28098c0
|
|
/* 028098C0 */ cpu->r[5] = 0x00080000u;
|
|
/* 028098C4 */ _t64 = cpu->r[31] + 0x00000050u;
|
|
/* 028098C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 028098C8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 028098CC */ _t65 = cpu->r[27] + 0x00000000u;
|
|
/* 028098CC */ cpu->r[6] = rbrew_read8(cpu->mem, _t65);
|
|
/* 028098D0 */ cpu->r[9] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 028098D4 */ cpu->ctr = cpu->r[5];
|
|
/* 028098D8 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_028098DC: ; // 0x28098dc
|
|
/* 028098DC */ _t66 = cpu->r[9] + 0x00000001u;
|
|
/* 028098DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t66);
|
|
/* 028098DC */ cpu->r[9] = _t66;
|
|
/* 028098E0 */ _t67 = cpu->r[8] + 0x00000001u;
|
|
/* 028098E0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t67);
|
|
/* 028098E0 */ cpu->r[8] = _t67;
|
|
/* 028098E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 028098E8 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028098E8 */ _t69 = _t68 & 0x00000001u;
|
|
/* 028098E8 */ if (_t69) goto L_028098EC; else goto L_028098F8;
|
|
L_028098EC: ; // 0x28098ec
|
|
/* 028098EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 028098F0 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028098F0 */ _t71 = _t70 & 0x00000001u;
|
|
/* 028098F0 */ if (_t71) goto L_028098B4; else goto L_028098F4;
|
|
L_028098F4: ; // 0x28098f4
|
|
/* 028098F4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028098F4 */ _t72 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028098F4 */ _t73 = _t72 >> (0x00000002u & 31u);
|
|
/* 028098F4 */ _t74 = _t73 & 0x00000001u;
|
|
/* 028098F4 */ if (_t74) goto L_028098DC; else goto L_028098F8;
|
|
L_028098F8: ; // 0x28098f8
|
|
/* 028098F8 */ cpu->r[31] = 0x00000000u;
|
|
/* 028098FC */ _t75 = cpu->r[1] + 0x00000010u;
|
|
/* 028098FC */ rbrew_write32(cpu->mem, _t75, cpu->r[12]);
|
|
/* 02809900 */ goto L_02809950;
|
|
L_02809904: ; // 0x2809904
|
|
/* 02809904 */ _t76 = cpu->r[30] + 0x00000094u;
|
|
/* 02809904 */ cpu->r[4] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02809908 */ cpu->r[5] = cpu->r[28];
|
|
/* 0280990C */ cpu->r[3] = cpu->r[30] + 0x00000094u;
|
|
/* 02809910 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02809914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809918 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809918 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02809918 */ if (_t78) goto L_02809920; else goto L_0280991C;
|
|
L_0280991C: ; // 0x280991c
|
|
/* 0280991C */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
L_02809920: ; // 0x2809920
|
|
/* 02809920 */ _t79 = cpu->r[3] + 0x00000001u;
|
|
/* 02809920 */ cpu->r[5] = rbrew_read8(cpu->mem, _t79);
|
|
/* 02809924 */ cpu->r[12] = 0x10110000u;
|
|
/* 02809928 */ _t80 = cpu->r[3] + 0x00000000u;
|
|
/* 02809928 */ cpu->r[0] = rbrew_read8(cpu->mem, _t80);
|
|
/* 0280992C */ cpu->r[11] = cpu->r[0] ^ cpu->r[5];
|
|
/* 02809930 */ cpu->r[12] = cpu->r[12] + 0x00002C70u;
|
|
/* 02809934 */ cpu->r[31] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02809938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280993C */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02809940 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809940 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02809940 */ if (_t82) goto L_0280994C; else goto L_02809944;
|
|
L_02809944: ; // 0x2809944
|
|
/* 02809944 */ cpu->r[12] = 0x10110000u;
|
|
/* 02809948 */ cpu->r[12] = cpu->r[12] + 0x00002C8Cu;
|
|
L_0280994C: ; // 0x280994c
|
|
/* 0280994C */ _t83 = cpu->r[1] + 0x00000010u;
|
|
/* 0280994C */ rbrew_write32(cpu->mem, _t83, cpu->r[12]);
|
|
L_02809950: ; // 0x2809950
|
|
/* 02809950 */ _t84 = cpu->r[30] + 0x00000018u;
|
|
/* 02809950 */ cpu->r[11] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02809954 */ _t85 = cpu->r[11] + 0x00000000u;
|
|
/* 02809954 */ cpu->r[25] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02809958 */ cpu->r[4] = cpu->r[28];
|
|
/* 0280995C */ cpu->r[3] = cpu->r[25];
|
|
/* 02809960 */ Gambit_fn_02841DD8(cpu);
|
|
/* 02809964 */ cpu->r[27] = 0x10110000u;
|
|
/* 02809968 */ cpu->r[26] = cpu->r[3];
|
|
/* 02809968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0280996C */ cpu->r[27] = cpu->r[27] + 0x00002C78u;
|
|
/* 02809970 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809970 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02809970 */ if (_t87) goto L_028099C4; else goto L_02809974;
|
|
L_02809974: ; // 0x2809974
|
|
/* 02809974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02809978 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280997C */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280997C */ _t89 = _t88 & 0x00000001u;
|
|
/* 0280997C */ if (_t89) goto L_02809998; else goto L_02809980;
|
|
L_02809980: ; // 0x2809980
|
|
/* 02809980 */ Gambit_fn_02802AE8(cpu);
|
|
/* 02809984 */ /* nop */
|
|
/* 02809988 */ _t90 = cpu->r[1] + 0x000000CCu;
|
|
/* 02809988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0280998C */ cpu->lr = cpu->r[0];
|
|
/* 02809990 */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 02809994 */ return;
|
|
L_02809998: ; // 0x2809998
|
|
/* 02809998 */ _t91 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02809998 */ rbrew_write32(cpu->mem, _t91, cpu->r[29]);
|
|
/* 0280999C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 028099A0 */ _t92 = cpu->r[30] + 0x000000C4u;
|
|
/* 028099A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t92);
|
|
/* 028099A4 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 028099A8 */ _t93 = cpu->r[1] + 0x00000018u;
|
|
/* 028099A8 */ rbrew_write32(cpu->mem, _t93, cpu->r[27]);
|
|
/* 028099AC */ Gambit_fn_02843590(cpu);
|
|
/* 028099B0 */ /* nop */
|
|
/* 028099B4 */ _t94 = cpu->r[1] + 0x000000CCu;
|
|
/* 028099B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 028099B8 */ cpu->lr = cpu->r[0];
|
|
/* 028099BC */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 028099C0 */ return;
|
|
L_028099C4: ; // 0x28099c4
|
|
/* 028099C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028099C8 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028099C8 */ _t96 = _t95 & 0x00000001u;
|
|
/* 028099C8 */ if (_t96) goto L_028099CC; else goto L_02809A58;
|
|
L_028099CC: ; // 0x28099cc
|
|
/* 028099CC */ cpu->r[10] = 0x10110000u;
|
|
/* 028099D0 */ _t97 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028099D0 */ rbrew_write32(cpu->mem, _t97, cpu->r[29]);
|
|
/* 028099D4 */ cpu->r[3] = cpu->r[25];
|
|
/* 028099D8 */ cpu->r[10] = cpu->r[10] + 0x00002C80u;
|
|
/* 028099DC */ _t98 = cpu->r[30] + 0x000000C4u;
|
|
/* 028099DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t98);
|
|
/* 028099E0 */ cpu->r[4] = cpu->r[28];
|
|
/* 028099E4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 028099E8 */ _t99 = cpu->r[1] + 0x00000008u;
|
|
/* 028099E8 */ rbrew_write32(cpu->mem, _t99, cpu->r[10]);
|
|
/* 028099EC */ Gambit_fn_02843CC8(cpu);
|
|
/* 028099F0 */ cpu->r[4] = 0x00000002u;
|
|
/* 028099F4 */ _t100 = cpu->r[30] + 0x000000C4u;
|
|
/* 028099F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t100);
|
|
/* 028099F8 */ cpu->r[26] = cpu->r[3];
|
|
/* 028099FC */ Gambit_fn_028421D4(cpu);
|
|
/* 02809A00 */ _t101 = cpu->r[30] + 0x000000C4u;
|
|
/* 02809A00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02809A04 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02809A08 */ _t102 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809A08 */ rbrew_write32(cpu->mem, _t102, cpu->r[29]);
|
|
/* 02809A0C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02809A10 */ cpu->r[3] = cpu->r[26];
|
|
/* 02809A14 */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 02809A14 */ rbrew_write32(cpu->mem, _t103, cpu->r[27]);
|
|
/* 02809A18 */ Gambit_fn_02842FE4(cpu);
|
|
/* 02809A1C */ cpu->r[5] = cpu->r[28];
|
|
/* 02809A20 */ _t104 = cpu->r[30] + 0x00000030u;
|
|
/* 02809A20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02809A24 */ cpu->r[0] = 0x10110000u;
|
|
/* 02809A28 */ _t105 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809A28 */ rbrew_write32(cpu->mem, _t105, cpu->r[29]);
|
|
/* 02809A2C */ cpu->r[0] = cpu->r[0] + 0x00002C94u;
|
|
/* 02809A30 */ cpu->r[3] = cpu->r[30] + 0x00000030u;
|
|
/* 02809A34 */ _t106 = cpu->r[1] + 0x00000008u;
|
|
/* 02809A34 */ rbrew_write32(cpu->mem, _t106, cpu->r[0]);
|
|
/* 02809A38 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 02809A3C */ cpu->r[5] = cpu->r[3];
|
|
/* 02809A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02809A40 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809A40 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02809A40 */ if (_t108) goto L_02809A48; else goto L_02809A44;
|
|
L_02809A44: ; // 0x2809a44
|
|
/* 02809A44 */ cpu->r[5] = cpu->r[3] + 0x00000018u;
|
|
L_02809A48: ; // 0x2809a48
|
|
/* 02809A48 */ _t109 = cpu->r[30] + 0x000000C4u;
|
|
/* 02809A48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02809A4C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02809A50 */ cpu->r[3] = cpu->r[26];
|
|
/* 02809A54 */ Gambit_fn_02842FE4(cpu);
|
|
L_02809A58: ; // 0x2809a58
|
|
/* 02809A58 */ /* nop */
|
|
/* 02809A5C */ _t110 = cpu->r[1] + 0x000000CCu;
|
|
/* 02809A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02809A60 */ cpu->lr = cpu->r[0];
|
|
/* 02809A64 */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 02809A68 */ return;
|
|
}
|
|
|
|
// fn_02809A6C @ 0x2809a6c
|
|
void Gambit_fn_02809A6C(CPUState* cpu) {
|
|
uint32_t _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_02809A6C: ; // 0x2809a6c
|
|
/* 02809A6C */ cpu->r[0] = cpu->lr;
|
|
/* 02809A70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02809A70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02809A70 */ cpu->r[1] = _t0;
|
|
/* 02809A74 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02809A74 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02809A78 */ cpu->r[28] = cpu->r[4];
|
|
/* 02809A7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02809A7C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02809A80 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809A80 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02809A84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02809A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02809A88 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02809A88 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02809A8C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02809A8C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02809A90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809A90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02809A90 */ if (_t7) goto L_02809AF4; else goto L_02809A94;
|
|
L_02809A94: ; // 0x2809a94
|
|
/* 02809A94 */ cpu->r[6] = 0x10110000u;
|
|
/* 02809A98 */ cpu->r[6] = cpu->r[6] + 0x00002D0Cu;
|
|
/* 02809A9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02809AA0 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02809AA0 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02809AA4 */ _t9 = cpu->r[12] + 0xFFFF9888u;
|
|
/* 02809AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02809AA4 */ cpu->r[12] = _t9;
|
|
/* 02809AA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02809AAC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809AAC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02809AAC */ if (_t11) goto L_02809AB0; else goto L_02809AD8;
|
|
L_02809AB0: ; // 0x2809ab0
|
|
/* 02809AB0 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02809AB4 */ cpu->r[29] = 0x00000000u;
|
|
/* 02809AB8 */ _t12 = cpu->r[30] + 0xFFFF9884u;
|
|
/* 02809AB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02809ABC */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02809ABC */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02809AC0 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02809AC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02809AC4 */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 02809AC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02809AC8 */ cpu->ctr = cpu->r[10];
|
|
/* 02809ACC */ cpu->r[4] = 0x00000002u;
|
|
/* 02809AD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02809AD4 */ _t16 = cpu->r[30] + 0xFFFF9884u;
|
|
/* 02809AD4 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_02809AD8: ; // 0x2809ad8
|
|
/* 02809AD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02809ADC */ cpu->r[4] = 0x00000000u;
|
|
/* 02809AE0 */ Gambit_fn_02821E68(cpu);
|
|
/* 02809AE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02809AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02809AE8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809AE8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02809AE8 */ if (_t18) goto L_02809AF4; else goto L_02809AEC;
|
|
L_02809AEC: ; // 0x2809aec
|
|
/* 02809AEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02809AF0 */ Gambit_fn_02801BB0(cpu);
|
|
L_02809AF4: ; // 0x2809af4
|
|
/* 02809AF4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02809AF4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02809AF8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809AF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02809AFC */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02809AFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02809B00 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02809B00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02809B04 */ cpu->lr = cpu->r[0];
|
|
/* 02809B08 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02809B08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02809B0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02809B10 */ return;
|
|
}
|
|
|
|
// fn_02809A70 @ 0x2809a70
|
|
void Gambit_fn_02809A70(CPUState* cpu) {
|
|
uint32_t _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_02809A70: ; // 0x2809a70
|
|
/* 02809A70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02809A70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02809A70 */ cpu->r[1] = _t0;
|
|
/* 02809A74 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02809A74 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02809A78 */ cpu->r[28] = cpu->r[4];
|
|
/* 02809A7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02809A7C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02809A80 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809A80 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02809A84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02809A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02809A88 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02809A88 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02809A8C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02809A8C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02809A90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809A90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02809A90 */ if (_t7) goto L_02809AF4; else goto L_02809A94;
|
|
L_02809A94: ; // 0x2809a94
|
|
/* 02809A94 */ cpu->r[6] = 0x10110000u;
|
|
/* 02809A98 */ cpu->r[6] = cpu->r[6] + 0x00002D0Cu;
|
|
/* 02809A9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02809AA0 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02809AA0 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02809AA4 */ _t9 = cpu->r[12] + 0xFFFF9888u;
|
|
/* 02809AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02809AA4 */ cpu->r[12] = _t9;
|
|
/* 02809AA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02809AAC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809AAC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02809AAC */ if (_t11) goto L_02809AB0; else goto L_02809AD8;
|
|
L_02809AB0: ; // 0x2809ab0
|
|
/* 02809AB0 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02809AB4 */ cpu->r[29] = 0x00000000u;
|
|
/* 02809AB8 */ _t12 = cpu->r[30] + 0xFFFF9884u;
|
|
/* 02809AB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02809ABC */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02809ABC */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02809AC0 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02809AC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02809AC4 */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 02809AC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02809AC8 */ cpu->ctr = cpu->r[10];
|
|
/* 02809ACC */ cpu->r[4] = 0x00000002u;
|
|
/* 02809AD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02809AD4 */ _t16 = cpu->r[30] + 0xFFFF9884u;
|
|
/* 02809AD4 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_02809AD8: ; // 0x2809ad8
|
|
/* 02809AD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02809ADC */ cpu->r[4] = 0x00000000u;
|
|
/* 02809AE0 */ Gambit_fn_02821E68(cpu);
|
|
/* 02809AE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02809AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02809AE8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809AE8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02809AE8 */ if (_t18) goto L_02809AF4; else goto L_02809AEC;
|
|
L_02809AEC: ; // 0x2809aec
|
|
/* 02809AEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02809AF0 */ Gambit_fn_02801BB0(cpu);
|
|
L_02809AF4: ; // 0x2809af4
|
|
/* 02809AF4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02809AF4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02809AF8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809AF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02809AFC */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02809AFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02809B00 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02809B00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02809B04 */ cpu->lr = cpu->r[0];
|
|
/* 02809B08 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02809B08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02809B0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02809B10 */ return;
|
|
}
|
|
|
|
// fn_02809B14 @ 0x2809b14
|
|
void Gambit_fn_02809B14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02809B14: ; // 0x2809b14
|
|
/* 02809B14 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02809B18 */ cpu->r[5] = 0x10110000u;
|
|
/* 02809B1C */ cpu->r[10] = cpu->r[10] + 0x00005BA4u;
|
|
/* 02809B20 */ cpu->r[11] = 0x10110000u;
|
|
/* 02809B24 */ cpu->r[5] = cpu->r[5] + 0x00002744u;
|
|
/* 02809B28 */ cpu->r[9] = 0x101F0000u;
|
|
/* 02809B2C */ cpu->r[11] = cpu->r[11] + 0x00002CDCu;
|
|
/* 02809B30 */ _t0 = cpu->r[10] + 0x00000004u;
|
|
/* 02809B30 */ rbrew_write32(cpu->mem, _t0, cpu->r[5]);
|
|
/* 02809B34 */ cpu->r[12] = 0x10110000u;
|
|
/* 02809B38 */ cpu->r[9] = cpu->r[9] + 0x00005BACu;
|
|
/* 02809B3C */ _t1 = cpu->r[10] + 0x00000000u;
|
|
/* 02809B3C */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02809B40 */ cpu->r[12] = cpu->r[12] + 0x00002CF0u;
|
|
/* 02809B44 */ cpu->r[7] = 0x101F0000u;
|
|
/* 02809B48 */ _t2 = cpu->r[9] + 0x00000004u;
|
|
/* 02809B48 */ rbrew_write32(cpu->mem, _t2, cpu->r[5]);
|
|
/* 02809B4C */ cpu->r[8] = 0x101F0000u;
|
|
/* 02809B50 */ cpu->r[7] = cpu->r[7] + 0x00005BBCu;
|
|
/* 02809B54 */ cpu->r[0] = 0x10110000u;
|
|
/* 02809B58 */ cpu->r[8] = cpu->r[8] + 0x00005BB4u;
|
|
/* 02809B5C */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02809B5C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02809B60 */ cpu->r[0] = cpu->r[0] + 0x00002CA8u;
|
|
/* 02809B64 */ cpu->r[6] = 0x101F0000u;
|
|
/* 02809B68 */ _t4 = cpu->r[8] + 0x00000004u;
|
|
/* 02809B68 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02809B6C */ cpu->r[6] = cpu->r[6] + 0x00005BC4u;
|
|
/* 02809B70 */ _t5 = cpu->r[8] + 0x00000000u;
|
|
/* 02809B70 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02809B74 */ cpu->r[0] = 0x10110000u;
|
|
/* 02809B78 */ _t6 = cpu->r[6] + 0x00000004u;
|
|
/* 02809B78 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]);
|
|
/* 02809B7C */ cpu->r[0] = cpu->r[0] + 0x00002CC4u;
|
|
/* 02809B80 */ cpu->r[12] = 0x10110000u;
|
|
/* 02809B84 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 02809B84 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 02809B88 */ cpu->r[12] = cpu->r[12] + 0x00002CB4u;
|
|
/* 02809B8C */ _t8 = cpu->r[6] + 0x00000000u;
|
|
/* 02809B8C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02809B90 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02809B90 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02809B94 */ return;
|
|
}
|
|
|
|
// fn_02809B98 @ 0x2809b98
|
|
void Gambit_fn_02809B98(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_02809B98: ; // 0x2809b98
|
|
/* 02809B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809B9C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809B9C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02809B9C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02809B9C */ goto L_02809BA0;
|
|
L_02809BA0: ; // 0x2809ba0
|
|
/* 02809BA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02809BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02809BA4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809BA4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02809BA4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02809BA4 */ goto L_02809BA8;
|
|
L_02809BA8: ; // 0x2809ba8
|
|
/* 02809BA8 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02809BAC @ 0x2809bac
|
|
void Gambit_fn_02809BAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02809BAC: ; // 0x2809bac
|
|
/* 02809BAC */ cpu->r[0] = cpu->lr;
|
|
/* 02809BB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02809BB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02809BB0 */ cpu->r[1] = _t0;
|
|
/* 02809BB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809BB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02809BB8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02809BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809BC0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02809BC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02809BC4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809BC4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02809BC4 */ if (_t4) goto L_02809BC8; else goto L_02809BD8;
|
|
L_02809BC8: ; // 0x2809bc8
|
|
/* 02809BC8 */ cpu->r[3] = 0x00000008u;
|
|
/* 02809BCC */ Gambit_fn_02801A78(cpu);
|
|
/* 02809BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809BD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809BD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02809BD4 */ if (_t6) goto L_02809BE8; else goto L_02809BD8;
|
|
L_02809BD8: ; // 0x2809bd8
|
|
/* 02809BD8 */ cpu->r[0] = 0x10110000u;
|
|
/* 02809BDC */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02809BDC */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02809BE0 */ cpu->r[0] = cpu->r[0] + 0x00002744u;
|
|
/* 02809BE4 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02809BE4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02809BE8: ; // 0x2809be8
|
|
/* 02809BE8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02809BE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02809BEC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809BEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02809BF0 */ cpu->lr = cpu->r[0];
|
|
/* 02809BF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02809BF8 */ return;
|
|
}
|
|
|
|
// fn_02809BB0 @ 0x2809bb0
|
|
void Gambit_fn_02809BB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02809BB0: ; // 0x2809bb0
|
|
/* 02809BB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02809BB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02809BB0 */ cpu->r[1] = _t0;
|
|
/* 02809BB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809BB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02809BB8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02809BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809BC0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02809BC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02809BC4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809BC4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02809BC4 */ if (_t4) goto L_02809BC8; else goto L_02809BD8;
|
|
L_02809BC8: ; // 0x2809bc8
|
|
/* 02809BC8 */ cpu->r[3] = 0x00000008u;
|
|
/* 02809BCC */ Gambit_fn_02801A78(cpu);
|
|
/* 02809BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809BD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809BD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02809BD4 */ if (_t6) goto L_02809BE8; else goto L_02809BD8;
|
|
L_02809BD8: ; // 0x2809bd8
|
|
/* 02809BD8 */ cpu->r[0] = 0x10110000u;
|
|
/* 02809BDC */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02809BDC */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02809BE0 */ cpu->r[0] = cpu->r[0] + 0x00002744u;
|
|
/* 02809BE4 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02809BE4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02809BE8: ; // 0x2809be8
|
|
/* 02809BE8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02809BE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02809BEC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809BEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02809BF0 */ cpu->lr = cpu->r[0];
|
|
/* 02809BF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02809BF8 */ return;
|
|
}
|
|
|
|
// fn_02809BFC @ 0x2809bfc
|
|
void Gambit_fn_02809BFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02809BFC: ; // 0x2809bfc
|
|
/* 02809BFC */ cpu->r[0] = cpu->lr;
|
|
/* 02809C00 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02809C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02809C00 */ cpu->r[1] = _t0;
|
|
/* 02809C04 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02809C04 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02809C08 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809C08 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02809C0C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02809C0C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02809C10 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02809C10 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02809C14 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02809C14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02809C18 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 02809C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02809C1C */ cpu->ctr = cpu->r[0];
|
|
/* 02809C20 */ cpu->r[30] = cpu->r[3];
|
|
/* 02809C24 */ cpu->r[31] = cpu->r[4];
|
|
/* 02809C28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02809C2C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02809C2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02809C30 */ _t8 = cpu->r[5] + 0x00000014u;
|
|
/* 02809C30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02809C34 */ cpu->ctr = cpu->r[6];
|
|
/* 02809C38 */ cpu->r[3] = cpu->r[30];
|
|
/* 02809C3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02809C40 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02809C40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02809C44 */ _t10 = cpu->r[7] + 0x00000014u;
|
|
/* 02809C44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02809C48 */ cpu->ctr = cpu->r[8];
|
|
/* 02809C4C */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02809C4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02809C50 */ cpu->r[3] = cpu->r[31];
|
|
/* 02809C54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02809C58 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02809C58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02809C5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[9]);
|
|
/* 02809C60 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809C60 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02809C60 */ if (_t14) goto L_02809C64; else goto L_02809C84;
|
|
L_02809C64: ; // 0x2809c64
|
|
/* 02809C64 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809C64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02809C68 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02809C68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02809C6C */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02809C6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02809C70 */ cpu->lr = cpu->r[0];
|
|
/* 02809C74 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02809C74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02809C78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02809C7C */ cpu->r[3] = 0x00000001u;
|
|
/* 02809C80 */ return;
|
|
L_02809C84: ; // 0x2809c84
|
|
/* 02809C84 */ cpu->r[10] = 0x00080000u;
|
|
/* 02809C88 */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02809C88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02809C8C */ cpu->r[12] = 0x10110000u;
|
|
/* 02809C90 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02809C94 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02809C94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02809C98 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02809C9C */ cpu->ctr = cpu->r[10];
|
|
/* 02809CA0 */ _t21 = cpu->r[12] + 0x00007399u;
|
|
/* 02809CA0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02809CA4 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02809CA8: ; // 0x2809ca8
|
|
/* 02809CA8 */ _t22 = cpu->r[9] + 0x00000001u;
|
|
/* 02809CA8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02809CA8 */ cpu->r[9] = _t22;
|
|
/* 02809CAC */ _t23 = cpu->r[8] + 0x00000001u;
|
|
/* 02809CAC */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02809CAC */ cpu->r[8] = _t23;
|
|
/* 02809CB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02809CB4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809CB4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02809CB4 */ if (_t25) goto L_02809CB8; else goto L_02809CC4;
|
|
L_02809CB8: ; // 0x2809cb8
|
|
/* 02809CB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02809CBC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809CBC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02809CBC */ if (_t27) goto L_02809C64; else goto L_02809CC0;
|
|
L_02809CC0: ; // 0x2809cc0
|
|
/* 02809CC0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02809CC0 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02809CC0 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 02809CC0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02809CC0 */ if (_t30) goto L_02809CA8; else goto L_02809CC4;
|
|
L_02809CC4: ; // 0x2809cc4
|
|
/* 02809CC4 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809CC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02809CC8 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02809CC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02809CCC */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02809CCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02809CD0 */ cpu->lr = cpu->r[0];
|
|
/* 02809CD4 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02809CD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02809CD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02809CDC */ cpu->r[3] = 0x00000000u;
|
|
/* 02809CE0 */ return;
|
|
}
|
|
|
|
// fn_02809C00 @ 0x2809c00
|
|
void Gambit_fn_02809C00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02809C00: ; // 0x2809c00
|
|
/* 02809C00 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02809C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02809C00 */ cpu->r[1] = _t0;
|
|
/* 02809C04 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02809C04 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02809C08 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809C08 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02809C0C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02809C0C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02809C10 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02809C10 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02809C14 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02809C14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02809C18 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 02809C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02809C1C */ cpu->ctr = cpu->r[0];
|
|
/* 02809C20 */ cpu->r[30] = cpu->r[3];
|
|
/* 02809C24 */ cpu->r[31] = cpu->r[4];
|
|
/* 02809C28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02809C2C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02809C2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02809C30 */ _t8 = cpu->r[5] + 0x00000014u;
|
|
/* 02809C30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02809C34 */ cpu->ctr = cpu->r[6];
|
|
/* 02809C38 */ cpu->r[3] = cpu->r[30];
|
|
/* 02809C3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02809C40 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02809C40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02809C44 */ _t10 = cpu->r[7] + 0x00000014u;
|
|
/* 02809C44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02809C48 */ cpu->ctr = cpu->r[8];
|
|
/* 02809C4C */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02809C4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02809C50 */ cpu->r[3] = cpu->r[31];
|
|
/* 02809C54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02809C58 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02809C58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02809C5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[9]);
|
|
/* 02809C60 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809C60 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02809C60 */ if (_t14) goto L_02809C64; else goto L_02809C84;
|
|
L_02809C64: ; // 0x2809c64
|
|
/* 02809C64 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809C64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02809C68 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02809C68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02809C6C */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02809C6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02809C70 */ cpu->lr = cpu->r[0];
|
|
/* 02809C74 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02809C74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02809C78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02809C7C */ cpu->r[3] = 0x00000001u;
|
|
/* 02809C80 */ return;
|
|
L_02809C84: ; // 0x2809c84
|
|
/* 02809C84 */ cpu->r[10] = 0x00080000u;
|
|
/* 02809C88 */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02809C88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02809C8C */ cpu->r[12] = 0x10110000u;
|
|
/* 02809C90 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02809C94 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02809C94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02809C98 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02809C9C */ cpu->ctr = cpu->r[10];
|
|
/* 02809CA0 */ _t21 = cpu->r[12] + 0x00007399u;
|
|
/* 02809CA0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02809CA4 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02809CA8: ; // 0x2809ca8
|
|
/* 02809CA8 */ _t22 = cpu->r[9] + 0x00000001u;
|
|
/* 02809CA8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02809CA8 */ cpu->r[9] = _t22;
|
|
/* 02809CAC */ _t23 = cpu->r[8] + 0x00000001u;
|
|
/* 02809CAC */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02809CAC */ cpu->r[8] = _t23;
|
|
/* 02809CB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02809CB4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809CB4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02809CB4 */ if (_t25) goto L_02809CB8; else goto L_02809CC4;
|
|
L_02809CB8: ; // 0x2809cb8
|
|
/* 02809CB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02809CBC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809CBC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02809CBC */ if (_t27) goto L_02809C64; else goto L_02809CC0;
|
|
L_02809CC0: ; // 0x2809cc0
|
|
/* 02809CC0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02809CC0 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02809CC0 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 02809CC0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02809CC0 */ if (_t30) goto L_02809CA8; else goto L_02809CC4;
|
|
L_02809CC4: ; // 0x2809cc4
|
|
/* 02809CC4 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809CC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02809CC8 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02809CC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02809CCC */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02809CCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02809CD0 */ cpu->lr = cpu->r[0];
|
|
/* 02809CD4 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02809CD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02809CD8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02809CDC */ cpu->r[3] = 0x00000000u;
|
|
/* 02809CE0 */ return;
|
|
}
|
|
|
|
// fn_02809CE4 @ 0x2809ce4
|
|
void Gambit_fn_02809CE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02809CE4: ; // 0x2809ce4
|
|
/* 02809CE4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02809CE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02809CE8 */ cpu->r[12] = 0x10110000u;
|
|
/* 02809CEC */ _t1 = cpu->r[12] + 0x00007399u;
|
|
/* 02809CEC */ cpu->r[11] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02809CF0 */ _t2 = cpu->r[10] + 0x00000000u;
|
|
/* 02809CF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02809CF4 */ cpu->r[12] = cpu->r[0] ^ cpu->r[11];
|
|
/* 02809CF8 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02809CFC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02809D00 */ return;
|
|
}
|
|
|
|
// fn_02809D04 @ 0x2809d04
|
|
void Gambit_fn_02809D04(CPUState* cpu) {
|
|
L_02809D04: ; // 0x2809d04
|
|
/* 02809D04 */ return;
|
|
}
|
|
|
|
// fn_02809D08 @ 0x2809d08
|
|
void Gambit_fn_02809D08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02809D08: ; // 0x2809d08
|
|
/* 02809D08 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02809D08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02809D0C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02809D0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02809D10 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02809D14 */ cpu->r[11] = 0x10110000u;
|
|
/* 02809D18 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02809D18 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02809D1C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02809D1C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02809D20 */ return;
|
|
}
|
|
|
|
// fn_02809D24 @ 0x2809d24
|
|
void Gambit_fn_02809D24(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_02809D24: ; // 0x2809d24
|
|
/* 02809D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809D28 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809D28 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02809D28 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02809D28 */ goto L_02809D2C;
|
|
L_02809D2C: ; // 0x2809d2c
|
|
/* 02809D2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02809D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02809D30 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809D30 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02809D30 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02809D30 */ goto L_02809D34;
|
|
L_02809D34: ; // 0x2809d34
|
|
/* 02809D34 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02809D38 @ 0x2809d38
|
|
void Gambit_fn_02809D38(CPUState* cpu) {
|
|
L_02809D38: ; // 0x2809d38
|
|
/* 02809D38 */ return;
|
|
}
|
|
|
|
// fn_02809D3C @ 0x2809d3c
|
|
void Gambit_fn_02809D3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02809D3C: ; // 0x2809d3c
|
|
/* 02809D3C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02809D3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02809D40 */ cpu->r[9] = 0x10110000u;
|
|
/* 02809D44 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02809D44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02809D48 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02809D4C */ _t2 = cpu->r[9] + 0x0000739Au;
|
|
/* 02809D4C */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02809D50 */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
/* 02809D54 */ _t3 = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02809D54 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[0]);
|
|
/* 02809D58 */ return;
|
|
}
|
|
|
|
// fn_02809D5C @ 0x2809d5c
|
|
void Gambit_fn_02809D5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02809D5C: ; // 0x2809d5c
|
|
/* 02809D5C */ cpu->r[0] = cpu->lr;
|
|
/* 02809D60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02809D60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02809D60 */ cpu->r[1] = _t0;
|
|
/* 02809D64 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809D64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02809D68 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02809D68 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02809D6C */ cpu->r[30] = cpu->r[3];
|
|
/* 02809D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02809D70 */ cpu->r[31] = cpu->r[4];
|
|
/* 02809D74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02809D74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02809D78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809D78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02809D78 */ if (_t5) goto L_02809DA8; else goto L_02809D7C;
|
|
L_02809D7C: ; // 0x2809d7c
|
|
/* 02809D7C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02809D7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02809D80 */ cpu->r[0] = 0x10110000u;
|
|
/* 02809D84 */ cpu->r[0] = cpu->r[0] + 0x000027BCu;
|
|
/* 02809D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809D8C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02809D8C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02809D90 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809D90 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02809D90 */ if (_t9) goto L_02809D98; else goto L_02809D94;
|
|
L_02809D94: ; // 0x2809d94
|
|
/* 02809D94 */ Gambit_fn_02801BB4(cpu);
|
|
L_02809D98: ; // 0x2809d98
|
|
/* 02809D98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02809D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02809D9C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809D9C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02809D9C */ if (_t11) goto L_02809DA8; else goto L_02809DA0;
|
|
L_02809DA0: ; // 0x2809da0
|
|
/* 02809DA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02809DA4 */ Gambit_fn_02801BB0(cpu);
|
|
L_02809DA8: ; // 0x2809da8
|
|
/* 02809DA8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02809DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02809DAC */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02809DAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02809DB0 */ cpu->lr = cpu->r[0];
|
|
/* 02809DB4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809DB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02809DB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02809DBC */ return;
|
|
}
|
|
|
|
// fn_02809D60 @ 0x2809d60
|
|
void Gambit_fn_02809D60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02809D60: ; // 0x2809d60
|
|
/* 02809D60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02809D60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02809D60 */ cpu->r[1] = _t0;
|
|
/* 02809D64 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809D64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02809D68 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02809D68 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02809D6C */ cpu->r[30] = cpu->r[3];
|
|
/* 02809D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02809D70 */ cpu->r[31] = cpu->r[4];
|
|
/* 02809D74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02809D74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02809D78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809D78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02809D78 */ if (_t5) goto L_02809DA8; else goto L_02809D7C;
|
|
L_02809D7C: ; // 0x2809d7c
|
|
/* 02809D7C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02809D7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02809D80 */ cpu->r[0] = 0x10110000u;
|
|
/* 02809D84 */ cpu->r[0] = cpu->r[0] + 0x000027BCu;
|
|
/* 02809D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809D8C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02809D8C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02809D90 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809D90 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02809D90 */ if (_t9) goto L_02809D98; else goto L_02809D94;
|
|
L_02809D94: ; // 0x2809d94
|
|
/* 02809D94 */ Gambit_fn_02801BB4(cpu);
|
|
L_02809D98: ; // 0x2809d98
|
|
/* 02809D98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02809D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02809D9C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809D9C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02809D9C */ if (_t11) goto L_02809DA8; else goto L_02809DA0;
|
|
L_02809DA0: ; // 0x2809da0
|
|
/* 02809DA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02809DA4 */ Gambit_fn_02801BB0(cpu);
|
|
L_02809DA8: ; // 0x2809da8
|
|
/* 02809DA8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02809DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02809DAC */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02809DAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02809DB0 */ cpu->lr = cpu->r[0];
|
|
/* 02809DB4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02809DB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02809DB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02809DBC */ return;
|
|
}
|
|
|
|
// fn_02809DC0 @ 0x2809dc0
|
|
void Gambit_fn_02809DC0(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_02809DC0: ; // 0x2809dc0
|
|
/* 02809DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809DC4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809DC4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02809DC4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02809DC4 */ goto L_02809DC8;
|
|
L_02809DC8: ; // 0x2809dc8
|
|
/* 02809DC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02809DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02809DCC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809DCC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02809DCC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02809DCC */ goto L_02809DD0;
|
|
L_02809DD0: ; // 0x2809dd0
|
|
/* 02809DD0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02809DD4 @ 0x2809dd4
|
|
void Gambit_fn_02809DD4(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_02809DD4: ; // 0x2809dd4
|
|
/* 02809DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809DD8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809DD8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02809DD8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02809DD8 */ goto L_02809DDC;
|
|
L_02809DDC: ; // 0x2809ddc
|
|
/* 02809DDC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02809DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02809DE0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809DE0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02809DE0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02809DE0 */ goto L_02809DE4;
|
|
L_02809DE4: ; // 0x2809de4
|
|
/* 02809DE4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02809DE8 @ 0x2809de8
|
|
void Gambit_fn_02809DE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02809DE8: ; // 0x2809de8
|
|
/* 02809DE8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02809DE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02809DEC */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02809DEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02809DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 02809DF4 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02809DF4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02809DF4 */ _t4 = _t3 ^ 0x00000001u;
|
|
/* 02809DF4 */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02809DF4 */ goto L_02809DF8;
|
|
L_02809DF8: ; // 0x2809df8
|
|
/* 02809DF8 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02809DF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02809DFC */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02809E00 */ _t6 = cpu->r[12] + cpu->r[0];
|
|
/* 02809E00 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 02809E04 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02809E04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02809E08 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02809E0C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02809E0C */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02809E10 */ return;
|
|
}
|
|
|
|
// fn_02809E14 @ 0x2809e14
|
|
void Gambit_fn_02809E14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02809E14: ; // 0x2809e14
|
|
/* 02809E14 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02809E14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02809E14 */ cpu->r[1] = _t0;
|
|
/* 02809E18 */ /* nop */
|
|
/* 02809E1C */ cpu->r[0] = cpu->lr;
|
|
/* 02809E20 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02809E20 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02809E24 */ cpu->r[27] = cpu->r[3];
|
|
/* 02809E28 */ _t2 = cpu->r[27] + 0x00000010u;
|
|
/* 02809E28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02809E2C */ _t3 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02809E2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02809E30 */ cpu->r[26] = cpu->r[4];
|
|
/* 02809E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[9]);
|
|
/* 02809E38 */ cpu->r[31] = cpu->r[5];
|
|
/* 02809E3C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02809E3C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02809E3C */ if (_t5) goto L_02809E40; else goto L_0280A040;
|
|
L_02809E40: ; // 0x2809e40
|
|
/* 02809E40 */ _t6 = cpu->r[27] + 0x00000004u;
|
|
/* 02809E40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02809E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02809E48 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809E48 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02809E48 */ if (_t8) goto L_02809E54; else goto L_02809E4C;
|
|
L_02809E4C: ; // 0x2809e4c
|
|
/* 02809E4C */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 02809E4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02809E50 */ _t10 = cpu->r[27] + 0x00000004u;
|
|
/* 02809E50 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
L_02809E54: ; // 0x2809e54
|
|
/* 02809E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02809E58 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809E58 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02809E58 */ if (_t12) goto L_0280A004; else goto L_02809E5C;
|
|
L_02809E5C: ; // 0x2809e5c
|
|
/* 02809E5C */ cpu->r[30] = 0x10110000u;
|
|
/* 02809E60 */ cpu->r[3] = cpu->r[29];
|
|
/* 02809E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809E64 */ cpu->r[30] = cpu->r[30] + 0x00007399u;
|
|
/* 02809E68 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809E68 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02809E68 */ if (_t14) goto L_02809E6C; else goto L_02809E7C;
|
|
L_02809E6C: ; // 0x2809e6c
|
|
/* 02809E6C */ cpu->r[3] = 0x00000018u;
|
|
/* 02809E70 */ Gambit_fn_02801A78(cpu);
|
|
/* 02809E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02809E78 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809E78 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02809E78 */ if (_t16) goto L_02809EA8; else goto L_02809E7C;
|
|
L_02809E7C: ; // 0x2809e7c
|
|
/* 02809E7C */ cpu->r[11] = 0x10110000u;
|
|
/* 02809E80 */ cpu->r[5] = 0x10110000u;
|
|
/* 02809E84 */ _t17 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02809E84 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02809E88 */ cpu->r[11] = cpu->r[11] + 0x0000295Cu;
|
|
/* 02809E8C */ cpu->r[5] = cpu->r[5] + 0x00002744u;
|
|
/* 02809E90 */ _t18 = cpu->r[3] + 0x00000014u;
|
|
/* 02809E90 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02809E94 */ cpu->r[0] = 0x00000000u;
|
|
/* 02809E98 */ _t19 = cpu->r[3] + 0x00000010u;
|
|
/* 02809E98 */ rbrew_write32(cpu->mem, _t19, cpu->r[5]);
|
|
/* 02809E9C */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 02809E9C */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02809EA0 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 02809EA0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02809EA4 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02809EA4 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_02809EA8: ; // 0x2809ea8
|
|
/* 02809EA8 */ cpu->r[6] = 0x10110000u;
|
|
/* 02809EAC */ cpu->r[6] = cpu->r[6] + 0x0000298Cu;
|
|
/* 02809EB0 */ _t23 = cpu->r[29] + 0x00000014u;
|
|
/* 02809EB0 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 02809EB4 */ _t24 = cpu->r[31] + 0x00000000u;
|
|
/* 02809EB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02809EB8 */ _t25 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02809EB8 */ rbrew_write32(cpu->mem, _t25, cpu->r[27]);
|
|
/* 02809EBC */ _t26 = cpu->r[29] + 0x00000018u;
|
|
/* 02809EBC */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 02809EC0 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 02809EC0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02809EC4 */ _t28 = cpu->r[29] + 0x00000060u;
|
|
/* 02809EC4 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[30]);
|
|
/* 02809EC8 */ _t29 = cpu->r[26] + 0x00000004u;
|
|
/* 02809EC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02809ECC */ _t30 = cpu->r[8] + 0x00000014u;
|
|
/* 02809ECC */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02809ED0 */ cpu->ctr = cpu->r[9];
|
|
/* 02809ED4 */ cpu->r[28] = cpu->r[29] + 0x00000020u;
|
|
/* 02809ED8 */ cpu->r[3] = cpu->r[26];
|
|
/* 02809EDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02809EE0 */ _t31 = cpu->r[26] + 0x00000000u;
|
|
/* 02809EE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02809EE4 */ _t32 = cpu->r[9] + 0x00000000u;
|
|
/* 02809EE4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02809EE8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02809EEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02809EF0 */ cpu->r[11] = 0x00080000u;
|
|
/* 02809EF4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809EF4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02809EF4 */ if (_t34) goto L_02809F8C; else goto L_02809EF8;
|
|
L_02809EF8: ; // 0x2809ef8
|
|
/* 02809EF8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02809EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 02809F00 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02809F04 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02809F04 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02809F04 */ if (_t36) goto L_02809F20; else goto L_02809F08;
|
|
L_02809F08: ; // 0x2809f08
|
|
/* 02809F08 */ _t37 = cpu->r[9] + 0x00000000u;
|
|
/* 02809F08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02809F0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02809F10 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02809F10 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02809F10 */ if (_t39) goto L_02809F14; else goto L_02809EF8;
|
|
L_02809F14: ; // 0x2809f14
|
|
/* 02809F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000041u);
|
|
/* 02809F18 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02809F18 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02809F18 */ if (_t41) goto L_02809F98; else goto L_02809F1C;
|
|
L_02809F1C: ; // 0x2809f1c
|
|
/* 02809F1C */ goto L_02809F94;
|
|
L_02809F20: ; // 0x2809f20
|
|
/* 02809F20 */ _t42 = cpu->r[26] + 0x00000004u;
|
|
/* 02809F20 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02809F24 */ _t43 = cpu->r[7] + 0x00000014u;
|
|
/* 02809F24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02809F28 */ cpu->ctr = cpu->r[0];
|
|
/* 02809F2C */ cpu->r[3] = cpu->r[26];
|
|
/* 02809F30 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02809F34 */ cpu->r[5] = 0x00000000u;
|
|
/* 02809F38 */ cpu->r[3] = cpu->r[28];
|
|
/* 02809F3C */ _t44 = cpu->r[26] + 0x00000000u;
|
|
/* 02809F3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02809F40 */ cpu->r[6] = cpu->r[5];
|
|
/* 02809F44 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02809F48 */ _t45 = cpu->r[28] + 0x00000000u;
|
|
/* 02809F48 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[30]);
|
|
/* 02809F4C */ _t46 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02809F4C */ rbrew_write32(cpu->mem, _t46, cpu->r[28]);
|
|
/* 02809F50 */ _t47 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02809F50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02809F54 */ cpu->r[3] = cpu->r[27];
|
|
/* 02809F58 */ _t48 = cpu->r[27] + 0x00000000u;
|
|
/* 02809F58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02809F5C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02809F60 */ cpu->r[5] = cpu->r[29];
|
|
/* 02809F64 */ _t49 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02809F64 */ rbrew_write32(cpu->mem, _t49, cpu->r[12]);
|
|
/* 02809F68 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 02809F6C */ cpu->r[0] = 0x00000001u;
|
|
/* 02809F70 */ _t50 = cpu->r[27] + 0x00000000u;
|
|
/* 02809F70 */ rbrew_write32(cpu->mem, _t50, cpu->r[3]);
|
|
/* 02809F74 */ _t51 = cpu->r[3] + 0x00000008u;
|
|
/* 02809F74 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02809F78 */ /* nop */
|
|
/* 02809F7C */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 02809F7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02809F80 */ cpu->lr = cpu->r[0];
|
|
/* 02809F84 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02809F88 */ return;
|
|
L_02809F8C: ; // 0x2809f8c
|
|
/* 02809F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000041u);
|
|
/* 02809F90 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02809F90 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02809F90 */ if (_t54) goto L_02809F98; else goto L_02809F94;
|
|
L_02809F94: ; // 0x2809f94
|
|
/* 02809F94 */ cpu->r[31] = 0x00000040u;
|
|
L_02809F98: ; // 0x2809f98
|
|
/* 02809F98 */ _t55 = cpu->r[26] + 0x00000004u;
|
|
/* 02809F98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02809F9C */ _t56 = cpu->r[7] + 0x00000014u;
|
|
/* 02809F9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02809FA0 */ cpu->ctr = cpu->r[0];
|
|
/* 02809FA4 */ cpu->r[3] = cpu->r[26];
|
|
/* 02809FA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02809FAC */ _t57 = cpu->r[26] + 0x00000000u;
|
|
/* 02809FAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02809FB0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02809FB4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02809FB8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02809FBC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02809FC0 */ _t58 = cpu->r[28] + cpu->r[31];
|
|
/* 02809FC0 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[30]);
|
|
/* 02809FC4 */ _t59 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02809FC4 */ rbrew_write32(cpu->mem, _t59, cpu->r[28]);
|
|
/* 02809FC8 */ _t60 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02809FC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02809FCC */ cpu->r[3] = cpu->r[27];
|
|
/* 02809FD0 */ _t61 = cpu->r[27] + 0x00000000u;
|
|
/* 02809FD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02809FD4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02809FD8 */ cpu->r[5] = cpu->r[29];
|
|
/* 02809FDC */ _t62 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02809FDC */ rbrew_write32(cpu->mem, _t62, cpu->r[12]);
|
|
/* 02809FE0 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 02809FE4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02809FE8 */ _t63 = cpu->r[27] + 0x00000000u;
|
|
/* 02809FE8 */ rbrew_write32(cpu->mem, _t63, cpu->r[3]);
|
|
/* 02809FEC */ _t64 = cpu->r[3] + 0x00000008u;
|
|
/* 02809FEC */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 02809FF0 */ /* nop */
|
|
/* 02809FF4 */ _t65 = cpu->r[1] + 0x00000024u;
|
|
/* 02809FF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02809FF8 */ cpu->lr = cpu->r[0];
|
|
/* 02809FFC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280A000 */ return;
|
|
L_0280A004: ; // 0x280a004
|
|
/* 0280A004 */ _t66 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0280A008 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280A00C */ _t67 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A00C */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0280A010 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280A014 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280A018 */ _t68 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A018 */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
|
|
/* 0280A01C */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280A020 */ cpu->r[0] = 0x00000001u;
|
|
/* 0280A024 */ _t69 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A024 */ rbrew_write32(cpu->mem, _t69, cpu->r[3]);
|
|
/* 0280A028 */ _t70 = cpu->r[3] + 0x00000008u;
|
|
/* 0280A028 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 0280A02C */ /* nop */
|
|
/* 0280A030 */ _t71 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0280A034 */ cpu->lr = cpu->r[0];
|
|
/* 0280A038 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280A03C */ return;
|
|
L_0280A040: ; // 0x280a040
|
|
/* 0280A040 */ _t72 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A040 */ cpu->r[4] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0280A044 */ cpu->r[5] = cpu->r[26];
|
|
/* 0280A048 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280A04C */ Gambit_fn_020EFCB8(cpu);
|
|
/* 0280A050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A054 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A054 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0280A054 */ if (_t74) goto L_0280A070; else goto L_0280A058;
|
|
L_0280A058: ; // 0x280a058
|
|
/* 0280A058 */ cpu->r[12] = cpu->r[3] + 0x00000018u;
|
|
/* 0280A058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280A05C */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A05C */ _t76 = _t75 & 0x00000001u;
|
|
/* 0280A05C */ if (_t76) goto L_0280A070; else goto L_0280A060;
|
|
L_0280A060: ; // 0x280a060
|
|
/* 0280A060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280A064 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A064 */ _t78 = _t77 & 0x00000001u;
|
|
/* 0280A064 */ if (_t78) goto L_0280A070; else goto L_0280A068;
|
|
L_0280A068: ; // 0x280a068
|
|
/* 0280A068 */ _t79 = cpu->r[31] + 0x00000000u;
|
|
/* 0280A068 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0280A06C */ _t80 = cpu->r[12] + 0x00000000u;
|
|
/* 0280A06C */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
|
|
L_0280A070: ; // 0x280a070
|
|
/* 0280A070 */ /* nop */
|
|
/* 0280A074 */ _t81 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0280A078 */ cpu->lr = cpu->r[0];
|
|
/* 0280A07C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280A080 */ return;
|
|
}
|
|
|
|
// fn_0280A084 @ 0x280a084
|
|
void Gambit_fn_0280A084(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_0280A084: ; // 0x280a084
|
|
/* 0280A084 */ cpu->r[0] = cpu->lr;
|
|
/* 0280A088 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 0280A088 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280A088 */ cpu->r[1] = _t0;
|
|
/* 0280A08C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0280A08C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0280A090 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 0280A090 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280A094 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280A094 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0280A098 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0280A098 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 0280A09C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 0280A09C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0280A0A0 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0280A0A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0280A0A4 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 0280A0A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0280A0A8 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 0280A0A8 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0280A0AC */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A0AC */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0280A0B0 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 0280A0B0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0280A0B4 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0280A0B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0280A0B8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280A0B8 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 0280A0BC */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 0280A0BC */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 0280A0C0 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0280A0C0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280A0C0 */ if (_t15) goto L_0280A0C4; else goto L_0280A0E4;
|
|
L_0280A0C4: ; // 0x280a0c4
|
|
/* 0280A0C4 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 0280A0C4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 0280A0C8 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 0280A0C8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 0280A0CC */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 0280A0CC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 0280A0D0 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 0280A0D0 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 0280A0D4 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 0280A0D4 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 0280A0D8 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 0280A0D8 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 0280A0DC */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 0280A0DC */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 0280A0E0 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 0280A0E0 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_0280A0E4: ; // 0x280a0e4
|
|
/* 0280A0E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280A0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280A0E8 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280A0EC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A0EC */ _t25 = _t24 & 0x00000001u;
|
|
/* 0280A0EC */ if (_t25) goto L_0280A0F0; else goto L_0280A100;
|
|
L_0280A0F0: ; // 0x280a0f0
|
|
/* 0280A0F0 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 0280A0F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280A0F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280A0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280A0FC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A0FC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0280A0FC */ if (_t27) goto L_0280A1C4; else goto L_0280A100;
|
|
L_0280A100: ; // 0x280a100
|
|
/* 0280A100 */ cpu->r[29] = cpu->r[31];
|
|
/* 0280A100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280A104 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A104 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0280A104 */ if (_t29) goto L_0280A108; else goto L_0280A118;
|
|
L_0280A108: ; // 0x280a108
|
|
/* 0280A108 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 0280A10C */ Gambit_fn_02801A78(cpu);
|
|
/* 0280A110 */ cpu->r[29] = cpu->r[3];
|
|
/* 0280A110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280A114 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A114 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0280A114 */ if (_t31) goto L_0280A188; else goto L_0280A118;
|
|
L_0280A118: ; // 0x280a118
|
|
/* 0280A118 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280A118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A11C */ cpu->r[28] = 0x10110000u;
|
|
/* 0280A120 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A120 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0280A120 */ if (_t33) goto L_0280A124; else goto L_0280A150;
|
|
L_0280A124: ; // 0x280a124
|
|
/* 0280A124 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280A128 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280A12C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A130 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A130 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0280A130 */ if (_t35) goto L_0280A134; else goto L_0280A150;
|
|
L_0280A134: ; // 0x280a134
|
|
/* 0280A134 */ cpu->r[7] = 0x10110000u;
|
|
/* 0280A138 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 0280A138 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0280A13C */ cpu->r[7] = cpu->r[7] + 0x000027D4u;
|
|
/* 0280A140 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 0280A140 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0280A144 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0280A144 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 0280A148 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 0280A148 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 0280A14C */ goto L_0280A188;
|
|
L_0280A150: ; // 0x280a150
|
|
/* 0280A150 */ cpu->r[5] = 0x10110000u;
|
|
/* 0280A154 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0280A158 */ cpu->r[5] = cpu->r[5] + 0x000027A4u;
|
|
/* 0280A15C */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 0280A15C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 0280A160 */ cpu->r[6] = 0x00000100u;
|
|
/* 0280A164 */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 0280A164 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 0280A168 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 0280A168 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 0280A16C */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 0280A16C */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 0280A170 */ cpu->r[7] = 0x10110000u;
|
|
/* 0280A174 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 0280A174 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0280A178 */ cpu->r[7] = cpu->r[7] + 0x000027D4u;
|
|
/* 0280A17C */ _t45 = cpu->r[29] + 0x0000010Bu;
|
|
/* 0280A17C */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 0280A180 */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 0280A180 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 0280A184 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 0280A184 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_0280A188: ; // 0x280a188
|
|
/* 0280A188 */ cpu->r[9] = 0x10110000u;
|
|
/* 0280A18C */ cpu->r[12] = 0x00000002u;
|
|
/* 0280A190 */ cpu->r[9] = cpu->r[9] + 0x00002884u;
|
|
/* 0280A194 */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 0280A198 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 0280A198 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 0280A19C */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 0280A1A0 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280A1A0 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 0280A1A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280A1A8 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 0280A1A8 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 0280A1AC */ cpu->r[3] = cpu->r[31];
|
|
/* 0280A1B0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0280A1B4 */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 0280A1B4 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 0280A1B8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280A1BC */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 0280A1BC */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 0280A1C0 */ Gambit_fn_0282A5DC(cpu);
|
|
L_0280A1C4: ; // 0x280a1c4
|
|
/* 0280A1C4 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 0280A1C4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0280A1C8 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0280A1C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0280A1CC */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0280A1CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0280A1D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280A1D4 */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 0280A1D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0280A1D8 */ cpu->lr = cpu->r[0];
|
|
/* 0280A1DC */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 0280A1DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0280A1E0 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 0280A1E4 */ return;
|
|
}
|
|
|
|
// fn_0280A088 @ 0x280a088
|
|
void Gambit_fn_0280A088(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_0280A088: ; // 0x280a088
|
|
/* 0280A088 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 0280A088 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280A088 */ cpu->r[1] = _t0;
|
|
/* 0280A08C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0280A08C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0280A090 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 0280A090 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280A094 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280A094 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0280A098 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0280A098 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 0280A09C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 0280A09C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0280A0A0 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0280A0A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0280A0A4 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 0280A0A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0280A0A8 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 0280A0A8 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0280A0AC */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A0AC */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0280A0B0 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 0280A0B0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0280A0B4 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0280A0B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0280A0B8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280A0B8 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 0280A0BC */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 0280A0BC */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 0280A0C0 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0280A0C0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280A0C0 */ if (_t15) goto L_0280A0C4; else goto L_0280A0E4;
|
|
L_0280A0C4: ; // 0x280a0c4
|
|
/* 0280A0C4 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 0280A0C4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 0280A0C8 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 0280A0C8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 0280A0CC */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 0280A0CC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 0280A0D0 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 0280A0D0 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 0280A0D4 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 0280A0D4 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 0280A0D8 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 0280A0D8 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 0280A0DC */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 0280A0DC */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 0280A0E0 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 0280A0E0 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_0280A0E4: ; // 0x280a0e4
|
|
/* 0280A0E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280A0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280A0E8 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280A0EC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A0EC */ _t25 = _t24 & 0x00000001u;
|
|
/* 0280A0EC */ if (_t25) goto L_0280A0F0; else goto L_0280A100;
|
|
L_0280A0F0: ; // 0x280a0f0
|
|
/* 0280A0F0 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 0280A0F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280A0F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280A0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280A0FC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A0FC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0280A0FC */ if (_t27) goto L_0280A1C4; else goto L_0280A100;
|
|
L_0280A100: ; // 0x280a100
|
|
/* 0280A100 */ cpu->r[29] = cpu->r[31];
|
|
/* 0280A100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280A104 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A104 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0280A104 */ if (_t29) goto L_0280A108; else goto L_0280A118;
|
|
L_0280A108: ; // 0x280a108
|
|
/* 0280A108 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 0280A10C */ Gambit_fn_02801A78(cpu);
|
|
/* 0280A110 */ cpu->r[29] = cpu->r[3];
|
|
/* 0280A110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280A114 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A114 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0280A114 */ if (_t31) goto L_0280A188; else goto L_0280A118;
|
|
L_0280A118: ; // 0x280a118
|
|
/* 0280A118 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280A118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A11C */ cpu->r[28] = 0x10110000u;
|
|
/* 0280A120 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A120 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0280A120 */ if (_t33) goto L_0280A124; else goto L_0280A150;
|
|
L_0280A124: ; // 0x280a124
|
|
/* 0280A124 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280A128 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280A12C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A130 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A130 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0280A130 */ if (_t35) goto L_0280A134; else goto L_0280A150;
|
|
L_0280A134: ; // 0x280a134
|
|
/* 0280A134 */ cpu->r[7] = 0x10110000u;
|
|
/* 0280A138 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 0280A138 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0280A13C */ cpu->r[7] = cpu->r[7] + 0x000027D4u;
|
|
/* 0280A140 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 0280A140 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0280A144 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0280A144 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 0280A148 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 0280A148 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 0280A14C */ goto L_0280A188;
|
|
L_0280A150: ; // 0x280a150
|
|
/* 0280A150 */ cpu->r[5] = 0x10110000u;
|
|
/* 0280A154 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0280A158 */ cpu->r[5] = cpu->r[5] + 0x000027A4u;
|
|
/* 0280A15C */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 0280A15C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 0280A160 */ cpu->r[6] = 0x00000100u;
|
|
/* 0280A164 */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 0280A164 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 0280A168 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 0280A168 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 0280A16C */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 0280A16C */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 0280A170 */ cpu->r[7] = 0x10110000u;
|
|
/* 0280A174 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 0280A174 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0280A178 */ cpu->r[7] = cpu->r[7] + 0x000027D4u;
|
|
/* 0280A17C */ _t45 = cpu->r[29] + 0x0000010Bu;
|
|
/* 0280A17C */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 0280A180 */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 0280A180 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 0280A184 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 0280A184 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_0280A188: ; // 0x280a188
|
|
/* 0280A188 */ cpu->r[9] = 0x10110000u;
|
|
/* 0280A18C */ cpu->r[12] = 0x00000002u;
|
|
/* 0280A190 */ cpu->r[9] = cpu->r[9] + 0x00002884u;
|
|
/* 0280A194 */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 0280A198 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 0280A198 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 0280A19C */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 0280A1A0 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280A1A0 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 0280A1A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280A1A8 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 0280A1A8 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 0280A1AC */ cpu->r[3] = cpu->r[31];
|
|
/* 0280A1B0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0280A1B4 */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 0280A1B4 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 0280A1B8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280A1BC */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 0280A1BC */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 0280A1C0 */ Gambit_fn_0282A5DC(cpu);
|
|
L_0280A1C4: ; // 0x280a1c4
|
|
/* 0280A1C4 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 0280A1C4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0280A1C8 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0280A1C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0280A1CC */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0280A1CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0280A1D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280A1D4 */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 0280A1D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0280A1D8 */ cpu->lr = cpu->r[0];
|
|
/* 0280A1DC */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 0280A1DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0280A1E0 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 0280A1E4 */ return;
|
|
}
|
|
|
|
// fn_0280A1E8 @ 0x280a1e8
|
|
void Gambit_fn_0280A1E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_0280A1E8: ; // 0x280a1e8
|
|
/* 0280A1E8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280A1E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280A1E8 */ cpu->r[1] = _t0;
|
|
/* 0280A1EC */ /* nop */
|
|
/* 0280A1F0 */ cpu->r[0] = cpu->lr;
|
|
/* 0280A1F4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A1F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280A1F8 */ cpu->r[27] = cpu->r[3];
|
|
/* 0280A1FC */ _t2 = cpu->r[27] + 0x00000010u;
|
|
/* 0280A1FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280A200 */ _t3 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A200 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280A204 */ cpu->r[26] = cpu->r[4];
|
|
/* 0280A208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
|
|
/* 0280A20C */ cpu->r[31] = cpu->r[5];
|
|
/* 0280A210 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280A210 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280A210 */ if (_t5) goto L_0280A214; else goto L_0280A42C;
|
|
L_0280A214: ; // 0x280a214
|
|
/* 0280A214 */ _t6 = cpu->r[27] + 0x00000004u;
|
|
/* 0280A214 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280A218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280A21C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A21C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280A21C */ if (_t8) goto L_0280A228; else goto L_0280A220;
|
|
L_0280A220: ; // 0x280a220
|
|
/* 0280A220 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 0280A220 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280A224 */ _t10 = cpu->r[27] + 0x00000004u;
|
|
/* 0280A224 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
L_0280A228: ; // 0x280a228
|
|
/* 0280A228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280A22C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A22C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280A22C */ if (_t12) goto L_0280A3F0; else goto L_0280A230;
|
|
L_0280A230: ; // 0x280a230
|
|
/* 0280A230 */ cpu->r[29] = 0x10110000u;
|
|
/* 0280A234 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280A234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A238 */ cpu->r[29] = cpu->r[29] + 0x00007399u;
|
|
/* 0280A23C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A23C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280A23C */ if (_t14) goto L_0280A240; else goto L_0280A250;
|
|
L_0280A240: ; // 0x280a240
|
|
/* 0280A240 */ cpu->r[3] = 0x00000018u;
|
|
/* 0280A244 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280A248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A24C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A24C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280A24C */ if (_t16) goto L_0280A27C; else goto L_0280A250;
|
|
L_0280A250: ; // 0x280a250
|
|
/* 0280A250 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280A254 */ cpu->r[9] = 0x10110000u;
|
|
/* 0280A258 */ _t17 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280A258 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0280A25C */ cpu->r[0] = cpu->r[0] + 0x0000295Cu;
|
|
/* 0280A260 */ cpu->r[9] = cpu->r[9] + 0x00002744u;
|
|
/* 0280A264 */ _t18 = cpu->r[3] + 0x00000014u;
|
|
/* 0280A264 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0280A268 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280A26C */ _t19 = cpu->r[3] + 0x00000010u;
|
|
/* 0280A26C */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 0280A270 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 0280A270 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 0280A274 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 0280A274 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 0280A278 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 0280A278 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_0280A27C: ; // 0x280a27c
|
|
/* 0280A27C */ cpu->r[6] = 0x10110000u;
|
|
/* 0280A280 */ cpu->r[6] = cpu->r[6] + 0x000029D4u;
|
|
/* 0280A284 */ _t23 = cpu->r[30] + 0x00000014u;
|
|
/* 0280A284 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 0280A288 */ _t24 = cpu->r[31] + 0x00000000u;
|
|
/* 0280A288 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280A28C */ _t25 = cpu->r[30] + 0x00000018u;
|
|
/* 0280A28C */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 0280A290 */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 0280A290 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280A294 */ _t27 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280A294 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 0280A298 */ _t28 = cpu->r[31] + 0x00000008u;
|
|
/* 0280A298 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280A29C */ _t29 = cpu->r[30] + 0x00000020u;
|
|
/* 0280A29C */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 0280A2A0 */ _t30 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0280A2A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0280A2A4 */ _t31 = cpu->r[30] + 0x00000028u;
|
|
/* 0280A2A4 */ rbrew_write32(cpu->mem, _t31, cpu->r[27]);
|
|
/* 0280A2A8 */ _t32 = cpu->r[30] + 0x00000024u;
|
|
/* 0280A2A8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0280A2AC */ _t33 = cpu->r[29] + 0x00000000u;
|
|
/* 0280A2AC */ cpu->r[28] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0280A2B0 */ _t34 = cpu->r[30] + 0x0000006Cu;
|
|
/* 0280A2B0 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[28]);
|
|
/* 0280A2B4 */ _t35 = cpu->r[26] + 0x00000004u;
|
|
/* 0280A2B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0280A2B8 */ cpu->r[29] = cpu->r[30] + 0x0000002Cu;
|
|
/* 0280A2BC */ _t36 = cpu->r[11] + 0x00000014u;
|
|
/* 0280A2BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0280A2C0 */ cpu->ctr = cpu->r[11];
|
|
/* 0280A2C4 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280A2C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280A2CC */ _t37 = cpu->r[26] + 0x00000000u;
|
|
/* 0280A2CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0280A2D0 */ _t38 = cpu->r[12] + 0x00000000u;
|
|
/* 0280A2D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 0280A2D4 */ cpu->r[31] = 0x00000000u;
|
|
/* 0280A2D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0280A2DC */ cpu->r[5] = 0x00080000u;
|
|
/* 0280A2E0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A2E0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0280A2E0 */ if (_t40) goto L_0280A378; else goto L_0280A2E4;
|
|
L_0280A2E4: ; // 0x280a2e4
|
|
/* 0280A2E4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0280A2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 0280A2EC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280A2F0 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280A2F0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0280A2F0 */ if (_t42) goto L_0280A30C; else goto L_0280A2F4;
|
|
L_0280A2F4: ; // 0x280a2f4
|
|
/* 0280A2F4 */ _t43 = cpu->r[12] + 0x00000000u;
|
|
/* 0280A2F4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t43);
|
|
/* 0280A2F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0280A2FC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A2FC */ _t45 = _t44 & 0x00000001u;
|
|
/* 0280A2FC */ if (_t45) goto L_0280A300; else goto L_0280A2E4;
|
|
L_0280A300: ; // 0x280a300
|
|
/* 0280A300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000041u);
|
|
/* 0280A304 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280A304 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0280A304 */ if (_t47) goto L_0280A384; else goto L_0280A308;
|
|
L_0280A308: ; // 0x280a308
|
|
/* 0280A308 */ goto L_0280A380;
|
|
L_0280A30C: ; // 0x280a30c
|
|
/* 0280A30C */ _t48 = cpu->r[26] + 0x00000004u;
|
|
/* 0280A30C */ cpu->r[7] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0280A310 */ _t49 = cpu->r[7] + 0x00000014u;
|
|
/* 0280A310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0280A314 */ cpu->ctr = cpu->r[0];
|
|
/* 0280A318 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280A31C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280A320 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280A324 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280A328 */ _t50 = cpu->r[26] + 0x00000000u;
|
|
/* 0280A328 */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0280A32C */ cpu->r[6] = cpu->r[5];
|
|
/* 0280A330 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280A334 */ _t51 = cpu->r[29] + 0x00000000u;
|
|
/* 0280A334 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[28]);
|
|
/* 0280A338 */ _t52 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280A338 */ rbrew_write32(cpu->mem, _t52, cpu->r[29]);
|
|
/* 0280A33C */ _t53 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A33C */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0280A340 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280A344 */ _t54 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A344 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0280A348 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0280A34C */ cpu->r[5] = cpu->r[30];
|
|
/* 0280A350 */ _t55 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A350 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]);
|
|
/* 0280A354 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280A358 */ cpu->r[0] = 0x00000001u;
|
|
/* 0280A35C */ _t56 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A35C */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 0280A360 */ _t57 = cpu->r[3] + 0x00000008u;
|
|
/* 0280A360 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 0280A364 */ /* nop */
|
|
/* 0280A368 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0280A36C */ cpu->lr = cpu->r[0];
|
|
/* 0280A370 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280A374 */ return;
|
|
L_0280A378: ; // 0x280a378
|
|
/* 0280A378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000041u);
|
|
/* 0280A37C */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280A37C */ _t60 = _t59 & 0x00000001u;
|
|
/* 0280A37C */ if (_t60) goto L_0280A384; else goto L_0280A380;
|
|
L_0280A380: ; // 0x280a380
|
|
/* 0280A380 */ cpu->r[31] = 0x00000040u;
|
|
L_0280A384: ; // 0x280a384
|
|
/* 0280A384 */ _t61 = cpu->r[26] + 0x00000004u;
|
|
/* 0280A384 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0280A388 */ _t62 = cpu->r[7] + 0x00000014u;
|
|
/* 0280A388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0280A38C */ cpu->ctr = cpu->r[0];
|
|
/* 0280A390 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280A394 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280A398 */ _t63 = cpu->r[26] + 0x00000000u;
|
|
/* 0280A398 */ cpu->r[4] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0280A39C */ cpu->r[6] = 0x00000000u;
|
|
/* 0280A3A0 */ cpu->r[5] = cpu->r[31];
|
|
/* 0280A3A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280A3A8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280A3AC */ _t64 = cpu->r[29] + cpu->r[31];
|
|
/* 0280A3AC */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[28]);
|
|
/* 0280A3B0 */ _t65 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280A3B0 */ rbrew_write32(cpu->mem, _t65, cpu->r[29]);
|
|
/* 0280A3B4 */ _t66 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A3B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0280A3B8 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280A3BC */ _t67 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A3BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0280A3C0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0280A3C4 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280A3C8 */ _t68 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A3C8 */ rbrew_write32(cpu->mem, _t68, cpu->r[10]);
|
|
/* 0280A3CC */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280A3D0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0280A3D4 */ _t69 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A3D4 */ rbrew_write32(cpu->mem, _t69, cpu->r[3]);
|
|
/* 0280A3D8 */ _t70 = cpu->r[3] + 0x00000008u;
|
|
/* 0280A3D8 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 0280A3DC */ /* nop */
|
|
/* 0280A3E0 */ _t71 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A3E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0280A3E4 */ cpu->lr = cpu->r[0];
|
|
/* 0280A3E8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280A3EC */ return;
|
|
L_0280A3F0: ; // 0x280a3f0
|
|
/* 0280A3F0 */ _t72 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A3F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0280A3F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280A3F8 */ _t73 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A3F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0280A3FC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0280A400 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280A404 */ _t74 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A404 */ rbrew_write32(cpu->mem, _t74, cpu->r[10]);
|
|
/* 0280A408 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280A40C */ cpu->r[0] = 0x00000001u;
|
|
/* 0280A410 */ _t75 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A410 */ rbrew_write32(cpu->mem, _t75, cpu->r[3]);
|
|
/* 0280A414 */ _t76 = cpu->r[3] + 0x00000008u;
|
|
/* 0280A414 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
/* 0280A418 */ /* nop */
|
|
/* 0280A41C */ _t77 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A41C */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0280A420 */ cpu->lr = cpu->r[0];
|
|
/* 0280A424 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280A428 */ return;
|
|
L_0280A42C: ; // 0x280a42c
|
|
/* 0280A42C */ _t78 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A42C */ cpu->r[4] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0280A430 */ cpu->r[5] = cpu->r[26];
|
|
/* 0280A434 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280A438 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 0280A43C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A440 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A440 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0280A440 */ if (_t80) goto L_0280A474; else goto L_0280A444;
|
|
L_0280A444: ; // 0x280a444
|
|
/* 0280A444 */ cpu->r[12] = cpu->r[3] + 0x00000018u;
|
|
/* 0280A444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280A448 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A448 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0280A448 */ if (_t82) goto L_0280A474; else goto L_0280A44C;
|
|
L_0280A44C: ; // 0x280a44c
|
|
/* 0280A44C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280A450 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A450 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0280A450 */ if (_t84) goto L_0280A474; else goto L_0280A454;
|
|
L_0280A454: ; // 0x280a454
|
|
/* 0280A454 */ _t85 = cpu->r[31] + 0x00000000u;
|
|
/* 0280A454 */ cpu->r[7] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0280A458 */ _t86 = cpu->r[12] + 0x00000000u;
|
|
/* 0280A458 */ rbrew_write32(cpu->mem, _t86, cpu->r[7]);
|
|
/* 0280A45C */ _t87 = cpu->r[31] + 0x00000004u;
|
|
/* 0280A45C */ cpu->r[9] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0280A460 */ _t88 = cpu->r[12] + 0x00000004u;
|
|
/* 0280A460 */ rbrew_write32(cpu->mem, _t88, cpu->r[9]);
|
|
/* 0280A464 */ _t89 = cpu->r[31] + 0x00000008u;
|
|
/* 0280A464 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0280A468 */ _t90 = cpu->r[12] + 0x00000008u;
|
|
/* 0280A468 */ rbrew_write32(cpu->mem, _t90, cpu->r[11]);
|
|
/* 0280A46C */ _t91 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0280A46C */ cpu->r[5] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0280A470 */ _t92 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0280A470 */ rbrew_write32(cpu->mem, _t92, cpu->r[5]);
|
|
L_0280A474: ; // 0x280a474
|
|
/* 0280A474 */ /* nop */
|
|
/* 0280A478 */ _t93 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0280A47C */ cpu->lr = cpu->r[0];
|
|
/* 0280A480 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280A484 */ return;
|
|
}
|
|
|
|
// fn_0280A488 @ 0x280a488
|
|
void Gambit_fn_0280A488(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_0280A488: ; // 0x280a488
|
|
/* 0280A488 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280A488 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280A488 */ cpu->r[1] = _t0;
|
|
/* 0280A48C */ /* nop */
|
|
/* 0280A490 */ cpu->r[0] = cpu->lr;
|
|
/* 0280A494 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A494 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280A498 */ cpu->r[27] = cpu->r[3];
|
|
/* 0280A49C */ _t2 = cpu->r[27] + 0x00000010u;
|
|
/* 0280A49C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280A4A0 */ _t3 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A4A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280A4A4 */ cpu->r[26] = cpu->r[4];
|
|
/* 0280A4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
|
|
/* 0280A4AC */ cpu->r[31] = cpu->r[5];
|
|
/* 0280A4B0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280A4B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280A4B0 */ if (_t5) goto L_0280A4B4; else goto L_0280A6CC;
|
|
L_0280A4B4: ; // 0x280a4b4
|
|
/* 0280A4B4 */ _t6 = cpu->r[27] + 0x00000004u;
|
|
/* 0280A4B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280A4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280A4BC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A4BC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280A4BC */ if (_t8) goto L_0280A4C8; else goto L_0280A4C0;
|
|
L_0280A4C0: ; // 0x280a4c0
|
|
/* 0280A4C0 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 0280A4C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280A4C4 */ _t10 = cpu->r[27] + 0x00000004u;
|
|
/* 0280A4C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
L_0280A4C8: ; // 0x280a4c8
|
|
/* 0280A4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280A4CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A4CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280A4CC */ if (_t12) goto L_0280A690; else goto L_0280A4D0;
|
|
L_0280A4D0: ; // 0x280a4d0
|
|
/* 0280A4D0 */ cpu->r[29] = 0x10110000u;
|
|
/* 0280A4D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280A4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A4D8 */ cpu->r[29] = cpu->r[29] + 0x00007399u;
|
|
/* 0280A4DC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A4DC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280A4DC */ if (_t14) goto L_0280A4E0; else goto L_0280A4F0;
|
|
L_0280A4E0: ; // 0x280a4e0
|
|
/* 0280A4E0 */ cpu->r[3] = 0x00000018u;
|
|
/* 0280A4E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280A4E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A4EC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A4EC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280A4EC */ if (_t16) goto L_0280A51C; else goto L_0280A4F0;
|
|
L_0280A4F0: ; // 0x280a4f0
|
|
/* 0280A4F0 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280A4F4 */ cpu->r[9] = 0x10110000u;
|
|
/* 0280A4F8 */ _t17 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280A4F8 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0280A4FC */ cpu->r[0] = cpu->r[0] + 0x0000295Cu;
|
|
/* 0280A500 */ cpu->r[9] = cpu->r[9] + 0x00002744u;
|
|
/* 0280A504 */ _t18 = cpu->r[3] + 0x00000014u;
|
|
/* 0280A504 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0280A508 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280A50C */ _t19 = cpu->r[3] + 0x00000010u;
|
|
/* 0280A50C */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 0280A510 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 0280A510 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 0280A514 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 0280A514 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 0280A518 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 0280A518 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_0280A51C: ; // 0x280a51c
|
|
/* 0280A51C */ cpu->r[6] = 0x10110000u;
|
|
/* 0280A520 */ cpu->r[6] = cpu->r[6] + 0x000029ECu;
|
|
/* 0280A524 */ _t23 = cpu->r[30] + 0x00000014u;
|
|
/* 0280A524 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 0280A528 */ _t24 = cpu->r[31] + 0x00000000u;
|
|
/* 0280A528 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280A52C */ _t25 = cpu->r[30] + 0x00000018u;
|
|
/* 0280A52C */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 0280A530 */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 0280A530 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280A534 */ _t27 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280A534 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 0280A538 */ _t28 = cpu->r[31] + 0x00000008u;
|
|
/* 0280A538 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280A53C */ _t29 = cpu->r[30] + 0x00000020u;
|
|
/* 0280A53C */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 0280A540 */ _t30 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0280A540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0280A544 */ _t31 = cpu->r[30] + 0x00000028u;
|
|
/* 0280A544 */ rbrew_write32(cpu->mem, _t31, cpu->r[27]);
|
|
/* 0280A548 */ _t32 = cpu->r[30] + 0x00000024u;
|
|
/* 0280A548 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0280A54C */ _t33 = cpu->r[29] + 0x00000000u;
|
|
/* 0280A54C */ cpu->r[28] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0280A550 */ _t34 = cpu->r[30] + 0x0000006Cu;
|
|
/* 0280A550 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[28]);
|
|
/* 0280A554 */ _t35 = cpu->r[26] + 0x00000004u;
|
|
/* 0280A554 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0280A558 */ cpu->r[29] = cpu->r[30] + 0x0000002Cu;
|
|
/* 0280A55C */ _t36 = cpu->r[11] + 0x00000014u;
|
|
/* 0280A55C */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0280A560 */ cpu->ctr = cpu->r[11];
|
|
/* 0280A564 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280A568 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280A56C */ _t37 = cpu->r[26] + 0x00000000u;
|
|
/* 0280A56C */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0280A570 */ _t38 = cpu->r[12] + 0x00000000u;
|
|
/* 0280A570 */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 0280A574 */ cpu->r[31] = 0x00000000u;
|
|
/* 0280A578 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0280A57C */ cpu->r[5] = 0x00080000u;
|
|
/* 0280A580 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A580 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0280A580 */ if (_t40) goto L_0280A618; else goto L_0280A584;
|
|
L_0280A584: ; // 0x280a584
|
|
/* 0280A584 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0280A588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 0280A58C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280A590 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280A590 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0280A590 */ if (_t42) goto L_0280A5AC; else goto L_0280A594;
|
|
L_0280A594: ; // 0x280a594
|
|
/* 0280A594 */ _t43 = cpu->r[12] + 0x00000000u;
|
|
/* 0280A594 */ cpu->r[6] = rbrew_read8(cpu->mem, _t43);
|
|
/* 0280A598 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[28]);
|
|
/* 0280A59C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A59C */ _t45 = _t44 & 0x00000001u;
|
|
/* 0280A59C */ if (_t45) goto L_0280A5A0; else goto L_0280A584;
|
|
L_0280A5A0: ; // 0x280a5a0
|
|
/* 0280A5A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000041u);
|
|
/* 0280A5A4 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280A5A4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0280A5A4 */ if (_t47) goto L_0280A624; else goto L_0280A5A8;
|
|
L_0280A5A8: ; // 0x280a5a8
|
|
/* 0280A5A8 */ goto L_0280A620;
|
|
L_0280A5AC: ; // 0x280a5ac
|
|
/* 0280A5AC */ _t48 = cpu->r[26] + 0x00000004u;
|
|
/* 0280A5AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0280A5B0 */ _t49 = cpu->r[7] + 0x00000014u;
|
|
/* 0280A5B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0280A5B4 */ cpu->ctr = cpu->r[0];
|
|
/* 0280A5B8 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280A5BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280A5C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280A5C4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280A5C8 */ _t50 = cpu->r[26] + 0x00000000u;
|
|
/* 0280A5C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0280A5CC */ cpu->r[6] = cpu->r[5];
|
|
/* 0280A5D0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280A5D4 */ _t51 = cpu->r[29] + 0x00000000u;
|
|
/* 0280A5D4 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[28]);
|
|
/* 0280A5D8 */ _t52 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280A5D8 */ rbrew_write32(cpu->mem, _t52, cpu->r[29]);
|
|
/* 0280A5DC */ _t53 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A5DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0280A5E0 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280A5E4 */ _t54 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A5E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0280A5E8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0280A5EC */ cpu->r[5] = cpu->r[30];
|
|
/* 0280A5F0 */ _t55 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A5F0 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]);
|
|
/* 0280A5F4 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280A5F8 */ cpu->r[0] = 0x00000001u;
|
|
/* 0280A5FC */ _t56 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A5FC */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 0280A600 */ _t57 = cpu->r[3] + 0x00000008u;
|
|
/* 0280A600 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 0280A604 */ /* nop */
|
|
/* 0280A608 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0280A60C */ cpu->lr = cpu->r[0];
|
|
/* 0280A610 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280A614 */ return;
|
|
L_0280A618: ; // 0x280a618
|
|
/* 0280A618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000041u);
|
|
/* 0280A61C */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280A61C */ _t60 = _t59 & 0x00000001u;
|
|
/* 0280A61C */ if (_t60) goto L_0280A624; else goto L_0280A620;
|
|
L_0280A620: ; // 0x280a620
|
|
/* 0280A620 */ cpu->r[31] = 0x00000040u;
|
|
L_0280A624: ; // 0x280a624
|
|
/* 0280A624 */ _t61 = cpu->r[26] + 0x00000004u;
|
|
/* 0280A624 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0280A628 */ _t62 = cpu->r[7] + 0x00000014u;
|
|
/* 0280A628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0280A62C */ cpu->ctr = cpu->r[0];
|
|
/* 0280A630 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280A634 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280A638 */ _t63 = cpu->r[26] + 0x00000000u;
|
|
/* 0280A638 */ cpu->r[4] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0280A63C */ cpu->r[6] = 0x00000000u;
|
|
/* 0280A640 */ cpu->r[5] = cpu->r[31];
|
|
/* 0280A644 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280A648 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280A64C */ _t64 = cpu->r[29] + cpu->r[31];
|
|
/* 0280A64C */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[28]);
|
|
/* 0280A650 */ _t65 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280A650 */ rbrew_write32(cpu->mem, _t65, cpu->r[29]);
|
|
/* 0280A654 */ _t66 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A654 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0280A658 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280A65C */ _t67 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A65C */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0280A660 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0280A664 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280A668 */ _t68 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A668 */ rbrew_write32(cpu->mem, _t68, cpu->r[10]);
|
|
/* 0280A66C */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280A670 */ cpu->r[0] = 0x00000001u;
|
|
/* 0280A674 */ _t69 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A674 */ rbrew_write32(cpu->mem, _t69, cpu->r[3]);
|
|
/* 0280A678 */ _t70 = cpu->r[3] + 0x00000008u;
|
|
/* 0280A678 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 0280A67C */ /* nop */
|
|
/* 0280A680 */ _t71 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0280A684 */ cpu->lr = cpu->r[0];
|
|
/* 0280A688 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280A68C */ return;
|
|
L_0280A690: ; // 0x280a690
|
|
/* 0280A690 */ _t72 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A690 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0280A694 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280A698 */ _t73 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A698 */ cpu->r[4] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0280A69C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0280A6A0 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280A6A4 */ _t74 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280A6A4 */ rbrew_write32(cpu->mem, _t74, cpu->r[10]);
|
|
/* 0280A6A8 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280A6AC */ cpu->r[0] = 0x00000001u;
|
|
/* 0280A6B0 */ _t75 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A6B0 */ rbrew_write32(cpu->mem, _t75, cpu->r[3]);
|
|
/* 0280A6B4 */ _t76 = cpu->r[3] + 0x00000008u;
|
|
/* 0280A6B4 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
/* 0280A6B8 */ /* nop */
|
|
/* 0280A6BC */ _t77 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A6BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0280A6C0 */ cpu->lr = cpu->r[0];
|
|
/* 0280A6C4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280A6C8 */ return;
|
|
L_0280A6CC: ; // 0x280a6cc
|
|
/* 0280A6CC */ _t78 = cpu->r[27] + 0x00000000u;
|
|
/* 0280A6CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0280A6D0 */ cpu->r[5] = cpu->r[26];
|
|
/* 0280A6D4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280A6D8 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 0280A6DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A6E0 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A6E0 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0280A6E0 */ if (_t80) goto L_0280A714; else goto L_0280A6E4;
|
|
L_0280A6E4: ; // 0x280a6e4
|
|
/* 0280A6E4 */ cpu->r[12] = cpu->r[3] + 0x00000018u;
|
|
/* 0280A6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280A6E8 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A6E8 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0280A6E8 */ if (_t82) goto L_0280A714; else goto L_0280A6EC;
|
|
L_0280A6EC: ; // 0x280a6ec
|
|
/* 0280A6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280A6F0 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A6F0 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0280A6F0 */ if (_t84) goto L_0280A714; else goto L_0280A6F4;
|
|
L_0280A6F4: ; // 0x280a6f4
|
|
/* 0280A6F4 */ _t85 = cpu->r[31] + 0x00000000u;
|
|
/* 0280A6F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0280A6F8 */ _t86 = cpu->r[12] + 0x00000000u;
|
|
/* 0280A6F8 */ rbrew_write32(cpu->mem, _t86, cpu->r[7]);
|
|
/* 0280A6FC */ _t87 = cpu->r[31] + 0x00000004u;
|
|
/* 0280A6FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0280A700 */ _t88 = cpu->r[12] + 0x00000004u;
|
|
/* 0280A700 */ rbrew_write32(cpu->mem, _t88, cpu->r[9]);
|
|
/* 0280A704 */ _t89 = cpu->r[31] + 0x00000008u;
|
|
/* 0280A704 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0280A708 */ _t90 = cpu->r[12] + 0x00000008u;
|
|
/* 0280A708 */ rbrew_write32(cpu->mem, _t90, cpu->r[11]);
|
|
/* 0280A70C */ _t91 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0280A70C */ cpu->r[5] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0280A710 */ _t92 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0280A710 */ rbrew_write32(cpu->mem, _t92, cpu->r[5]);
|
|
L_0280A714: ; // 0x280a714
|
|
/* 0280A714 */ /* nop */
|
|
/* 0280A718 */ _t93 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0280A71C */ cpu->lr = cpu->r[0];
|
|
/* 0280A720 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280A724 */ return;
|
|
}
|
|
|
|
// fn_0280A728 @ 0x280a728
|
|
void Gambit_fn_0280A728(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_0280A728: ; // 0x280a728
|
|
/* 0280A728 */ cpu->r[0] = cpu->lr;
|
|
/* 0280A72C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280A72C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280A72C */ cpu->r[1] = _t0;
|
|
/* 0280A730 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280A730 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0280A734 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280A734 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280A738 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0280A738 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0280A73C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280A73C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280A740 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280A740 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280A744 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A744 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280A744 */ if (_t6) goto L_0280A748; else goto L_0280A758;
|
|
L_0280A748: ; // 0x280a748
|
|
/* 0280A748 */ cpu->r[3] = 0x00000050u;
|
|
/* 0280A74C */ Gambit_fn_02801A78(cpu);
|
|
/* 0280A750 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280A750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280A754 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A754 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280A754 */ if (_t8) goto L_0280A7EC; else goto L_0280A758;
|
|
L_0280A758: ; // 0x280a758
|
|
/* 0280A758 */ cpu->r[29] = cpu->r[31];
|
|
/* 0280A758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280A75C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A75C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280A75C */ if (_t10) goto L_0280A760; else goto L_0280A770;
|
|
L_0280A760: ; // 0x280a760
|
|
/* 0280A760 */ cpu->r[3] = 0x00000050u;
|
|
/* 0280A764 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280A768 */ cpu->r[29] = cpu->r[3];
|
|
/* 0280A768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280A76C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A76C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280A76C */ if (_t12) goto L_0280A7E0; else goto L_0280A770;
|
|
L_0280A770: ; // 0x280a770
|
|
/* 0280A770 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280A770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A774 */ cpu->r[30] = 0x10110000u;
|
|
/* 0280A778 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A778 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280A778 */ if (_t14) goto L_0280A77C; else goto L_0280A7A8;
|
|
L_0280A77C: ; // 0x280a77c
|
|
/* 0280A77C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280A780 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280A784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A788 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A788 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280A788 */ if (_t16) goto L_0280A78C; else goto L_0280A7A8;
|
|
L_0280A78C: ; // 0x280a78c
|
|
/* 0280A78C */ cpu->r[10] = 0x10110000u;
|
|
/* 0280A790 */ _t17 = cpu->r[30] + 0x00007399u;
|
|
/* 0280A790 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0280A794 */ cpu->r[10] = cpu->r[10] + 0x00002824u;
|
|
/* 0280A798 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 0280A798 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280A79C */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 0280A79C */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 0280A7A0 */ _t20 = cpu->r[11] + 0x00000000u;
|
|
/* 0280A7A0 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 0280A7A4 */ goto L_0280A7E0;
|
|
L_0280A7A8: ; // 0x280a7a8
|
|
/* 0280A7A8 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280A7AC */ cpu->r[12] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0280A7B0 */ cpu->r[0] = cpu->r[0] + 0x000027A4u;
|
|
/* 0280A7B4 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 0280A7B4 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0280A7B8 */ cpu->r[9] = 0x00000041u;
|
|
/* 0280A7BC */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 0280A7BC */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0280A7C0 */ _t23 = cpu->r[3] + 0x00000008u;
|
|
/* 0280A7C0 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 0280A7C4 */ _t24 = cpu->r[30] + 0x00007399u;
|
|
/* 0280A7C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0280A7C8 */ cpu->r[10] = 0x10110000u;
|
|
/* 0280A7CC */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 0280A7CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280A7D0 */ cpu->r[10] = cpu->r[10] + 0x00002824u;
|
|
/* 0280A7D4 */ _t26 = cpu->r[29] + 0x0000004Cu;
|
|
/* 0280A7D4 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
|
|
/* 0280A7D8 */ _t27 = cpu->r[29] + 0x00000004u;
|
|
/* 0280A7D8 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 0280A7DC */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 0280A7DC */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
L_0280A7E0: ; // 0x280a7e0
|
|
/* 0280A7E0 */ cpu->r[12] = 0x10110000u;
|
|
/* 0280A7E4 */ cpu->r[12] = cpu->r[12] + 0x0000283Cu;
|
|
/* 0280A7E8 */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 0280A7E8 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
L_0280A7EC: ; // 0x280a7ec
|
|
/* 0280A7EC */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280A7EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0280A7F0 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280A7F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0280A7F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280A7F8 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 0280A7F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0280A7FC */ cpu->lr = cpu->r[0];
|
|
/* 0280A800 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0280A800 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0280A804 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280A808 */ return;
|
|
}
|
|
|
|
// fn_0280A72C @ 0x280a72c
|
|
void Gambit_fn_0280A72C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_0280A72C: ; // 0x280a72c
|
|
/* 0280A72C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280A72C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280A72C */ cpu->r[1] = _t0;
|
|
/* 0280A730 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280A730 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0280A734 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280A734 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280A738 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0280A738 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0280A73C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280A73C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280A740 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280A740 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280A744 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A744 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280A744 */ if (_t6) goto L_0280A748; else goto L_0280A758;
|
|
L_0280A748: ; // 0x280a748
|
|
/* 0280A748 */ cpu->r[3] = 0x00000050u;
|
|
/* 0280A74C */ Gambit_fn_02801A78(cpu);
|
|
/* 0280A750 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280A750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280A754 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A754 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280A754 */ if (_t8) goto L_0280A7EC; else goto L_0280A758;
|
|
L_0280A758: ; // 0x280a758
|
|
/* 0280A758 */ cpu->r[29] = cpu->r[31];
|
|
/* 0280A758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280A75C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A75C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280A75C */ if (_t10) goto L_0280A760; else goto L_0280A770;
|
|
L_0280A760: ; // 0x280a760
|
|
/* 0280A760 */ cpu->r[3] = 0x00000050u;
|
|
/* 0280A764 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280A768 */ cpu->r[29] = cpu->r[3];
|
|
/* 0280A768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280A76C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A76C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280A76C */ if (_t12) goto L_0280A7E0; else goto L_0280A770;
|
|
L_0280A770: ; // 0x280a770
|
|
/* 0280A770 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280A770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A774 */ cpu->r[30] = 0x10110000u;
|
|
/* 0280A778 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A778 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280A778 */ if (_t14) goto L_0280A77C; else goto L_0280A7A8;
|
|
L_0280A77C: ; // 0x280a77c
|
|
/* 0280A77C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280A780 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280A784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A788 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A788 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280A788 */ if (_t16) goto L_0280A78C; else goto L_0280A7A8;
|
|
L_0280A78C: ; // 0x280a78c
|
|
/* 0280A78C */ cpu->r[10] = 0x10110000u;
|
|
/* 0280A790 */ _t17 = cpu->r[30] + 0x00007399u;
|
|
/* 0280A790 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0280A794 */ cpu->r[10] = cpu->r[10] + 0x00002824u;
|
|
/* 0280A798 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 0280A798 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280A79C */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 0280A79C */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 0280A7A0 */ _t20 = cpu->r[11] + 0x00000000u;
|
|
/* 0280A7A0 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 0280A7A4 */ goto L_0280A7E0;
|
|
L_0280A7A8: ; // 0x280a7a8
|
|
/* 0280A7A8 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280A7AC */ cpu->r[12] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0280A7B0 */ cpu->r[0] = cpu->r[0] + 0x000027A4u;
|
|
/* 0280A7B4 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 0280A7B4 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0280A7B8 */ cpu->r[9] = 0x00000041u;
|
|
/* 0280A7BC */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 0280A7BC */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0280A7C0 */ _t23 = cpu->r[3] + 0x00000008u;
|
|
/* 0280A7C0 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 0280A7C4 */ _t24 = cpu->r[30] + 0x00007399u;
|
|
/* 0280A7C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0280A7C8 */ cpu->r[10] = 0x10110000u;
|
|
/* 0280A7CC */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 0280A7CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280A7D0 */ cpu->r[10] = cpu->r[10] + 0x00002824u;
|
|
/* 0280A7D4 */ _t26 = cpu->r[29] + 0x0000004Cu;
|
|
/* 0280A7D4 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
|
|
/* 0280A7D8 */ _t27 = cpu->r[29] + 0x00000004u;
|
|
/* 0280A7D8 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 0280A7DC */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 0280A7DC */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
L_0280A7E0: ; // 0x280a7e0
|
|
/* 0280A7E0 */ cpu->r[12] = 0x10110000u;
|
|
/* 0280A7E4 */ cpu->r[12] = cpu->r[12] + 0x0000283Cu;
|
|
/* 0280A7E8 */ _t29 = cpu->r[31] + 0x00000004u;
|
|
/* 0280A7E8 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
L_0280A7EC: ; // 0x280a7ec
|
|
/* 0280A7EC */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280A7EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0280A7F0 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280A7F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0280A7F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280A7F8 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 0280A7F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0280A7FC */ cpu->lr = cpu->r[0];
|
|
/* 0280A800 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0280A800 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0280A804 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280A808 */ return;
|
|
}
|
|
|
|
// fn_0280A80C @ 0x280a80c
|
|
void Gambit_fn_0280A80C(CPUState* cpu) {
|
|
uint32_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_0280A80C: ; // 0x280a80c
|
|
/* 0280A80C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280A80C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280A80C */ cpu->r[1] = _t0;
|
|
/* 0280A810 */ /* nop */
|
|
/* 0280A814 */ cpu->r[0] = cpu->lr;
|
|
/* 0280A818 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A818 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280A81C */ cpu->r[28] = cpu->r[4];
|
|
/* 0280A820 */ _t2 = cpu->r[28] + 0x00000004u;
|
|
/* 0280A820 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280A824 */ _t3 = cpu->r[8] + 0x00000014u;
|
|
/* 0280A824 */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280A828 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280A82C */ cpu->ctr = cpu->r[9];
|
|
/* 0280A830 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 0280A830 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280A834 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280A838 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280A83C */ cpu->r[30] = 0x10110000u;
|
|
/* 0280A840 */ _t5 = cpu->r[28] + 0x00000000u;
|
|
/* 0280A840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280A844 */ _t6 = cpu->r[30] + 0x00007399u;
|
|
/* 0280A844 */ cpu->r[30] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0280A848 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 0280A848 */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0280A84C */ cpu->r[6] = 0x00080000u;
|
|
/* 0280A850 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0280A854 */ cpu->r[29] = 0x00000000u;
|
|
/* 0280A858 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A858 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280A858 */ if (_t9) goto L_0280A880; else goto L_0280A85C;
|
|
L_0280A85C: ; // 0x280a85c
|
|
/* 0280A85C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0280A860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0280A864 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280A868 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280A868 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0280A868 */ if (_t11) goto L_0280A87C; else goto L_0280A86C;
|
|
L_0280A86C: ; // 0x280a86c
|
|
/* 0280A86C */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 0280A86C */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0280A870 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0280A874 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A874 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280A874 */ if (_t14) goto L_0280A878; else goto L_0280A85C;
|
|
L_0280A878: ; // 0x280a878
|
|
/* 0280A878 */ goto L_0280A880;
|
|
L_0280A87C: ; // 0x280a87c
|
|
/* 0280A87C */ cpu->r[29] = 0x00000000u;
|
|
L_0280A880: ; // 0x280a880
|
|
/* 0280A880 */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 0280A880 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280A884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 0280A888 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280A888 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280A888 */ if (_t17) goto L_0280A890; else goto L_0280A88C;
|
|
L_0280A88C: ; // 0x280a88c
|
|
/* 0280A88C */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0280A890: ; // 0x280a890
|
|
/* 0280A890 */ _t18 = cpu->r[28] + 0x00000004u;
|
|
/* 0280A890 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280A894 */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 0280A894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280A898 */ cpu->ctr = cpu->r[0];
|
|
/* 0280A89C */ cpu->r[3] = cpu->r[28];
|
|
/* 0280A8A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280A8A4 */ _t20 = cpu->r[28] + 0x00000000u;
|
|
/* 0280A8A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280A8A8 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280A8AC */ cpu->r[5] = cpu->r[29];
|
|
/* 0280A8B0 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280A8B4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280A8B8 */ _t21 = cpu->r[27] + cpu->r[29];
|
|
/* 0280A8B8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 0280A8BC */ cpu->r[3] = cpu->r[31];
|
|
/* 0280A8C0 */ /* nop */
|
|
/* 0280A8C4 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A8C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280A8C8 */ cpu->lr = cpu->r[0];
|
|
/* 0280A8CC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280A8D0 */ return;
|
|
}
|
|
|
|
// fn_0280A8D4 @ 0x280a8d4
|
|
void Gambit_fn_0280A8D4(CPUState* cpu) {
|
|
uint32_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_0280A8D4: ; // 0x280a8d4
|
|
/* 0280A8D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280A8D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280A8D4 */ cpu->r[1] = _t0;
|
|
/* 0280A8D8 */ /* nop */
|
|
/* 0280A8DC */ cpu->r[0] = cpu->lr;
|
|
/* 0280A8E0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A8E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280A8E4 */ cpu->r[28] = cpu->r[4];
|
|
/* 0280A8E8 */ _t2 = cpu->r[28] + 0x00000004u;
|
|
/* 0280A8E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280A8EC */ _t3 = cpu->r[8] + 0x00000014u;
|
|
/* 0280A8EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280A8F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280A8F4 */ cpu->ctr = cpu->r[9];
|
|
/* 0280A8F8 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 0280A8F8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280A8FC */ cpu->r[3] = cpu->r[28];
|
|
/* 0280A900 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280A904 */ cpu->r[30] = 0x10110000u;
|
|
/* 0280A908 */ _t5 = cpu->r[28] + 0x00000000u;
|
|
/* 0280A908 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280A90C */ _t6 = cpu->r[30] + 0x00007399u;
|
|
/* 0280A90C */ cpu->r[30] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0280A910 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 0280A910 */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0280A914 */ cpu->r[6] = 0x00080000u;
|
|
/* 0280A918 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0280A91C */ cpu->r[29] = 0x00000000u;
|
|
/* 0280A920 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A920 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280A920 */ if (_t9) goto L_0280A948; else goto L_0280A924;
|
|
L_0280A924: ; // 0x280a924
|
|
/* 0280A924 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0280A928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0280A92C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280A930 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280A930 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0280A930 */ if (_t11) goto L_0280A944; else goto L_0280A934;
|
|
L_0280A934: ; // 0x280a934
|
|
/* 0280A934 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 0280A934 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0280A938 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0280A93C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A93C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280A93C */ if (_t14) goto L_0280A940; else goto L_0280A924;
|
|
L_0280A940: ; // 0x280a940
|
|
/* 0280A940 */ goto L_0280A948;
|
|
L_0280A944: ; // 0x280a944
|
|
/* 0280A944 */ cpu->r[29] = 0x00000000u;
|
|
L_0280A948: ; // 0x280a948
|
|
/* 0280A948 */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 0280A948 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280A94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 0280A950 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280A950 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280A950 */ if (_t17) goto L_0280A958; else goto L_0280A954;
|
|
L_0280A954: ; // 0x280a954
|
|
/* 0280A954 */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0280A958: ; // 0x280a958
|
|
/* 0280A958 */ _t18 = cpu->r[28] + 0x00000004u;
|
|
/* 0280A958 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280A95C */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 0280A95C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280A960 */ cpu->ctr = cpu->r[0];
|
|
/* 0280A964 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280A968 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280A96C */ _t20 = cpu->r[28] + 0x00000000u;
|
|
/* 0280A96C */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280A970 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280A974 */ cpu->r[5] = cpu->r[29];
|
|
/* 0280A978 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280A97C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280A980 */ _t21 = cpu->r[27] + cpu->r[29];
|
|
/* 0280A980 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 0280A984 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280A988 */ /* nop */
|
|
/* 0280A98C */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 0280A98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280A990 */ cpu->lr = cpu->r[0];
|
|
/* 0280A994 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280A998 */ return;
|
|
}
|
|
|
|
// fn_0280A99C @ 0x280a99c
|
|
void Gambit_fn_0280A99C(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_0280A99C: ; // 0x280a99c
|
|
/* 0280A99C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280A9A0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A9A0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280A9A0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280A9A0 */ goto L_0280A9A4;
|
|
L_0280A9A4: ; // 0x280a9a4
|
|
/* 0280A9A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280A9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280A9A8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280A9A8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280A9A8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280A9A8 */ goto L_0280A9AC;
|
|
L_0280A9AC: ; // 0x280a9ac
|
|
/* 0280A9AC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280A9B0 @ 0x280a9b0
|
|
void Gambit_fn_0280A9B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_0280A9B0: ; // 0x280a9b0
|
|
/* 0280A9B0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0280A9B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280A9B0 */ cpu->r[1] = _t0;
|
|
/* 0280A9B4 */ /* nop */
|
|
/* 0280A9B8 */ cpu->r[0] = cpu->lr;
|
|
/* 0280A9BC */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280A9BC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280A9C0 */ cpu->r[25] = cpu->r[4];
|
|
/* 0280A9C4 */ cpu->r[24] = cpu->r[3];
|
|
/* 0280A9C8 */ cpu->r[28] = cpu->r[5];
|
|
/* 0280A9CC */ cpu->r[26] = 0x10110000u;
|
|
/* 0280A9D0 */ cpu->r[22] = 0x10110000u;
|
|
/* 0280A9D4 */ cpu->r[27] = 0x10110000u;
|
|
/* 0280A9D8 */ _t2 = cpu->r[24] + 0x0000000Cu;
|
|
/* 0280A9D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280A9DC */ cpu->r[26] = cpu->r[26] + 0x000027A4u;
|
|
/* 0280A9E0 */ _t3 = cpu->r[24] + 0x00000010u;
|
|
/* 0280A9E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280A9E4 */ cpu->r[29] = 0x10110000u;
|
|
/* 0280A9E8 */ cpu->r[22] = cpu->r[22] + 0x00007399u;
|
|
/* 0280A9EC */ cpu->r[27] = cpu->r[27] + 0x0000283Cu;
|
|
/* 0280A9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 0280A9F4 */ cpu->r[29] = cpu->r[29] + 0x00002824u;
|
|
/* 0280A9F8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280A9F8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280A9F8 */ if (_t5) goto L_0280A9FC; else goto L_0280AE54;
|
|
L_0280A9FC: ; // 0x280a9fc
|
|
/* 0280A9FC */ _t6 = cpu->r[24] + 0x00000004u;
|
|
/* 0280A9FC */ cpu->r[23] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280AA00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0280AA04 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AA04 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280AA04 */ if (_t8) goto L_0280AA10; else goto L_0280AA08;
|
|
L_0280AA08: ; // 0x280aa08
|
|
/* 0280AA08 */ _t9 = cpu->r[23] + 0x00000000u;
|
|
/* 0280AA08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280AA0C */ _t10 = cpu->r[24] + 0x00000004u;
|
|
/* 0280AA0C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
L_0280AA10: ; // 0x280aa10
|
|
/* 0280AA10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0280AA14 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AA14 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280AA14 */ if (_t12) goto L_0280AE18; else goto L_0280AA18;
|
|
L_0280AA18: ; // 0x280aa18
|
|
/* 0280AA18 */ cpu->r[3] = cpu->r[23];
|
|
/* 0280AA18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280AA1C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AA1C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280AA1C */ if (_t14) goto L_0280AA20; else goto L_0280AA30;
|
|
L_0280AA20: ; // 0x280aa20
|
|
/* 0280AA20 */ cpu->r[3] = 0x00000018u;
|
|
/* 0280AA24 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280AA28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280AA2C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AA2C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280AA2C */ if (_t16) goto L_0280AA5C; else goto L_0280AA30;
|
|
L_0280AA30: ; // 0x280aa30
|
|
/* 0280AA30 */ cpu->r[10] = 0x10110000u;
|
|
/* 0280AA34 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280AA38 */ _t17 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280AA38 */ rbrew_write32(cpu->mem, _t17, cpu->r[22]);
|
|
/* 0280AA3C */ cpu->r[10] = cpu->r[10] + 0x0000295Cu;
|
|
/* 0280AA40 */ cpu->r[0] = cpu->r[0] + 0x00002744u;
|
|
/* 0280AA44 */ _t18 = cpu->r[3] + 0x00000014u;
|
|
/* 0280AA44 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 0280AA48 */ cpu->r[11] = 0x00000000u;
|
|
/* 0280AA4C */ _t19 = cpu->r[3] + 0x00000010u;
|
|
/* 0280AA4C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0280AA50 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 0280AA50 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 0280AA54 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 0280AA54 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 0280AA58 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 0280AA58 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
L_0280AA5C: ; // 0x280aa5c
|
|
/* 0280AA5C */ cpu->r[5] = 0x10110000u;
|
|
/* 0280AA60 */ cpu->r[5] = cpu->r[5] + 0x00002A04u;
|
|
/* 0280AA64 */ cpu->r[21] = cpu->r[23] + 0x00000018u;
|
|
/* 0280AA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0280AA68 */ _t23 = cpu->r[23] + 0x00000014u;
|
|
/* 0280AA68 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]);
|
|
/* 0280AA6C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AA6C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0280AA6C */ if (_t25) goto L_0280AA70; else goto L_0280AAC0;
|
|
L_0280AA70: ; // 0x280aa70
|
|
/* 0280AA70 */ cpu->r[3] = 0x000000A0u;
|
|
/* 0280AA74 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280AA78 */ cpu->r[21] = cpu->r[3];
|
|
/* 0280AA78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0280AA7C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AA7C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0280AA7C */ if (_t27) goto L_0280AA80; else goto L_0280AAC0;
|
|
L_0280AA80: ; // 0x280aa80
|
|
/* 0280AA80 */ _t28 = cpu->r[22] + 0x00000000u;
|
|
/* 0280AA80 */ cpu->r[31] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0280AA84 */ _t29 = cpu->r[23] + 0x000000B8u;
|
|
/* 0280AA84 */ rbrew_write32(cpu->mem, _t29, cpu->r[24]);
|
|
/* 0280AA88 */ _t30 = cpu->r[23] + 0x000000FCu;
|
|
/* 0280AA88 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[31]);
|
|
/* 0280AA8C */ _t31 = cpu->r[25] + 0x00000004u;
|
|
/* 0280AA8C */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0280AA90 */ _t32 = cpu->r[6] + 0x00000014u;
|
|
/* 0280AA90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0280AA94 */ cpu->ctr = cpu->r[0];
|
|
/* 0280AA98 */ cpu->r[30] = cpu->r[23] + 0x000000BCu;
|
|
/* 0280AA9C */ cpu->r[3] = cpu->r[25];
|
|
/* 0280AAA0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280AAA4 */ _t33 = cpu->r[25] + 0x00000000u;
|
|
/* 0280AAA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0280AAA8 */ _t34 = cpu->r[10] + 0x00000000u;
|
|
/* 0280AAA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 0280AAAC */ cpu->r[29] = 0x00000000u;
|
|
/* 0280AAB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0280AAB4 */ cpu->r[0] = 0x00080000u;
|
|
/* 0280AAB8 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AAB8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0280AAB8 */ if (_t36) goto L_0280ADA0; else goto L_0280AABC;
|
|
L_0280AABC: ; // 0x280aabc
|
|
/* 0280AABC */ goto L_0280AD0C;
|
|
L_0280AAC0: ; // 0x280aac0
|
|
/* 0280AAC0 */ cpu->r[20] = cpu->r[21];
|
|
/* 0280AAC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0280AAC4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AAC4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0280AAC4 */ if (_t38) goto L_0280AAC8; else goto L_0280AAEC;
|
|
L_0280AAC8: ; // 0x280aac8
|
|
/* 0280AAC8 */ cpu->r[3] = 0x00000050u;
|
|
/* 0280AACC */ Gambit_fn_02801A78(cpu);
|
|
/* 0280AAD0 */ cpu->r[20] = cpu->r[3];
|
|
/* 0280AAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0280AAD4 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AAD4 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0280AAD4 */ if (_t40) goto L_0280AAD8; else goto L_0280AAEC;
|
|
L_0280AAD8: ; // 0x280aad8
|
|
/* 0280AAD8 */ _t41 = cpu->r[22] + 0x00000000u;
|
|
/* 0280AAD8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t41);
|
|
/* 0280AADC */ cpu->r[22] = cpu->r[21] + 0x00000050u;
|
|
/* 0280AADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0280AAE0 */ _t42 = cpu->r[21] + 0x00000004u;
|
|
/* 0280AAE0 */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
/* 0280AAE4 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AAE4 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0280AAE4 */ if (_t44) goto L_0280AAE8; else goto L_0280AC0C;
|
|
L_0280AAE8: ; // 0x280aae8
|
|
/* 0280AAE8 */ goto L_0280ABFC;
|
|
L_0280AAEC: ; // 0x280aaec
|
|
/* 0280AAEC */ cpu->r[3] = cpu->r[20];
|
|
/* 0280AAEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280AAF0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AAF0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0280AAF0 */ if (_t46) goto L_0280AAF4; else goto L_0280AB40;
|
|
L_0280AAF4: ; // 0x280aaf4
|
|
/* 0280AAF4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280AAF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280AAFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280AB00 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AB00 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0280AB00 */ if (_t48) goto L_0280AB04; else goto L_0280AB40;
|
|
L_0280AB04: ; // 0x280ab04
|
|
/* 0280AB04 */ _t49 = cpu->r[22] + 0x00000000u;
|
|
/* 0280AB04 */ cpu->r[31] = rbrew_read8(cpu->mem, _t49);
|
|
/* 0280AB08 */ _t50 = cpu->r[20] + 0x00000004u;
|
|
/* 0280AB08 */ rbrew_write32(cpu->mem, _t50, cpu->r[29]);
|
|
/* 0280AB0C */ _t51 = cpu->r[28] + 0x00000004u;
|
|
/* 0280AB0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0280AB10 */ _t52 = cpu->r[8] + 0x00000014u;
|
|
/* 0280AB10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0280AB14 */ cpu->ctr = cpu->r[9];
|
|
/* 0280AB18 */ _t53 = cpu->r[20] + 0x00000000u;
|
|
/* 0280AB18 */ cpu->r[22] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0280AB1C */ cpu->r[3] = cpu->r[28];
|
|
/* 0280AB20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280AB24 */ _t54 = cpu->r[28] + 0x00000000u;
|
|
/* 0280AB24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0280AB28 */ _t55 = cpu->r[7] + 0x00000000u;
|
|
/* 0280AB28 */ cpu->r[10] = rbrew_read8(cpu->mem, _t55);
|
|
/* 0280AB2C */ cpu->r[30] = 0x00000000u;
|
|
/* 0280AB30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0280AB34 */ cpu->r[9] = 0x00080000u;
|
|
/* 0280AB38 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AB38 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0280AB38 */ if (_t57) goto L_0280AB3C; else goto L_0280AB90;
|
|
L_0280AB3C: ; // 0x280ab3c
|
|
/* 0280AB3C */ goto L_0280ABB4;
|
|
L_0280AB40: ; // 0x280ab40
|
|
/* 0280AB40 */ _t58 = cpu->r[3] + 0x00000004u;
|
|
/* 0280AB40 */ rbrew_write32(cpu->mem, _t58, cpu->r[26]);
|
|
/* 0280AB44 */ cpu->r[6] = cpu->r[20] + 0x0000000Cu;
|
|
/* 0280AB48 */ cpu->r[7] = 0x00000041u;
|
|
/* 0280AB4C */ _t59 = cpu->r[3] + 0x00000000u;
|
|
/* 0280AB4C */ rbrew_write32(cpu->mem, _t59, cpu->r[6]);
|
|
/* 0280AB50 */ _t60 = cpu->r[3] + 0x00000008u;
|
|
/* 0280AB50 */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
|
|
/* 0280AB54 */ _t61 = cpu->r[22] + 0x00000000u;
|
|
/* 0280AB54 */ cpu->r[31] = rbrew_read8(cpu->mem, _t61);
|
|
/* 0280AB58 */ _t62 = cpu->r[20] + 0x00000004u;
|
|
/* 0280AB58 */ rbrew_write32(cpu->mem, _t62, cpu->r[29]);
|
|
/* 0280AB5C */ _t63 = cpu->r[20] + 0x0000004Cu;
|
|
/* 0280AB5C */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[31]);
|
|
/* 0280AB60 */ _t64 = cpu->r[28] + 0x00000004u;
|
|
/* 0280AB60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0280AB64 */ _t65 = cpu->r[8] + 0x00000014u;
|
|
/* 0280AB64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0280AB68 */ cpu->ctr = cpu->r[9];
|
|
/* 0280AB6C */ _t66 = cpu->r[20] + 0x00000000u;
|
|
/* 0280AB6C */ cpu->r[22] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0280AB70 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280AB74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280AB78 */ _t67 = cpu->r[28] + 0x00000000u;
|
|
/* 0280AB78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0280AB7C */ _t68 = cpu->r[7] + 0x00000000u;
|
|
/* 0280AB7C */ cpu->r[10] = rbrew_read8(cpu->mem, _t68);
|
|
/* 0280AB80 */ cpu->r[30] = 0x00000000u;
|
|
/* 0280AB84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0280AB88 */ cpu->r[9] = 0x00080000u;
|
|
/* 0280AB8C */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AB8C */ _t70 = _t69 & 0x00000001u;
|
|
/* 0280AB8C */ if (_t70) goto L_0280ABB4; else goto L_0280AB90;
|
|
L_0280AB90: ; // 0x280ab90
|
|
/* 0280AB90 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0280AB94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0280AB98 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0280AB9C */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280AB9C */ _t72 = _t71 & 0x00000001u;
|
|
/* 0280AB9C */ if (_t72) goto L_0280ABB0; else goto L_0280ABA0;
|
|
L_0280ABA0: ; // 0x280aba0
|
|
/* 0280ABA0 */ _t73 = cpu->r[7] + 0x00000000u;
|
|
/* 0280ABA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t73);
|
|
/* 0280ABA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0280ABA8 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280ABA8 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0280ABA8 */ if (_t75) goto L_0280ABAC; else goto L_0280AB90;
|
|
L_0280ABAC: ; // 0x280abac
|
|
/* 0280ABAC */ goto L_0280ABB4;
|
|
L_0280ABB0: ; // 0x280abb0
|
|
/* 0280ABB0 */ cpu->r[30] = 0x00000000u;
|
|
L_0280ABB4: ; // 0x280abb4
|
|
/* 0280ABB4 */ _t76 = cpu->r[20] + 0x00000008u;
|
|
/* 0280ABB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0280ABB8 */ _t77 = cpu->r[28] + 0x00000004u;
|
|
/* 0280ABB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0280ABBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0280ABC0 */ _t78 = cpu->r[12] + 0x00000014u;
|
|
/* 0280ABC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0280ABC4 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280ABC4 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0280ABC4 */ if (_t80) goto L_0280ABCC; else goto L_0280ABC8;
|
|
L_0280ABC8: ; // 0x280abc8
|
|
/* 0280ABC8 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0280ABCC: ; // 0x280abcc
|
|
/* 0280ABCC */ cpu->ctr = cpu->r[0];
|
|
/* 0280ABD0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280ABD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280ABD8 */ _t81 = cpu->r[28] + 0x00000000u;
|
|
/* 0280ABD8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0280ABDC */ cpu->r[6] = 0x00000000u;
|
|
/* 0280ABE0 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280ABE4 */ cpu->r[3] = cpu->r[22];
|
|
/* 0280ABE8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280ABEC */ _t82 = cpu->r[22] + cpu->r[30];
|
|
/* 0280ABEC */ rbrew_write8(cpu->mem, _t82, (uint8_t)cpu->r[31]);
|
|
/* 0280ABF0 */ cpu->r[22] = cpu->r[21] + 0x00000050u;
|
|
/* 0280ABF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0280ABF4 */ _t83 = cpu->r[21] + 0x00000004u;
|
|
/* 0280ABF4 */ rbrew_write32(cpu->mem, _t83, cpu->r[27]);
|
|
/* 0280ABF8 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280ABF8 */ _t85 = _t84 & 0x00000001u;
|
|
/* 0280ABF8 */ if (_t85) goto L_0280ABFC; else goto L_0280AC0C;
|
|
L_0280ABFC: ; // 0x280abfc
|
|
/* 0280ABFC */ cpu->r[3] = 0x00000050u;
|
|
/* 0280AC00 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280AC04 */ cpu->r[22] = cpu->r[3];
|
|
/* 0280AC04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0280AC08 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AC08 */ _t87 = _t86 & 0x00000001u;
|
|
/* 0280AC08 */ if (_t87) goto L_0280ACD0; else goto L_0280AC0C;
|
|
L_0280AC0C: ; // 0x280ac0c
|
|
/* 0280AC0C */ cpu->r[3] = cpu->r[22];
|
|
/* 0280AC0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280AC10 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AC10 */ _t89 = _t88 & 0x00000001u;
|
|
/* 0280AC10 */ if (_t89) goto L_0280AC14; else goto L_0280AC24;
|
|
L_0280AC14: ; // 0x280ac14
|
|
/* 0280AC14 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280AC18 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280AC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280AC20 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AC20 */ _t91 = _t90 & 0x00000001u;
|
|
/* 0280AC20 */ if (_t91) goto L_0280AC3C; else goto L_0280AC24;
|
|
L_0280AC24: ; // 0x280ac24
|
|
/* 0280AC24 */ cpu->r[6] = cpu->r[22] + 0x0000000Cu;
|
|
/* 0280AC28 */ _t92 = cpu->r[3] + 0x00000004u;
|
|
/* 0280AC28 */ rbrew_write32(cpu->mem, _t92, cpu->r[26]);
|
|
/* 0280AC2C */ cpu->r[7] = 0x00000041u;
|
|
/* 0280AC30 */ _t93 = cpu->r[3] + 0x00000000u;
|
|
/* 0280AC30 */ rbrew_write32(cpu->mem, _t93, cpu->r[6]);
|
|
/* 0280AC34 */ _t94 = cpu->r[3] + 0x00000008u;
|
|
/* 0280AC34 */ rbrew_write32(cpu->mem, _t94, cpu->r[7]);
|
|
/* 0280AC38 */ _t95 = cpu->r[22] + 0x0000004Cu;
|
|
/* 0280AC38 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_0280AC3C: ; // 0x280ac3c
|
|
/* 0280AC3C */ _t96 = cpu->r[22] + 0x00000004u;
|
|
/* 0280AC3C */ rbrew_write32(cpu->mem, _t96, cpu->r[29]);
|
|
/* 0280AC40 */ _t97 = cpu->r[28] + 0x00000054u;
|
|
/* 0280AC40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0280AC44 */ _t98 = cpu->r[8] + 0x00000014u;
|
|
/* 0280AC44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0280AC48 */ cpu->ctr = cpu->r[9];
|
|
/* 0280AC4C */ _t99 = cpu->r[22] + 0x00000000u;
|
|
/* 0280AC4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0280AC50 */ cpu->r[3] = cpu->r[28] + 0x00000050u;
|
|
/* 0280AC54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280AC58 */ _t100 = cpu->r[28] + 0x00000050u;
|
|
/* 0280AC58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0280AC5C */ _t101 = cpu->r[12] + 0x00000000u;
|
|
/* 0280AC5C */ cpu->r[0] = rbrew_read8(cpu->mem, _t101);
|
|
/* 0280AC60 */ cpu->r[30] = 0x00000000u;
|
|
/* 0280AC64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0280AC68 */ cpu->r[5] = 0x00080000u;
|
|
/* 0280AC6C */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AC6C */ _t103 = _t102 & 0x00000001u;
|
|
/* 0280AC6C */ if (_t103) goto L_0280AC94; else goto L_0280AC70;
|
|
L_0280AC70: ; // 0x280ac70
|
|
/* 0280AC70 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0280AC74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0280AC78 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280AC7C */ _t104 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280AC7C */ _t105 = _t104 & 0x00000001u;
|
|
/* 0280AC7C */ if (_t105) goto L_0280AC90; else goto L_0280AC80;
|
|
L_0280AC80: ; // 0x280ac80
|
|
/* 0280AC80 */ _t106 = cpu->r[12] + 0x00000000u;
|
|
/* 0280AC80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t106);
|
|
/* 0280AC84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0280AC88 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AC88 */ _t108 = _t107 & 0x00000001u;
|
|
/* 0280AC88 */ if (_t108) goto L_0280AC8C; else goto L_0280AC70;
|
|
L_0280AC8C: ; // 0x280ac8c
|
|
/* 0280AC8C */ goto L_0280AC94;
|
|
L_0280AC90: ; // 0x280ac90
|
|
/* 0280AC90 */ cpu->r[30] = 0x00000000u;
|
|
L_0280AC94: ; // 0x280ac94
|
|
/* 0280AC94 */ _t109 = cpu->r[22] + 0x00000008u;
|
|
/* 0280AC94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t109);
|
|
/* 0280AC98 */ _t110 = cpu->r[28] + 0x00000054u;
|
|
/* 0280AC98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0280AC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0280ACA0 */ _t111 = cpu->r[12] + 0x00000014u;
|
|
/* 0280ACA0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0280ACA4 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280ACA4 */ _t113 = _t112 & 0x00000001u;
|
|
/* 0280ACA4 */ if (_t113) goto L_0280ACAC; else goto L_0280ACA8;
|
|
L_0280ACA8: ; // 0x280aca8
|
|
/* 0280ACA8 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0280ACAC: ; // 0x280acac
|
|
/* 0280ACAC */ cpu->ctr = cpu->r[5];
|
|
/* 0280ACB0 */ cpu->r[3] = cpu->r[28] + 0x00000050u;
|
|
/* 0280ACB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280ACB8 */ _t114 = cpu->r[28] + 0x00000050u;
|
|
/* 0280ACB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t114);
|
|
/* 0280ACBC */ cpu->r[6] = 0x00000000u;
|
|
/* 0280ACC0 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280ACC4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280ACC8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280ACCC */ _t115 = cpu->r[29] + cpu->r[30];
|
|
/* 0280ACCC */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[31]);
|
|
L_0280ACD0: ; // 0x280acd0
|
|
/* 0280ACD0 */ _t116 = cpu->r[21] + 0x00000054u;
|
|
/* 0280ACD0 */ rbrew_write32(cpu->mem, _t116, cpu->r[27]);
|
|
/* 0280ACD4 */ _t117 = cpu->r[23] + 0x000000FCu;
|
|
/* 0280ACD4 */ rbrew_write8(cpu->mem, _t117, (uint8_t)cpu->r[31]);
|
|
/* 0280ACD8 */ _t118 = cpu->r[23] + 0x000000B8u;
|
|
/* 0280ACD8 */ rbrew_write32(cpu->mem, _t118, cpu->r[24]);
|
|
/* 0280ACDC */ _t119 = cpu->r[25] + 0x00000004u;
|
|
/* 0280ACDC */ cpu->r[6] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0280ACE0 */ _t120 = cpu->r[6] + 0x00000014u;
|
|
/* 0280ACE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0280ACE4 */ cpu->ctr = cpu->r[0];
|
|
/* 0280ACE8 */ cpu->r[30] = cpu->r[23] + 0x000000BCu;
|
|
/* 0280ACEC */ cpu->r[3] = cpu->r[25];
|
|
/* 0280ACF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280ACF4 */ _t121 = cpu->r[25] + 0x00000000u;
|
|
/* 0280ACF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0280ACF8 */ _t122 = cpu->r[10] + 0x00000000u;
|
|
/* 0280ACF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t122);
|
|
/* 0280ACFC */ cpu->r[29] = 0x00000000u;
|
|
/* 0280AD00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0280AD04 */ cpu->r[0] = 0x00080000u;
|
|
/* 0280AD08 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AD08 */ _t124 = _t123 & 0x00000001u;
|
|
/* 0280AD08 */ if (_t124) goto L_0280ADA0; else goto L_0280AD0C;
|
|
L_0280AD0C: ; // 0x280ad0c
|
|
/* 0280AD0C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0280AD10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0280AD14 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0280AD18 */ _t125 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280AD18 */ _t126 = _t125 & 0x00000001u;
|
|
/* 0280AD18 */ if (_t126) goto L_0280AD34; else goto L_0280AD1C;
|
|
L_0280AD1C: ; // 0x280ad1c
|
|
/* 0280AD1C */ _t127 = cpu->r[10] + 0x00000000u;
|
|
/* 0280AD1C */ cpu->r[11] = rbrew_read8(cpu->mem, _t127);
|
|
/* 0280AD20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0280AD24 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AD24 */ _t129 = _t128 & 0x00000001u;
|
|
/* 0280AD24 */ if (_t129) goto L_0280AD28; else goto L_0280AD0C;
|
|
L_0280AD28: ; // 0x280ad28
|
|
/* 0280AD28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000041u);
|
|
/* 0280AD2C */ _t130 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280AD2C */ _t131 = _t130 & 0x00000001u;
|
|
/* 0280AD2C */ if (_t131) goto L_0280ADAC; else goto L_0280AD30;
|
|
L_0280AD30: ; // 0x280ad30
|
|
/* 0280AD30 */ goto L_0280ADA8;
|
|
L_0280AD34: ; // 0x280ad34
|
|
/* 0280AD34 */ _t132 = cpu->r[25] + 0x00000004u;
|
|
/* 0280AD34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t132);
|
|
/* 0280AD38 */ _t133 = cpu->r[6] + 0x00000014u;
|
|
/* 0280AD38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t133);
|
|
/* 0280AD3C */ cpu->ctr = cpu->r[0];
|
|
/* 0280AD40 */ cpu->r[3] = cpu->r[25];
|
|
/* 0280AD44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280AD48 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280AD4C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280AD50 */ _t134 = cpu->r[25] + 0x00000000u;
|
|
/* 0280AD50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t134);
|
|
/* 0280AD54 */ cpu->r[6] = cpu->r[5];
|
|
/* 0280AD58 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280AD5C */ _t135 = cpu->r[30] + 0x00000000u;
|
|
/* 0280AD5C */ rbrew_write8(cpu->mem, _t135, (uint8_t)cpu->r[31]);
|
|
/* 0280AD60 */ _t136 = cpu->r[23] + 0x0000000Cu;
|
|
/* 0280AD60 */ rbrew_write32(cpu->mem, _t136, cpu->r[30]);
|
|
/* 0280AD64 */ _t137 = cpu->r[24] + 0x0000000Cu;
|
|
/* 0280AD64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t137);
|
|
/* 0280AD68 */ cpu->r[3] = cpu->r[24];
|
|
/* 0280AD6C */ _t138 = cpu->r[24] + 0x00000000u;
|
|
/* 0280AD6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t138);
|
|
/* 0280AD70 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280AD74 */ cpu->r[5] = cpu->r[23];
|
|
/* 0280AD78 */ _t139 = cpu->r[24] + 0x0000000Cu;
|
|
/* 0280AD78 */ rbrew_write32(cpu->mem, _t139, cpu->r[9]);
|
|
/* 0280AD7C */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280AD80 */ cpu->r[6] = 0x00000001u;
|
|
/* 0280AD84 */ _t140 = cpu->r[24] + 0x00000000u;
|
|
/* 0280AD84 */ rbrew_write32(cpu->mem, _t140, cpu->r[3]);
|
|
/* 0280AD88 */ _t141 = cpu->r[3] + 0x00000008u;
|
|
/* 0280AD88 */ rbrew_write32(cpu->mem, _t141, cpu->r[6]);
|
|
/* 0280AD8C */ /* nop */
|
|
/* 0280AD90 */ _t142 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280AD90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
|
|
/* 0280AD94 */ cpu->lr = cpu->r[0];
|
|
/* 0280AD98 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0280AD9C */ return;
|
|
L_0280ADA0: ; // 0x280ada0
|
|
/* 0280ADA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000041u);
|
|
/* 0280ADA4 */ _t143 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280ADA4 */ _t144 = _t143 & 0x00000001u;
|
|
/* 0280ADA4 */ if (_t144) goto L_0280ADAC; else goto L_0280ADA8;
|
|
L_0280ADA8: ; // 0x280ada8
|
|
/* 0280ADA8 */ cpu->r[29] = 0x00000040u;
|
|
L_0280ADAC: ; // 0x280adac
|
|
/* 0280ADAC */ _t145 = cpu->r[25] + 0x00000004u;
|
|
/* 0280ADAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t145);
|
|
/* 0280ADB0 */ _t146 = cpu->r[6] + 0x00000014u;
|
|
/* 0280ADB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t146);
|
|
/* 0280ADB4 */ cpu->ctr = cpu->r[0];
|
|
/* 0280ADB8 */ cpu->r[3] = cpu->r[25];
|
|
/* 0280ADBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280ADC0 */ _t147 = cpu->r[25] + 0x00000000u;
|
|
/* 0280ADC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t147);
|
|
/* 0280ADC4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280ADC8 */ cpu->r[5] = cpu->r[29];
|
|
/* 0280ADCC */ cpu->r[3] = cpu->r[30];
|
|
/* 0280ADD0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280ADD4 */ _t148 = cpu->r[30] + cpu->r[29];
|
|
/* 0280ADD4 */ rbrew_write8(cpu->mem, _t148, (uint8_t)cpu->r[31]);
|
|
/* 0280ADD8 */ _t149 = cpu->r[23] + 0x0000000Cu;
|
|
/* 0280ADD8 */ rbrew_write32(cpu->mem, _t149, cpu->r[30]);
|
|
/* 0280ADDC */ _t150 = cpu->r[24] + 0x0000000Cu;
|
|
/* 0280ADDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t150);
|
|
/* 0280ADE0 */ cpu->r[3] = cpu->r[24];
|
|
/* 0280ADE4 */ _t151 = cpu->r[24] + 0x00000000u;
|
|
/* 0280ADE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t151);
|
|
/* 0280ADE8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280ADEC */ cpu->r[5] = cpu->r[23];
|
|
/* 0280ADF0 */ _t152 = cpu->r[24] + 0x0000000Cu;
|
|
/* 0280ADF0 */ rbrew_write32(cpu->mem, _t152, cpu->r[9]);
|
|
/* 0280ADF4 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280ADF8 */ cpu->r[6] = 0x00000001u;
|
|
/* 0280ADFC */ _t153 = cpu->r[24] + 0x00000000u;
|
|
/* 0280ADFC */ rbrew_write32(cpu->mem, _t153, cpu->r[3]);
|
|
/* 0280AE00 */ _t154 = cpu->r[3] + 0x00000008u;
|
|
/* 0280AE00 */ rbrew_write32(cpu->mem, _t154, cpu->r[6]);
|
|
/* 0280AE04 */ /* nop */
|
|
/* 0280AE08 */ _t155 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280AE08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t155);
|
|
/* 0280AE0C */ cpu->lr = cpu->r[0];
|
|
/* 0280AE10 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0280AE14 */ return;
|
|
L_0280AE18: ; // 0x280ae18
|
|
/* 0280AE18 */ _t156 = cpu->r[24] + 0x0000000Cu;
|
|
/* 0280AE18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t156);
|
|
/* 0280AE1C */ cpu->r[5] = 0x00000000u;
|
|
/* 0280AE20 */ _t157 = cpu->r[24] + 0x00000000u;
|
|
/* 0280AE20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t157);
|
|
/* 0280AE24 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280AE28 */ cpu->r[3] = cpu->r[24];
|
|
/* 0280AE2C */ _t158 = cpu->r[24] + 0x0000000Cu;
|
|
/* 0280AE2C */ rbrew_write32(cpu->mem, _t158, cpu->r[9]);
|
|
/* 0280AE30 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280AE34 */ cpu->r[6] = 0x00000001u;
|
|
/* 0280AE38 */ _t159 = cpu->r[24] + 0x00000000u;
|
|
/* 0280AE38 */ rbrew_write32(cpu->mem, _t159, cpu->r[3]);
|
|
/* 0280AE3C */ _t160 = cpu->r[3] + 0x00000008u;
|
|
/* 0280AE3C */ rbrew_write32(cpu->mem, _t160, cpu->r[6]);
|
|
/* 0280AE40 */ /* nop */
|
|
/* 0280AE44 */ _t161 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280AE44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 0280AE48 */ cpu->lr = cpu->r[0];
|
|
/* 0280AE4C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0280AE50 */ return;
|
|
L_0280AE54: ; // 0x280ae54
|
|
/* 0280AE54 */ _t162 = cpu->r[24] + 0x00000000u;
|
|
/* 0280AE54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t162);
|
|
/* 0280AE58 */ cpu->r[5] = cpu->r[25];
|
|
/* 0280AE5C */ cpu->r[3] = cpu->r[24];
|
|
/* 0280AE60 */ Gambit_fn_020EFCB8(cpu);
|
|
/* 0280AE64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280AE68 */ _t163 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AE68 */ _t164 = _t163 & 0x00000001u;
|
|
/* 0280AE68 */ if (_t164) goto L_0280B0BC; else goto L_0280AE6C;
|
|
L_0280AE6C: ; // 0x280ae6c
|
|
/* 0280AE6C */ cpu->r[30] = cpu->r[3] + 0x00000018u;
|
|
/* 0280AE6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280AE70 */ _t165 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AE70 */ _t166 = _t165 & 0x00000001u;
|
|
/* 0280AE70 */ if (_t166) goto L_0280B0BC; else goto L_0280AE74;
|
|
L_0280AE74: ; // 0x280ae74
|
|
/* 0280AE74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280AE78 */ _t167 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AE78 */ _t168 = _t167 & 0x00000001u;
|
|
/* 0280AE78 */ if (_t168) goto L_0280B0BC; else goto L_0280AE7C;
|
|
L_0280AE7C: ; // 0x280ae7c
|
|
/* 0280AE7C */ cpu->r[24] = cpu->r[30];
|
|
/* 0280AE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0280AE80 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AE80 */ _t170 = _t169 & 0x00000001u;
|
|
/* 0280AE80 */ if (_t170) goto L_0280AE84; else goto L_0280AE94;
|
|
L_0280AE84: ; // 0x280ae84
|
|
/* 0280AE84 */ cpu->r[3] = 0x00000050u;
|
|
/* 0280AE88 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280AE8C */ cpu->r[24] = cpu->r[3];
|
|
/* 0280AE8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0280AE90 */ _t171 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AE90 */ _t172 = _t171 & 0x00000001u;
|
|
/* 0280AE90 */ if (_t172) goto L_0280AF98; else goto L_0280AE94;
|
|
L_0280AE94: ; // 0x280ae94
|
|
/* 0280AE94 */ cpu->r[3] = cpu->r[24];
|
|
/* 0280AE94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280AE98 */ _t173 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AE98 */ _t174 = _t173 & 0x00000001u;
|
|
/* 0280AE98 */ if (_t174) goto L_0280AE9C; else goto L_0280AEE8;
|
|
L_0280AE9C: ; // 0x280ae9c
|
|
/* 0280AE9C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280AEA0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280AEA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280AEA8 */ _t175 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AEA8 */ _t176 = _t175 & 0x00000001u;
|
|
/* 0280AEA8 */ if (_t176) goto L_0280AEAC; else goto L_0280AEE8;
|
|
L_0280AEAC: ; // 0x280aeac
|
|
/* 0280AEAC */ _t177 = cpu->r[22] + 0x00000000u;
|
|
/* 0280AEAC */ cpu->r[31] = rbrew_read8(cpu->mem, _t177);
|
|
/* 0280AEB0 */ _t178 = cpu->r[24] + 0x00000004u;
|
|
/* 0280AEB0 */ rbrew_write32(cpu->mem, _t178, cpu->r[29]);
|
|
/* 0280AEB4 */ _t179 = cpu->r[28] + 0x00000004u;
|
|
/* 0280AEB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t179);
|
|
/* 0280AEB8 */ _t180 = cpu->r[11] + 0x00000014u;
|
|
/* 0280AEB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t180);
|
|
/* 0280AEBC */ cpu->ctr = cpu->r[12];
|
|
/* 0280AEC0 */ _t181 = cpu->r[24] + 0x00000000u;
|
|
/* 0280AEC0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t181);
|
|
/* 0280AEC4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280AEC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280AECC */ _t182 = cpu->r[28] + 0x00000000u;
|
|
/* 0280AECC */ cpu->r[12] = rbrew_read32(cpu->mem, _t182);
|
|
/* 0280AED0 */ _t183 = cpu->r[12] + 0x00000000u;
|
|
/* 0280AED0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t183);
|
|
/* 0280AED4 */ cpu->r[25] = 0x00000000u;
|
|
/* 0280AED8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0280AEDC */ cpu->r[0] = 0x00080000u;
|
|
/* 0280AEE0 */ _t184 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AEE0 */ _t185 = _t184 & 0x00000001u;
|
|
/* 0280AEE0 */ if (_t185) goto L_0280AEE4; else goto L_0280AF38;
|
|
L_0280AEE4: ; // 0x280aee4
|
|
/* 0280AEE4 */ goto L_0280AF5C;
|
|
L_0280AEE8: ; // 0x280aee8
|
|
/* 0280AEE8 */ cpu->r[8] = cpu->r[24] + 0x0000000Cu;
|
|
/* 0280AEEC */ _t186 = cpu->r[3] + 0x00000004u;
|
|
/* 0280AEEC */ rbrew_write32(cpu->mem, _t186, cpu->r[26]);
|
|
/* 0280AEF0 */ cpu->r[10] = 0x00000041u;
|
|
/* 0280AEF4 */ _t187 = cpu->r[3] + 0x00000000u;
|
|
/* 0280AEF4 */ rbrew_write32(cpu->mem, _t187, cpu->r[8]);
|
|
/* 0280AEF8 */ _t188 = cpu->r[3] + 0x00000008u;
|
|
/* 0280AEF8 */ rbrew_write32(cpu->mem, _t188, cpu->r[10]);
|
|
/* 0280AEFC */ _t189 = cpu->r[22] + 0x00000000u;
|
|
/* 0280AEFC */ cpu->r[31] = rbrew_read8(cpu->mem, _t189);
|
|
/* 0280AF00 */ _t190 = cpu->r[24] + 0x00000004u;
|
|
/* 0280AF00 */ rbrew_write32(cpu->mem, _t190, cpu->r[29]);
|
|
/* 0280AF04 */ _t191 = cpu->r[24] + 0x0000004Cu;
|
|
/* 0280AF04 */ rbrew_write8(cpu->mem, _t191, (uint8_t)cpu->r[31]);
|
|
/* 0280AF08 */ _t192 = cpu->r[28] + 0x00000004u;
|
|
/* 0280AF08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t192);
|
|
/* 0280AF0C */ _t193 = cpu->r[11] + 0x00000014u;
|
|
/* 0280AF0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t193);
|
|
/* 0280AF10 */ cpu->ctr = cpu->r[12];
|
|
/* 0280AF14 */ _t194 = cpu->r[24] + 0x00000000u;
|
|
/* 0280AF14 */ cpu->r[23] = rbrew_read32(cpu->mem, _t194);
|
|
/* 0280AF18 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280AF1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280AF20 */ _t195 = cpu->r[28] + 0x00000000u;
|
|
/* 0280AF20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t195);
|
|
/* 0280AF24 */ _t196 = cpu->r[12] + 0x00000000u;
|
|
/* 0280AF24 */ cpu->r[5] = rbrew_read8(cpu->mem, _t196);
|
|
/* 0280AF28 */ cpu->r[25] = 0x00000000u;
|
|
/* 0280AF2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0280AF30 */ cpu->r[0] = 0x00080000u;
|
|
/* 0280AF34 */ _t197 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AF34 */ _t198 = _t197 & 0x00000001u;
|
|
/* 0280AF34 */ if (_t198) goto L_0280AEE4; else goto L_0280AF38;
|
|
L_0280AF38: ; // 0x280af38
|
|
/* 0280AF38 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0280AF3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[0]);
|
|
/* 0280AF40 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280AF44 */ _t199 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280AF44 */ _t200 = _t199 & 0x00000001u;
|
|
/* 0280AF44 */ if (_t200) goto L_0280AF58; else goto L_0280AF48;
|
|
L_0280AF48: ; // 0x280af48
|
|
/* 0280AF48 */ _t201 = cpu->r[12] + 0x00000000u;
|
|
/* 0280AF48 */ cpu->r[7] = rbrew_read8(cpu->mem, _t201);
|
|
/* 0280AF4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0280AF50 */ _t202 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AF50 */ _t203 = _t202 & 0x00000001u;
|
|
/* 0280AF50 */ if (_t203) goto L_0280AF54; else goto L_0280AF38;
|
|
L_0280AF54: ; // 0x280af54
|
|
/* 0280AF54 */ goto L_0280AF5C;
|
|
L_0280AF58: ; // 0x280af58
|
|
/* 0280AF58 */ cpu->r[25] = 0x00000000u;
|
|
L_0280AF5C: ; // 0x280af5c
|
|
/* 0280AF5C */ _t204 = cpu->r[24] + 0x00000008u;
|
|
/* 0280AF5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t204);
|
|
/* 0280AF60 */ _t205 = cpu->r[28] + 0x00000004u;
|
|
/* 0280AF60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t205);
|
|
/* 0280AF64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[11]);
|
|
/* 0280AF68 */ _t206 = cpu->r[9] + 0x00000014u;
|
|
/* 0280AF68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t206);
|
|
/* 0280AF6C */ _t207 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280AF6C */ _t208 = _t207 & 0x00000001u;
|
|
/* 0280AF6C */ if (_t208) goto L_0280AF74; else goto L_0280AF70;
|
|
L_0280AF70: ; // 0x280af70
|
|
/* 0280AF70 */ cpu->r[25] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0280AF74: ; // 0x280af74
|
|
/* 0280AF74 */ cpu->ctr = cpu->r[10];
|
|
/* 0280AF78 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280AF7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280AF80 */ _t209 = cpu->r[28] + 0x00000000u;
|
|
/* 0280AF80 */ cpu->r[4] = rbrew_read32(cpu->mem, _t209);
|
|
/* 0280AF84 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280AF88 */ cpu->r[5] = cpu->r[25];
|
|
/* 0280AF8C */ cpu->r[3] = cpu->r[23];
|
|
/* 0280AF90 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280AF94 */ _t210 = cpu->r[23] + cpu->r[25];
|
|
/* 0280AF94 */ rbrew_write8(cpu->mem, _t210, (uint8_t)cpu->r[31]);
|
|
L_0280AF98: ; // 0x280af98
|
|
/* 0280AF98 */ cpu->r[25] = cpu->r[30] + 0x00000050u;
|
|
/* 0280AF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0280AF9C */ _t211 = cpu->r[30] + 0x00000004u;
|
|
/* 0280AF9C */ rbrew_write32(cpu->mem, _t211, cpu->r[27]);
|
|
/* 0280AFA0 */ _t212 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AFA0 */ _t213 = _t212 & 0x00000001u;
|
|
/* 0280AFA0 */ if (_t213) goto L_0280AFA4; else goto L_0280AFB4;
|
|
L_0280AFA4: ; // 0x280afa4
|
|
/* 0280AFA4 */ cpu->r[3] = 0x00000050u;
|
|
/* 0280AFA8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280AFAC */ cpu->r[25] = cpu->r[3];
|
|
/* 0280AFAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0280AFB0 */ _t214 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AFB0 */ _t215 = _t214 & 0x00000001u;
|
|
/* 0280AFB0 */ if (_t215) goto L_0280B0B8; else goto L_0280AFB4;
|
|
L_0280AFB4: ; // 0x280afb4
|
|
/* 0280AFB4 */ cpu->r[3] = cpu->r[25];
|
|
/* 0280AFB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280AFB8 */ _t216 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AFB8 */ _t217 = _t216 & 0x00000001u;
|
|
/* 0280AFB8 */ if (_t217) goto L_0280AFBC; else goto L_0280B008;
|
|
L_0280AFBC: ; // 0x280afbc
|
|
/* 0280AFBC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280AFC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280AFC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280AFC8 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280AFC8 */ _t219 = _t218 & 0x00000001u;
|
|
/* 0280AFC8 */ if (_t219) goto L_0280AFCC; else goto L_0280B008;
|
|
L_0280AFCC: ; // 0x280afcc
|
|
/* 0280AFCC */ _t220 = cpu->r[22] + 0x00000000u;
|
|
/* 0280AFCC */ cpu->r[31] = rbrew_read8(cpu->mem, _t220);
|
|
/* 0280AFD0 */ _t221 = cpu->r[25] + 0x00000004u;
|
|
/* 0280AFD0 */ rbrew_write32(cpu->mem, _t221, cpu->r[29]);
|
|
/* 0280AFD4 */ _t222 = cpu->r[28] + 0x00000054u;
|
|
/* 0280AFD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t222);
|
|
/* 0280AFD8 */ _t223 = cpu->r[6] + 0x00000014u;
|
|
/* 0280AFD8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t223);
|
|
/* 0280AFDC */ cpu->ctr = cpu->r[7];
|
|
/* 0280AFE0 */ _t224 = cpu->r[25] + 0x00000000u;
|
|
/* 0280AFE0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t224);
|
|
/* 0280AFE4 */ cpu->r[3] = cpu->r[28] + 0x00000050u;
|
|
/* 0280AFE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280AFEC */ _t225 = cpu->r[28] + 0x00000050u;
|
|
/* 0280AFEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t225);
|
|
/* 0280AFF0 */ _t226 = cpu->r[7] + 0x00000000u;
|
|
/* 0280AFF0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t226);
|
|
/* 0280AFF4 */ cpu->r[9] = 0x00080000u;
|
|
/* 0280AFF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0280AFFC */ cpu->r[29] = 0x00000000u;
|
|
/* 0280B000 */ _t227 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B000 */ _t228 = _t227 & 0x00000001u;
|
|
/* 0280B000 */ if (_t228) goto L_0280B004; else goto L_0280B058;
|
|
L_0280B004: ; // 0x280b004
|
|
/* 0280B004 */ goto L_0280B07C;
|
|
L_0280B008: ; // 0x280b008
|
|
/* 0280B008 */ cpu->r[12] = cpu->r[25] + 0x0000000Cu;
|
|
/* 0280B00C */ _t229 = cpu->r[3] + 0x00000004u;
|
|
/* 0280B00C */ rbrew_write32(cpu->mem, _t229, cpu->r[26]);
|
|
/* 0280B010 */ cpu->r[0] = 0x00000041u;
|
|
/* 0280B014 */ _t230 = cpu->r[3] + 0x00000000u;
|
|
/* 0280B014 */ rbrew_write32(cpu->mem, _t230, cpu->r[12]);
|
|
/* 0280B018 */ _t231 = cpu->r[3] + 0x00000008u;
|
|
/* 0280B018 */ rbrew_write32(cpu->mem, _t231, cpu->r[0]);
|
|
/* 0280B01C */ _t232 = cpu->r[22] + 0x00000000u;
|
|
/* 0280B01C */ cpu->r[31] = rbrew_read8(cpu->mem, _t232);
|
|
/* 0280B020 */ _t233 = cpu->r[25] + 0x00000004u;
|
|
/* 0280B020 */ rbrew_write32(cpu->mem, _t233, cpu->r[29]);
|
|
/* 0280B024 */ _t234 = cpu->r[25] + 0x0000004Cu;
|
|
/* 0280B024 */ rbrew_write8(cpu->mem, _t234, (uint8_t)cpu->r[31]);
|
|
/* 0280B028 */ _t235 = cpu->r[28] + 0x00000054u;
|
|
/* 0280B028 */ cpu->r[6] = rbrew_read32(cpu->mem, _t235);
|
|
/* 0280B02C */ _t236 = cpu->r[6] + 0x00000014u;
|
|
/* 0280B02C */ cpu->r[7] = rbrew_read32(cpu->mem, _t236);
|
|
/* 0280B030 */ cpu->ctr = cpu->r[7];
|
|
/* 0280B034 */ _t237 = cpu->r[25] + 0x00000000u;
|
|
/* 0280B034 */ cpu->r[26] = rbrew_read32(cpu->mem, _t237);
|
|
/* 0280B038 */ cpu->r[3] = cpu->r[28] + 0x00000050u;
|
|
/* 0280B03C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B040 */ _t238 = cpu->r[28] + 0x00000050u;
|
|
/* 0280B040 */ cpu->r[7] = rbrew_read32(cpu->mem, _t238);
|
|
/* 0280B044 */ _t239 = cpu->r[7] + 0x00000000u;
|
|
/* 0280B044 */ cpu->r[8] = rbrew_read8(cpu->mem, _t239);
|
|
/* 0280B048 */ cpu->r[9] = 0x00080000u;
|
|
/* 0280B04C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0280B050 */ cpu->r[29] = 0x00000000u;
|
|
/* 0280B054 */ _t240 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B054 */ _t241 = _t240 & 0x00000001u;
|
|
/* 0280B054 */ if (_t241) goto L_0280B004; else goto L_0280B058;
|
|
L_0280B058: ; // 0x280b058
|
|
/* 0280B058 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0280B05C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 0280B060 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0280B064 */ _t242 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280B064 */ _t243 = _t242 & 0x00000001u;
|
|
/* 0280B064 */ if (_t243) goto L_0280B078; else goto L_0280B068;
|
|
L_0280B068: ; // 0x280b068
|
|
/* 0280B068 */ _t244 = cpu->r[7] + 0x00000000u;
|
|
/* 0280B068 */ cpu->r[0] = rbrew_read8(cpu->mem, _t244);
|
|
/* 0280B06C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0280B070 */ _t245 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B070 */ _t246 = _t245 & 0x00000001u;
|
|
/* 0280B070 */ if (_t246) goto L_0280B074; else goto L_0280B058;
|
|
L_0280B074: ; // 0x280b074
|
|
/* 0280B074 */ goto L_0280B07C;
|
|
L_0280B078: ; // 0x280b078
|
|
/* 0280B078 */ cpu->r[29] = 0x00000000u;
|
|
L_0280B07C: ; // 0x280b07c
|
|
/* 0280B07C */ _t247 = cpu->r[25] + 0x00000008u;
|
|
/* 0280B07C */ cpu->r[5] = rbrew_read32(cpu->mem, _t247);
|
|
/* 0280B080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 0280B084 */ _t248 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280B084 */ _t249 = _t248 & 0x00000001u;
|
|
/* 0280B084 */ if (_t249) goto L_0280B08C; else goto L_0280B088;
|
|
L_0280B088: ; // 0x280b088
|
|
/* 0280B088 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0280B08C: ; // 0x280b08c
|
|
/* 0280B08C */ _t250 = cpu->r[28] + 0x00000054u;
|
|
/* 0280B08C */ cpu->r[10] = rbrew_read32(cpu->mem, _t250);
|
|
/* 0280B090 */ _t251 = cpu->r[10] + 0x00000014u;
|
|
/* 0280B090 */ cpu->r[11] = rbrew_read32(cpu->mem, _t251);
|
|
/* 0280B094 */ cpu->ctr = cpu->r[11];
|
|
/* 0280B098 */ cpu->r[3] = cpu->r[28] + 0x00000050u;
|
|
/* 0280B09C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B0A0 */ _t252 = cpu->r[28] + 0x00000050u;
|
|
/* 0280B0A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t252);
|
|
/* 0280B0A4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280B0A8 */ cpu->r[5] = cpu->r[29];
|
|
/* 0280B0AC */ cpu->r[3] = cpu->r[26];
|
|
/* 0280B0B0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280B0B4 */ _t253 = cpu->r[26] + cpu->r[29];
|
|
/* 0280B0B4 */ rbrew_write8(cpu->mem, _t253, (uint8_t)cpu->r[31]);
|
|
L_0280B0B8: ; // 0x280b0b8
|
|
/* 0280B0B8 */ _t254 = cpu->r[30] + 0x00000054u;
|
|
/* 0280B0B8 */ rbrew_write32(cpu->mem, _t254, cpu->r[27]);
|
|
L_0280B0BC: ; // 0x280b0bc
|
|
/* 0280B0BC */ /* nop */
|
|
/* 0280B0C0 */ _t255 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280B0C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t255);
|
|
/* 0280B0C4 */ cpu->lr = cpu->r[0];
|
|
/* 0280B0C8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0280B0CC */ return;
|
|
}
|
|
|
|
// fn_0280B0D0 @ 0x280b0d0
|
|
void Gambit_fn_0280B0D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_0280B0D0: ; // 0x280b0d0
|
|
/* 0280B0D0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280B0D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280B0D0 */ cpu->r[1] = _t0;
|
|
/* 0280B0D4 */ /* nop */
|
|
/* 0280B0D8 */ cpu->r[0] = cpu->lr;
|
|
/* 0280B0DC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0280B0DC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280B0E0 */ cpu->r[27] = cpu->r[3];
|
|
/* 0280B0E4 */ _t2 = cpu->r[27] + 0x00000010u;
|
|
/* 0280B0E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280B0E8 */ _t3 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280B0E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280B0EC */ cpu->r[26] = cpu->r[4];
|
|
/* 0280B0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]);
|
|
/* 0280B0F4 */ cpu->r[31] = cpu->r[5];
|
|
/* 0280B0F8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280B0F8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280B0F8 */ if (_t5) goto L_0280B0FC; else goto L_0280B300;
|
|
L_0280B0FC: ; // 0x280b0fc
|
|
/* 0280B0FC */ _t6 = cpu->r[27] + 0x00000004u;
|
|
/* 0280B0FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280B100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280B104 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B104 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280B104 */ if (_t8) goto L_0280B110; else goto L_0280B108;
|
|
L_0280B108: ; // 0x280b108
|
|
/* 0280B108 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 0280B108 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280B10C */ _t10 = cpu->r[27] + 0x00000004u;
|
|
/* 0280B10C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
L_0280B110: ; // 0x280b110
|
|
/* 0280B110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280B114 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B114 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280B114 */ if (_t12) goto L_0280B2C4; else goto L_0280B118;
|
|
L_0280B118: ; // 0x280b118
|
|
/* 0280B118 */ cpu->r[30] = 0x10110000u;
|
|
/* 0280B11C */ cpu->r[3] = cpu->r[29];
|
|
/* 0280B11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280B120 */ cpu->r[30] = cpu->r[30] + 0x00007399u;
|
|
/* 0280B124 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B124 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280B124 */ if (_t14) goto L_0280B128; else goto L_0280B138;
|
|
L_0280B128: ; // 0x280b128
|
|
/* 0280B128 */ cpu->r[3] = 0x00000018u;
|
|
/* 0280B12C */ Gambit_fn_02801A78(cpu);
|
|
/* 0280B130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280B134 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B134 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280B134 */ if (_t16) goto L_0280B164; else goto L_0280B138;
|
|
L_0280B138: ; // 0x280b138
|
|
/* 0280B138 */ cpu->r[11] = 0x10110000u;
|
|
/* 0280B13C */ cpu->r[0] = 0x10110000u;
|
|
/* 0280B140 */ _t17 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280B140 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 0280B144 */ cpu->r[11] = cpu->r[11] + 0x0000295Cu;
|
|
/* 0280B148 */ cpu->r[0] = cpu->r[0] + 0x00002744u;
|
|
/* 0280B14C */ _t18 = cpu->r[3] + 0x00000014u;
|
|
/* 0280B14C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 0280B150 */ cpu->r[12] = 0x00000000u;
|
|
/* 0280B154 */ _t19 = cpu->r[3] + 0x00000010u;
|
|
/* 0280B154 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0280B158 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 0280B158 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 0280B15C */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 0280B15C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0280B160 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 0280B160 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
L_0280B164: ; // 0x280b164
|
|
/* 0280B164 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280B168 */ cpu->r[0] = cpu->r[0] + 0x00002A1Cu;
|
|
/* 0280B16C */ _t23 = cpu->r[29] + 0x00000014u;
|
|
/* 0280B16C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 0280B170 */ /* nop */
|
|
/* 0280B174 */ cpu->r[7] = cpu->r[29] + 0x00000018u;
|
|
/* 0280B178 */ /* nop */
|
|
/* 0280B17C */ _t24 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0280B17C */ rbrew_write32(cpu->mem, _t24, cpu->r[27]);
|
|
/* 0280B180 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 0280B180 */ cpu->r[28] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0280B184 */ _t26 = cpu->r[29] + 0x00000060u;
|
|
/* 0280B184 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[28]);
|
|
/* 0280B188 */ _t27 = cpu->r[26] + 0x00000004u;
|
|
/* 0280B188 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280B18C */ _t28 = cpu->r[9] + 0x00000014u;
|
|
/* 0280B18C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280B190 */ cpu->ctr = cpu->r[10];
|
|
/* 0280B194 */ cpu->r[30] = cpu->r[29] + 0x00000020u;
|
|
/* 0280B198 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280B19C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B1A0 */ _t29 = cpu->r[26] + 0x00000000u;
|
|
/* 0280B1A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0280B1A4 */ _t30 = cpu->r[9] + 0x00000000u;
|
|
/* 0280B1A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0280B1A8 */ cpu->r[31] = 0x00000000u;
|
|
/* 0280B1AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0280B1B0 */ cpu->r[0] = 0x00080000u;
|
|
/* 0280B1B4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B1B4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0280B1B4 */ if (_t32) goto L_0280B24C; else goto L_0280B1B8;
|
|
L_0280B1B8: ; // 0x280b1b8
|
|
/* 0280B1B8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0280B1BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0280B1C0 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280B1C4 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280B1C4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0280B1C4 */ if (_t34) goto L_0280B1E0; else goto L_0280B1C8;
|
|
L_0280B1C8: ; // 0x280b1c8
|
|
/* 0280B1C8 */ _t35 = cpu->r[9] + 0x00000000u;
|
|
/* 0280B1C8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t35);
|
|
/* 0280B1CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 0280B1D0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B1D0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0280B1D0 */ if (_t37) goto L_0280B1D4; else goto L_0280B1B8;
|
|
L_0280B1D4: ; // 0x280b1d4
|
|
/* 0280B1D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000041u);
|
|
/* 0280B1D8 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280B1D8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0280B1D8 */ if (_t39) goto L_0280B258; else goto L_0280B1DC;
|
|
L_0280B1DC: ; // 0x280b1dc
|
|
/* 0280B1DC */ goto L_0280B254;
|
|
L_0280B1E0: ; // 0x280b1e0
|
|
/* 0280B1E0 */ _t40 = cpu->r[26] + 0x00000004u;
|
|
/* 0280B1E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0280B1E4 */ _t41 = cpu->r[8] + 0x00000014u;
|
|
/* 0280B1E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0280B1E8 */ cpu->ctr = cpu->r[10];
|
|
/* 0280B1EC */ cpu->r[3] = cpu->r[26];
|
|
/* 0280B1F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B1F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280B1F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280B1FC */ _t42 = cpu->r[26] + 0x00000000u;
|
|
/* 0280B1FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0280B200 */ cpu->r[6] = cpu->r[5];
|
|
/* 0280B204 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280B208 */ _t43 = cpu->r[30] + 0x00000000u;
|
|
/* 0280B208 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[28]);
|
|
/* 0280B20C */ _t44 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0280B20C */ rbrew_write32(cpu->mem, _t44, cpu->r[30]);
|
|
/* 0280B210 */ _t45 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280B210 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0280B214 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280B218 */ _t46 = cpu->r[27] + 0x00000000u;
|
|
/* 0280B218 */ cpu->r[4] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0280B21C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280B220 */ cpu->r[5] = cpu->r[29];
|
|
/* 0280B224 */ _t47 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280B224 */ rbrew_write32(cpu->mem, _t47, cpu->r[12]);
|
|
/* 0280B228 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280B22C */ cpu->r[6] = 0x00000001u;
|
|
/* 0280B230 */ _t48 = cpu->r[27] + 0x00000000u;
|
|
/* 0280B230 */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 0280B234 */ _t49 = cpu->r[3] + 0x00000008u;
|
|
/* 0280B234 */ rbrew_write32(cpu->mem, _t49, cpu->r[6]);
|
|
/* 0280B238 */ /* nop */
|
|
/* 0280B23C */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 0280B23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0280B240 */ cpu->lr = cpu->r[0];
|
|
/* 0280B244 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280B248 */ return;
|
|
L_0280B24C: ; // 0x280b24c
|
|
/* 0280B24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000041u);
|
|
/* 0280B250 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280B250 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0280B250 */ if (_t52) goto L_0280B258; else goto L_0280B254;
|
|
L_0280B254: ; // 0x280b254
|
|
/* 0280B254 */ cpu->r[31] = 0x00000040u;
|
|
L_0280B258: ; // 0x280b258
|
|
/* 0280B258 */ _t53 = cpu->r[26] + 0x00000004u;
|
|
/* 0280B258 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0280B25C */ _t54 = cpu->r[8] + 0x00000014u;
|
|
/* 0280B25C */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0280B260 */ cpu->ctr = cpu->r[10];
|
|
/* 0280B264 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280B268 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B26C */ _t55 = cpu->r[26] + 0x00000000u;
|
|
/* 0280B26C */ cpu->r[4] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0280B270 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280B274 */ cpu->r[5] = cpu->r[31];
|
|
/* 0280B278 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280B27C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280B280 */ _t56 = cpu->r[30] + cpu->r[31];
|
|
/* 0280B280 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[28]);
|
|
/* 0280B284 */ _t57 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0280B284 */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
|
|
/* 0280B288 */ _t58 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280B288 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0280B28C */ cpu->r[3] = cpu->r[27];
|
|
/* 0280B290 */ _t59 = cpu->r[27] + 0x00000000u;
|
|
/* 0280B290 */ cpu->r[4] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0280B294 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280B298 */ cpu->r[5] = cpu->r[29];
|
|
/* 0280B29C */ _t60 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280B29C */ rbrew_write32(cpu->mem, _t60, cpu->r[12]);
|
|
/* 0280B2A0 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280B2A4 */ cpu->r[6] = 0x00000001u;
|
|
/* 0280B2A8 */ _t61 = cpu->r[27] + 0x00000000u;
|
|
/* 0280B2A8 */ rbrew_write32(cpu->mem, _t61, cpu->r[3]);
|
|
/* 0280B2AC */ _t62 = cpu->r[3] + 0x00000008u;
|
|
/* 0280B2AC */ rbrew_write32(cpu->mem, _t62, cpu->r[6]);
|
|
/* 0280B2B0 */ /* nop */
|
|
/* 0280B2B4 */ _t63 = cpu->r[1] + 0x00000024u;
|
|
/* 0280B2B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0280B2B8 */ cpu->lr = cpu->r[0];
|
|
/* 0280B2BC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280B2C0 */ return;
|
|
L_0280B2C4: ; // 0x280b2c4
|
|
/* 0280B2C4 */ _t64 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280B2C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0280B2C8 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280B2CC */ _t65 = cpu->r[27] + 0x00000000u;
|
|
/* 0280B2CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0280B2D0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280B2D4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280B2D8 */ _t66 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280B2D8 */ rbrew_write32(cpu->mem, _t66, cpu->r[12]);
|
|
/* 0280B2DC */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280B2E0 */ cpu->r[6] = 0x00000001u;
|
|
/* 0280B2E4 */ _t67 = cpu->r[27] + 0x00000000u;
|
|
/* 0280B2E4 */ rbrew_write32(cpu->mem, _t67, cpu->r[3]);
|
|
/* 0280B2E8 */ _t68 = cpu->r[3] + 0x00000008u;
|
|
/* 0280B2E8 */ rbrew_write32(cpu->mem, _t68, cpu->r[6]);
|
|
/* 0280B2EC */ /* nop */
|
|
/* 0280B2F0 */ _t69 = cpu->r[1] + 0x00000024u;
|
|
/* 0280B2F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0280B2F4 */ cpu->lr = cpu->r[0];
|
|
/* 0280B2F8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280B2FC */ return;
|
|
L_0280B300: ; // 0x280b300
|
|
/* 0280B300 */ _t70 = cpu->r[27] + 0x00000000u;
|
|
/* 0280B300 */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0280B304 */ cpu->r[5] = cpu->r[26];
|
|
/* 0280B308 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280B30C */ Gambit_fn_020EFCB8(cpu);
|
|
/* 0280B310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280B314 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B314 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0280B314 */ if (_t72) goto L_0280B330; else goto L_0280B318;
|
|
L_0280B318: ; // 0x280b318
|
|
/* 0280B318 */ cpu->r[12] = cpu->r[3] + 0x00000018u;
|
|
/* 0280B318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280B31C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B31C */ _t74 = _t73 & 0x00000001u;
|
|
/* 0280B31C */ if (_t74) goto L_0280B330; else goto L_0280B320;
|
|
L_0280B320: ; // 0x280b320
|
|
/* 0280B320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280B324 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B324 */ _t76 = _t75 & 0x00000001u;
|
|
/* 0280B324 */ if (_t76) goto L_0280B330; else goto L_0280B328;
|
|
L_0280B328: ; // 0x280b328
|
|
/* 0280B328 */ /* nop */
|
|
/* 0280B32C */ /* nop */
|
|
L_0280B330: ; // 0x280b330
|
|
/* 0280B330 */ /* nop */
|
|
/* 0280B334 */ _t77 = cpu->r[1] + 0x00000024u;
|
|
/* 0280B334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 0280B338 */ cpu->lr = cpu->r[0];
|
|
/* 0280B33C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280B340 */ return;
|
|
}
|
|
|
|
// fn_0280B344 @ 0x280b344
|
|
void Gambit_fn_0280B344(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_0280B344: ; // 0x280b344
|
|
/* 0280B344 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0280B344 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280B344 */ cpu->r[1] = _t0;
|
|
/* 0280B348 */ /* nop */
|
|
/* 0280B34C */ cpu->r[31] = 0x10110000u;
|
|
/* 0280B350 */ cpu->r[0] = cpu->lr;
|
|
/* 0280B354 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0280B354 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280B358 */ cpu->r[28] = cpu->r[5];
|
|
/* 0280B35C */ cpu->r[26] = cpu->r[3];
|
|
/* 0280B360 */ cpu->r[31] = cpu->r[31] + 0x0000289Cu;
|
|
/* 0280B364 */ cpu->r[27] = 0x10110000u;
|
|
/* 0280B368 */ cpu->r[25] = cpu->r[4];
|
|
/* 0280B36C */ _t2 = cpu->r[26] + 0x00000010u;
|
|
/* 0280B36C */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280B370 */ cpu->r[30] = 0x10110000u;
|
|
/* 0280B374 */ _t3 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0280B374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280B378 */ cpu->r[24] = 0x10110000u;
|
|
/* 0280B37C */ cpu->r[30] = cpu->r[30] + 0x00007399u;
|
|
/* 0280B380 */ cpu->r[27] = cpu->r[27] + 0x000028B4u;
|
|
/* 0280B384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[5]);
|
|
/* 0280B388 */ cpu->r[24] = cpu->r[24] + 0x000027A4u;
|
|
/* 0280B38C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280B38C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280B38C */ if (_t5) goto L_0280B390; else goto L_0280B6E0;
|
|
L_0280B390: ; // 0x280b390
|
|
/* 0280B390 */ _t6 = cpu->r[26] + 0x00000004u;
|
|
/* 0280B390 */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280B394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280B398 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B398 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280B398 */ if (_t8) goto L_0280B3A4; else goto L_0280B39C;
|
|
L_0280B39C: ; // 0x280b39c
|
|
/* 0280B39C */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 0280B39C */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280B3A0 */ _t10 = cpu->r[26] + 0x00000004u;
|
|
/* 0280B3A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
L_0280B3A4: ; // 0x280b3a4
|
|
/* 0280B3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280B3A8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B3A8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280B3A8 */ if (_t12) goto L_0280B6A4; else goto L_0280B3AC;
|
|
L_0280B3AC: ; // 0x280b3ac
|
|
/* 0280B3AC */ cpu->r[3] = cpu->r[29];
|
|
/* 0280B3AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280B3B0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B3B0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280B3B0 */ if (_t14) goto L_0280B3B4; else goto L_0280B3C4;
|
|
L_0280B3B4: ; // 0x280b3b4
|
|
/* 0280B3B4 */ cpu->r[3] = 0x00000018u;
|
|
/* 0280B3B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280B3BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280B3C0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B3C0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280B3C0 */ if (_t16) goto L_0280B3F0; else goto L_0280B3C4;
|
|
L_0280B3C4: ; // 0x280b3c4
|
|
/* 0280B3C4 */ cpu->r[6] = 0x10110000u;
|
|
/* 0280B3C8 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280B3CC */ _t17 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280B3CC */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 0280B3D0 */ cpu->r[6] = cpu->r[6] + 0x0000295Cu;
|
|
/* 0280B3D4 */ cpu->r[0] = cpu->r[0] + 0x00002744u;
|
|
/* 0280B3D8 */ _t18 = cpu->r[3] + 0x00000014u;
|
|
/* 0280B3D8 */ rbrew_write32(cpu->mem, _t18, cpu->r[6]);
|
|
/* 0280B3DC */ cpu->r[8] = 0x00000000u;
|
|
/* 0280B3E0 */ _t19 = cpu->r[3] + 0x00000010u;
|
|
/* 0280B3E0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 0280B3E4 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 0280B3E4 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 0280B3E8 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 0280B3E8 */ rbrew_write32(cpu->mem, _t21, cpu->r[8]);
|
|
/* 0280B3EC */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 0280B3EC */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
L_0280B3F0: ; // 0x280b3f0
|
|
/* 0280B3F0 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280B3F4 */ cpu->r[0] = cpu->r[0] + 0x000029A4u;
|
|
/* 0280B3F8 */ cpu->r[23] = cpu->r[29] + 0x00000018u;
|
|
/* 0280B3F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0280B3FC */ _t23 = cpu->r[29] + 0x00000014u;
|
|
/* 0280B3FC */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 0280B400 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B400 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0280B400 */ if (_t25) goto L_0280B404; else goto L_0280B458;
|
|
L_0280B404: ; // 0x280b404
|
|
/* 0280B404 */ cpu->r[3] = 0x000000CCu;
|
|
/* 0280B408 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280B40C */ cpu->r[23] = cpu->r[3];
|
|
/* 0280B40C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0280B410 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B410 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0280B410 */ if (_t27) goto L_0280B414; else goto L_0280B458;
|
|
L_0280B414: ; // 0x280b414
|
|
/* 0280B414 */ _t28 = cpu->r[30] + 0x00000000u;
|
|
/* 0280B414 */ cpu->r[30] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0280B418 */ _t29 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0280B418 */ rbrew_write32(cpu->mem, _t29, cpu->r[27]);
|
|
/* 0280B41C */ _t30 = cpu->r[29] + 0x00000128u;
|
|
/* 0280B41C */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[30]);
|
|
/* 0280B420 */ _t31 = cpu->r[29] + 0x000000E4u;
|
|
/* 0280B420 */ rbrew_write32(cpu->mem, _t31, cpu->r[26]);
|
|
/* 0280B424 */ _t32 = cpu->r[25] + 0x00000004u;
|
|
/* 0280B424 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0280B428 */ _t33 = cpu->r[12] + 0x00000014u;
|
|
/* 0280B428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0280B42C */ cpu->ctr = cpu->r[0];
|
|
/* 0280B430 */ cpu->r[3] = cpu->r[25];
|
|
/* 0280B434 */ cpu->r[31] = cpu->r[29] + 0x000000E8u;
|
|
/* 0280B438 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B43C */ _t34 = cpu->r[25] + 0x00000000u;
|
|
/* 0280B43C */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0280B440 */ _t35 = cpu->r[10] + 0x00000000u;
|
|
/* 0280B440 */ cpu->r[5] = rbrew_read8(cpu->mem, _t35);
|
|
/* 0280B444 */ cpu->r[28] = 0x00000000u;
|
|
/* 0280B448 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 0280B44C */ cpu->r[12] = 0x00080000u;
|
|
/* 0280B450 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B450 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0280B450 */ if (_t37) goto L_0280B62C; else goto L_0280B454;
|
|
L_0280B454: ; // 0x280b454
|
|
/* 0280B454 */ goto L_0280B598;
|
|
L_0280B458: ; // 0x280b458
|
|
/* 0280B458 */ cpu->r[3] = cpu->r[23];
|
|
/* 0280B458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280B45C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B45C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0280B45C */ if (_t39) goto L_0280B460; else goto L_0280B4AC;
|
|
L_0280B460: ; // 0x280b460
|
|
/* 0280B460 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280B464 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280B468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280B46C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B46C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0280B46C */ if (_t41) goto L_0280B470; else goto L_0280B4AC;
|
|
L_0280B470: ; // 0x280b470
|
|
/* 0280B470 */ _t42 = cpu->r[30] + 0x00000000u;
|
|
/* 0280B470 */ cpu->r[30] = rbrew_read8(cpu->mem, _t42);
|
|
/* 0280B474 */ _t43 = cpu->r[23] + 0x00000004u;
|
|
/* 0280B474 */ rbrew_write32(cpu->mem, _t43, cpu->r[31]);
|
|
/* 0280B478 */ _t44 = cpu->r[28] + 0x00000004u;
|
|
/* 0280B478 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0280B47C */ _t45 = cpu->r[6] + 0x00000014u;
|
|
/* 0280B47C */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0280B480 */ cpu->ctr = cpu->r[7];
|
|
/* 0280B484 */ _t46 = cpu->r[23] + 0x00000000u;
|
|
/* 0280B484 */ cpu->r[24] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0280B488 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280B48C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B490 */ _t47 = cpu->r[28] + 0x00000000u;
|
|
/* 0280B490 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0280B494 */ _t48 = cpu->r[7] + 0x00000000u;
|
|
/* 0280B494 */ cpu->r[0] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0280B498 */ cpu->r[31] = 0x00000000u;
|
|
/* 0280B49C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0280B4A0 */ cpu->r[8] = 0x00080000u;
|
|
/* 0280B4A4 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B4A4 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0280B4A4 */ if (_t50) goto L_0280B4A8; else goto L_0280B4FC;
|
|
L_0280B4A8: ; // 0x280b4a8
|
|
/* 0280B4A8 */ goto L_0280B520;
|
|
L_0280B4AC: ; // 0x280b4ac
|
|
/* 0280B4AC */ cpu->r[12] = cpu->r[23] + 0x0000000Cu;
|
|
/* 0280B4B0 */ _t51 = cpu->r[3] + 0x00000004u;
|
|
/* 0280B4B0 */ rbrew_write32(cpu->mem, _t51, cpu->r[24]);
|
|
/* 0280B4B4 */ cpu->r[0] = 0x000000C0u;
|
|
/* 0280B4B8 */ _t52 = cpu->r[3] + 0x00000000u;
|
|
/* 0280B4B8 */ rbrew_write32(cpu->mem, _t52, cpu->r[12]);
|
|
/* 0280B4BC */ _t53 = cpu->r[3] + 0x00000008u;
|
|
/* 0280B4BC */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 0280B4C0 */ _t54 = cpu->r[30] + 0x00000000u;
|
|
/* 0280B4C0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t54);
|
|
/* 0280B4C4 */ _t55 = cpu->r[23] + 0x00000004u;
|
|
/* 0280B4C4 */ rbrew_write32(cpu->mem, _t55, cpu->r[31]);
|
|
/* 0280B4C8 */ _t56 = cpu->r[23] + 0x000000CBu;
|
|
/* 0280B4C8 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[30]);
|
|
/* 0280B4CC */ _t57 = cpu->r[28] + 0x00000004u;
|
|
/* 0280B4CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0280B4D0 */ _t58 = cpu->r[6] + 0x00000014u;
|
|
/* 0280B4D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0280B4D4 */ cpu->ctr = cpu->r[7];
|
|
/* 0280B4D8 */ _t59 = cpu->r[23] + 0x00000000u;
|
|
/* 0280B4D8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0280B4DC */ cpu->r[3] = cpu->r[28];
|
|
/* 0280B4E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B4E4 */ _t60 = cpu->r[28] + 0x00000000u;
|
|
/* 0280B4E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0280B4E8 */ _t61 = cpu->r[7] + 0x00000000u;
|
|
/* 0280B4E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t61);
|
|
/* 0280B4EC */ cpu->r[31] = 0x00000000u;
|
|
/* 0280B4F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0280B4F4 */ cpu->r[8] = 0x00080000u;
|
|
/* 0280B4F8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B4F8 */ _t63 = _t62 & 0x00000001u;
|
|
/* 0280B4F8 */ if (_t63) goto L_0280B4A8; else goto L_0280B4FC;
|
|
L_0280B4FC: ; // 0x280b4fc
|
|
/* 0280B4FC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0280B500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 0280B504 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0280B508 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280B508 */ _t65 = _t64 & 0x00000001u;
|
|
/* 0280B508 */ if (_t65) goto L_0280B51C; else goto L_0280B50C;
|
|
L_0280B50C: ; // 0x280b50c
|
|
/* 0280B50C */ _t66 = cpu->r[7] + 0x00000000u;
|
|
/* 0280B50C */ cpu->r[9] = rbrew_read8(cpu->mem, _t66);
|
|
/* 0280B510 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 0280B514 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B514 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0280B514 */ if (_t68) goto L_0280B518; else goto L_0280B4FC;
|
|
L_0280B518: ; // 0x280b518
|
|
/* 0280B518 */ goto L_0280B520;
|
|
L_0280B51C: ; // 0x280b51c
|
|
/* 0280B51C */ cpu->r[31] = 0x00000000u;
|
|
L_0280B520: ; // 0x280b520
|
|
/* 0280B520 */ _t69 = cpu->r[23] + 0x00000008u;
|
|
/* 0280B520 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0280B524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 0280B528 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280B528 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0280B528 */ if (_t71) goto L_0280B530; else goto L_0280B52C;
|
|
L_0280B52C: ; // 0x280b52c
|
|
/* 0280B52C */ cpu->r[31] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0280B530: ; // 0x280b530
|
|
/* 0280B530 */ _t72 = cpu->r[28] + 0x00000004u;
|
|
/* 0280B530 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0280B534 */ _t73 = cpu->r[10] + 0x00000014u;
|
|
/* 0280B534 */ cpu->r[11] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0280B538 */ cpu->ctr = cpu->r[11];
|
|
/* 0280B53C */ cpu->r[3] = cpu->r[28];
|
|
/* 0280B540 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B544 */ _t74 = cpu->r[28] + 0x00000000u;
|
|
/* 0280B544 */ cpu->r[4] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0280B548 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280B54C */ cpu->r[5] = cpu->r[31];
|
|
/* 0280B550 */ cpu->r[3] = cpu->r[24];
|
|
/* 0280B554 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280B558 */ _t75 = cpu->r[24] + cpu->r[31];
|
|
/* 0280B558 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[30]);
|
|
/* 0280B55C */ _t76 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0280B55C */ rbrew_write32(cpu->mem, _t76, cpu->r[27]);
|
|
/* 0280B560 */ _t77 = cpu->r[29] + 0x000000E4u;
|
|
/* 0280B560 */ rbrew_write32(cpu->mem, _t77, cpu->r[26]);
|
|
/* 0280B564 */ _t78 = cpu->r[29] + 0x00000128u;
|
|
/* 0280B564 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[30]);
|
|
/* 0280B568 */ _t79 = cpu->r[25] + 0x00000004u;
|
|
/* 0280B568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0280B56C */ _t80 = cpu->r[12] + 0x00000014u;
|
|
/* 0280B56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0280B570 */ cpu->ctr = cpu->r[0];
|
|
/* 0280B574 */ cpu->r[31] = cpu->r[29] + 0x000000E8u;
|
|
/* 0280B578 */ cpu->r[3] = cpu->r[25];
|
|
/* 0280B57C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B580 */ _t81 = cpu->r[25] + 0x00000000u;
|
|
/* 0280B580 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0280B584 */ _t82 = cpu->r[10] + 0x00000000u;
|
|
/* 0280B584 */ cpu->r[5] = rbrew_read8(cpu->mem, _t82);
|
|
/* 0280B588 */ cpu->r[28] = 0x00000000u;
|
|
/* 0280B58C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 0280B590 */ cpu->r[12] = 0x00080000u;
|
|
/* 0280B594 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B594 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0280B594 */ if (_t84) goto L_0280B62C; else goto L_0280B598;
|
|
L_0280B598: ; // 0x280b598
|
|
/* 0280B598 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0280B59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[12]);
|
|
/* 0280B5A0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0280B5A4 */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280B5A4 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0280B5A4 */ if (_t86) goto L_0280B5C0; else goto L_0280B5A8;
|
|
L_0280B5A8: ; // 0x280b5a8
|
|
/* 0280B5A8 */ _t87 = cpu->r[10] + 0x00000000u;
|
|
/* 0280B5A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t87);
|
|
/* 0280B5AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0280B5B0 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B5B0 */ _t89 = _t88 & 0x00000001u;
|
|
/* 0280B5B0 */ if (_t89) goto L_0280B5B4; else goto L_0280B598;
|
|
L_0280B5B4: ; // 0x280b5b4
|
|
/* 0280B5B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000041u);
|
|
/* 0280B5B8 */ _t90 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280B5B8 */ _t91 = _t90 & 0x00000001u;
|
|
/* 0280B5B8 */ if (_t91) goto L_0280B638; else goto L_0280B5BC;
|
|
L_0280B5BC: ; // 0x280b5bc
|
|
/* 0280B5BC */ goto L_0280B634;
|
|
L_0280B5C0: ; // 0x280b5c0
|
|
/* 0280B5C0 */ _t92 = cpu->r[25] + 0x00000004u;
|
|
/* 0280B5C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0280B5C4 */ _t93 = cpu->r[7] + 0x00000014u;
|
|
/* 0280B5C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0280B5C8 */ cpu->ctr = cpu->r[8];
|
|
/* 0280B5CC */ cpu->r[3] = cpu->r[25];
|
|
/* 0280B5D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B5D4 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280B5D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280B5DC */ _t94 = cpu->r[25] + 0x00000000u;
|
|
/* 0280B5DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0280B5E0 */ cpu->r[6] = cpu->r[5];
|
|
/* 0280B5E4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280B5E8 */ _t95 = cpu->r[31] + 0x00000000u;
|
|
/* 0280B5E8 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[30]);
|
|
/* 0280B5EC */ _t96 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0280B5EC */ rbrew_write32(cpu->mem, _t96, cpu->r[31]);
|
|
/* 0280B5F0 */ _t97 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0280B5F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0280B5F4 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280B5F8 */ _t98 = cpu->r[26] + 0x00000000u;
|
|
/* 0280B5F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0280B5FC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280B600 */ cpu->r[5] = cpu->r[29];
|
|
/* 0280B604 */ _t99 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0280B604 */ rbrew_write32(cpu->mem, _t99, cpu->r[9]);
|
|
/* 0280B608 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280B60C */ cpu->r[0] = 0x00000001u;
|
|
/* 0280B610 */ _t100 = cpu->r[26] + 0x00000000u;
|
|
/* 0280B610 */ rbrew_write32(cpu->mem, _t100, cpu->r[3]);
|
|
/* 0280B614 */ _t101 = cpu->r[3] + 0x00000008u;
|
|
/* 0280B614 */ rbrew_write32(cpu->mem, _t101, cpu->r[0]);
|
|
/* 0280B618 */ /* nop */
|
|
/* 0280B61C */ _t102 = cpu->r[1] + 0x00000034u;
|
|
/* 0280B61C */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0280B620 */ cpu->lr = cpu->r[0];
|
|
/* 0280B624 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0280B628 */ return;
|
|
L_0280B62C: ; // 0x280b62c
|
|
/* 0280B62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000041u);
|
|
/* 0280B630 */ _t103 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280B630 */ _t104 = _t103 & 0x00000001u;
|
|
/* 0280B630 */ if (_t104) goto L_0280B638; else goto L_0280B634;
|
|
L_0280B634: ; // 0x280b634
|
|
/* 0280B634 */ cpu->r[28] = 0x00000040u;
|
|
L_0280B638: ; // 0x280b638
|
|
/* 0280B638 */ _t105 = cpu->r[25] + 0x00000004u;
|
|
/* 0280B638 */ cpu->r[7] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0280B63C */ _t106 = cpu->r[7] + 0x00000014u;
|
|
/* 0280B63C */ cpu->r[8] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0280B640 */ cpu->ctr = cpu->r[8];
|
|
/* 0280B644 */ cpu->r[3] = cpu->r[25];
|
|
/* 0280B648 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B64C */ _t107 = cpu->r[25] + 0x00000000u;
|
|
/* 0280B64C */ cpu->r[4] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0280B650 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280B654 */ cpu->r[5] = cpu->r[28];
|
|
/* 0280B658 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280B65C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280B660 */ _t108 = cpu->r[31] + cpu->r[28];
|
|
/* 0280B660 */ rbrew_write8(cpu->mem, _t108, (uint8_t)cpu->r[30]);
|
|
/* 0280B664 */ _t109 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0280B664 */ rbrew_write32(cpu->mem, _t109, cpu->r[31]);
|
|
/* 0280B668 */ _t110 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0280B668 */ cpu->r[9] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0280B66C */ cpu->r[3] = cpu->r[26];
|
|
/* 0280B670 */ _t111 = cpu->r[26] + 0x00000000u;
|
|
/* 0280B670 */ cpu->r[4] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0280B674 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280B678 */ cpu->r[5] = cpu->r[29];
|
|
/* 0280B67C */ _t112 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0280B67C */ rbrew_write32(cpu->mem, _t112, cpu->r[9]);
|
|
/* 0280B680 */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280B684 */ cpu->r[0] = 0x00000001u;
|
|
/* 0280B688 */ _t113 = cpu->r[26] + 0x00000000u;
|
|
/* 0280B688 */ rbrew_write32(cpu->mem, _t113, cpu->r[3]);
|
|
/* 0280B68C */ _t114 = cpu->r[3] + 0x00000008u;
|
|
/* 0280B68C */ rbrew_write32(cpu->mem, _t114, cpu->r[0]);
|
|
/* 0280B690 */ /* nop */
|
|
/* 0280B694 */ _t115 = cpu->r[1] + 0x00000034u;
|
|
/* 0280B694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t115);
|
|
/* 0280B698 */ cpu->lr = cpu->r[0];
|
|
/* 0280B69C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0280B6A0 */ return;
|
|
L_0280B6A4: ; // 0x280b6a4
|
|
/* 0280B6A4 */ _t116 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0280B6A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0280B6A8 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280B6AC */ _t117 = cpu->r[26] + 0x00000000u;
|
|
/* 0280B6AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t117);
|
|
/* 0280B6B0 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280B6B4 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280B6B8 */ _t118 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0280B6B8 */ rbrew_write32(cpu->mem, _t118, cpu->r[9]);
|
|
/* 0280B6BC */ Gambit_fn_020EFDC4(cpu);
|
|
/* 0280B6C0 */ cpu->r[0] = 0x00000001u;
|
|
/* 0280B6C4 */ _t119 = cpu->r[26] + 0x00000000u;
|
|
/* 0280B6C4 */ rbrew_write32(cpu->mem, _t119, cpu->r[3]);
|
|
/* 0280B6C8 */ _t120 = cpu->r[3] + 0x00000008u;
|
|
/* 0280B6C8 */ rbrew_write32(cpu->mem, _t120, cpu->r[0]);
|
|
/* 0280B6CC */ /* nop */
|
|
/* 0280B6D0 */ _t121 = cpu->r[1] + 0x00000034u;
|
|
/* 0280B6D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0280B6D4 */ cpu->lr = cpu->r[0];
|
|
/* 0280B6D8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0280B6DC */ return;
|
|
L_0280B6E0: ; // 0x280b6e0
|
|
/* 0280B6E0 */ _t122 = cpu->r[26] + 0x00000000u;
|
|
/* 0280B6E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t122);
|
|
/* 0280B6E4 */ cpu->r[5] = cpu->r[25];
|
|
/* 0280B6E8 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280B6EC */ Gambit_fn_020EFCB8(cpu);
|
|
/* 0280B6F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280B6F4 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B6F4 */ _t124 = _t123 & 0x00000001u;
|
|
/* 0280B6F4 */ if (_t124) goto L_0280B840; else goto L_0280B6F8;
|
|
L_0280B6F8: ; // 0x280b6f8
|
|
/* 0280B6F8 */ cpu->r[29] = cpu->r[3] + 0x00000018u;
|
|
/* 0280B6F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280B6FC */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B6FC */ _t126 = _t125 & 0x00000001u;
|
|
/* 0280B6FC */ if (_t126) goto L_0280B840; else goto L_0280B700;
|
|
L_0280B700: ; // 0x280b700
|
|
/* 0280B700 */ _t127 = cpu->r[29] + 0x00000004u;
|
|
/* 0280B700 */ cpu->r[11] = rbrew_read32(cpu->mem, _t127);
|
|
/* 0280B704 */ _t128 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280B704 */ cpu->r[12] = rbrew_read32(cpu->mem, _t128);
|
|
/* 0280B708 */ cpu->ctr = cpu->r[12];
|
|
/* 0280B70C */ cpu->r[3] = cpu->r[29];
|
|
/* 0280B710 */ cpu->r[4] = 0x00000002u;
|
|
/* 0280B714 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280B71C */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B71C */ _t130 = _t129 & 0x00000001u;
|
|
/* 0280B71C */ if (_t130) goto L_0280B840; else goto L_0280B720;
|
|
L_0280B720: ; // 0x280b720
|
|
/* 0280B720 */ cpu->r[25] = cpu->r[29];
|
|
/* 0280B720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0280B724 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B724 */ _t132 = _t131 & 0x00000001u;
|
|
/* 0280B724 */ if (_t132) goto L_0280B728; else goto L_0280B738;
|
|
L_0280B728: ; // 0x280b728
|
|
/* 0280B728 */ cpu->r[3] = 0x000000CCu;
|
|
/* 0280B72C */ Gambit_fn_02801A78(cpu);
|
|
/* 0280B730 */ cpu->r[25] = cpu->r[3];
|
|
/* 0280B730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0280B734 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B734 */ _t134 = _t133 & 0x00000001u;
|
|
/* 0280B734 */ if (_t134) goto L_0280B83C; else goto L_0280B738;
|
|
L_0280B738: ; // 0x280b738
|
|
/* 0280B738 */ cpu->r[3] = cpu->r[25];
|
|
/* 0280B738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280B73C */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B73C */ _t136 = _t135 & 0x00000001u;
|
|
/* 0280B73C */ if (_t136) goto L_0280B740; else goto L_0280B78C;
|
|
L_0280B740: ; // 0x280b740
|
|
/* 0280B740 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280B744 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280B748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280B74C */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B74C */ _t138 = _t137 & 0x00000001u;
|
|
/* 0280B74C */ if (_t138) goto L_0280B750; else goto L_0280B78C;
|
|
L_0280B750: ; // 0x280b750
|
|
/* 0280B750 */ _t139 = cpu->r[30] + 0x00000000u;
|
|
/* 0280B750 */ cpu->r[30] = rbrew_read8(cpu->mem, _t139);
|
|
/* 0280B754 */ _t140 = cpu->r[25] + 0x00000004u;
|
|
/* 0280B754 */ rbrew_write32(cpu->mem, _t140, cpu->r[31]);
|
|
/* 0280B758 */ _t141 = cpu->r[28] + 0x00000004u;
|
|
/* 0280B758 */ cpu->r[6] = rbrew_read32(cpu->mem, _t141);
|
|
/* 0280B75C */ _t142 = cpu->r[6] + 0x00000014u;
|
|
/* 0280B75C */ cpu->r[8] = rbrew_read32(cpu->mem, _t142);
|
|
/* 0280B760 */ cpu->ctr = cpu->r[8];
|
|
/* 0280B764 */ _t143 = cpu->r[25] + 0x00000000u;
|
|
/* 0280B764 */ cpu->r[26] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0280B768 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280B76C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B770 */ _t144 = cpu->r[28] + 0x00000000u;
|
|
/* 0280B770 */ cpu->r[5] = rbrew_read32(cpu->mem, _t144);
|
|
/* 0280B774 */ _t145 = cpu->r[5] + 0x00000000u;
|
|
/* 0280B774 */ cpu->r[9] = rbrew_read8(cpu->mem, _t145);
|
|
/* 0280B778 */ cpu->r[31] = 0x00000000u;
|
|
/* 0280B77C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 0280B780 */ cpu->r[7] = 0x00080000u;
|
|
/* 0280B784 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B784 */ _t147 = _t146 & 0x00000001u;
|
|
/* 0280B784 */ if (_t147) goto L_0280B788; else goto L_0280B7DC;
|
|
L_0280B788: ; // 0x280b788
|
|
/* 0280B788 */ goto L_0280B800;
|
|
L_0280B78C: ; // 0x280b78c
|
|
/* 0280B78C */ cpu->r[0] = cpu->r[25] + 0x0000000Cu;
|
|
/* 0280B790 */ _t148 = cpu->r[3] + 0x00000004u;
|
|
/* 0280B790 */ rbrew_write32(cpu->mem, _t148, cpu->r[24]);
|
|
/* 0280B794 */ cpu->r[12] = 0x000000C0u;
|
|
/* 0280B798 */ _t149 = cpu->r[3] + 0x00000000u;
|
|
/* 0280B798 */ rbrew_write32(cpu->mem, _t149, cpu->r[0]);
|
|
/* 0280B79C */ _t150 = cpu->r[3] + 0x00000008u;
|
|
/* 0280B79C */ rbrew_write32(cpu->mem, _t150, cpu->r[12]);
|
|
/* 0280B7A0 */ _t151 = cpu->r[30] + 0x00000000u;
|
|
/* 0280B7A0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t151);
|
|
/* 0280B7A4 */ _t152 = cpu->r[25] + 0x00000004u;
|
|
/* 0280B7A4 */ rbrew_write32(cpu->mem, _t152, cpu->r[31]);
|
|
/* 0280B7A8 */ _t153 = cpu->r[25] + 0x000000CBu;
|
|
/* 0280B7A8 */ rbrew_write8(cpu->mem, _t153, (uint8_t)cpu->r[30]);
|
|
/* 0280B7AC */ _t154 = cpu->r[28] + 0x00000004u;
|
|
/* 0280B7AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t154);
|
|
/* 0280B7B0 */ _t155 = cpu->r[6] + 0x00000014u;
|
|
/* 0280B7B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t155);
|
|
/* 0280B7B4 */ cpu->ctr = cpu->r[8];
|
|
/* 0280B7B8 */ _t156 = cpu->r[25] + 0x00000000u;
|
|
/* 0280B7B8 */ cpu->r[26] = rbrew_read32(cpu->mem, _t156);
|
|
/* 0280B7BC */ cpu->r[3] = cpu->r[28];
|
|
/* 0280B7C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B7C4 */ _t157 = cpu->r[28] + 0x00000000u;
|
|
/* 0280B7C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t157);
|
|
/* 0280B7C8 */ _t158 = cpu->r[5] + 0x00000000u;
|
|
/* 0280B7C8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t158);
|
|
/* 0280B7CC */ cpu->r[31] = 0x00000000u;
|
|
/* 0280B7D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 0280B7D4 */ cpu->r[7] = 0x00080000u;
|
|
/* 0280B7D8 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B7D8 */ _t160 = _t159 & 0x00000001u;
|
|
/* 0280B7D8 */ if (_t160) goto L_0280B800; else goto L_0280B7DC;
|
|
L_0280B7DC: ; // 0x280b7dc
|
|
/* 0280B7DC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0280B7E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 0280B7E4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0280B7E8 */ _t161 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280B7E8 */ _t162 = _t161 & 0x00000001u;
|
|
/* 0280B7E8 */ if (_t162) goto L_0280B7FC; else goto L_0280B7EC;
|
|
L_0280B7EC: ; // 0x280b7ec
|
|
/* 0280B7EC */ _t163 = cpu->r[5] + 0x00000000u;
|
|
/* 0280B7EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t163);
|
|
/* 0280B7F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0280B7F4 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B7F4 */ _t165 = _t164 & 0x00000001u;
|
|
/* 0280B7F4 */ if (_t165) goto L_0280B7F8; else goto L_0280B7DC;
|
|
L_0280B7F8: ; // 0x280b7f8
|
|
/* 0280B7F8 */ goto L_0280B800;
|
|
L_0280B7FC: ; // 0x280b7fc
|
|
/* 0280B7FC */ cpu->r[31] = 0x00000000u;
|
|
L_0280B800: ; // 0x280b800
|
|
/* 0280B800 */ _t166 = cpu->r[25] + 0x00000008u;
|
|
/* 0280B800 */ cpu->r[12] = rbrew_read32(cpu->mem, _t166);
|
|
/* 0280B804 */ _t167 = cpu->r[28] + 0x00000004u;
|
|
/* 0280B804 */ cpu->r[5] = rbrew_read32(cpu->mem, _t167);
|
|
/* 0280B808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0280B80C */ _t168 = cpu->r[5] + 0x00000014u;
|
|
/* 0280B80C */ cpu->r[6] = rbrew_read32(cpu->mem, _t168);
|
|
/* 0280B810 */ _t169 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280B810 */ _t170 = _t169 & 0x00000001u;
|
|
/* 0280B810 */ if (_t170) goto L_0280B818; else goto L_0280B814;
|
|
L_0280B814: ; // 0x280b814
|
|
/* 0280B814 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0280B818: ; // 0x280b818
|
|
/* 0280B818 */ cpu->ctr = cpu->r[6];
|
|
/* 0280B81C */ cpu->r[3] = cpu->r[28];
|
|
/* 0280B820 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B824 */ _t171 = cpu->r[28] + 0x00000000u;
|
|
/* 0280B824 */ cpu->r[4] = rbrew_read32(cpu->mem, _t171);
|
|
/* 0280B828 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280B82C */ cpu->r[5] = cpu->r[31];
|
|
/* 0280B830 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280B834 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280B838 */ _t172 = cpu->r[26] + cpu->r[31];
|
|
/* 0280B838 */ rbrew_write8(cpu->mem, _t172, (uint8_t)cpu->r[30]);
|
|
L_0280B83C: ; // 0x280b83c
|
|
/* 0280B83C */ _t173 = cpu->r[29] + 0x00000004u;
|
|
/* 0280B83C */ rbrew_write32(cpu->mem, _t173, cpu->r[27]);
|
|
L_0280B840: ; // 0x280b840
|
|
/* 0280B840 */ /* nop */
|
|
/* 0280B844 */ _t174 = cpu->r[1] + 0x00000034u;
|
|
/* 0280B844 */ cpu->r[0] = rbrew_read32(cpu->mem, _t174);
|
|
/* 0280B848 */ cpu->lr = cpu->r[0];
|
|
/* 0280B84C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0280B850 */ return;
|
|
}
|
|
|
|
// fn_0280B854 @ 0x280b854
|
|
void Gambit_fn_0280B854(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_0280B854: ; // 0x280b854
|
|
/* 0280B854 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280B854 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280B854 */ cpu->r[1] = _t0;
|
|
/* 0280B858 */ cpu->r[0] = cpu->lr;
|
|
/* 0280B85C */ /* nop */
|
|
/* 0280B860 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280B860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280B864 */ cpu->r[28] = cpu->r[4];
|
|
/* 0280B868 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0280B868 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280B86C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B86C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0280B86C */ if (_t3) goto L_0280B870; else goto L_0280B880;
|
|
L_0280B870: ; // 0x280b870
|
|
/* 0280B870 */ cpu->r[3] = 0x000000CCu;
|
|
/* 0280B874 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280B878 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280B878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280B87C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B87C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280B87C */ if (_t5) goto L_0280B9C4; else goto L_0280B880;
|
|
L_0280B880: ; // 0x280b880
|
|
/* 0280B880 */ cpu->r[26] = cpu->r[30];
|
|
/* 0280B880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0280B884 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B884 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280B884 */ if (_t7) goto L_0280B888; else goto L_0280B898;
|
|
L_0280B888: ; // 0x280b888
|
|
/* 0280B888 */ cpu->r[3] = 0x000000CCu;
|
|
/* 0280B88C */ Gambit_fn_02801A78(cpu);
|
|
/* 0280B890 */ cpu->r[26] = cpu->r[3];
|
|
/* 0280B890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0280B894 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B894 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280B894 */ if (_t9) goto L_0280B9B8; else goto L_0280B898;
|
|
L_0280B898: ; // 0x280b898
|
|
/* 0280B898 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280B898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280B89C */ cpu->r[31] = 0x10110000u;
|
|
/* 0280B8A0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B8A0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0280B8A0 */ if (_t11) goto L_0280B8A4; else goto L_0280B8F8;
|
|
L_0280B8A4: ; // 0x280b8a4
|
|
/* 0280B8A4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280B8A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280B8AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280B8B0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B8B0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280B8B0 */ if (_t13) goto L_0280B8B4; else goto L_0280B8F8;
|
|
L_0280B8B4: ; // 0x280b8b4
|
|
/* 0280B8B4 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280B8B8 */ _t14 = cpu->r[31] + 0x00007399u;
|
|
/* 0280B8B8 */ cpu->r[29] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0280B8BC */ cpu->r[0] = cpu->r[0] + 0x0000289Cu;
|
|
/* 0280B8C0 */ _t15 = cpu->r[26] + 0x00000004u;
|
|
/* 0280B8C0 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0280B8C4 */ _t16 = cpu->r[28] + 0x00000004u;
|
|
/* 0280B8C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280B8C8 */ _t17 = cpu->r[12] + 0x00000014u;
|
|
/* 0280B8C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280B8CC */ cpu->ctr = cpu->r[6];
|
|
/* 0280B8D0 */ _t18 = cpu->r[26] + 0x00000000u;
|
|
/* 0280B8D0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280B8D4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280B8D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B8DC */ _t19 = cpu->r[28] + 0x00000000u;
|
|
/* 0280B8DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280B8E0 */ _t20 = cpu->r[7] + 0x00000000u;
|
|
/* 0280B8E0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0280B8E4 */ cpu->r[31] = 0x00000000u;
|
|
/* 0280B8E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]);
|
|
/* 0280B8EC */ cpu->r[8] = 0x00080000u;
|
|
/* 0280B8F0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B8F0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0280B8F0 */ if (_t22) goto L_0280B8F4; else goto L_0280B958;
|
|
L_0280B8F4: ; // 0x280b8f4
|
|
/* 0280B8F4 */ goto L_0280B97C;
|
|
L_0280B8F8: ; // 0x280b8f8
|
|
/* 0280B8F8 */ cpu->r[8] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0280B8FC */ cpu->r[10] = 0x000000C0u;
|
|
/* 0280B900 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280B904 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 0280B904 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 0280B908 */ cpu->r[0] = cpu->r[0] + 0x000027A4u;
|
|
/* 0280B90C */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 0280B90C */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
/* 0280B910 */ _t25 = cpu->r[3] + 0x00000004u;
|
|
/* 0280B910 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0280B914 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280B918 */ _t26 = cpu->r[31] + 0x00007399u;
|
|
/* 0280B918 */ cpu->r[29] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0280B91C */ cpu->r[0] = cpu->r[0] + 0x0000289Cu;
|
|
/* 0280B920 */ _t27 = cpu->r[26] + 0x00000004u;
|
|
/* 0280B920 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 0280B924 */ _t28 = cpu->r[26] + 0x000000CBu;
|
|
/* 0280B924 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[29]);
|
|
/* 0280B928 */ _t29 = cpu->r[28] + 0x00000004u;
|
|
/* 0280B928 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0280B92C */ _t30 = cpu->r[12] + 0x00000014u;
|
|
/* 0280B92C */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0280B930 */ cpu->ctr = cpu->r[6];
|
|
/* 0280B934 */ _t31 = cpu->r[26] + 0x00000000u;
|
|
/* 0280B934 */ cpu->r[27] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0280B938 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280B93C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B940 */ _t32 = cpu->r[28] + 0x00000000u;
|
|
/* 0280B940 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0280B944 */ _t33 = cpu->r[7] + 0x00000000u;
|
|
/* 0280B944 */ cpu->r[9] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0280B948 */ cpu->r[31] = 0x00000000u;
|
|
/* 0280B94C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]);
|
|
/* 0280B950 */ cpu->r[8] = 0x00080000u;
|
|
/* 0280B954 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B954 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0280B954 */ if (_t35) goto L_0280B97C; else goto L_0280B958;
|
|
L_0280B958: ; // 0x280b958
|
|
/* 0280B958 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0280B95C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 0280B960 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0280B964 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280B964 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0280B964 */ if (_t37) goto L_0280B978; else goto L_0280B968;
|
|
L_0280B968: ; // 0x280b968
|
|
/* 0280B968 */ _t38 = cpu->r[7] + 0x00000000u;
|
|
/* 0280B968 */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 0280B96C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0280B970 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B970 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0280B970 */ if (_t40) goto L_0280B974; else goto L_0280B958;
|
|
L_0280B974: ; // 0x280b974
|
|
/* 0280B974 */ goto L_0280B97C;
|
|
L_0280B978: ; // 0x280b978
|
|
/* 0280B978 */ cpu->r[31] = 0x00000000u;
|
|
L_0280B97C: ; // 0x280b97c
|
|
/* 0280B97C */ _t41 = cpu->r[26] + 0x00000008u;
|
|
/* 0280B97C */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0280B980 */ _t42 = cpu->r[28] + 0x00000004u;
|
|
/* 0280B980 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0280B984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 0280B988 */ _t43 = cpu->r[12] + 0x00000014u;
|
|
/* 0280B988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0280B98C */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280B98C */ _t45 = _t44 & 0x00000001u;
|
|
/* 0280B98C */ if (_t45) goto L_0280B994; else goto L_0280B990;
|
|
L_0280B990: ; // 0x280b990
|
|
/* 0280B990 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0280B994: ; // 0x280b994
|
|
/* 0280B994 */ cpu->ctr = cpu->r[0];
|
|
/* 0280B998 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280B99C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280B9A0 */ _t46 = cpu->r[28] + 0x00000000u;
|
|
/* 0280B9A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0280B9A4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280B9A8 */ cpu->r[5] = cpu->r[31];
|
|
/* 0280B9AC */ cpu->r[3] = cpu->r[27];
|
|
/* 0280B9B0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280B9B4 */ _t47 = cpu->r[27] + cpu->r[31];
|
|
/* 0280B9B4 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[29]);
|
|
L_0280B9B8: ; // 0x280b9b8
|
|
/* 0280B9B8 */ cpu->r[7] = 0x10110000u;
|
|
/* 0280B9BC */ cpu->r[7] = cpu->r[7] + 0x000028B4u;
|
|
/* 0280B9C0 */ _t48 = cpu->r[30] + 0x00000004u;
|
|
/* 0280B9C0 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
L_0280B9C4: ; // 0x280b9c4
|
|
/* 0280B9C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280B9C8 */ /* nop */
|
|
/* 0280B9CC */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 0280B9CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0280B9D0 */ cpu->lr = cpu->r[0];
|
|
/* 0280B9D4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280B9D8 */ return;
|
|
}
|
|
|
|
// fn_0280B9DC @ 0x280b9dc
|
|
void Gambit_fn_0280B9DC(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_0280B9DC: ; // 0x280b9dc
|
|
/* 0280B9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280B9E0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B9E0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280B9E0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280B9E0 */ goto L_0280B9E4;
|
|
L_0280B9E4: ; // 0x280b9e4
|
|
/* 0280B9E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280B9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280B9E8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280B9E8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280B9E8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280B9E8 */ goto L_0280B9EC;
|
|
L_0280B9EC: ; // 0x280b9ec
|
|
/* 0280B9EC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280B9F0 @ 0x280b9f0
|
|
void Gambit_fn_0280B9F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_0280B9F0: ; // 0x280b9f0
|
|
/* 0280B9F0 */ cpu->r[0] = cpu->lr;
|
|
/* 0280B9F4 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 0280B9F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280B9F4 */ cpu->r[1] = _t0;
|
|
/* 0280B9F8 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0280B9F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0280B9FC */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 0280B9FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280BA00 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280BA00 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0280BA04 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0280BA04 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 0280BA08 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 0280BA08 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0280BA0C */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0280BA0C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0280BA10 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 0280BA10 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0280BA14 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 0280BA14 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0280BA18 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 0280BA18 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0280BA1C */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 0280BA1C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0280BA20 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0280BA20 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0280BA24 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BA24 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 0280BA28 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 0280BA28 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 0280BA2C */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0280BA2C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280BA2C */ if (_t15) goto L_0280BA30; else goto L_0280BA50;
|
|
L_0280BA30: ; // 0x280ba30
|
|
/* 0280BA30 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 0280BA30 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 0280BA34 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 0280BA34 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 0280BA38 */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 0280BA38 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 0280BA3C */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 0280BA3C */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 0280BA40 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 0280BA40 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 0280BA44 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 0280BA44 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 0280BA48 */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 0280BA48 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 0280BA4C */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 0280BA4C */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_0280BA50: ; // 0x280ba50
|
|
/* 0280BA50 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280BA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280BA54 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280BA58 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BA58 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0280BA58 */ if (_t25) goto L_0280BA5C; else goto L_0280BA6C;
|
|
L_0280BA5C: ; // 0x280ba5c
|
|
/* 0280BA5C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0280BA60 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280BA64 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280BA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280BA68 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BA68 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0280BA68 */ if (_t27) goto L_0280BB30; else goto L_0280BA6C;
|
|
L_0280BA6C: ; // 0x280ba6c
|
|
/* 0280BA6C */ cpu->r[29] = cpu->r[31];
|
|
/* 0280BA6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280BA70 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BA70 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0280BA70 */ if (_t29) goto L_0280BA74; else goto L_0280BA84;
|
|
L_0280BA74: ; // 0x280ba74
|
|
/* 0280BA74 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0280BA78 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280BA7C */ cpu->r[29] = cpu->r[3];
|
|
/* 0280BA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280BA80 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BA80 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0280BA80 */ if (_t31) goto L_0280BAF4; else goto L_0280BA84;
|
|
L_0280BA84: ; // 0x280ba84
|
|
/* 0280BA84 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280BA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BA88 */ cpu->r[28] = 0x10110000u;
|
|
/* 0280BA8C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BA8C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0280BA8C */ if (_t33) goto L_0280BA90; else goto L_0280BABC;
|
|
L_0280BA90: ; // 0x280ba90
|
|
/* 0280BA90 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280BA94 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280BA98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BA9C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BA9C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0280BA9C */ if (_t35) goto L_0280BAA0; else goto L_0280BABC;
|
|
L_0280BAA0: ; // 0x280baa0
|
|
/* 0280BAA0 */ cpu->r[7] = 0x10110000u;
|
|
/* 0280BAA4 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 0280BAA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0280BAA8 */ cpu->r[7] = cpu->r[7] + 0x00002854u;
|
|
/* 0280BAAC */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 0280BAAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0280BAB0 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0280BAB0 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 0280BAB4 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 0280BAB4 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 0280BAB8 */ goto L_0280BAF4;
|
|
L_0280BABC: ; // 0x280babc
|
|
/* 0280BABC */ cpu->r[5] = 0x10110000u;
|
|
/* 0280BAC0 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0280BAC4 */ cpu->r[5] = cpu->r[5] + 0x000027A4u;
|
|
/* 0280BAC8 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BAC8 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 0280BACC */ cpu->r[6] = 0x00000080u;
|
|
/* 0280BAD0 */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 0280BAD0 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 0280BAD4 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 0280BAD4 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 0280BAD8 */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 0280BAD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 0280BADC */ cpu->r[7] = 0x10110000u;
|
|
/* 0280BAE0 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 0280BAE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0280BAE4 */ cpu->r[7] = cpu->r[7] + 0x00002854u;
|
|
/* 0280BAE8 */ _t45 = cpu->r[29] + 0x0000008Bu;
|
|
/* 0280BAE8 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 0280BAEC */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 0280BAEC */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 0280BAF0 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 0280BAF0 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_0280BAF4: ; // 0x280baf4
|
|
/* 0280BAF4 */ cpu->r[9] = 0x10110000u;
|
|
/* 0280BAF8 */ cpu->r[12] = 0x00000002u;
|
|
/* 0280BAFC */ cpu->r[9] = cpu->r[9] + 0x000028CCu;
|
|
/* 0280BB00 */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 0280BB04 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 0280BB04 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 0280BB08 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 0280BB0C */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BB0C */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 0280BB10 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280BB14 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 0280BB14 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 0280BB18 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280BB1C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0280BB20 */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 0280BB20 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 0280BB24 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280BB28 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BB28 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 0280BB2C */ Gambit_fn_0282A5DC(cpu);
|
|
L_0280BB30: ; // 0x280bb30
|
|
/* 0280BB30 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 0280BB30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0280BB34 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0280BB34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0280BB38 */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0280BB38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0280BB3C */ cpu->r[3] = cpu->r[31];
|
|
/* 0280BB40 */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 0280BB40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0280BB44 */ cpu->lr = cpu->r[0];
|
|
/* 0280BB48 */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 0280BB48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0280BB4C */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 0280BB50 */ return;
|
|
}
|
|
|
|
// fn_0280B9F4 @ 0x280b9f4
|
|
void Gambit_fn_0280B9F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57;
|
|
|
|
L_0280B9F4: ; // 0x280b9f4
|
|
/* 0280B9F4 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 0280B9F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280B9F4 */ cpu->r[1] = _t0;
|
|
/* 0280B9F8 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0280B9F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 0280B9FC */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 0280B9FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280BA00 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280BA00 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0280BA04 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 0280BA04 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 0280BA08 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 0280BA08 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0280BA0C */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0280BA0C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0280BA10 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 0280BA10 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0280BA14 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 0280BA14 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0280BA18 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 0280BA18 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 0280BA1C */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 0280BA1C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 0280BA20 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0280BA20 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 0280BA24 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BA24 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 0280BA28 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 0280BA28 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 0280BA2C */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0280BA2C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280BA2C */ if (_t15) goto L_0280BA30; else goto L_0280BA50;
|
|
L_0280BA30: ; // 0x280ba30
|
|
/* 0280BA30 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 0280BA30 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 0280BA34 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 0280BA34 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 0280BA38 */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 0280BA38 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 0280BA3C */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 0280BA3C */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 0280BA40 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 0280BA40 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 0280BA44 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 0280BA44 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 0280BA48 */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 0280BA48 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 0280BA4C */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 0280BA4C */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_0280BA50: ; // 0x280ba50
|
|
/* 0280BA50 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280BA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280BA54 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280BA58 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BA58 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0280BA58 */ if (_t25) goto L_0280BA5C; else goto L_0280BA6C;
|
|
L_0280BA5C: ; // 0x280ba5c
|
|
/* 0280BA5C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0280BA60 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280BA64 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280BA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280BA68 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BA68 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0280BA68 */ if (_t27) goto L_0280BB30; else goto L_0280BA6C;
|
|
L_0280BA6C: ; // 0x280ba6c
|
|
/* 0280BA6C */ cpu->r[29] = cpu->r[31];
|
|
/* 0280BA6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280BA70 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BA70 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0280BA70 */ if (_t29) goto L_0280BA74; else goto L_0280BA84;
|
|
L_0280BA74: ; // 0x280ba74
|
|
/* 0280BA74 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0280BA78 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280BA7C */ cpu->r[29] = cpu->r[3];
|
|
/* 0280BA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280BA80 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BA80 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0280BA80 */ if (_t31) goto L_0280BAF4; else goto L_0280BA84;
|
|
L_0280BA84: ; // 0x280ba84
|
|
/* 0280BA84 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280BA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BA88 */ cpu->r[28] = 0x10110000u;
|
|
/* 0280BA8C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BA8C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0280BA8C */ if (_t33) goto L_0280BA90; else goto L_0280BABC;
|
|
L_0280BA90: ; // 0x280ba90
|
|
/* 0280BA90 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280BA94 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280BA98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BA9C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BA9C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0280BA9C */ if (_t35) goto L_0280BAA0; else goto L_0280BABC;
|
|
L_0280BAA0: ; // 0x280baa0
|
|
/* 0280BAA0 */ cpu->r[7] = 0x10110000u;
|
|
/* 0280BAA4 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 0280BAA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0280BAA8 */ cpu->r[7] = cpu->r[7] + 0x00002854u;
|
|
/* 0280BAAC */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 0280BAAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0280BAB0 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 0280BAB0 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 0280BAB4 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 0280BAB4 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 0280BAB8 */ goto L_0280BAF4;
|
|
L_0280BABC: ; // 0x280babc
|
|
/* 0280BABC */ cpu->r[5] = 0x10110000u;
|
|
/* 0280BAC0 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0280BAC4 */ cpu->r[5] = cpu->r[5] + 0x000027A4u;
|
|
/* 0280BAC8 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BAC8 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 0280BACC */ cpu->r[6] = 0x00000080u;
|
|
/* 0280BAD0 */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 0280BAD0 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 0280BAD4 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 0280BAD4 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 0280BAD8 */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 0280BAD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 0280BADC */ cpu->r[7] = 0x10110000u;
|
|
/* 0280BAE0 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 0280BAE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0280BAE4 */ cpu->r[7] = cpu->r[7] + 0x00002854u;
|
|
/* 0280BAE8 */ _t45 = cpu->r[29] + 0x0000008Bu;
|
|
/* 0280BAE8 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 0280BAEC */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 0280BAEC */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 0280BAF0 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 0280BAF0 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_0280BAF4: ; // 0x280baf4
|
|
/* 0280BAF4 */ cpu->r[9] = 0x10110000u;
|
|
/* 0280BAF8 */ cpu->r[12] = 0x00000002u;
|
|
/* 0280BAFC */ cpu->r[9] = cpu->r[9] + 0x000028CCu;
|
|
/* 0280BB00 */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 0280BB04 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 0280BB04 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 0280BB08 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 0280BB0C */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BB0C */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 0280BB10 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280BB14 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 0280BB14 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 0280BB18 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280BB1C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0280BB20 */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 0280BB20 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 0280BB24 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280BB28 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BB28 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 0280BB2C */ Gambit_fn_0282A5DC(cpu);
|
|
L_0280BB30: ; // 0x280bb30
|
|
/* 0280BB30 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 0280BB30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0280BB34 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0280BB34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0280BB38 */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0280BB38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0280BB3C */ cpu->r[3] = cpu->r[31];
|
|
/* 0280BB40 */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 0280BB40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0280BB44 */ cpu->lr = cpu->r[0];
|
|
/* 0280BB48 */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 0280BB48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0280BB4C */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 0280BB50 */ return;
|
|
}
|
|
|
|
// fn_0280BB54 @ 0x280bb54
|
|
void Gambit_fn_0280BB54(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_0280BB54: ; // 0x280bb54
|
|
/* 0280BB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BB58 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BB58 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280BB58 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BB58 */ goto L_0280BB5C;
|
|
L_0280BB5C: ; // 0x280bb5c
|
|
/* 0280BB5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280BB5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BB60 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BB60 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280BB60 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BB60 */ goto L_0280BB64;
|
|
L_0280BB64: ; // 0x280bb64
|
|
/* 0280BB64 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280BB68 @ 0x280bb68
|
|
void Gambit_fn_0280BB68(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_0280BB68: ; // 0x280bb68
|
|
/* 0280BB68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BB6C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BB6C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280BB6C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BB6C */ goto L_0280BB70;
|
|
L_0280BB70: ; // 0x280bb70
|
|
/* 0280BB70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280BB70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BB74 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BB74 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280BB74 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BB74 */ goto L_0280BB78;
|
|
L_0280BB78: ; // 0x280bb78
|
|
/* 0280BB78 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280BB7C @ 0x280bb7c
|
|
void Gambit_fn_0280BB7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0280BB7C: ; // 0x280bb7c
|
|
/* 0280BB7C */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0280BB7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280BB80 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BB80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280BB84 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BB84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0280BB88 */ _t3 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BB88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280BB8C */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BB8C */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 0280BB90 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0280BB94 */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BB94 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0280BB98 */ return;
|
|
}
|
|
|
|
// fn_0280BB9C @ 0x280bb9c
|
|
void Gambit_fn_0280BB9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0280BB9C: ; // 0x280bb9c
|
|
/* 0280BB9C */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0280BB9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280BBA0 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BBA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280BBA4 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BBA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0280BBA8 */ _t3 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BBA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280BBAC */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BBAC */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 0280BBB0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0280BBB4 */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BBB4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0280BBB8 */ return;
|
|
}
|
|
|
|
// fn_0280BBBC @ 0x280bbbc
|
|
void Gambit_fn_0280BBBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0280BBBC: ; // 0x280bbbc
|
|
/* 0280BBBC */ _t0 = cpu->r[3] + 0x000000E4u;
|
|
/* 0280BBBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280BBC0 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BBC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280BBC4 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BBC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0280BBC8 */ _t3 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BBC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280BBCC */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BBCC */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 0280BBD0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0280BBD4 */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BBD4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0280BBD8 */ return;
|
|
}
|
|
|
|
// fn_0280BBDC @ 0x280bbdc
|
|
void Gambit_fn_0280BBDC(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_0280BBDC: ; // 0x280bbdc
|
|
/* 0280BBDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BBE0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BBE0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280BBE0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BBE0 */ goto L_0280BBE4;
|
|
L_0280BBE4: ; // 0x280bbe4
|
|
/* 0280BBE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280BBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BBE8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BBE8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280BBE8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BBE8 */ goto L_0280BBEC;
|
|
L_0280BBEC: ; // 0x280bbec
|
|
/* 0280BBEC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280BBF0 @ 0x280bbf0
|
|
void Gambit_fn_0280BBF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0280BBF0: ; // 0x280bbf0
|
|
/* 0280BBF0 */ _t0 = cpu->r[3] + 0x00000028u;
|
|
/* 0280BBF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280BBF4 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BBF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280BBF8 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BBF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0280BBFC */ _t3 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BBFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280BC00 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BC00 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 0280BC04 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0280BC08 */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BC08 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0280BC0C */ return;
|
|
}
|
|
|
|
// fn_0280BC10 @ 0x280bc10
|
|
void Gambit_fn_0280BC10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0280BC10: ; // 0x280bc10
|
|
/* 0280BC10 */ _t0 = cpu->r[3] + 0x00000028u;
|
|
/* 0280BC10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280BC14 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BC14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280BC18 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BC18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0280BC1C */ _t3 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BC1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280BC20 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BC20 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 0280BC24 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0280BC28 */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BC28 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0280BC2C */ return;
|
|
}
|
|
|
|
// fn_0280BC30 @ 0x280bc30
|
|
void Gambit_fn_0280BC30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0280BC30: ; // 0x280bc30
|
|
/* 0280BC30 */ _t0 = cpu->r[3] + 0x00000028u;
|
|
/* 0280BC30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280BC34 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BC34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280BC38 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BC38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0280BC3C */ _t3 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BC3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280BC40 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BC40 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 0280BC44 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0280BC48 */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BC48 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0280BC4C */ return;
|
|
}
|
|
|
|
// fn_0280BC50 @ 0x280bc50
|
|
void Gambit_fn_0280BC50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0280BC50: ; // 0x280bc50
|
|
/* 0280BC50 */ _t0 = cpu->r[3] + 0x000000B8u;
|
|
/* 0280BC50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280BC54 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BC54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280BC58 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BC58 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0280BC5C */ _t3 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BC5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280BC60 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BC60 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 0280BC64 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0280BC68 */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BC68 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0280BC6C */ return;
|
|
}
|
|
|
|
// fn_0280BC70 @ 0x280bc70
|
|
void Gambit_fn_0280BC70(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_0280BC70: ; // 0x280bc70
|
|
/* 0280BC70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BC74 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BC74 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280BC74 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BC74 */ goto L_0280BC78;
|
|
L_0280BC78: ; // 0x280bc78
|
|
/* 0280BC78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280BC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BC7C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BC7C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280BC7C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BC7C */ goto L_0280BC80;
|
|
L_0280BC80: ; // 0x280bc80
|
|
/* 0280BC80 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280BC84 @ 0x280bc84
|
|
void Gambit_fn_0280BC84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0280BC84: ; // 0x280bc84
|
|
/* 0280BC84 */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0280BC84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280BC88 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280BC8C */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BC8C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0280BC90 */ _t3 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BC90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280BC94 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 0280BC94 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 0280BC98 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0280BC9C */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0280BC9C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0280BCA0 */ return;
|
|
}
|
|
|
|
// fn_0280BCA4 @ 0x280bca4
|
|
void Gambit_fn_0280BCA4(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_0280BCA4: ; // 0x280bca4
|
|
/* 0280BCA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BCA8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BCA8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280BCA8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BCA8 */ goto L_0280BCAC;
|
|
L_0280BCAC: ; // 0x280bcac
|
|
/* 0280BCAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280BCAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BCB0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BCB0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280BCB0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BCB0 */ goto L_0280BCB4;
|
|
L_0280BCB4: ; // 0x280bcb4
|
|
/* 0280BCB4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280BCB8 @ 0x280bcb8
|
|
void Gambit_fn_0280BCB8(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_0280BCB8: ; // 0x280bcb8
|
|
/* 0280BCB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BCBC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BCBC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280BCBC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BCBC */ goto L_0280BCC0;
|
|
L_0280BCC0: ; // 0x280bcc0
|
|
/* 0280BCC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280BCC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BCC4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BCC4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280BCC4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BCC4 */ goto L_0280BCC8;
|
|
L_0280BCC8: ; // 0x280bcc8
|
|
/* 0280BCC8 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280BCCC @ 0x280bccc
|
|
void Gambit_fn_0280BCCC(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_0280BCCC: ; // 0x280bccc
|
|
/* 0280BCCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BCD0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BCD0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280BCD0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BCD0 */ goto L_0280BCD4;
|
|
L_0280BCD4: ; // 0x280bcd4
|
|
/* 0280BCD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280BCD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BCD8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BCD8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280BCD8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BCD8 */ goto L_0280BCDC;
|
|
L_0280BCDC: ; // 0x280bcdc
|
|
/* 0280BCDC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280BCE0 @ 0x280bce0
|
|
void Gambit_fn_0280BCE0(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_0280BCE0: ; // 0x280bce0
|
|
/* 0280BCE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BCE4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BCE4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280BCE4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BCE4 */ goto L_0280BCE8;
|
|
L_0280BCE8: ; // 0x280bce8
|
|
/* 0280BCE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280BCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BCEC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BCEC */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280BCEC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BCEC */ goto L_0280BCF0;
|
|
L_0280BCF0: ; // 0x280bcf0
|
|
/* 0280BCF0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280BCF4 @ 0x280bcf4
|
|
void Gambit_fn_0280BCF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0280BCF4: ; // 0x280bcf4
|
|
/* 0280BCF4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BCF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280BCF8 */ _t1 = cpu->r[8] + 0x00000004u;
|
|
/* 0280BCF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280BCFC */ cpu->r[12] = cpu->r[4];
|
|
/* 0280BD00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280BD04 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BD04 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0280BD04 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BD04 */ goto L_0280BD08;
|
|
L_0280BD08: ; // 0x280bd08
|
|
/* 0280BD08 */ _t4 = cpu->r[8] + 0x0000000Au;
|
|
/* 0280BD08 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t4);
|
|
/* 0280BD0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BD10 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BD10 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280BD10 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280BD10 */ goto L_0280BD14;
|
|
L_0280BD14: ; // 0x280bd14
|
|
/* 0280BD14 */ _t7 = cpu->r[8] + 0x00000008u;
|
|
/* 0280BD14 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t7);
|
|
/* 0280BD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BD1C */ cpu->r[3] = cpu->r[9] + cpu->r[11];
|
|
/* 0280BD20 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280BD20 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280BD20 */ if (_t9) goto L_0280BD24; else goto L_0280BD38;
|
|
L_0280BD24: ; // 0x280bd24
|
|
/* 0280BD24 */ _t10 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0280BD24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280BD28 */ cpu->ctr = cpu->r[7];
|
|
/* 0280BD2C */ cpu->r[5] = cpu->r[12] + 0x00000018u;
|
|
/* 0280BD30 */ cpu->r[4] = cpu->r[12] + 0x0000000Cu;
|
|
/* 0280BD34 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0280BD38: ; // 0x280bd38
|
|
/* 0280BD38 */ _t11 = cpu->r[8] + 0x0000000Eu;
|
|
/* 0280BD38 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t11);
|
|
/* 0280BD3C */ _t12 = cpu->r[3] + cpu->r[8];
|
|
/* 0280BD3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280BD40 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0280BD44 */ cpu->r[10] = cpu->r[10] + cpu->r[9];
|
|
/* 0280BD48 */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 0280BD48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280BD4C */ cpu->ctr = cpu->r[7];
|
|
/* 0280BD50 */ cpu->r[5] = cpu->r[12] + 0x00000018u;
|
|
/* 0280BD54 */ cpu->r[4] = cpu->r[12] + 0x0000000Cu;
|
|
/* 0280BD58 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0280BD5C @ 0x280bd5c
|
|
void Gambit_fn_0280BD5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0280BD5C: ; // 0x280bd5c
|
|
/* 0280BD5C */ cpu->r[0] = cpu->lr;
|
|
/* 0280BD60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280BD60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280BD60 */ cpu->r[1] = _t0;
|
|
/* 0280BD64 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BD64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280BD68 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BD68 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280BD6C */ cpu->r[30] = cpu->r[4];
|
|
/* 0280BD70 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280BD74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BD74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_0280BD78: ; // 0x280bd78
|
|
/* 0280BD78 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 0280BD78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280BD7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BD80 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BD80 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280BD80 */ if (_t6) goto L_0280BD8C; else goto L_0280BD84;
|
|
L_0280BD84: ; // 0x280bd84
|
|
/* 0280BD84 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280BD88 */ Gambit_fn_0280BD5C(cpu);
|
|
L_0280BD8C: ; // 0x280bd8c
|
|
/* 0280BD8C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0280BD8C */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280BD90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0280BD94 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BD94 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280BD94 */ if (_t9) goto L_0280BDE8; else goto L_0280BD98;
|
|
L_0280BD98: ; // 0x280bd98
|
|
/* 0280BD98 */ _t10 = cpu->r[30] + 0x0000000Au;
|
|
/* 0280BD98 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 0280BD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BDA0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BDA0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280BDA0 */ if (_t12) goto L_0280BDE8; else goto L_0280BDA4;
|
|
L_0280BDA4: ; // 0x280bda4
|
|
/* 0280BDA4 */ _t13 = cpu->r[30] + 0x00000008u;
|
|
/* 0280BDA4 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t13);
|
|
/* 0280BDA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BDAC */ cpu->r[3] = cpu->r[6] + cpu->r[9];
|
|
/* 0280BDB0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280BDB0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280BDB0 */ if (_t15) goto L_0280BDB4; else goto L_0280BDC8;
|
|
L_0280BDB4: ; // 0x280bdb4
|
|
/* 0280BDB4 */ _t16 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280BDB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280BDB8 */ cpu->ctr = cpu->r[8];
|
|
/* 0280BDBC */ cpu->r[4] = cpu->r[31];
|
|
/* 0280BDC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280BDC4 */ goto L_0280BDE8;
|
|
L_0280BDC8: ; // 0x280bdc8
|
|
/* 0280BDC8 */ _t17 = cpu->r[30] + 0x0000000Eu;
|
|
/* 0280BDC8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t17);
|
|
/* 0280BDCC */ _t18 = cpu->r[3] + cpu->r[10];
|
|
/* 0280BDCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280BDD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0280BDD4 */ cpu->r[7] = cpu->r[12] + cpu->r[0];
|
|
/* 0280BDD8 */ _t19 = cpu->r[7] + 0x00000004u;
|
|
/* 0280BDD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280BDDC */ cpu->ctr = cpu->r[8];
|
|
/* 0280BDE0 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280BDE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0280BDE8: ; // 0x280bde8
|
|
/* 0280BDE8 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 0280BDE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280BDEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280BDF0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BDF0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0280BDF0 */ if (_t22) goto L_0280BDF4; else goto L_0280BD78;
|
|
L_0280BDF4: ; // 0x280bdf4
|
|
/* 0280BDF4 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BDF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280BDF8 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BDF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280BDFC */ cpu->lr = cpu->r[0];
|
|
/* 0280BE00 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BE00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280BE04 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280BE08 */ return;
|
|
}
|
|
|
|
// fn_0280BD60 @ 0x280bd60
|
|
void Gambit_fn_0280BD60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0280BD60: ; // 0x280bd60
|
|
/* 0280BD60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280BD60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280BD60 */ cpu->r[1] = _t0;
|
|
/* 0280BD64 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BD64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280BD68 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BD68 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280BD6C */ cpu->r[30] = cpu->r[4];
|
|
/* 0280BD70 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280BD74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BD74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_0280BD78: ; // 0x280bd78
|
|
/* 0280BD78 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 0280BD78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280BD7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BD80 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BD80 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280BD80 */ if (_t6) goto L_0280BD8C; else goto L_0280BD84;
|
|
L_0280BD84: ; // 0x280bd84
|
|
/* 0280BD84 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280BD88 */ Gambit_fn_0280BD5C(cpu);
|
|
L_0280BD8C: ; // 0x280bd8c
|
|
/* 0280BD8C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0280BD8C */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280BD90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0280BD94 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BD94 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280BD94 */ if (_t9) goto L_0280BDE8; else goto L_0280BD98;
|
|
L_0280BD98: ; // 0x280bd98
|
|
/* 0280BD98 */ _t10 = cpu->r[30] + 0x0000000Au;
|
|
/* 0280BD98 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 0280BD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BDA0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BDA0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280BDA0 */ if (_t12) goto L_0280BDE8; else goto L_0280BDA4;
|
|
L_0280BDA4: ; // 0x280bda4
|
|
/* 0280BDA4 */ _t13 = cpu->r[30] + 0x00000008u;
|
|
/* 0280BDA4 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t13);
|
|
/* 0280BDA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BDAC */ cpu->r[3] = cpu->r[6] + cpu->r[9];
|
|
/* 0280BDB0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280BDB0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280BDB0 */ if (_t15) goto L_0280BDB4; else goto L_0280BDC8;
|
|
L_0280BDB4: ; // 0x280bdb4
|
|
/* 0280BDB4 */ _t16 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280BDB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280BDB8 */ cpu->ctr = cpu->r[8];
|
|
/* 0280BDBC */ cpu->r[4] = cpu->r[31];
|
|
/* 0280BDC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280BDC4 */ goto L_0280BDE8;
|
|
L_0280BDC8: ; // 0x280bdc8
|
|
/* 0280BDC8 */ _t17 = cpu->r[30] + 0x0000000Eu;
|
|
/* 0280BDC8 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t17);
|
|
/* 0280BDCC */ _t18 = cpu->r[3] + cpu->r[10];
|
|
/* 0280BDCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280BDD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0280BDD4 */ cpu->r[7] = cpu->r[12] + cpu->r[0];
|
|
/* 0280BDD8 */ _t19 = cpu->r[7] + 0x00000004u;
|
|
/* 0280BDD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280BDDC */ cpu->ctr = cpu->r[8];
|
|
/* 0280BDE0 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280BDE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0280BDE8: ; // 0x280bde8
|
|
/* 0280BDE8 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 0280BDE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280BDEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280BDF0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BDF0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0280BDF0 */ if (_t22) goto L_0280BDF4; else goto L_0280BD78;
|
|
L_0280BDF4: ; // 0x280bdf4
|
|
/* 0280BDF4 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BDF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280BDF8 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BDF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280BDFC */ cpu->lr = cpu->r[0];
|
|
/* 0280BE00 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BE00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280BE04 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280BE08 */ return;
|
|
}
|
|
|
|
// fn_0280BE0C @ 0x280be0c
|
|
void Gambit_fn_0280BE0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0280BE0C: ; // 0x280be0c
|
|
/* 0280BE0C */ cpu->r[0] = cpu->lr;
|
|
/* 0280BE10 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280BE10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280BE10 */ cpu->r[1] = _t0;
|
|
/* 0280BE14 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BE14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280BE18 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 0280BE18 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280BE1C */ cpu->r[30] = cpu->r[5];
|
|
/* 0280BE20 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280BE20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280BE24 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BE24 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0280BE28 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0280BE28 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280BE2C */ cpu->r[29] = cpu->r[4];
|
|
/* 0280BE30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BE30 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280BE30 */ if (_t6) goto L_0280BE34; else goto L_0280BE44;
|
|
L_0280BE34: ; // 0x280be34
|
|
/* 0280BE34 */ cpu->r[3] = 0x00000010u;
|
|
/* 0280BE38 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280BE3C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280BE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280BE40 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BE40 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280BE40 */ if (_t8) goto L_0280BE98; else goto L_0280BE44;
|
|
L_0280BE44: ; // 0x280be44
|
|
/* 0280BE44 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 0280BE44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280BE48 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BE48 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 0280BE4C */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 0280BE4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280BE50 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280BE50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BE54 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BE54 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 0280BE58 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BE58 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280BE58 */ if (_t14) goto L_0280BE5C; else goto L_0280BE6C;
|
|
L_0280BE5C: ; // 0x280be5c
|
|
/* 0280BE5C */ cpu->r[3] = 0x00000010u;
|
|
/* 0280BE60 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280BE64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BE68 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BE68 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280BE68 */ if (_t16) goto L_0280BE8C; else goto L_0280BE6C;
|
|
L_0280BE6C: ; // 0x280be6c
|
|
/* 0280BE6C */ cpu->r[10] = 0x10110000u;
|
|
/* 0280BE70 */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 0280BE70 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0280BE74 */ cpu->r[10] = cpu->r[10] + 0x00002A64u;
|
|
/* 0280BE78 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BE78 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 0280BE7C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BE7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280BE80 */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 0280BE80 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 0280BE84 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BE84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280BE88 */ _t22 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280BE88 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_0280BE8C: ; // 0x280be8c
|
|
/* 0280BE8C */ cpu->r[0] = 0x10110000u;
|
|
/* 0280BE90 */ cpu->r[0] = cpu->r[0] + 0x00002A7Cu;
|
|
/* 0280BE94 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 0280BE94 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_0280BE98: ; // 0x280be98
|
|
/* 0280BE98 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BE98 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280BE9C */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 0280BE9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280BEA0 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 0280BEA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280BEA4 */ cpu->lr = cpu->r[0];
|
|
/* 0280BEA8 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BEA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280BEAC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280BEB0 */ return;
|
|
}
|
|
|
|
// fn_0280BE10 @ 0x280be10
|
|
void Gambit_fn_0280BE10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0280BE10: ; // 0x280be10
|
|
/* 0280BE10 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280BE10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280BE10 */ cpu->r[1] = _t0;
|
|
/* 0280BE14 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BE14 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280BE18 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 0280BE18 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280BE1C */ cpu->r[30] = cpu->r[5];
|
|
/* 0280BE20 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280BE20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280BE24 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BE24 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0280BE28 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0280BE28 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280BE2C */ cpu->r[29] = cpu->r[4];
|
|
/* 0280BE30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BE30 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280BE30 */ if (_t6) goto L_0280BE34; else goto L_0280BE44;
|
|
L_0280BE34: ; // 0x280be34
|
|
/* 0280BE34 */ cpu->r[3] = 0x00000010u;
|
|
/* 0280BE38 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280BE3C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280BE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280BE40 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BE40 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280BE40 */ if (_t8) goto L_0280BE98; else goto L_0280BE44;
|
|
L_0280BE44: ; // 0x280be44
|
|
/* 0280BE44 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 0280BE44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280BE48 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BE48 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 0280BE4C */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 0280BE4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280BE50 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280BE50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BE54 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BE54 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 0280BE58 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BE58 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280BE58 */ if (_t14) goto L_0280BE5C; else goto L_0280BE6C;
|
|
L_0280BE5C: ; // 0x280be5c
|
|
/* 0280BE5C */ cpu->r[3] = 0x00000010u;
|
|
/* 0280BE60 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280BE64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BE68 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BE68 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280BE68 */ if (_t16) goto L_0280BE8C; else goto L_0280BE6C;
|
|
L_0280BE6C: ; // 0x280be6c
|
|
/* 0280BE6C */ cpu->r[10] = 0x10110000u;
|
|
/* 0280BE70 */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 0280BE70 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0280BE74 */ cpu->r[10] = cpu->r[10] + 0x00002A64u;
|
|
/* 0280BE78 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BE78 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 0280BE7C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BE7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280BE80 */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 0280BE80 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 0280BE84 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BE84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280BE88 */ _t22 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280BE88 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_0280BE8C: ; // 0x280be8c
|
|
/* 0280BE8C */ cpu->r[0] = 0x10110000u;
|
|
/* 0280BE90 */ cpu->r[0] = cpu->r[0] + 0x00002A7Cu;
|
|
/* 0280BE94 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 0280BE94 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_0280BE98: ; // 0x280be98
|
|
/* 0280BE98 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BE98 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280BE9C */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 0280BE9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280BEA0 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 0280BEA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280BEA4 */ cpu->lr = cpu->r[0];
|
|
/* 0280BEA8 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BEA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280BEAC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280BEB0 */ return;
|
|
}
|
|
|
|
// fn_0280BEB4 @ 0x280beb4
|
|
void Gambit_fn_0280BEB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0280BEB4: ; // 0x280beb4
|
|
/* 0280BEB4 */ cpu->r[0] = cpu->lr;
|
|
/* 0280BEB8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280BEB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280BEB8 */ cpu->r[1] = _t0;
|
|
/* 0280BEBC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BEBC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280BEC0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 0280BEC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280BEC4 */ cpu->r[30] = cpu->r[5];
|
|
/* 0280BEC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280BEC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280BECC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BECC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0280BED0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0280BED0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280BED4 */ cpu->r[29] = cpu->r[4];
|
|
/* 0280BED8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BED8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280BED8 */ if (_t6) goto L_0280BEDC; else goto L_0280BEEC;
|
|
L_0280BEDC: ; // 0x280bedc
|
|
/* 0280BEDC */ cpu->r[3] = 0x00000010u;
|
|
/* 0280BEE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280BEE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280BEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280BEE8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BEE8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280BEE8 */ if (_t8) goto L_0280BF40; else goto L_0280BEEC;
|
|
L_0280BEEC: ; // 0x280beec
|
|
/* 0280BEEC */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 0280BEEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280BEF0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BEF0 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 0280BEF4 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 0280BEF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280BEF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280BEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BEFC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BEFC */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 0280BF00 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BF00 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280BF00 */ if (_t14) goto L_0280BF04; else goto L_0280BF14;
|
|
L_0280BF04: ; // 0x280bf04
|
|
/* 0280BF04 */ cpu->r[3] = 0x00000010u;
|
|
/* 0280BF08 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280BF0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BF10 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BF10 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280BF10 */ if (_t16) goto L_0280BF34; else goto L_0280BF14;
|
|
L_0280BF14: ; // 0x280bf14
|
|
/* 0280BF14 */ cpu->r[10] = 0x10110000u;
|
|
/* 0280BF18 */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 0280BF18 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0280BF1C */ cpu->r[10] = cpu->r[10] + 0x00002A34u;
|
|
/* 0280BF20 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BF20 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 0280BF24 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BF24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280BF28 */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 0280BF28 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 0280BF2C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BF2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280BF30 */ _t22 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280BF30 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_0280BF34: ; // 0x280bf34
|
|
/* 0280BF34 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280BF38 */ cpu->r[0] = cpu->r[0] + 0x00002A4Cu;
|
|
/* 0280BF3C */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 0280BF3C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_0280BF40: ; // 0x280bf40
|
|
/* 0280BF40 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BF40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280BF44 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 0280BF44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280BF48 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 0280BF48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280BF4C */ cpu->lr = cpu->r[0];
|
|
/* 0280BF50 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BF50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280BF54 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280BF58 */ return;
|
|
}
|
|
|
|
// fn_0280BEB8 @ 0x280beb8
|
|
void Gambit_fn_0280BEB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0280BEB8: ; // 0x280beb8
|
|
/* 0280BEB8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280BEB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280BEB8 */ cpu->r[1] = _t0;
|
|
/* 0280BEBC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BEBC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280BEC0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 0280BEC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280BEC4 */ cpu->r[30] = cpu->r[5];
|
|
/* 0280BEC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280BEC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280BECC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BECC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0280BED0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0280BED0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280BED4 */ cpu->r[29] = cpu->r[4];
|
|
/* 0280BED8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BED8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280BED8 */ if (_t6) goto L_0280BEDC; else goto L_0280BEEC;
|
|
L_0280BEDC: ; // 0x280bedc
|
|
/* 0280BEDC */ cpu->r[3] = 0x00000010u;
|
|
/* 0280BEE0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280BEE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280BEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280BEE8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BEE8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280BEE8 */ if (_t8) goto L_0280BF40; else goto L_0280BEEC;
|
|
L_0280BEEC: ; // 0x280beec
|
|
/* 0280BEEC */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 0280BEEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280BEF0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BEF0 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 0280BEF4 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 0280BEF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280BEF8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280BEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BEFC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BEFC */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 0280BF00 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BF00 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280BF00 */ if (_t14) goto L_0280BF04; else goto L_0280BF14;
|
|
L_0280BF04: ; // 0x280bf04
|
|
/* 0280BF04 */ cpu->r[3] = 0x00000010u;
|
|
/* 0280BF08 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280BF0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BF10 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BF10 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280BF10 */ if (_t16) goto L_0280BF34; else goto L_0280BF14;
|
|
L_0280BF14: ; // 0x280bf14
|
|
/* 0280BF14 */ cpu->r[10] = 0x10110000u;
|
|
/* 0280BF18 */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 0280BF18 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 0280BF1C */ cpu->r[10] = cpu->r[10] + 0x00002A34u;
|
|
/* 0280BF20 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 0280BF20 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 0280BF24 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BF24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280BF28 */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 0280BF28 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 0280BF2C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BF2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280BF30 */ _t22 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280BF30 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_0280BF34: ; // 0x280bf34
|
|
/* 0280BF34 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280BF38 */ cpu->r[0] = cpu->r[0] + 0x00002A4Cu;
|
|
/* 0280BF3C */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 0280BF3C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_0280BF40: ; // 0x280bf40
|
|
/* 0280BF40 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BF40 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280BF44 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 0280BF44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280BF48 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 0280BF48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280BF4C */ cpu->lr = cpu->r[0];
|
|
/* 0280BF50 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BF50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280BF54 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280BF58 */ return;
|
|
}
|
|
|
|
// fn_0280BF5C @ 0x280bf5c
|
|
void Gambit_fn_0280BF5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0280BF5C: ; // 0x280bf5c
|
|
/* 0280BF5C */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0280BF60 */ goto L_0280C6F8;
|
|
L_0280C6F8: ; // 0x280c6f8
|
|
/* 0280C6F8 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C6FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C6FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C6FC */ cpu->r[1] = _t0;
|
|
/* 0280C700 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C700 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280C704 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C704 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280C708 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280C70C */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C710 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C710 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C714 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C714 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280C714 */ if (_t5) goto L_0280C740; else goto L_0280C718;
|
|
L_0280C718: ; // 0x280c718
|
|
/* 0280C718 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280C71C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C720 */ cpu->r[0] = cpu->r[0] + 0x00002E6Cu;
|
|
/* 0280C724 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280C728 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280C728 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0280C72C */ Gambit_fn_0280C770(cpu);
|
|
/* 0280C730 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280C730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C734 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C734 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C734 */ if (_t8) goto L_0280C740; else goto L_0280C738;
|
|
L_0280C738: ; // 0x280c738
|
|
/* 0280C738 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C73C */ Gambit_fn_02801BB0(cpu);
|
|
L_0280C740: ; // 0x280c740
|
|
/* 0280C740 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C744 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C744 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C748 */ cpu->lr = cpu->r[0];
|
|
/* 0280C74C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C74C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C750 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C754 */ return;
|
|
}
|
|
|
|
// fn_0280BF64 @ 0x280bf64
|
|
void Gambit_fn_0280BF64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_0280BF64: ; // 0x280bf64
|
|
/* 0280BF64 */ cpu->r[0] = cpu->lr;
|
|
/* 0280BF68 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280BF68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280BF68 */ cpu->r[1] = _t0;
|
|
/* 0280BF6C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0280BF6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280BF70 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BF70 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280BF74 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BF74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280BF78 */ _t4 = cpu->r[3] + 0x00000054u;
|
|
/* 0280BF78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280BF7C */ cpu->r[31] = cpu->r[4];
|
|
/* 0280BF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280BF84 */ cpu->r[30] = 0x00000000u;
|
|
/* 0280BF88 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BF88 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280BF88 */ if (_t6) goto L_0280BFF0; else goto L_0280BF8C;
|
|
L_0280BF8C: ; // 0x280bf8c
|
|
/* 0280BF8C */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 0280BF8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280BF90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280BF94 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BF94 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280BF94 */ if (_t9) goto L_0280BF98; else goto L_0280BFA4;
|
|
L_0280BF98: ; // 0x280bf98
|
|
/* 0280BF98 */ _t10 = cpu->r[31] + 0x00000010u;
|
|
/* 0280BF98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280BF9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BFA0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BFA0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280BFA0 */ if (_t12) goto L_0280BFC4; else goto L_0280BFA4;
|
|
L_0280BFA4: ; // 0x280bfa4
|
|
/* 0280BFA4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280BFA8 */ Gambit_fn_0280DBFC(cpu);
|
|
/* 0280BFAC */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BFAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280BFB0 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 0280BFB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280BFB4 */ cpu->lr = cpu->r[0];
|
|
/* 0280BFB8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BFB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280BFBC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280BFC0 */ return;
|
|
L_0280BFC4: ; // 0x280bfc4
|
|
/* 0280BFC4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BFC4 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 0280BFC8 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BFC8 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 0280BFCC */ _t18 = cpu->r[12] + 0x00000000u;
|
|
/* 0280BFCC */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280BFD0 */ _t19 = cpu->r[8] + 0x00000034u;
|
|
/* 0280BFD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280BFD4 */ cpu->ctr = cpu->r[0];
|
|
/* 0280BFD8 */ cpu->r[3] = cpu->r[12];
|
|
/* 0280BFDC */ cpu->r[4] = cpu->r[31];
|
|
/* 0280BFE0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0280BFE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280BFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BFEC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BFEC */ _t21 = _t20 & 0x00000001u;
|
|
/* 0280BFEC */ if (_t21) goto L_0280BFF0; else goto L_0280C00C;
|
|
L_0280BFF0: ; // 0x280bff0
|
|
/* 0280BFF0 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280BFF4 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0280BFF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280BFF8 */ cpu->lr = cpu->r[0];
|
|
/* 0280BFFC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BFFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280C000 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C004 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C008 */ return;
|
|
L_0280C00C: ; // 0x280c00c
|
|
/* 0280C00C */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C00C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280C010 */ _t26 = cpu->r[31] + 0x00000028u;
|
|
/* 0280C010 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
|
|
/* 0280C014 */ _t27 = cpu->r[31] + 0x00000024u;
|
|
/* 0280C014 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 0280C018 */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 0280C018 */ rbrew_write32(cpu->mem, _t28, cpu->r[10]);
|
|
/* 0280C01C */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C01C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0280C020 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C020 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0280C024 */ cpu->lr = cpu->r[0];
|
|
/* 0280C028 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C028 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0280C02C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C030 */ return;
|
|
}
|
|
|
|
// fn_0280BF68 @ 0x280bf68
|
|
void Gambit_fn_0280BF68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_0280BF68: ; // 0x280bf68
|
|
/* 0280BF68 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280BF68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280BF68 */ cpu->r[1] = _t0;
|
|
/* 0280BF6C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0280BF6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280BF70 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BF70 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280BF74 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BF74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280BF78 */ _t4 = cpu->r[3] + 0x00000054u;
|
|
/* 0280BF78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280BF7C */ cpu->r[31] = cpu->r[4];
|
|
/* 0280BF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280BF84 */ cpu->r[30] = 0x00000000u;
|
|
/* 0280BF88 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BF88 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280BF88 */ if (_t6) goto L_0280BFF0; else goto L_0280BF8C;
|
|
L_0280BF8C: ; // 0x280bf8c
|
|
/* 0280BF8C */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 0280BF8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280BF90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280BF94 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BF94 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280BF94 */ if (_t9) goto L_0280BF98; else goto L_0280BFA4;
|
|
L_0280BF98: ; // 0x280bf98
|
|
/* 0280BF98 */ _t10 = cpu->r[31] + 0x00000010u;
|
|
/* 0280BF98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280BF9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280BFA0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BFA0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280BFA0 */ if (_t12) goto L_0280BFC4; else goto L_0280BFA4;
|
|
L_0280BFA4: ; // 0x280bfa4
|
|
/* 0280BFA4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280BFA8 */ Gambit_fn_0280DBFC(cpu);
|
|
/* 0280BFAC */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BFAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280BFB0 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 0280BFB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280BFB4 */ cpu->lr = cpu->r[0];
|
|
/* 0280BFB8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BFB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280BFBC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280BFC0 */ return;
|
|
L_0280BFC4: ; // 0x280bfc4
|
|
/* 0280BFC4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280BFC4 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 0280BFC8 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280BFC8 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 0280BFCC */ _t18 = cpu->r[12] + 0x00000000u;
|
|
/* 0280BFCC */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280BFD0 */ _t19 = cpu->r[8] + 0x00000034u;
|
|
/* 0280BFD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280BFD4 */ cpu->ctr = cpu->r[0];
|
|
/* 0280BFD8 */ cpu->r[3] = cpu->r[12];
|
|
/* 0280BFDC */ cpu->r[4] = cpu->r[31];
|
|
/* 0280BFE0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0280BFE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280BFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280BFEC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280BFEC */ _t21 = _t20 & 0x00000001u;
|
|
/* 0280BFEC */ if (_t21) goto L_0280BFF0; else goto L_0280C00C;
|
|
L_0280BFF0: ; // 0x280bff0
|
|
/* 0280BFF0 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280BFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280BFF4 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0280BFF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280BFF8 */ cpu->lr = cpu->r[0];
|
|
/* 0280BFFC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0280BFFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280C000 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C004 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C008 */ return;
|
|
L_0280C00C: ; // 0x280c00c
|
|
/* 0280C00C */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C00C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280C010 */ _t26 = cpu->r[31] + 0x00000028u;
|
|
/* 0280C010 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
|
|
/* 0280C014 */ _t27 = cpu->r[31] + 0x00000024u;
|
|
/* 0280C014 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 0280C018 */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 0280C018 */ rbrew_write32(cpu->mem, _t28, cpu->r[10]);
|
|
/* 0280C01C */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C01C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0280C020 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C020 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0280C024 */ cpu->lr = cpu->r[0];
|
|
/* 0280C028 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C028 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0280C02C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C030 */ return;
|
|
}
|
|
|
|
// fn_0280C034 @ 0x280c034
|
|
void Gambit_fn_0280C034(CPUState* cpu) {
|
|
L_0280C034: ; // 0x280c034
|
|
/* 0280C034 */ goto L_0280DE18;
|
|
L_0280DE18: ; // 0x280de18
|
|
/* 0280DE18 */ cpu->r[3] = cpu->r[4] + 0x00000008u;
|
|
/* 0280DE1C */ return;
|
|
}
|
|
|
|
// fn_0280C038 @ 0x280c038
|
|
void Gambit_fn_0280C038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_0280C038: ; // 0x280c038
|
|
/* 0280C038 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C03C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280C03C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C03C */ cpu->r[1] = _t0;
|
|
/* 0280C040 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C040 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280C044 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C044 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280C048 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280C048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280C04C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280C050 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C050 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0280C054 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C054 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280C058 */ cpu->r[29] = cpu->r[5];
|
|
/* 0280C05C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C05C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C05C */ if (_t6) goto L_0280C0C0; else goto L_0280C060;
|
|
L_0280C060: ; // 0x280c060
|
|
/* 0280C060 */ _t7 = cpu->r[31] + 0x00000054u;
|
|
/* 0280C060 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280C064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0280C068 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C068 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280C068 */ if (_t9) goto L_0280C0C0; else goto L_0280C06C;
|
|
L_0280C06C: ; // 0x280c06c
|
|
/* 0280C06C */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 0280C06C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C070 */ _t11 = cpu->r[9] + 0x00000014u;
|
|
/* 0280C070 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C074 */ cpu->ctr = cpu->r[10];
|
|
/* 0280C078 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280C07C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C080 */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 0280C080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280C084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C088 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C088 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280C088 */ if (_t14) goto L_0280C0C0; else goto L_0280C08C;
|
|
L_0280C08C: ; // 0x280c08c
|
|
/* 0280C08C */ cpu->r[3] = cpu->r[31];
|
|
/* 0280C090 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280C094 */ Gambit_fn_0280C034(cpu);
|
|
/* 0280C098 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C09C */ _t15 = cpu->r[31] + 0x00000054u;
|
|
/* 0280C09C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C0A0 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0280C0A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C0A4 */ _t17 = cpu->r[12] + 0x00000034u;
|
|
/* 0280C0A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C0A8 */ cpu->ctr = cpu->r[6];
|
|
/* 0280C0AC */ cpu->r[5] = cpu->r[30] + 0x00000004u;
|
|
/* 0280C0B0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280C0B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C0B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C0BC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C0BC */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280C0BC */ if (_t19) goto L_0280C0C0; else goto L_0280C0E0;
|
|
L_0280C0C0: ; // 0x280c0c0
|
|
/* 0280C0C0 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C0C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C0C4 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C0C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C0C8 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C0C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C0CC */ cpu->lr = cpu->r[0];
|
|
/* 0280C0D0 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C0D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280C0D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C0D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C0DC */ return;
|
|
L_0280C0E0: ; // 0x280c0e0
|
|
/* 0280C0E0 */ _t24 = cpu->r[30] + 0x00000000u;
|
|
/* 0280C0E0 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 0280C0E4 */ cpu->r[7] = 0x00000000u;
|
|
/* 0280C0E8 */ _t25 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280C0E8 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 0280C0EC */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C0EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280C0F0 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C0F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280C0F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280C0F8 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C0F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280C0FC */ cpu->lr = cpu->r[0];
|
|
/* 0280C100 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0280C104 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C108 */ return;
|
|
}
|
|
|
|
// fn_0280C03C @ 0x280c03c
|
|
void Gambit_fn_0280C03C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_0280C03C: ; // 0x280c03c
|
|
/* 0280C03C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280C03C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C03C */ cpu->r[1] = _t0;
|
|
/* 0280C040 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C040 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280C044 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C044 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280C048 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280C048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280C04C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280C050 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C050 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0280C054 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C054 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280C058 */ cpu->r[29] = cpu->r[5];
|
|
/* 0280C05C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C05C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C05C */ if (_t6) goto L_0280C0C0; else goto L_0280C060;
|
|
L_0280C060: ; // 0x280c060
|
|
/* 0280C060 */ _t7 = cpu->r[31] + 0x00000054u;
|
|
/* 0280C060 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280C064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0280C068 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C068 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280C068 */ if (_t9) goto L_0280C0C0; else goto L_0280C06C;
|
|
L_0280C06C: ; // 0x280c06c
|
|
/* 0280C06C */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 0280C06C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C070 */ _t11 = cpu->r[9] + 0x00000014u;
|
|
/* 0280C070 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C074 */ cpu->ctr = cpu->r[10];
|
|
/* 0280C078 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280C07C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C080 */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 0280C080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280C084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C088 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C088 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280C088 */ if (_t14) goto L_0280C0C0; else goto L_0280C08C;
|
|
L_0280C08C: ; // 0x280c08c
|
|
/* 0280C08C */ cpu->r[3] = cpu->r[31];
|
|
/* 0280C090 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280C094 */ Gambit_fn_0280C034(cpu);
|
|
/* 0280C098 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C09C */ _t15 = cpu->r[31] + 0x00000054u;
|
|
/* 0280C09C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C0A0 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0280C0A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C0A4 */ _t17 = cpu->r[12] + 0x00000034u;
|
|
/* 0280C0A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C0A8 */ cpu->ctr = cpu->r[6];
|
|
/* 0280C0AC */ cpu->r[5] = cpu->r[30] + 0x00000004u;
|
|
/* 0280C0B0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280C0B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C0B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C0BC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C0BC */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280C0BC */ if (_t19) goto L_0280C0C0; else goto L_0280C0E0;
|
|
L_0280C0C0: ; // 0x280c0c0
|
|
/* 0280C0C0 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C0C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C0C4 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C0C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C0C8 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C0C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C0CC */ cpu->lr = cpu->r[0];
|
|
/* 0280C0D0 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C0D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280C0D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C0D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C0DC */ return;
|
|
L_0280C0E0: ; // 0x280c0e0
|
|
/* 0280C0E0 */ _t24 = cpu->r[30] + 0x00000000u;
|
|
/* 0280C0E0 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 0280C0E4 */ cpu->r[7] = 0x00000000u;
|
|
/* 0280C0E8 */ _t25 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280C0E8 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 0280C0EC */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C0EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280C0F0 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C0F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280C0F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280C0F8 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C0F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280C0FC */ cpu->lr = cpu->r[0];
|
|
/* 0280C100 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0280C104 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C108 */ return;
|
|
}
|
|
|
|
// fn_0280C10C @ 0x280c10c
|
|
void Gambit_fn_0280C10C(CPUState* 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_0280C10C: ; // 0x280c10c
|
|
/* 0280C10C */ cpu->r[0] = cpu->lr;
|
|
/* 0280C110 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280C110 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C110 */ cpu->r[1] = _t0;
|
|
/* 0280C114 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C114 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0280C118 */ cpu->r[28] = cpu->r[4];
|
|
/* 0280C11C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C11C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C120 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C120 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0280C124 */ cpu->r[31] = cpu->r[7];
|
|
/* 0280C128 */ cpu->r[4] = cpu->r[5];
|
|
/* 0280C12C */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C12C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0280C130 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C130 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280C134 */ cpu->r[29] = cpu->r[6];
|
|
/* 0280C138 */ Gambit_fn_0280C034(cpu);
|
|
/* 0280C13C */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C140 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280C140 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280C144 */ _t7 = cpu->r[30] + 0x00000008u;
|
|
/* 0280C144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280C148 */ cpu->r[9] = cpu->r[31] + cpu->r[11];
|
|
/* 0280C14C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 0280C150 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 0280C150 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C154 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280C154 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280C154 */ if (_t10) goto L_0280C158; else goto L_0280C15C;
|
|
L_0280C158: ; // 0x280c158
|
|
/* 0280C158 */ cpu->r[31] = cpu->r[0] - cpu->r[11];
|
|
L_0280C15C: ; // 0x280c15c
|
|
/* 0280C15C */ cpu->r[4] = cpu->r[10] + cpu->r[11];
|
|
/* 0280C160 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280C164 */ cpu->r[5] = cpu->r[31];
|
|
/* 0280C168 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280C16C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280C170 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280C170 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C174 */ cpu->r[12] = cpu->r[12] + cpu->r[31];
|
|
/* 0280C178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0280C17C */ _t12 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280C17C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0280C180 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C180 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280C180 */ if (_t14) goto L_0280C188; else goto L_0280C184;
|
|
L_0280C184: ; // 0x280c184
|
|
/* 0280C184 */ _t15 = cpu->r[28] + 0x00000000u;
|
|
/* 0280C184 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
L_0280C188: ; // 0x280c188
|
|
/* 0280C188 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C188 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C18C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C18C */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C190 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280C194 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C194 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280C198 */ cpu->lr = cpu->r[0];
|
|
/* 0280C19C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C19C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C1A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C1A4 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C1A8 */ return;
|
|
}
|
|
|
|
// fn_0280C110 @ 0x280c110
|
|
void Gambit_fn_0280C110(CPUState* 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_0280C110: ; // 0x280c110
|
|
/* 0280C110 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280C110 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C110 */ cpu->r[1] = _t0;
|
|
/* 0280C114 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C114 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0280C118 */ cpu->r[28] = cpu->r[4];
|
|
/* 0280C11C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C11C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C120 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C120 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0280C124 */ cpu->r[31] = cpu->r[7];
|
|
/* 0280C128 */ cpu->r[4] = cpu->r[5];
|
|
/* 0280C12C */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C12C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0280C130 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C130 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280C134 */ cpu->r[29] = cpu->r[6];
|
|
/* 0280C138 */ Gambit_fn_0280C034(cpu);
|
|
/* 0280C13C */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C140 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280C140 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280C144 */ _t7 = cpu->r[30] + 0x00000008u;
|
|
/* 0280C144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280C148 */ cpu->r[9] = cpu->r[31] + cpu->r[11];
|
|
/* 0280C14C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 0280C150 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 0280C150 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C154 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280C154 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280C154 */ if (_t10) goto L_0280C158; else goto L_0280C15C;
|
|
L_0280C158: ; // 0x280c158
|
|
/* 0280C158 */ cpu->r[31] = cpu->r[0] - cpu->r[11];
|
|
L_0280C15C: ; // 0x280c15c
|
|
/* 0280C15C */ cpu->r[4] = cpu->r[10] + cpu->r[11];
|
|
/* 0280C160 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280C164 */ cpu->r[5] = cpu->r[31];
|
|
/* 0280C168 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280C16C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280C170 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280C170 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C174 */ cpu->r[12] = cpu->r[12] + cpu->r[31];
|
|
/* 0280C178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0280C17C */ _t12 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280C17C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0280C180 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C180 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280C180 */ if (_t14) goto L_0280C188; else goto L_0280C184;
|
|
L_0280C184: ; // 0x280c184
|
|
/* 0280C184 */ _t15 = cpu->r[28] + 0x00000000u;
|
|
/* 0280C184 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
L_0280C188: ; // 0x280c188
|
|
/* 0280C188 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C188 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C18C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C18C */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C190 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280C194 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C194 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280C198 */ cpu->lr = cpu->r[0];
|
|
/* 0280C19C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C19C */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C1A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C1A4 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C1A8 */ return;
|
|
}
|
|
|
|
// fn_0280C1AC @ 0x280c1ac
|
|
void Gambit_fn_0280C1AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_0280C1AC: ; // 0x280c1ac
|
|
/* 0280C1AC */ cpu->r[0] = cpu->lr;
|
|
/* 0280C1B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C1B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C1B0 */ cpu->r[1] = _t0;
|
|
/* 0280C1B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C1B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C1B8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C1B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C1BC */ cpu->r[31] = cpu->r[6];
|
|
/* 0280C1C0 */ cpu->r[30] = cpu->r[5];
|
|
/* 0280C1C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C1C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C1C8 */ Gambit_fn_0280C034(cpu);
|
|
/* 0280C1CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u);
|
|
/* 0280C1D0 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280C1D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280C1D4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280C1D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C1D4 */ if (_t6) goto L_0280C200; else goto L_0280C1D8;
|
|
L_0280C1D8: ; // 0x280c1d8
|
|
/* 0280C1D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C1D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C1D8 */ if (_t8) goto L_0280C230; else goto L_0280C1DC;
|
|
L_0280C1DC: ; // 0x280c1dc
|
|
/* 0280C1DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000002u);
|
|
/* 0280C1E0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C1E0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280C1E0 */ if (_t10) goto L_0280C244; else goto L_0280C1E4;
|
|
L_0280C1E4: ; // 0x280c1e4
|
|
/* 0280C1E4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C1E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C1E8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C1E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280C1EC */ cpu->lr = cpu->r[0];
|
|
/* 0280C1F0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C1F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C1F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C1F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C1FC */ return;
|
|
L_0280C200: ; // 0x280c200
|
|
/* 0280C200 */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 0280C200 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C204 */ cpu->r[12] = cpu->r[30];
|
|
/* 0280C208 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0280C20C */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280C20C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280C20C */ if (_t16) goto L_0280C254; else goto L_0280C210;
|
|
L_0280C210: ; // 0x280c210
|
|
/* 0280C210 */ _t17 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280C210 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 0280C214 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280C218 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C218 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280C21C */ cpu->lr = cpu->r[0];
|
|
/* 0280C220 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C220 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C224 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C228 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C22C */ return;
|
|
L_0280C230: ; // 0x280c230
|
|
/* 0280C230 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 0280C230 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C234 */ cpu->r[12] = cpu->r[12] + cpu->r[30];
|
|
/* 0280C238 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0280C23C */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280C23C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0280C23C */ if (_t23) goto L_0280C240; else goto L_0280C210;
|
|
L_0280C240: ; // 0x280c240
|
|
/* 0280C240 */ goto L_0280C254;
|
|
L_0280C244: ; // 0x280c244
|
|
/* 0280C244 */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 0280C244 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280C248 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 0280C24C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0280C250 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280C250 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0280C250 */ if (_t26) goto L_0280C254; else goto L_0280C210;
|
|
L_0280C254: ; // 0x280c254
|
|
/* 0280C254 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280C258 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C258 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280C25C */ cpu->lr = cpu->r[0];
|
|
/* 0280C260 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C260 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0280C264 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C268 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C26C */ return;
|
|
}
|
|
|
|
// fn_0280C1B0 @ 0x280c1b0
|
|
void Gambit_fn_0280C1B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_0280C1B0: ; // 0x280c1b0
|
|
/* 0280C1B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C1B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C1B0 */ cpu->r[1] = _t0;
|
|
/* 0280C1B4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C1B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C1B8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C1B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C1BC */ cpu->r[31] = cpu->r[6];
|
|
/* 0280C1C0 */ cpu->r[30] = cpu->r[5];
|
|
/* 0280C1C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C1C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C1C8 */ Gambit_fn_0280C034(cpu);
|
|
/* 0280C1CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u);
|
|
/* 0280C1D0 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280C1D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280C1D4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280C1D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C1D4 */ if (_t6) goto L_0280C200; else goto L_0280C1D8;
|
|
L_0280C1D8: ; // 0x280c1d8
|
|
/* 0280C1D8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C1D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C1D8 */ if (_t8) goto L_0280C230; else goto L_0280C1DC;
|
|
L_0280C1DC: ; // 0x280c1dc
|
|
/* 0280C1DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000002u);
|
|
/* 0280C1E0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C1E0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280C1E0 */ if (_t10) goto L_0280C244; else goto L_0280C1E4;
|
|
L_0280C1E4: ; // 0x280c1e4
|
|
/* 0280C1E4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C1E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C1E8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C1E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280C1EC */ cpu->lr = cpu->r[0];
|
|
/* 0280C1F0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C1F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C1F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C1F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C1FC */ return;
|
|
L_0280C200: ; // 0x280c200
|
|
/* 0280C200 */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 0280C200 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C204 */ cpu->r[12] = cpu->r[30];
|
|
/* 0280C208 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0280C20C */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280C20C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280C20C */ if (_t16) goto L_0280C254; else goto L_0280C210;
|
|
L_0280C210: ; // 0x280c210
|
|
/* 0280C210 */ _t17 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280C210 */ rbrew_write32(cpu->mem, _t17, cpu->r[12]);
|
|
/* 0280C214 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280C218 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C218 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280C21C */ cpu->lr = cpu->r[0];
|
|
/* 0280C220 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C220 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C224 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C228 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C22C */ return;
|
|
L_0280C230: ; // 0x280c230
|
|
/* 0280C230 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 0280C230 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C234 */ cpu->r[12] = cpu->r[12] + cpu->r[30];
|
|
/* 0280C238 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0280C23C */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280C23C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0280C23C */ if (_t23) goto L_0280C240; else goto L_0280C210;
|
|
L_0280C240: ; // 0x280c240
|
|
/* 0280C240 */ goto L_0280C254;
|
|
L_0280C244: ; // 0x280c244
|
|
/* 0280C244 */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 0280C244 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280C248 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 0280C24C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0280C250 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280C250 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0280C250 */ if (_t26) goto L_0280C254; else goto L_0280C210;
|
|
L_0280C254: ; // 0x280c254
|
|
/* 0280C254 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280C258 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C258 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280C25C */ cpu->lr = cpu->r[0];
|
|
/* 0280C260 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C260 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0280C264 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C268 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C26C */ return;
|
|
}
|
|
|
|
// fn_0280C270 @ 0x280c270
|
|
void Gambit_fn_0280C270(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0280C270: ; // 0x280c270
|
|
/* 0280C270 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C274 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C274 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C274 */ cpu->r[1] = _t0;
|
|
/* 0280C278 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C278 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280C27C */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C280 */ cpu->r[4] = cpu->r[5];
|
|
/* 0280C280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280C284 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C284 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0280C288 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C288 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280C288 */ if (_t4) goto L_0280C298; else goto L_0280C28C;
|
|
L_0280C28C: ; // 0x280c28c
|
|
/* 0280C28C */ _t5 = cpu->r[3] + 0x00000054u;
|
|
/* 0280C28C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280C290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280C294 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C294 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280C294 */ if (_t7) goto L_0280C298; else goto L_0280C2B0;
|
|
L_0280C298: ; // 0x280c298
|
|
/* 0280C298 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C29C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C29C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C2A0 */ cpu->lr = cpu->r[0];
|
|
/* 0280C2A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C2A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C2AC */ return;
|
|
L_0280C2B0: ; // 0x280c2b0
|
|
/* 0280C2B0 */ Gambit_fn_0280C034(cpu);
|
|
/* 0280C2B4 */ _t10 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280C2B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C2B8 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0280C2B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0280C2BC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C2BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280C2C0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C2C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C2C4 */ cpu->lr = cpu->r[0];
|
|
/* 0280C2C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C2CC */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C2D0 */ return;
|
|
}
|
|
|
|
// fn_0280C274 @ 0x280c274
|
|
void Gambit_fn_0280C274(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0280C274: ; // 0x280c274
|
|
/* 0280C274 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C274 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C274 */ cpu->r[1] = _t0;
|
|
/* 0280C278 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C278 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280C27C */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C280 */ cpu->r[4] = cpu->r[5];
|
|
/* 0280C280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280C284 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C284 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0280C288 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C288 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280C288 */ if (_t4) goto L_0280C298; else goto L_0280C28C;
|
|
L_0280C28C: ; // 0x280c28c
|
|
/* 0280C28C */ _t5 = cpu->r[3] + 0x00000054u;
|
|
/* 0280C28C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280C290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280C294 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C294 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280C294 */ if (_t7) goto L_0280C298; else goto L_0280C2B0;
|
|
L_0280C298: ; // 0x280c298
|
|
/* 0280C298 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C29C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C29C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C2A0 */ cpu->lr = cpu->r[0];
|
|
/* 0280C2A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C2A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C2AC */ return;
|
|
L_0280C2B0: ; // 0x280c2b0
|
|
/* 0280C2B0 */ Gambit_fn_0280C034(cpu);
|
|
/* 0280C2B4 */ _t10 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280C2B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C2B8 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0280C2B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0280C2BC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C2BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280C2C0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C2C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C2C4 */ cpu->lr = cpu->r[0];
|
|
/* 0280C2C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C2CC */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C2D0 */ return;
|
|
}
|
|
|
|
// fn_0280C2D4 @ 0x280c2d4
|
|
void Gambit_fn_0280C2D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_0280C2D4: ; // 0x280c2d4
|
|
/* 0280C2D4 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C2D8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280C2D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C2D8 */ cpu->r[1] = _t0;
|
|
/* 0280C2DC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0280C2DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C2E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C2E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0280C2E4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C2E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0280C2E8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0280C2E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280C2EC */ cpu->r[29] = cpu->r[3];
|
|
/* 0280C2F0 */ _t5 = cpu->r[29] + 0x00000054u;
|
|
/* 0280C2F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280C2F4 */ cpu->r[31] = cpu->r[5];
|
|
/* 0280C2F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C2FC */ cpu->r[30] = cpu->r[4];
|
|
/* 0280C300 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C300 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280C300 */ if (_t7) goto L_0280C354; else goto L_0280C304;
|
|
L_0280C304: ; // 0x280c304
|
|
/* 0280C304 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0280C304 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C308 */ _t9 = cpu->r[7] + 0x00000014u;
|
|
/* 0280C308 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C30C */ cpu->ctr = cpu->r[8];
|
|
/* 0280C310 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280C314 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C318 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 0280C318 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C31C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280C320 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C320 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280C320 */ if (_t12) goto L_0280C354; else goto L_0280C324;
|
|
L_0280C324: ; // 0x280c324
|
|
/* 0280C324 */ _t13 = cpu->r[29] + 0x00000054u;
|
|
/* 0280C324 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C328 */ cpu->r[10] = 0x00000000u;
|
|
/* 0280C32C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C32C */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 0280C330 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C330 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 0280C334 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0280C334 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C338 */ _t17 = cpu->r[12] + 0x00000034u;
|
|
/* 0280C338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C33C */ cpu->ctr = cpu->r[0];
|
|
/* 0280C340 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0280C344 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C348 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C350 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C350 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280C350 */ if (_t19) goto L_0280C354; else goto L_0280C374;
|
|
L_0280C354: ; // 0x280c354
|
|
/* 0280C354 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C354 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C358 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 0280C358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C35C */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 0280C35C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C360 */ cpu->lr = cpu->r[0];
|
|
/* 0280C364 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C364 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280C368 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280C36C */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C370 */ return;
|
|
L_0280C374: ; // 0x280c374
|
|
/* 0280C374 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C374 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280C378 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 0280C378 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 0280C37C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C37C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280C380 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 0280C380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280C384 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 0280C384 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280C388 */ cpu->lr = cpu->r[0];
|
|
/* 0280C38C */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C38C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0280C390 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280C394 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C398 */ return;
|
|
}
|
|
|
|
// fn_0280C2D8 @ 0x280c2d8
|
|
void Gambit_fn_0280C2D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_0280C2D8: ; // 0x280c2d8
|
|
/* 0280C2D8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280C2D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C2D8 */ cpu->r[1] = _t0;
|
|
/* 0280C2DC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0280C2DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C2E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C2E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0280C2E4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C2E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0280C2E8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0280C2E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280C2EC */ cpu->r[29] = cpu->r[3];
|
|
/* 0280C2F0 */ _t5 = cpu->r[29] + 0x00000054u;
|
|
/* 0280C2F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280C2F4 */ cpu->r[31] = cpu->r[5];
|
|
/* 0280C2F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C2FC */ cpu->r[30] = cpu->r[4];
|
|
/* 0280C300 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C300 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280C300 */ if (_t7) goto L_0280C354; else goto L_0280C304;
|
|
L_0280C304: ; // 0x280c304
|
|
/* 0280C304 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0280C304 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C308 */ _t9 = cpu->r[7] + 0x00000014u;
|
|
/* 0280C308 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C30C */ cpu->ctr = cpu->r[8];
|
|
/* 0280C310 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280C314 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C318 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 0280C318 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C31C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280C320 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C320 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280C320 */ if (_t12) goto L_0280C354; else goto L_0280C324;
|
|
L_0280C324: ; // 0x280c324
|
|
/* 0280C324 */ _t13 = cpu->r[29] + 0x00000054u;
|
|
/* 0280C324 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C328 */ cpu->r[10] = 0x00000000u;
|
|
/* 0280C32C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C32C */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 0280C330 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C330 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 0280C334 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0280C334 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C338 */ _t17 = cpu->r[12] + 0x00000034u;
|
|
/* 0280C338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C33C */ cpu->ctr = cpu->r[0];
|
|
/* 0280C340 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0280C344 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C348 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C350 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C350 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280C350 */ if (_t19) goto L_0280C354; else goto L_0280C374;
|
|
L_0280C354: ; // 0x280c354
|
|
/* 0280C354 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C354 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C358 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 0280C358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C35C */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 0280C35C */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C360 */ cpu->lr = cpu->r[0];
|
|
/* 0280C364 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C364 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280C368 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280C36C */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C370 */ return;
|
|
L_0280C374: ; // 0x280c374
|
|
/* 0280C374 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C374 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280C378 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 0280C378 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 0280C37C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C37C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280C380 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 0280C380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280C384 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 0280C384 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280C388 */ cpu->lr = cpu->r[0];
|
|
/* 0280C38C */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C38C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0280C390 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280C394 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C398 */ return;
|
|
}
|
|
|
|
// fn_0280C39C @ 0x280c39c
|
|
void Gambit_fn_0280C39C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0280C39C: ; // 0x280c39c
|
|
/* 0280C39C */ cpu->r[0] = cpu->lr;
|
|
/* 0280C3A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C3A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C3A0 */ cpu->r[1] = _t0;
|
|
/* 0280C3A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C3A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280C3A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C3AC */ cpu->r[4] = cpu->r[5];
|
|
/* 0280C3AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280C3B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C3B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0280C3B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C3B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280C3B4 */ if (_t4) goto L_0280C3C4; else goto L_0280C3B8;
|
|
L_0280C3B8: ; // 0x280c3b8
|
|
/* 0280C3B8 */ _t5 = cpu->r[3] + 0x00000054u;
|
|
/* 0280C3B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280C3BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280C3C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C3C0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280C3C0 */ if (_t7) goto L_0280C3C4; else goto L_0280C3DC;
|
|
L_0280C3C4: ; // 0x280c3c4
|
|
/* 0280C3C4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C3C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C3C8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C3C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C3CC */ cpu->lr = cpu->r[0];
|
|
/* 0280C3D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C3D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C3D8 */ return;
|
|
L_0280C3DC: ; // 0x280c3dc
|
|
/* 0280C3DC */ Gambit_fn_0280C034(cpu);
|
|
/* 0280C3E0 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 0280C3E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C3E4 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0280C3E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0280C3E8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C3E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280C3EC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C3EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C3F0 */ cpu->lr = cpu->r[0];
|
|
/* 0280C3F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C3F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C3FC */ return;
|
|
}
|
|
|
|
// fn_0280C3A0 @ 0x280c3a0
|
|
void Gambit_fn_0280C3A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0280C3A0: ; // 0x280c3a0
|
|
/* 0280C3A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C3A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C3A0 */ cpu->r[1] = _t0;
|
|
/* 0280C3A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C3A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280C3A8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C3AC */ cpu->r[4] = cpu->r[5];
|
|
/* 0280C3AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280C3B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C3B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0280C3B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C3B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280C3B4 */ if (_t4) goto L_0280C3C4; else goto L_0280C3B8;
|
|
L_0280C3B8: ; // 0x280c3b8
|
|
/* 0280C3B8 */ _t5 = cpu->r[3] + 0x00000054u;
|
|
/* 0280C3B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280C3BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280C3C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C3C0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280C3C0 */ if (_t7) goto L_0280C3C4; else goto L_0280C3DC;
|
|
L_0280C3C4: ; // 0x280c3c4
|
|
/* 0280C3C4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C3C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C3C8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C3C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C3CC */ cpu->lr = cpu->r[0];
|
|
/* 0280C3D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C3D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C3D8 */ return;
|
|
L_0280C3DC: ; // 0x280c3dc
|
|
/* 0280C3DC */ Gambit_fn_0280C034(cpu);
|
|
/* 0280C3E0 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 0280C3E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C3E4 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0280C3E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0280C3E8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C3E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280C3EC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C3EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C3F0 */ cpu->lr = cpu->r[0];
|
|
/* 0280C3F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C3F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C3FC */ return;
|
|
}
|
|
|
|
// fn_0280C400 @ 0x280c400
|
|
void Gambit_fn_0280C400(CPUState* cpu) {
|
|
uint32_t _t0, _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_0280C400: ; // 0x280c400
|
|
/* 0280C400 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C404 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280C404 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C404 */ cpu->r[1] = _t0;
|
|
/* 0280C408 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C408 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C40C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C40C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0280C410 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C410 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0280C414 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C414 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280C418 */ cpu->r[29] = cpu->r[3];
|
|
/* 0280C41C */ _t5 = cpu->r[29] + 0x00000054u;
|
|
/* 0280C41C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280C420 */ cpu->r[31] = cpu->r[5];
|
|
/* 0280C424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0280C428 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280C42C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C42C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280C42C */ if (_t7) goto L_0280C450; else goto L_0280C430;
|
|
L_0280C430: ; // 0x280c430
|
|
/* 0280C430 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0280C430 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C434 */ _t9 = cpu->r[9] + 0x00000014u;
|
|
/* 0280C434 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C438 */ cpu->ctr = cpu->r[10];
|
|
/* 0280C43C */ cpu->r[3] = cpu->r[31];
|
|
/* 0280C440 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C444 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 0280C444 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0280C44C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C44C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280C44C */ if (_t12) goto L_0280C450; else goto L_0280C470;
|
|
L_0280C450: ; // 0x280c450
|
|
/* 0280C450 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C450 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C454 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C458 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C458 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C45C */ cpu->lr = cpu->r[0];
|
|
/* 0280C460 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C460 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C464 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C468 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C46C */ return;
|
|
L_0280C470: ; // 0x280c470
|
|
/* 0280C470 */ _t17 = cpu->r[29] + 0x00000054u;
|
|
/* 0280C470 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C474 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 0280C474 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280C478 */ _t19 = cpu->r[12] + 0x00000034u;
|
|
/* 0280C478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280C47C */ cpu->ctr = cpu->r[0];
|
|
/* 0280C480 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280C484 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C488 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C48C */ cpu->r[7] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 0280C490 */ cpu->r[0] = cpu->r[3] - cpu->r[7];
|
|
/* 0280C494 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 0280C494 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 0280C498 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C498 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C49C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C49C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C4A0 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C4A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280C4A4 */ cpu->lr = cpu->r[0];
|
|
/* 0280C4A8 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C4A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280C4AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C4B0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C4B4 */ return;
|
|
}
|
|
|
|
// fn_0280C404 @ 0x280c404
|
|
void Gambit_fn_0280C404(CPUState* cpu) {
|
|
uint32_t _t0, _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_0280C404: ; // 0x280c404
|
|
/* 0280C404 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280C404 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C404 */ cpu->r[1] = _t0;
|
|
/* 0280C408 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C408 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C40C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C40C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0280C410 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C410 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0280C414 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C414 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280C418 */ cpu->r[29] = cpu->r[3];
|
|
/* 0280C41C */ _t5 = cpu->r[29] + 0x00000054u;
|
|
/* 0280C41C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280C420 */ cpu->r[31] = cpu->r[5];
|
|
/* 0280C424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0280C428 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280C42C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C42C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280C42C */ if (_t7) goto L_0280C450; else goto L_0280C430;
|
|
L_0280C430: ; // 0x280c430
|
|
/* 0280C430 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0280C430 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C434 */ _t9 = cpu->r[9] + 0x00000014u;
|
|
/* 0280C434 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C438 */ cpu->ctr = cpu->r[10];
|
|
/* 0280C43C */ cpu->r[3] = cpu->r[31];
|
|
/* 0280C440 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C444 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 0280C444 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0280C44C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C44C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280C44C */ if (_t12) goto L_0280C450; else goto L_0280C470;
|
|
L_0280C450: ; // 0x280c450
|
|
/* 0280C450 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C450 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C454 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C458 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C458 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C45C */ cpu->lr = cpu->r[0];
|
|
/* 0280C460 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C460 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C464 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C468 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C46C */ return;
|
|
L_0280C470: ; // 0x280c470
|
|
/* 0280C470 */ _t17 = cpu->r[29] + 0x00000054u;
|
|
/* 0280C470 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C474 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 0280C474 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280C478 */ _t19 = cpu->r[12] + 0x00000034u;
|
|
/* 0280C478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280C47C */ cpu->ctr = cpu->r[0];
|
|
/* 0280C480 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280C484 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C488 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C48C */ cpu->r[7] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 0280C490 */ cpu->r[0] = cpu->r[3] - cpu->r[7];
|
|
/* 0280C494 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 0280C494 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 0280C498 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C498 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C49C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C49C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C4A0 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C4A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280C4A4 */ cpu->lr = cpu->r[0];
|
|
/* 0280C4A8 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C4A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280C4AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C4B0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C4B4 */ return;
|
|
}
|
|
|
|
// fn_0280C4B8 @ 0x280c4b8
|
|
void Gambit_fn_0280C4B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0280C4B8: ; // 0x280c4b8
|
|
/* 0280C4B8 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C4BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C4BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C4BC */ cpu->r[1] = _t0;
|
|
/* 0280C4C0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C4C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C4C4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C4C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C4C8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C4C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C4CC */ _t4 = cpu->r[3] + 0x00000054u;
|
|
/* 0280C4CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280C4D0 */ cpu->r[31] = cpu->r[5];
|
|
/* 0280C4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280C4D8 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280C4DC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C4DC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C4DC */ if (_t6) goto L_0280C500; else goto L_0280C4E0;
|
|
L_0280C4E0: ; // 0x280c4e0
|
|
/* 0280C4E0 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 0280C4E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280C4E4 */ _t8 = cpu->r[10] + 0x00000014u;
|
|
/* 0280C4E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C4E8 */ cpu->ctr = cpu->r[11];
|
|
/* 0280C4EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0280C4F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C4F4 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 0280C4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C4FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C4FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0280C4FC */ if (_t11) goto L_0280C500; else goto L_0280C51C;
|
|
L_0280C500: ; // 0x280c500
|
|
/* 0280C500 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280C504 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C504 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C508 */ cpu->lr = cpu->r[0];
|
|
/* 0280C50C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C50C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C510 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C514 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C518 */ return;
|
|
L_0280C51C: ; // 0x280c51c
|
|
/* 0280C51C */ cpu->r[0] = 0x00000000u;
|
|
/* 0280C520 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 0280C520 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 0280C524 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C528 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C528 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C52C */ cpu->lr = cpu->r[0];
|
|
/* 0280C530 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C530 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280C534 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C538 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C53C */ return;
|
|
}
|
|
|
|
// fn_0280C4BC @ 0x280c4bc
|
|
void Gambit_fn_0280C4BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0280C4BC: ; // 0x280c4bc
|
|
/* 0280C4BC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C4BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C4BC */ cpu->r[1] = _t0;
|
|
/* 0280C4C0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C4C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C4C4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C4C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C4C8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C4C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C4CC */ _t4 = cpu->r[3] + 0x00000054u;
|
|
/* 0280C4CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280C4D0 */ cpu->r[31] = cpu->r[5];
|
|
/* 0280C4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280C4D8 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280C4DC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C4DC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C4DC */ if (_t6) goto L_0280C500; else goto L_0280C4E0;
|
|
L_0280C4E0: ; // 0x280c4e0
|
|
/* 0280C4E0 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 0280C4E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280C4E4 */ _t8 = cpu->r[10] + 0x00000014u;
|
|
/* 0280C4E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C4E8 */ cpu->ctr = cpu->r[11];
|
|
/* 0280C4EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0280C4F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C4F4 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 0280C4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C4FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C4FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0280C4FC */ if (_t11) goto L_0280C500; else goto L_0280C51C;
|
|
L_0280C500: ; // 0x280c500
|
|
/* 0280C500 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280C504 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C504 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C508 */ cpu->lr = cpu->r[0];
|
|
/* 0280C50C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C50C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C510 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C514 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C518 */ return;
|
|
L_0280C51C: ; // 0x280c51c
|
|
/* 0280C51C */ cpu->r[0] = 0x00000000u;
|
|
/* 0280C520 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 0280C520 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 0280C524 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C528 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C528 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C52C */ cpu->lr = cpu->r[0];
|
|
/* 0280C530 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C530 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280C534 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C538 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C53C */ return;
|
|
}
|
|
|
|
// fn_0280C540 @ 0x280c540
|
|
void Gambit_fn_0280C540(CPUState* cpu) {
|
|
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_0280C540: ; // 0x280c540
|
|
/* 0280C540 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C544 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280C544 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C544 */ cpu->r[1] = _t0;
|
|
/* 0280C548 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C548 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C54C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C54C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C550 */ cpu->r[31] = cpu->r[5];
|
|
/* 0280C554 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C558 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C558 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0280C55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280C560 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C560 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280C564 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C564 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C564 */ if (_t6) goto L_0280C574; else goto L_0280C568;
|
|
L_0280C568: ; // 0x280c568
|
|
/* 0280C568 */ _t7 = cpu->r[30] + 0x00000054u;
|
|
/* 0280C568 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280C56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280C570 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C570 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280C570 */ if (_t9) goto L_0280C574; else goto L_0280C594;
|
|
L_0280C574: ; // 0x280c574
|
|
/* 0280C574 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C574 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C578 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C57C */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C57C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280C580 */ cpu->lr = cpu->r[0];
|
|
/* 0280C584 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C588 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C58C */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C590 */ return;
|
|
L_0280C594: ; // 0x280c594
|
|
/* 0280C594 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C598 */ Gambit_fn_0280DE18(cpu);
|
|
/* 0280C59C */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 0280C59C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C5A0 */ _t15 = cpu->r[12] + 0x00000054u;
|
|
/* 0280C5A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C5A4 */ cpu->r[4] = cpu->r[3];
|
|
/* 0280C5A8 */ cpu->ctr = cpu->r[0];
|
|
/* 0280C5AC */ cpu->r[3] = cpu->r[29];
|
|
/* 0280C5B0 */ cpu->r[5] = cpu->r[31];
|
|
/* 0280C5B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C5BC */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C5C0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C5C0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280C5C0 */ if (_t17) goto L_0280C5C8; else goto L_0280C5C4;
|
|
L_0280C5C4: ; // 0x280c5c4
|
|
/* 0280C5C4 */ cpu->r[3] = cpu->r[30];
|
|
L_0280C5C8: ; // 0x280c5c8
|
|
/* 0280C5C8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C5C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280C5CC */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C5CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280C5D0 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C5D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C5D4 */ cpu->lr = cpu->r[0];
|
|
/* 0280C5D8 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C5D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C5DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C5E0 */ return;
|
|
}
|
|
|
|
// fn_0280C544 @ 0x280c544
|
|
void Gambit_fn_0280C544(CPUState* cpu) {
|
|
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_0280C544: ; // 0x280c544
|
|
/* 0280C544 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280C544 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C544 */ cpu->r[1] = _t0;
|
|
/* 0280C548 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C548 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C54C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C54C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C550 */ cpu->r[31] = cpu->r[5];
|
|
/* 0280C554 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C558 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C558 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0280C55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280C560 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C560 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280C564 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C564 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C564 */ if (_t6) goto L_0280C574; else goto L_0280C568;
|
|
L_0280C568: ; // 0x280c568
|
|
/* 0280C568 */ _t7 = cpu->r[30] + 0x00000054u;
|
|
/* 0280C568 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280C56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280C570 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C570 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280C570 */ if (_t9) goto L_0280C574; else goto L_0280C594;
|
|
L_0280C574: ; // 0x280c574
|
|
/* 0280C574 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C574 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C578 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C57C */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C57C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280C580 */ cpu->lr = cpu->r[0];
|
|
/* 0280C584 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C588 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C58C */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C590 */ return;
|
|
L_0280C594: ; // 0x280c594
|
|
/* 0280C594 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C598 */ Gambit_fn_0280DE18(cpu);
|
|
/* 0280C59C */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 0280C59C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C5A0 */ _t15 = cpu->r[12] + 0x00000054u;
|
|
/* 0280C5A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C5A4 */ cpu->r[4] = cpu->r[3];
|
|
/* 0280C5A8 */ cpu->ctr = cpu->r[0];
|
|
/* 0280C5AC */ cpu->r[3] = cpu->r[29];
|
|
/* 0280C5B0 */ cpu->r[5] = cpu->r[31];
|
|
/* 0280C5B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C5BC */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C5C0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C5C0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280C5C0 */ if (_t17) goto L_0280C5C8; else goto L_0280C5C4;
|
|
L_0280C5C4: ; // 0x280c5c4
|
|
/* 0280C5C4 */ cpu->r[3] = cpu->r[30];
|
|
L_0280C5C8: ; // 0x280c5c8
|
|
/* 0280C5C8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C5C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280C5CC */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C5CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280C5D0 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C5D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C5D4 */ cpu->lr = cpu->r[0];
|
|
/* 0280C5D8 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C5D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C5DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C5E0 */ return;
|
|
}
|
|
|
|
// fn_0280C5E4 @ 0x280c5e4
|
|
void Gambit_fn_0280C5E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0280C5E4: ; // 0x280c5e4
|
|
/* 0280C5E4 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C5E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C5E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C5E8 */ cpu->r[1] = _t0;
|
|
/* 0280C5EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C5EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280C5F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C5F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0280C5F4 */ _t3 = cpu->r[3] + 0x00000054u;
|
|
/* 0280C5F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280C5F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280C5FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C5FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280C5FC */ if (_t5) goto L_0280C600; else goto L_0280C618;
|
|
L_0280C600: ; // 0x280c600
|
|
/* 0280C600 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280C604 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C604 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280C608 */ cpu->lr = cpu->r[0];
|
|
/* 0280C60C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C610 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C614 */ return;
|
|
L_0280C618: ; // 0x280c618
|
|
/* 0280C618 */ Gambit_fn_0280DE18(cpu);
|
|
/* 0280C61C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0280C61C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C620 */ _t9 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0280C620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C624 */ cpu->r[4] = cpu->r[3];
|
|
/* 0280C628 */ cpu->ctr = cpu->r[0];
|
|
/* 0280C62C */ cpu->r[3] = cpu->r[31];
|
|
/* 0280C630 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C634 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C638 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C63C */ cpu->lr = cpu->r[0];
|
|
/* 0280C640 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C644 */ return;
|
|
}
|
|
|
|
// fn_0280C5E8 @ 0x280c5e8
|
|
void Gambit_fn_0280C5E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0280C5E8: ; // 0x280c5e8
|
|
/* 0280C5E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C5E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C5E8 */ cpu->r[1] = _t0;
|
|
/* 0280C5EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C5EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280C5F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C5F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0280C5F4 */ _t3 = cpu->r[3] + 0x00000054u;
|
|
/* 0280C5F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280C5F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280C5FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C5FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280C5FC */ if (_t5) goto L_0280C600; else goto L_0280C618;
|
|
L_0280C600: ; // 0x280c600
|
|
/* 0280C600 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280C604 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C604 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280C608 */ cpu->lr = cpu->r[0];
|
|
/* 0280C60C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C610 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C614 */ return;
|
|
L_0280C618: ; // 0x280c618
|
|
/* 0280C618 */ Gambit_fn_0280DE18(cpu);
|
|
/* 0280C61C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0280C61C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C620 */ _t9 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0280C620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C624 */ cpu->r[4] = cpu->r[3];
|
|
/* 0280C628 */ cpu->ctr = cpu->r[0];
|
|
/* 0280C62C */ cpu->r[3] = cpu->r[31];
|
|
/* 0280C630 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C634 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C638 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C63C */ cpu->lr = cpu->r[0];
|
|
/* 0280C640 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C644 */ return;
|
|
}
|
|
|
|
// fn_0280C648 @ 0x280c648
|
|
void Gambit_fn_0280C648(CPUState* cpu) {
|
|
uint32_t _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_0280C648: ; // 0x280c648
|
|
/* 0280C648 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C64C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280C64C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C64C */ cpu->r[1] = _t0;
|
|
/* 0280C650 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C650 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0280C654 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C654 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280C658 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C658 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0280C65C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C65C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0280C660 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C660 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280C664 */ cpu->r[29] = cpu->r[4];
|
|
/* 0280C668 */ _t6 = cpu->r[3] + 0x00000054u;
|
|
/* 0280C668 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280C66C */ cpu->r[31] = cpu->r[7];
|
|
/* 0280C670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0280C674 */ cpu->r[30] = cpu->r[6];
|
|
/* 0280C678 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C678 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C678 */ if (_t8) goto L_0280C67C; else goto L_0280C6A0;
|
|
L_0280C67C: ; // 0x280c67c
|
|
/* 0280C67C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C67C */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C680 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C680 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C684 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C688 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C688 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280C68C */ cpu->lr = cpu->r[0];
|
|
/* 0280C690 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C690 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C694 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C698 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C69C */ return;
|
|
L_0280C6A0: ; // 0x280c6a0
|
|
/* 0280C6A0 */ cpu->r[4] = cpu->r[5];
|
|
/* 0280C6A4 */ Gambit_fn_0280DE18(cpu);
|
|
/* 0280C6A8 */ _t14 = cpu->r[28] + 0x00000000u;
|
|
/* 0280C6A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C6AC */ _t15 = cpu->r[12] + 0x00000064u;
|
|
/* 0280C6AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C6B0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0280C6B4 */ cpu->ctr = cpu->r[0];
|
|
/* 0280C6B8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280C6BC */ cpu->r[5] = cpu->r[30];
|
|
/* 0280C6C0 */ cpu->r[6] = cpu->r[31];
|
|
/* 0280C6C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280C6CC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C6CC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280C6CC */ if (_t17) goto L_0280C6D4; else goto L_0280C6D0;
|
|
L_0280C6D0: ; // 0x280c6d0
|
|
/* 0280C6D0 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 0280C6D0 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
L_0280C6D4: ; // 0x280c6d4
|
|
/* 0280C6D4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C6D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280C6D8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C6D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C6DC */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C6DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C6E0 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C6E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C6E4 */ cpu->lr = cpu->r[0];
|
|
/* 0280C6E8 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C6E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280C6EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C6F0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C6F4 */ return;
|
|
}
|
|
|
|
// fn_0280C64C @ 0x280c64c
|
|
void Gambit_fn_0280C64C(CPUState* cpu) {
|
|
uint32_t _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_0280C64C: ; // 0x280c64c
|
|
/* 0280C64C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280C64C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C64C */ cpu->r[1] = _t0;
|
|
/* 0280C650 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C650 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0280C654 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C654 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280C658 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C658 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0280C65C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C65C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0280C660 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C660 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280C664 */ cpu->r[29] = cpu->r[4];
|
|
/* 0280C668 */ _t6 = cpu->r[3] + 0x00000054u;
|
|
/* 0280C668 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280C66C */ cpu->r[31] = cpu->r[7];
|
|
/* 0280C670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0280C674 */ cpu->r[30] = cpu->r[6];
|
|
/* 0280C678 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C678 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C678 */ if (_t8) goto L_0280C67C; else goto L_0280C6A0;
|
|
L_0280C67C: ; // 0x280c67c
|
|
/* 0280C67C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C67C */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C680 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C680 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C684 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C688 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C688 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280C68C */ cpu->lr = cpu->r[0];
|
|
/* 0280C690 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C690 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C694 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C698 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C69C */ return;
|
|
L_0280C6A0: ; // 0x280c6a0
|
|
/* 0280C6A0 */ cpu->r[4] = cpu->r[5];
|
|
/* 0280C6A4 */ Gambit_fn_0280DE18(cpu);
|
|
/* 0280C6A8 */ _t14 = cpu->r[28] + 0x00000000u;
|
|
/* 0280C6A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C6AC */ _t15 = cpu->r[12] + 0x00000064u;
|
|
/* 0280C6AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C6B0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0280C6B4 */ cpu->ctr = cpu->r[0];
|
|
/* 0280C6B8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280C6BC */ cpu->r[5] = cpu->r[30];
|
|
/* 0280C6C0 */ cpu->r[6] = cpu->r[31];
|
|
/* 0280C6C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280C6CC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C6CC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280C6CC */ if (_t17) goto L_0280C6D4; else goto L_0280C6D0;
|
|
L_0280C6D0: ; // 0x280c6d0
|
|
/* 0280C6D0 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 0280C6D0 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
L_0280C6D4: ; // 0x280c6d4
|
|
/* 0280C6D4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C6D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280C6D8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C6D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C6DC */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280C6DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C6E0 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0280C6E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C6E4 */ cpu->lr = cpu->r[0];
|
|
/* 0280C6E8 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C6E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280C6EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280C6F0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C6F4 */ return;
|
|
}
|
|
|
|
// fn_0280C6F8 @ 0x280c6f8
|
|
void Gambit_fn_0280C6F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0280C6F8: ; // 0x280c6f8
|
|
/* 0280C6F8 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C6FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C6FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C6FC */ cpu->r[1] = _t0;
|
|
/* 0280C700 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C700 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280C704 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C704 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280C708 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280C70C */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C710 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C710 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C714 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C714 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280C714 */ if (_t5) goto L_0280C740; else goto L_0280C718;
|
|
L_0280C718: ; // 0x280c718
|
|
/* 0280C718 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280C71C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C720 */ cpu->r[0] = cpu->r[0] + 0x00002E6Cu;
|
|
/* 0280C724 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280C728 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280C728 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0280C72C */ Gambit_fn_0280C770(cpu);
|
|
/* 0280C730 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280C730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C734 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C734 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C734 */ if (_t8) goto L_0280C740; else goto L_0280C738;
|
|
L_0280C738: ; // 0x280c738
|
|
/* 0280C738 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C73C */ Gambit_fn_02801BB0(cpu);
|
|
L_0280C740: ; // 0x280c740
|
|
/* 0280C740 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C744 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C744 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C748 */ cpu->lr = cpu->r[0];
|
|
/* 0280C74C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C74C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C750 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C754 */ return;
|
|
}
|
|
|
|
// fn_0280C6FC @ 0x280c6fc
|
|
void Gambit_fn_0280C6FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0280C6FC: ; // 0x280c6fc
|
|
/* 0280C6FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C6FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C6FC */ cpu->r[1] = _t0;
|
|
/* 0280C700 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C700 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280C704 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C704 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280C708 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280C70C */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C710 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C710 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C714 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C714 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280C714 */ if (_t5) goto L_0280C740; else goto L_0280C718;
|
|
L_0280C718: ; // 0x280c718
|
|
/* 0280C718 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280C71C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C720 */ cpu->r[0] = cpu->r[0] + 0x00002E6Cu;
|
|
/* 0280C724 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280C728 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280C728 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0280C72C */ Gambit_fn_0280C770(cpu);
|
|
/* 0280C730 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280C730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C734 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C734 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C734 */ if (_t8) goto L_0280C740; else goto L_0280C738;
|
|
L_0280C738: ; // 0x280c738
|
|
/* 0280C738 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C73C */ Gambit_fn_02801BB0(cpu);
|
|
L_0280C740: ; // 0x280c740
|
|
/* 0280C740 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C744 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C744 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C748 */ cpu->lr = cpu->r[0];
|
|
/* 0280C74C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C74C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C750 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C754 */ return;
|
|
}
|
|
|
|
// fn_0280C758 @ 0x280c758
|
|
void Gambit_fn_0280C758(CPUState* cpu) {
|
|
L_0280C758: ; // 0x280c758
|
|
/* 0280C758 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280C75C */ return;
|
|
}
|
|
|
|
// fn_0280C760 @ 0x280c760
|
|
void Gambit_fn_0280C760(CPUState* cpu) {
|
|
L_0280C760: ; // 0x280c760
|
|
/* 0280C760 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C764 */ return;
|
|
}
|
|
|
|
// fn_0280C768 @ 0x280c768
|
|
void Gambit_fn_0280C768(CPUState* cpu) {
|
|
L_0280C768: ; // 0x280c768
|
|
/* 0280C768 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C76C */ return;
|
|
}
|
|
|
|
// fn_0280C770 @ 0x280c770
|
|
void Gambit_fn_0280C770(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0280C770: ; // 0x280c770
|
|
/* 0280C770 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C774 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C774 */ cpu->r[1] = _t0;
|
|
/* 0280C778 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C778 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280C77C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C77C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280C780 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280C784 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C788 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C788 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C78C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C78C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280C78C */ if (_t5) goto L_0280C7DC; else goto L_0280C790;
|
|
L_0280C790: ; // 0x280c790
|
|
/* 0280C790 */ cpu->r[11] = 0x10110000u;
|
|
/* 0280C794 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280C798 */ cpu->r[11] = cpu->r[11] + 0x00002F60u;
|
|
/* 0280C79C */ cpu->r[0] = cpu->r[0] + 0x00003048u;
|
|
/* 0280C7A0 */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C7A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0280C7A4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0280C7A8 */ _t7 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280C7A8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0280C7AC */ _t8 = cpu->r[3] + 0xFFFF988Cu;
|
|
/* 0280C7AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C7B4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C7B4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280C7B4 */ if (_t10) goto L_0280C7C0; else goto L_0280C7B8;
|
|
L_0280C7B8: ; // 0x280c7b8
|
|
/* 0280C7B8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280C7BC */ Gambit_fn_0280E764(cpu);
|
|
L_0280C7C0: ; // 0x280c7c0
|
|
/* 0280C7C0 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 0280C7C4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280C7C8 */ Gambit_fn_02821E68(cpu);
|
|
/* 0280C7CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280C7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C7D0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C7D0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280C7D0 */ if (_t12) goto L_0280C7DC; else goto L_0280C7D4;
|
|
L_0280C7D4: ; // 0x280c7d4
|
|
/* 0280C7D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C7D8 */ Gambit_fn_02801BB0(cpu);
|
|
L_0280C7DC: ; // 0x280c7dc
|
|
/* 0280C7DC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C7DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C7E0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C7E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C7E4 */ cpu->lr = cpu->r[0];
|
|
/* 0280C7E8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C7E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C7EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C7F0 */ return;
|
|
}
|
|
|
|
// fn_0280C774 @ 0x280c774
|
|
void Gambit_fn_0280C774(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0280C774: ; // 0x280c774
|
|
/* 0280C774 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C774 */ cpu->r[1] = _t0;
|
|
/* 0280C778 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C778 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280C77C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C77C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280C780 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280C784 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C788 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C788 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C78C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C78C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280C78C */ if (_t5) goto L_0280C7DC; else goto L_0280C790;
|
|
L_0280C790: ; // 0x280c790
|
|
/* 0280C790 */ cpu->r[11] = 0x10110000u;
|
|
/* 0280C794 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280C798 */ cpu->r[11] = cpu->r[11] + 0x00002F60u;
|
|
/* 0280C79C */ cpu->r[0] = cpu->r[0] + 0x00003048u;
|
|
/* 0280C7A0 */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C7A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0280C7A4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0280C7A8 */ _t7 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280C7A8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0280C7AC */ _t8 = cpu->r[3] + 0xFFFF988Cu;
|
|
/* 0280C7AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C7B4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C7B4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280C7B4 */ if (_t10) goto L_0280C7C0; else goto L_0280C7B8;
|
|
L_0280C7B8: ; // 0x280c7b8
|
|
/* 0280C7B8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280C7BC */ Gambit_fn_0280E764(cpu);
|
|
L_0280C7C0: ; // 0x280c7c0
|
|
/* 0280C7C0 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 0280C7C4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280C7C8 */ Gambit_fn_02821E68(cpu);
|
|
/* 0280C7CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280C7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C7D0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C7D0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280C7D0 */ if (_t12) goto L_0280C7DC; else goto L_0280C7D4;
|
|
L_0280C7D4: ; // 0x280c7d4
|
|
/* 0280C7D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C7D8 */ Gambit_fn_02801BB0(cpu);
|
|
L_0280C7DC: ; // 0x280c7dc
|
|
/* 0280C7DC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C7DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C7E0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C7E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C7E4 */ cpu->lr = cpu->r[0];
|
|
/* 0280C7E8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C7E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C7EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C7F0 */ return;
|
|
}
|
|
|
|
// fn_0280C7F4 @ 0x280c7f4
|
|
void Gambit_fn_0280C7F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0280C770: ; // 0x280c770
|
|
/* 0280C770 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C774 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C774 */ cpu->r[1] = _t0;
|
|
/* 0280C778 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C778 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280C77C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C77C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280C780 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280C784 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C788 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C788 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C78C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C78C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280C78C */ if (_t5) goto L_0280C7DC; else goto L_0280C790;
|
|
L_0280C790: ; // 0x280c790
|
|
/* 0280C790 */ cpu->r[11] = 0x10110000u;
|
|
/* 0280C794 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280C798 */ cpu->r[11] = cpu->r[11] + 0x00002F60u;
|
|
/* 0280C79C */ cpu->r[0] = cpu->r[0] + 0x00003048u;
|
|
/* 0280C7A0 */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C7A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0280C7A4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0280C7A8 */ _t7 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280C7A8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0280C7AC */ _t8 = cpu->r[3] + 0xFFFF988Cu;
|
|
/* 0280C7AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280C7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C7B4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C7B4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280C7B4 */ if (_t10) goto L_0280C7C0; else goto L_0280C7B8;
|
|
L_0280C7B8: ; // 0x280c7b8
|
|
/* 0280C7B8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280C7BC */ Gambit_fn_0280E764(cpu);
|
|
L_0280C7C0: ; // 0x280c7c0
|
|
/* 0280C7C0 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 0280C7C4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280C7C8 */ Gambit_fn_02821E68(cpu);
|
|
/* 0280C7CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280C7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C7D0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C7D0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280C7D0 */ if (_t12) goto L_0280C7DC; else goto L_0280C7D4;
|
|
L_0280C7D4: ; // 0x280c7d4
|
|
/* 0280C7D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C7D8 */ Gambit_fn_02801BB0(cpu);
|
|
L_0280C7DC: ; // 0x280c7dc
|
|
/* 0280C7DC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C7DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C7E0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C7E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C7E4 */ cpu->lr = cpu->r[0];
|
|
/* 0280C7E8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C7E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C7EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C7F0 */ return;
|
|
L_0280C7F4: ; // 0x280c7f4
|
|
/* 0280C7F4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0280C7F8 */ goto L_0280C770;
|
|
}
|
|
|
|
// fn_0280C7FC @ 0x280c7fc
|
|
void Gambit_fn_0280C7FC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0280C7FC: ; // 0x280c7fc
|
|
/* 0280C7FC */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 0280C7FC */ rbrew_write32(cpu->mem, _t0, cpu->r[5]);
|
|
/* 0280C800 */ return;
|
|
}
|
|
|
|
// fn_0280C804 @ 0x280c804
|
|
void Gambit_fn_0280C804(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0280C804: ; // 0x280c804
|
|
/* 0280C804 */ _t0 = cpu->r[4] + 0x00000004u;
|
|
/* 0280C804 */ rbrew_write32(cpu->mem, _t0, cpu->r[5]);
|
|
/* 0280C808 */ return;
|
|
}
|
|
|
|
// fn_0280C80C @ 0x280c80c
|
|
void Gambit_fn_0280C80C(CPUState* cpu) {
|
|
uint32_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_0280C80C: ; // 0x280c80c
|
|
/* 0280C80C */ cpu->r[0] = cpu->lr;
|
|
/* 0280C810 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C810 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C810 */ cpu->r[1] = _t0;
|
|
/* 0280C814 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C814 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C818 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C818 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C81C */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C820 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C820 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C824 */ _t4 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0280C824 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0280C828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280C82C */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C830 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C830 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C830 */ if (_t6) goto L_0280C85C; else goto L_0280C834;
|
|
L_0280C834: ; // 0x280c834
|
|
/* 0280C834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280C838 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C838 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C838 */ if (_t8) goto L_0280C85C; else goto L_0280C83C;
|
|
L_0280C83C: ; // 0x280c83c
|
|
/* 0280C83C */ _t9 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C83C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C840 */ _t10 = cpu->r[11] + 0x00000044u;
|
|
/* 0280C840 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C844 */ cpu->ctr = cpu->r[9];
|
|
/* 0280C848 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C84C */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C850 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C858 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C858 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280C858 */ if (_t12) goto L_0280C85C; else goto L_0280C878;
|
|
L_0280C85C: ; // 0x280c85c
|
|
/* 0280C85C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C860 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C864 */ cpu->lr = cpu->r[0];
|
|
/* 0280C868 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C86C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C870 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C874 */ return;
|
|
L_0280C878: ; // 0x280c878
|
|
/* 0280C878 */ _t16 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C878 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C87C */ _t17 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0280C87C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C880 */ cpu->ctr = cpu->r[0];
|
|
/* 0280C884 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C888 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C88C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C890 */ cpu->r[0] = cpu->r[3];
|
|
/* 0280C890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C894 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C894 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280C894 */ if (_t19) goto L_0280C8AC; else goto L_0280C898;
|
|
L_0280C898: ; // 0x280c898
|
|
/* 0280C898 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280C89C */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C8A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C8A4 */ Gambit_fn_0280C7FC(cpu);
|
|
/* 0280C8A8 */ Gambit_fn_0280C804(cpu);
|
|
L_0280C8AC: ; // 0x280c8ac
|
|
/* 0280C8AC */ cpu->r[3] = cpu->r[0];
|
|
/* 0280C8B0 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C8B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C8B4 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C8B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C8B8 */ cpu->lr = cpu->r[0];
|
|
/* 0280C8BC */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C8BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C8C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C8C4 */ return;
|
|
}
|
|
|
|
// fn_0280C810 @ 0x280c810
|
|
void Gambit_fn_0280C810(CPUState* cpu) {
|
|
uint32_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_0280C810: ; // 0x280c810
|
|
/* 0280C810 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C810 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C810 */ cpu->r[1] = _t0;
|
|
/* 0280C814 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C814 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C818 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C818 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C81C */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C820 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C820 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C824 */ _t4 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0280C824 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0280C828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280C82C */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C830 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C830 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C830 */ if (_t6) goto L_0280C85C; else goto L_0280C834;
|
|
L_0280C834: ; // 0x280c834
|
|
/* 0280C834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280C838 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C838 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C838 */ if (_t8) goto L_0280C85C; else goto L_0280C83C;
|
|
L_0280C83C: ; // 0x280c83c
|
|
/* 0280C83C */ _t9 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C83C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C840 */ _t10 = cpu->r[11] + 0x00000044u;
|
|
/* 0280C840 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C844 */ cpu->ctr = cpu->r[9];
|
|
/* 0280C848 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C84C */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C850 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C858 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C858 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280C858 */ if (_t12) goto L_0280C85C; else goto L_0280C878;
|
|
L_0280C85C: ; // 0x280c85c
|
|
/* 0280C85C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C860 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C864 */ cpu->lr = cpu->r[0];
|
|
/* 0280C868 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C86C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C870 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C874 */ return;
|
|
L_0280C878: ; // 0x280c878
|
|
/* 0280C878 */ _t16 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C878 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C87C */ _t17 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0280C87C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C880 */ cpu->ctr = cpu->r[0];
|
|
/* 0280C884 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C888 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C88C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C890 */ cpu->r[0] = cpu->r[3];
|
|
/* 0280C890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C894 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C894 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280C894 */ if (_t19) goto L_0280C8AC; else goto L_0280C898;
|
|
L_0280C898: ; // 0x280c898
|
|
/* 0280C898 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280C89C */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C8A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C8A4 */ Gambit_fn_0280C7FC(cpu);
|
|
/* 0280C8A8 */ Gambit_fn_0280C804(cpu);
|
|
L_0280C8AC: ; // 0x280c8ac
|
|
/* 0280C8AC */ cpu->r[3] = cpu->r[0];
|
|
/* 0280C8B0 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C8B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C8B4 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C8B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C8B8 */ cpu->lr = cpu->r[0];
|
|
/* 0280C8BC */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C8BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C8C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C8C4 */ return;
|
|
}
|
|
|
|
// fn_0280C8C8 @ 0x280c8c8
|
|
void Gambit_fn_0280C8C8(CPUState* cpu) {
|
|
uint32_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_0280C8C8: ; // 0x280c8c8
|
|
/* 0280C8C8 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C8CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C8CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C8CC */ cpu->r[1] = _t0;
|
|
/* 0280C8D0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C8D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C8D4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C8D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C8D8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C8DC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C8DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C8E0 */ _t4 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0280C8E0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0280C8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280C8E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C8EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C8EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C8EC */ if (_t6) goto L_0280C918; else goto L_0280C8F0;
|
|
L_0280C8F0: ; // 0x280c8f0
|
|
/* 0280C8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280C8F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C8F4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C8F4 */ if (_t8) goto L_0280C918; else goto L_0280C8F8;
|
|
L_0280C8F8: ; // 0x280c8f8
|
|
/* 0280C8F8 */ _t9 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C8F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C8FC */ _t10 = cpu->r[11] + 0x00000044u;
|
|
/* 0280C8FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C900 */ cpu->ctr = cpu->r[9];
|
|
/* 0280C904 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C908 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C90C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C914 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C914 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280C914 */ if (_t12) goto L_0280C918; else goto L_0280C934;
|
|
L_0280C918: ; // 0x280c918
|
|
/* 0280C918 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C91C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C91C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C920 */ cpu->lr = cpu->r[0];
|
|
/* 0280C924 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C924 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C928 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C92C */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C930 */ return;
|
|
L_0280C934: ; // 0x280c934
|
|
/* 0280C934 */ _t16 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C934 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C938 */ _t17 = cpu->r[12] + 0x000000BCu;
|
|
/* 0280C938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C93C */ cpu->ctr = cpu->r[0];
|
|
/* 0280C940 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C944 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C948 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C94C */ cpu->r[0] = cpu->r[3];
|
|
/* 0280C94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C950 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C950 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280C950 */ if (_t19) goto L_0280C968; else goto L_0280C954;
|
|
L_0280C954: ; // 0x280c954
|
|
/* 0280C954 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280C958 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C95C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C960 */ Gambit_fn_0280C7FC(cpu);
|
|
/* 0280C964 */ Gambit_fn_0280C804(cpu);
|
|
L_0280C968: ; // 0x280c968
|
|
/* 0280C968 */ cpu->r[3] = cpu->r[0];
|
|
/* 0280C96C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C970 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C970 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C974 */ cpu->lr = cpu->r[0];
|
|
/* 0280C978 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C978 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C97C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C980 */ return;
|
|
}
|
|
|
|
// fn_0280C8CC @ 0x280c8cc
|
|
void Gambit_fn_0280C8CC(CPUState* cpu) {
|
|
uint32_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_0280C8CC: ; // 0x280c8cc
|
|
/* 0280C8CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C8CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C8CC */ cpu->r[1] = _t0;
|
|
/* 0280C8D0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C8D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C8D4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C8D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C8D8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C8DC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C8DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C8E0 */ _t4 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0280C8E0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0280C8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280C8E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C8EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C8EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C8EC */ if (_t6) goto L_0280C918; else goto L_0280C8F0;
|
|
L_0280C8F0: ; // 0x280c8f0
|
|
/* 0280C8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280C8F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C8F4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C8F4 */ if (_t8) goto L_0280C918; else goto L_0280C8F8;
|
|
L_0280C8F8: ; // 0x280c8f8
|
|
/* 0280C8F8 */ _t9 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C8F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C8FC */ _t10 = cpu->r[11] + 0x00000044u;
|
|
/* 0280C8FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C900 */ cpu->ctr = cpu->r[9];
|
|
/* 0280C904 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C908 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C90C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C914 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C914 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280C914 */ if (_t12) goto L_0280C918; else goto L_0280C934;
|
|
L_0280C918: ; // 0x280c918
|
|
/* 0280C918 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C91C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C91C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C920 */ cpu->lr = cpu->r[0];
|
|
/* 0280C924 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C924 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C928 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C92C */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C930 */ return;
|
|
L_0280C934: ; // 0x280c934
|
|
/* 0280C934 */ _t16 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C934 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C938 */ _t17 = cpu->r[12] + 0x000000BCu;
|
|
/* 0280C938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C93C */ cpu->ctr = cpu->r[0];
|
|
/* 0280C940 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C944 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C948 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C94C */ cpu->r[0] = cpu->r[3];
|
|
/* 0280C94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C950 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C950 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280C950 */ if (_t19) goto L_0280C968; else goto L_0280C954;
|
|
L_0280C954: ; // 0x280c954
|
|
/* 0280C954 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280C958 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C95C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C960 */ Gambit_fn_0280C7FC(cpu);
|
|
/* 0280C964 */ Gambit_fn_0280C804(cpu);
|
|
L_0280C968: ; // 0x280c968
|
|
/* 0280C968 */ cpu->r[3] = cpu->r[0];
|
|
/* 0280C96C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C970 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C970 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C974 */ cpu->lr = cpu->r[0];
|
|
/* 0280C978 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C978 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C97C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C980 */ return;
|
|
}
|
|
|
|
// fn_0280C984 @ 0x280c984
|
|
void Gambit_fn_0280C984(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0280C984: ; // 0x280c984
|
|
/* 0280C984 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0280C984 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0280C988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C98C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C98C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0280C98C */ if (_t2) goto L_0280C990; else goto L_0280C998;
|
|
L_0280C990: ; // 0x280c990
|
|
/* 0280C990 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C994 */ return;
|
|
L_0280C998: ; // 0x280c998
|
|
/* 0280C998 */ _t3 = cpu->r[3] + 0x00000050u;
|
|
/* 0280C998 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280C99C */ _t4 = cpu->r[12] + 0x00000054u;
|
|
/* 0280C99C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280C9A0 */ cpu->ctr = cpu->r[0];
|
|
/* 0280C9A4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0280C9A8 @ 0x280c9a8
|
|
void Gambit_fn_0280C9A8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0280C9A8: ; // 0x280c9a8
|
|
/* 0280C9A8 */ _t0 = cpu->r[4] + 0x0000002Cu;
|
|
/* 0280C9A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[5]);
|
|
/* 0280C9AC */ return;
|
|
}
|
|
|
|
// fn_0280C9B0 @ 0x280c9b0
|
|
void Gambit_fn_0280C9B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0280C9B0: ; // 0x280c9b0
|
|
/* 0280C9B0 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C9B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C9B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C9B4 */ cpu->r[1] = _t0;
|
|
/* 0280C9B8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C9B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C9BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C9BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C9C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C9C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C9C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C9C8 */ _t4 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0280C9C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0280C9CC */ cpu->r[12] = cpu->r[5];
|
|
/* 0280C9D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C9D4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C9D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C9D8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C9D8 */ if (_t6) goto L_0280C9E4; else goto L_0280C9DC;
|
|
L_0280C9DC: ; // 0x280c9dc
|
|
/* 0280C9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280C9E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C9E0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C9E0 */ if (_t8) goto L_0280C9E4; else goto L_0280CA00;
|
|
L_0280C9E4: ; // 0x280c9e4
|
|
/* 0280C9E4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C9E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C9E8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C9E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C9EC */ cpu->lr = cpu->r[0];
|
|
/* 0280C9F0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C9F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C9F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C9F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C9FC */ return;
|
|
L_0280CA00: ; // 0x280ca00
|
|
/* 0280CA00 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CA04 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CA08 */ cpu->r[5] = cpu->r[7];
|
|
/* 0280CA0C */ Gambit_fn_0280C9A8(cpu);
|
|
/* 0280CA10 */ _t12 = cpu->r[30] + 0x00000050u;
|
|
/* 0280CA10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280CA14 */ _t13 = cpu->r[11] + 0x00000064u;
|
|
/* 0280CA14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280CA18 */ cpu->ctr = cpu->r[9];
|
|
/* 0280CA1C */ cpu->r[5] = cpu->r[12];
|
|
/* 0280CA20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CA24 */ cpu->r[0] = cpu->r[3];
|
|
/* 0280CA28 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CA2C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CA30 */ cpu->r[5] = cpu->r[0];
|
|
/* 0280CA34 */ Gambit_fn_0280C7FC(cpu);
|
|
/* 0280CA38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CA3C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CA3C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280CA3C */ if (_t15) goto L_0280CA50; else goto L_0280CA40;
|
|
L_0280CA40: ; // 0x280ca40
|
|
/* 0280CA40 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280CA44 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CA48 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CA4C */ Gambit_fn_0280C804(cpu);
|
|
L_0280CA50: ; // 0x280ca50
|
|
/* 0280CA50 */ cpu->r[3] = cpu->r[0];
|
|
/* 0280CA54 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CA54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CA58 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CA58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CA5C */ cpu->lr = cpu->r[0];
|
|
/* 0280CA60 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CA60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CA64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280CA68 */ return;
|
|
}
|
|
|
|
// fn_0280C9B4 @ 0x280c9b4
|
|
void Gambit_fn_0280C9B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0280C9B4: ; // 0x280c9b4
|
|
/* 0280C9B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C9B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C9B4 */ cpu->r[1] = _t0;
|
|
/* 0280C9B8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C9B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C9BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C9BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C9C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C9C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C9C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C9C8 */ _t4 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0280C9C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0280C9CC */ cpu->r[12] = cpu->r[5];
|
|
/* 0280C9D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C9D4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C9D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C9D8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C9D8 */ if (_t6) goto L_0280C9E4; else goto L_0280C9DC;
|
|
L_0280C9DC: ; // 0x280c9dc
|
|
/* 0280C9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280C9E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C9E0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C9E0 */ if (_t8) goto L_0280C9E4; else goto L_0280CA00;
|
|
L_0280C9E4: ; // 0x280c9e4
|
|
/* 0280C9E4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C9E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C9E8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C9E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C9EC */ cpu->lr = cpu->r[0];
|
|
/* 0280C9F0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C9F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C9F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C9F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C9FC */ return;
|
|
L_0280CA00: ; // 0x280ca00
|
|
/* 0280CA00 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CA04 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CA08 */ cpu->r[5] = cpu->r[7];
|
|
/* 0280CA0C */ Gambit_fn_0280C9A8(cpu);
|
|
/* 0280CA10 */ _t12 = cpu->r[30] + 0x00000050u;
|
|
/* 0280CA10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280CA14 */ _t13 = cpu->r[11] + 0x00000064u;
|
|
/* 0280CA14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280CA18 */ cpu->ctr = cpu->r[9];
|
|
/* 0280CA1C */ cpu->r[5] = cpu->r[12];
|
|
/* 0280CA20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CA24 */ cpu->r[0] = cpu->r[3];
|
|
/* 0280CA28 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CA2C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CA30 */ cpu->r[5] = cpu->r[0];
|
|
/* 0280CA34 */ Gambit_fn_0280C7FC(cpu);
|
|
/* 0280CA38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CA3C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CA3C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280CA3C */ if (_t15) goto L_0280CA50; else goto L_0280CA40;
|
|
L_0280CA40: ; // 0x280ca40
|
|
/* 0280CA40 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280CA44 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CA48 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CA4C */ Gambit_fn_0280C804(cpu);
|
|
L_0280CA50: ; // 0x280ca50
|
|
/* 0280CA50 */ cpu->r[3] = cpu->r[0];
|
|
/* 0280CA54 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CA54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CA58 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CA58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CA5C */ cpu->lr = cpu->r[0];
|
|
/* 0280CA60 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CA60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CA64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280CA68 */ return;
|
|
}
|
|
|
|
// fn_0280CA6C @ 0x280ca6c
|
|
void Gambit_fn_0280CA6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_0280CA6C: ; // 0x280ca6c
|
|
/* 0280CA6C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0280CA6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CA6C */ cpu->r[1] = _t0;
|
|
/* 0280CA70 */ /* nop */
|
|
/* 0280CA74 */ cpu->r[0] = cpu->lr;
|
|
/* 0280CA78 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0280CA78 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280CA7C */ cpu->r[29] = cpu->r[6];
|
|
/* 0280CA80 */ cpu->r[26] = cpu->r[3];
|
|
/* 0280CA84 */ _t2 = cpu->r[26] + 0x0000004Cu;
|
|
/* 0280CA84 */ cpu->r[9] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0280CA88 */ cpu->r[27] = cpu->r[4];
|
|
/* 0280CA8C */ cpu->r[28] = cpu->r[5];
|
|
/* 0280CA90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280CA94 */ cpu->r[30] = cpu->r[7];
|
|
/* 0280CA98 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CA98 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280CA98 */ if (_t4) goto L_0280CACC; else goto L_0280CA9C;
|
|
L_0280CA9C: ; // 0x280ca9c
|
|
/* 0280CA9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0280CAA0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CAA0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280CAA0 */ if (_t6) goto L_0280CACC; else goto L_0280CAA4;
|
|
L_0280CAA4: ; // 0x280caa4
|
|
/* 0280CAA4 */ _t7 = cpu->r[26] + 0x00000050u;
|
|
/* 0280CAA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280CAA8 */ _t8 = cpu->r[12] + 0x00000044u;
|
|
/* 0280CAA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280CAAC */ cpu->ctr = cpu->r[0];
|
|
/* 0280CAB0 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280CAB4 */ cpu->r[4] = cpu->r[28];
|
|
/* 0280CAB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CAC0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CAC0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280CAC0 */ if (_t10) goto L_0280CACC; else goto L_0280CAC4;
|
|
L_0280CAC4: ; // 0x280cac4
|
|
/* 0280CAC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280CAC8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CAC8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280CAC8 */ if (_t12) goto L_0280CACC; else goto L_0280CAE4;
|
|
L_0280CACC: ; // 0x280cacc
|
|
/* 0280CACC */ /* nop */
|
|
/* 0280CAD0 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 0280CAD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280CAD4 */ cpu->lr = cpu->r[0];
|
|
/* 0280CAD8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0280CADC */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CAE0 */ return;
|
|
L_0280CAE4: ; // 0x280cae4
|
|
/* 0280CAE4 */ _t14 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0280CAE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280CAE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280CAEC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CAEC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280CAEC */ if (_t16) goto L_0280CAF0; else goto L_0280CB28;
|
|
L_0280CAF0: ; // 0x280caf0
|
|
/* 0280CAF0 */ _t17 = cpu->r[26] + 0x00000050u;
|
|
/* 0280CAF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CAF4 */ _t18 = cpu->r[6] + 0x00000074u;
|
|
/* 0280CAF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CAF8 */ cpu->ctr = cpu->r[8];
|
|
/* 0280CAFC */ cpu->r[5] = cpu->r[28];
|
|
/* 0280CB00 */ cpu->r[6] = cpu->r[29];
|
|
/* 0280CB04 */ cpu->r[7] = cpu->r[30];
|
|
/* 0280CB08 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280CB0C */ cpu->r[4] = cpu->r[27];
|
|
/* 0280CB10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CB14 */ /* nop */
|
|
/* 0280CB18 */ _t19 = cpu->r[1] + 0x00000034u;
|
|
/* 0280CB18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280CB1C */ cpu->lr = cpu->r[0];
|
|
/* 0280CB20 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0280CB24 */ return;
|
|
L_0280CB28: ; // 0x280cb28
|
|
/* 0280CB28 */ cpu->r[25] = 0x00000000u;
|
|
/* 0280CB2C */ cpu->r[24] = cpu->r[25];
|
|
L_0280CB30: ; // 0x280cb30
|
|
/* 0280CB30 */ _t20 = cpu->r[26] + 0x00000050u;
|
|
/* 0280CB30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280CB34 */ cpu->r[5] = cpu->r[28];
|
|
/* 0280CB38 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280CB3C */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CB3C */ rbrew_write32(cpu->mem, _t21, cpu->r[24]);
|
|
/* 0280CB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[31]);
|
|
/* 0280CB44 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280CB44 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0280CB44 */ if (_t23) goto L_0280CB48; else goto L_0280CB4C;
|
|
L_0280CB48: ; // 0x280cb48
|
|
/* 0280CB48 */ cpu->r[31] = cpu->r[30];
|
|
L_0280CB4C: ; // 0x280cb4c
|
|
/* 0280CB4C */ _t24 = cpu->r[10] + 0x00000074u;
|
|
/* 0280CB4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280CB50 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CB54 */ cpu->r[6] = cpu->r[29];
|
|
/* 0280CB58 */ cpu->r[7] = cpu->r[31];
|
|
/* 0280CB5C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280CB60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CB64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CB68 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CB68 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0280CB68 */ if (_t26) goto L_0280CB6C; else goto L_0280CB90;
|
|
L_0280CB6C: ; // 0x280cb6c
|
|
/* 0280CB6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0280CB70 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CB70 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0280CB70 */ if (_t28) goto L_0280CACC; else goto L_0280CB74;
|
|
L_0280CB74: ; // 0x280cb74
|
|
/* 0280CB74 */ _t29 = cpu->r[27] + 0x00000000u;
|
|
/* 0280CB74 */ rbrew_write32(cpu->mem, _t29, cpu->r[25]);
|
|
/* 0280CB78 */ /* nop */
|
|
/* 0280CB7C */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 0280CB7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0280CB80 */ cpu->lr = cpu->r[0];
|
|
/* 0280CB84 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0280CB88 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CB8C */ return;
|
|
L_0280CB90: ; // 0x280cb90
|
|
/* 0280CB90 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CB90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0280CB94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0280CB98 */ cpu->r[25] = cpu->r[25] + cpu->r[5];
|
|
/* 0280CB9C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280CB9C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0280CB9C */ if (_t33) goto L_0280CBB4; else goto L_0280CBA0;
|
|
L_0280CBA0: ; // 0x280cba0
|
|
/* 0280CBA0 */ cpu->r[30] = cpu->r[30] - cpu->r[31];
|
|
/* 0280CBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280CBA4 */ cpu->r[29] = cpu->r[29] + cpu->r[5];
|
|
/* 0280CBA8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CBA8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0280CBA8 */ if (_t35) goto L_0280CBB4; else goto L_0280CBAC;
|
|
L_0280CBAC: ; // 0x280cbac
|
|
/* 0280CBAC */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0280CBAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0280CBB0 */ goto L_0280CB30;
|
|
L_0280CBB4: ; // 0x280cbb4
|
|
/* 0280CBB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0280CBB8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CBB8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0280CBB8 */ if (_t38) goto L_0280CBC0; else goto L_0280CBBC;
|
|
L_0280CBBC: ; // 0x280cbbc
|
|
/* 0280CBBC */ _t39 = cpu->r[27] + 0x00000000u;
|
|
/* 0280CBBC */ rbrew_write32(cpu->mem, _t39, cpu->r[25]);
|
|
L_0280CBC0: ; // 0x280cbc0
|
|
/* 0280CBC0 */ /* nop */
|
|
/* 0280CBC4 */ _t40 = cpu->r[1] + 0x00000034u;
|
|
/* 0280CBC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0280CBC8 */ cpu->lr = cpu->r[0];
|
|
/* 0280CBCC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0280CBD0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280CBD4 */ return;
|
|
}
|
|
|
|
// fn_0280CBD8 @ 0x280cbd8
|
|
void Gambit_fn_0280CBD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0280CBD8: ; // 0x280cbd8
|
|
/* 0280CBD8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280CBD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CBD8 */ cpu->r[1] = _t0;
|
|
/* 0280CBDC */ /* nop */
|
|
/* 0280CBE0 */ cpu->r[0] = cpu->lr;
|
|
/* 0280CBE4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0280CBE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280CBE8 */ cpu->r[29] = cpu->r[4];
|
|
/* 0280CBEC */ cpu->r[28] = cpu->r[3];
|
|
/* 0280CBF0 */ _t2 = cpu->r[28] + 0x0000004Cu;
|
|
/* 0280CBF0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0280CBF4 */ cpu->r[30] = cpu->r[5];
|
|
/* 0280CBF8 */ cpu->r[31] = cpu->r[6];
|
|
/* 0280CBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0280CC00 */ cpu->r[27] = cpu->r[7];
|
|
/* 0280CC04 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CC04 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280CC04 */ if (_t4) goto L_0280CC38; else goto L_0280CC08;
|
|
L_0280CC08: ; // 0x280cc08
|
|
/* 0280CC08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280CC0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CC0C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280CC0C */ if (_t6) goto L_0280CC38; else goto L_0280CC10;
|
|
L_0280CC10: ; // 0x280cc10
|
|
/* 0280CC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280CC14 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CC14 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280CC14 */ if (_t8) goto L_0280CC38; else goto L_0280CC18;
|
|
L_0280CC18: ; // 0x280cc18
|
|
/* 0280CC18 */ _t9 = cpu->r[28] + 0x00000050u;
|
|
/* 0280CC18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280CC1C */ _t10 = cpu->r[11] + 0x00000044u;
|
|
/* 0280CC1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280CC20 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CC24 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280CC28 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280CC2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CC34 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CC34 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280CC34 */ if (_t12) goto L_0280CC38; else goto L_0280CC50;
|
|
L_0280CC38: ; // 0x280cc38
|
|
/* 0280CC38 */ /* nop */
|
|
/* 0280CC3C */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 0280CC3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280CC40 */ cpu->lr = cpu->r[0];
|
|
/* 0280CC44 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280CC48 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CC4C */ return;
|
|
L_0280CC50: ; // 0x280cc50
|
|
/* 0280CC50 */ _t14 = cpu->r[28] + 0x00000050u;
|
|
/* 0280CC50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280CC54 */ _t15 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0280CC54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280CC58 */ cpu->ctr = cpu->r[9];
|
|
/* 0280CC5C */ cpu->r[5] = cpu->r[30];
|
|
/* 0280CC60 */ cpu->r[6] = cpu->r[31];
|
|
/* 0280CC64 */ cpu->r[7] = cpu->r[27];
|
|
/* 0280CC68 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280CC6C */ cpu->r[4] = cpu->r[29];
|
|
/* 0280CC70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CC74 */ /* nop */
|
|
/* 0280CC78 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 0280CC78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CC7C */ cpu->lr = cpu->r[0];
|
|
/* 0280CC80 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280CC84 */ return;
|
|
}
|
|
|
|
// fn_0280CC8C @ 0x280cc8c
|
|
void Gambit_fn_0280CC8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0280CC8C: ; // 0x280cc8c
|
|
/* 0280CC8C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280CC8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CC8C */ cpu->r[1] = _t0;
|
|
/* 0280CC90 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CC90 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0280CC94 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CC94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280CC98 */ cpu->r[28] = cpu->r[3];
|
|
/* 0280CC9C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CC9C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0280CCA0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CCA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0280CCA4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CCA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280CCA8 */ cpu->r[29] = cpu->r[4];
|
|
/* 0280CCAC */ _t6 = cpu->r[28] + 0x0000004Cu;
|
|
/* 0280CCAC */ cpu->r[9] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0280CCB0 */ cpu->r[31] = cpu->r[6];
|
|
/* 0280CCB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280CCB8 */ cpu->r[30] = cpu->r[5];
|
|
/* 0280CCBC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CCBC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280CCBC */ if (_t8) goto L_0280CCE8; else goto L_0280CCC0;
|
|
L_0280CCC0: ; // 0x280ccc0
|
|
/* 0280CCC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280CCC4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CCC4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280CCC4 */ if (_t10) goto L_0280CCE8; else goto L_0280CCC8;
|
|
L_0280CCC8: ; // 0x280ccc8
|
|
/* 0280CCC8 */ _t11 = cpu->r[28] + 0x00000050u;
|
|
/* 0280CCC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280CCCC */ _t12 = cpu->r[10] + 0x00000044u;
|
|
/* 0280CCCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280CCD0 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CCD4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280CCD8 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280CCDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CCE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CCE4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CCE4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280CCE4 */ if (_t14) goto L_0280CCE8; else goto L_0280CD0C;
|
|
L_0280CCE8: ; // 0x280cce8
|
|
/* 0280CCE8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CCE8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280CCEC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CCEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CCF0 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CCF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CCF4 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CCF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CCF8 */ cpu->lr = cpu->r[0];
|
|
/* 0280CCFC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CCFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280CD00 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280CD04 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CD08 */ return;
|
|
L_0280CD0C: ; // 0x280cd0c
|
|
/* 0280CD0C */ _t20 = cpu->r[28] + 0x00000050u;
|
|
/* 0280CD0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280CD10 */ _t21 = cpu->r[11] + 0x00000084u;
|
|
/* 0280CD10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280CD14 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CD18 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280CD1C */ cpu->r[5] = cpu->r[30];
|
|
/* 0280CD20 */ cpu->r[6] = cpu->r[31];
|
|
/* 0280CD24 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280CD28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CD2C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CD2C */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280CD30 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CD30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280CD34 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CD34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280CD38 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CD38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280CD3C */ cpu->lr = cpu->r[0];
|
|
/* 0280CD40 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CD40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280CD44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280CD48 */ return;
|
|
}
|
|
|
|
// fn_0280CD4C @ 0x280cd4c
|
|
void Gambit_fn_0280CD4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0280CD4C: ; // 0x280cd4c
|
|
/* 0280CD4C */ cpu->r[0] = cpu->lr;
|
|
/* 0280CD50 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280CD50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CD50 */ cpu->r[1] = _t0;
|
|
/* 0280CD54 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CD54 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280CD58 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CD58 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0280CD5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CD5C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0280CD60 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CD60 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280CD64 */ cpu->r[29] = cpu->r[3];
|
|
/* 0280CD68 */ _t5 = cpu->r[29] + 0x0000004Cu;
|
|
/* 0280CD68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0280CD6C */ cpu->r[31] = cpu->r[5];
|
|
/* 0280CD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CD74 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280CD78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CD78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280CD78 */ if (_t7) goto L_0280CDAC; else goto L_0280CD7C;
|
|
L_0280CD7C: ; // 0x280cd7c
|
|
/* 0280CD7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280CD80 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CD80 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280CD80 */ if (_t9) goto L_0280CDAC; else goto L_0280CD84;
|
|
L_0280CD84: ; // 0x280cd84
|
|
/* 0280CD84 */ _t10 = cpu->r[29] + 0x00000050u;
|
|
/* 0280CD84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280CD88 */ _t11 = cpu->r[11] + 0x00000044u;
|
|
/* 0280CD88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280CD8C */ cpu->ctr = cpu->r[0];
|
|
/* 0280CD90 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280CD94 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CD98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CDA0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CDA0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280CDA0 */ if (_t13) goto L_0280CDAC; else goto L_0280CDA4;
|
|
L_0280CDA4: ; // 0x280cda4
|
|
/* 0280CDA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280CDA8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CDA8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280CDA8 */ if (_t15) goto L_0280CDAC; else goto L_0280CDCC;
|
|
L_0280CDAC: ; // 0x280cdac
|
|
/* 0280CDAC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CDAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CDB0 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CDB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CDB4 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CDB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CDB8 */ cpu->lr = cpu->r[0];
|
|
/* 0280CDBC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CDBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280CDC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280CDC4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CDC8 */ return;
|
|
L_0280CDCC: ; // 0x280cdcc
|
|
/* 0280CDCC */ _t20 = cpu->r[29] + 0x00000050u;
|
|
/* 0280CDCC */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280CDD0 */ _t21 = cpu->r[9] + 0x0000008Cu;
|
|
/* 0280CDD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280CDD4 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CDD8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280CDDC */ cpu->r[4] = cpu->r[30];
|
|
/* 0280CDE0 */ cpu->r[5] = cpu->r[31];
|
|
/* 0280CDE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CDE8 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CDE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280CDEC */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CDEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280CDF0 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CDF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280CDF4 */ cpu->lr = cpu->r[0];
|
|
/* 0280CDF8 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CDF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280CDFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280CE00 */ return;
|
|
}
|
|
|
|
// fn_0280CD50 @ 0x280cd50
|
|
void Gambit_fn_0280CD50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0280CD50: ; // 0x280cd50
|
|
/* 0280CD50 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280CD50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CD50 */ cpu->r[1] = _t0;
|
|
/* 0280CD54 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CD54 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280CD58 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CD58 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0280CD5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CD5C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0280CD60 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CD60 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280CD64 */ cpu->r[29] = cpu->r[3];
|
|
/* 0280CD68 */ _t5 = cpu->r[29] + 0x0000004Cu;
|
|
/* 0280CD68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0280CD6C */ cpu->r[31] = cpu->r[5];
|
|
/* 0280CD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CD74 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280CD78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CD78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280CD78 */ if (_t7) goto L_0280CDAC; else goto L_0280CD7C;
|
|
L_0280CD7C: ; // 0x280cd7c
|
|
/* 0280CD7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280CD80 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CD80 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280CD80 */ if (_t9) goto L_0280CDAC; else goto L_0280CD84;
|
|
L_0280CD84: ; // 0x280cd84
|
|
/* 0280CD84 */ _t10 = cpu->r[29] + 0x00000050u;
|
|
/* 0280CD84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280CD88 */ _t11 = cpu->r[11] + 0x00000044u;
|
|
/* 0280CD88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280CD8C */ cpu->ctr = cpu->r[0];
|
|
/* 0280CD90 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280CD94 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CD98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CDA0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CDA0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280CDA0 */ if (_t13) goto L_0280CDAC; else goto L_0280CDA4;
|
|
L_0280CDA4: ; // 0x280cda4
|
|
/* 0280CDA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280CDA8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CDA8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280CDA8 */ if (_t15) goto L_0280CDAC; else goto L_0280CDCC;
|
|
L_0280CDAC: ; // 0x280cdac
|
|
/* 0280CDAC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CDAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CDB0 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CDB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CDB4 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CDB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CDB8 */ cpu->lr = cpu->r[0];
|
|
/* 0280CDBC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CDBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280CDC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280CDC4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CDC8 */ return;
|
|
L_0280CDCC: ; // 0x280cdcc
|
|
/* 0280CDCC */ _t20 = cpu->r[29] + 0x00000050u;
|
|
/* 0280CDCC */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280CDD0 */ _t21 = cpu->r[9] + 0x0000008Cu;
|
|
/* 0280CDD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280CDD4 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CDD8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280CDDC */ cpu->r[4] = cpu->r[30];
|
|
/* 0280CDE0 */ cpu->r[5] = cpu->r[31];
|
|
/* 0280CDE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CDE8 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CDE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280CDEC */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CDEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280CDF0 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CDF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280CDF4 */ cpu->lr = cpu->r[0];
|
|
/* 0280CDF8 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CDF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280CDFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280CE00 */ return;
|
|
}
|
|
|
|
// fn_0280CE04 @ 0x280ce04
|
|
void Gambit_fn_0280CE04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0280CE04: ; // 0x280ce04
|
|
/* 0280CE04 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0280CE04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0280CE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CE0C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE0C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0280CE0C */ if (_t2) goto L_0280CE18; else goto L_0280CE10;
|
|
L_0280CE10: ; // 0x280ce10
|
|
/* 0280CE10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280CE14 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE14 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280CE14 */ if (_t4) goto L_0280CE18; else goto L_0280CE20;
|
|
L_0280CE18: ; // 0x280ce18
|
|
/* 0280CE18 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CE1C */ return;
|
|
L_0280CE20: ; // 0x280ce20
|
|
/* 0280CE20 */ _t5 = cpu->r[3] + 0x00000050u;
|
|
/* 0280CE20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280CE24 */ _t6 = cpu->r[12] + 0x00000094u;
|
|
/* 0280CE24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280CE28 */ cpu->ctr = cpu->r[11];
|
|
/* 0280CE2C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0280CE30 @ 0x280ce30
|
|
void Gambit_fn_0280CE30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0280CE30: ; // 0x280ce30
|
|
/* 0280CE30 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0280CE30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0280CE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CE38 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE38 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0280CE38 */ if (_t2) goto L_0280CE4C; else goto L_0280CE3C;
|
|
L_0280CE3C: ; // 0x280ce3c
|
|
/* 0280CE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0280CE40 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE40 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280CE40 */ if (_t4) goto L_0280CE4C; else goto L_0280CE44;
|
|
L_0280CE44: ; // 0x280ce44
|
|
/* 0280CE44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280CE48 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE48 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280CE48 */ if (_t6) goto L_0280CE4C; else goto L_0280CE54;
|
|
L_0280CE4C: ; // 0x280ce4c
|
|
/* 0280CE4C */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CE50 */ return;
|
|
L_0280CE54: ; // 0x280ce54
|
|
/* 0280CE54 */ _t7 = cpu->r[3] + 0x00000050u;
|
|
/* 0280CE54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280CE58 */ _t8 = cpu->r[12] + 0x0000009Cu;
|
|
/* 0280CE58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280CE5C */ cpu->ctr = cpu->r[11];
|
|
/* 0280CE60 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0280CE64 @ 0x280ce64
|
|
void Gambit_fn_0280CE64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0280CE64: ; // 0x280ce64
|
|
/* 0280CE64 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0280CE64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0280CE68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CE6C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE6C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0280CE6C */ if (_t2) goto L_0280CE78; else goto L_0280CE70;
|
|
L_0280CE70: ; // 0x280ce70
|
|
/* 0280CE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280CE74 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE74 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280CE74 */ if (_t4) goto L_0280CE78; else goto L_0280CE80;
|
|
L_0280CE78: ; // 0x280ce78
|
|
/* 0280CE78 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CE7C */ return;
|
|
L_0280CE80: ; // 0x280ce80
|
|
/* 0280CE80 */ _t5 = cpu->r[3] + 0x00000050u;
|
|
/* 0280CE80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280CE84 */ _t6 = cpu->r[12] + 0x000000A4u;
|
|
/* 0280CE84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280CE88 */ cpu->ctr = cpu->r[11];
|
|
/* 0280CE8C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0280CE90 @ 0x280ce90
|
|
void Gambit_fn_0280CE90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0280CE90: ; // 0x280ce90
|
|
/* 0280CE90 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0280CE90 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0280CE94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CE98 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE98 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0280CE98 */ if (_t2) goto L_0280CEA4; else goto L_0280CE9C;
|
|
L_0280CE9C: ; // 0x280ce9c
|
|
/* 0280CE9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280CEA0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CEA0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280CEA0 */ if (_t4) goto L_0280CEA4; else goto L_0280CEAC;
|
|
L_0280CEA4: ; // 0x280cea4
|
|
/* 0280CEA4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CEA8 */ return;
|
|
L_0280CEAC: ; // 0x280ceac
|
|
/* 0280CEAC */ _t5 = cpu->r[3] + 0x00000050u;
|
|
/* 0280CEAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280CEB0 */ _t6 = cpu->r[12] + 0x000000ACu;
|
|
/* 0280CEB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280CEB4 */ cpu->ctr = cpu->r[11];
|
|
/* 0280CEB8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0280CEBC @ 0x280cebc
|
|
void Gambit_fn_0280CEBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0280CEBC: ; // 0x280cebc
|
|
/* 0280CEBC */ cpu->r[0] = cpu->lr;
|
|
/* 0280CEC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280CEC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CEC0 */ cpu->r[1] = _t0;
|
|
/* 0280CEC4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CEC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280CEC8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CEC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280CECC */ cpu->r[30] = cpu->r[3];
|
|
/* 0280CED0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CED0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280CED4 */ _t4 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0280CED4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0280CED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CEDC */ cpu->r[31] = cpu->r[4];
|
|
/* 0280CEE0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CEE0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280CEE0 */ if (_t6) goto L_0280CEEC; else goto L_0280CEE4;
|
|
L_0280CEE4: ; // 0x280cee4
|
|
/* 0280CEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280CEE8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CEE8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280CEE8 */ if (_t8) goto L_0280CEEC; else goto L_0280CF08;
|
|
L_0280CEEC: ; // 0x280ceec
|
|
/* 0280CEEC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CEEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280CEF0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CEF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280CEF4 */ cpu->lr = cpu->r[0];
|
|
/* 0280CEF8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CEF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280CEFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280CF00 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CF04 */ return;
|
|
L_0280CF08: ; // 0x280cf08
|
|
/* 0280CF08 */ _t12 = cpu->r[30] + 0x00000050u;
|
|
/* 0280CF08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280CF0C */ _t13 = cpu->r[11] + 0x000000B4u;
|
|
/* 0280CF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280CF10 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CF14 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CF18 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CF1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CF20 */ cpu->r[0] = cpu->r[3];
|
|
/* 0280CF24 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CF28 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CF2C */ cpu->r[5] = cpu->r[0];
|
|
/* 0280CF30 */ Gambit_fn_0280C7FC(cpu);
|
|
/* 0280CF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CF38 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CF38 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280CF38 */ if (_t15) goto L_0280CF4C; else goto L_0280CF3C;
|
|
L_0280CF3C: ; // 0x280cf3c
|
|
/* 0280CF3C */ cpu->r[5] = cpu->r[30];
|
|
/* 0280CF40 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CF44 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CF48 */ Gambit_fn_0280C804(cpu);
|
|
L_0280CF4C: ; // 0x280cf4c
|
|
/* 0280CF4C */ cpu->r[3] = cpu->r[0];
|
|
/* 0280CF50 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CF50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CF54 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CF54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CF58 */ cpu->lr = cpu->r[0];
|
|
/* 0280CF5C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CF5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CF60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280CF64 */ return;
|
|
}
|
|
|
|
// fn_0280CEC0 @ 0x280cec0
|
|
void Gambit_fn_0280CEC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0280CEC0: ; // 0x280cec0
|
|
/* 0280CEC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280CEC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CEC0 */ cpu->r[1] = _t0;
|
|
/* 0280CEC4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CEC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280CEC8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CEC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280CECC */ cpu->r[30] = cpu->r[3];
|
|
/* 0280CED0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CED0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280CED4 */ _t4 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0280CED4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0280CED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CEDC */ cpu->r[31] = cpu->r[4];
|
|
/* 0280CEE0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CEE0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280CEE0 */ if (_t6) goto L_0280CEEC; else goto L_0280CEE4;
|
|
L_0280CEE4: ; // 0x280cee4
|
|
/* 0280CEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280CEE8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CEE8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280CEE8 */ if (_t8) goto L_0280CEEC; else goto L_0280CF08;
|
|
L_0280CEEC: ; // 0x280ceec
|
|
/* 0280CEEC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CEEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280CEF0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CEF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280CEF4 */ cpu->lr = cpu->r[0];
|
|
/* 0280CEF8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CEF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280CEFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280CF00 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CF04 */ return;
|
|
L_0280CF08: ; // 0x280cf08
|
|
/* 0280CF08 */ _t12 = cpu->r[30] + 0x00000050u;
|
|
/* 0280CF08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280CF0C */ _t13 = cpu->r[11] + 0x000000B4u;
|
|
/* 0280CF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280CF10 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CF14 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CF18 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CF1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CF20 */ cpu->r[0] = cpu->r[3];
|
|
/* 0280CF24 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CF28 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CF2C */ cpu->r[5] = cpu->r[0];
|
|
/* 0280CF30 */ Gambit_fn_0280C7FC(cpu);
|
|
/* 0280CF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CF38 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CF38 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280CF38 */ if (_t15) goto L_0280CF4C; else goto L_0280CF3C;
|
|
L_0280CF3C: ; // 0x280cf3c
|
|
/* 0280CF3C */ cpu->r[5] = cpu->r[30];
|
|
/* 0280CF40 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CF44 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CF48 */ Gambit_fn_0280C804(cpu);
|
|
L_0280CF4C: ; // 0x280cf4c
|
|
/* 0280CF4C */ cpu->r[3] = cpu->r[0];
|
|
/* 0280CF50 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CF50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CF54 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CF54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CF58 */ cpu->lr = cpu->r[0];
|
|
/* 0280CF5C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CF5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CF60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280CF64 */ return;
|
|
}
|
|
|
|
// fn_0280CF68 @ 0x280cf68
|
|
void Gambit_fn_0280CF68(CPUState* 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_0280CF68: ; // 0x280cf68
|
|
/* 0280CF68 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280CF68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CF68 */ cpu->r[1] = _t0;
|
|
/* 0280CF6C */ /* nop */
|
|
/* 0280CF70 */ cpu->r[0] = cpu->lr;
|
|
/* 0280CF74 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0280CF74 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280CF78 */ cpu->r[29] = cpu->r[6];
|
|
/* 0280CF7C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280CF80 */ _t2 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0280CF80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0280CF84 */ cpu->r[27] = cpu->r[4];
|
|
/* 0280CF88 */ cpu->r[28] = cpu->r[5];
|
|
/* 0280CF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CF90 */ cpu->r[30] = cpu->r[7];
|
|
/* 0280CF94 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CF94 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280CF94 */ if (_t4) goto L_0280D004; else goto L_0280CF98;
|
|
L_0280CF98: ; // 0x280cf98
|
|
/* 0280CF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0280CF9C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CF9C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280CF9C */ if (_t6) goto L_0280D004; else goto L_0280CFA0;
|
|
L_0280CFA0: ; // 0x280cfa0
|
|
/* 0280CFA0 */ _t7 = cpu->r[31] + 0x00000050u;
|
|
/* 0280CFA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280CFA4 */ _t8 = cpu->r[12] + 0x00000044u;
|
|
/* 0280CFA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280CFA8 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CFAC */ cpu->r[3] = cpu->r[31];
|
|
/* 0280CFB0 */ cpu->r[4] = cpu->r[28];
|
|
/* 0280CFB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CFB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CFBC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CFBC */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280CFBC */ if (_t10) goto L_0280D004; else goto L_0280CFC0;
|
|
L_0280CFC0: ; // 0x280cfc0
|
|
/* 0280CFC0 */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 0280CFC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280CFC4 */ cpu->r[11] = 0x00000000u;
|
|
/* 0280CFC8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CFC8 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0280CFCC */ _t13 = cpu->r[12] + 0x000000C4u;
|
|
/* 0280CFCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280CFD0 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CFD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280CFD8 */ cpu->r[5] = cpu->r[28];
|
|
/* 0280CFDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280CFE0 */ cpu->r[7] = cpu->r[30];
|
|
/* 0280CFE4 */ cpu->r[6] = cpu->r[29];
|
|
/* 0280CFE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CFEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0280CFF0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280CFF4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CFF4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280CFF4 */ if (_t16) goto L_0280CFFC; else goto L_0280CFF8;
|
|
L_0280CFF8: ; // 0x280cff8
|
|
/* 0280CFF8 */ _t17 = cpu->r[27] + 0x00000000u;
|
|
/* 0280CFF8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_0280CFFC: ; // 0x280cffc
|
|
/* 0280CFFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0280D000 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D000 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280D000 */ if (_t19) goto L_0280D004; else goto L_0280D008;
|
|
L_0280D004: ; // 0x280d004
|
|
/* 0280D004 */ cpu->r[3] = 0x00000000u;
|
|
L_0280D008: ; // 0x280d008
|
|
/* 0280D008 */ /* nop */
|
|
/* 0280D00C */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 0280D00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280D010 */ cpu->lr = cpu->r[0];
|
|
/* 0280D014 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280D018 */ return;
|
|
}
|
|
|
|
// fn_0280D01C @ 0x280d01c
|
|
void Gambit_fn_0280D01C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0280D01C: ; // 0x280d01c
|
|
/* 0280D01C */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0280D01C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0280D020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280D024 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D024 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0280D024 */ if (_t2) goto L_0280D028; else goto L_0280D030;
|
|
L_0280D028: ; // 0x280d028
|
|
/* 0280D028 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280D02C */ return;
|
|
L_0280D030: ; // 0x280d030
|
|
/* 0280D030 */ _t3 = cpu->r[3] + 0x00000050u;
|
|
/* 0280D030 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280D034 */ _t4 = cpu->r[12] + 0x000000CCu;
|
|
/* 0280D034 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280D038 */ cpu->ctr = cpu->r[10];
|
|
/* 0280D03C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0280D040 @ 0x280d040
|
|
void Gambit_fn_0280D040(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_0280D040: ; // 0x280d040
|
|
/* 0280D040 */ _t0 = cpu->r[1] + 0xFFFFFCC0u;
|
|
/* 0280D040 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280D040 */ cpu->r[1] = _t0;
|
|
/* 0280D044 */ /* nop */
|
|
/* 0280D048 */ cpu->r[0] = cpu->lr;
|
|
/* 0280D04C */ _t1 = cpu->r[1] + 0x00000344u;
|
|
/* 0280D04C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280D050 */ cpu->r[18] = cpu->r[3];
|
|
/* 0280D054 */ _t2 = cpu->r[18] + 0x0000004Cu;
|
|
/* 0280D054 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0280D058 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280D05C */ cpu->r[14] = cpu->r[5];
|
|
/* 0280D060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280D064 */ cpu->r[29] = 0x00000000u;
|
|
/* 0280D068 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D068 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280D068 */ if (_t4) goto L_0280DA8C; else goto L_0280D06C;
|
|
L_0280D06C: ; // 0x280d06c
|
|
/* 0280D06C */ cpu->r[0] = 0x00000000u;
|
|
/* 0280D070 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280D074 */ cpu->r[3] = cpu->r[18];
|
|
/* 0280D078 */ cpu->r[5] = cpu->r[31];
|
|
/* 0280D07C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0280D07C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 0280D080 */ Gambit_fn_0280CE90(cpu);
|
|
/* 0280D084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280D088 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D088 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280D088 */ if (_t7) goto L_0280DA8C; else goto L_0280D08C;
|
|
L_0280D08C: ; // 0x280d08c
|
|
/* 0280D08C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0280D08C */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0280D090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280D094 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D094 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280D094 */ if (_t10) goto L_0280D098; else goto L_0280DBD0;
|
|
L_0280D098: ; // 0x280d098
|
|
/* 0280D098 */ cpu->r[27] = 0x10110000u;
|
|
/* 0280D09C */ cpu->r[6] = 0x00000200u;
|
|
/* 0280D0A0 */ _t11 = cpu->r[27] + 0x00007399u;
|
|
/* 0280D0A0 */ cpu->r[27] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0280D0A4 */ cpu->r[5] = cpu->r[1] + 0x000000F8u;
|
|
/* 0280D0A8 */ _t12 = cpu->r[1] + 0x000000F4u;
|
|
/* 0280D0A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
/* 0280D0AC */ cpu->r[28] = 0x10110000u;
|
|
/* 0280D0B0 */ _t13 = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D0B0 */ rbrew_write32(cpu->mem, _t13, cpu->r[5]);
|
|
/* 0280D0B4 */ cpu->r[7] = 0x10110000u;
|
|
/* 0280D0B8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280D0BC */ _t14 = cpu->r[1] + 0x000002F7u;
|
|
/* 0280D0BC */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[27]);
|
|
/* 0280D0C0 */ cpu->r[7] = cpu->r[7] + 0x00002EF4u;
|
|
/* 0280D0C4 */ cpu->r[3] = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D0C8 */ _t15 = cpu->r[1] + 0x000000F8u;
|
|
/* 0280D0C8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[27]);
|
|
/* 0280D0CC */ cpu->r[28] = cpu->r[28] + 0x00002E8Cu;
|
|
/* 0280D0D0 */ _t16 = cpu->r[1] + 0x000000F0u;
|
|
/* 0280D0D0 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 0280D0D4 */ Gambit_fn_028100DC(cpu);
|
|
/* 0280D0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280D0DC */ cpu->r[26] = 0x00000001u;
|
|
/* 0280D0E0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D0E0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0280D0E0 */ if (_t18) goto L_0280D128; else goto L_0280D0E4;
|
|
L_0280D0E4: ; // 0x280d0e4
|
|
/* 0280D0E4 */ cpu->r[30] = 0x00000000u;
|
|
L_0280D0E8: ; // 0x280d0e8
|
|
/* 0280D0E8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280D0EC */ cpu->r[3] = cpu->r[18];
|
|
/* 0280D0F0 */ cpu->r[5] = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D0F4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0280D0F4 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 0280D0F8 */ Gambit_fn_0280CE90(cpu);
|
|
/* 0280D0FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280D100 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D100 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0280D100 */ if (_t21) goto L_0280DA8C; else goto L_0280D104;
|
|
L_0280D104: ; // 0x280d104
|
|
/* 0280D104 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0280D104 */ cpu->r[11] = rbrew_read8(cpu->mem, _t22);
|
|
/* 0280D108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0280D10C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D10C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0280D10C */ if (_t24) goto L_0280D110; else goto L_0280D188;
|
|
L_0280D110: ; // 0x280d110
|
|
/* 0280D110 */ cpu->r[4] = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D114 */ cpu->r[3] = cpu->r[4];
|
|
/* 0280D118 */ Gambit_fn_028100DC(cpu);
|
|
/* 0280D11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280D120 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0280D124 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D124 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0280D124 */ if (_t26) goto L_0280D128; else goto L_0280D0E8;
|
|
L_0280D128: ; // 0x280d128
|
|
/* 0280D128 */ _t27 = cpu->r[1] + 0x000000F4u;
|
|
/* 0280D128 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280D12C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280D130 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D130 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0280D130 */ if (_t29) goto L_0280D180; else goto L_0280D134;
|
|
L_0280D134: ; // 0x280d134
|
|
/* 0280D134 */ _t30 = cpu->r[1] + 0x000000F0u;
|
|
/* 0280D134 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0280D138 */ _t31 = cpu->r[10] + 0x00000014u;
|
|
/* 0280D138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0280D13C */ cpu->ctr = cpu->r[0];
|
|
/* 0280D140 */ cpu->r[3] = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D144 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D148 */ _t32 = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D148 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0280D14C */ _t33 = cpu->r[5] + 0x00000000u;
|
|
/* 0280D14C */ cpu->r[12] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0280D150 */ cpu->r[11] = 0x00000000u;
|
|
/* 0280D154 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[27]);
|
|
/* 0280D158 */ cpu->r[0] = 0x00080000u;
|
|
/* 0280D15C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D15C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0280D15C */ if (_t35) goto L_0280D188; else goto L_0280D160;
|
|
L_0280D160: ; // 0x280d160
|
|
/* 0280D160 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0280D164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 0280D168 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0280D16C */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D16C */ _t37 = _t36 & 0x00000001u;
|
|
/* 0280D16C */ if (_t37) goto L_0280D188; else goto L_0280D170;
|
|
L_0280D170: ; // 0x280d170
|
|
/* 0280D170 */ _t38 = cpu->r[5] + 0x00000000u;
|
|
/* 0280D170 */ cpu->r[12] = rbrew_read8(cpu->mem, _t38);
|
|
/* 0280D174 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[27]);
|
|
/* 0280D178 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D178 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0280D178 */ if (_t40) goto L_0280D17C; else goto L_0280D160;
|
|
L_0280D17C: ; // 0x280d17c
|
|
/* 0280D17C */ goto L_0280D188;
|
|
L_0280D180: ; // 0x280d180
|
|
/* 0280D180 */ _t41 = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D180 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0280D184 */ _t42 = cpu->r[10] + 0x00000000u;
|
|
/* 0280D184 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[27]);
|
|
L_0280D188: ; // 0x280d188
|
|
/* 0280D188 */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 0280D188 */ rbrew_write32(cpu->mem, _t43, cpu->r[29]);
|
|
/* 0280D18C */ cpu->r[16] = 0x10110000u;
|
|
/* 0280D190 */ _t44 = cpu->r[31] + 0x00000004u;
|
|
/* 0280D190 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0280D194 */ cpu->r[16] = cpu->r[16] + 0x00002F5Cu;
|
|
/* 0280D198 */ cpu->r[15] = 0x10110000u;
|
|
/* 0280D19C */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 0280D19C */ rbrew_write32(cpu->mem, _t45, cpu->r[31]);
|
|
/* 0280D1A0 */ cpu->r[15] = cpu->r[15] + 0x00002F4Cu;
|
|
/* 0280D1A4 */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280D1A4 */ rbrew_write32(cpu->mem, _t46, cpu->r[16]);
|
|
/* 0280D1A8 */ _t47 = cpu->r[1] + 0x00000028u;
|
|
/* 0280D1A8 */ rbrew_write32(cpu->mem, _t47, cpu->r[15]);
|
|
/* 0280D1AC */ _t48 = cpu->r[1] + 0x00000030u;
|
|
/* 0280D1AC */ rbrew_write32(cpu->mem, _t48, cpu->r[28]);
|
|
/* 0280D1B0 */ _t49 = cpu->r[4] + 0x00000014u;
|
|
/* 0280D1B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0280D1B4 */ cpu->ctr = cpu->r[5];
|
|
/* 0280D1B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280D1BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D1C0 */ _t50 = cpu->r[31] + 0x00000000u;
|
|
/* 0280D1C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0280D1C4 */ _t51 = cpu->r[12] + 0x00000000u;
|
|
/* 0280D1C4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t51);
|
|
/* 0280D1C8 */ cpu->r[8] = 0x00000000u;
|
|
/* 0280D1CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[27]);
|
|
/* 0280D1D0 */ cpu->r[4] = 0x00080000u;
|
|
/* 0280D1D4 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D1D4 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0280D1D4 */ if (_t53) goto L_0280D224; else goto L_0280D1D8;
|
|
L_0280D1D8: ; // 0x280d1d8
|
|
/* 0280D1D8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0280D1DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[4]);
|
|
/* 0280D1E0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280D1E4 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D1E4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0280D1E4 */ if (_t55) goto L_0280D220; else goto L_0280D1E8;
|
|
L_0280D1E8: ; // 0x280d1e8
|
|
/* 0280D1E8 */ _t56 = cpu->r[12] + 0x00000000u;
|
|
/* 0280D1E8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t56);
|
|
/* 0280D1EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[27]);
|
|
/* 0280D1F0 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D1F0 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0280D1F0 */ if (_t58) goto L_0280D1F4; else goto L_0280D1D8;
|
|
L_0280D1F4: ; // 0x280d1f4
|
|
/* 0280D1F4 */ cpu->r[29] = cpu->r[8] + 0x00000001u;
|
|
/* 0280D1F8 */ cpu->r[24] = 0x00080000u;
|
|
/* 0280D1FC */ cpu->r[30] = cpu->r[31];
|
|
/* 0280D200 */ _t59 = cpu->r[1] + 0x00000020u;
|
|
/* 0280D200 */ cpu->r[22] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0280D204 */ cpu->r[23] = cpu->r[27];
|
|
/* 0280D208 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 0280D20C */ _t60 = cpu->r[1] + 0x00000024u;
|
|
/* 0280D20C */ cpu->r[25] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0280D210 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[30]);
|
|
/* 0280D214 */ cpu->r[21] = 0x00000000u;
|
|
/* 0280D218 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D218 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0280D218 */ if (_t62) goto L_0280D368; else goto L_0280D21C;
|
|
L_0280D21C: ; // 0x280d21c
|
|
/* 0280D21C */ goto L_0280D24C;
|
|
L_0280D220: ; // 0x280d220
|
|
/* 0280D220 */ cpu->r[8] = 0x00000000u;
|
|
L_0280D224: ; // 0x280d224
|
|
/* 0280D224 */ cpu->r[29] = cpu->r[8] + 0x00000001u;
|
|
/* 0280D228 */ cpu->r[24] = 0x00080000u;
|
|
/* 0280D22C */ cpu->r[30] = cpu->r[31];
|
|
/* 0280D230 */ _t63 = cpu->r[1] + 0x00000020u;
|
|
/* 0280D230 */ cpu->r[22] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0280D234 */ cpu->r[23] = cpu->r[27];
|
|
/* 0280D238 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 0280D23C */ _t64 = cpu->r[1] + 0x00000024u;
|
|
/* 0280D23C */ cpu->r[25] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0280D240 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[30]);
|
|
/* 0280D244 */ cpu->r[21] = 0x00000000u;
|
|
/* 0280D248 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D248 */ _t66 = _t65 & 0x00000001u;
|
|
/* 0280D248 */ if (_t66) goto L_0280D368; else goto L_0280D24C;
|
|
L_0280D24C: ; // 0x280d24c
|
|
/* 0280D24C */ _t67 = cpu->r[22] + 0x00000004u;
|
|
/* 0280D24C */ cpu->r[9] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0280D250 */ _t68 = cpu->r[9] + 0x00000014u;
|
|
/* 0280D250 */ cpu->r[11] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0280D254 */ cpu->ctr = cpu->r[11];
|
|
/* 0280D258 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 0280D25C */ cpu->r[3] = cpu->r[22];
|
|
/* 0280D260 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D264 */ _t69 = cpu->r[22] + 0x00000000u;
|
|
/* 0280D264 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0280D268 */ _t70 = cpu->r[4] + 0x00000000u;
|
|
/* 0280D268 */ cpu->r[0] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0280D26C */ cpu->r[6] = 0x00000000u;
|
|
/* 0280D270 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[23]);
|
|
/* 0280D274 */ cpu->r[5] = 0x00080000u;
|
|
/* 0280D278 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D278 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0280D278 */ if (_t72) goto L_0280D2A8; else goto L_0280D27C;
|
|
L_0280D27C: ; // 0x280d27c
|
|
/* 0280D27C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0280D280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[5]);
|
|
/* 0280D284 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0280D288 */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D288 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0280D288 */ if (_t74) goto L_0280D2A4; else goto L_0280D28C;
|
|
L_0280D28C: ; // 0x280d28c
|
|
/* 0280D28C */ _t75 = cpu->r[4] + 0x00000000u;
|
|
/* 0280D28C */ cpu->r[0] = rbrew_read8(cpu->mem, _t75);
|
|
/* 0280D290 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[23]);
|
|
/* 0280D294 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D294 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0280D294 */ if (_t77) goto L_0280D298; else goto L_0280D27C;
|
|
L_0280D298: ; // 0x280d298
|
|
/* 0280D298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0280D29C */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D29C */ _t79 = _t78 & 0x00000001u;
|
|
/* 0280D29C */ if (_t79) goto L_0280D2A0; else goto L_0280D2B0;
|
|
L_0280D2A0: ; // 0x280d2a0
|
|
/* 0280D2A0 */ goto L_0280D2B8;
|
|
L_0280D2A4: ; // 0x280d2a4
|
|
/* 0280D2A4 */ cpu->r[6] = 0x00000000u;
|
|
L_0280D2A8: ; // 0x280d2a8
|
|
/* 0280D2A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0280D2AC */ _t80 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D2AC */ _t81 = _t80 & 0x00000001u;
|
|
/* 0280D2AC */ if (_t81) goto L_0280D2B8; else goto L_0280D2B0;
|
|
L_0280D2B0: ; // 0x280d2b0
|
|
/* 0280D2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[6]);
|
|
/* 0280D2B4 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D2B4 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0280D2B4 */ if (_t83) goto L_0280D2B8; else goto L_0280D2CC;
|
|
L_0280D2B8: ; // 0x280d2b8
|
|
/* 0280D2B8 */ _t84 = cpu->r[1] + 0x00000020u;
|
|
/* 0280D2B8 */ cpu->r[22] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0280D2BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[30]);
|
|
/* 0280D2C0 */ _t85 = cpu->r[1] + 0x00000024u;
|
|
/* 0280D2C0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0280D2C4 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D2C4 */ _t87 = _t86 & 0x00000001u;
|
|
/* 0280D2C4 */ if (_t87) goto L_0280D2C8; else goto L_0280D24C;
|
|
L_0280D2C8: ; // 0x280d2c8
|
|
/* 0280D2C8 */ goto L_0280D368;
|
|
L_0280D2CC: ; // 0x280d2cc
|
|
/* 0280D2CC */ cpu->r[20] = cpu->r[23];
|
|
/* 0280D2D0 */ _t88 = cpu->r[1] + 0x00000020u;
|
|
/* 0280D2D0 */ cpu->r[22] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0280D2D4 */ _t89 = cpu->r[22] + 0x00000000u;
|
|
/* 0280D2D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0280D2D8 */ _t90 = cpu->r[6] + cpu->r[25];
|
|
/* 0280D2D8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t90);
|
|
/* 0280D2DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[20]);
|
|
/* 0280D2E0 */ cpu->r[19] = cpu->r[6] + cpu->r[25];
|
|
/* 0280D2E4 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D2E4 */ _t92 = _t91 & 0x00000001u;
|
|
/* 0280D2E4 */ if (_t92) goto L_0280D358; else goto L_0280D2E8;
|
|
L_0280D2E8: ; // 0x280d2e8
|
|
/* 0280D2E8 */ _t93 = cpu->r[1] + 0x00000030u;
|
|
/* 0280D2E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0280D2EC */ _t94 = cpu->r[8] + 0x00000014u;
|
|
/* 0280D2EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0280D2F0 */ cpu->ctr = cpu->r[9];
|
|
/* 0280D2F4 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280D2F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D2FC */ cpu->ctr = cpu->r[24];
|
|
/* 0280D300 */ _t95 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280D300 */ cpu->r[11] = rbrew_read32(cpu->mem, _t95);
|
|
L_0280D304: ; // 0x280d304
|
|
/* 0280D304 */ _t96 = cpu->r[11] + 0x00000000u;
|
|
/* 0280D304 */ cpu->r[6] = rbrew_read8(cpu->mem, _t96);
|
|
/* 0280D308 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[20]);
|
|
/* 0280D30C */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D30C */ _t98 = _t97 & 0x00000001u;
|
|
/* 0280D30C */ if (_t98) goto L_0280D33C; else goto L_0280D310;
|
|
L_0280D310: ; // 0x280d310
|
|
/* 0280D310 */ _t99 = cpu->r[19] + 0x00000000u;
|
|
/* 0280D310 */ cpu->r[10] = rbrew_read8(cpu->mem, _t99);
|
|
/* 0280D314 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[10]);
|
|
/* 0280D318 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D318 */ _t101 = _t100 & 0x00000001u;
|
|
/* 0280D318 */ if (_t101) goto L_0280D31C; else goto L_0280D334;
|
|
L_0280D31C: ; // 0x280d31c
|
|
/* 0280D31C */ _t102 = cpu->r[1] + 0x00000020u;
|
|
/* 0280D31C */ cpu->r[22] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0280D320 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0280D324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[30]);
|
|
/* 0280D328 */ _t103 = cpu->r[1] + 0x00000024u;
|
|
/* 0280D328 */ rbrew_write32(cpu->mem, _t103, cpu->r[25]);
|
|
/* 0280D32C */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D32C */ _t105 = _t104 & 0x00000001u;
|
|
/* 0280D32C */ if (_t105) goto L_0280D330; else goto L_0280D24C;
|
|
L_0280D330: ; // 0x280d330
|
|
/* 0280D330 */ goto L_0280D368;
|
|
L_0280D334: ; // 0x280d334
|
|
/* 0280D334 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0280D338 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0280D338 */ _t106 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0280D338 */ _t107 = _t106 >> (0x00000002u & 31u);
|
|
/* 0280D338 */ _t108 = _t107 & 0x00000001u;
|
|
/* 0280D338 */ if (_t108) goto L_0280D304; else goto L_0280D33C;
|
|
L_0280D33C: ; // 0x280d33c
|
|
/* 0280D33C */ _t109 = cpu->r[1] + 0x00000020u;
|
|
/* 0280D33C */ cpu->r[22] = rbrew_read32(cpu->mem, _t109);
|
|
/* 0280D340 */ _t110 = cpu->r[22] + 0x00000000u;
|
|
/* 0280D340 */ cpu->r[6] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0280D344 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0280D348 */ _t111 = cpu->r[6] + cpu->r[25];
|
|
/* 0280D348 */ cpu->r[7] = rbrew_read8(cpu->mem, _t111);
|
|
/* 0280D34C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[20]);
|
|
/* 0280D350 */ cpu->r[19] = cpu->r[6] + cpu->r[25];
|
|
/* 0280D354 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D354 */ _t113 = _t112 & 0x00000001u;
|
|
/* 0280D354 */ if (_t113) goto L_0280D358; else goto L_0280D2E8;
|
|
L_0280D358: ; // 0x280d358
|
|
/* 0280D358 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0280D35C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[30]);
|
|
/* 0280D360 */ _t114 = cpu->r[1] + 0x00000024u;
|
|
/* 0280D360 */ rbrew_write32(cpu->mem, _t114, cpu->r[25]);
|
|
/* 0280D364 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D364 */ _t116 = _t115 & 0x00000001u;
|
|
/* 0280D364 */ if (_t116) goto L_0280D368; else goto L_0280D24C;
|
|
L_0280D368: ; // 0x280d368
|
|
/* 0280D368 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[29]);
|
|
/* 0280D36C */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D36C */ _t118 = _t117 & 0x00000001u;
|
|
/* 0280D36C */ if (_t118) goto L_0280D370; else goto L_0280D24C;
|
|
L_0280D370: ; // 0x280d370
|
|
/* 0280D370 */ cpu->r[23] = cpu->r[31];
|
|
/* 0280D374 */ cpu->r[22] = 0x00000000u;
|
|
/* 0280D378 */ _t119 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280D378 */ rbrew_write32(cpu->mem, _t119, cpu->r[23]);
|
|
/* 0280D37C */ cpu->r[31] = cpu->r[1] + 0x0000006Cu;
|
|
/* 0280D380 */ cpu->r[25] = 0x00080000u;
|
|
/* 0280D384 */ _t120 = cpu->r[1] + 0x00000010u;
|
|
/* 0280D384 */ rbrew_write32(cpu->mem, _t120, cpu->r[22]);
|
|
/* 0280D388 */ cpu->r[17] = cpu->r[21] - cpu->r[26];
|
|
/* 0280D38C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0280D390 */ _t121 = cpu->r[1] + 0x00000014u;
|
|
/* 0280D390 */ rbrew_write32(cpu->mem, _t121, cpu->r[15]);
|
|
/* 0280D394 */ cpu->r[24] = cpu->r[27];
|
|
/* 0280D398 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[30]);
|
|
/* 0280D39C */ _t122 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280D39C */ rbrew_write32(cpu->mem, _t122, cpu->r[28]);
|
|
/* 0280D3A0 */ cpu->r[27] = 0x00000080u;
|
|
/* 0280D3A4 */ cpu->r[26] = 0x101F0000u;
|
|
/* 0280D3A8 */ _t123 = cpu->r[1] + 0x00000018u;
|
|
/* 0280D3A8 */ rbrew_write32(cpu->mem, _t123, cpu->r[16]);
|
|
/* 0280D3AC */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D3AC */ _t125 = _t124 & 0x00000001u;
|
|
/* 0280D3AC */ if (_t125) goto L_0280DBC8; else goto L_0280D3B0;
|
|
L_0280D3B0: ; // 0x280d3b0
|
|
/* 0280D3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 0280D3B4 */ _t126 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D3B4 */ _t127 = _t126 & 0x00000001u;
|
|
/* 0280D3B4 */ if (_t127) goto L_0280D3B8; else goto L_0280D3F4;
|
|
L_0280D3B8: ; // 0x280d3b8
|
|
/* 0280D3B8 */ _t128 = cpu->r[23] + 0x00000004u;
|
|
/* 0280D3B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t128);
|
|
/* 0280D3BC */ _t129 = cpu->r[10] + 0x00000014u;
|
|
/* 0280D3BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t129);
|
|
/* 0280D3C0 */ cpu->ctr = cpu->r[11];
|
|
/* 0280D3C4 */ cpu->r[17] = cpu->r[17] + 0xFFFFFFFFu;
|
|
/* 0280D3C8 */ cpu->r[3] = cpu->r[23];
|
|
/* 0280D3CC */ cpu->r[21] = cpu->r[22];
|
|
/* 0280D3D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D3D4 */ _t130 = cpu->r[23] + 0x00000000u;
|
|
/* 0280D3D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t130);
|
|
/* 0280D3D8 */ cpu->r[10] = cpu->r[24];
|
|
/* 0280D3DC */ _t131 = cpu->r[7] + 0x00000000u;
|
|
/* 0280D3DC */ cpu->r[12] = rbrew_read8(cpu->mem, _t131);
|
|
/* 0280D3E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280D3E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 0280D3E8 */ cpu->r[8] = 0x00080000u;
|
|
/* 0280D3EC */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D3EC */ _t133 = _t132 & 0x00000001u;
|
|
/* 0280D3EC */ if (_t133) goto L_0280D3F0; else goto L_0280DADC;
|
|
L_0280D3F0: ; // 0x280d3f0
|
|
/* 0280D3F0 */ goto L_0280DB08;
|
|
L_0280D3F4: ; // 0x280d3f4
|
|
/* 0280D3F4 */ _t134 = cpu->r[1] + 0x00000018u;
|
|
/* 0280D3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t134);
|
|
/* 0280D3F8 */ cpu->r[12] = 0x10110000u;
|
|
/* 0280D3FC */ _t135 = cpu->r[31] + 0x00000000u;
|
|
/* 0280D3FC */ rbrew_write8(cpu->mem, _t135, (uint8_t)cpu->r[24]);
|
|
/* 0280D400 */ _t136 = cpu->r[1] + 0x00000048u;
|
|
/* 0280D400 */ rbrew_write32(cpu->mem, _t136, cpu->r[0]);
|
|
/* 0280D404 */ _t137 = cpu->r[1] + 0x00000060u;
|
|
/* 0280D404 */ rbrew_write32(cpu->mem, _t137, cpu->r[31]);
|
|
/* 0280D408 */ _t138 = cpu->r[1] + 0x00000040u;
|
|
/* 0280D408 */ rbrew_write32(cpu->mem, _t138, cpu->r[22]);
|
|
/* 0280D40C */ cpu->r[12] = cpu->r[12] + 0x00002F24u;
|
|
/* 0280D410 */ _t139 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0280D410 */ rbrew_write32(cpu->mem, _t139, cpu->r[28]);
|
|
/* 0280D414 */ _t140 = cpu->r[1] + 0x00000068u;
|
|
/* 0280D414 */ rbrew_write32(cpu->mem, _t140, cpu->r[27]);
|
|
/* 0280D418 */ _t141 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280D418 */ rbrew_write32(cpu->mem, _t141, cpu->r[23]);
|
|
/* 0280D41C */ _t142 = cpu->r[1] + 0x00000064u;
|
|
/* 0280D41C */ rbrew_write32(cpu->mem, _t142, cpu->r[12]);
|
|
/* 0280D420 */ _t143 = cpu->r[1] + 0x00000044u;
|
|
/* 0280D420 */ rbrew_write32(cpu->mem, _t143, cpu->r[15]);
|
|
/* 0280D424 */ _t144 = cpu->r[31] + 0x0000007Fu;
|
|
/* 0280D424 */ rbrew_write8(cpu->mem, _t144, (uint8_t)cpu->r[24]);
|
|
/* 0280D428 */ _t145 = cpu->r[23] + 0x00000004u;
|
|
/* 0280D428 */ cpu->r[4] = rbrew_read32(cpu->mem, _t145);
|
|
/* 0280D42C */ _t146 = cpu->r[4] + 0x00000014u;
|
|
/* 0280D42C */ cpu->r[5] = rbrew_read32(cpu->mem, _t146);
|
|
/* 0280D430 */ cpu->ctr = cpu->r[5];
|
|
/* 0280D434 */ cpu->r[3] = cpu->r[23];
|
|
/* 0280D438 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D43C */ _t147 = cpu->r[23] + 0x00000000u;
|
|
/* 0280D43C */ cpu->r[8] = rbrew_read32(cpu->mem, _t147);
|
|
/* 0280D440 */ cpu->r[10] = cpu->r[24];
|
|
/* 0280D444 */ _t148 = cpu->r[8] + 0x00000000u;
|
|
/* 0280D444 */ cpu->r[6] = rbrew_read8(cpu->mem, _t148);
|
|
/* 0280D448 */ cpu->r[12] = 0x00000000u;
|
|
/* 0280D44C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[10]);
|
|
/* 0280D450 */ cpu->r[9] = 0x00080000u;
|
|
/* 0280D454 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D454 */ _t150 = _t149 & 0x00000001u;
|
|
/* 0280D454 */ if (_t150) goto L_0280D484; else goto L_0280D458;
|
|
L_0280D458: ; // 0x280d458
|
|
/* 0280D458 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280D45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[9]);
|
|
/* 0280D460 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0280D464 */ _t151 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D464 */ _t152 = _t151 & 0x00000001u;
|
|
/* 0280D464 */ if (_t152) goto L_0280D480; else goto L_0280D468;
|
|
L_0280D468: ; // 0x280d468
|
|
/* 0280D468 */ _t153 = cpu->r[8] + 0x00000000u;
|
|
/* 0280D468 */ cpu->r[7] = rbrew_read8(cpu->mem, _t153);
|
|
/* 0280D46C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[10]);
|
|
/* 0280D470 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D470 */ _t155 = _t154 & 0x00000001u;
|
|
/* 0280D470 */ if (_t155) goto L_0280D474; else goto L_0280D458;
|
|
L_0280D474: ; // 0x280d474
|
|
/* 0280D474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0280D478 */ _t156 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D478 */ _t157 = _t156 & 0x00000001u;
|
|
/* 0280D478 */ if (_t157) goto L_0280D494; else goto L_0280D47C;
|
|
L_0280D47C: ; // 0x280d47c
|
|
/* 0280D47C */ goto L_0280D48C;
|
|
L_0280D480: ; // 0x280d480
|
|
/* 0280D480 */ cpu->r[12] = 0x00000000u;
|
|
L_0280D484: ; // 0x280d484
|
|
/* 0280D484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0280D488 */ _t158 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D488 */ _t159 = _t158 & 0x00000001u;
|
|
/* 0280D488 */ if (_t159) goto L_0280D494; else goto L_0280D48C;
|
|
L_0280D48C: ; // 0x280d48c
|
|
/* 0280D48C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[12]);
|
|
/* 0280D490 */ _t160 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D490 */ _t161 = _t160 & 0x00000001u;
|
|
/* 0280D490 */ if (_t161) goto L_0280D494; else goto L_0280D4E0;
|
|
L_0280D494: ; // 0x280d494
|
|
/* 0280D494 */ _t162 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280D494 */ cpu->r[21] = rbrew_read32(cpu->mem, _t162);
|
|
/* 0280D498 */ _t163 = cpu->r[21] + 0x00000004u;
|
|
/* 0280D498 */ cpu->r[5] = rbrew_read32(cpu->mem, _t163);
|
|
/* 0280D49C */ _t164 = cpu->r[5] + 0x00000014u;
|
|
/* 0280D49C */ cpu->r[6] = rbrew_read32(cpu->mem, _t164);
|
|
/* 0280D4A0 */ _t165 = cpu->r[1] + 0x00000010u;
|
|
/* 0280D4A0 */ cpu->r[22] = rbrew_read32(cpu->mem, _t165);
|
|
/* 0280D4A4 */ cpu->ctr = cpu->r[6];
|
|
/* 0280D4A8 */ _t166 = cpu->r[1] + 0x00000040u;
|
|
/* 0280D4A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t166);
|
|
/* 0280D4AC */ cpu->r[4] = cpu->r[0] - cpu->r[22];
|
|
/* 0280D4B0 */ cpu->r[3] = cpu->r[21];
|
|
/* 0280D4B4 */ cpu->r[23] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 0280D4B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D4BC */ _t167 = cpu->r[21] + 0x00000000u;
|
|
/* 0280D4BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t167);
|
|
/* 0280D4C0 */ cpu->r[4] = cpu->r[11];
|
|
/* 0280D4C4 */ cpu->r[0] = cpu->r[24];
|
|
/* 0280D4C8 */ _t168 = cpu->r[4] + 0x00000000u;
|
|
/* 0280D4C8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t168);
|
|
/* 0280D4CC */ cpu->r[5] = 0x00000000u;
|
|
/* 0280D4D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 0280D4D4 */ cpu->r[6] = 0x00080000u;
|
|
/* 0280D4D8 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D4D8 */ _t170 = _t169 & 0x00000001u;
|
|
/* 0280D4D8 */ if (_t170) goto L_0280D4DC; else goto L_0280D5A0;
|
|
L_0280D4DC: ; // 0x280d4dc
|
|
/* 0280D4DC */ goto L_0280D5CC;
|
|
L_0280D4E0: ; // 0x280d4e0
|
|
/* 0280D4E0 */ cpu->r[23] = cpu->r[24];
|
|
/* 0280D4E4 */ _t171 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280D4E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t171);
|
|
/* 0280D4E8 */ _t172 = cpu->r[4] + 0x00000000u;
|
|
/* 0280D4E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t172);
|
|
/* 0280D4EC */ _t173 = cpu->r[9] + cpu->r[22];
|
|
/* 0280D4EC */ cpu->r[10] = rbrew_read8(cpu->mem, _t173);
|
|
/* 0280D4F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[23]);
|
|
/* 0280D4F4 */ cpu->r[21] = cpu->r[9] + cpu->r[22];
|
|
/* 0280D4F8 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D4F8 */ _t175 = _t174 & 0x00000001u;
|
|
/* 0280D4F8 */ if (_t175) goto L_0280D554; else goto L_0280D4FC;
|
|
L_0280D4FC: ; // 0x280d4fc
|
|
/* 0280D4FC */ _t176 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0280D4FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t176);
|
|
/* 0280D500 */ _t177 = cpu->r[11] + 0x00000014u;
|
|
/* 0280D500 */ cpu->r[12] = rbrew_read32(cpu->mem, _t177);
|
|
/* 0280D504 */ cpu->ctr = cpu->r[12];
|
|
/* 0280D508 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 0280D50C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D510 */ cpu->ctr = cpu->r[25];
|
|
/* 0280D514 */ _t178 = cpu->r[1] + 0x00000048u;
|
|
/* 0280D514 */ cpu->r[7] = rbrew_read32(cpu->mem, _t178);
|
|
L_0280D518: ; // 0x280d518
|
|
/* 0280D518 */ _t179 = cpu->r[7] + 0x00000000u;
|
|
/* 0280D518 */ cpu->r[10] = rbrew_read8(cpu->mem, _t179);
|
|
/* 0280D51C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[23]);
|
|
/* 0280D520 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D520 */ _t181 = _t180 & 0x00000001u;
|
|
/* 0280D520 */ if (_t181) goto L_0280D538; else goto L_0280D524;
|
|
L_0280D524: ; // 0x280d524
|
|
/* 0280D524 */ _t182 = cpu->r[21] + 0x00000000u;
|
|
/* 0280D524 */ cpu->r[0] = rbrew_read8(cpu->mem, _t182);
|
|
/* 0280D528 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 0280D52C */ _t183 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D52C */ _t184 = _t183 & 0x00000001u;
|
|
/* 0280D52C */ if (_t184) goto L_0280D554; else goto L_0280D530;
|
|
L_0280D530: ; // 0x280d530
|
|
/* 0280D530 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0280D534 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0280D534 */ _t185 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0280D534 */ _t186 = _t185 >> (0x00000002u & 31u);
|
|
/* 0280D534 */ _t187 = _t186 & 0x00000001u;
|
|
/* 0280D534 */ if (_t187) goto L_0280D518; else goto L_0280D538;
|
|
L_0280D538: ; // 0x280d538
|
|
/* 0280D538 */ _t188 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280D538 */ cpu->r[4] = rbrew_read32(cpu->mem, _t188);
|
|
/* 0280D53C */ _t189 = cpu->r[4] + 0x00000000u;
|
|
/* 0280D53C */ cpu->r[9] = rbrew_read32(cpu->mem, _t189);
|
|
/* 0280D540 */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 0280D544 */ _t190 = cpu->r[9] + cpu->r[22];
|
|
/* 0280D544 */ cpu->r[10] = rbrew_read8(cpu->mem, _t190);
|
|
/* 0280D548 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[23]);
|
|
/* 0280D54C */ cpu->r[21] = cpu->r[9] + cpu->r[22];
|
|
/* 0280D550 */ _t191 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D550 */ _t192 = _t191 & 0x00000001u;
|
|
/* 0280D550 */ if (_t192) goto L_0280D554; else goto L_0280D4FC;
|
|
L_0280D554: ; // 0x280d554
|
|
/* 0280D554 */ _t193 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280D554 */ cpu->r[21] = rbrew_read32(cpu->mem, _t193);
|
|
/* 0280D558 */ cpu->r[0] = cpu->r[22] + 0x00000001u;
|
|
/* 0280D55C */ _t194 = cpu->r[1] + 0x00000040u;
|
|
/* 0280D55C */ rbrew_write32(cpu->mem, _t194, cpu->r[0]);
|
|
/* 0280D560 */ _t195 = cpu->r[21] + 0x00000004u;
|
|
/* 0280D560 */ cpu->r[5] = rbrew_read32(cpu->mem, _t195);
|
|
/* 0280D564 */ _t196 = cpu->r[5] + 0x00000014u;
|
|
/* 0280D564 */ cpu->r[6] = rbrew_read32(cpu->mem, _t196);
|
|
/* 0280D568 */ _t197 = cpu->r[1] + 0x00000010u;
|
|
/* 0280D568 */ cpu->r[22] = rbrew_read32(cpu->mem, _t197);
|
|
/* 0280D56C */ cpu->ctr = cpu->r[6];
|
|
/* 0280D570 */ cpu->r[4] = cpu->r[0] - cpu->r[22];
|
|
/* 0280D574 */ cpu->r[3] = cpu->r[21];
|
|
/* 0280D578 */ cpu->r[23] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 0280D57C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D580 */ _t198 = cpu->r[21] + 0x00000000u;
|
|
/* 0280D580 */ cpu->r[11] = rbrew_read32(cpu->mem, _t198);
|
|
/* 0280D584 */ cpu->r[4] = cpu->r[11];
|
|
/* 0280D588 */ cpu->r[0] = cpu->r[24];
|
|
/* 0280D58C */ _t199 = cpu->r[4] + 0x00000000u;
|
|
/* 0280D58C */ cpu->r[7] = rbrew_read8(cpu->mem, _t199);
|
|
/* 0280D590 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280D594 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 0280D598 */ cpu->r[6] = 0x00080000u;
|
|
/* 0280D59C */ _t200 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D59C */ _t201 = _t200 & 0x00000001u;
|
|
/* 0280D59C */ if (_t201) goto L_0280D5CC; else goto L_0280D5A0;
|
|
L_0280D5A0: ; // 0x280d5a0
|
|
/* 0280D5A0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0280D5A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[6]);
|
|
/* 0280D5A8 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0280D5AC */ _t202 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D5AC */ _t203 = _t202 & 0x00000001u;
|
|
/* 0280D5AC */ if (_t203) goto L_0280D5C8; else goto L_0280D5B0;
|
|
L_0280D5B0: ; // 0x280d5b0
|
|
/* 0280D5B0 */ _t204 = cpu->r[4] + 0x00000000u;
|
|
/* 0280D5B0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t204);
|
|
/* 0280D5B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 0280D5B8 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D5B8 */ _t206 = _t205 & 0x00000001u;
|
|
/* 0280D5B8 */ if (_t206) goto L_0280D5BC; else goto L_0280D5A0;
|
|
L_0280D5BC: ; // 0x280d5bc
|
|
/* 0280D5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0280D5C0 */ _t207 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D5C0 */ _t208 = _t207 & 0x00000001u;
|
|
/* 0280D5C0 */ if (_t208) goto L_0280D5C4; else goto L_0280D5D4;
|
|
L_0280D5C4: ; // 0x280d5c4
|
|
/* 0280D5C4 */ goto L_0280D5DC;
|
|
L_0280D5C8: ; // 0x280d5c8
|
|
/* 0280D5C8 */ cpu->r[5] = 0x00000000u;
|
|
L_0280D5CC: ; // 0x280d5cc
|
|
/* 0280D5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0280D5D0 */ _t209 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D5D0 */ _t210 = _t209 & 0x00000001u;
|
|
/* 0280D5D0 */ if (_t210) goto L_0280D5DC; else goto L_0280D5D4;
|
|
L_0280D5D4: ; // 0x280d5d4
|
|
/* 0280D5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[5]);
|
|
/* 0280D5D8 */ _t211 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D5D8 */ _t212 = _t211 & 0x00000001u;
|
|
/* 0280D5D8 */ if (_t212) goto L_0280D5DC; else goto L_0280D5FC;
|
|
L_0280D5DC: ; // 0x280d5dc
|
|
/* 0280D5DC */ _t213 = cpu->r[26] + 0x000066E8u;
|
|
/* 0280D5DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t213);
|
|
/* 0280D5E0 */ cpu->r[9] = cpu->r[28];
|
|
/* 0280D5E4 */ _t214 = cpu->r[1] + 0x00000060u;
|
|
/* 0280D5E4 */ cpu->r[22] = rbrew_read32(cpu->mem, _t214);
|
|
/* 0280D5E8 */ _t215 = cpu->r[1] + 0x00000038u;
|
|
/* 0280D5E8 */ rbrew_write32(cpu->mem, _t215, cpu->r[9]);
|
|
/* 0280D5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0280D5F0 */ _t216 = cpu->r[1] + 0x00000034u;
|
|
/* 0280D5F0 */ rbrew_write32(cpu->mem, _t216, cpu->r[0]);
|
|
/* 0280D5F4 */ _t217 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D5F4 */ _t218 = _t217 & 0x00000001u;
|
|
/* 0280D5F4 */ if (_t218) goto L_0280D5F8; else goto L_0280D668;
|
|
L_0280D5F8: ; // 0x280d5f8
|
|
/* 0280D5F8 */ goto L_0280D618;
|
|
L_0280D5FC: ; // 0x280d5fc
|
|
/* 0280D5FC */ cpu->r[0] = cpu->r[11] + cpu->r[22];
|
|
/* 0280D600 */ _t219 = cpu->r[1] + 0x00000060u;
|
|
/* 0280D600 */ cpu->r[22] = rbrew_read32(cpu->mem, _t219);
|
|
/* 0280D604 */ cpu->r[9] = cpu->r[28];
|
|
/* 0280D608 */ _t220 = cpu->r[1] + 0x00000034u;
|
|
/* 0280D608 */ rbrew_write32(cpu->mem, _t220, cpu->r[0]);
|
|
/* 0280D60C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0280D610 */ _t221 = cpu->r[1] + 0x00000038u;
|
|
/* 0280D610 */ rbrew_write32(cpu->mem, _t221, cpu->r[9]);
|
|
/* 0280D614 */ _t222 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D614 */ _t223 = _t222 & 0x00000001u;
|
|
/* 0280D614 */ if (_t223) goto L_0280D618; else goto L_0280D668;
|
|
L_0280D618: ; // 0x280d618
|
|
/* 0280D618 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 0280D61C */ Gambit_fn_0280DFE8(cpu);
|
|
/* 0280D620 */ _t224 = cpu->r[1] + 0x00000034u;
|
|
/* 0280D620 */ cpu->r[11] = rbrew_read32(cpu->mem, _t224);
|
|
/* 0280D624 */ cpu->r[0] = cpu->r[24];
|
|
/* 0280D628 */ _t225 = cpu->r[11] + 0x00000000u;
|
|
/* 0280D628 */ cpu->r[9] = rbrew_read8(cpu->mem, _t225);
|
|
/* 0280D62C */ cpu->r[23] = 0x00000000u;
|
|
/* 0280D630 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 0280D634 */ cpu->r[12] = 0x00080000u;
|
|
/* 0280D638 */ _t226 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D638 */ _t227 = _t226 & 0x00000001u;
|
|
/* 0280D638 */ if (_t227) goto L_0280D664; else goto L_0280D63C;
|
|
L_0280D63C: ; // 0x280d63c
|
|
/* 0280D63C */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 0280D640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[12]);
|
|
/* 0280D644 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0280D648 */ _t228 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D648 */ _t229 = _t228 & 0x00000001u;
|
|
/* 0280D648 */ if (_t229) goto L_0280D660; else goto L_0280D64C;
|
|
L_0280D64C: ; // 0x280d64c
|
|
/* 0280D64C */ _t230 = cpu->r[11] + 0x00000000u;
|
|
/* 0280D64C */ cpu->r[10] = rbrew_read8(cpu->mem, _t230);
|
|
/* 0280D650 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 0280D654 */ _t231 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D654 */ _t232 = _t231 & 0x00000001u;
|
|
/* 0280D654 */ if (_t232) goto L_0280D658; else goto L_0280D63C;
|
|
L_0280D658: ; // 0x280d658
|
|
/* 0280D658 */ _t233 = cpu->r[1] + 0x00000038u;
|
|
/* 0280D658 */ cpu->r[9] = rbrew_read32(cpu->mem, _t233);
|
|
/* 0280D65C */ goto L_0280D668;
|
|
L_0280D660: ; // 0x280d660
|
|
/* 0280D660 */ cpu->r[23] = 0x00000000u;
|
|
L_0280D664: ; // 0x280d664
|
|
/* 0280D664 */ _t234 = cpu->r[1] + 0x00000038u;
|
|
/* 0280D664 */ cpu->r[9] = rbrew_read32(cpu->mem, _t234);
|
|
L_0280D668: ; // 0x280d668
|
|
/* 0280D668 */ _t235 = cpu->r[1] + 0x00000068u;
|
|
/* 0280D668 */ cpu->r[11] = rbrew_read32(cpu->mem, _t235);
|
|
/* 0280D66C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[11]);
|
|
/* 0280D670 */ _t236 = cpu->r[9] + 0x00000014u;
|
|
/* 0280D670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t236);
|
|
/* 0280D674 */ _t237 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D674 */ _t238 = _t237 & 0x00000001u;
|
|
/* 0280D674 */ if (_t238) goto L_0280D67C; else goto L_0280D678;
|
|
L_0280D678: ; // 0x280d678
|
|
/* 0280D678 */ cpu->r[23] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0280D67C: ; // 0x280d67c
|
|
/* 0280D67C */ cpu->ctr = cpu->r[0];
|
|
/* 0280D680 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 0280D684 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D688 */ _t239 = cpu->r[1] + 0x00000034u;
|
|
/* 0280D688 */ cpu->r[4] = rbrew_read32(cpu->mem, _t239);
|
|
/* 0280D68C */ cpu->r[3] = cpu->r[22];
|
|
/* 0280D690 */ cpu->r[5] = cpu->r[23];
|
|
/* 0280D694 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280D698 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280D69C */ _t240 = cpu->r[22] + cpu->r[23];
|
|
/* 0280D69C */ rbrew_write8(cpu->mem, _t240, (uint8_t)cpu->r[24]);
|
|
/* 0280D6A0 */ cpu->r[4] = 0x10110000u;
|
|
/* 0280D6A4 */ _t241 = cpu->r[1] + 0x000000F0u;
|
|
/* 0280D6A4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t241);
|
|
/* 0280D6A8 */ cpu->r[4] = cpu->r[4] + 0x00002F5Eu;
|
|
/* 0280D6AC */ _t242 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0280D6AC */ rbrew_write32(cpu->mem, _t242, cpu->r[28]);
|
|
/* 0280D6B0 */ _t243 = cpu->r[1] + 0x00000058u;
|
|
/* 0280D6B0 */ rbrew_write32(cpu->mem, _t243, cpu->r[4]);
|
|
/* 0280D6B4 */ _t244 = cpu->r[5] + 0x00000014u;
|
|
/* 0280D6B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t244);
|
|
/* 0280D6B8 */ cpu->ctr = cpu->r[6];
|
|
/* 0280D6BC */ cpu->r[3] = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D6C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D6C4 */ _t245 = cpu->r[1] + 0x000000F0u;
|
|
/* 0280D6C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t245);
|
|
/* 0280D6C8 */ _t246 = cpu->r[7] + 0x00000014u;
|
|
/* 0280D6C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t246);
|
|
/* 0280D6CC */ cpu->ctr = cpu->r[8];
|
|
/* 0280D6D0 */ cpu->r[3] = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D6D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D6D8 */ _t247 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0280D6D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t247);
|
|
/* 0280D6DC */ _t248 = cpu->r[9] + 0x00000014u;
|
|
/* 0280D6DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t248);
|
|
/* 0280D6E0 */ cpu->ctr = cpu->r[10];
|
|
/* 0280D6E4 */ _t249 = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D6E4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t249);
|
|
/* 0280D6E8 */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 0280D6EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D6F0 */ _t250 = cpu->r[1] + 0x00000058u;
|
|
/* 0280D6F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t250);
|
|
/* 0280D6F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[11]);
|
|
/* 0280D6F8 */ _t251 = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D6F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t251);
|
|
/* 0280D6FC */ _t252 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D6FC */ _t253 = _t252 & 0x00000001u;
|
|
/* 0280D6FC */ if (_t253) goto L_0280D700; else goto L_0280D710;
|
|
L_0280D700: ; // 0x280d700
|
|
/* 0280D700 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280D704 */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0280D704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0280D708 */ _t254 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D708 */ _t255 = _t254 & 0x00000001u;
|
|
/* 0280D708 */ if (_t255) goto L_0280D8E8; else goto L_0280D70C;
|
|
L_0280D70C: ; // 0x280d70c
|
|
/* 0280D70C */ goto L_0280D750;
|
|
L_0280D710: ; // 0x280d710
|
|
/* 0280D710 */ _t256 = cpu->r[1] + 0x00000058u;
|
|
/* 0280D710 */ cpu->r[10] = rbrew_read32(cpu->mem, _t256);
|
|
/* 0280D714 */ cpu->r[7] = cpu->r[24];
|
|
/* 0280D718 */ cpu->ctr = cpu->r[25];
|
|
/* 0280D71C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 0280D720 */ cpu->r[9] = cpu->r[12];
|
|
L_0280D724: ; // 0x280d724
|
|
/* 0280D724 */ _t257 = cpu->r[9] + 0x00000000u;
|
|
/* 0280D724 */ cpu->r[4] = rbrew_read8(cpu->mem, _t257);
|
|
/* 0280D728 */ _t258 = cpu->r[10] + 0x00000001u;
|
|
/* 0280D728 */ cpu->r[0] = rbrew_read8(cpu->mem, _t258);
|
|
/* 0280D728 */ cpu->r[10] = _t258;
|
|
/* 0280D72C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0280D730 */ _t259 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D730 */ _t260 = _t259 & 0x00000001u;
|
|
/* 0280D730 */ if (_t260) goto L_0280D734; else goto L_0280D744;
|
|
L_0280D734: ; // 0x280d734
|
|
/* 0280D734 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[7]);
|
|
/* 0280D738 */ _t261 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D738 */ _t262 = _t261 & 0x00000001u;
|
|
/* 0280D738 */ if (_t262) goto L_0280D700; else goto L_0280D73C;
|
|
L_0280D73C: ; // 0x280d73c
|
|
/* 0280D73C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280D740 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0280D740 */ _t263 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0280D740 */ _t264 = _t263 >> (0x00000002u & 31u);
|
|
/* 0280D740 */ _t265 = _t264 & 0x00000001u;
|
|
/* 0280D740 */ if (_t265) goto L_0280D724; else goto L_0280D744;
|
|
L_0280D744: ; // 0x280d744
|
|
/* 0280D744 */ cpu->r[4] = 0x00000001u;
|
|
/* 0280D748 */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0280D748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0280D74C */ _t266 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D74C */ _t267 = _t266 & 0x00000001u;
|
|
/* 0280D74C */ if (_t267) goto L_0280D8E8; else goto L_0280D750;
|
|
L_0280D750: ; // 0x280d750
|
|
/* 0280D750 */ _t268 = cpu->r[1] + 0x000000F0u;
|
|
/* 0280D750 */ cpu->r[6] = rbrew_read32(cpu->mem, _t268);
|
|
/* 0280D754 */ _t269 = cpu->r[1] + 0x00000054u;
|
|
/* 0280D754 */ rbrew_write32(cpu->mem, _t269, cpu->r[28]);
|
|
/* 0280D758 */ _t270 = cpu->r[1] + 0x00000050u;
|
|
/* 0280D758 */ rbrew_write32(cpu->mem, _t270, cpu->r[16]);
|
|
/* 0280D75C */ _t271 = cpu->r[6] + 0x00000014u;
|
|
/* 0280D75C */ cpu->r[7] = rbrew_read32(cpu->mem, _t271);
|
|
/* 0280D760 */ cpu->ctr = cpu->r[7];
|
|
/* 0280D764 */ cpu->r[3] = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D768 */ cpu->r[22] = cpu->r[12];
|
|
/* 0280D76C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D770 */ _t272 = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D770 */ cpu->r[7] = rbrew_read32(cpu->mem, _t272);
|
|
/* 0280D774 */ cpu->r[5] = cpu->r[24];
|
|
/* 0280D778 */ _t273 = cpu->r[7] + 0x00000000u;
|
|
/* 0280D778 */ cpu->r[8] = rbrew_read8(cpu->mem, _t273);
|
|
/* 0280D77C */ cpu->r[11] = 0x00000000u;
|
|
/* 0280D780 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 0280D784 */ cpu->r[0] = 0x00080000u;
|
|
/* 0280D788 */ _t274 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D788 */ _t275 = _t274 & 0x00000001u;
|
|
/* 0280D788 */ if (_t275) goto L_0280D7FC; else goto L_0280D78C;
|
|
L_0280D78C: ; // 0x280d78c
|
|
/* 0280D78C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0280D790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 0280D794 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0280D798 */ _t276 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D798 */ _t277 = _t276 & 0x00000001u;
|
|
/* 0280D798 */ if (_t277) goto L_0280D7C0; else goto L_0280D79C;
|
|
L_0280D79C: ; // 0x280d79c
|
|
/* 0280D79C */ _t278 = cpu->r[7] + 0x00000000u;
|
|
/* 0280D79C */ cpu->r[9] = rbrew_read8(cpu->mem, _t278);
|
|
/* 0280D7A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[5]);
|
|
/* 0280D7A4 */ _t279 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D7A4 */ _t280 = _t279 & 0x00000001u;
|
|
/* 0280D7A4 */ if (_t280) goto L_0280D7A8; else goto L_0280D78C;
|
|
L_0280D7A8: ; // 0x280d7a8
|
|
/* 0280D7A8 */ _t281 = cpu->r[1] + 0x00000054u;
|
|
/* 0280D7A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t281);
|
|
/* 0280D7AC */ cpu->r[23] = cpu->r[11];
|
|
/* 0280D7B0 */ cpu->r[19] = cpu->r[23];
|
|
/* 0280D7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0280D7B4 */ _t282 = cpu->r[10] + 0x00000014u;
|
|
/* 0280D7B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t282);
|
|
/* 0280D7B8 */ _t283 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D7B8 */ _t284 = _t283 & 0x00000001u;
|
|
/* 0280D7B8 */ if (_t284) goto L_0280D7BC; else goto L_0280D814;
|
|
L_0280D7BC: ; // 0x280d7bc
|
|
/* 0280D7BC */ goto L_0280D810;
|
|
L_0280D7C0: ; // 0x280d7c0
|
|
/* 0280D7C0 */ _t285 = cpu->r[1] + 0x00000054u;
|
|
/* 0280D7C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t285);
|
|
/* 0280D7C4 */ _t286 = cpu->r[10] + 0x00000014u;
|
|
/* 0280D7C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t286);
|
|
/* 0280D7C8 */ cpu->r[23] = 0x00000000u;
|
|
/* 0280D7CC */ cpu->ctr = cpu->r[0];
|
|
/* 0280D7D0 */ cpu->r[19] = cpu->r[23];
|
|
/* 0280D7D4 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 0280D7D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D7DC */ _t287 = cpu->r[1] + 0x00000050u;
|
|
/* 0280D7DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t287);
|
|
/* 0280D7E0 */ cpu->r[0] = cpu->r[24];
|
|
/* 0280D7E4 */ _t288 = cpu->r[5] + 0x00000000u;
|
|
/* 0280D7E4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t288);
|
|
/* 0280D7E8 */ cpu->r[9] = 0x00000000u;
|
|
/* 0280D7EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 0280D7F0 */ cpu->r[6] = 0x00080000u;
|
|
/* 0280D7F4 */ _t289 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D7F4 */ _t290 = _t289 & 0x00000001u;
|
|
/* 0280D7F4 */ if (_t290) goto L_0280D888; else goto L_0280D7F8;
|
|
L_0280D7F8: ; // 0x280d7f8
|
|
/* 0280D7F8 */ goto L_0280D83C;
|
|
L_0280D7FC: ; // 0x280d7fc
|
|
/* 0280D7FC */ _t291 = cpu->r[1] + 0x00000054u;
|
|
/* 0280D7FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t291);
|
|
/* 0280D800 */ cpu->r[23] = cpu->r[11];
|
|
/* 0280D804 */ cpu->r[19] = cpu->r[23];
|
|
/* 0280D804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0280D808 */ _t292 = cpu->r[10] + 0x00000014u;
|
|
/* 0280D808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t292);
|
|
/* 0280D80C */ _t293 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D80C */ _t294 = _t293 & 0x00000001u;
|
|
/* 0280D80C */ if (_t294) goto L_0280D810; else goto L_0280D814;
|
|
L_0280D810: ; // 0x280d810
|
|
/* 0280D810 */ cpu->r[19] = 0x00000000u;
|
|
L_0280D814: ; // 0x280d814
|
|
/* 0280D814 */ cpu->ctr = cpu->r[0];
|
|
/* 0280D818 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 0280D81C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D820 */ _t295 = cpu->r[1] + 0x00000050u;
|
|
/* 0280D820 */ cpu->r[5] = rbrew_read32(cpu->mem, _t295);
|
|
/* 0280D824 */ cpu->r[0] = cpu->r[24];
|
|
/* 0280D828 */ _t296 = cpu->r[5] + 0x00000000u;
|
|
/* 0280D828 */ cpu->r[12] = rbrew_read8(cpu->mem, _t296);
|
|
/* 0280D82C */ cpu->r[9] = 0x00000000u;
|
|
/* 0280D830 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 0280D834 */ cpu->r[6] = 0x00080000u;
|
|
/* 0280D838 */ _t297 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D838 */ _t298 = _t297 & 0x00000001u;
|
|
/* 0280D838 */ if (_t298) goto L_0280D888; else goto L_0280D83C;
|
|
L_0280D83C: ; // 0x280d83c
|
|
/* 0280D83C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280D840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[6]);
|
|
/* 0280D844 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0280D848 */ _t299 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D848 */ _t300 = _t299 & 0x00000001u;
|
|
/* 0280D848 */ if (_t300) goto L_0280D870; else goto L_0280D84C;
|
|
L_0280D84C: ; // 0x280d84c
|
|
/* 0280D84C */ _t301 = cpu->r[5] + 0x00000000u;
|
|
/* 0280D84C */ cpu->r[4] = rbrew_read8(cpu->mem, _t301);
|
|
/* 0280D850 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0280D854 */ _t302 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D854 */ _t303 = _t302 & 0x00000001u;
|
|
/* 0280D854 */ if (_t303) goto L_0280D858; else goto L_0280D83C;
|
|
L_0280D858: ; // 0x280d858
|
|
/* 0280D858 */ _t304 = cpu->r[1] + 0x000000F4u;
|
|
/* 0280D858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t304);
|
|
/* 0280D85C */ cpu->r[20] = cpu->r[9];
|
|
/* 0280D860 */ cpu->r[9] = cpu->r[0] - cpu->r[19];
|
|
/* 0280D864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[9]);
|
|
/* 0280D868 */ _t305 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D868 */ _t306 = _t305 & 0x00000001u;
|
|
/* 0280D868 */ if (_t306) goto L_0280D8A0; else goto L_0280D86C;
|
|
L_0280D86C: ; // 0x280d86c
|
|
/* 0280D86C */ goto L_0280D89C;
|
|
L_0280D870: ; // 0x280d870
|
|
/* 0280D870 */ _t307 = cpu->r[1] + 0x000000F4u;
|
|
/* 0280D870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t307);
|
|
/* 0280D874 */ cpu->r[20] = 0x00000000u;
|
|
/* 0280D878 */ cpu->r[9] = cpu->r[0] - cpu->r[19];
|
|
/* 0280D87C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[9]);
|
|
/* 0280D880 */ _t308 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D880 */ _t309 = _t308 & 0x00000001u;
|
|
/* 0280D880 */ if (_t309) goto L_0280D8A0; else goto L_0280D884;
|
|
L_0280D884: ; // 0x280d884
|
|
/* 0280D884 */ goto L_0280D89C;
|
|
L_0280D888: ; // 0x280d888
|
|
/* 0280D888 */ _t310 = cpu->r[1] + 0x000000F4u;
|
|
/* 0280D888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t310);
|
|
/* 0280D88C */ cpu->r[20] = cpu->r[9];
|
|
/* 0280D890 */ cpu->r[9] = cpu->r[0] - cpu->r[19];
|
|
/* 0280D894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[9]);
|
|
/* 0280D898 */ _t311 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D898 */ _t312 = _t311 & 0x00000001u;
|
|
/* 0280D898 */ if (_t312) goto L_0280D8A0; else goto L_0280D89C;
|
|
L_0280D89C: ; // 0x280d89c
|
|
/* 0280D89C */ cpu->r[20] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0280D8A0: ; // 0x280d8a0
|
|
/* 0280D8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0280D8A4 */ _t313 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D8A4 */ _t314 = _t313 & 0x00000001u;
|
|
/* 0280D8A4 */ if (_t314) goto L_0280D8A8; else goto L_0280D8E4;
|
|
L_0280D8A8: ; // 0x280d8a8
|
|
/* 0280D8A8 */ _t315 = cpu->r[1] + 0x00000054u;
|
|
/* 0280D8A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t315);
|
|
/* 0280D8AC */ _t316 = cpu->r[5] + 0x00000014u;
|
|
/* 0280D8AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t316);
|
|
/* 0280D8B0 */ cpu->ctr = cpu->r[6];
|
|
/* 0280D8B4 */ cpu->r[21] = cpu->r[22] + cpu->r[19];
|
|
/* 0280D8B8 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 0280D8BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D8C0 */ _t317 = cpu->r[1] + 0x00000050u;
|
|
/* 0280D8C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t317);
|
|
/* 0280D8C4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280D8C8 */ cpu->r[5] = cpu->r[20];
|
|
/* 0280D8CC */ cpu->r[3] = cpu->r[21];
|
|
/* 0280D8D0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280D8D4 */ cpu->r[7] = cpu->r[19] + cpu->r[20];
|
|
/* 0280D8D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[23]);
|
|
/* 0280D8DC */ _t318 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D8DC */ _t319 = _t318 & 0x00000001u;
|
|
/* 0280D8DC */ if (_t319) goto L_0280D8E0; else goto L_0280D8E4;
|
|
L_0280D8E0: ; // 0x280d8e0
|
|
/* 0280D8E0 */ _t320 = cpu->r[22] + cpu->r[7];
|
|
/* 0280D8E0 */ rbrew_write8(cpu->mem, _t320, (uint8_t)cpu->r[24]);
|
|
L_0280D8E4: ; // 0x280d8e4
|
|
/* 0280D8E4 */ _t321 = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D8E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t321);
|
|
L_0280D8E8: ; // 0x280d8e8
|
|
/* 0280D8E8 */ _t322 = cpu->r[1] + 0x000000F0u;
|
|
/* 0280D8E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t322);
|
|
/* 0280D8EC */ _t323 = cpu->r[7] + 0x00000014u;
|
|
/* 0280D8EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t323);
|
|
/* 0280D8F0 */ cpu->ctr = cpu->r[8];
|
|
/* 0280D8F4 */ cpu->r[22] = cpu->r[12];
|
|
/* 0280D8F8 */ cpu->r[3] = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D8FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D900 */ _t324 = cpu->r[1] + 0x000000ECu;
|
|
/* 0280D900 */ cpu->r[11] = rbrew_read32(cpu->mem, _t324);
|
|
/* 0280D904 */ cpu->r[12] = cpu->r[24];
|
|
/* 0280D908 */ _t325 = cpu->r[11] + 0x00000000u;
|
|
/* 0280D908 */ cpu->r[0] = rbrew_read8(cpu->mem, _t325);
|
|
/* 0280D90C */ cpu->r[4] = 0x00000000u;
|
|
/* 0280D910 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 0280D914 */ cpu->r[0] = 0x00080000u;
|
|
/* 0280D918 */ _t326 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D918 */ _t327 = _t326 & 0x00000001u;
|
|
/* 0280D918 */ if (_t327) goto L_0280D98C; else goto L_0280D91C;
|
|
L_0280D91C: ; // 0x280d91c
|
|
/* 0280D91C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0280D920 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 0280D924 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0280D928 */ _t328 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D928 */ _t329 = _t328 & 0x00000001u;
|
|
/* 0280D928 */ if (_t329) goto L_0280D950; else goto L_0280D92C;
|
|
L_0280D92C: ; // 0x280d92c
|
|
/* 0280D92C */ _t330 = cpu->r[11] + 0x00000000u;
|
|
/* 0280D92C */ cpu->r[10] = rbrew_read8(cpu->mem, _t330);
|
|
/* 0280D930 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
|
|
/* 0280D934 */ _t331 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D934 */ _t332 = _t331 & 0x00000001u;
|
|
/* 0280D934 */ if (_t332) goto L_0280D938; else goto L_0280D91C;
|
|
L_0280D938: ; // 0x280d938
|
|
/* 0280D938 */ _t333 = cpu->r[1] + 0x00000064u;
|
|
/* 0280D938 */ cpu->r[12] = rbrew_read32(cpu->mem, _t333);
|
|
/* 0280D93C */ cpu->r[23] = cpu->r[4];
|
|
/* 0280D940 */ cpu->r[19] = cpu->r[23];
|
|
/* 0280D940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0280D944 */ _t334 = cpu->r[12] + 0x00000014u;
|
|
/* 0280D944 */ cpu->r[4] = rbrew_read32(cpu->mem, _t334);
|
|
/* 0280D948 */ _t335 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D948 */ _t336 = _t335 & 0x00000001u;
|
|
/* 0280D948 */ if (_t336) goto L_0280D94C; else goto L_0280D9A4;
|
|
L_0280D94C: ; // 0x280d94c
|
|
/* 0280D94C */ goto L_0280D9A0;
|
|
L_0280D950: ; // 0x280d950
|
|
/* 0280D950 */ _t337 = cpu->r[1] + 0x00000064u;
|
|
/* 0280D950 */ cpu->r[12] = rbrew_read32(cpu->mem, _t337);
|
|
/* 0280D954 */ _t338 = cpu->r[12] + 0x00000014u;
|
|
/* 0280D954 */ cpu->r[4] = rbrew_read32(cpu->mem, _t338);
|
|
/* 0280D958 */ cpu->r[23] = 0x00000000u;
|
|
/* 0280D95C */ cpu->ctr = cpu->r[4];
|
|
/* 0280D960 */ cpu->r[19] = cpu->r[23];
|
|
/* 0280D964 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 0280D968 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D96C */ _t339 = cpu->r[1] + 0x00000060u;
|
|
/* 0280D96C */ cpu->r[9] = rbrew_read32(cpu->mem, _t339);
|
|
/* 0280D970 */ cpu->r[11] = cpu->r[24];
|
|
/* 0280D974 */ _t340 = cpu->r[9] + 0x00000000u;
|
|
/* 0280D974 */ cpu->r[5] = rbrew_read8(cpu->mem, _t340);
|
|
/* 0280D978 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280D97C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[11]);
|
|
/* 0280D980 */ cpu->r[10] = 0x00080000u;
|
|
/* 0280D984 */ _t341 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D984 */ _t342 = _t341 & 0x00000001u;
|
|
/* 0280D984 */ if (_t342) goto L_0280DA18; else goto L_0280D988;
|
|
L_0280D988: ; // 0x280d988
|
|
/* 0280D988 */ goto L_0280D9CC;
|
|
L_0280D98C: ; // 0x280d98c
|
|
/* 0280D98C */ _t343 = cpu->r[1] + 0x00000064u;
|
|
/* 0280D98C */ cpu->r[12] = rbrew_read32(cpu->mem, _t343);
|
|
/* 0280D990 */ cpu->r[23] = cpu->r[4];
|
|
/* 0280D994 */ cpu->r[19] = cpu->r[23];
|
|
/* 0280D994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0280D998 */ _t344 = cpu->r[12] + 0x00000014u;
|
|
/* 0280D998 */ cpu->r[4] = rbrew_read32(cpu->mem, _t344);
|
|
/* 0280D99C */ _t345 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D99C */ _t346 = _t345 & 0x00000001u;
|
|
/* 0280D99C */ if (_t346) goto L_0280D9A0; else goto L_0280D9A4;
|
|
L_0280D9A0: ; // 0x280d9a0
|
|
/* 0280D9A0 */ cpu->r[19] = 0x00000000u;
|
|
L_0280D9A4: ; // 0x280d9a4
|
|
/* 0280D9A4 */ cpu->ctr = cpu->r[4];
|
|
/* 0280D9A8 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 0280D9AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280D9B0 */ _t347 = cpu->r[1] + 0x00000060u;
|
|
/* 0280D9B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t347);
|
|
/* 0280D9B4 */ cpu->r[11] = cpu->r[24];
|
|
/* 0280D9B8 */ _t348 = cpu->r[9] + 0x00000000u;
|
|
/* 0280D9B8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t348);
|
|
/* 0280D9BC */ cpu->r[6] = 0x00000000u;
|
|
/* 0280D9C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[11]);
|
|
/* 0280D9C4 */ cpu->r[10] = 0x00080000u;
|
|
/* 0280D9C8 */ _t349 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D9C8 */ _t350 = _t349 & 0x00000001u;
|
|
/* 0280D9C8 */ if (_t350) goto L_0280DA18; else goto L_0280D9CC;
|
|
L_0280D9CC: ; // 0x280d9cc
|
|
/* 0280D9CC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0280D9D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]);
|
|
/* 0280D9D4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280D9D8 */ _t351 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D9D8 */ _t352 = _t351 & 0x00000001u;
|
|
/* 0280D9D8 */ if (_t352) goto L_0280DA00; else goto L_0280D9DC;
|
|
L_0280D9DC: ; // 0x280d9dc
|
|
/* 0280D9DC */ _t353 = cpu->r[9] + 0x00000000u;
|
|
/* 0280D9DC */ cpu->r[7] = rbrew_read8(cpu->mem, _t353);
|
|
/* 0280D9E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[11]);
|
|
/* 0280D9E4 */ _t354 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D9E4 */ _t355 = _t354 & 0x00000001u;
|
|
/* 0280D9E4 */ if (_t355) goto L_0280D9E8; else goto L_0280D9CC;
|
|
L_0280D9E8: ; // 0x280d9e8
|
|
/* 0280D9E8 */ _t356 = cpu->r[1] + 0x000000F4u;
|
|
/* 0280D9E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t356);
|
|
/* 0280D9EC */ cpu->r[20] = cpu->r[6];
|
|
/* 0280D9F0 */ cpu->r[10] = cpu->r[0] - cpu->r[19];
|
|
/* 0280D9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[10]);
|
|
/* 0280D9F8 */ _t357 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280D9F8 */ _t358 = _t357 & 0x00000001u;
|
|
/* 0280D9F8 */ if (_t358) goto L_0280DA30; else goto L_0280D9FC;
|
|
L_0280D9FC: ; // 0x280d9fc
|
|
/* 0280D9FC */ goto L_0280DA2C;
|
|
L_0280DA00: ; // 0x280da00
|
|
/* 0280DA00 */ _t359 = cpu->r[1] + 0x000000F4u;
|
|
/* 0280DA00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t359);
|
|
/* 0280DA04 */ cpu->r[20] = 0x00000000u;
|
|
/* 0280DA08 */ cpu->r[10] = cpu->r[0] - cpu->r[19];
|
|
/* 0280DA0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[10]);
|
|
/* 0280DA10 */ _t360 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280DA10 */ _t361 = _t360 & 0x00000001u;
|
|
/* 0280DA10 */ if (_t361) goto L_0280DA30; else goto L_0280DA14;
|
|
L_0280DA14: ; // 0x280da14
|
|
/* 0280DA14 */ goto L_0280DA2C;
|
|
L_0280DA18: ; // 0x280da18
|
|
/* 0280DA18 */ _t362 = cpu->r[1] + 0x000000F4u;
|
|
/* 0280DA18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t362);
|
|
/* 0280DA1C */ cpu->r[20] = cpu->r[6];
|
|
/* 0280DA20 */ cpu->r[10] = cpu->r[0] - cpu->r[19];
|
|
/* 0280DA24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], cpu->r[10]);
|
|
/* 0280DA28 */ _t363 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280DA28 */ _t364 = _t363 & 0x00000001u;
|
|
/* 0280DA28 */ if (_t364) goto L_0280DA30; else goto L_0280DA2C;
|
|
L_0280DA2C: ; // 0x280da2c
|
|
/* 0280DA2C */ cpu->r[20] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0280DA30: ; // 0x280da30
|
|
/* 0280DA30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0280DA34 */ _t365 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280DA34 */ _t366 = _t365 & 0x00000001u;
|
|
/* 0280DA34 */ if (_t366) goto L_0280DA38; else goto L_0280DA74;
|
|
L_0280DA38: ; // 0x280da38
|
|
/* 0280DA38 */ _t367 = cpu->r[1] + 0x00000064u;
|
|
/* 0280DA38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t367);
|
|
/* 0280DA3C */ _t368 = cpu->r[8] + 0x00000014u;
|
|
/* 0280DA3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t368);
|
|
/* 0280DA40 */ cpu->ctr = cpu->r[9];
|
|
/* 0280DA44 */ cpu->r[21] = cpu->r[22] + cpu->r[19];
|
|
/* 0280DA48 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 0280DA4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280DA50 */ _t369 = cpu->r[1] + 0x00000060u;
|
|
/* 0280DA50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t369);
|
|
/* 0280DA54 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280DA58 */ cpu->r[5] = cpu->r[20];
|
|
/* 0280DA5C */ cpu->r[3] = cpu->r[21];
|
|
/* 0280DA60 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280DA64 */ cpu->r[8] = cpu->r[19] + cpu->r[20];
|
|
/* 0280DA68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[23]);
|
|
/* 0280DA6C */ _t370 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280DA6C */ _t371 = _t370 & 0x00000001u;
|
|
/* 0280DA6C */ if (_t371) goto L_0280DA70; else goto L_0280DA74;
|
|
L_0280DA70: ; // 0x280da70
|
|
/* 0280DA70 */ _t372 = cpu->r[22] + cpu->r[8];
|
|
/* 0280DA70 */ rbrew_write8(cpu->mem, _t372, (uint8_t)cpu->r[24]);
|
|
L_0280DA74: ; // 0x280da74
|
|
/* 0280DA74 */ cpu->r[5] = cpu->r[14];
|
|
/* 0280DA78 */ cpu->r[4] = cpu->r[1] + 0x000000ECu;
|
|
/* 0280DA7C */ cpu->r[3] = cpu->r[18];
|
|
/* 0280DA80 */ Gambit_fn_0280D01C(cpu);
|
|
/* 0280DA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DA88 */ _t373 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DA88 */ _t374 = _t373 & 0x00000001u;
|
|
/* 0280DA88 */ if (_t374) goto L_0280DA8C; else goto L_0280DAA4;
|
|
L_0280DA8C: ; // 0x280da8c
|
|
/* 0280DA8C */ /* nop */
|
|
/* 0280DA90 */ _t375 = cpu->r[1] + 0x00000344u;
|
|
/* 0280DA90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t375);
|
|
/* 0280DA94 */ cpu->lr = cpu->r[0];
|
|
/* 0280DA98 */ cpu->r[1] = cpu->r[1] + 0x00000340u;
|
|
/* 0280DA9C */ cpu->r[3] = 0x00000000u;
|
|
/* 0280DAA0 */ return;
|
|
L_0280DAA4: ; // 0x280daa4
|
|
/* 0280DAA4 */ _t376 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280DAA4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t376);
|
|
/* 0280DAA8 */ _t377 = cpu->r[23] + 0x00000004u;
|
|
/* 0280DAA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t377);
|
|
/* 0280DAAC */ _t378 = cpu->r[10] + 0x00000014u;
|
|
/* 0280DAAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t378);
|
|
/* 0280DAB0 */ cpu->ctr = cpu->r[11];
|
|
/* 0280DAB4 */ _t379 = cpu->r[1] + 0x00000010u;
|
|
/* 0280DAB4 */ cpu->r[21] = rbrew_read32(cpu->mem, _t379);
|
|
/* 0280DAB8 */ cpu->r[3] = cpu->r[23];
|
|
/* 0280DABC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280DAC0 */ _t380 = cpu->r[23] + 0x00000000u;
|
|
/* 0280DAC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t380);
|
|
/* 0280DAC4 */ cpu->r[10] = cpu->r[24];
|
|
/* 0280DAC8 */ _t381 = cpu->r[7] + 0x00000000u;
|
|
/* 0280DAC8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t381);
|
|
/* 0280DACC */ cpu->r[4] = 0x00000000u;
|
|
/* 0280DAD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 0280DAD4 */ cpu->r[8] = 0x00080000u;
|
|
/* 0280DAD8 */ _t382 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DAD8 */ _t383 = _t382 & 0x00000001u;
|
|
/* 0280DAD8 */ if (_t383) goto L_0280D3F0; else goto L_0280DADC;
|
|
L_0280DADC: ; // 0x280dadc
|
|
/* 0280DADC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0280DAE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[8]);
|
|
/* 0280DAE4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0280DAE8 */ _t384 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280DAE8 */ _t385 = _t384 & 0x00000001u;
|
|
/* 0280DAE8 */ if (_t385) goto L_0280DB04; else goto L_0280DAEC;
|
|
L_0280DAEC: ; // 0x280daec
|
|
/* 0280DAEC */ _t386 = cpu->r[7] + 0x00000000u;
|
|
/* 0280DAEC */ cpu->r[0] = rbrew_read8(cpu->mem, _t386);
|
|
/* 0280DAF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 0280DAF4 */ _t387 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DAF4 */ _t388 = _t387 & 0x00000001u;
|
|
/* 0280DAF4 */ if (_t388) goto L_0280DAF8; else goto L_0280DADC;
|
|
L_0280DAF8: ; // 0x280daf8
|
|
/* 0280DAF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0280DAFC */ _t389 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280DAFC */ _t390 = _t389 & 0x00000001u;
|
|
/* 0280DAFC */ if (_t390) goto L_0280DB00; else goto L_0280DB10;
|
|
L_0280DB00: ; // 0x280db00
|
|
/* 0280DB00 */ goto L_0280DB18;
|
|
L_0280DB04: ; // 0x280db04
|
|
/* 0280DB04 */ cpu->r[4] = 0x00000000u;
|
|
L_0280DB08: ; // 0x280db08
|
|
/* 0280DB08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0280DB0C */ _t391 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280DB0C */ _t392 = _t391 & 0x00000001u;
|
|
/* 0280DB0C */ if (_t392) goto L_0280DB18; else goto L_0280DB10;
|
|
L_0280DB10: ; // 0x280db10
|
|
/* 0280DB10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[4]);
|
|
/* 0280DB14 */ _t393 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280DB14 */ _t394 = _t393 & 0x00000001u;
|
|
/* 0280DB14 */ if (_t394) goto L_0280DB18; else goto L_0280DB2C;
|
|
L_0280DB18: ; // 0x280db18
|
|
/* 0280DB18 */ _t395 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280DB18 */ cpu->r[23] = rbrew_read32(cpu->mem, _t395);
|
|
/* 0280DB1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[30]);
|
|
/* 0280DB20 */ _t396 = cpu->r[1] + 0x00000010u;
|
|
/* 0280DB20 */ cpu->r[22] = rbrew_read32(cpu->mem, _t396);
|
|
/* 0280DB24 */ _t397 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DB24 */ _t398 = _t397 & 0x00000001u;
|
|
/* 0280DB24 */ if (_t398) goto L_0280DB28; else goto L_0280D3B0;
|
|
L_0280DB28: ; // 0x280db28
|
|
/* 0280DB28 */ goto L_0280DBC8;
|
|
L_0280DB2C: ; // 0x280db2c
|
|
/* 0280DB2C */ _t399 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280DB2C */ cpu->r[23] = rbrew_read32(cpu->mem, _t399);
|
|
/* 0280DB30 */ _t400 = cpu->r[23] + 0x00000000u;
|
|
/* 0280DB30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t400);
|
|
/* 0280DB34 */ _t401 = cpu->r[5] + cpu->r[21];
|
|
/* 0280DB34 */ cpu->r[6] = rbrew_read8(cpu->mem, _t401);
|
|
/* 0280DB38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[24]);
|
|
/* 0280DB3C */ cpu->r[22] = cpu->r[5] + cpu->r[21];
|
|
/* 0280DB40 */ _t402 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DB40 */ _t403 = _t402 & 0x00000001u;
|
|
/* 0280DB40 */ if (_t403) goto L_0280DBB8; else goto L_0280DB44;
|
|
L_0280DB44: ; // 0x280db44
|
|
/* 0280DB44 */ _t404 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280DB44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t404);
|
|
/* 0280DB48 */ _t405 = cpu->r[7] + 0x00000014u;
|
|
/* 0280DB48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t405);
|
|
/* 0280DB4C */ cpu->ctr = cpu->r[8];
|
|
/* 0280DB50 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0280DB54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280DB58 */ _t406 = cpu->r[1] + 0x00000018u;
|
|
/* 0280DB58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t406);
|
|
/* 0280DB5C */ cpu->ctr = cpu->r[25];
|
|
/* 0280DB60 */ cpu->r[0] = cpu->r[24];
|
|
L_0280DB64: ; // 0x280db64
|
|
/* 0280DB64 */ _t407 = cpu->r[6] + 0x00000000u;
|
|
/* 0280DB64 */ cpu->r[5] = rbrew_read8(cpu->mem, _t407);
|
|
/* 0280DB68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 0280DB6C */ _t408 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DB6C */ _t409 = _t408 & 0x00000001u;
|
|
/* 0280DB6C */ if (_t409) goto L_0280DB9C; else goto L_0280DB70;
|
|
L_0280DB70: ; // 0x280db70
|
|
/* 0280DB70 */ _t410 = cpu->r[22] + 0x00000000u;
|
|
/* 0280DB70 */ cpu->r[9] = rbrew_read8(cpu->mem, _t410);
|
|
/* 0280DB74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[9]);
|
|
/* 0280DB78 */ _t411 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DB78 */ _t412 = _t411 & 0x00000001u;
|
|
/* 0280DB78 */ if (_t412) goto L_0280DB7C; else goto L_0280DB94;
|
|
L_0280DB7C: ; // 0x280db7c
|
|
/* 0280DB7C */ _t413 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280DB7C */ cpu->r[23] = rbrew_read32(cpu->mem, _t413);
|
|
/* 0280DB80 */ cpu->r[22] = cpu->r[21] + 0x00000001u;
|
|
/* 0280DB84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[30]);
|
|
/* 0280DB88 */ _t414 = cpu->r[1] + 0x00000010u;
|
|
/* 0280DB88 */ rbrew_write32(cpu->mem, _t414, cpu->r[22]);
|
|
/* 0280DB8C */ _t415 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DB8C */ _t416 = _t415 & 0x00000001u;
|
|
/* 0280DB8C */ if (_t416) goto L_0280DB90; else goto L_0280D3B0;
|
|
L_0280DB90: ; // 0x280db90
|
|
/* 0280DB90 */ goto L_0280DBC8;
|
|
L_0280DB94: ; // 0x280db94
|
|
/* 0280DB94 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0280DB98 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0280DB98 */ _t417 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0280DB98 */ _t418 = _t417 >> (0x00000002u & 31u);
|
|
/* 0280DB98 */ _t419 = _t418 & 0x00000001u;
|
|
/* 0280DB98 */ if (_t419) goto L_0280DB64; else goto L_0280DB9C;
|
|
L_0280DB9C: ; // 0x280db9c
|
|
/* 0280DB9C */ _t420 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280DB9C */ cpu->r[23] = rbrew_read32(cpu->mem, _t420);
|
|
/* 0280DBA0 */ _t421 = cpu->r[23] + 0x00000000u;
|
|
/* 0280DBA0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t421);
|
|
/* 0280DBA4 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 0280DBA8 */ _t422 = cpu->r[5] + cpu->r[21];
|
|
/* 0280DBA8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t422);
|
|
/* 0280DBAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[24]);
|
|
/* 0280DBB0 */ cpu->r[22] = cpu->r[5] + cpu->r[21];
|
|
/* 0280DBB4 */ _t423 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DBB4 */ _t424 = _t423 & 0x00000001u;
|
|
/* 0280DBB4 */ if (_t424) goto L_0280DBB8; else goto L_0280DB44;
|
|
L_0280DBB8: ; // 0x280dbb8
|
|
/* 0280DBB8 */ cpu->r[22] = cpu->r[21] + 0x00000001u;
|
|
/* 0280DBBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[30]);
|
|
/* 0280DBC0 */ _t425 = cpu->r[1] + 0x00000010u;
|
|
/* 0280DBC0 */ rbrew_write32(cpu->mem, _t425, cpu->r[22]);
|
|
/* 0280DBC4 */ _t426 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DBC4 */ _t427 = _t426 & 0x00000001u;
|
|
/* 0280DBC4 */ if (_t427) goto L_0280DBC8; else goto L_0280D3B0;
|
|
L_0280DBC8: ; // 0x280dbc8
|
|
/* 0280DBC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[29]);
|
|
/* 0280DBCC */ _t428 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DBCC */ _t429 = _t428 & 0x00000001u;
|
|
/* 0280DBCC */ if (_t429) goto L_0280DBD0; else goto L_0280D3B0;
|
|
L_0280DBD0: ; // 0x280dbd0
|
|
/* 0280DBD0 */ /* nop */
|
|
/* 0280DBD4 */ _t430 = cpu->r[1] + 0x00000344u;
|
|
/* 0280DBD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t430);
|
|
/* 0280DBD8 */ cpu->lr = cpu->r[0];
|
|
/* 0280DBDC */ cpu->r[1] = cpu->r[1] + 0x00000340u;
|
|
/* 0280DBE0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280DBE4 */ return;
|
|
}
|
|
|
|
// fn_0280DBE8 @ 0x280dbe8
|
|
void Gambit_fn_0280DBE8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0280DBE8: ; // 0x280dbe8
|
|
/* 0280DBE8 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 0280DBE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280DBEC */ cpu->r[12] = cpu->r[0] ^ cpu->r[3];
|
|
/* 0280DBF0 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 0280DBF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0280DBF8 */ return;
|
|
}
|
|
|
|
// fn_0280DBFC @ 0x280dbfc
|
|
void Gambit_fn_0280DBFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70;
|
|
|
|
L_0280DBFC: ; // 0x280dbfc
|
|
/* 0280DBFC */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 0280DBFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280DBFC */ cpu->r[1] = _t0;
|
|
/* 0280DC00 */ /* nop */
|
|
/* 0280DC04 */ cpu->r[0] = cpu->lr;
|
|
/* 0280DC08 */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 0280DC08 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280DC0C */ cpu->r[27] = cpu->r[4];
|
|
/* 0280DC10 */ _t2 = cpu->r[27] + 0x00000008u;
|
|
/* 0280DC10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280DC14 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280DC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280DC1C */ cpu->r[29] = 0x00000000u;
|
|
/* 0280DC20 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DC20 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280DC20 */ if (_t4) goto L_0280DC30; else goto L_0280DC24;
|
|
L_0280DC24: ; // 0x280dc24
|
|
/* 0280DC24 */ _t5 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280DC24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280DC28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0280DC2C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DC2C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280DC2C */ if (_t7) goto L_0280DDC0; else goto L_0280DC30;
|
|
L_0280DC30: ; // 0x280dc30
|
|
/* 0280DC30 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280DC34 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0280DC34 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0280DC38 */ cpu->r[4] = 0x00000020u;
|
|
/* 0280DC3C */ cpu->r[0] = cpu->r[0] + 0x00002EBCu;
|
|
/* 0280DC40 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DC40 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 0280DC44 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0280DC48 */ _t10 = cpu->r[1] + 0x00000038u;
|
|
/* 0280DC48 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0280DC4C */ Gambit_fn_02C89380(cpu);
|
|
/* 0280DC50 */ cpu->r[28] = 0x10110000u;
|
|
/* 0280DC54 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280DC58 */ _t11 = cpu->r[27] + 0x00000018u;
|
|
/* 0280DC58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280DC5C */ cpu->r[28] = cpu->r[28] + 0x00002ECCu;
|
|
/* 0280DC60 */ cpu->r[5] = cpu->r[27];
|
|
/* 0280DC64 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DC68 */ _t12 = cpu->r[1] + 0x00000038u;
|
|
/* 0280DC68 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 0280DC6C */ cpu->r[6] = 0x00000000u;
|
|
/* 0280DC70 */ _t13 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280DC70 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 0280DC74 */ Gambit_fn_0280C9B0(cpu);
|
|
/* 0280DC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DC7C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DC7C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280DC7C */ if (_t15) goto L_0280DDA8; else goto L_0280DC80;
|
|
L_0280DC80: ; // 0x280dc80
|
|
/* 0280DC80 */ _t16 = cpu->r[27] + 0x00000008u;
|
|
/* 0280DC80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280DC84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280DC88 */ _t17 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0280DC88 */ cpu->r[26] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280DC8C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DC8C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280DC8C */ if (_t19) goto L_0280DC9C; else goto L_0280DC90;
|
|
L_0280DC90: ; // 0x280dc90
|
|
/* 0280DC90 */ _t20 = cpu->r[27] + 0x0000001Du;
|
|
/* 0280DC90 */ cpu->r[12] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0280DC94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280DC98 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DC98 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0280DC98 */ if (_t22) goto L_0280DCE8; else goto L_0280DC9C;
|
|
L_0280DC9C: ; // 0x280dc9c
|
|
/* 0280DC9C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DCA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280DCA4 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280DCA8 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280DCA8 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 0280DCAC */ Gambit_fn_0280CE30(cpu);
|
|
/* 0280DCB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DCB4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DCB4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0280DCB4 */ if (_t25) goto L_0280DDA8; else goto L_0280DCB8;
|
|
L_0280DCB8: ; // 0x280dcb8
|
|
/* 0280DCB8 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280DCB8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280DCBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0280DCC0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DCC0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0280DCC0 */ if (_t28) goto L_0280DDA8; else goto L_0280DCC4;
|
|
L_0280DCC4: ; // 0x280dcc4
|
|
/* 0280DCC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0280DCC8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DCC8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0280DCC8 */ if (_t30) goto L_0280DCCC; else goto L_0280DCDC;
|
|
L_0280DCCC: ; // 0x280dccc
|
|
/* 0280DCCC */ cpu->r[10] = cpu->r[6] + 0x0000003Fu;
|
|
/* 0280DCD0 */ _t31 = cpu->r[27] + 0x00000008u;
|
|
/* 0280DCD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0280DCD4 */ cpu->r[26] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 0280DCD8 */ goto L_0280DCE8;
|
|
L_0280DCDC: ; // 0x280dcdc
|
|
/* 0280DCDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[6]);
|
|
/* 0280DCE0 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280DCE0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0280DCE0 */ if (_t33) goto L_0280DDA8; else goto L_0280DCE4;
|
|
L_0280DCE4: ; // 0x280dce4
|
|
/* 0280DCE4 */ _t34 = cpu->r[27] + 0x00000008u;
|
|
/* 0280DCE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
L_0280DCE8: ; // 0x280dce8
|
|
/* 0280DCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280DCEC */ cpu->r[25] = 0x00000000u;
|
|
/* 0280DCF0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DCF0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0280DCF0 */ if (_t36) goto L_0280DCF4; else goto L_0280DD60;
|
|
L_0280DCF4: ; // 0x280dcf4
|
|
/* 0280DCF4 */ _t37 = cpu->r[27] + 0x00000014u;
|
|
/* 0280DCF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0280DCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280DCFC */ cpu->r[5] = 0x00000001u;
|
|
/* 0280DD00 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280DD00 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0280DD00 */ if (_t39) goto L_0280DD04; else goto L_0280DD08;
|
|
L_0280DD04: ; // 0x280dd04
|
|
/* 0280DD04 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
L_0280DD08: ; // 0x280dd08
|
|
/* 0280DD08 */ /* nop */
|
|
/* 0280DD0C */ cpu->r[12] = cpu->r[0] ^ cpu->r[7];
|
|
/* 0280DD10 */ cpu->r[0] = cpu->r[12] - cpu->r[7];
|
|
/* 0280DD14 */ _t40 = cpu->r[27] + 0x00000010u;
|
|
/* 0280DD14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0280DD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000040u);
|
|
/* 0280DD1C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280DD1C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0280DD1C */ if (_t42) goto L_0280DD20; else goto L_0280DD24;
|
|
L_0280DD20: ; // 0x280dd20
|
|
/* 0280DD20 */ cpu->r[0] = 0x00000040u;
|
|
L_0280DD24: ; // 0x280dd24
|
|
/* 0280DD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DD28 */ cpu->r[31] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[0]);
|
|
/* 0280DD2C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DD2C */ _t44 = _t43 & 0x00000001u;
|
|
/* 0280DD2C */ if (_t44) goto L_0280DD30; else goto L_0280DD3C;
|
|
L_0280DD30: ; // 0x280dd30
|
|
/* 0280DD30 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0280DD34 */ _t45 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 0280DD34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0280DD38 */ Gambit_fn_02826F20(cpu);
|
|
L_0280DD3C: ; // 0x280dd3c
|
|
/* 0280DD3C */ _t46 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280DD3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0280DD40 */ _t47 = cpu->r[8] + 0x00000034u;
|
|
/* 0280DD40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0280DD44 */ cpu->ctr = cpu->r[9];
|
|
/* 0280DD48 */ cpu->r[4] = cpu->r[26];
|
|
/* 0280DD4C */ cpu->r[5] = cpu->r[31];
|
|
/* 0280DD50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280DD54 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280DD54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280DD58 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DD58 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0280DD58 */ if (_t49) goto L_0280DDA8; else goto L_0280DD5C;
|
|
L_0280DD5C: ; // 0x280dd5c
|
|
/* 0280DD5C */ cpu->r[25] = 0x00000001u;
|
|
L_0280DD60: ; // 0x280dd60
|
|
/* 0280DD60 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DD64 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280DD68 */ cpu->r[6] = cpu->r[31];
|
|
/* 0280DD6C */ cpu->r[7] = cpu->r[26];
|
|
/* 0280DD70 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280DD74 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DD74 */ rbrew_write32(cpu->mem, _t50, cpu->r[29]);
|
|
/* 0280DD78 */ Gambit_fn_0280CA6C(cpu);
|
|
/* 0280DD7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DD80 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DD80 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0280DD80 */ if (_t52) goto L_0280DD98; else goto L_0280DD84;
|
|
L_0280DD84: ; // 0x280dd84
|
|
/* 0280DD84 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280DD88 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DD8C */ Gambit_fn_0280C80C(cpu);
|
|
/* 0280DD90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DD94 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DD94 */ _t54 = _t53 & 0x00000001u;
|
|
/* 0280DD94 */ if (_t54) goto L_0280DD98; else goto L_0280DDD8;
|
|
L_0280DD98: ; // 0x280dd98
|
|
/* 0280DD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0280DD9C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DD9C */ _t56 = _t55 & 0x00000001u;
|
|
/* 0280DD9C */ if (_t56) goto L_0280DDA8; else goto L_0280DDA0;
|
|
L_0280DDA0: ; // 0x280dda0
|
|
/* 0280DDA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280DDA4 */ Gambit_fn_02801BB4(cpu);
|
|
L_0280DDA8: ; // 0x280dda8
|
|
/* 0280DDA8 */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DDA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0280DDAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DDB0 */ _t58 = cpu->r[1] + 0x00000038u;
|
|
/* 0280DDB0 */ rbrew_write32(cpu->mem, _t58, cpu->r[28]);
|
|
/* 0280DDB4 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DDB4 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0280DDB4 */ if (_t60) goto L_0280DDC0; else goto L_0280DDB8;
|
|
L_0280DDB8: ; // 0x280ddb8
|
|
/* 0280DDB8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DDBC */ Gambit_fn_0280C80C(cpu);
|
|
L_0280DDC0: ; // 0x280ddc0
|
|
/* 0280DDC0 */ /* nop */
|
|
/* 0280DDC4 */ _t61 = cpu->r[1] + 0x00000064u;
|
|
/* 0280DDC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0280DDC8 */ cpu->lr = cpu->r[0];
|
|
/* 0280DDCC */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 0280DDD0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280DDD4 */ return;
|
|
L_0280DDD8: ; // 0x280ddd8
|
|
/* 0280DDD8 */ _t62 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DDD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0280DDDC */ _t63 = cpu->r[1] + 0x00000038u;
|
|
/* 0280DDDC */ rbrew_write32(cpu->mem, _t63, cpu->r[28]);
|
|
/* 0280DDE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DDE4 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DDE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0280DDE8 */ _t65 = cpu->r[27] + 0x00000024u;
|
|
/* 0280DDE8 */ rbrew_write32(cpu->mem, _t65, cpu->r[26]);
|
|
/* 0280DDEC */ _t66 = cpu->r[27] + 0x00000028u;
|
|
/* 0280DDEC */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[25]);
|
|
/* 0280DDF0 */ _t67 = cpu->r[27] + 0x00000020u;
|
|
/* 0280DDF0 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 0280DDF4 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DDF4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 0280DDF4 */ if (_t69) goto L_0280DE00; else goto L_0280DDF8;
|
|
L_0280DDF8: ; // 0x280ddf8
|
|
/* 0280DDF8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DDFC */ Gambit_fn_0280C80C(cpu);
|
|
L_0280DE00: ; // 0x280de00
|
|
/* 0280DE00 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280DE04 */ /* nop */
|
|
/* 0280DE08 */ _t70 = cpu->r[1] + 0x00000064u;
|
|
/* 0280DE08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0280DE0C */ cpu->lr = cpu->r[0];
|
|
/* 0280DE10 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 0280DE14 */ return;
|
|
}
|
|
|
|
// fn_0280DE18 @ 0x280de18
|
|
void Gambit_fn_0280DE18(CPUState* cpu) {
|
|
L_0280DE18: ; // 0x280de18
|
|
/* 0280DE18 */ cpu->r[3] = cpu->r[4] + 0x00000008u;
|
|
/* 0280DE1C */ return;
|
|
}
|
|
|
|
// fn_0280DE20 @ 0x280de20
|
|
void Gambit_fn_0280DE20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0280C80C: ; // 0x280c80c
|
|
/* 0280C80C */ cpu->r[0] = cpu->lr;
|
|
/* 0280C810 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C810 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C810 */ cpu->r[1] = _t0;
|
|
/* 0280C814 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C814 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C818 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C818 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C81C */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C820 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C820 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C824 */ _t4 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0280C824 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0280C828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280C82C */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C830 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C830 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C830 */ if (_t6) goto L_0280C85C; else goto L_0280C834;
|
|
L_0280C834: ; // 0x280c834
|
|
/* 0280C834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280C838 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C838 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C838 */ if (_t8) goto L_0280C85C; else goto L_0280C83C;
|
|
L_0280C83C: ; // 0x280c83c
|
|
/* 0280C83C */ _t9 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C83C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C840 */ _t10 = cpu->r[11] + 0x00000044u;
|
|
/* 0280C840 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C844 */ cpu->ctr = cpu->r[9];
|
|
/* 0280C848 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C84C */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C850 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C858 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C858 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280C858 */ if (_t12) goto L_0280C85C; else goto L_0280C878;
|
|
L_0280C85C: ; // 0x280c85c
|
|
/* 0280C85C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C860 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C864 */ cpu->lr = cpu->r[0];
|
|
/* 0280C868 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C86C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C870 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C874 */ return;
|
|
L_0280C878: ; // 0x280c878
|
|
/* 0280C878 */ _t16 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C878 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C87C */ _t17 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0280C87C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C880 */ cpu->ctr = cpu->r[0];
|
|
/* 0280C884 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C888 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C88C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C890 */ cpu->r[0] = cpu->r[3];
|
|
/* 0280C890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C894 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C894 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280C894 */ if (_t19) goto L_0280C8AC; else goto L_0280C898;
|
|
L_0280C898: ; // 0x280c898
|
|
/* 0280C898 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280C89C */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C8A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C8A4 */ Gambit_fn_0280C7FC(cpu);
|
|
/* 0280C8A8 */ Gambit_fn_0280C804(cpu);
|
|
L_0280C8AC: ; // 0x280c8ac
|
|
/* 0280C8AC */ cpu->r[3] = cpu->r[0];
|
|
/* 0280C8B0 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C8B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C8B4 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C8B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C8B8 */ cpu->lr = cpu->r[0];
|
|
/* 0280C8BC */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C8BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C8C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C8C4 */ return;
|
|
L_0280DE20: ; // 0x280de20
|
|
/* 0280DE20 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 0280DE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280DE24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280DE28 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DE28 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0280DE28 */ if (_t25) goto L_0280DE38; else goto L_0280DE2C;
|
|
L_0280DE2C: ; // 0x280de2c
|
|
/* 0280DE2C */ cpu->r[4] = cpu->r[3];
|
|
/* 0280DE30 */ cpu->r[3] = cpu->r[0];
|
|
/* 0280DE34 */ goto L_0280C80C;
|
|
L_0280DE38: ; // 0x280de38
|
|
/* 0280DE38 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280DE3C */ return;
|
|
}
|
|
|
|
// fn_0280DE4C @ 0x280de4c
|
|
void Gambit_fn_0280DE4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0280DE4C: ; // 0x280de4c
|
|
/* 0280DE4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280DE4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280DE4C */ cpu->r[1] = _t0;
|
|
/* 0280DE50 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 0280DE50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280DE54 */ cpu->r[6] = cpu->r[4];
|
|
/* 0280DE58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DE5C */ cpu->r[7] = cpu->r[5];
|
|
/* 0280DE60 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DE60 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0280DE60 */ if (_t3) goto L_0280DE8C; else goto L_0280DE64;
|
|
L_0280DE64: ; // 0x280de64
|
|
/* 0280DE64 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280DE68 */ cpu->r[5] = cpu->r[12];
|
|
/* 0280DE6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280DE70 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DE70 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280DE74 */ Gambit_fn_0280CA6C(cpu);
|
|
/* 0280DE78 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DE78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280DE7C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DE7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280DE80 */ cpu->lr = cpu->r[0];
|
|
/* 0280DE84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DE88 */ return;
|
|
L_0280DE8C: ; // 0x280de8c
|
|
/* 0280DE8C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280DE90 */ cpu->lr = cpu->r[0];
|
|
/* 0280DE94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DE98 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280DE9C */ return;
|
|
}
|
|
|
|
// fn_0280DEA0 @ 0x280dea0
|
|
void Gambit_fn_0280DEA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0280DEA0: ; // 0x280dea0
|
|
/* 0280DEA0 */ cpu->r[0] = cpu->lr;
|
|
/* 0280DEA4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0280DEA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0280DEA8 */ cpu->r[12] = cpu->r[3];
|
|
/* 0280DEAC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280DEAC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0280DEAC */ cpu->r[1] = _t1;
|
|
/* 0280DEB0 */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 0280DEB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280DEB4 */ cpu->r[6] = cpu->r[4];
|
|
/* 0280DEB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DEBC */ cpu->r[7] = cpu->r[5];
|
|
/* 0280DEC0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DEC0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280DEC0 */ if (_t4) goto L_0280DEEC; else goto L_0280DEC4;
|
|
L_0280DEC4: ; // 0x280dec4
|
|
/* 0280DEC4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280DEC8 */ cpu->r[5] = cpu->r[12];
|
|
/* 0280DECC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280DED0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DED0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280DED4 */ Gambit_fn_0280CBD8(cpu);
|
|
/* 0280DED8 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280DEDC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DEDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280DEE0 */ cpu->lr = cpu->r[0];
|
|
/* 0280DEE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DEE8 */ return;
|
|
L_0280DEEC: ; // 0x280deec
|
|
/* 0280DEEC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DEEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280DEF0 */ cpu->lr = cpu->r[0];
|
|
/* 0280DEF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DEF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280DEFC */ return;
|
|
}
|
|
|
|
// fn_0280DEAC @ 0x280deac
|
|
void Gambit_fn_0280DEAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0280DEAC: ; // 0x280deac
|
|
/* 0280DEAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280DEAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280DEAC */ cpu->r[1] = _t0;
|
|
/* 0280DEB0 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 0280DEB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280DEB4 */ cpu->r[6] = cpu->r[4];
|
|
/* 0280DEB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DEBC */ cpu->r[7] = cpu->r[5];
|
|
/* 0280DEC0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DEC0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0280DEC0 */ if (_t3) goto L_0280DEEC; else goto L_0280DEC4;
|
|
L_0280DEC4: ; // 0x280dec4
|
|
/* 0280DEC4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280DEC8 */ cpu->r[5] = cpu->r[12];
|
|
/* 0280DECC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280DED0 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DED0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280DED4 */ Gambit_fn_0280CBD8(cpu);
|
|
/* 0280DED8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280DEDC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DEDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280DEE0 */ cpu->lr = cpu->r[0];
|
|
/* 0280DEE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DEE8 */ return;
|
|
L_0280DEEC: ; // 0x280deec
|
|
/* 0280DEEC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DEEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280DEF0 */ cpu->lr = cpu->r[0];
|
|
/* 0280DEF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DEF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280DEFC */ return;
|
|
}
|
|
|
|
// fn_0280DF00 @ 0x280df00
|
|
void Gambit_fn_0280DF00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
|
|
L_0280CC88: ; // 0x280cc88
|
|
/* 0280CC88 */ cpu->r[0] = cpu->lr;
|
|
/* 0280CC8C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280CC8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CC8C */ cpu->r[1] = _t0;
|
|
/* 0280CC90 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CC90 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0280CC94 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CC94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280CC98 */ cpu->r[28] = cpu->r[3];
|
|
/* 0280CC9C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CC9C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0280CCA0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CCA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0280CCA4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CCA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280CCA8 */ cpu->r[29] = cpu->r[4];
|
|
/* 0280CCAC */ _t6 = cpu->r[28] + 0x0000004Cu;
|
|
/* 0280CCAC */ cpu->r[9] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0280CCB0 */ cpu->r[31] = cpu->r[6];
|
|
/* 0280CCB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280CCB8 */ cpu->r[30] = cpu->r[5];
|
|
/* 0280CCBC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CCBC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280CCBC */ if (_t8) goto L_0280CCE8; else goto L_0280CCC0;
|
|
L_0280CCC0: ; // 0x280ccc0
|
|
/* 0280CCC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280CCC4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CCC4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280CCC4 */ if (_t10) goto L_0280CCE8; else goto L_0280CCC8;
|
|
L_0280CCC8: ; // 0x280ccc8
|
|
/* 0280CCC8 */ _t11 = cpu->r[28] + 0x00000050u;
|
|
/* 0280CCC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280CCCC */ _t12 = cpu->r[10] + 0x00000044u;
|
|
/* 0280CCCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280CCD0 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CCD4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280CCD8 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280CCDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CCE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CCE4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CCE4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280CCE4 */ if (_t14) goto L_0280CCE8; else goto L_0280CD0C;
|
|
L_0280CCE8: ; // 0x280cce8
|
|
/* 0280CCE8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CCE8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280CCEC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CCEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CCF0 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CCF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CCF4 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CCF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CCF8 */ cpu->lr = cpu->r[0];
|
|
/* 0280CCFC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CCFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280CD00 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280CD04 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CD08 */ return;
|
|
L_0280CD0C: ; // 0x280cd0c
|
|
/* 0280CD0C */ _t20 = cpu->r[28] + 0x00000050u;
|
|
/* 0280CD0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280CD10 */ _t21 = cpu->r[11] + 0x00000084u;
|
|
/* 0280CD10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280CD14 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CD18 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280CD1C */ cpu->r[5] = cpu->r[30];
|
|
/* 0280CD20 */ cpu->r[6] = cpu->r[31];
|
|
/* 0280CD24 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280CD28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CD2C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CD2C */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280CD30 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CD30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280CD34 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CD34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280CD38 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CD38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280CD3C */ cpu->lr = cpu->r[0];
|
|
/* 0280CD40 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CD40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280CD44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280CD48 */ return;
|
|
L_0280DF00: ; // 0x280df00
|
|
/* 0280DF00 */ cpu->r[12] = cpu->r[3];
|
|
/* 0280DF04 */ _t27 = cpu->r[12] + 0x00000000u;
|
|
/* 0280DF04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280DF08 */ cpu->r[0] = cpu->r[4];
|
|
/* 0280DF0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DF10 */ cpu->r[6] = cpu->r[5];
|
|
/* 0280DF14 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DF14 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0280DF14 */ if (_t29) goto L_0280DF24; else goto L_0280DF18;
|
|
L_0280DF18: ; // 0x280df18
|
|
/* 0280DF18 */ cpu->r[5] = cpu->r[0];
|
|
/* 0280DF1C */ cpu->r[4] = cpu->r[12];
|
|
/* 0280DF20 */ goto L_0280CC88;
|
|
L_0280DF24: ; // 0x280df24
|
|
/* 0280DF24 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280DF28 */ return;
|
|
}
|
|
|
|
// fn_0280DF2C @ 0x280df2c
|
|
void Gambit_fn_0280DF2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0280DF2C: ; // 0x280df2c
|
|
/* 0280DF2C */ cpu->r[0] = cpu->lr;
|
|
/* 0280DF30 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0280DF30 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0280DF34 */ cpu->r[5] = cpu->r[3];
|
|
/* 0280DF38 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280DF38 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0280DF38 */ cpu->r[1] = _t1;
|
|
/* 0280DF3C */ _t2 = cpu->r[5] + 0x00000000u;
|
|
/* 0280DF3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280DF40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DF44 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DF44 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280DF44 */ if (_t4) goto L_0280DF6C; else goto L_0280DF48;
|
|
L_0280DF48: ; // 0x280df48
|
|
/* 0280DF48 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280DF4C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280DF50 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DF50 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280DF54 */ Gambit_fn_0280CD4C(cpu);
|
|
/* 0280DF58 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280DF5C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DF5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280DF60 */ cpu->lr = cpu->r[0];
|
|
/* 0280DF64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DF68 */ return;
|
|
L_0280DF6C: ; // 0x280df6c
|
|
/* 0280DF6C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DF6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280DF70 */ cpu->lr = cpu->r[0];
|
|
/* 0280DF74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DF78 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280DF7C */ return;
|
|
}
|
|
|
|
// fn_0280DF38 @ 0x280df38
|
|
void Gambit_fn_0280DF38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0280DF38: ; // 0x280df38
|
|
/* 0280DF38 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280DF38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280DF38 */ cpu->r[1] = _t0;
|
|
/* 0280DF3C */ _t1 = cpu->r[5] + 0x00000000u;
|
|
/* 0280DF3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280DF40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DF44 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DF44 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0280DF44 */ if (_t3) goto L_0280DF6C; else goto L_0280DF48;
|
|
L_0280DF48: ; // 0x280df48
|
|
/* 0280DF48 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280DF4C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280DF50 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DF50 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280DF54 */ Gambit_fn_0280CD4C(cpu);
|
|
/* 0280DF58 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280DF5C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DF5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280DF60 */ cpu->lr = cpu->r[0];
|
|
/* 0280DF64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DF68 */ return;
|
|
L_0280DF6C: ; // 0x280df6c
|
|
/* 0280DF6C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DF6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280DF70 */ cpu->lr = cpu->r[0];
|
|
/* 0280DF74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DF78 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280DF7C */ return;
|
|
}
|
|
|
|
// fn_0280DF80 @ 0x280df80
|
|
void Gambit_fn_0280DF80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0280DF80: ; // 0x280df80
|
|
/* 0280DF80 */ cpu->r[0] = cpu->lr;
|
|
/* 0280DF84 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0280DF84 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0280DF88 */ cpu->r[5] = cpu->r[3];
|
|
/* 0280DF8C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280DF8C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0280DF8C */ cpu->r[1] = _t1;
|
|
/* 0280DF90 */ _t2 = cpu->r[5] + 0x00000000u;
|
|
/* 0280DF90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280DF94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DF98 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DF98 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280DF98 */ if (_t4) goto L_0280DFC0; else goto L_0280DF9C;
|
|
L_0280DF9C: ; // 0x280df9c
|
|
/* 0280DF9C */ cpu->r[0] = 0x00000000u;
|
|
/* 0280DFA0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280DFA4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DFA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280DFA8 */ Gambit_fn_0280CE30(cpu);
|
|
/* 0280DFAC */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DFAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280DFB0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DFB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280DFB4 */ cpu->lr = cpu->r[0];
|
|
/* 0280DFB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DFBC */ return;
|
|
L_0280DFC0: ; // 0x280dfc0
|
|
/* 0280DFC0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DFC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280DFC4 */ cpu->lr = cpu->r[0];
|
|
/* 0280DFC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DFCC */ cpu->r[3] = 0x00000000u;
|
|
/* 0280DFD0 */ return;
|
|
}
|
|
|
|
// fn_0280DF8C @ 0x280df8c
|
|
void Gambit_fn_0280DF8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0280DF8C: ; // 0x280df8c
|
|
/* 0280DF8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280DF8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280DF8C */ cpu->r[1] = _t0;
|
|
/* 0280DF90 */ _t1 = cpu->r[5] + 0x00000000u;
|
|
/* 0280DF90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280DF94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DF98 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DF98 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0280DF98 */ if (_t3) goto L_0280DFC0; else goto L_0280DF9C;
|
|
L_0280DF9C: ; // 0x280df9c
|
|
/* 0280DF9C */ cpu->r[0] = 0x00000000u;
|
|
/* 0280DFA0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280DFA4 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DFA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280DFA8 */ Gambit_fn_0280CE30(cpu);
|
|
/* 0280DFAC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DFAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280DFB0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DFB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280DFB4 */ cpu->lr = cpu->r[0];
|
|
/* 0280DFB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DFBC */ return;
|
|
L_0280DFC0: ; // 0x280dfc0
|
|
/* 0280DFC0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DFC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280DFC4 */ cpu->lr = cpu->r[0];
|
|
/* 0280DFC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DFCC */ cpu->r[3] = 0x00000000u;
|
|
/* 0280DFD0 */ return;
|
|
}
|
|
|
|
// fn_0280DFD4 @ 0x280dfd4
|
|
void Gambit_fn_0280DFD4(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_0280DFD4: ; // 0x280dfd4
|
|
/* 0280DFD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DFD8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DFD8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280DFD8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280DFD8 */ goto L_0280DFDC;
|
|
L_0280DFDC: ; // 0x280dfdc
|
|
/* 0280DFDC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280DFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280DFE0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DFE0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280DFE0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280DFE0 */ goto L_0280DFE4;
|
|
L_0280DFE4: ; // 0x280dfe4
|
|
/* 0280DFE4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280DFE8 @ 0x280dfe8
|
|
void Gambit_fn_0280DFE8(CPUState* cpu) {
|
|
L_0280DFE8: ; // 0x280dfe8
|
|
/* 0280DFE8 */ return;
|
|
}
|
|
|
|
// fn_0280DFEC @ 0x280dfec
|
|
void Gambit_fn_0280DFEC(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_0280DFEC: ; // 0x280dfec
|
|
/* 0280DFEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DFF0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DFF0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280DFF0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280DFF0 */ goto L_0280DFF4;
|
|
L_0280DFF4: ; // 0x280dff4
|
|
/* 0280DFF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280DFF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280DFF8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DFF8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280DFF8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280DFF8 */ goto L_0280DFFC;
|
|
L_0280DFFC: ; // 0x280dffc
|
|
/* 0280DFFC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280E000 @ 0x280e000
|
|
void Gambit_fn_0280E000(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0280E000: ; // 0x280e000
|
|
/* 0280E000 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0280E000 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280E004 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0280E004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280E008 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0280E00C */ cpu->r[11] = 0x10110000u;
|
|
/* 0280E010 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0280E010 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0280E014 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0280E014 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0280E018 */ return;
|
|
}
|
|
|
|
// fn_0280E01C @ 0x280e01c
|
|
void Gambit_fn_0280E01C(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_0280E01C: ; // 0x280e01c
|
|
/* 0280E01C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E020 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E020 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280E020 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E020 */ goto L_0280E024;
|
|
L_0280E024: ; // 0x280e024
|
|
/* 0280E024 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E028 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E028 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280E028 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E028 */ goto L_0280E02C;
|
|
L_0280E02C: ; // 0x280e02c
|
|
/* 0280E02C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280E030 @ 0x280e030
|
|
void Gambit_fn_0280E030(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_0280E030: ; // 0x280e030
|
|
/* 0280E030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E034 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E034 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280E034 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E034 */ goto L_0280E038;
|
|
L_0280E038: ; // 0x280e038
|
|
/* 0280E038 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E03C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E03C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280E03C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E03C */ goto L_0280E040;
|
|
L_0280E040: ; // 0x280e040
|
|
/* 0280E040 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280E044 @ 0x280e044
|
|
void Gambit_fn_0280E044(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_0280E044: ; // 0x280e044
|
|
/* 0280E044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E048 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E048 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280E048 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E048 */ goto L_0280E04C;
|
|
L_0280E04C: ; // 0x280e04c
|
|
/* 0280E04C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E04C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E050 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E050 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280E050 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E050 */ goto L_0280E054;
|
|
L_0280E054: ; // 0x280e054
|
|
/* 0280E054 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280E058 @ 0x280e058
|
|
void Gambit_fn_0280E058(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_0280E058: ; // 0x280e058
|
|
/* 0280E058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E05C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E05C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280E05C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E05C */ goto L_0280E060;
|
|
L_0280E060: ; // 0x280e060
|
|
/* 0280E060 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E064 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E064 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280E064 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E064 */ goto L_0280E068;
|
|
L_0280E068: ; // 0x280e068
|
|
/* 0280E068 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280E070 @ 0x280e070
|
|
void Gambit_fn_0280E070(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_0280E070: ; // 0x280e070
|
|
/* 0280E070 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280E070 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E070 */ cpu->r[1] = _t0;
|
|
/* 0280E074 */ /* nop */
|
|
/* 0280E078 */ cpu->r[0] = cpu->lr;
|
|
/* 0280E07C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0280E07C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280E080 */ cpu->r[29] = cpu->r[5];
|
|
/* 0280E084 */ _t2 = cpu->r[29] + 0x00000004u;
|
|
/* 0280E084 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280E088 */ _t3 = cpu->r[6] + 0x00000014u;
|
|
/* 0280E088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280E08C */ cpu->r[27] = cpu->r[3];
|
|
/* 0280E090 */ cpu->ctr = cpu->r[0];
|
|
/* 0280E094 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280E098 */ cpu->r[28] = cpu->r[4];
|
|
/* 0280E09C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E0A0 */ _t4 = cpu->r[29] + 0x00000004u;
|
|
/* 0280E0A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280E0A4 */ _t5 = cpu->r[8] + 0x00000014u;
|
|
/* 0280E0A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280E0A8 */ cpu->ctr = cpu->r[9];
|
|
/* 0280E0AC */ cpu->r[3] = cpu->r[29];
|
|
/* 0280E0B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E0B4 */ cpu->r[30] = 0x101F0000u;
|
|
/* 0280E0B8 */ cpu->r[30] = cpu->r[30] + 0x000066E8u;
|
|
/* 0280E0BC */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 0280E0BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280E0C0 */ _t7 = cpu->r[10] + 0x00000014u;
|
|
/* 0280E0C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280E0C4 */ cpu->ctr = cpu->r[11];
|
|
/* 0280E0C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E0CC */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 0280E0CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280E0D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E0D4 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 0280E0D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280E0D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 0280E0DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E0DC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0280E0DC */ if (_t11) goto L_0280E1B0; else goto L_0280E0E0;
|
|
L_0280E0E0: ; // 0x280e0e0
|
|
/* 0280E0E0 */ cpu->r[0] = 0x00080000u;
|
|
/* 0280E0E4 */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 0280E0E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280E0E8 */ cpu->r[31] = 0x10110000u;
|
|
/* 0280E0EC */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0280E0F0 */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 0280E0F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280E0F4 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 0280E0F8 */ cpu->ctr = cpu->r[0];
|
|
/* 0280E0FC */ _t14 = cpu->r[31] + 0x00007399u;
|
|
/* 0280E0FC */ cpu->r[31] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0280E100 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0280E104: ; // 0x280e104
|
|
/* 0280E104 */ _t15 = cpu->r[8] + 0x00000001u;
|
|
/* 0280E104 */ cpu->r[10] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0280E104 */ cpu->r[8] = _t15;
|
|
/* 0280E108 */ _t16 = cpu->r[6] + 0x00000001u;
|
|
/* 0280E108 */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0280E108 */ cpu->r[6] = _t16;
|
|
/* 0280E10C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 0280E110 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E110 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0280E110 */ if (_t18) goto L_0280E114; else goto L_0280E120;
|
|
L_0280E114: ; // 0x280e114
|
|
/* 0280E114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0280E118 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E118 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0280E118 */ if (_t20) goto L_0280E1B0; else goto L_0280E11C;
|
|
L_0280E11C: ; // 0x280e11c
|
|
/* 0280E11C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0280E11C */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0280E11C */ _t22 = _t21 >> (0x00000002u & 31u);
|
|
/* 0280E11C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0280E11C */ if (_t23) goto L_0280E104; else goto L_0280E120;
|
|
L_0280E120: ; // 0x280e120
|
|
/* 0280E120 */ _t24 = cpu->r[29] + 0x00000004u;
|
|
/* 0280E120 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280E124 */ _t25 = cpu->r[5] + 0x00000014u;
|
|
/* 0280E124 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280E128 */ cpu->ctr = cpu->r[6];
|
|
/* 0280E12C */ _t26 = cpu->r[28] + 0x00000020u;
|
|
/* 0280E12C */ cpu->r[26] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280E130 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280E134 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E138 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 0280E138 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280E13C */ _t28 = cpu->r[12] + 0x00000000u;
|
|
/* 0280E13C */ cpu->r[7] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0280E140 */ cpu->r[30] = 0x00000000u;
|
|
/* 0280E144 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0280E148 */ cpu->r[5] = 0x00080000u;
|
|
/* 0280E14C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E14C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0280E14C */ if (_t30) goto L_0280E174; else goto L_0280E150;
|
|
L_0280E150: ; // 0x280e150
|
|
/* 0280E150 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0280E154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0280E158 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280E15C */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280E15C */ _t32 = _t31 & 0x00000001u;
|
|
/* 0280E15C */ if (_t32) goto L_0280E170; else goto L_0280E160;
|
|
L_0280E160: ; // 0x280e160
|
|
/* 0280E160 */ _t33 = cpu->r[12] + 0x00000000u;
|
|
/* 0280E160 */ cpu->r[8] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0280E164 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0280E168 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E168 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0280E168 */ if (_t35) goto L_0280E16C; else goto L_0280E150;
|
|
L_0280E16C: ; // 0x280e16c
|
|
/* 0280E16C */ goto L_0280E174;
|
|
L_0280E170: ; // 0x280e170
|
|
/* 0280E170 */ cpu->r[30] = 0x00000000u;
|
|
L_0280E174: ; // 0x280e174
|
|
/* 0280E174 */ _t36 = cpu->r[28] + 0x00000028u;
|
|
/* 0280E174 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0280E178 */ _t37 = cpu->r[29] + 0x00000004u;
|
|
/* 0280E178 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0280E17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0280E180 */ _t38 = cpu->r[9] + 0x00000014u;
|
|
/* 0280E180 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0280E184 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280E184 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0280E184 */ if (_t40) goto L_0280E18C; else goto L_0280E188;
|
|
L_0280E188: ; // 0x280e188
|
|
/* 0280E188 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0280E18C: ; // 0x280e18c
|
|
/* 0280E18C */ cpu->ctr = cpu->r[10];
|
|
/* 0280E190 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280E194 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E198 */ _t41 = cpu->r[29] + 0x00000000u;
|
|
/* 0280E198 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0280E19C */ cpu->r[6] = 0x00000000u;
|
|
/* 0280E1A0 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280E1A4 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280E1A8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280E1AC */ _t42 = cpu->r[26] + cpu->r[30];
|
|
/* 0280E1AC */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[31]);
|
|
L_0280E1B0: ; // 0x280e1b0
|
|
/* 0280E1B0 */ _t43 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0280E1B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0280E1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280E1B8 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E1B8 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0280E1B8 */ if (_t45) goto L_0280E1D8; else goto L_0280E1BC;
|
|
L_0280E1BC: ; // 0x280e1bc
|
|
/* 0280E1BC */ cpu->r[0] = 0x00000000u;
|
|
/* 0280E1C0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280E1C4 */ _t46 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0280E1C4 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 0280E1C8 */ Gambit_fn_02801EDC(cpu);
|
|
/* 0280E1CC */ _t47 = cpu->r[31] + 0x00000008u;
|
|
/* 0280E1CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0280E1D0 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 0280E1D4 */ _t48 = cpu->r[31] + 0x00000008u;
|
|
/* 0280E1D4 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
L_0280E1D8: ; // 0x280e1d8
|
|
/* 0280E1D8 */ cpu->r[3] = cpu->r[27] + 0x00000010u;
|
|
/* 0280E1DC */ cpu->r[4] = cpu->r[28];
|
|
/* 0280E1E0 */ _t49 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0280E1E0 */ rbrew_write32(cpu->mem, _t49, cpu->r[3]);
|
|
/* 0280E1E4 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0280E1E8 */ _t50 = cpu->r[27] + 0x00000018u;
|
|
/* 0280E1E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0280E1EC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0280E1F0 */ _t51 = cpu->r[27] + 0x00000018u;
|
|
/* 0280E1F0 */ rbrew_write32(cpu->mem, _t51, cpu->r[11]);
|
|
/* 0280E1F4 */ /* nop */
|
|
/* 0280E1F8 */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 0280E1F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0280E1FC */ cpu->lr = cpu->r[0];
|
|
/* 0280E200 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280E204 */ return;
|
|
}
|
|
|
|
// fn_0280E208 @ 0x280e208
|
|
void Gambit_fn_0280E208(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_0280E208: ; // 0x280e208
|
|
/* 0280E208 */ cpu->r[0] = cpu->lr;
|
|
/* 0280E20C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280E20C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E20C */ cpu->r[1] = _t0;
|
|
/* 0280E210 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E210 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0280E214 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E214 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280E218 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0280E218 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0280E21C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280E21C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280E220 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0280E220 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280E224 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E224 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280E224 */ if (_t6) goto L_0280E228; else goto L_0280E238;
|
|
L_0280E228: ; // 0x280e228
|
|
/* 0280E228 */ cpu->r[3] = 0x00001828u;
|
|
/* 0280E22C */ Gambit_fn_02801A78(cpu);
|
|
/* 0280E230 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280E230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280E234 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E234 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280E234 */ if (_t8) goto L_0280E320; else goto L_0280E238;
|
|
L_0280E238: ; // 0x280e238
|
|
/* 0280E238 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0280E238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E23C */ cpu->r[30] = 0x00000000u;
|
|
/* 0280E240 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E240 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280E240 */ if (_t10) goto L_0280E244; else goto L_0280E254;
|
|
L_0280E244: ; // 0x280e244
|
|
/* 0280E244 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280E248 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280E24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E250 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E250 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280E250 */ if (_t12) goto L_0280E278; else goto L_0280E254;
|
|
L_0280E254: ; // 0x280e254
|
|
/* 0280E254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E258 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E258 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280E258 */ if (_t14) goto L_0280E25C; else goto L_0280E26C;
|
|
L_0280E25C: ; // 0x280e25c
|
|
/* 0280E25C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280E260 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280E264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E268 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E268 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280E268 */ if (_t16) goto L_0280E278; else goto L_0280E26C;
|
|
L_0280E26C: ; // 0x280e26c
|
|
/* 0280E26C */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 0280E26C */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0280E270 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 0280E270 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 0280E274 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 0280E274 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
L_0280E278: ; // 0x280e278
|
|
/* 0280E278 */ _t20 = cpu->r[31] + 0x00000020u;
|
|
/* 0280E278 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 0280E27C */ cpu->r[3] = 0x101D0000u;
|
|
/* 0280E280 */ _t21 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0280E280 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 0280E284 */ _t22 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 0280E284 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280E288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E28C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E28C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0280E28C */ if (_t24) goto L_0280E320; else goto L_0280E290;
|
|
L_0280E290: ; // 0x280e290
|
|
/* 0280E290 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280E294 */ Gambit_fn_02826B90(cpu);
|
|
/* 0280E298 */ cpu->r[29] = cpu->r[3];
|
|
/* 0280E29C */ rbrew_dispatch(cpu, 0x02d09950u);
|
|
/* 0280E2A0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280E2A4 */ cpu->r[3] = cpu->r[31] + 0x00000024u;
|
|
/* 0280E2A8 */ rbrew_dispatch(cpu, 0x02d09760u);
|
|
/* 0280E2AC */ cpu->r[11] = 0x02810000u;
|
|
/* 0280E2B0 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E2B0 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 0280E2B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280E2B8 */ cpu->r[11] = cpu->r[11] + 0xFFFFE06Cu;
|
|
/* 0280E2BC */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E2BC */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 0280E2C0 */ cpu->r[3] = cpu->r[31] + 0x00000024u;
|
|
/* 0280E2C4 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E2C4 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 0280E2C8 */ rbrew_dispatch(cpu, 0x02d09aa0u);
|
|
/* 0280E2CC */ rbrew_dispatch(cpu, 0x02d07db8u);
|
|
/* 0280E2D0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280E2D4 */ cpu->r[5] = 0x00000004u;
|
|
/* 0280E2D8 */ _t28 = cpu->r[31] + 0x000017A4u;
|
|
/* 0280E2D8 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[30]);
|
|
/* 0280E2DC */ cpu->r[3] = 0x00000058u;
|
|
/* 0280E2E0 */ _t29 = cpu->r[31] + 0x00001824u;
|
|
/* 0280E2E0 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 0280E2E4 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0280E2E8 */ cpu->r[0] = cpu->r[3];
|
|
/* 0280E2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E2EC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E2EC */ _t31 = _t30 & 0x00000001u;
|
|
/* 0280E2EC */ if (_t31) goto L_0280E300; else goto L_0280E2F0;
|
|
L_0280E2F0: ; // 0x280e2f0
|
|
/* 0280E2F0 */ cpu->r[3] = cpu->r[0];
|
|
/* 0280E2F4 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280E2F8 */ Gambit_fn_0280E9A8(cpu);
|
|
/* 0280E2FC */ cpu->r[0] = cpu->r[3];
|
|
L_0280E300: ; // 0x280e300
|
|
/* 0280E300 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0280E304 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280E308 */ cpu->r[4] = cpu->r[0];
|
|
/* 0280E30C */ cpu->r[5] = cpu->r[5] + 0x000066E8u;
|
|
/* 0280E310 */ _t32 = cpu->r[31] + 0x00000020u;
|
|
/* 0280E310 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0280E314 */ Gambit_fn_0280E070(cpu);
|
|
/* 0280E318 */ _t33 = cpu->r[31] + 0x00000020u;
|
|
/* 0280E318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0280E31C */ _t34 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0280E31C */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
L_0280E320: ; // 0x280e320
|
|
/* 0280E320 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E320 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0280E324 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 0280E324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0280E328 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280E32C */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 0280E32C */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0280E330 */ cpu->lr = cpu->r[0];
|
|
/* 0280E334 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E334 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0280E338 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280E33C */ return;
|
|
}
|
|
|
|
// fn_0280E20C @ 0x280e20c
|
|
void Gambit_fn_0280E20C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_0280E20C: ; // 0x280e20c
|
|
/* 0280E20C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280E20C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E20C */ cpu->r[1] = _t0;
|
|
/* 0280E210 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E210 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0280E214 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E214 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280E218 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0280E218 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0280E21C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280E21C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280E220 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0280E220 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280E224 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E224 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280E224 */ if (_t6) goto L_0280E228; else goto L_0280E238;
|
|
L_0280E228: ; // 0x280e228
|
|
/* 0280E228 */ cpu->r[3] = 0x00001828u;
|
|
/* 0280E22C */ Gambit_fn_02801A78(cpu);
|
|
/* 0280E230 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280E230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280E234 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E234 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280E234 */ if (_t8) goto L_0280E320; else goto L_0280E238;
|
|
L_0280E238: ; // 0x280e238
|
|
/* 0280E238 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0280E238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E23C */ cpu->r[30] = 0x00000000u;
|
|
/* 0280E240 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E240 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280E240 */ if (_t10) goto L_0280E244; else goto L_0280E254;
|
|
L_0280E244: ; // 0x280e244
|
|
/* 0280E244 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280E248 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280E24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E250 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E250 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280E250 */ if (_t12) goto L_0280E278; else goto L_0280E254;
|
|
L_0280E254: ; // 0x280e254
|
|
/* 0280E254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E258 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E258 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280E258 */ if (_t14) goto L_0280E25C; else goto L_0280E26C;
|
|
L_0280E25C: ; // 0x280e25c
|
|
/* 0280E25C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280E260 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280E264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E268 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E268 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280E268 */ if (_t16) goto L_0280E278; else goto L_0280E26C;
|
|
L_0280E26C: ; // 0x280e26c
|
|
/* 0280E26C */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 0280E26C */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0280E270 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 0280E270 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 0280E274 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 0280E274 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
L_0280E278: ; // 0x280e278
|
|
/* 0280E278 */ _t20 = cpu->r[31] + 0x00000020u;
|
|
/* 0280E278 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 0280E27C */ cpu->r[3] = 0x101D0000u;
|
|
/* 0280E280 */ _t21 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0280E280 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 0280E284 */ _t22 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 0280E284 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280E288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E28C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E28C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0280E28C */ if (_t24) goto L_0280E320; else goto L_0280E290;
|
|
L_0280E290: ; // 0x280e290
|
|
/* 0280E290 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280E294 */ Gambit_fn_02826B90(cpu);
|
|
/* 0280E298 */ cpu->r[29] = cpu->r[3];
|
|
/* 0280E29C */ rbrew_dispatch(cpu, 0x02d09950u);
|
|
/* 0280E2A0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280E2A4 */ cpu->r[3] = cpu->r[31] + 0x00000024u;
|
|
/* 0280E2A8 */ rbrew_dispatch(cpu, 0x02d09760u);
|
|
/* 0280E2AC */ cpu->r[11] = 0x02810000u;
|
|
/* 0280E2B0 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E2B0 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 0280E2B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280E2B8 */ cpu->r[11] = cpu->r[11] + 0xFFFFE06Cu;
|
|
/* 0280E2BC */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E2BC */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 0280E2C0 */ cpu->r[3] = cpu->r[31] + 0x00000024u;
|
|
/* 0280E2C4 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E2C4 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 0280E2C8 */ rbrew_dispatch(cpu, 0x02d09aa0u);
|
|
/* 0280E2CC */ rbrew_dispatch(cpu, 0x02d07db8u);
|
|
/* 0280E2D0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280E2D4 */ cpu->r[5] = 0x00000004u;
|
|
/* 0280E2D8 */ _t28 = cpu->r[31] + 0x000017A4u;
|
|
/* 0280E2D8 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[30]);
|
|
/* 0280E2DC */ cpu->r[3] = 0x00000058u;
|
|
/* 0280E2E0 */ _t29 = cpu->r[31] + 0x00001824u;
|
|
/* 0280E2E0 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 0280E2E4 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0280E2E8 */ cpu->r[0] = cpu->r[3];
|
|
/* 0280E2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E2EC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E2EC */ _t31 = _t30 & 0x00000001u;
|
|
/* 0280E2EC */ if (_t31) goto L_0280E300; else goto L_0280E2F0;
|
|
L_0280E2F0: ; // 0x280e2f0
|
|
/* 0280E2F0 */ cpu->r[3] = cpu->r[0];
|
|
/* 0280E2F4 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280E2F8 */ Gambit_fn_0280E9A8(cpu);
|
|
/* 0280E2FC */ cpu->r[0] = cpu->r[3];
|
|
L_0280E300: ; // 0x280e300
|
|
/* 0280E300 */ cpu->r[5] = 0x101F0000u;
|
|
/* 0280E304 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280E308 */ cpu->r[4] = cpu->r[0];
|
|
/* 0280E30C */ cpu->r[5] = cpu->r[5] + 0x000066E8u;
|
|
/* 0280E310 */ _t32 = cpu->r[31] + 0x00000020u;
|
|
/* 0280E310 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0280E314 */ Gambit_fn_0280E070(cpu);
|
|
/* 0280E318 */ _t33 = cpu->r[31] + 0x00000020u;
|
|
/* 0280E318 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0280E31C */ _t34 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0280E31C */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
L_0280E320: ; // 0x280e320
|
|
/* 0280E320 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E320 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0280E324 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 0280E324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0280E328 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280E32C */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 0280E32C */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0280E330 */ cpu->lr = cpu->r[0];
|
|
/* 0280E334 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E334 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0280E338 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280E33C */ return;
|
|
}
|
|
|
|
// fn_0280E340 @ 0x280e340
|
|
void Gambit_fn_0280E340(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0280E340: ; // 0x280e340
|
|
/* 0280E340 */ cpu->r[0] = cpu->lr;
|
|
/* 0280E344 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280E344 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E344 */ cpu->r[1] = _t0;
|
|
/* 0280E348 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E348 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0280E34C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E34C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280E350 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E350 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0280E354 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E354 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280E358 */ cpu->r[29] = 0x101D0000u;
|
|
/* 0280E35C */ cpu->r[30] = cpu->r[3];
|
|
/* 0280E360 */ _t5 = cpu->r[29] + 0xFFFF988Cu;
|
|
/* 0280E360 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280E360 */ cpu->r[29] = _t5;
|
|
/* 0280E364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E368 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E368 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280E368 */ if (_t7) goto L_0280E36C; else goto L_0280E3B8;
|
|
L_0280E36C: ; // 0x280e36c
|
|
/* 0280E36C */ cpu->r[4] = cpu->r[30];
|
|
/* 0280E370 */ cpu->r[3] = 0x00001828u;
|
|
/* 0280E374 */ cpu->r[5] = 0x00000004u;
|
|
/* 0280E378 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0280E37C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280E37C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280E380 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E380 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280E380 */ if (_t9) goto L_0280E3A0; else goto L_0280E384;
|
|
L_0280E384: ; // 0x280e384
|
|
/* 0280E384 */ cpu->r[5] = 0x00000003u;
|
|
/* 0280E388 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280E38C */ cpu->r[3] = cpu->r[31];
|
|
/* 0280E390 */ Gambit_fn_02821D88(cpu);
|
|
/* 0280E394 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280E398 */ cpu->r[0] = cpu->r[0] + 0x000030E8u;
|
|
/* 0280E39C */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0280E39C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_0280E3A0: ; // 0x280e3a0
|
|
/* 0280E3A0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0280E3A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280E3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E3A8 */ _t11 = cpu->r[12] + 0xFFFF9890u;
|
|
/* 0280E3A8 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 0280E3AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E3AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280E3AC */ if (_t13) goto L_0280E3B4; else goto L_0280E3B0;
|
|
L_0280E3B0: ; // 0x280e3b0
|
|
/* 0280E3B0 */ Gambit_fn_0280E208(cpu);
|
|
L_0280E3B4: ; // 0x280e3b4
|
|
/* 0280E3B4 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 0280E3B4 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_0280E3B8: ; // 0x280e3b8
|
|
/* 0280E3B8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E3B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280E3BC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280E3C0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E3C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280E3C4 */ cpu->lr = cpu->r[0];
|
|
/* 0280E3C8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E3C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280E3CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280E3D0 */ return;
|
|
}
|
|
|
|
// fn_0280E344 @ 0x280e344
|
|
void Gambit_fn_0280E344(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0280E344: ; // 0x280e344
|
|
/* 0280E344 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280E344 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E344 */ cpu->r[1] = _t0;
|
|
/* 0280E348 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E348 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0280E34C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E34C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280E350 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E350 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0280E354 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E354 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280E358 */ cpu->r[29] = 0x101D0000u;
|
|
/* 0280E35C */ cpu->r[30] = cpu->r[3];
|
|
/* 0280E360 */ _t5 = cpu->r[29] + 0xFFFF988Cu;
|
|
/* 0280E360 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280E360 */ cpu->r[29] = _t5;
|
|
/* 0280E364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E368 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E368 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280E368 */ if (_t7) goto L_0280E36C; else goto L_0280E3B8;
|
|
L_0280E36C: ; // 0x280e36c
|
|
/* 0280E36C */ cpu->r[4] = cpu->r[30];
|
|
/* 0280E370 */ cpu->r[3] = 0x00001828u;
|
|
/* 0280E374 */ cpu->r[5] = 0x00000004u;
|
|
/* 0280E378 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0280E37C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280E37C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280E380 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E380 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280E380 */ if (_t9) goto L_0280E3A0; else goto L_0280E384;
|
|
L_0280E384: ; // 0x280e384
|
|
/* 0280E384 */ cpu->r[5] = 0x00000003u;
|
|
/* 0280E388 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280E38C */ cpu->r[3] = cpu->r[31];
|
|
/* 0280E390 */ Gambit_fn_02821D88(cpu);
|
|
/* 0280E394 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280E398 */ cpu->r[0] = cpu->r[0] + 0x000030E8u;
|
|
/* 0280E39C */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0280E39C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_0280E3A0: ; // 0x280e3a0
|
|
/* 0280E3A0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0280E3A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280E3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E3A8 */ _t11 = cpu->r[12] + 0xFFFF9890u;
|
|
/* 0280E3A8 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 0280E3AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E3AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280E3AC */ if (_t13) goto L_0280E3B4; else goto L_0280E3B0;
|
|
L_0280E3B0: ; // 0x280e3b0
|
|
/* 0280E3B0 */ Gambit_fn_0280E208(cpu);
|
|
L_0280E3B4: ; // 0x280e3b4
|
|
/* 0280E3B4 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 0280E3B4 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_0280E3B8: ; // 0x280e3b8
|
|
/* 0280E3B8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E3B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280E3BC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280E3C0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E3C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280E3C4 */ cpu->lr = cpu->r[0];
|
|
/* 0280E3C8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E3C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280E3CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280E3D0 */ return;
|
|
}
|
|
|
|
// fn_0280E3D4 @ 0x280e3d4
|
|
void Gambit_fn_0280E3D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0280E3D4: ; // 0x280e3d4
|
|
/* 0280E3D4 */ cpu->r[0] = cpu->lr;
|
|
/* 0280E3D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280E3D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E3D8 */ cpu->r[1] = _t0;
|
|
/* 0280E3DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E3DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280E3E0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E3E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280E3E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280E3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280E3E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280E3EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E3EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280E3F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E3F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280E3F0 */ if (_t5) goto L_0280E440; else goto L_0280E3F4;
|
|
L_0280E3F4: ; // 0x280e3f4
|
|
/* 0280E3F4 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0280E3F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280E3F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E3FC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E3FC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280E3FC */ if (_t8) goto L_0280E41C; else goto L_0280E400;
|
|
L_0280E400: ; // 0x280e400
|
|
/* 0280E400 */ _t9 = cpu->r[3] + 0x00000050u;
|
|
/* 0280E400 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280E404 */ _t10 = cpu->r[10] + 0x0000001Cu;
|
|
/* 0280E404 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280E408 */ cpu->ctr = cpu->r[11];
|
|
/* 0280E40C */ cpu->r[4] = 0x00000003u;
|
|
/* 0280E410 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E414 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280E418 */ _t11 = cpu->r[30] + 0x00000020u;
|
|
/* 0280E418 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0280E41C: ; // 0x280e41c
|
|
/* 0280E41C */ cpu->r[3] = cpu->r[30] + 0x00000024u;
|
|
/* 0280E420 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280E424 */ rbrew_dispatch(cpu, 0x02d097f0u);
|
|
/* 0280E428 */ rbrew_dispatch(cpu, 0x02d07ed8u);
|
|
/* 0280E42C */ rbrew_dispatch(cpu, 0x02d09ab0u);
|
|
/* 0280E430 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E434 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E434 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280E434 */ if (_t13) goto L_0280E440; else goto L_0280E438;
|
|
L_0280E438: ; // 0x280e438
|
|
/* 0280E438 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E43C */ Gambit_fn_02801BB0(cpu);
|
|
L_0280E440: ; // 0x280e440
|
|
/* 0280E440 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280E444 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E444 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280E448 */ cpu->lr = cpu->r[0];
|
|
/* 0280E44C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E44C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280E450 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280E454 */ return;
|
|
}
|
|
|
|
// fn_0280E3D8 @ 0x280e3d8
|
|
void Gambit_fn_0280E3D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0280E3D8: ; // 0x280e3d8
|
|
/* 0280E3D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280E3D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E3D8 */ cpu->r[1] = _t0;
|
|
/* 0280E3DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E3DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280E3E0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E3E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280E3E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280E3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280E3E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280E3EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E3EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280E3F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E3F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280E3F0 */ if (_t5) goto L_0280E440; else goto L_0280E3F4;
|
|
L_0280E3F4: ; // 0x280e3f4
|
|
/* 0280E3F4 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 0280E3F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280E3F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E3FC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E3FC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280E3FC */ if (_t8) goto L_0280E41C; else goto L_0280E400;
|
|
L_0280E400: ; // 0x280e400
|
|
/* 0280E400 */ _t9 = cpu->r[3] + 0x00000050u;
|
|
/* 0280E400 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280E404 */ _t10 = cpu->r[10] + 0x0000001Cu;
|
|
/* 0280E404 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280E408 */ cpu->ctr = cpu->r[11];
|
|
/* 0280E40C */ cpu->r[4] = 0x00000003u;
|
|
/* 0280E410 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E414 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280E418 */ _t11 = cpu->r[30] + 0x00000020u;
|
|
/* 0280E418 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0280E41C: ; // 0x280e41c
|
|
/* 0280E41C */ cpu->r[3] = cpu->r[30] + 0x00000024u;
|
|
/* 0280E420 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280E424 */ rbrew_dispatch(cpu, 0x02d097f0u);
|
|
/* 0280E428 */ rbrew_dispatch(cpu, 0x02d07ed8u);
|
|
/* 0280E42C */ rbrew_dispatch(cpu, 0x02d09ab0u);
|
|
/* 0280E430 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E434 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E434 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280E434 */ if (_t13) goto L_0280E440; else goto L_0280E438;
|
|
L_0280E438: ; // 0x280e438
|
|
/* 0280E438 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E43C */ Gambit_fn_02801BB0(cpu);
|
|
L_0280E440: ; // 0x280e440
|
|
/* 0280E440 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280E444 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E444 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280E448 */ cpu->lr = cpu->r[0];
|
|
/* 0280E44C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E44C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280E450 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280E454 */ return;
|
|
}
|
|
|
|
// fn_0280E458 @ 0x280e458
|
|
void Gambit_fn_0280E458(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_0280E458: ; // 0x280e458
|
|
/* 0280E458 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0280E458 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E458 */ cpu->r[1] = _t0;
|
|
/* 0280E45C */ /* nop */
|
|
/* 0280E460 */ cpu->r[0] = cpu->lr;
|
|
/* 0280E464 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280E464 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280E468 */ _t2 = cpu->r[3] + 0x00000014u;
|
|
/* 0280E468 */ cpu->r[25] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280E46C */ cpu->r[27] = cpu->r[3] + 0x00000010u;
|
|
/* 0280E470 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[27]);
|
|
/* 0280E474 */ cpu->r[28] = cpu->r[4];
|
|
/* 0280E478 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E478 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280E478 */ if (_t4) goto L_0280E538; else goto L_0280E47C;
|
|
L_0280E47C: ; // 0x280e47c
|
|
/* 0280E47C */ cpu->r[31] = 0x10110000u;
|
|
/* 0280E480 */ cpu->r[26] = 0x00080000u;
|
|
/* 0280E484 */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 0280E484 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0280E488 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
L_0280E48C: ; // 0x280e48c
|
|
/* 0280E48C */ _t6 = cpu->r[25] + 0x00000008u;
|
|
/* 0280E48C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280E490 */ _t7 = cpu->r[30] + 0x00000024u;
|
|
/* 0280E490 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280E494 */ cpu->r[29] = cpu->r[30] + 0x00000020u;
|
|
/* 0280E498 */ _t8 = cpu->r[7] + 0x00000014u;
|
|
/* 0280E498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280E49C */ cpu->ctr = cpu->r[0];
|
|
/* 0280E4A0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280E4A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E4A8 */ _t9 = cpu->r[30] + 0x00000024u;
|
|
/* 0280E4A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280E4AC */ _t10 = cpu->r[9] + 0x00000014u;
|
|
/* 0280E4AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280E4B0 */ cpu->ctr = cpu->r[0];
|
|
/* 0280E4B4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280E4B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E4BC */ _t11 = cpu->r[28] + 0x00000004u;
|
|
/* 0280E4BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280E4C0 */ _t12 = cpu->r[11] + 0x00000014u;
|
|
/* 0280E4C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280E4C4 */ cpu->ctr = cpu->r[9];
|
|
/* 0280E4C8 */ _t13 = cpu->r[30] + 0x00000020u;
|
|
/* 0280E4C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280E4CC */ cpu->r[3] = cpu->r[28];
|
|
/* 0280E4D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E4D4 */ _t14 = cpu->r[28] + 0x00000000u;
|
|
/* 0280E4D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280E4D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 0280E4DC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E4DC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280E4DC */ if (_t16) goto L_0280E514; else goto L_0280E4E0;
|
|
L_0280E4E0: ; // 0x280e4e0
|
|
/* 0280E4E0 */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 0280E4E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280E4E4 */ _t18 = cpu->r[28] + 0x00000000u;
|
|
/* 0280E4E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280E4E8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0280E4EC */ cpu->ctr = cpu->r[26];
|
|
/* 0280E4F0 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0280E4F4: ; // 0x280e4f4
|
|
/* 0280E4F4 */ _t19 = cpu->r[12] + 0x00000001u;
|
|
/* 0280E4F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0280E4F4 */ cpu->r[12] = _t19;
|
|
/* 0280E4F8 */ _t20 = cpu->r[10] + 0x00000001u;
|
|
/* 0280E4F8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0280E4F8 */ cpu->r[10] = _t20;
|
|
/* 0280E4FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 0280E500 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E500 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0280E500 */ if (_t22) goto L_0280E504; else goto L_0280E52C;
|
|
L_0280E504: ; // 0x280e504
|
|
/* 0280E504 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0280E508 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E508 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0280E508 */ if (_t24) goto L_0280E514; else goto L_0280E50C;
|
|
L_0280E50C: ; // 0x280e50c
|
|
/* 0280E50C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0280E50C */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0280E50C */ _t26 = _t25 >> (0x00000002u & 31u);
|
|
/* 0280E50C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0280E50C */ if (_t27) goto L_0280E4F4; else goto L_0280E510;
|
|
L_0280E510: ; // 0x280e510
|
|
/* 0280E510 */ goto L_0280E52C;
|
|
L_0280E514: ; // 0x280e514
|
|
/* 0280E514 */ _t28 = cpu->r[25] + 0x00000008u;
|
|
/* 0280E514 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280E518 */ /* nop */
|
|
/* 0280E51C */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280E51C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0280E520 */ cpu->lr = cpu->r[0];
|
|
/* 0280E524 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0280E528 */ return;
|
|
L_0280E52C: ; // 0x280e52c
|
|
/* 0280E52C */ _t30 = cpu->r[25] + 0x00000004u;
|
|
/* 0280E52C */ cpu->r[25] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0280E530 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[27]);
|
|
/* 0280E534 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E534 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0280E534 */ if (_t32) goto L_0280E538; else goto L_0280E48C;
|
|
L_0280E538: ; // 0x280e538
|
|
/* 0280E538 */ /* nop */
|
|
/* 0280E53C */ _t33 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280E53C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0280E540 */ cpu->lr = cpu->r[0];
|
|
/* 0280E544 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0280E548 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280E54C */ return;
|
|
}
|
|
|
|
// fn_0280E550 @ 0x280e550
|
|
void Gambit_fn_0280E550(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0280E550: ; // 0x280e550
|
|
/* 0280E550 */ cpu->r[0] = cpu->lr;
|
|
/* 0280E554 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0280E554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E554 */ cpu->r[1] = _t0;
|
|
/* 0280E558 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 0280E558 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280E55C */ cpu->r[30] = cpu->r[5];
|
|
/* 0280E560 */ cpu->r[9] = 0x00000020u;
|
|
/* 0280E564 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E564 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 0280E568 */ cpu->r[12] = 0x10110000u;
|
|
/* 0280E56C */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280E56C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0280E570 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0280E570 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0280E574 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 0280E574 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280E578 */ cpu->r[0] = cpu->r[1] + 0x00000014u;
|
|
/* 0280E57C */ _t6 = cpu->r[12] + 0x00007399u;
|
|
/* 0280E57C */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0280E580 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280E584 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E584 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0280E588 */ cpu->r[29] = cpu->r[4];
|
|
/* 0280E58C */ cpu->r[0] = 0x10110000u;
|
|
/* 0280E590 */ _t8 = cpu->r[1] + 0x00000033u;
|
|
/* 0280E590 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 0280E594 */ cpu->r[0] = cpu->r[0] + 0x000030D0u;
|
|
/* 0280E598 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E598 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 0280E59C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280E5A0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E5A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0280E5A4 */ Gambit_fn_0280ED34(cpu);
|
|
/* 0280E5A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E5AC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E5AC */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280E5AC */ if (_t12) goto L_0280E5CC; else goto L_0280E5B0;
|
|
L_0280E5B0: ; // 0x280e5b0
|
|
/* 0280E5B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280E5B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280E5B8 */ Gambit_fn_0280E458(cpu);
|
|
/* 0280E5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280E5C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280E5C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E5C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280E5C4 */ if (_t14) goto L_0280E60C; else goto L_0280E5C8;
|
|
L_0280E5C8: ; // 0x280e5c8
|
|
/* 0280E5C8 */ goto L_0280E600;
|
|
L_0280E5CC: ; // 0x280e5cc
|
|
/* 0280E5CC */ _t15 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0280E5CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280E5D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280E5D4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E5D4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280E5D4 */ if (_t17) goto L_0280E5D8; else goto L_0280E5F8;
|
|
L_0280E5D8: ; // 0x280e5d8
|
|
/* 0280E5D8 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 0280E5D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280E5DC */ _t19 = cpu->r[1] + 0x00000044u;
|
|
/* 0280E5DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280E5E0 */ _t20 = cpu->r[1] + 0x00000038u;
|
|
/* 0280E5E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280E5E4 */ cpu->lr = cpu->r[0];
|
|
/* 0280E5E8 */ _t21 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280E5E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280E5EC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0280E5F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280E5F4 */ return;
|
|
L_0280E5F8: ; // 0x280e5f8
|
|
/* 0280E5F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280E5FC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E5FC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0280E5FC */ if (_t23) goto L_0280E60C; else goto L_0280E600;
|
|
L_0280E600: ; // 0x280e600
|
|
/* 0280E600 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E604 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280E608 */ Gambit_fn_0280F61C(cpu);
|
|
L_0280E60C: ; // 0x280e60c
|
|
/* 0280E60C */ _t24 = cpu->r[1] + 0x00000034u;
|
|
/* 0280E60C */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280E610 */ _t25 = cpu->r[1] + 0x00000044u;
|
|
/* 0280E610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280E614 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280E618 */ _t26 = cpu->r[1] + 0x00000038u;
|
|
/* 0280E618 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280E61C */ cpu->lr = cpu->r[0];
|
|
/* 0280E620 */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280E620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280E624 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0280E628 */ return;
|
|
}
|
|
|
|
// fn_0280E554 @ 0x280e554
|
|
void Gambit_fn_0280E554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0280E554: ; // 0x280e554
|
|
/* 0280E554 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0280E554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E554 */ cpu->r[1] = _t0;
|
|
/* 0280E558 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 0280E558 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280E55C */ cpu->r[30] = cpu->r[5];
|
|
/* 0280E560 */ cpu->r[9] = 0x00000020u;
|
|
/* 0280E564 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E564 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 0280E568 */ cpu->r[12] = 0x10110000u;
|
|
/* 0280E56C */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280E56C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0280E570 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 0280E570 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0280E574 */ _t5 = cpu->r[1] + 0x00000044u;
|
|
/* 0280E574 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280E578 */ cpu->r[0] = cpu->r[1] + 0x00000014u;
|
|
/* 0280E57C */ _t6 = cpu->r[12] + 0x00007399u;
|
|
/* 0280E57C */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0280E580 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280E584 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E584 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0280E588 */ cpu->r[29] = cpu->r[4];
|
|
/* 0280E58C */ cpu->r[0] = 0x10110000u;
|
|
/* 0280E590 */ _t8 = cpu->r[1] + 0x00000033u;
|
|
/* 0280E590 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 0280E594 */ cpu->r[0] = cpu->r[0] + 0x000030D0u;
|
|
/* 0280E598 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E598 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 0280E59C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280E5A0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E5A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0280E5A4 */ Gambit_fn_0280ED34(cpu);
|
|
/* 0280E5A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E5AC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E5AC */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280E5AC */ if (_t12) goto L_0280E5CC; else goto L_0280E5B0;
|
|
L_0280E5B0: ; // 0x280e5b0
|
|
/* 0280E5B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280E5B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280E5B8 */ Gambit_fn_0280E458(cpu);
|
|
/* 0280E5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280E5C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280E5C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E5C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280E5C4 */ if (_t14) goto L_0280E60C; else goto L_0280E5C8;
|
|
L_0280E5C8: ; // 0x280e5c8
|
|
/* 0280E5C8 */ goto L_0280E600;
|
|
L_0280E5CC: ; // 0x280e5cc
|
|
/* 0280E5CC */ _t15 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0280E5CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280E5D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280E5D4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E5D4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280E5D4 */ if (_t17) goto L_0280E5D8; else goto L_0280E5F8;
|
|
L_0280E5D8: ; // 0x280e5d8
|
|
/* 0280E5D8 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 0280E5D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280E5DC */ _t19 = cpu->r[1] + 0x00000044u;
|
|
/* 0280E5DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280E5E0 */ _t20 = cpu->r[1] + 0x00000038u;
|
|
/* 0280E5E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280E5E4 */ cpu->lr = cpu->r[0];
|
|
/* 0280E5E8 */ _t21 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280E5E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280E5EC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0280E5F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280E5F4 */ return;
|
|
L_0280E5F8: ; // 0x280e5f8
|
|
/* 0280E5F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280E5FC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E5FC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0280E5FC */ if (_t23) goto L_0280E60C; else goto L_0280E600;
|
|
L_0280E600: ; // 0x280e600
|
|
/* 0280E600 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E604 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280E608 */ Gambit_fn_0280F61C(cpu);
|
|
L_0280E60C: ; // 0x280e60c
|
|
/* 0280E60C */ _t24 = cpu->r[1] + 0x00000034u;
|
|
/* 0280E60C */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280E610 */ _t25 = cpu->r[1] + 0x00000044u;
|
|
/* 0280E610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280E614 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280E618 */ _t26 = cpu->r[1] + 0x00000038u;
|
|
/* 0280E618 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280E61C */ cpu->lr = cpu->r[0];
|
|
/* 0280E620 */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280E620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280E624 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0280E628 */ return;
|
|
}
|
|
|
|
// fn_0280E62C @ 0x280e62c
|
|
void Gambit_fn_0280E62C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53;
|
|
|
|
L_0280E62C: ; // 0x280e62c
|
|
/* 0280E62C */ cpu->r[0] = cpu->lr;
|
|
/* 0280E630 */ _t0 = cpu->r[1] + 0xFFFFFEB0u;
|
|
/* 0280E630 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E630 */ cpu->r[1] = _t0;
|
|
/* 0280E634 */ _t1 = cpu->r[1] + 0x00000144u;
|
|
/* 0280E634 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0280E638 */ _t2 = cpu->r[1] + 0x00000148u;
|
|
/* 0280E638 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280E63C */ cpu->r[6] = 0x00000100u;
|
|
/* 0280E640 */ _t3 = cpu->r[1] + 0x0000014Cu;
|
|
/* 0280E640 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0280E644 */ cpu->r[30] = 0x10110000u;
|
|
/* 0280E648 */ cpu->r[7] = 0x10110000u;
|
|
/* 0280E64C */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280E64C */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 0280E650 */ cpu->r[5] = cpu->r[1] + 0x00000040u;
|
|
/* 0280E654 */ cpu->r[9] = 0x10110000u;
|
|
/* 0280E658 */ _t5 = cpu->r[1] + 0x00000154u;
|
|
/* 0280E658 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280E65C */ _t6 = cpu->r[9] + 0x00007399u;
|
|
/* 0280E65C */ cpu->r[9] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0280E660 */ cpu->r[7] = cpu->r[7] + 0x000030A0u;
|
|
/* 0280E664 */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 0280E664 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 0280E668 */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 0280E66C */ _t8 = cpu->r[1] + 0x0000013Fu;
|
|
/* 0280E66C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[9]);
|
|
/* 0280E670 */ cpu->r[30] = cpu->r[30] + 0x00003058u;
|
|
/* 0280E674 */ _t9 = cpu->r[1] + 0x00000038u;
|
|
/* 0280E674 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 0280E678 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280E67C */ _t10 = cpu->r[1] + 0x00000040u;
|
|
/* 0280E67C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[9]);
|
|
/* 0280E680 */ Gambit_fn_0280E550(cpu);
|
|
/* 0280E684 */ cpu->r[29] = cpu->r[3];
|
|
/* 0280E684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280E688 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E688 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280E688 */ if (_t12) goto L_0280E68C; else goto L_0280E6AC;
|
|
L_0280E68C: ; // 0x280e68c
|
|
/* 0280E68C */ _t13 = cpu->r[1] + 0x00000144u;
|
|
/* 0280E68C */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280E690 */ _t14 = cpu->r[1] + 0x00000154u;
|
|
/* 0280E690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280E694 */ _t15 = cpu->r[1] + 0x00000148u;
|
|
/* 0280E694 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280E698 */ cpu->lr = cpu->r[0];
|
|
/* 0280E69C */ _t16 = cpu->r[1] + 0x0000014Cu;
|
|
/* 0280E69C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280E6A0 */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 0280E6A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280E6A8 */ return;
|
|
L_0280E6AC: ; // 0x280e6ac
|
|
/* 0280E6AC */ _t17 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0280E6AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280E6B0 */ _t18 = cpu->r[31] + 0x00000014u;
|
|
/* 0280E6B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280E6B4 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E6B4 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 0280E6B8 */ _t20 = cpu->r[31] + 0x00000010u;
|
|
/* 0280E6B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280E6BC */ _t21 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0280E6BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0280E6C0 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 0280E6C0 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 0280E6C4 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E6C4 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]);
|
|
/* 0280E6C8 */ _t24 = cpu->r[31] + 0x00000028u;
|
|
/* 0280E6C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0280E6CC */ _t25 = cpu->r[31] + 0x0000001Du;
|
|
/* 0280E6CC */ cpu->r[12] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0280E6D0 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 0280E6D0 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[11]);
|
|
/* 0280E6D4 */ _t27 = cpu->r[1] + 0x00000025u;
|
|
/* 0280E6D4 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[12]);
|
|
/* 0280E6D8 */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 0280E6D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280E6DC */ _t29 = cpu->r[31] + 0x00000000u;
|
|
/* 0280E6DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0280E6E0 */ _t30 = cpu->r[1] + 0x00000028u;
|
|
/* 0280E6E0 */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
|
|
/* 0280E6E4 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E6E4 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 0280E6E8 */ _t32 = cpu->r[1] + 0x00000030u;
|
|
/* 0280E6E8 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
|
|
/* 0280E6EC */ _t33 = cpu->r[31] + 0x00000018u;
|
|
/* 0280E6EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0280E6F0 */ _t34 = cpu->r[31] + 0x00000024u;
|
|
/* 0280E6F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0280E6F4 */ _t35 = cpu->r[31] + 0x00000008u;
|
|
/* 0280E6F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0280E6F8 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280E6F8 */ rbrew_write32(cpu->mem, _t36, cpu->r[8]);
|
|
/* 0280E6FC */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E6FC */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 0280E700 */ _t38 = cpu->r[1] + 0x00000038u;
|
|
/* 0280E700 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0280E704 */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 0280E704 */ rbrew_write32(cpu->mem, _t39, cpu->r[6]);
|
|
/* 0280E708 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E708 */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
|
|
/* 0280E70C */ _t41 = cpu->r[10] + 0x00000014u;
|
|
/* 0280E70C */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0280E710 */ cpu->ctr = cpu->r[11];
|
|
/* 0280E714 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 0280E718 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E71C */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 0280E71C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0280E720 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280E724 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280E728 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E728 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 0280E72C */ Gambit_fn_0280C984(cpu);
|
|
/* 0280E730 */ _t44 = cpu->r[1] + 0x00000028u;
|
|
/* 0280E730 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0280E734 */ _t45 = cpu->r[1] + 0x00000030u;
|
|
/* 0280E734 */ cpu->r[10] = rbrew_read8(cpu->mem, _t45);
|
|
/* 0280E738 */ _t46 = cpu->r[31] + 0x00000020u;
|
|
/* 0280E738 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 0280E73C */ _t47 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280E73C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0280E740 */ _t48 = cpu->r[31] + 0x00000028u;
|
|
/* 0280E740 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[10]);
|
|
/* 0280E744 */ _t49 = cpu->r[31] + 0x00000024u;
|
|
/* 0280E744 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 0280E748 */ _t50 = cpu->r[1] + 0x00000144u;
|
|
/* 0280E748 */ cpu->r[29] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0280E74C */ _t51 = cpu->r[1] + 0x00000154u;
|
|
/* 0280E74C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0280E750 */ _t52 = cpu->r[1] + 0x00000148u;
|
|
/* 0280E750 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0280E754 */ cpu->lr = cpu->r[0];
|
|
/* 0280E758 */ _t53 = cpu->r[1] + 0x0000014Cu;
|
|
/* 0280E758 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0280E75C */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 0280E760 */ return;
|
|
}
|
|
|
|
// fn_0280E630 @ 0x280e630
|
|
void Gambit_fn_0280E630(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53;
|
|
|
|
L_0280E630: ; // 0x280e630
|
|
/* 0280E630 */ _t0 = cpu->r[1] + 0xFFFFFEB0u;
|
|
/* 0280E630 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E630 */ cpu->r[1] = _t0;
|
|
/* 0280E634 */ _t1 = cpu->r[1] + 0x00000144u;
|
|
/* 0280E634 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0280E638 */ _t2 = cpu->r[1] + 0x00000148u;
|
|
/* 0280E638 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280E63C */ cpu->r[6] = 0x00000100u;
|
|
/* 0280E640 */ _t3 = cpu->r[1] + 0x0000014Cu;
|
|
/* 0280E640 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0280E644 */ cpu->r[30] = 0x10110000u;
|
|
/* 0280E648 */ cpu->r[7] = 0x10110000u;
|
|
/* 0280E64C */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0280E64C */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 0280E650 */ cpu->r[5] = cpu->r[1] + 0x00000040u;
|
|
/* 0280E654 */ cpu->r[9] = 0x10110000u;
|
|
/* 0280E658 */ _t5 = cpu->r[1] + 0x00000154u;
|
|
/* 0280E658 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280E65C */ _t6 = cpu->r[9] + 0x00007399u;
|
|
/* 0280E65C */ cpu->r[9] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0280E660 */ cpu->r[7] = cpu->r[7] + 0x000030A0u;
|
|
/* 0280E664 */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 0280E664 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 0280E668 */ cpu->r[5] = cpu->r[1] + 0x00000034u;
|
|
/* 0280E66C */ _t8 = cpu->r[1] + 0x0000013Fu;
|
|
/* 0280E66C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[9]);
|
|
/* 0280E670 */ cpu->r[30] = cpu->r[30] + 0x00003058u;
|
|
/* 0280E674 */ _t9 = cpu->r[1] + 0x00000038u;
|
|
/* 0280E674 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 0280E678 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280E67C */ _t10 = cpu->r[1] + 0x00000040u;
|
|
/* 0280E67C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[9]);
|
|
/* 0280E680 */ Gambit_fn_0280E550(cpu);
|
|
/* 0280E684 */ cpu->r[29] = cpu->r[3];
|
|
/* 0280E684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280E688 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E688 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280E688 */ if (_t12) goto L_0280E68C; else goto L_0280E6AC;
|
|
L_0280E68C: ; // 0x280e68c
|
|
/* 0280E68C */ _t13 = cpu->r[1] + 0x00000144u;
|
|
/* 0280E68C */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280E690 */ _t14 = cpu->r[1] + 0x00000154u;
|
|
/* 0280E690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280E694 */ _t15 = cpu->r[1] + 0x00000148u;
|
|
/* 0280E694 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280E698 */ cpu->lr = cpu->r[0];
|
|
/* 0280E69C */ _t16 = cpu->r[1] + 0x0000014Cu;
|
|
/* 0280E69C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280E6A0 */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 0280E6A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280E6A8 */ return;
|
|
L_0280E6AC: ; // 0x280e6ac
|
|
/* 0280E6AC */ _t17 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0280E6AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280E6B0 */ _t18 = cpu->r[31] + 0x00000014u;
|
|
/* 0280E6B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280E6B4 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E6B4 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 0280E6B8 */ _t20 = cpu->r[31] + 0x00000010u;
|
|
/* 0280E6B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280E6BC */ _t21 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0280E6BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0280E6C0 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 0280E6C0 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 0280E6C4 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E6C4 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]);
|
|
/* 0280E6C8 */ _t24 = cpu->r[31] + 0x00000028u;
|
|
/* 0280E6C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0280E6CC */ _t25 = cpu->r[31] + 0x0000001Du;
|
|
/* 0280E6CC */ cpu->r[12] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0280E6D0 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 0280E6D0 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[11]);
|
|
/* 0280E6D4 */ _t27 = cpu->r[1] + 0x00000025u;
|
|
/* 0280E6D4 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[12]);
|
|
/* 0280E6D8 */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 0280E6D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280E6DC */ _t29 = cpu->r[31] + 0x00000000u;
|
|
/* 0280E6DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0280E6E0 */ _t30 = cpu->r[1] + 0x00000028u;
|
|
/* 0280E6E0 */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
|
|
/* 0280E6E4 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E6E4 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 0280E6E8 */ _t32 = cpu->r[1] + 0x00000030u;
|
|
/* 0280E6E8 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
|
|
/* 0280E6EC */ _t33 = cpu->r[31] + 0x00000018u;
|
|
/* 0280E6EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0280E6F0 */ _t34 = cpu->r[31] + 0x00000024u;
|
|
/* 0280E6F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0280E6F4 */ _t35 = cpu->r[31] + 0x00000008u;
|
|
/* 0280E6F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0280E6F8 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280E6F8 */ rbrew_write32(cpu->mem, _t36, cpu->r[8]);
|
|
/* 0280E6FC */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E6FC */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 0280E700 */ _t38 = cpu->r[1] + 0x00000038u;
|
|
/* 0280E700 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0280E704 */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 0280E704 */ rbrew_write32(cpu->mem, _t39, cpu->r[6]);
|
|
/* 0280E708 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E708 */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
|
|
/* 0280E70C */ _t41 = cpu->r[10] + 0x00000014u;
|
|
/* 0280E70C */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0280E710 */ cpu->ctr = cpu->r[11];
|
|
/* 0280E714 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 0280E718 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E71C */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 0280E71C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0280E720 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280E724 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280E728 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E728 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 0280E72C */ Gambit_fn_0280C984(cpu);
|
|
/* 0280E730 */ _t44 = cpu->r[1] + 0x00000028u;
|
|
/* 0280E730 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0280E734 */ _t45 = cpu->r[1] + 0x00000030u;
|
|
/* 0280E734 */ cpu->r[10] = rbrew_read8(cpu->mem, _t45);
|
|
/* 0280E738 */ _t46 = cpu->r[31] + 0x00000020u;
|
|
/* 0280E738 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 0280E73C */ _t47 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280E73C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0280E740 */ _t48 = cpu->r[31] + 0x00000028u;
|
|
/* 0280E740 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[10]);
|
|
/* 0280E744 */ _t49 = cpu->r[31] + 0x00000024u;
|
|
/* 0280E744 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 0280E748 */ _t50 = cpu->r[1] + 0x00000144u;
|
|
/* 0280E748 */ cpu->r[29] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0280E74C */ _t51 = cpu->r[1] + 0x00000154u;
|
|
/* 0280E74C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0280E750 */ _t52 = cpu->r[1] + 0x00000148u;
|
|
/* 0280E750 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0280E754 */ cpu->lr = cpu->r[0];
|
|
/* 0280E758 */ _t53 = cpu->r[1] + 0x0000014Cu;
|
|
/* 0280E758 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0280E75C */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 0280E760 */ return;
|
|
}
|
|
|
|
// fn_0280E764 @ 0x280e764
|
|
void Gambit_fn_0280E764(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0280E764: ; // 0x280e764
|
|
/* 0280E764 */ cpu->r[0] = cpu->lr;
|
|
/* 0280E768 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280E768 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E768 */ cpu->r[1] = _t0;
|
|
/* 0280E76C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E76C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0280E770 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E770 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280E774 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E774 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0280E778 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280E77C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E77C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280E780 */ _t5 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0280E780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280E784 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280E788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E78C */ cpu->r[29] = 0x00000000u;
|
|
/* 0280E790 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E790 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280E790 */ if (_t7) goto L_0280E7AC; else goto L_0280E794;
|
|
L_0280E794: ; // 0x280e794
|
|
/* 0280E794 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280E798 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0280E798 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0280E79C */ Gambit_fn_02801EDC(cpu);
|
|
/* 0280E7A0 */ _t9 = cpu->r[30] + 0x00000018u;
|
|
/* 0280E7A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280E7A4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0280E7A8 */ _t10 = cpu->r[30] + 0x00000018u;
|
|
/* 0280E7A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
L_0280E7AC: ; // 0x280e7ac
|
|
/* 0280E7AC */ _t11 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280E7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280E7B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 0280E7B4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E7B4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280E7B4 */ if (_t13) goto L_0280E7B8; else goto L_0280E7BC;
|
|
L_0280E7B8: ; // 0x280e7b8
|
|
/* 0280E7B8 */ _t14 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280E7B8 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
L_0280E7BC: ; // 0x280e7bc
|
|
/* 0280E7BC */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E7BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280E7C0 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E7C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280E7C4 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E7C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280E7C8 */ cpu->lr = cpu->r[0];
|
|
/* 0280E7CC */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E7CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280E7D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280E7D4 */ return;
|
|
}
|
|
|
|
// fn_0280E768 @ 0x280e768
|
|
void Gambit_fn_0280E768(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0280E768: ; // 0x280e768
|
|
/* 0280E768 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280E768 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E768 */ cpu->r[1] = _t0;
|
|
/* 0280E76C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E76C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0280E770 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E770 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280E774 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E774 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0280E778 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280E77C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E77C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280E780 */ _t5 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0280E780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280E784 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280E788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E78C */ cpu->r[29] = 0x00000000u;
|
|
/* 0280E790 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E790 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280E790 */ if (_t7) goto L_0280E7AC; else goto L_0280E794;
|
|
L_0280E794: ; // 0x280e794
|
|
/* 0280E794 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280E798 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0280E798 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0280E79C */ Gambit_fn_02801EDC(cpu);
|
|
/* 0280E7A0 */ _t9 = cpu->r[30] + 0x00000018u;
|
|
/* 0280E7A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280E7A4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0280E7A8 */ _t10 = cpu->r[30] + 0x00000018u;
|
|
/* 0280E7A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
L_0280E7AC: ; // 0x280e7ac
|
|
/* 0280E7AC */ _t11 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280E7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280E7B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 0280E7B4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E7B4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280E7B4 */ if (_t13) goto L_0280E7B8; else goto L_0280E7BC;
|
|
L_0280E7B8: ; // 0x280e7b8
|
|
/* 0280E7B8 */ _t14 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280E7B8 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
L_0280E7BC: ; // 0x280e7bc
|
|
/* 0280E7BC */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E7BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280E7C0 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E7C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280E7C4 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E7C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280E7C8 */ cpu->lr = cpu->r[0];
|
|
/* 0280E7CC */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E7CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280E7D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280E7D4 */ return;
|
|
}
|
|
|
|
// fn_0280E7D8 @ 0x280e7d8
|
|
void Gambit_fn_0280E7D8(CPUState* cpu) {
|
|
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_0280E7D8: ; // 0x280e7d8
|
|
/* 0280E7D8 */ cpu->r[0] = cpu->lr;
|
|
/* 0280E7DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280E7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E7DC */ cpu->r[1] = _t0;
|
|
/* 0280E7E0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280E7E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280E7E8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E7E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280E7EC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E7EC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0280E7F0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280E7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280E7F4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E7F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0280E7F8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E7F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280E7FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E7FC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280E7FC */ if (_t7) goto L_0280E854; else goto L_0280E800;
|
|
L_0280E800: ; // 0x280e800
|
|
/* 0280E800 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280E804 */ cpu->r[0] = cpu->r[0] + 0x000030E8u;
|
|
/* 0280E808 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0280E80C */ _t8 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280E80C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0280E810 */ _t9 = cpu->r[12] + 0xFFFF9890u;
|
|
/* 0280E810 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280E810 */ cpu->r[12] = _t9;
|
|
/* 0280E814 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 0280E818 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E818 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0280E818 */ if (_t11) goto L_0280E81C; else goto L_0280E838;
|
|
L_0280E81C: ; // 0x280e81c
|
|
/* 0280E81C */ cpu->r[29] = 0x101D0000u;
|
|
/* 0280E820 */ cpu->r[28] = 0x00000000u;
|
|
/* 0280E824 */ _t12 = cpu->r[29] + 0xFFFF988Cu;
|
|
/* 0280E824 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280E828 */ cpu->r[4] = 0x00000002u;
|
|
/* 0280E82C */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 0280E82C */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 0280E830 */ Gambit_fn_0280E3D4(cpu);
|
|
/* 0280E834 */ _t14 = cpu->r[29] + 0xFFFF988Cu;
|
|
/* 0280E834 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
L_0280E838: ; // 0x280e838
|
|
/* 0280E838 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E83C */ cpu->r[4] = 0x00000000u;
|
|
/* 0280E840 */ Gambit_fn_02821E68(cpu);
|
|
/* 0280E844 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E848 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E848 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280E848 */ if (_t16) goto L_0280E854; else goto L_0280E84C;
|
|
L_0280E84C: ; // 0x280e84c
|
|
/* 0280E84C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E850 */ Gambit_fn_02801BB0(cpu);
|
|
L_0280E854: ; // 0x280e854
|
|
/* 0280E854 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E854 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280E858 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280E85C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280E860 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280E864 */ cpu->lr = cpu->r[0];
|
|
/* 0280E868 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280E86C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280E870 */ return;
|
|
}
|
|
|
|
// fn_0280E7DC @ 0x280e7dc
|
|
void Gambit_fn_0280E7DC(CPUState* cpu) {
|
|
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_0280E7DC: ; // 0x280e7dc
|
|
/* 0280E7DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280E7DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E7DC */ cpu->r[1] = _t0;
|
|
/* 0280E7E0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E7E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280E7E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280E7E8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E7E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280E7EC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E7EC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0280E7F0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280E7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280E7F4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E7F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0280E7F8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E7F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280E7FC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E7FC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280E7FC */ if (_t7) goto L_0280E854; else goto L_0280E800;
|
|
L_0280E800: ; // 0x280e800
|
|
/* 0280E800 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280E804 */ cpu->r[0] = cpu->r[0] + 0x000030E8u;
|
|
/* 0280E808 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0280E80C */ _t8 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0280E80C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0280E810 */ _t9 = cpu->r[12] + 0xFFFF9890u;
|
|
/* 0280E810 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280E810 */ cpu->r[12] = _t9;
|
|
/* 0280E814 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 0280E818 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E818 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0280E818 */ if (_t11) goto L_0280E81C; else goto L_0280E838;
|
|
L_0280E81C: ; // 0x280e81c
|
|
/* 0280E81C */ cpu->r[29] = 0x101D0000u;
|
|
/* 0280E820 */ cpu->r[28] = 0x00000000u;
|
|
/* 0280E824 */ _t12 = cpu->r[29] + 0xFFFF988Cu;
|
|
/* 0280E824 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280E828 */ cpu->r[4] = 0x00000002u;
|
|
/* 0280E82C */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 0280E82C */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 0280E830 */ Gambit_fn_0280E3D4(cpu);
|
|
/* 0280E834 */ _t14 = cpu->r[29] + 0xFFFF988Cu;
|
|
/* 0280E834 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
L_0280E838: ; // 0x280e838
|
|
/* 0280E838 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E83C */ cpu->r[4] = 0x00000000u;
|
|
/* 0280E840 */ Gambit_fn_02821E68(cpu);
|
|
/* 0280E844 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E848 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E848 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280E848 */ if (_t16) goto L_0280E854; else goto L_0280E84C;
|
|
L_0280E84C: ; // 0x280e84c
|
|
/* 0280E84C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E850 */ Gambit_fn_02801BB0(cpu);
|
|
L_0280E854: ; // 0x280e854
|
|
/* 0280E854 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E854 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280E858 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280E85C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280E85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280E860 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0280E860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280E864 */ cpu->lr = cpu->r[0];
|
|
/* 0280E868 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280E86C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280E870 */ return;
|
|
}
|
|
|
|
// fn_0280E874 @ 0x280e874
|
|
void Gambit_fn_0280E874(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_0280E874: ; // 0x280e874
|
|
/* 0280E874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E878 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E878 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280E878 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E878 */ goto L_0280E87C;
|
|
L_0280E87C: ; // 0x280e87c
|
|
/* 0280E87C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E87C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E880 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E880 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280E880 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E880 */ goto L_0280E884;
|
|
L_0280E884: ; // 0x280e884
|
|
/* 0280E884 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280E888 @ 0x280e888
|
|
void Gambit_fn_0280E888(CPUState* cpu) {
|
|
L_0280E888: ; // 0x280e888
|
|
/* 0280E888 */ return;
|
|
}
|
|
|
|
// fn_0280E88C @ 0x280e88c
|
|
void Gambit_fn_0280E88C(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_0280E88C: ; // 0x280e88c
|
|
/* 0280E88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E890 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E890 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280E890 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E890 */ goto L_0280E894;
|
|
L_0280E894: ; // 0x280e894
|
|
/* 0280E894 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E898 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E898 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280E898 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E898 */ goto L_0280E89C;
|
|
L_0280E89C: ; // 0x280e89c
|
|
/* 0280E89C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280E8A0 @ 0x280e8a0
|
|
void Gambit_fn_0280E8A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0280E8A0: ; // 0x280e8a0
|
|
/* 0280E8A0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0280E8A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280E8A4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0280E8A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280E8A8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0280E8AC */ cpu->r[11] = 0x10110000u;
|
|
/* 0280E8B0 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0280E8B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0280E8B4 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0280E8B4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0280E8B8 */ return;
|
|
}
|
|
|
|
// fn_0280E8BC @ 0x280e8bc
|
|
void Gambit_fn_0280E8BC(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_0280E8BC: ; // 0x280e8bc
|
|
/* 0280E8BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E8C0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E8C0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280E8C0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E8C0 */ goto L_0280E8C4;
|
|
L_0280E8C4: ; // 0x280e8c4
|
|
/* 0280E8C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E8C8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E8C8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280E8C8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E8C8 */ goto L_0280E8CC;
|
|
L_0280E8CC: ; // 0x280e8cc
|
|
/* 0280E8CC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280E8D0 @ 0x280e8d0
|
|
void Gambit_fn_0280E8D0(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_0280E8D0: ; // 0x280e8d0
|
|
/* 0280E8D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E8D4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E8D4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280E8D4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E8D4 */ goto L_0280E8D8;
|
|
L_0280E8D8: ; // 0x280e8d8
|
|
/* 0280E8D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E8D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E8DC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E8DC */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280E8DC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E8DC */ goto L_0280E8E0;
|
|
L_0280E8E0: ; // 0x280e8e0
|
|
/* 0280E8E0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280E8E4 @ 0x280e8e4
|
|
void Gambit_fn_0280E8E4(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_0280E8E4: ; // 0x280e8e4
|
|
/* 0280E8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E8E8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E8E8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280E8E8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E8E8 */ goto L_0280E8EC;
|
|
L_0280E8EC: ; // 0x280e8ec
|
|
/* 0280E8EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E8EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E8F0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E8F0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280E8F0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E8F0 */ goto L_0280E8F4;
|
|
L_0280E8F4: ; // 0x280e8f4
|
|
/* 0280E8F4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280E8F8 @ 0x280e8f8
|
|
void Gambit_fn_0280E8F8(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_0280E8F8: ; // 0x280e8f8
|
|
/* 0280E8F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E8FC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E8FC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280E8FC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E8FC */ goto L_0280E900;
|
|
L_0280E900: ; // 0x280e900
|
|
/* 0280E900 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280E904 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E904 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280E904 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280E904 */ goto L_0280E908;
|
|
L_0280E908: ; // 0x280e908
|
|
/* 0280E908 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280E90C @ 0x280e90c
|
|
void Gambit_fn_0280E90C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0280E90C: ; // 0x280e90c
|
|
/* 0280E90C */ cpu->r[0] = cpu->lr;
|
|
/* 0280E910 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280E910 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E910 */ cpu->r[1] = _t0;
|
|
/* 0280E914 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E914 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280E918 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E918 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280E91C */ cpu->r[30] = cpu->r[3];
|
|
/* 0280E91C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280E920 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280E924 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E924 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280E928 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E928 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280E928 */ if (_t5) goto L_0280E988; else goto L_0280E92C;
|
|
L_0280E92C: ; // 0x280e92c
|
|
/* 0280E92C */ cpu->r[8] = 0x10110000u;
|
|
/* 0280E930 */ _t6 = cpu->r[30] + 0x00000054u;
|
|
/* 0280E930 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280E934 */ cpu->r[8] = cpu->r[8] + 0x00003170u;
|
|
/* 0280E938 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280E93C */ _t7 = cpu->r[30] + 0x00000050u;
|
|
/* 0280E93C */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 0280E940 */ cpu->r[0] = cpu->r[0] + 0x00003258u;
|
|
/* 0280E944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E948 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280E948 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0280E94C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E94C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280E94C */ if (_t10) goto L_0280E96C; else goto L_0280E950;
|
|
L_0280E950: ; // 0x280e950
|
|
/* 0280E950 */ _t11 = cpu->r[3] + 0x00000050u;
|
|
/* 0280E950 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280E954 */ _t12 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0280E954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280E958 */ cpu->ctr = cpu->r[0];
|
|
/* 0280E95C */ cpu->r[4] = 0x00000003u;
|
|
/* 0280E960 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E964 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280E968 */ _t13 = cpu->r[30] + 0x00000054u;
|
|
/* 0280E968 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_0280E96C: ; // 0x280e96c
|
|
/* 0280E96C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E970 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280E974 */ Gambit_fn_0280C770(cpu);
|
|
/* 0280E978 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280E97C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E97C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280E97C */ if (_t15) goto L_0280E988; else goto L_0280E980;
|
|
L_0280E980: ; // 0x280e980
|
|
/* 0280E980 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E984 */ Gambit_fn_02801BB0(cpu);
|
|
L_0280E988: ; // 0x280e988
|
|
/* 0280E988 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280E98C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E98C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280E990 */ cpu->lr = cpu->r[0];
|
|
/* 0280E994 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280E998 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280E99C */ return;
|
|
}
|
|
|
|
// fn_0280E910 @ 0x280e910
|
|
void Gambit_fn_0280E910(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0280E910: ; // 0x280e910
|
|
/* 0280E910 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280E910 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E910 */ cpu->r[1] = _t0;
|
|
/* 0280E914 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E914 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280E918 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E918 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280E91C */ cpu->r[30] = cpu->r[3];
|
|
/* 0280E91C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280E920 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280E924 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E924 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280E928 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E928 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280E928 */ if (_t5) goto L_0280E988; else goto L_0280E92C;
|
|
L_0280E92C: ; // 0x280e92c
|
|
/* 0280E92C */ cpu->r[8] = 0x10110000u;
|
|
/* 0280E930 */ _t6 = cpu->r[30] + 0x00000054u;
|
|
/* 0280E930 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280E934 */ cpu->r[8] = cpu->r[8] + 0x00003170u;
|
|
/* 0280E938 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280E93C */ _t7 = cpu->r[30] + 0x00000050u;
|
|
/* 0280E93C */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 0280E940 */ cpu->r[0] = cpu->r[0] + 0x00003258u;
|
|
/* 0280E944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E948 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280E948 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0280E94C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E94C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280E94C */ if (_t10) goto L_0280E96C; else goto L_0280E950;
|
|
L_0280E950: ; // 0x280e950
|
|
/* 0280E950 */ _t11 = cpu->r[3] + 0x00000050u;
|
|
/* 0280E950 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280E954 */ _t12 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0280E954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280E958 */ cpu->ctr = cpu->r[0];
|
|
/* 0280E95C */ cpu->r[4] = 0x00000003u;
|
|
/* 0280E960 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E964 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280E968 */ _t13 = cpu->r[30] + 0x00000054u;
|
|
/* 0280E968 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_0280E96C: ; // 0x280e96c
|
|
/* 0280E96C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E970 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280E974 */ Gambit_fn_0280C770(cpu);
|
|
/* 0280E978 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280E97C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E97C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280E97C */ if (_t15) goto L_0280E988; else goto L_0280E980;
|
|
L_0280E980: ; // 0x280e980
|
|
/* 0280E980 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E984 */ Gambit_fn_02801BB0(cpu);
|
|
L_0280E988: ; // 0x280e988
|
|
/* 0280E988 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280E98C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E98C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280E990 */ cpu->lr = cpu->r[0];
|
|
/* 0280E994 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280E998 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280E99C */ return;
|
|
}
|
|
|
|
// fn_0280E9A0 @ 0x280e9a0
|
|
void Gambit_fn_0280E9A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0280E90C: ; // 0x280e90c
|
|
/* 0280E90C */ cpu->r[0] = cpu->lr;
|
|
/* 0280E910 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280E910 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E910 */ cpu->r[1] = _t0;
|
|
/* 0280E914 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E914 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0280E918 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E918 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280E91C */ cpu->r[30] = cpu->r[3];
|
|
/* 0280E91C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280E920 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280E924 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E924 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280E928 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E928 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280E928 */ if (_t5) goto L_0280E988; else goto L_0280E92C;
|
|
L_0280E92C: ; // 0x280e92c
|
|
/* 0280E92C */ cpu->r[8] = 0x10110000u;
|
|
/* 0280E930 */ _t6 = cpu->r[30] + 0x00000054u;
|
|
/* 0280E930 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280E934 */ cpu->r[8] = cpu->r[8] + 0x00003170u;
|
|
/* 0280E938 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280E93C */ _t7 = cpu->r[30] + 0x00000050u;
|
|
/* 0280E93C */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 0280E940 */ cpu->r[0] = cpu->r[0] + 0x00003258u;
|
|
/* 0280E944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280E948 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0280E948 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0280E94C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E94C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280E94C */ if (_t10) goto L_0280E96C; else goto L_0280E950;
|
|
L_0280E950: ; // 0x280e950
|
|
/* 0280E950 */ _t11 = cpu->r[3] + 0x00000050u;
|
|
/* 0280E950 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280E954 */ _t12 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0280E954 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280E958 */ cpu->ctr = cpu->r[0];
|
|
/* 0280E95C */ cpu->r[4] = 0x00000003u;
|
|
/* 0280E960 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280E964 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280E968 */ _t13 = cpu->r[30] + 0x00000054u;
|
|
/* 0280E968 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_0280E96C: ; // 0x280e96c
|
|
/* 0280E96C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E970 */ cpu->r[4] = 0x00000000u;
|
|
/* 0280E974 */ Gambit_fn_0280C770(cpu);
|
|
/* 0280E978 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280E978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280E97C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E97C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280E97C */ if (_t15) goto L_0280E988; else goto L_0280E980;
|
|
L_0280E980: ; // 0x280e980
|
|
/* 0280E980 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280E984 */ Gambit_fn_02801BB0(cpu);
|
|
L_0280E988: ; // 0x280e988
|
|
/* 0280E988 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0280E988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280E98C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E98C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280E990 */ cpu->lr = cpu->r[0];
|
|
/* 0280E994 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280E998 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280E99C */ return;
|
|
L_0280E9A0: ; // 0x280e9a0
|
|
/* 0280E9A0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 0280E9A4 */ goto L_0280E90C;
|
|
}
|
|
|
|
// fn_0280E9A8 @ 0x280e9a8
|
|
void Gambit_fn_0280E9A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84;
|
|
|
|
L_0280E9A8: ; // 0x280e9a8
|
|
/* 0280E9A8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0280E9A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280E9A8 */ cpu->r[1] = _t0;
|
|
/* 0280E9AC */ cpu->r[0] = cpu->lr;
|
|
/* 0280E9B0 */ /* nop */
|
|
/* 0280E9B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0280E9B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280E9B8 */ cpu->r[28] = cpu->r[4];
|
|
/* 0280E9BC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0280E9BC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280E9C0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E9C0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0280E9C0 */ if (_t3) goto L_0280E9C4; else goto L_0280E9D4;
|
|
L_0280E9C4: ; // 0x280e9c4
|
|
/* 0280E9C4 */ cpu->r[3] = 0x00000058u;
|
|
/* 0280E9C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280E9CC */ cpu->r[31] = cpu->r[3];
|
|
/* 0280E9CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280E9D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E9D0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0280E9D0 */ if (_t5) goto L_0280EC24; else goto L_0280E9D4;
|
|
L_0280E9D4: ; // 0x280e9d4
|
|
/* 0280E9D4 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280E9D8 */ cpu->r[11] = 0x10110000u;
|
|
/* 0280E9DC */ cpu->r[0] = cpu->r[0] + 0x00003108u;
|
|
/* 0280E9E0 */ cpu->r[11] = cpu->r[11] + 0x00003168u;
|
|
/* 0280E9E4 */ cpu->r[26] = cpu->r[31];
|
|
/* 0280E9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0280E9E8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280E9E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0280E9EC */ cpu->r[27] = 0x00000000u;
|
|
/* 0280E9F0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0280E9F0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0280E9F4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280E9F4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280E9F4 */ if (_t9) goto L_0280E9F8; else goto L_0280EA08;
|
|
L_0280E9F8: ; // 0x280e9f8
|
|
/* 0280E9F8 */ cpu->r[3] = 0x00000054u;
|
|
/* 0280E9FC */ Gambit_fn_02801A78(cpu);
|
|
/* 0280EA00 */ cpu->r[26] = cpu->r[3];
|
|
/* 0280EA00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0280EA04 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EA04 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0280EA04 */ if (_t11) goto L_0280EBE8; else goto L_0280EA08;
|
|
L_0280EA08: ; // 0x280ea08
|
|
/* 0280EA08 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280EA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280EA0C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EA0C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280EA0C */ if (_t13) goto L_0280EA10; else goto L_0280EA20;
|
|
L_0280EA10: ; // 0x280ea10
|
|
/* 0280EA10 */ cpu->r[3] = 0x00000010u;
|
|
/* 0280EA14 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280EA18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280EA1C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EA1C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280EA1C */ if (_t15) goto L_0280EA30; else goto L_0280EA20;
|
|
L_0280EA20: ; // 0x280ea20
|
|
/* 0280EA20 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 0280EA20 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 0280EA24 */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 0280EA24 */ rbrew_write32(cpu->mem, _t17, cpu->r[26]);
|
|
/* 0280EA28 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 0280EA28 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
/* 0280EA2C */ _t19 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0280EA2C */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
L_0280EA30: ; // 0x280ea30
|
|
/* 0280EA30 */ cpu->r[3] = cpu->r[26] + 0x00000010u;
|
|
/* 0280EA34 */ Gambit_fn_02821D00(cpu);
|
|
/* 0280EA38 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280EA3C */ cpu->r[25] = cpu->r[26] + 0x00000020u;
|
|
/* 0280EA3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0280EA40 */ cpu->r[0] = cpu->r[0] + 0x00003048u;
|
|
/* 0280EA44 */ cpu->r[12] = 0x10110000u;
|
|
/* 0280EA48 */ _t20 = cpu->r[26] + 0x0000001Cu;
|
|
/* 0280EA48 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 0280EA4C */ cpu->r[12] = cpu->r[12] + 0x00002F60u;
|
|
/* 0280EA50 */ cpu->r[30] = 0x10110000u;
|
|
/* 0280EA54 */ _t21 = cpu->r[26] + 0x00000050u;
|
|
/* 0280EA54 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 0280EA58 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EA58 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0280EA58 */ if (_t23) goto L_0280EA5C; else goto L_0280EAAC;
|
|
L_0280EA5C: ; // 0x280ea5c
|
|
/* 0280EA5C */ cpu->r[3] = 0x0000002Cu;
|
|
/* 0280EA60 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280EA64 */ cpu->r[25] = cpu->r[3];
|
|
/* 0280EA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0280EA68 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EA68 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0280EA68 */ if (_t25) goto L_0280EA6C; else goto L_0280EAAC;
|
|
L_0280EA6C: ; // 0x280ea6c
|
|
/* 0280EA6C */ cpu->r[11] = 0x00000001u;
|
|
/* 0280EA70 */ _t26 = cpu->r[30] + 0x00007399u;
|
|
/* 0280EA70 */ cpu->r[30] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0280EA74 */ _t27 = cpu->r[26] + 0x0000004Cu;
|
|
/* 0280EA74 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[11]);
|
|
/* 0280EA78 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280EA78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0280EA7C */ _t29 = cpu->r[12] + 0x00000014u;
|
|
/* 0280EA7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0280EA80 */ cpu->ctr = cpu->r[0];
|
|
/* 0280EA84 */ _t30 = cpu->r[26] + 0x00000020u;
|
|
/* 0280EA84 */ cpu->r[25] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0280EA88 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280EA8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280EA90 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0280EA90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0280EA94 */ _t32 = cpu->r[5] + 0x00000000u;
|
|
/* 0280EA94 */ cpu->r[10] = rbrew_read8(cpu->mem, _t32);
|
|
/* 0280EA98 */ cpu->r[6] = 0x00080000u;
|
|
/* 0280EA9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0280EAA0 */ cpu->r[29] = 0x00000000u;
|
|
/* 0280EAA4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EAA4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0280EAA4 */ if (_t34) goto L_0280EAA8; else goto L_0280EB88;
|
|
L_0280EAA8: ; // 0x280eaa8
|
|
/* 0280EAA8 */ goto L_0280EBAC;
|
|
L_0280EAAC: ; // 0x280eaac
|
|
/* 0280EAAC */ cpu->r[29] = cpu->r[25];
|
|
/* 0280EAAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280EAB0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EAB0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0280EAB0 */ if (_t36) goto L_0280EAB4; else goto L_0280EAD8;
|
|
L_0280EAB4: ; // 0x280eab4
|
|
/* 0280EAB4 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 0280EAB8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280EABC */ cpu->r[29] = cpu->r[3];
|
|
/* 0280EABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280EAC0 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EAC0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0280EAC0 */ if (_t38) goto L_0280EAC4; else goto L_0280EAD8;
|
|
L_0280EAC4: ; // 0x280eac4
|
|
/* 0280EAC4 */ cpu->r[10] = 0x10110000u;
|
|
/* 0280EAC8 */ _t39 = cpu->r[30] + 0x00007399u;
|
|
/* 0280EAC8 */ cpu->r[30] = rbrew_read8(cpu->mem, _t39);
|
|
/* 0280EACC */ cpu->r[10] = cpu->r[10] + 0x00003150u;
|
|
/* 0280EAD0 */ _t40 = cpu->r[25] + 0x00000004u;
|
|
/* 0280EAD0 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 0280EAD4 */ goto L_0280EB50;
|
|
L_0280EAD8: ; // 0x280ead8
|
|
/* 0280EAD8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280EAD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280EADC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EADC */ _t42 = _t41 & 0x00000001u;
|
|
/* 0280EADC */ if (_t42) goto L_0280EAE0; else goto L_0280EB0C;
|
|
L_0280EAE0: ; // 0x280eae0
|
|
/* 0280EAE0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0280EAE4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0280EAE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280EAEC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EAEC */ _t44 = _t43 & 0x00000001u;
|
|
/* 0280EAEC */ if (_t44) goto L_0280EAF0; else goto L_0280EB0C;
|
|
L_0280EAF0: ; // 0x280eaf0
|
|
/* 0280EAF0 */ cpu->r[8] = 0x10110000u;
|
|
/* 0280EAF4 */ _t45 = cpu->r[30] + 0x00007399u;
|
|
/* 0280EAF4 */ cpu->r[30] = rbrew_read8(cpu->mem, _t45);
|
|
/* 0280EAF8 */ cpu->r[8] = cpu->r[8] + 0x00003138u;
|
|
/* 0280EAFC */ _t46 = cpu->r[29] + 0x00000000u;
|
|
/* 0280EAFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0280EB00 */ _t47 = cpu->r[29] + 0x00000004u;
|
|
/* 0280EB00 */ rbrew_write32(cpu->mem, _t47, cpu->r[8]);
|
|
/* 0280EB04 */ _t48 = cpu->r[9] + 0x00000000u;
|
|
/* 0280EB04 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[30]);
|
|
/* 0280EB08 */ goto L_0280EB44;
|
|
L_0280EB0C: ; // 0x280eb0c
|
|
/* 0280EB0C */ cpu->r[6] = 0x10110000u;
|
|
/* 0280EB10 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0280EB14 */ cpu->r[6] = cpu->r[6] + 0x00003120u;
|
|
/* 0280EB18 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 0280EB18 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 0280EB1C */ cpu->r[7] = 0x00000020u;
|
|
/* 0280EB20 */ _t50 = cpu->r[3] + 0x00000004u;
|
|
/* 0280EB20 */ rbrew_write32(cpu->mem, _t50, cpu->r[6]);
|
|
/* 0280EB24 */ _t51 = cpu->r[3] + 0x00000008u;
|
|
/* 0280EB24 */ rbrew_write32(cpu->mem, _t51, cpu->r[7]);
|
|
/* 0280EB28 */ _t52 = cpu->r[30] + 0x00007399u;
|
|
/* 0280EB28 */ cpu->r[30] = rbrew_read8(cpu->mem, _t52);
|
|
/* 0280EB2C */ cpu->r[8] = 0x10110000u;
|
|
/* 0280EB30 */ _t53 = cpu->r[29] + 0x00000000u;
|
|
/* 0280EB30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0280EB34 */ cpu->r[8] = cpu->r[8] + 0x00003138u;
|
|
/* 0280EB38 */ _t54 = cpu->r[29] + 0x0000002Bu;
|
|
/* 0280EB38 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[30]);
|
|
/* 0280EB3C */ _t55 = cpu->r[29] + 0x00000004u;
|
|
/* 0280EB3C */ rbrew_write32(cpu->mem, _t55, cpu->r[8]);
|
|
/* 0280EB40 */ _t56 = cpu->r[9] + 0x00000000u;
|
|
/* 0280EB40 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[30]);
|
|
L_0280EB44: ; // 0x280eb44
|
|
/* 0280EB44 */ cpu->r[10] = 0x10110000u;
|
|
/* 0280EB48 */ cpu->r[10] = cpu->r[10] + 0x00003150u;
|
|
/* 0280EB4C */ _t57 = cpu->r[25] + 0x00000004u;
|
|
/* 0280EB4C */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
L_0280EB50: ; // 0x280eb50
|
|
/* 0280EB50 */ cpu->r[11] = 0x00000001u;
|
|
/* 0280EB54 */ _t58 = cpu->r[26] + 0x0000004Cu;
|
|
/* 0280EB54 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[11]);
|
|
/* 0280EB58 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280EB58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0280EB5C */ _t60 = cpu->r[12] + 0x00000014u;
|
|
/* 0280EB5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0280EB60 */ cpu->ctr = cpu->r[0];
|
|
/* 0280EB64 */ _t61 = cpu->r[26] + 0x00000020u;
|
|
/* 0280EB64 */ cpu->r[25] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0280EB68 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280EB6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280EB70 */ _t62 = cpu->r[1] + 0x00000008u;
|
|
/* 0280EB70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0280EB74 */ _t63 = cpu->r[5] + 0x00000000u;
|
|
/* 0280EB74 */ cpu->r[10] = rbrew_read8(cpu->mem, _t63);
|
|
/* 0280EB78 */ cpu->r[6] = 0x00080000u;
|
|
/* 0280EB7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0280EB80 */ cpu->r[29] = 0x00000000u;
|
|
/* 0280EB84 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EB84 */ _t65 = _t64 & 0x00000001u;
|
|
/* 0280EB84 */ if (_t65) goto L_0280EBAC; else goto L_0280EB88;
|
|
L_0280EB88: ; // 0x280eb88
|
|
/* 0280EB88 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0280EB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0280EB90 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0280EB94 */ _t66 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280EB94 */ _t67 = _t66 & 0x00000001u;
|
|
/* 0280EB94 */ if (_t67) goto L_0280EBA8; else goto L_0280EB98;
|
|
L_0280EB98: ; // 0x280eb98
|
|
/* 0280EB98 */ _t68 = cpu->r[5] + 0x00000000u;
|
|
/* 0280EB98 */ cpu->r[11] = rbrew_read8(cpu->mem, _t68);
|
|
/* 0280EB9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 0280EBA0 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EBA0 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0280EBA0 */ if (_t70) goto L_0280EBA4; else goto L_0280EB88;
|
|
L_0280EBA4: ; // 0x280eba4
|
|
/* 0280EBA4 */ goto L_0280EBAC;
|
|
L_0280EBA8: ; // 0x280eba8
|
|
/* 0280EBA8 */ cpu->r[29] = 0x00000000u;
|
|
L_0280EBAC: ; // 0x280ebac
|
|
/* 0280EBAC */ _t71 = cpu->r[26] + 0x00000028u;
|
|
/* 0280EBAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0280EBB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 0280EBB4 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280EBB4 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0280EBB4 */ if (_t73) goto L_0280EBBC; else goto L_0280EBB8;
|
|
L_0280EBB8: ; // 0x280ebb8
|
|
/* 0280EBB8 */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0280EBBC: ; // 0x280ebbc
|
|
/* 0280EBBC */ _t74 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280EBBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0280EBC0 */ _t75 = cpu->r[12] + 0x00000014u;
|
|
/* 0280EBC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0280EBC4 */ cpu->ctr = cpu->r[0];
|
|
/* 0280EBC8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280EBCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280EBD0 */ _t76 = cpu->r[1] + 0x00000008u;
|
|
/* 0280EBD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0280EBD4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280EBD8 */ cpu->r[5] = cpu->r[29];
|
|
/* 0280EBDC */ cpu->r[3] = cpu->r[25];
|
|
/* 0280EBE0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280EBE4 */ _t77 = cpu->r[25] + cpu->r[29];
|
|
/* 0280EBE4 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[30]);
|
|
L_0280EBE8: ; // 0x280ebe8
|
|
/* 0280EBE8 */ cpu->r[7] = 0x10110000u;
|
|
/* 0280EBEC */ _t78 = cpu->r[31] + 0x00000054u;
|
|
/* 0280EBEC */ rbrew_write32(cpu->mem, _t78, cpu->r[27]);
|
|
/* 0280EBF0 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280EBF4 */ cpu->r[7] = cpu->r[7] + 0x00003170u;
|
|
/* 0280EBF8 */ cpu->r[4] = cpu->r[28];
|
|
/* 0280EBFC */ cpu->r[0] = cpu->r[0] + 0x00003258u;
|
|
/* 0280EC00 */ _t79 = cpu->r[31] + 0x00000050u;
|
|
/* 0280EC00 */ rbrew_write32(cpu->mem, _t79, cpu->r[7]);
|
|
/* 0280EC04 */ cpu->r[5] = 0x00000004u;
|
|
/* 0280EC08 */ cpu->r[3] = 0x0000006Cu;
|
|
/* 0280EC0C */ _t80 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0280EC0C */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
|
|
/* 0280EC10 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0280EC14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280EC18 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EC18 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0280EC18 */ if (_t82) goto L_0280EC20; else goto L_0280EC1C;
|
|
L_0280EC1C: ; // 0x280ec1c
|
|
/* 0280EC1C */ Gambit_fn_02811A08(cpu);
|
|
L_0280EC20: ; // 0x280ec20
|
|
/* 0280EC20 */ _t83 = cpu->r[31] + 0x00000054u;
|
|
/* 0280EC20 */ rbrew_write32(cpu->mem, _t83, cpu->r[3]);
|
|
L_0280EC24: ; // 0x280ec24
|
|
/* 0280EC24 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280EC28 */ /* nop */
|
|
/* 0280EC2C */ _t84 = cpu->r[1] + 0x00000034u;
|
|
/* 0280EC2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0280EC30 */ cpu->lr = cpu->r[0];
|
|
/* 0280EC34 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0280EC38 */ return;
|
|
}
|
|
|
|
// fn_0280EC3C @ 0x280ec3c
|
|
void Gambit_fn_0280EC3C(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_0280EC3C: ; // 0x280ec3c
|
|
/* 0280EC3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280EC40 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EC40 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280EC40 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280EC40 */ goto L_0280EC44;
|
|
L_0280EC44: ; // 0x280ec44
|
|
/* 0280EC44 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280EC44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280EC48 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EC48 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280EC48 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280EC48 */ goto L_0280EC4C;
|
|
L_0280EC4C: ; // 0x280ec4c
|
|
/* 0280EC4C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280EC50 @ 0x280ec50
|
|
void Gambit_fn_0280EC50(CPUState* cpu) {
|
|
L_0280EC50: ; // 0x280ec50
|
|
/* 0280EC50 */ return;
|
|
}
|
|
|
|
// fn_0280EC54 @ 0x280ec54
|
|
void Gambit_fn_0280EC54(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_0280EC54: ; // 0x280ec54
|
|
/* 0280EC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280EC58 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EC58 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280EC58 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280EC58 */ goto L_0280EC5C;
|
|
L_0280EC5C: ; // 0x280ec5c
|
|
/* 0280EC5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280EC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280EC60 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EC60 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280EC60 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280EC60 */ goto L_0280EC64;
|
|
L_0280EC64: ; // 0x280ec64
|
|
/* 0280EC64 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280EC68 @ 0x280ec68
|
|
void Gambit_fn_0280EC68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0280EC68: ; // 0x280ec68
|
|
/* 0280EC68 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0280EC68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280EC6C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0280EC6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280EC70 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0280EC74 */ cpu->r[11] = 0x10110000u;
|
|
/* 0280EC78 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0280EC78 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0280EC7C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0280EC7C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0280EC80 */ return;
|
|
}
|
|
|
|
// fn_0280EC84 @ 0x280ec84
|
|
void Gambit_fn_0280EC84(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_0280EC84: ; // 0x280ec84
|
|
/* 0280EC84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280EC88 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EC88 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280EC88 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280EC88 */ goto L_0280EC8C;
|
|
L_0280EC8C: ; // 0x280ec8c
|
|
/* 0280EC8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280EC8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280EC90 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EC90 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280EC90 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280EC90 */ goto L_0280EC94;
|
|
L_0280EC94: ; // 0x280ec94
|
|
/* 0280EC94 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280EC98 @ 0x280ec98
|
|
void Gambit_fn_0280EC98(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_0280EC98: ; // 0x280ec98
|
|
/* 0280EC98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280EC9C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EC9C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0280EC9C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280EC9C */ goto L_0280ECA0;
|
|
L_0280ECA0: ; // 0x280eca0
|
|
/* 0280ECA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0280ECA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280ECA4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280ECA4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280ECA4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0280ECA4 */ goto L_0280ECA8;
|
|
L_0280ECA8: ; // 0x280eca8
|
|
/* 0280ECA8 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0280ECAC @ 0x280ecac
|
|
void Gambit_fn_0280ECAC(CPUState* 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_0280C9B0: ; // 0x280c9b0
|
|
/* 0280C9B0 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C9B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C9B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C9B4 */ cpu->r[1] = _t0;
|
|
/* 0280C9B8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C9B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C9BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C9BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C9C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C9C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C9C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C9C8 */ _t4 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0280C9C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0280C9CC */ cpu->r[12] = cpu->r[5];
|
|
/* 0280C9D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C9D4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C9D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C9D8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C9D8 */ if (_t6) goto L_0280C9E4; else goto L_0280C9DC;
|
|
L_0280C9DC: ; // 0x280c9dc
|
|
/* 0280C9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280C9E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C9E0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C9E0 */ if (_t8) goto L_0280C9E4; else goto L_0280CA00;
|
|
L_0280C9E4: ; // 0x280c9e4
|
|
/* 0280C9E4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C9E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C9E8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C9E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C9EC */ cpu->lr = cpu->r[0];
|
|
/* 0280C9F0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C9F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280C9F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C9F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C9FC */ return;
|
|
L_0280CA00: ; // 0x280ca00
|
|
/* 0280CA00 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CA04 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CA08 */ cpu->r[5] = cpu->r[7];
|
|
/* 0280CA0C */ Gambit_fn_0280C9A8(cpu);
|
|
/* 0280CA10 */ _t12 = cpu->r[30] + 0x00000050u;
|
|
/* 0280CA10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280CA14 */ _t13 = cpu->r[11] + 0x00000064u;
|
|
/* 0280CA14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280CA18 */ cpu->ctr = cpu->r[9];
|
|
/* 0280CA1C */ cpu->r[5] = cpu->r[12];
|
|
/* 0280CA20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CA24 */ cpu->r[0] = cpu->r[3];
|
|
/* 0280CA28 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CA2C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CA30 */ cpu->r[5] = cpu->r[0];
|
|
/* 0280CA34 */ Gambit_fn_0280C7FC(cpu);
|
|
/* 0280CA38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CA3C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CA3C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280CA3C */ if (_t15) goto L_0280CA50; else goto L_0280CA40;
|
|
L_0280CA40: ; // 0x280ca40
|
|
/* 0280CA40 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280CA44 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CA48 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CA4C */ Gambit_fn_0280C804(cpu);
|
|
L_0280CA50: ; // 0x280ca50
|
|
/* 0280CA50 */ cpu->r[3] = cpu->r[0];
|
|
/* 0280CA54 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CA54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CA58 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CA58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CA5C */ cpu->lr = cpu->r[0];
|
|
/* 0280CA60 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CA60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CA64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280CA68 */ return;
|
|
L_0280ECAC: ; // 0x280ecac
|
|
/* 0280ECAC */ _t19 = cpu->r[4] + 0x0000002Cu;
|
|
/* 0280ECAC */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280ECB0 */ _t20 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ECB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280ECB4 */ goto L_0280C9B0;
|
|
}
|
|
|
|
// fn_0280ECB8 @ 0x280ecb8
|
|
void Gambit_fn_0280ECB8(CPUState* cpu) {
|
|
uint32_t _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_0280C80C: ; // 0x280c80c
|
|
/* 0280C80C */ cpu->r[0] = cpu->lr;
|
|
/* 0280C810 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C810 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C810 */ cpu->r[1] = _t0;
|
|
/* 0280C814 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C814 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C818 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C818 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C81C */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C820 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C820 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C824 */ _t4 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0280C824 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0280C828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280C82C */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C830 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C830 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C830 */ if (_t6) goto L_0280C85C; else goto L_0280C834;
|
|
L_0280C834: ; // 0x280c834
|
|
/* 0280C834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280C838 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C838 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C838 */ if (_t8) goto L_0280C85C; else goto L_0280C83C;
|
|
L_0280C83C: ; // 0x280c83c
|
|
/* 0280C83C */ _t9 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C83C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C840 */ _t10 = cpu->r[11] + 0x00000044u;
|
|
/* 0280C840 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C844 */ cpu->ctr = cpu->r[9];
|
|
/* 0280C848 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C84C */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C850 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C858 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C858 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280C858 */ if (_t12) goto L_0280C85C; else goto L_0280C878;
|
|
L_0280C85C: ; // 0x280c85c
|
|
/* 0280C85C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C860 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C864 */ cpu->lr = cpu->r[0];
|
|
/* 0280C868 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C86C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C870 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C874 */ return;
|
|
L_0280C878: ; // 0x280c878
|
|
/* 0280C878 */ _t16 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C878 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C87C */ _t17 = cpu->r[12] + 0x0000006Cu;
|
|
/* 0280C87C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C880 */ cpu->ctr = cpu->r[0];
|
|
/* 0280C884 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C888 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C88C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C890 */ cpu->r[0] = cpu->r[3];
|
|
/* 0280C890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C894 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C894 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280C894 */ if (_t19) goto L_0280C8AC; else goto L_0280C898;
|
|
L_0280C898: ; // 0x280c898
|
|
/* 0280C898 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280C89C */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C8A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C8A4 */ Gambit_fn_0280C7FC(cpu);
|
|
/* 0280C8A8 */ Gambit_fn_0280C804(cpu);
|
|
L_0280C8AC: ; // 0x280c8ac
|
|
/* 0280C8AC */ cpu->r[3] = cpu->r[0];
|
|
/* 0280C8B0 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C8B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C8B4 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C8B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C8B8 */ cpu->lr = cpu->r[0];
|
|
/* 0280C8BC */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C8BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C8C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C8C4 */ return;
|
|
L_0280ECB8: ; // 0x280ecb8
|
|
/* 0280ECB8 */ _t23 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ECB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280ECBC */ goto L_0280C80C;
|
|
}
|
|
|
|
// fn_0280ECC0 @ 0x280ecc0
|
|
void Gambit_fn_0280ECC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_0280CA6C: ; // 0x280ca6c
|
|
/* 0280CA6C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0280CA6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CA6C */ cpu->r[1] = _t0;
|
|
/* 0280CA70 */ /* nop */
|
|
/* 0280CA74 */ cpu->r[0] = cpu->lr;
|
|
/* 0280CA78 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0280CA78 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280CA7C */ cpu->r[29] = cpu->r[6];
|
|
/* 0280CA80 */ cpu->r[26] = cpu->r[3];
|
|
/* 0280CA84 */ _t2 = cpu->r[26] + 0x0000004Cu;
|
|
/* 0280CA84 */ cpu->r[9] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0280CA88 */ cpu->r[27] = cpu->r[4];
|
|
/* 0280CA8C */ cpu->r[28] = cpu->r[5];
|
|
/* 0280CA90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280CA94 */ cpu->r[30] = cpu->r[7];
|
|
/* 0280CA98 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CA98 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280CA98 */ if (_t4) goto L_0280CACC; else goto L_0280CA9C;
|
|
L_0280CA9C: ; // 0x280ca9c
|
|
/* 0280CA9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0280CAA0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CAA0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280CAA0 */ if (_t6) goto L_0280CACC; else goto L_0280CAA4;
|
|
L_0280CAA4: ; // 0x280caa4
|
|
/* 0280CAA4 */ _t7 = cpu->r[26] + 0x00000050u;
|
|
/* 0280CAA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280CAA8 */ _t8 = cpu->r[12] + 0x00000044u;
|
|
/* 0280CAA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280CAAC */ cpu->ctr = cpu->r[0];
|
|
/* 0280CAB0 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280CAB4 */ cpu->r[4] = cpu->r[28];
|
|
/* 0280CAB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CAC0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CAC0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280CAC0 */ if (_t10) goto L_0280CACC; else goto L_0280CAC4;
|
|
L_0280CAC4: ; // 0x280cac4
|
|
/* 0280CAC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280CAC8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CAC8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280CAC8 */ if (_t12) goto L_0280CACC; else goto L_0280CAE4;
|
|
L_0280CACC: ; // 0x280cacc
|
|
/* 0280CACC */ /* nop */
|
|
/* 0280CAD0 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 0280CAD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280CAD4 */ cpu->lr = cpu->r[0];
|
|
/* 0280CAD8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0280CADC */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CAE0 */ return;
|
|
L_0280CAE4: ; // 0x280cae4
|
|
/* 0280CAE4 */ _t14 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0280CAE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280CAE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280CAEC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CAEC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280CAEC */ if (_t16) goto L_0280CAF0; else goto L_0280CB28;
|
|
L_0280CAF0: ; // 0x280caf0
|
|
/* 0280CAF0 */ _t17 = cpu->r[26] + 0x00000050u;
|
|
/* 0280CAF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CAF4 */ _t18 = cpu->r[6] + 0x00000074u;
|
|
/* 0280CAF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CAF8 */ cpu->ctr = cpu->r[8];
|
|
/* 0280CAFC */ cpu->r[5] = cpu->r[28];
|
|
/* 0280CB00 */ cpu->r[6] = cpu->r[29];
|
|
/* 0280CB04 */ cpu->r[7] = cpu->r[30];
|
|
/* 0280CB08 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280CB0C */ cpu->r[4] = cpu->r[27];
|
|
/* 0280CB10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CB14 */ /* nop */
|
|
/* 0280CB18 */ _t19 = cpu->r[1] + 0x00000034u;
|
|
/* 0280CB18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280CB1C */ cpu->lr = cpu->r[0];
|
|
/* 0280CB20 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0280CB24 */ return;
|
|
L_0280CB28: ; // 0x280cb28
|
|
/* 0280CB28 */ cpu->r[25] = 0x00000000u;
|
|
/* 0280CB2C */ cpu->r[24] = cpu->r[25];
|
|
L_0280CB30: ; // 0x280cb30
|
|
/* 0280CB30 */ _t20 = cpu->r[26] + 0x00000050u;
|
|
/* 0280CB30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280CB34 */ cpu->r[5] = cpu->r[28];
|
|
/* 0280CB38 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280CB3C */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CB3C */ rbrew_write32(cpu->mem, _t21, cpu->r[24]);
|
|
/* 0280CB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[31]);
|
|
/* 0280CB44 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280CB44 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0280CB44 */ if (_t23) goto L_0280CB48; else goto L_0280CB4C;
|
|
L_0280CB48: ; // 0x280cb48
|
|
/* 0280CB48 */ cpu->r[31] = cpu->r[30];
|
|
L_0280CB4C: ; // 0x280cb4c
|
|
/* 0280CB4C */ _t24 = cpu->r[10] + 0x00000074u;
|
|
/* 0280CB4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280CB50 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CB54 */ cpu->r[6] = cpu->r[29];
|
|
/* 0280CB58 */ cpu->r[7] = cpu->r[31];
|
|
/* 0280CB5C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280CB60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CB64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CB68 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CB68 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0280CB68 */ if (_t26) goto L_0280CB6C; else goto L_0280CB90;
|
|
L_0280CB6C: ; // 0x280cb6c
|
|
/* 0280CB6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0280CB70 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CB70 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0280CB70 */ if (_t28) goto L_0280CACC; else goto L_0280CB74;
|
|
L_0280CB74: ; // 0x280cb74
|
|
/* 0280CB74 */ _t29 = cpu->r[27] + 0x00000000u;
|
|
/* 0280CB74 */ rbrew_write32(cpu->mem, _t29, cpu->r[25]);
|
|
/* 0280CB78 */ /* nop */
|
|
/* 0280CB7C */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 0280CB7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0280CB80 */ cpu->lr = cpu->r[0];
|
|
/* 0280CB84 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0280CB88 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CB8C */ return;
|
|
L_0280CB90: ; // 0x280cb90
|
|
/* 0280CB90 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CB90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0280CB94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0280CB98 */ cpu->r[25] = cpu->r[25] + cpu->r[5];
|
|
/* 0280CB9C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280CB9C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0280CB9C */ if (_t33) goto L_0280CBB4; else goto L_0280CBA0;
|
|
L_0280CBA0: ; // 0x280cba0
|
|
/* 0280CBA0 */ cpu->r[30] = cpu->r[30] - cpu->r[31];
|
|
/* 0280CBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280CBA4 */ cpu->r[29] = cpu->r[29] + cpu->r[5];
|
|
/* 0280CBA8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CBA8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0280CBA8 */ if (_t35) goto L_0280CBB4; else goto L_0280CBAC;
|
|
L_0280CBAC: ; // 0x280cbac
|
|
/* 0280CBAC */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0280CBAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0280CBB0 */ goto L_0280CB30;
|
|
L_0280CBB4: ; // 0x280cbb4
|
|
/* 0280CBB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0280CBB8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CBB8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0280CBB8 */ if (_t38) goto L_0280CBC0; else goto L_0280CBBC;
|
|
L_0280CBBC: ; // 0x280cbbc
|
|
/* 0280CBBC */ _t39 = cpu->r[27] + 0x00000000u;
|
|
/* 0280CBBC */ rbrew_write32(cpu->mem, _t39, cpu->r[25]);
|
|
L_0280CBC0: ; // 0x280cbc0
|
|
/* 0280CBC0 */ /* nop */
|
|
/* 0280CBC4 */ _t40 = cpu->r[1] + 0x00000034u;
|
|
/* 0280CBC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0280CBC8 */ cpu->lr = cpu->r[0];
|
|
/* 0280CBCC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0280CBD0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280CBD4 */ return;
|
|
L_0280ECC0: ; // 0x280ecc0
|
|
/* 0280ECC0 */ _t41 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ECC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0280ECC4 */ goto L_0280CA6C;
|
|
}
|
|
|
|
// fn_0280ECC8 @ 0x280ecc8
|
|
void Gambit_fn_0280ECC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0280CBD8: ; // 0x280cbd8
|
|
/* 0280CBD8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280CBD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CBD8 */ cpu->r[1] = _t0;
|
|
/* 0280CBDC */ /* nop */
|
|
/* 0280CBE0 */ cpu->r[0] = cpu->lr;
|
|
/* 0280CBE4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0280CBE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280CBE8 */ cpu->r[29] = cpu->r[4];
|
|
/* 0280CBEC */ cpu->r[28] = cpu->r[3];
|
|
/* 0280CBF0 */ _t2 = cpu->r[28] + 0x0000004Cu;
|
|
/* 0280CBF0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0280CBF4 */ cpu->r[30] = cpu->r[5];
|
|
/* 0280CBF8 */ cpu->r[31] = cpu->r[6];
|
|
/* 0280CBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0280CC00 */ cpu->r[27] = cpu->r[7];
|
|
/* 0280CC04 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CC04 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280CC04 */ if (_t4) goto L_0280CC38; else goto L_0280CC08;
|
|
L_0280CC08: ; // 0x280cc08
|
|
/* 0280CC08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280CC0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CC0C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280CC0C */ if (_t6) goto L_0280CC38; else goto L_0280CC10;
|
|
L_0280CC10: ; // 0x280cc10
|
|
/* 0280CC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280CC14 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CC14 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280CC14 */ if (_t8) goto L_0280CC38; else goto L_0280CC18;
|
|
L_0280CC18: ; // 0x280cc18
|
|
/* 0280CC18 */ _t9 = cpu->r[28] + 0x00000050u;
|
|
/* 0280CC18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280CC1C */ _t10 = cpu->r[11] + 0x00000044u;
|
|
/* 0280CC1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280CC20 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CC24 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280CC28 */ cpu->r[4] = cpu->r[30];
|
|
/* 0280CC2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CC30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CC34 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CC34 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280CC34 */ if (_t12) goto L_0280CC38; else goto L_0280CC50;
|
|
L_0280CC38: ; // 0x280cc38
|
|
/* 0280CC38 */ /* nop */
|
|
/* 0280CC3C */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 0280CC3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280CC40 */ cpu->lr = cpu->r[0];
|
|
/* 0280CC44 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280CC48 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CC4C */ return;
|
|
L_0280CC50: ; // 0x280cc50
|
|
/* 0280CC50 */ _t14 = cpu->r[28] + 0x00000050u;
|
|
/* 0280CC50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280CC54 */ _t15 = cpu->r[12] + 0x0000007Cu;
|
|
/* 0280CC54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280CC58 */ cpu->ctr = cpu->r[9];
|
|
/* 0280CC5C */ cpu->r[5] = cpu->r[30];
|
|
/* 0280CC60 */ cpu->r[6] = cpu->r[31];
|
|
/* 0280CC64 */ cpu->r[7] = cpu->r[27];
|
|
/* 0280CC68 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280CC6C */ cpu->r[4] = cpu->r[29];
|
|
/* 0280CC70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CC74 */ /* nop */
|
|
/* 0280CC78 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 0280CC78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CC7C */ cpu->lr = cpu->r[0];
|
|
/* 0280CC80 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280CC84 */ return;
|
|
L_0280ECC8: ; // 0x280ecc8
|
|
/* 0280ECC8 */ _t17 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ECC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280ECCC */ goto L_0280CBD8;
|
|
}
|
|
|
|
// fn_0280ECD0 @ 0x280ecd0
|
|
void Gambit_fn_0280ECD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0280CC88: ; // 0x280cc88
|
|
/* 0280CC88 */ cpu->r[0] = cpu->lr;
|
|
/* 0280CC8C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280CC8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CC8C */ cpu->r[1] = _t0;
|
|
/* 0280CC90 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CC90 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0280CC94 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CC94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280CC98 */ cpu->r[28] = cpu->r[3];
|
|
/* 0280CC9C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CC9C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0280CCA0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CCA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0280CCA4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CCA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280CCA8 */ cpu->r[29] = cpu->r[4];
|
|
/* 0280CCAC */ _t6 = cpu->r[28] + 0x0000004Cu;
|
|
/* 0280CCAC */ cpu->r[9] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0280CCB0 */ cpu->r[31] = cpu->r[6];
|
|
/* 0280CCB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280CCB8 */ cpu->r[30] = cpu->r[5];
|
|
/* 0280CCBC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CCBC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280CCBC */ if (_t8) goto L_0280CCE8; else goto L_0280CCC0;
|
|
L_0280CCC0: ; // 0x280ccc0
|
|
/* 0280CCC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280CCC4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CCC4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280CCC4 */ if (_t10) goto L_0280CCE8; else goto L_0280CCC8;
|
|
L_0280CCC8: ; // 0x280ccc8
|
|
/* 0280CCC8 */ _t11 = cpu->r[28] + 0x00000050u;
|
|
/* 0280CCC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280CCCC */ _t12 = cpu->r[10] + 0x00000044u;
|
|
/* 0280CCCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280CCD0 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CCD4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280CCD8 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280CCDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CCE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CCE4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CCE4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280CCE4 */ if (_t14) goto L_0280CCE8; else goto L_0280CD0C;
|
|
L_0280CCE8: ; // 0x280cce8
|
|
/* 0280CCE8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CCE8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280CCEC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CCEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CCF0 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CCF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CCF4 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CCF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CCF8 */ cpu->lr = cpu->r[0];
|
|
/* 0280CCFC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CCFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280CD00 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280CD04 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CD08 */ return;
|
|
L_0280CD0C: ; // 0x280cd0c
|
|
/* 0280CD0C */ _t20 = cpu->r[28] + 0x00000050u;
|
|
/* 0280CD0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280CD10 */ _t21 = cpu->r[11] + 0x00000084u;
|
|
/* 0280CD10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280CD14 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CD18 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280CD1C */ cpu->r[5] = cpu->r[30];
|
|
/* 0280CD20 */ cpu->r[6] = cpu->r[31];
|
|
/* 0280CD24 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280CD28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CD2C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CD2C */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280CD30 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CD30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280CD34 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CD34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280CD38 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CD38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280CD3C */ cpu->lr = cpu->r[0];
|
|
/* 0280CD40 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CD40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280CD44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280CD48 */ return;
|
|
L_0280ECD0: ; // 0x280ecd0
|
|
/* 0280ECD0 */ _t27 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ECD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280ECD4 */ goto L_0280CC88;
|
|
}
|
|
|
|
// fn_0280ECD8 @ 0x280ecd8
|
|
void Gambit_fn_0280ECD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0280CD4C: ; // 0x280cd4c
|
|
/* 0280CD4C */ cpu->r[0] = cpu->lr;
|
|
/* 0280CD50 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280CD50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CD50 */ cpu->r[1] = _t0;
|
|
/* 0280CD54 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CD54 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280CD58 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CD58 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0280CD5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CD5C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0280CD60 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CD60 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0280CD64 */ cpu->r[29] = cpu->r[3];
|
|
/* 0280CD68 */ _t5 = cpu->r[29] + 0x0000004Cu;
|
|
/* 0280CD68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0280CD6C */ cpu->r[31] = cpu->r[5];
|
|
/* 0280CD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CD74 */ cpu->r[30] = cpu->r[4];
|
|
/* 0280CD78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CD78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0280CD78 */ if (_t7) goto L_0280CDAC; else goto L_0280CD7C;
|
|
L_0280CD7C: ; // 0x280cd7c
|
|
/* 0280CD7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280CD80 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CD80 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0280CD80 */ if (_t9) goto L_0280CDAC; else goto L_0280CD84;
|
|
L_0280CD84: ; // 0x280cd84
|
|
/* 0280CD84 */ _t10 = cpu->r[29] + 0x00000050u;
|
|
/* 0280CD84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280CD88 */ _t11 = cpu->r[11] + 0x00000044u;
|
|
/* 0280CD88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280CD8C */ cpu->ctr = cpu->r[0];
|
|
/* 0280CD90 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280CD94 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CD98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CDA0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CDA0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280CDA0 */ if (_t13) goto L_0280CDAC; else goto L_0280CDA4;
|
|
L_0280CDA4: ; // 0x280cda4
|
|
/* 0280CDA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280CDA8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CDA8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280CDA8 */ if (_t15) goto L_0280CDAC; else goto L_0280CDCC;
|
|
L_0280CDAC: ; // 0x280cdac
|
|
/* 0280CDAC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CDAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CDB0 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CDB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CDB4 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CDB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CDB8 */ cpu->lr = cpu->r[0];
|
|
/* 0280CDBC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CDBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280CDC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280CDC4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CDC8 */ return;
|
|
L_0280CDCC: ; // 0x280cdcc
|
|
/* 0280CDCC */ _t20 = cpu->r[29] + 0x00000050u;
|
|
/* 0280CDCC */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280CDD0 */ _t21 = cpu->r[9] + 0x0000008Cu;
|
|
/* 0280CDD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280CDD4 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CDD8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280CDDC */ cpu->r[4] = cpu->r[30];
|
|
/* 0280CDE0 */ cpu->r[5] = cpu->r[31];
|
|
/* 0280CDE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CDE8 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CDE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280CDEC */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CDEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280CDF0 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CDF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280CDF4 */ cpu->lr = cpu->r[0];
|
|
/* 0280CDF8 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CDF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280CDFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280CE00 */ return;
|
|
L_0280ECD8: ; // 0x280ecd8
|
|
/* 0280ECD8 */ _t26 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ECD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280ECDC */ goto L_0280CD4C;
|
|
}
|
|
|
|
// fn_0280ECE0 @ 0x280ece0
|
|
void Gambit_fn_0280ECE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0280CE04: ; // 0x280ce04
|
|
/* 0280CE04 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0280CE04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0280CE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CE0C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE0C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0280CE0C */ if (_t2) goto L_0280CE18; else goto L_0280CE10;
|
|
L_0280CE10: ; // 0x280ce10
|
|
/* 0280CE10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280CE14 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE14 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280CE14 */ if (_t4) goto L_0280CE18; else goto L_0280CE20;
|
|
L_0280CE18: ; // 0x280ce18
|
|
/* 0280CE18 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CE1C */ return;
|
|
L_0280CE20: ; // 0x280ce20
|
|
/* 0280CE20 */ _t5 = cpu->r[3] + 0x00000050u;
|
|
/* 0280CE20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280CE24 */ _t6 = cpu->r[12] + 0x00000094u;
|
|
/* 0280CE24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280CE28 */ cpu->ctr = cpu->r[11];
|
|
/* 0280CE2C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0280ECE0: ; // 0x280ece0
|
|
/* 0280ECE0 */ _t7 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ECE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280ECE4 */ goto L_0280CE04;
|
|
}
|
|
|
|
// fn_0280ECE8 @ 0x280ece8
|
|
void Gambit_fn_0280ECE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0280CE30: ; // 0x280ce30
|
|
/* 0280CE30 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0280CE30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0280CE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CE38 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE38 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0280CE38 */ if (_t2) goto L_0280CE4C; else goto L_0280CE3C;
|
|
L_0280CE3C: ; // 0x280ce3c
|
|
/* 0280CE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0280CE40 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE40 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280CE40 */ if (_t4) goto L_0280CE4C; else goto L_0280CE44;
|
|
L_0280CE44: ; // 0x280ce44
|
|
/* 0280CE44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280CE48 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE48 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280CE48 */ if (_t6) goto L_0280CE4C; else goto L_0280CE54;
|
|
L_0280CE4C: ; // 0x280ce4c
|
|
/* 0280CE4C */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CE50 */ return;
|
|
L_0280CE54: ; // 0x280ce54
|
|
/* 0280CE54 */ _t7 = cpu->r[3] + 0x00000050u;
|
|
/* 0280CE54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280CE58 */ _t8 = cpu->r[12] + 0x0000009Cu;
|
|
/* 0280CE58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280CE5C */ cpu->ctr = cpu->r[11];
|
|
/* 0280CE60 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0280ECE8: ; // 0x280ece8
|
|
/* 0280ECE8 */ _t9 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ECE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280ECEC */ goto L_0280CE30;
|
|
}
|
|
|
|
// fn_0280ECF0 @ 0x280ecf0
|
|
void Gambit_fn_0280ECF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0280CE64: ; // 0x280ce64
|
|
/* 0280CE64 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0280CE64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0280CE68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CE6C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE6C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0280CE6C */ if (_t2) goto L_0280CE78; else goto L_0280CE70;
|
|
L_0280CE70: ; // 0x280ce70
|
|
/* 0280CE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280CE74 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE74 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280CE74 */ if (_t4) goto L_0280CE78; else goto L_0280CE80;
|
|
L_0280CE78: ; // 0x280ce78
|
|
/* 0280CE78 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CE7C */ return;
|
|
L_0280CE80: ; // 0x280ce80
|
|
/* 0280CE80 */ _t5 = cpu->r[3] + 0x00000050u;
|
|
/* 0280CE80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280CE84 */ _t6 = cpu->r[12] + 0x000000A4u;
|
|
/* 0280CE84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280CE88 */ cpu->ctr = cpu->r[11];
|
|
/* 0280CE8C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0280ECF0: ; // 0x280ecf0
|
|
/* 0280ECF0 */ _t7 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ECF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280ECF4 */ goto L_0280CE64;
|
|
}
|
|
|
|
// fn_0280ECF8 @ 0x280ecf8
|
|
void Gambit_fn_0280ECF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0280CE90: ; // 0x280ce90
|
|
/* 0280CE90 */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0280CE90 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0280CE94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CE98 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CE98 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0280CE98 */ if (_t2) goto L_0280CEA4; else goto L_0280CE9C;
|
|
L_0280CE9C: ; // 0x280ce9c
|
|
/* 0280CE9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0280CEA0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CEA0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280CEA0 */ if (_t4) goto L_0280CEA4; else goto L_0280CEAC;
|
|
L_0280CEA4: ; // 0x280cea4
|
|
/* 0280CEA4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CEA8 */ return;
|
|
L_0280CEAC: ; // 0x280ceac
|
|
/* 0280CEAC */ _t5 = cpu->r[3] + 0x00000050u;
|
|
/* 0280CEAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280CEB0 */ _t6 = cpu->r[12] + 0x000000ACu;
|
|
/* 0280CEB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280CEB4 */ cpu->ctr = cpu->r[11];
|
|
/* 0280CEB8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0280ECF8: ; // 0x280ecf8
|
|
/* 0280ECF8 */ _t7 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ECF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280ECFC */ goto L_0280CE90;
|
|
}
|
|
|
|
// fn_0280ED00 @ 0x280ed00
|
|
void Gambit_fn_0280ED00(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_0280CEBC: ; // 0x280cebc
|
|
/* 0280CEBC */ cpu->r[0] = cpu->lr;
|
|
/* 0280CEC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280CEC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CEC0 */ cpu->r[1] = _t0;
|
|
/* 0280CEC4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CEC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280CEC8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CEC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280CECC */ cpu->r[30] = cpu->r[3];
|
|
/* 0280CED0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CED0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280CED4 */ _t4 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0280CED4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0280CED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CEDC */ cpu->r[31] = cpu->r[4];
|
|
/* 0280CEE0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CEE0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280CEE0 */ if (_t6) goto L_0280CEEC; else goto L_0280CEE4;
|
|
L_0280CEE4: ; // 0x280cee4
|
|
/* 0280CEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280CEE8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CEE8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280CEE8 */ if (_t8) goto L_0280CEEC; else goto L_0280CF08;
|
|
L_0280CEEC: ; // 0x280ceec
|
|
/* 0280CEEC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CEEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280CEF0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CEF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280CEF4 */ cpu->lr = cpu->r[0];
|
|
/* 0280CEF8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CEF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280CEFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280CF00 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CF04 */ return;
|
|
L_0280CF08: ; // 0x280cf08
|
|
/* 0280CF08 */ _t12 = cpu->r[30] + 0x00000050u;
|
|
/* 0280CF08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280CF0C */ _t13 = cpu->r[11] + 0x000000B4u;
|
|
/* 0280CF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280CF10 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CF14 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CF18 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CF1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CF20 */ cpu->r[0] = cpu->r[3];
|
|
/* 0280CF24 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CF28 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CF2C */ cpu->r[5] = cpu->r[0];
|
|
/* 0280CF30 */ Gambit_fn_0280C7FC(cpu);
|
|
/* 0280CF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CF38 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CF38 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0280CF38 */ if (_t15) goto L_0280CF4C; else goto L_0280CF3C;
|
|
L_0280CF3C: ; // 0x280cf3c
|
|
/* 0280CF3C */ cpu->r[5] = cpu->r[30];
|
|
/* 0280CF40 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280CF44 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280CF48 */ Gambit_fn_0280C804(cpu);
|
|
L_0280CF4C: ; // 0x280cf4c
|
|
/* 0280CF4C */ cpu->r[3] = cpu->r[0];
|
|
/* 0280CF50 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CF50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CF54 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CF54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CF58 */ cpu->lr = cpu->r[0];
|
|
/* 0280CF5C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CF5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CF60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280CF64 */ return;
|
|
L_0280ED00: ; // 0x280ed00
|
|
/* 0280ED00 */ _t19 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ED00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280ED04 */ goto L_0280CEBC;
|
|
}
|
|
|
|
// fn_0280ED08 @ 0x280ed08
|
|
void Gambit_fn_0280ED08(CPUState* cpu) {
|
|
uint32_t _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_0280C8C8: ; // 0x280c8c8
|
|
/* 0280C8C8 */ cpu->r[0] = cpu->lr;
|
|
/* 0280C8CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280C8CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280C8CC */ cpu->r[1] = _t0;
|
|
/* 0280C8D0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C8D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0280C8D4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C8D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0280C8D8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0280C8DC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C8DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0280C8E0 */ _t4 = cpu->r[30] + 0x0000004Cu;
|
|
/* 0280C8E0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0280C8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0280C8E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0280C8EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C8EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280C8EC */ if (_t6) goto L_0280C918; else goto L_0280C8F0;
|
|
L_0280C8F0: ; // 0x280c8f0
|
|
/* 0280C8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280C8F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C8F4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280C8F4 */ if (_t8) goto L_0280C918; else goto L_0280C8F8;
|
|
L_0280C8F8: ; // 0x280c8f8
|
|
/* 0280C8F8 */ _t9 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C8F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0280C8FC */ _t10 = cpu->r[11] + 0x00000044u;
|
|
/* 0280C8FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0280C900 */ cpu->ctr = cpu->r[9];
|
|
/* 0280C904 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C908 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C90C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280C914 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C914 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0280C914 */ if (_t12) goto L_0280C918; else goto L_0280C934;
|
|
L_0280C918: ; // 0x280c918
|
|
/* 0280C918 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280C91C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C91C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280C920 */ cpu->lr = cpu->r[0];
|
|
/* 0280C924 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C924 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280C928 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C92C */ cpu->r[3] = 0x00000000u;
|
|
/* 0280C930 */ return;
|
|
L_0280C934: ; // 0x280c934
|
|
/* 0280C934 */ _t16 = cpu->r[30] + 0x00000050u;
|
|
/* 0280C934 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280C938 */ _t17 = cpu->r[12] + 0x000000BCu;
|
|
/* 0280C938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280C93C */ cpu->ctr = cpu->r[0];
|
|
/* 0280C940 */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C944 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C948 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280C94C */ cpu->r[0] = cpu->r[3];
|
|
/* 0280C94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280C950 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280C950 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280C950 */ if (_t19) goto L_0280C968; else goto L_0280C954;
|
|
L_0280C954: ; // 0x280c954
|
|
/* 0280C954 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280C958 */ cpu->r[4] = cpu->r[31];
|
|
/* 0280C95C */ cpu->r[3] = cpu->r[30];
|
|
/* 0280C960 */ Gambit_fn_0280C7FC(cpu);
|
|
/* 0280C964 */ Gambit_fn_0280C804(cpu);
|
|
L_0280C968: ; // 0x280c968
|
|
/* 0280C968 */ cpu->r[3] = cpu->r[0];
|
|
/* 0280C96C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0280C96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280C970 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0280C970 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280C974 */ cpu->lr = cpu->r[0];
|
|
/* 0280C978 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280C978 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280C97C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280C980 */ return;
|
|
L_0280ED08: ; // 0x280ed08
|
|
/* 0280ED08 */ _t23 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ED08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280ED0C */ goto L_0280C8C8;
|
|
}
|
|
|
|
// fn_0280ED10 @ 0x280ed10
|
|
void Gambit_fn_0280ED10(CPUState* cpu) {
|
|
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_0280CF68: ; // 0x280cf68
|
|
/* 0280CF68 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0280CF68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CF68 */ cpu->r[1] = _t0;
|
|
/* 0280CF6C */ /* nop */
|
|
/* 0280CF70 */ cpu->r[0] = cpu->lr;
|
|
/* 0280CF74 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0280CF74 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280CF78 */ cpu->r[29] = cpu->r[6];
|
|
/* 0280CF7C */ cpu->r[31] = cpu->r[3];
|
|
/* 0280CF80 */ _t2 = cpu->r[31] + 0x0000004Cu;
|
|
/* 0280CF80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0280CF84 */ cpu->r[27] = cpu->r[4];
|
|
/* 0280CF88 */ cpu->r[28] = cpu->r[5];
|
|
/* 0280CF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280CF90 */ cpu->r[30] = cpu->r[7];
|
|
/* 0280CF94 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CF94 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280CF94 */ if (_t4) goto L_0280D004; else goto L_0280CF98;
|
|
L_0280CF98: ; // 0x280cf98
|
|
/* 0280CF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0280CF9C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CF9C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0280CF9C */ if (_t6) goto L_0280D004; else goto L_0280CFA0;
|
|
L_0280CFA0: ; // 0x280cfa0
|
|
/* 0280CFA0 */ _t7 = cpu->r[31] + 0x00000050u;
|
|
/* 0280CFA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280CFA4 */ _t8 = cpu->r[12] + 0x00000044u;
|
|
/* 0280CFA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280CFA8 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CFAC */ cpu->r[3] = cpu->r[31];
|
|
/* 0280CFB0 */ cpu->r[4] = cpu->r[28];
|
|
/* 0280CFB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CFB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CFBC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CFBC */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280CFBC */ if (_t10) goto L_0280D004; else goto L_0280CFC0;
|
|
L_0280CFC0: ; // 0x280cfc0
|
|
/* 0280CFC0 */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 0280CFC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280CFC4 */ cpu->r[11] = 0x00000000u;
|
|
/* 0280CFC8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CFC8 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0280CFCC */ _t13 = cpu->r[12] + 0x000000C4u;
|
|
/* 0280CFCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0280CFD0 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CFD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0280CFD8 */ cpu->r[5] = cpu->r[28];
|
|
/* 0280CFDC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280CFE0 */ cpu->r[7] = cpu->r[30];
|
|
/* 0280CFE4 */ cpu->r[6] = cpu->r[29];
|
|
/* 0280CFE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CFEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0280CFF0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0280CFF4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CFF4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280CFF4 */ if (_t16) goto L_0280CFFC; else goto L_0280CFF8;
|
|
L_0280CFF8: ; // 0x280cff8
|
|
/* 0280CFF8 */ _t17 = cpu->r[27] + 0x00000000u;
|
|
/* 0280CFF8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
L_0280CFFC: ; // 0x280cffc
|
|
/* 0280CFFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0280D000 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280D000 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0280D000 */ if (_t19) goto L_0280D004; else goto L_0280D008;
|
|
L_0280D004: ; // 0x280d004
|
|
/* 0280D004 */ cpu->r[3] = 0x00000000u;
|
|
L_0280D008: ; // 0x280d008
|
|
/* 0280D008 */ /* nop */
|
|
/* 0280D00C */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 0280D00C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280D010 */ cpu->lr = cpu->r[0];
|
|
/* 0280D014 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0280D018 */ return;
|
|
L_0280ED10: ; // 0x280ed10
|
|
/* 0280ED10 */ _t21 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ED10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280ED14 */ goto L_0280CF68;
|
|
}
|
|
|
|
// fn_0280ED18 @ 0x280ed18
|
|
void Gambit_fn_0280ED18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0280D01C: ; // 0x280d01c
|
|
/* 0280D01C */ _t0 = cpu->r[3] + 0x0000004Cu;
|
|
/* 0280D01C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0280D020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280D024 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280D024 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0280D024 */ if (_t2) goto L_0280D028; else goto L_0280D030;
|
|
L_0280D028: ; // 0x280d028
|
|
/* 0280D028 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280D02C */ return;
|
|
L_0280D030: ; // 0x280d030
|
|
/* 0280D030 */ _t3 = cpu->r[3] + 0x00000050u;
|
|
/* 0280D030 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0280D034 */ _t4 = cpu->r[12] + 0x000000CCu;
|
|
/* 0280D034 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0280D038 */ cpu->ctr = cpu->r[10];
|
|
/* 0280D03C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0280ED18: ; // 0x280ed18
|
|
/* 0280ED18 */ _t5 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ED18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280ED1C */ goto L_0280D01C;
|
|
}
|
|
|
|
// fn_0280ED20 @ 0x280ed20
|
|
void Gambit_fn_0280ED20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0280ED20: ; // 0x280ed20
|
|
/* 0280ED20 */ _t0 = cpu->r[3] + 0x00000054u;
|
|
/* 0280ED20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0280ED24 */ _t1 = cpu->r[3] + 0x00000050u;
|
|
/* 0280ED24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0280ED28 */ _t2 = cpu->r[12] + 0x00000044u;
|
|
/* 0280ED28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280ED2C */ cpu->ctr = cpu->r[0];
|
|
/* 0280ED30 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0280ED34 @ 0x280ed34
|
|
void Gambit_fn_0280ED34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_0280ED34: ; // 0x280ed34
|
|
/* 0280ED34 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0280ED34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280ED34 */ cpu->r[1] = _t0;
|
|
/* 0280ED38 */ /* nop */
|
|
/* 0280ED3C */ cpu->r[0] = cpu->lr;
|
|
/* 0280ED40 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 0280ED40 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280ED44 */ cpu->r[25] = cpu->r[3];
|
|
/* 0280ED48 */ _t2 = cpu->r[25] + 0x00000008u;
|
|
/* 0280ED48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280ED4C */ cpu->r[26] = cpu->r[4];
|
|
/* 0280ED50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0280ED54 */ cpu->r[31] = 0x10110000u;
|
|
/* 0280ED58 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280ED58 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280ED58 */ if (_t4) goto L_0280EDAC; else goto L_0280ED5C;
|
|
L_0280ED5C: ; // 0x280ed5c
|
|
/* 0280ED5C */ _t5 = cpu->r[25] + 0x00000004u;
|
|
/* 0280ED5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280ED60 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 0280ED60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280ED64 */ cpu->ctr = cpu->r[4];
|
|
/* 0280ED68 */ cpu->r[3] = cpu->r[25];
|
|
/* 0280ED6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280ED70 */ _t7 = cpu->r[25] + 0x00000000u;
|
|
/* 0280ED70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280ED74 */ _t8 = cpu->r[31] + 0x00007399u;
|
|
/* 0280ED74 */ cpu->r[31] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0280ED78 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 0280ED78 */ cpu->r[11] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0280ED7C */ cpu->r[7] = 0x00000000u;
|
|
/* 0280ED80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0280ED84 */ cpu->r[4] = 0x00080000u;
|
|
/* 0280ED88 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280ED88 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0280ED88 */ if (_t11) goto L_0280EDB8; else goto L_0280ED8C;
|
|
L_0280ED8C: ; // 0x280ed8c
|
|
/* 0280ED8C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0280ED90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[4]);
|
|
/* 0280ED94 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280ED98 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280ED98 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280ED98 */ if (_t13) goto L_0280EDB8; else goto L_0280ED9C;
|
|
L_0280ED9C: ; // 0x280ed9c
|
|
/* 0280ED9C */ _t14 = cpu->r[12] + 0x00000000u;
|
|
/* 0280ED9C */ cpu->r[11] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0280EDA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0280EDA4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EDA4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280EDA4 */ if (_t16) goto L_0280EDA8; else goto L_0280ED8C;
|
|
L_0280EDA8: ; // 0x280eda8
|
|
/* 0280EDA8 */ goto L_0280EDB8;
|
|
L_0280EDAC: ; // 0x280edac
|
|
/* 0280EDAC */ _t17 = cpu->r[25] + 0x00000000u;
|
|
/* 0280EDAC */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280EDB0 */ _t18 = cpu->r[31] + 0x00007399u;
|
|
/* 0280EDB0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0280EDB4 */ _t19 = cpu->r[5] + 0x00000000u;
|
|
/* 0280EDB4 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[31]);
|
|
L_0280EDB8: ; // 0x280edb8
|
|
/* 0280EDB8 */ cpu->r[24] = 0x10110000u;
|
|
/* 0280EDBC */ cpu->r[0] = 0x10110000u;
|
|
/* 0280EDC0 */ _t20 = cpu->r[26] + 0x00000004u;
|
|
/* 0280EDC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280EDC4 */ cpu->r[24] = cpu->r[24] + 0x00003268u;
|
|
/* 0280EDC8 */ cpu->r[0] = cpu->r[0] + 0x00003280u;
|
|
/* 0280EDCC */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0280EDCC */ rbrew_write32(cpu->mem, _t21, cpu->r[24]);
|
|
/* 0280EDD0 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0280EDD0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0280EDD4 */ _t23 = cpu->r[5] + 0x00000014u;
|
|
/* 0280EDD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280EDD8 */ cpu->ctr = cpu->r[6];
|
|
/* 0280EDDC */ cpu->r[3] = cpu->r[26];
|
|
/* 0280EDE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280EDE4 */ _t24 = cpu->r[26] + 0x00000000u;
|
|
/* 0280EDE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280EDE8 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 0280EDE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0280EDEC */ cpu->r[30] = 0x00000000u;
|
|
/* 0280EDF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0280EDF4 */ cpu->r[0] = 0x00080000u;
|
|
/* 0280EDF8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EDF8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0280EDF8 */ if (_t27) goto L_0280EE4C; else goto L_0280EDFC;
|
|
L_0280EDFC: ; // 0x280edfc
|
|
/* 0280EDFC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0280EE00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0280EE04 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0280EE08 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280EE08 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0280EE08 */ if (_t29) goto L_0280EE48; else goto L_0280EE0C;
|
|
L_0280EE0C: ; // 0x280ee0c
|
|
/* 0280EE0C */ _t30 = cpu->r[10] + 0x00000000u;
|
|
/* 0280EE0C */ cpu->r[8] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0280EE10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0280EE14 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EE14 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0280EE14 */ if (_t32) goto L_0280EE18; else goto L_0280EDFC;
|
|
L_0280EE18: ; // 0x280ee18
|
|
/* 0280EE18 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0280EE18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0280EE1C */ _t34 = cpu->r[9] + 0x00000014u;
|
|
/* 0280EE1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0280EE20 */ cpu->ctr = cpu->r[10];
|
|
/* 0280EE24 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280EE28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280EE2C */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 0280EE2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0280EE30 */ _t36 = cpu->r[12] + 0x00000000u;
|
|
/* 0280EE30 */ cpu->r[11] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0280EE34 */ cpu->r[9] = 0x00080000u;
|
|
/* 0280EE38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0280EE3C */ cpu->r[29] = 0x00000000u;
|
|
/* 0280EE40 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EE40 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0280EE40 */ if (_t38) goto L_0280EE44; else goto L_0280EE78;
|
|
L_0280EE44: ; // 0x280ee44
|
|
/* 0280EE44 */ goto L_0280EEA8;
|
|
L_0280EE48: ; // 0x280ee48
|
|
/* 0280EE48 */ cpu->r[30] = 0x00000000u;
|
|
L_0280EE4C: ; // 0x280ee4c
|
|
/* 0280EE4C */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 0280EE4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0280EE50 */ _t40 = cpu->r[9] + 0x00000014u;
|
|
/* 0280EE50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0280EE54 */ cpu->ctr = cpu->r[10];
|
|
/* 0280EE58 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280EE5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280EE60 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 0280EE60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0280EE64 */ _t42 = cpu->r[12] + 0x00000000u;
|
|
/* 0280EE64 */ cpu->r[11] = rbrew_read8(cpu->mem, _t42);
|
|
/* 0280EE68 */ cpu->r[9] = 0x00080000u;
|
|
/* 0280EE6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0280EE70 */ cpu->r[29] = 0x00000000u;
|
|
/* 0280EE74 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EE74 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0280EE74 */ if (_t44) goto L_0280EE44; else goto L_0280EE78;
|
|
L_0280EE78: ; // 0x280ee78
|
|
/* 0280EE78 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0280EE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 0280EE80 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280EE84 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280EE84 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0280EE84 */ if (_t46) goto L_0280EEA4; else goto L_0280EE88;
|
|
L_0280EE88: ; // 0x280ee88
|
|
/* 0280EE88 */ _t47 = cpu->r[12] + 0x00000000u;
|
|
/* 0280EE88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t47);
|
|
/* 0280EE8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0280EE90 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EE90 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0280EE90 */ if (_t49) goto L_0280EE94; else goto L_0280EE78;
|
|
L_0280EE94: ; // 0x280ee94
|
|
/* 0280EE94 */ cpu->r[28] = cpu->r[30] - cpu->r[29];
|
|
/* 0280EE94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0280EE98 */ cpu->r[30] = 0x00000000u;
|
|
/* 0280EE9C */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280EE9C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0280EE9C */ if (_t51) goto L_0280EEA0; else goto L_0280EEB4;
|
|
L_0280EEA0: ; // 0x280eea0
|
|
/* 0280EEA0 */ goto L_0280EF70;
|
|
L_0280EEA4: ; // 0x280eea4
|
|
/* 0280EEA4 */ cpu->r[29] = 0x00000000u;
|
|
L_0280EEA8: ; // 0x280eea8
|
|
/* 0280EEA8 */ cpu->r[28] = cpu->r[30] - cpu->r[29];
|
|
/* 0280EEA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0280EEAC */ cpu->r[30] = 0x00000000u;
|
|
/* 0280EEB0 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280EEB0 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0280EEB0 */ if (_t53) goto L_0280EF70; else goto L_0280EEB4;
|
|
L_0280EEB4: ; // 0x280eeb4
|
|
/* 0280EEB4 */ cpu->r[27] = cpu->r[31];
|
|
L_0280EEB8: ; // 0x280eeb8
|
|
/* 0280EEB8 */ _t54 = cpu->r[26] + 0x00000000u;
|
|
/* 0280EEB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0280EEBC */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280EEBC */ rbrew_write32(cpu->mem, _t55, cpu->r[24]);
|
|
/* 0280EEC0 */ cpu->r[4] = cpu->r[5] + cpu->r[30];
|
|
/* 0280EEC4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280EEC8 */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 0280EEC8 */ rbrew_write32(cpu->mem, _t56, cpu->r[4]);
|
|
/* 0280EECC */ Gambit_fn_028108E4(cpu);
|
|
/* 0280EED0 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280EED0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0280EED4 */ _t58 = cpu->r[6] + 0x00000014u;
|
|
/* 0280EED4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0280EED8 */ cpu->ctr = cpu->r[7];
|
|
/* 0280EEDC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280EEE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280EEE4 */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 0280EEE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0280EEE8 */ _t60 = cpu->r[8] + 0x00000014u;
|
|
/* 0280EEE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0280EEEC */ cpu->ctr = cpu->r[9];
|
|
/* 0280EEF0 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 0280EEF0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0280EEF4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280EEF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280EEFC */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 0280EEFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0280EF00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[0]);
|
|
/* 0280EF04 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EF04 */ _t64 = _t63 & 0x00000001u;
|
|
/* 0280EF04 */ if (_t64) goto L_0280EF58; else goto L_0280EF08;
|
|
L_0280EF08: ; // 0x280ef08
|
|
/* 0280EF08 */ cpu->r[0] = cpu->r[29];
|
|
/* 0280EF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280EF0C */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280EF0C */ _t66 = _t65 & 0x00000001u;
|
|
/* 0280EF0C */ if (_t66) goto L_0280EF10; else goto L_0280EF58;
|
|
L_0280EF10: ; // 0x280ef10
|
|
/* 0280EF10 */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 0280EF10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0280EF14 */ cpu->ctr = cpu->r[0];
|
|
/* 0280EF18 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 0280EF18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t68);
|
|
L_0280EF1C: ; // 0x280ef1c
|
|
/* 0280EF1C */ _t69 = cpu->r[11] + 0x00000000u;
|
|
/* 0280EF1C */ cpu->r[6] = rbrew_read8(cpu->mem, _t69);
|
|
/* 0280EF20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[27]);
|
|
/* 0280EF24 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EF24 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0280EF24 */ if (_t71) goto L_0280EF28; else goto L_0280EF38;
|
|
L_0280EF28: ; // 0x280ef28
|
|
/* 0280EF28 */ _t72 = cpu->r[10] + 0x00000000u;
|
|
/* 0280EF28 */ cpu->r[11] = rbrew_read8(cpu->mem, _t72);
|
|
/* 0280EF2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[27]);
|
|
/* 0280EF30 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EF30 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0280EF30 */ if (_t74) goto L_0280EF34; else goto L_0280EF64;
|
|
L_0280EF34: ; // 0x280ef34
|
|
/* 0280EF34 */ goto L_0280EF58;
|
|
L_0280EF38: ; // 0x280ef38
|
|
/* 0280EF38 */ _t75 = cpu->r[10] + 0x00000000u;
|
|
/* 0280EF38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t75);
|
|
/* 0280EF3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 0280EF40 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EF40 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0280EF40 */ if (_t77) goto L_0280EF64; else goto L_0280EF44;
|
|
L_0280EF44: ; // 0x280ef44
|
|
/* 0280EF44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 0280EF48 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EF48 */ _t79 = _t78 & 0x00000001u;
|
|
/* 0280EF48 */ if (_t79) goto L_0280EF4C; else goto L_0280EF64;
|
|
L_0280EF4C: ; // 0x280ef4c
|
|
/* 0280EF4C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0280EF50 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0280EF54 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0280EF54 */ _t80 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0280EF54 */ _t81 = _t80 >> (0x00000002u & 31u);
|
|
/* 0280EF54 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0280EF54 */ if (_t82) goto L_0280EF1C; else goto L_0280EF58;
|
|
L_0280EF58: ; // 0x280ef58
|
|
/* 0280EF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0xFFFFFFFFu);
|
|
/* 0280EF5C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EF5C */ _t84 = _t83 & 0x00000001u;
|
|
/* 0280EF5C */ if (_t84) goto L_0280EF60; else goto L_0280EF8C;
|
|
L_0280EF60: ; // 0x280ef60
|
|
/* 0280EF60 */ goto L_0280EF74;
|
|
L_0280EF64: ; // 0x280ef64
|
|
/* 0280EF64 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0280EF68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[28]);
|
|
/* 0280EF6C */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280EF6C */ _t86 = _t85 & 0x00000001u;
|
|
/* 0280EF6C */ if (_t86) goto L_0280EF70; else goto L_0280EEB8;
|
|
L_0280EF70: ; // 0x280ef70
|
|
/* 0280EF70 */ cpu->r[30] = 0xFFFFFFFFu;
|
|
L_0280EF74: ; // 0x280ef74
|
|
/* 0280EF74 */ /* nop */
|
|
/* 0280EF78 */ _t87 = cpu->r[1] + 0x00000044u;
|
|
/* 0280EF78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0280EF7C */ cpu->lr = cpu->r[0];
|
|
/* 0280EF80 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0280EF84 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280EF88 */ return;
|
|
L_0280EF8C: ; // 0x280ef8c
|
|
/* 0280EF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0280EF90 */ _t88 = cpu->r[25] + 0x00000000u;
|
|
/* 0280EF90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0280EF94 */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280EF94 */ _t90 = _t89 & 0x00000001u;
|
|
/* 0280EF94 */ if (_t90) goto L_0280EF98; else goto L_0280EFFC;
|
|
L_0280EF98: ; // 0x280ef98
|
|
/* 0280EF98 */ _t91 = cpu->r[26] + 0x00000004u;
|
|
/* 0280EF98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0280EF9C */ _t92 = cpu->r[12] + 0x00000014u;
|
|
/* 0280EF9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0280EFA0 */ cpu->ctr = cpu->r[0];
|
|
/* 0280EFA4 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280EFA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280EFAC */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 0280EFAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0280EFB0 */ _t94 = cpu->r[8] + 0x00000000u;
|
|
/* 0280EFB0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t94);
|
|
/* 0280EFB4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0280EFB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0280EFBC */ cpu->r[0] = 0x00080000u;
|
|
/* 0280EFC0 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EFC0 */ _t96 = _t95 & 0x00000001u;
|
|
/* 0280EFC0 */ if (_t96) goto L_0280EFFC; else goto L_0280EFC4;
|
|
L_0280EFC4: ; // 0x280efc4
|
|
/* 0280EFC4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0280EFC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0280EFCC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0280EFD0 */ _t97 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280EFD0 */ _t98 = _t97 & 0x00000001u;
|
|
/* 0280EFD0 */ if (_t98) goto L_0280EFF8; else goto L_0280EFD4;
|
|
L_0280EFD4: ; // 0x280efd4
|
|
/* 0280EFD4 */ _t99 = cpu->r[8] + 0x00000000u;
|
|
/* 0280EFD4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t99);
|
|
/* 0280EFD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0280EFDC */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280EFDC */ _t101 = _t100 & 0x00000001u;
|
|
/* 0280EFDC */ if (_t101) goto L_0280EFE0; else goto L_0280EFC4;
|
|
L_0280EFE0: ; // 0x280efe0
|
|
/* 0280EFE0 */ _t102 = cpu->r[25] + 0x00000008u;
|
|
/* 0280EFE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0280EFE4 */ _t103 = cpu->r[26] + 0x00000004u;
|
|
/* 0280EFE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0280EFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0280EFEC */ _t104 = cpu->r[6] + 0x00000014u;
|
|
/* 0280EFEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0280EFF0 */ _t105 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280EFF0 */ _t106 = _t105 & 0x00000001u;
|
|
/* 0280EFF0 */ if (_t106) goto L_0280EFF4; else goto L_0280F010;
|
|
L_0280EFF4: ; // 0x280eff4
|
|
/* 0280EFF4 */ goto L_0280F014;
|
|
L_0280EFF8: ; // 0x280eff8
|
|
/* 0280EFF8 */ cpu->r[30] = 0x00000000u;
|
|
L_0280EFFC: ; // 0x280effc
|
|
/* 0280EFFC */ _t107 = cpu->r[25] + 0x00000008u;
|
|
/* 0280EFFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0280F000 */ _t108 = cpu->r[26] + 0x00000004u;
|
|
/* 0280F000 */ cpu->r[6] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0280F004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0280F008 */ _t109 = cpu->r[6] + 0x00000014u;
|
|
/* 0280F008 */ cpu->r[7] = rbrew_read32(cpu->mem, _t109);
|
|
/* 0280F00C */ _t110 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280F00C */ _t111 = _t110 & 0x00000001u;
|
|
/* 0280F00C */ if (_t111) goto L_0280F014; else goto L_0280F010;
|
|
L_0280F010: ; // 0x280f010
|
|
/* 0280F010 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0280F014: ; // 0x280f014
|
|
/* 0280F014 */ cpu->ctr = cpu->r[7];
|
|
/* 0280F018 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280F01C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F020 */ _t112 = cpu->r[26] + 0x00000000u;
|
|
/* 0280F020 */ cpu->r[4] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0280F024 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280F028 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280F02C */ cpu->r[3] = cpu->r[29];
|
|
/* 0280F030 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280F034 */ _t113 = cpu->r[29] + cpu->r[30];
|
|
/* 0280F034 */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[31]);
|
|
/* 0280F038 */ /* nop */
|
|
/* 0280F03C */ _t114 = cpu->r[1] + 0x00000044u;
|
|
/* 0280F03C */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 0280F040 */ cpu->lr = cpu->r[0];
|
|
/* 0280F044 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0280F048 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280F04C */ return;
|
|
}
|
|
|
|
// fn_0280F050 @ 0x280f050
|
|
void Gambit_fn_0280F050(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_0280F050: ; // 0x280f050
|
|
/* 0280F050 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 0280F050 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280F050 */ cpu->r[1] = _t0;
|
|
/* 0280F054 */ /* nop */
|
|
/* 0280F058 */ cpu->r[0] = cpu->lr;
|
|
/* 0280F05C */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0280F05C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280F060 */ cpu->r[28] = cpu->r[3];
|
|
/* 0280F064 */ _t2 = cpu->r[28] + 0x00000008u;
|
|
/* 0280F064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280F068 */ cpu->r[27] = cpu->r[4];
|
|
/* 0280F06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280F070 */ cpu->r[31] = 0x10110000u;
|
|
/* 0280F074 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F074 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280F074 */ if (_t4) goto L_0280F0C8; else goto L_0280F078;
|
|
L_0280F078: ; // 0x280f078
|
|
/* 0280F078 */ _t5 = cpu->r[28] + 0x00000004u;
|
|
/* 0280F078 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280F07C */ _t6 = cpu->r[4] + 0x00000014u;
|
|
/* 0280F07C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280F080 */ cpu->ctr = cpu->r[0];
|
|
/* 0280F084 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280F088 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F08C */ _t7 = cpu->r[28] + 0x00000000u;
|
|
/* 0280F08C */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280F090 */ _t8 = cpu->r[31] + 0x00007399u;
|
|
/* 0280F090 */ cpu->r[31] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0280F094 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 0280F094 */ cpu->r[6] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0280F098 */ cpu->r[12] = 0x00000000u;
|
|
/* 0280F09C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0280F0A0 */ cpu->r[8] = 0x00080000u;
|
|
/* 0280F0A4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F0A4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0280F0A4 */ if (_t11) goto L_0280F0D4; else goto L_0280F0A8;
|
|
L_0280F0A8: ; // 0x280f0a8
|
|
/* 0280F0A8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280F0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[8]);
|
|
/* 0280F0B0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0280F0B4 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F0B4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280F0B4 */ if (_t13) goto L_0280F0D4; else goto L_0280F0B8;
|
|
L_0280F0B8: ; // 0x280f0b8
|
|
/* 0280F0B8 */ _t14 = cpu->r[7] + 0x00000000u;
|
|
/* 0280F0B8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0280F0BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0280F0C0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F0C0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280F0C0 */ if (_t16) goto L_0280F0C4; else goto L_0280F0A8;
|
|
L_0280F0C4: ; // 0x280f0c4
|
|
/* 0280F0C4 */ goto L_0280F0D4;
|
|
L_0280F0C8: ; // 0x280f0c8
|
|
/* 0280F0C8 */ _t17 = cpu->r[28] + 0x00000000u;
|
|
/* 0280F0C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280F0CC */ _t18 = cpu->r[31] + 0x00007399u;
|
|
/* 0280F0CC */ cpu->r[31] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0280F0D0 */ _t19 = cpu->r[11] + 0x00000000u;
|
|
/* 0280F0D0 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[31]);
|
|
L_0280F0D4: ; // 0x280f0d4
|
|
/* 0280F0D4 */ cpu->r[26] = 0x10110000u;
|
|
/* 0280F0D8 */ cpu->r[7] = 0x10110000u;
|
|
/* 0280F0DC */ _t20 = cpu->r[27] + 0x00000004u;
|
|
/* 0280F0DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280F0E0 */ cpu->r[26] = cpu->r[26] + 0x00003268u;
|
|
/* 0280F0E4 */ cpu->r[7] = cpu->r[7] + 0x00003282u;
|
|
/* 0280F0E8 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0280F0E8 */ rbrew_write32(cpu->mem, _t21, cpu->r[26]);
|
|
/* 0280F0EC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0280F0EC */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
|
|
/* 0280F0F0 */ _t23 = cpu->r[8] + 0x00000014u;
|
|
/* 0280F0F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280F0F4 */ cpu->ctr = cpu->r[9];
|
|
/* 0280F0F8 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280F0FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F100 */ _t24 = cpu->r[27] + 0x00000000u;
|
|
/* 0280F100 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280F104 */ _t25 = cpu->r[5] + 0x00000000u;
|
|
/* 0280F104 */ cpu->r[10] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0280F108 */ cpu->r[6] = 0x00080000u;
|
|
/* 0280F10C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0280F110 */ cpu->r[29] = 0x00000000u;
|
|
/* 0280F114 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F114 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0280F114 */ if (_t27) goto L_0280F168; else goto L_0280F118;
|
|
L_0280F118: ; // 0x280f118
|
|
/* 0280F118 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0280F11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0280F120 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0280F124 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F124 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0280F124 */ if (_t29) goto L_0280F164; else goto L_0280F128;
|
|
L_0280F128: ; // 0x280f128
|
|
/* 0280F128 */ _t30 = cpu->r[5] + 0x00000000u;
|
|
/* 0280F128 */ cpu->r[11] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0280F12C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0280F130 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F130 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0280F130 */ if (_t32) goto L_0280F134; else goto L_0280F118;
|
|
L_0280F134: ; // 0x280f134
|
|
/* 0280F134 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0280F134 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0280F138 */ _t34 = cpu->r[12] + 0x00000014u;
|
|
/* 0280F138 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0280F13C */ cpu->ctr = cpu->r[4];
|
|
/* 0280F140 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280F144 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F148 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 0280F148 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0280F14C */ _t36 = cpu->r[12] + 0x00000000u;
|
|
/* 0280F14C */ cpu->r[6] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0280F150 */ cpu->r[30] = 0x00000000u;
|
|
/* 0280F154 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0280F158 */ cpu->r[4] = 0x00080000u;
|
|
/* 0280F15C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F15C */ _t38 = _t37 & 0x00000001u;
|
|
/* 0280F15C */ if (_t38) goto L_0280F160; else goto L_0280F194;
|
|
L_0280F160: ; // 0x280f160
|
|
/* 0280F160 */ goto L_0280F1C4;
|
|
L_0280F164: ; // 0x280f164
|
|
/* 0280F164 */ cpu->r[29] = 0x00000000u;
|
|
L_0280F168: ; // 0x280f168
|
|
/* 0280F168 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 0280F168 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0280F16C */ _t40 = cpu->r[12] + 0x00000014u;
|
|
/* 0280F16C */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0280F170 */ cpu->ctr = cpu->r[4];
|
|
/* 0280F174 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280F178 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F17C */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 0280F17C */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0280F180 */ _t42 = cpu->r[12] + 0x00000000u;
|
|
/* 0280F180 */ cpu->r[6] = rbrew_read8(cpu->mem, _t42);
|
|
/* 0280F184 */ cpu->r[30] = 0x00000000u;
|
|
/* 0280F188 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0280F18C */ cpu->r[4] = 0x00080000u;
|
|
/* 0280F190 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F190 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0280F190 */ if (_t44) goto L_0280F160; else goto L_0280F194;
|
|
L_0280F194: ; // 0x280f194
|
|
/* 0280F194 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0280F198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 0280F19C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280F1A0 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F1A0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0280F1A0 */ if (_t46) goto L_0280F1C0; else goto L_0280F1A4;
|
|
L_0280F1A4: ; // 0x280f1a4
|
|
/* 0280F1A4 */ _t47 = cpu->r[12] + 0x00000000u;
|
|
/* 0280F1A4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t47);
|
|
/* 0280F1A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0280F1AC */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F1AC */ _t49 = _t48 & 0x00000001u;
|
|
/* 0280F1AC */ if (_t49) goto L_0280F1B0; else goto L_0280F194;
|
|
L_0280F1B0: ; // 0x280f1b0
|
|
/* 0280F1B0 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 0280F1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280F1B4 */ cpu->r[24] = cpu->r[29] + 0x00000001u;
|
|
/* 0280F1B8 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280F1B8 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0280F1B8 */ if (_t51) goto L_0280F1BC; else goto L_0280F1D0;
|
|
L_0280F1BC: ; // 0x280f1bc
|
|
/* 0280F1BC */ goto L_0280F2A0;
|
|
L_0280F1C0: ; // 0x280f1c0
|
|
/* 0280F1C0 */ cpu->r[30] = 0x00000000u;
|
|
L_0280F1C4: ; // 0x280f1c4
|
|
/* 0280F1C4 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 0280F1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280F1C8 */ cpu->r[24] = cpu->r[29] + 0x00000001u;
|
|
/* 0280F1CC */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280F1CC */ _t53 = _t52 & 0x00000001u;
|
|
/* 0280F1CC */ if (_t53) goto L_0280F2A0; else goto L_0280F1D0;
|
|
L_0280F1D0: ; // 0x280f1d0
|
|
/* 0280F1D0 */ cpu->r[25] = cpu->r[31];
|
|
L_0280F1D4: ; // 0x280f1d4
|
|
/* 0280F1D4 */ _t54 = cpu->r[27] + 0x00000000u;
|
|
/* 0280F1D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0280F1D8 */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280F1D8 */ rbrew_write32(cpu->mem, _t55, cpu->r[26]);
|
|
/* 0280F1DC */ cpu->r[9] = cpu->r[11] + cpu->r[29];
|
|
/* 0280F1E0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280F1E4 */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 0280F1E4 */ rbrew_write32(cpu->mem, _t56, cpu->r[9]);
|
|
/* 0280F1E8 */ Gambit_fn_028108E4(cpu);
|
|
/* 0280F1EC */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280F1EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0280F1F0 */ _t58 = cpu->r[12] + 0x00000014u;
|
|
/* 0280F1F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0280F1F4 */ cpu->ctr = cpu->r[0];
|
|
/* 0280F1F8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280F1FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F200 */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 0280F200 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0280F204 */ _t60 = cpu->r[6] + 0x00000014u;
|
|
/* 0280F204 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0280F208 */ cpu->ctr = cpu->r[7];
|
|
/* 0280F20C */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 0280F20C */ cpu->r[23] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0280F210 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280F214 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F218 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 0280F218 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0280F21C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[8]);
|
|
/* 0280F220 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F220 */ _t64 = _t63 & 0x00000001u;
|
|
/* 0280F220 */ if (_t64) goto L_0280F274; else goto L_0280F224;
|
|
L_0280F224: ; // 0x280f224
|
|
/* 0280F224 */ cpu->r[0] = cpu->r[30];
|
|
/* 0280F224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280F228 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F228 */ _t66 = _t65 & 0x00000001u;
|
|
/* 0280F228 */ if (_t66) goto L_0280F22C; else goto L_0280F274;
|
|
L_0280F22C: ; // 0x280f22c
|
|
/* 0280F22C */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 0280F22C */ cpu->r[7] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0280F230 */ cpu->ctr = cpu->r[0];
|
|
/* 0280F234 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 0280F234 */ cpu->r[9] = rbrew_read32(cpu->mem, _t68);
|
|
L_0280F238: ; // 0x280f238
|
|
/* 0280F238 */ _t69 = cpu->r[9] + 0x00000000u;
|
|
/* 0280F238 */ cpu->r[4] = rbrew_read8(cpu->mem, _t69);
|
|
/* 0280F23C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[25]);
|
|
/* 0280F240 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F240 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0280F240 */ if (_t71) goto L_0280F244; else goto L_0280F254;
|
|
L_0280F244: ; // 0x280f244
|
|
/* 0280F244 */ _t72 = cpu->r[7] + 0x00000000u;
|
|
/* 0280F244 */ cpu->r[10] = rbrew_read8(cpu->mem, _t72);
|
|
/* 0280F248 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[25]);
|
|
/* 0280F24C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F24C */ _t74 = _t73 & 0x00000001u;
|
|
/* 0280F24C */ if (_t74) goto L_0280F250; else goto L_0280F294;
|
|
L_0280F250: ; // 0x280f250
|
|
/* 0280F250 */ goto L_0280F274;
|
|
L_0280F254: ; // 0x280f254
|
|
/* 0280F254 */ _t75 = cpu->r[7] + 0x00000000u;
|
|
/* 0280F254 */ cpu->r[5] = rbrew_read8(cpu->mem, _t75);
|
|
/* 0280F258 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[25]);
|
|
/* 0280F25C */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F25C */ _t77 = _t76 & 0x00000001u;
|
|
/* 0280F25C */ if (_t77) goto L_0280F294; else goto L_0280F260;
|
|
L_0280F260: ; // 0x280f260
|
|
/* 0280F260 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[4]);
|
|
/* 0280F264 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F264 */ _t79 = _t78 & 0x00000001u;
|
|
/* 0280F264 */ if (_t79) goto L_0280F268; else goto L_0280F294;
|
|
L_0280F268: ; // 0x280f268
|
|
/* 0280F268 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0280F26C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280F270 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0280F270 */ _t80 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0280F270 */ _t81 = _t80 >> (0x00000002u & 31u);
|
|
/* 0280F270 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0280F270 */ if (_t82) goto L_0280F238; else goto L_0280F274;
|
|
L_0280F274: ; // 0x280f274
|
|
/* 0280F274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280F278 */ _t83 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280F278 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0280F278 */ if (_t84) goto L_0280F27C; else goto L_0280F2BC;
|
|
L_0280F27C: ; // 0x280f27c
|
|
/* 0280F27C */ /* nop */
|
|
/* 0280F280 */ _t85 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0280F280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0280F284 */ cpu->lr = cpu->r[0];
|
|
/* 0280F288 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 0280F28C */ cpu->r[3] = 0x00000000u;
|
|
/* 0280F290 */ return;
|
|
L_0280F294: ; // 0x280f294
|
|
/* 0280F294 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 0280F294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0280F298 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0280F29C */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F29C */ _t87 = _t86 & 0x00000001u;
|
|
/* 0280F29C */ if (_t87) goto L_0280F2A0; else goto L_0280F1D4;
|
|
L_0280F2A0: ; // 0x280f2a0
|
|
/* 0280F2A0 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 0280F2A4 */ /* nop */
|
|
/* 0280F2A8 */ _t88 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0280F2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0280F2AC */ cpu->lr = cpu->r[0];
|
|
/* 0280F2B0 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 0280F2B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280F2B8 */ return;
|
|
L_0280F2BC: ; // 0x280f2bc
|
|
/* 0280F2BC */ _t89 = cpu->r[27] + 0x00000004u;
|
|
/* 0280F2BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0280F2C0 */ _t90 = cpu->r[12] + 0x00000014u;
|
|
/* 0280F2C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0280F2C4 */ cpu->ctr = cpu->r[4];
|
|
/* 0280F2C8 */ cpu->r[25] = 0x00000001u;
|
|
/* 0280F2CC */ cpu->r[3] = cpu->r[27];
|
|
/* 0280F2D0 */ cpu->r[30] = 0x00000000u;
|
|
/* 0280F2D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F2D8 */ _t91 = cpu->r[27] + 0x00000000u;
|
|
/* 0280F2D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0280F2DC */ cpu->r[12] = cpu->r[9];
|
|
/* 0280F2E0 */ _t92 = cpu->r[12] + 0x00000000u;
|
|
/* 0280F2E0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t92);
|
|
/* 0280F2E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0280F2E8 */ cpu->r[4] = 0x00080000u;
|
|
/* 0280F2EC */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F2EC */ _t94 = _t93 & 0x00000001u;
|
|
/* 0280F2EC */ if (_t94) goto L_0280F328; else goto L_0280F2F0;
|
|
L_0280F2F0: ; // 0x280f2f0
|
|
/* 0280F2F0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0280F2F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 0280F2F8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280F2FC */ _t95 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F2FC */ _t96 = _t95 & 0x00000001u;
|
|
/* 0280F2FC */ if (_t96) goto L_0280F324; else goto L_0280F300;
|
|
L_0280F300: ; // 0x280f300
|
|
/* 0280F300 */ _t97 = cpu->r[12] + 0x00000000u;
|
|
/* 0280F300 */ cpu->r[8] = rbrew_read8(cpu->mem, _t97);
|
|
/* 0280F304 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0280F308 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F308 */ _t99 = _t98 & 0x00000001u;
|
|
/* 0280F308 */ if (_t99) goto L_0280F30C; else goto L_0280F2F0;
|
|
L_0280F30C: ; // 0x280f30c
|
|
/* 0280F30C */ cpu->r[23] = 0x101F0000u;
|
|
/* 0280F310 */ _t100 = cpu->r[1] + 0x00000024u;
|
|
/* 0280F310 */ rbrew_write32(cpu->mem, _t100, cpu->r[26]);
|
|
/* 0280F314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[30]);
|
|
/* 0280F318 */ cpu->r[23] = cpu->r[23] + 0x000066E8u;
|
|
/* 0280F31C */ _t101 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F31C */ _t102 = _t101 & 0x00000001u;
|
|
/* 0280F31C */ if (_t102) goto L_0280F33C; else goto L_0280F320;
|
|
L_0280F320: ; // 0x280f320
|
|
/* 0280F320 */ goto L_0280F378;
|
|
L_0280F324: ; // 0x280f324
|
|
/* 0280F324 */ cpu->r[30] = 0x00000000u;
|
|
L_0280F328: ; // 0x280f328
|
|
/* 0280F328 */ cpu->r[23] = 0x101F0000u;
|
|
/* 0280F32C */ _t103 = cpu->r[1] + 0x00000024u;
|
|
/* 0280F32C */ rbrew_write32(cpu->mem, _t103, cpu->r[26]);
|
|
/* 0280F330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[30]);
|
|
/* 0280F334 */ cpu->r[23] = cpu->r[23] + 0x000066E8u;
|
|
/* 0280F338 */ _t104 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F338 */ _t105 = _t104 & 0x00000001u;
|
|
/* 0280F338 */ if (_t105) goto L_0280F33C; else goto L_0280F378;
|
|
L_0280F33C: ; // 0x280f33c
|
|
/* 0280F33C */ cpu->r[24] = 0x02810000u;
|
|
/* 0280F340 */ cpu->r[24] = cpu->r[24] + 0x000008E4u;
|
|
/* 0280F344 */ _t106 = cpu->r[23] + 0x00000000u;
|
|
/* 0280F344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0280F348 */ cpu->ctr = cpu->r[24];
|
|
/* 0280F34C */ _t107 = cpu->r[1] + 0x00000020u;
|
|
/* 0280F34C */ rbrew_write32(cpu->mem, _t107, cpu->r[0]);
|
|
/* 0280F350 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0280F354 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F358 */ _t108 = cpu->r[1] + 0x00000020u;
|
|
/* 0280F358 */ cpu->r[7] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0280F35C */ cpu->r[4] = 0x00080000u;
|
|
/* 0280F360 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0280F364 */ _t109 = cpu->r[7] + 0x00000000u;
|
|
/* 0280F364 */ cpu->r[6] = rbrew_read8(cpu->mem, _t109);
|
|
/* 0280F368 */ cpu->ctr = cpu->r[4];
|
|
/* 0280F36C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0280F370 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F370 */ _t111 = _t110 & 0x00000001u;
|
|
/* 0280F370 */ if (_t111) goto L_0280F3C0; else goto L_0280F374;
|
|
L_0280F374: ; // 0x280f374
|
|
/* 0280F374 */ goto L_0280F3B0;
|
|
L_0280F378: ; // 0x280f378
|
|
/* 0280F378 */ cpu->r[24] = 0x02810000u;
|
|
/* 0280F37C */ cpu->r[24] = cpu->r[24] + 0x000008E4u;
|
|
/* 0280F380 */ cpu->r[0] = cpu->r[9] + cpu->r[29];
|
|
/* 0280F384 */ cpu->ctr = cpu->r[24];
|
|
/* 0280F388 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0280F38C */ _t112 = cpu->r[1] + 0x00000020u;
|
|
/* 0280F38C */ rbrew_write32(cpu->mem, _t112, cpu->r[0]);
|
|
/* 0280F390 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F394 */ cpu->r[4] = 0x00080000u;
|
|
/* 0280F398 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0280F39C */ cpu->ctr = cpu->r[4];
|
|
/* 0280F3A0 */ _t113 = cpu->r[1] + 0x00000020u;
|
|
/* 0280F3A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t113);
|
|
L_0280F3A4: ; // 0x280f3a4
|
|
/* 0280F3A4 */ _t114 = cpu->r[7] + 0x00000000u;
|
|
/* 0280F3A4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t114);
|
|
/* 0280F3A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0280F3AC */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F3AC */ _t116 = _t115 & 0x00000001u;
|
|
/* 0280F3AC */ if (_t116) goto L_0280F3C0; else goto L_0280F3B0;
|
|
L_0280F3B0: ; // 0x280f3b0
|
|
/* 0280F3B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x0000002Fu);
|
|
/* 0280F3B4 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F3B4 */ _t118 = _t117 & 0x00000001u;
|
|
/* 0280F3B4 */ if (_t118) goto L_0280F4AC; else goto L_0280F3B8;
|
|
L_0280F3B8: ; // 0x280f3b8
|
|
/* 0280F3B8 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0280F3BC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0280F3BC */ _t119 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0280F3BC */ _t120 = _t119 >> (0x00000002u & 31u);
|
|
/* 0280F3BC */ _t121 = _t120 & 0x00000001u;
|
|
/* 0280F3BC */ if (_t121) goto L_0280F3A4; else goto L_0280F3C0;
|
|
L_0280F3C0: ; // 0x280f3c0
|
|
/* 0280F3C0 */ _t122 = cpu->r[27] + 0x00000004u;
|
|
/* 0280F3C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t122);
|
|
/* 0280F3C4 */ _t123 = cpu->r[11] + 0x00000014u;
|
|
/* 0280F3C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t123);
|
|
/* 0280F3C8 */ cpu->ctr = cpu->r[12];
|
|
/* 0280F3CC */ cpu->r[3] = cpu->r[27];
|
|
/* 0280F3D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F3D4 */ _t124 = cpu->r[27] + 0x00000000u;
|
|
/* 0280F3D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t124);
|
|
/* 0280F3D8 */ cpu->r[4] = cpu->r[9];
|
|
/* 0280F3DC */ _t125 = cpu->r[4] + 0x00000000u;
|
|
/* 0280F3DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t125);
|
|
/* 0280F3E0 */ cpu->r[12] = 0x00000000u;
|
|
/* 0280F3E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0280F3E8 */ cpu->r[6] = 0x00080000u;
|
|
/* 0280F3EC */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F3EC */ _t127 = _t126 & 0x00000001u;
|
|
/* 0280F3EC */ if (_t127) goto L_0280F420; else goto L_0280F3F0;
|
|
L_0280F3F0: ; // 0x280f3f0
|
|
/* 0280F3F0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280F3F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]);
|
|
/* 0280F3F8 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0280F3FC */ _t128 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F3FC */ _t129 = _t128 & 0x00000001u;
|
|
/* 0280F3FC */ if (_t129) goto L_0280F41C; else goto L_0280F400;
|
|
L_0280F400: ; // 0x280f400
|
|
/* 0280F400 */ _t130 = cpu->r[4] + 0x00000000u;
|
|
/* 0280F400 */ cpu->r[5] = rbrew_read8(cpu->mem, _t130);
|
|
/* 0280F404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0280F408 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F408 */ _t132 = _t131 & 0x00000001u;
|
|
/* 0280F408 */ if (_t132) goto L_0280F40C; else goto L_0280F3F0;
|
|
L_0280F40C: ; // 0x280f40c
|
|
/* 0280F40C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[12]);
|
|
/* 0280F410 */ _t133 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280F410 */ rbrew_write32(cpu->mem, _t133, cpu->r[26]);
|
|
/* 0280F414 */ _t134 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F414 */ _t135 = _t134 & 0x00000001u;
|
|
/* 0280F414 */ if (_t135) goto L_0280F42C; else goto L_0280F418;
|
|
L_0280F418: ; // 0x280f418
|
|
/* 0280F418 */ goto L_0280F464;
|
|
L_0280F41C: ; // 0x280f41c
|
|
/* 0280F41C */ cpu->r[12] = 0x00000000u;
|
|
L_0280F420: ; // 0x280f420
|
|
/* 0280F420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[12]);
|
|
/* 0280F424 */ _t136 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0280F424 */ rbrew_write32(cpu->mem, _t136, cpu->r[26]);
|
|
/* 0280F428 */ _t137 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F428 */ _t138 = _t137 & 0x00000001u;
|
|
/* 0280F428 */ if (_t138) goto L_0280F42C; else goto L_0280F464;
|
|
L_0280F42C: ; // 0x280f42c
|
|
/* 0280F42C */ cpu->ctr = cpu->r[24];
|
|
/* 0280F430 */ _t139 = cpu->r[23] + 0x00000000u;
|
|
/* 0280F430 */ cpu->r[5] = rbrew_read32(cpu->mem, _t139);
|
|
/* 0280F434 */ _t140 = cpu->r[1] + 0x00000028u;
|
|
/* 0280F434 */ rbrew_write32(cpu->mem, _t140, cpu->r[5]);
|
|
/* 0280F438 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 0280F43C */ cpu->r[30] = 0x00000001u;
|
|
/* 0280F440 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F444 */ _t141 = cpu->r[1] + 0x00000028u;
|
|
/* 0280F444 */ cpu->r[10] = rbrew_read32(cpu->mem, _t141);
|
|
/* 0280F448 */ cpu->r[0] = 0x00080000u;
|
|
/* 0280F44C */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0280F450 */ _t142 = cpu->r[10] + 0x00000000u;
|
|
/* 0280F450 */ cpu->r[8] = rbrew_read8(cpu->mem, _t142);
|
|
/* 0280F454 */ cpu->ctr = cpu->r[0];
|
|
/* 0280F458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0280F45C */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F45C */ _t144 = _t143 & 0x00000001u;
|
|
/* 0280F45C */ if (_t144) goto L_0280F4A8; else goto L_0280F460;
|
|
L_0280F460: ; // 0x280f460
|
|
/* 0280F460 */ goto L_0280F498;
|
|
L_0280F464: ; // 0x280f464
|
|
/* 0280F464 */ cpu->ctr = cpu->r[24];
|
|
/* 0280F468 */ cpu->r[5] = cpu->r[9] + cpu->r[29];
|
|
/* 0280F46C */ _t145 = cpu->r[1] + 0x00000028u;
|
|
/* 0280F46C */ rbrew_write32(cpu->mem, _t145, cpu->r[5]);
|
|
/* 0280F470 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 0280F474 */ cpu->r[30] = 0x00000001u;
|
|
/* 0280F478 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F47C */ cpu->r[0] = 0x00080000u;
|
|
/* 0280F480 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 0280F484 */ cpu->ctr = cpu->r[0];
|
|
/* 0280F488 */ _t146 = cpu->r[1] + 0x00000028u;
|
|
/* 0280F488 */ cpu->r[10] = rbrew_read32(cpu->mem, _t146);
|
|
L_0280F48C: ; // 0x280f48c
|
|
/* 0280F48C */ _t147 = cpu->r[10] + 0x00000000u;
|
|
/* 0280F48C */ cpu->r[8] = rbrew_read8(cpu->mem, _t147);
|
|
/* 0280F490 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0280F494 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F494 */ _t149 = _t148 & 0x00000001u;
|
|
/* 0280F494 */ if (_t149) goto L_0280F4A8; else goto L_0280F498;
|
|
L_0280F498: ; // 0x280f498
|
|
/* 0280F498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000005Cu);
|
|
/* 0280F49C */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F49C */ _t151 = _t150 & 0x00000001u;
|
|
/* 0280F49C */ if (_t151) goto L_0280F4AC; else goto L_0280F4A0;
|
|
L_0280F4A0: ; // 0x280f4a0
|
|
/* 0280F4A0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0280F4A4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0280F4A4 */ _t152 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0280F4A4 */ _t153 = _t152 >> (0x00000002u & 31u);
|
|
/* 0280F4A4 */ _t154 = _t153 & 0x00000001u;
|
|
/* 0280F4A4 */ if (_t154) goto L_0280F48C; else goto L_0280F4A8;
|
|
L_0280F4A8: ; // 0x280f4a8
|
|
/* 0280F4A8 */ cpu->r[25] = 0x00000000u;
|
|
L_0280F4AC: ; // 0x280f4ac
|
|
/* 0280F4AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0280F4B0 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F4B0 */ _t156 = _t155 & 0x00000001u;
|
|
/* 0280F4B0 */ if (_t156) goto L_0280F4B4; else goto L_0280F27C;
|
|
L_0280F4B4: ; // 0x280f4b4
|
|
/* 0280F4B4 */ _t157 = cpu->r[27] + 0x00000004u;
|
|
/* 0280F4B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t157);
|
|
/* 0280F4B8 */ _t158 = cpu->r[8] + 0x00000014u;
|
|
/* 0280F4B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t158);
|
|
/* 0280F4BC */ cpu->ctr = cpu->r[9];
|
|
/* 0280F4C0 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280F4C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F4C8 */ _t159 = cpu->r[27] + 0x00000000u;
|
|
/* 0280F4C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t159);
|
|
/* 0280F4CC */ cpu->r[5] = cpu->r[9];
|
|
/* 0280F4D0 */ _t160 = cpu->r[5] + 0x00000000u;
|
|
/* 0280F4D0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t160);
|
|
/* 0280F4D4 */ cpu->r[11] = 0x00000000u;
|
|
/* 0280F4D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0280F4DC */ cpu->r[7] = 0x00080000u;
|
|
/* 0280F4E0 */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F4E0 */ _t162 = _t161 & 0x00000001u;
|
|
/* 0280F4E0 */ if (_t162) goto L_0280F510; else goto L_0280F4E4;
|
|
L_0280F4E4: ; // 0x280f4e4
|
|
/* 0280F4E4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0280F4E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[7]);
|
|
/* 0280F4EC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0280F4F0 */ _t163 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F4F0 */ _t164 = _t163 & 0x00000001u;
|
|
/* 0280F4F0 */ if (_t164) goto L_0280F50C; else goto L_0280F4F4;
|
|
L_0280F4F4: ; // 0x280f4f4
|
|
/* 0280F4F4 */ _t165 = cpu->r[5] + 0x00000000u;
|
|
/* 0280F4F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t165);
|
|
/* 0280F4F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0280F4FC */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F4FC */ _t167 = _t166 & 0x00000001u;
|
|
/* 0280F4FC */ if (_t167) goto L_0280F500; else goto L_0280F4E4;
|
|
L_0280F500: ; // 0x280f500
|
|
/* 0280F500 */ cpu->r[0] = cpu->r[29] + 0x00000001u;
|
|
/* 0280F500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280F504 */ _t168 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280F504 */ _t169 = _t168 & 0x00000001u;
|
|
/* 0280F504 */ if (_t169) goto L_0280F520; else goto L_0280F508;
|
|
L_0280F508: ; // 0x280f508
|
|
/* 0280F508 */ goto L_0280F518;
|
|
L_0280F50C: ; // 0x280f50c
|
|
/* 0280F50C */ cpu->r[11] = 0x00000000u;
|
|
L_0280F510: ; // 0x280f510
|
|
/* 0280F510 */ cpu->r[0] = cpu->r[29] + 0x00000001u;
|
|
/* 0280F510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280F514 */ _t170 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280F514 */ _t171 = _t170 & 0x00000001u;
|
|
/* 0280F514 */ if (_t171) goto L_0280F520; else goto L_0280F518;
|
|
L_0280F518: ; // 0x280f518
|
|
/* 0280F518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]);
|
|
/* 0280F51C */ _t172 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F51C */ _t173 = _t172 & 0x00000001u;
|
|
/* 0280F51C */ if (_t173) goto L_0280F520; else goto L_0280F558;
|
|
L_0280F520: ; // 0x280f520
|
|
/* 0280F520 */ _t174 = cpu->r[23] + 0x00000000u;
|
|
/* 0280F520 */ cpu->r[7] = rbrew_read32(cpu->mem, _t174);
|
|
/* 0280F524 */ cpu->ctr = cpu->r[24];
|
|
/* 0280F528 */ _t175 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280F528 */ rbrew_write32(cpu->mem, _t175, cpu->r[26]);
|
|
/* 0280F52C */ _t176 = cpu->r[1] + 0x00000018u;
|
|
/* 0280F52C */ rbrew_write32(cpu->mem, _t176, cpu->r[7]);
|
|
/* 0280F530 */ _t177 = cpu->r[28] + 0x00000000u;
|
|
/* 0280F530 */ cpu->r[29] = rbrew_read32(cpu->mem, _t177);
|
|
/* 0280F534 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0280F538 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F53C */ _t178 = cpu->r[1] + 0x00000018u;
|
|
/* 0280F53C */ cpu->r[9] = rbrew_read32(cpu->mem, _t178);
|
|
/* 0280F540 */ _t179 = cpu->r[9] + 0x00000000u;
|
|
/* 0280F540 */ cpu->r[6] = rbrew_read8(cpu->mem, _t179);
|
|
/* 0280F544 */ cpu->r[30] = 0x00000000u;
|
|
/* 0280F548 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0280F54C */ cpu->r[0] = 0x00080000u;
|
|
/* 0280F550 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F550 */ _t181 = _t180 & 0x00000001u;
|
|
/* 0280F550 */ if (_t181) goto L_0280F554; else goto L_0280F590;
|
|
L_0280F554: ; // 0x280f554
|
|
/* 0280F554 */ goto L_0280F5C8;
|
|
L_0280F558: ; // 0x280f558
|
|
/* 0280F558 */ cpu->r[5] = cpu->r[9] + cpu->r[29];
|
|
/* 0280F55C */ cpu->ctr = cpu->r[24];
|
|
/* 0280F560 */ _t182 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280F560 */ rbrew_write32(cpu->mem, _t182, cpu->r[26]);
|
|
/* 0280F564 */ cpu->r[7] = cpu->r[5] + 0x00000001u;
|
|
/* 0280F568 */ _t183 = cpu->r[1] + 0x00000018u;
|
|
/* 0280F568 */ rbrew_write32(cpu->mem, _t183, cpu->r[7]);
|
|
/* 0280F56C */ _t184 = cpu->r[28] + 0x00000000u;
|
|
/* 0280F56C */ cpu->r[29] = rbrew_read32(cpu->mem, _t184);
|
|
/* 0280F570 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0280F574 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F578 */ _t185 = cpu->r[1] + 0x00000018u;
|
|
/* 0280F578 */ cpu->r[9] = rbrew_read32(cpu->mem, _t185);
|
|
/* 0280F57C */ _t186 = cpu->r[9] + 0x00000000u;
|
|
/* 0280F57C */ cpu->r[6] = rbrew_read8(cpu->mem, _t186);
|
|
/* 0280F580 */ cpu->r[30] = 0x00000000u;
|
|
/* 0280F584 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0280F588 */ cpu->r[0] = 0x00080000u;
|
|
/* 0280F58C */ _t187 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F58C */ _t188 = _t187 & 0x00000001u;
|
|
/* 0280F58C */ if (_t188) goto L_0280F554; else goto L_0280F590;
|
|
L_0280F590: ; // 0x280f590
|
|
/* 0280F590 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0280F594 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0280F598 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280F59C */ _t189 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F59C */ _t190 = _t189 & 0x00000001u;
|
|
/* 0280F59C */ if (_t190) goto L_0280F5C4; else goto L_0280F5A0;
|
|
L_0280F5A0: ; // 0x280f5a0
|
|
/* 0280F5A0 */ _t191 = cpu->r[9] + 0x00000000u;
|
|
/* 0280F5A0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t191);
|
|
/* 0280F5A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0280F5A8 */ _t192 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F5A8 */ _t193 = _t192 & 0x00000001u;
|
|
/* 0280F5A8 */ if (_t193) goto L_0280F5AC; else goto L_0280F590;
|
|
L_0280F5AC: ; // 0x280f5ac
|
|
/* 0280F5AC */ _t194 = cpu->r[28] + 0x00000008u;
|
|
/* 0280F5AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t194);
|
|
/* 0280F5B0 */ _t195 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280F5B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t195);
|
|
/* 0280F5B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0280F5B8 */ _t196 = cpu->r[10] + 0x00000014u;
|
|
/* 0280F5B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t196);
|
|
/* 0280F5BC */ _t197 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280F5BC */ _t198 = _t197 & 0x00000001u;
|
|
/* 0280F5BC */ if (_t198) goto L_0280F5C0; else goto L_0280F5DC;
|
|
L_0280F5C0: ; // 0x280f5c0
|
|
/* 0280F5C0 */ goto L_0280F5E0;
|
|
L_0280F5C4: ; // 0x280f5c4
|
|
/* 0280F5C4 */ cpu->r[30] = 0x00000000u;
|
|
L_0280F5C8: ; // 0x280f5c8
|
|
/* 0280F5C8 */ _t199 = cpu->r[28] + 0x00000008u;
|
|
/* 0280F5C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t199);
|
|
/* 0280F5CC */ _t200 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280F5CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t200);
|
|
/* 0280F5D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0280F5D4 */ _t201 = cpu->r[10] + 0x00000014u;
|
|
/* 0280F5D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t201);
|
|
/* 0280F5D8 */ _t202 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280F5D8 */ _t203 = _t202 & 0x00000001u;
|
|
/* 0280F5D8 */ if (_t203) goto L_0280F5E0; else goto L_0280F5DC;
|
|
L_0280F5DC: ; // 0x280f5dc
|
|
/* 0280F5DC */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0280F5E0: ; // 0x280f5e0
|
|
/* 0280F5E0 */ cpu->ctr = cpu->r[0];
|
|
/* 0280F5E4 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0280F5E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F5EC */ _t204 = cpu->r[1] + 0x00000018u;
|
|
/* 0280F5EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t204);
|
|
/* 0280F5F0 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280F5F4 */ cpu->r[5] = cpu->r[30];
|
|
/* 0280F5F8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0280F5FC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280F600 */ _t205 = cpu->r[29] + cpu->r[30];
|
|
/* 0280F600 */ rbrew_write8(cpu->mem, _t205, (uint8_t)cpu->r[31]);
|
|
/* 0280F604 */ /* nop */
|
|
/* 0280F608 */ _t206 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0280F608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t206);
|
|
/* 0280F60C */ cpu->lr = cpu->r[0];
|
|
/* 0280F610 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 0280F614 */ cpu->r[3] = 0x00000001u;
|
|
/* 0280F618 */ return;
|
|
}
|
|
|
|
// fn_0280F61C @ 0x280f61c
|
|
void Gambit_fn_0280F61C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_0280F61C: ; // 0x280f61c
|
|
/* 0280F61C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0280F61C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280F61C */ cpu->r[1] = _t0;
|
|
/* 0280F620 */ /* nop */
|
|
/* 0280F624 */ cpu->r[0] = cpu->lr;
|
|
/* 0280F628 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 0280F628 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280F62C */ cpu->r[28] = cpu->r[3];
|
|
/* 0280F630 */ _t2 = cpu->r[28] + 0x00000008u;
|
|
/* 0280F630 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280F634 */ cpu->r[27] = cpu->r[4];
|
|
/* 0280F638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0280F63C */ cpu->r[31] = 0x10110000u;
|
|
/* 0280F640 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F640 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280F640 */ if (_t4) goto L_0280F694; else goto L_0280F644;
|
|
L_0280F644: ; // 0x280f644
|
|
/* 0280F644 */ _t5 = cpu->r[28] + 0x00000004u;
|
|
/* 0280F644 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280F648 */ _t6 = cpu->r[9] + 0x00000014u;
|
|
/* 0280F648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280F64C */ cpu->ctr = cpu->r[0];
|
|
/* 0280F650 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280F654 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F658 */ _t7 = cpu->r[28] + 0x00000000u;
|
|
/* 0280F658 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280F65C */ _t8 = cpu->r[31] + 0x00007399u;
|
|
/* 0280F65C */ cpu->r[30] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0280F660 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 0280F660 */ cpu->r[10] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0280F664 */ cpu->r[9] = 0x00000000u;
|
|
/* 0280F668 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0280F66C */ cpu->r[0] = 0x00080000u;
|
|
/* 0280F670 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F670 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0280F670 */ if (_t11) goto L_0280F6A0; else goto L_0280F674;
|
|
L_0280F674: ; // 0x280f674
|
|
/* 0280F674 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280F678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 0280F67C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280F680 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F680 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280F680 */ if (_t13) goto L_0280F6A0; else goto L_0280F684;
|
|
L_0280F684: ; // 0x280f684
|
|
/* 0280F684 */ _t14 = cpu->r[12] + 0x00000000u;
|
|
/* 0280F684 */ cpu->r[10] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0280F688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0280F68C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F68C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280F68C */ if (_t16) goto L_0280F690; else goto L_0280F674;
|
|
L_0280F690: ; // 0x280f690
|
|
/* 0280F690 */ goto L_0280F6A0;
|
|
L_0280F694: ; // 0x280f694
|
|
/* 0280F694 */ _t17 = cpu->r[28] + 0x00000000u;
|
|
/* 0280F694 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280F698 */ _t18 = cpu->r[31] + 0x00007399u;
|
|
/* 0280F698 */ cpu->r[30] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0280F69C */ _t19 = cpu->r[8] + 0x00000000u;
|
|
/* 0280F69C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
L_0280F6A0: ; // 0x280f6a0
|
|
/* 0280F6A0 */ cpu->r[25] = 0x10110000u;
|
|
/* 0280F6A4 */ cpu->r[0] = 0x10110000u;
|
|
/* 0280F6A8 */ _t20 = cpu->r[27] + 0x00000004u;
|
|
/* 0280F6A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280F6AC */ cpu->r[25] = cpu->r[25] + 0x00003268u;
|
|
/* 0280F6B0 */ cpu->r[0] = cpu->r[0] + 0x00003284u;
|
|
/* 0280F6B4 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0280F6B4 */ rbrew_write32(cpu->mem, _t21, cpu->r[25]);
|
|
/* 0280F6B8 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0280F6B8 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 0280F6BC */ _t23 = cpu->r[12] + 0x00000014u;
|
|
/* 0280F6BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280F6C0 */ cpu->ctr = cpu->r[4];
|
|
/* 0280F6C4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280F6C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F6CC */ _t24 = cpu->r[27] + 0x00000000u;
|
|
/* 0280F6CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280F6D0 */ _t25 = cpu->r[9] + 0x00000000u;
|
|
/* 0280F6D0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0280F6D4 */ cpu->r[31] = 0x00000000u;
|
|
/* 0280F6D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 0280F6DC */ cpu->r[11] = 0x00080000u;
|
|
/* 0280F6E0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F6E0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0280F6E0 */ if (_t27) goto L_0280F734; else goto L_0280F6E4;
|
|
L_0280F6E4: ; // 0x280f6e4
|
|
/* 0280F6E4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0280F6E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 0280F6EC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280F6F0 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F6F0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0280F6F0 */ if (_t29) goto L_0280F730; else goto L_0280F6F4;
|
|
L_0280F6F4: ; // 0x280f6f4
|
|
/* 0280F6F4 */ _t30 = cpu->r[9] + 0x00000000u;
|
|
/* 0280F6F4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0280F6F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
|
|
/* 0280F6FC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F6FC */ _t32 = _t31 & 0x00000001u;
|
|
/* 0280F6FC */ if (_t32) goto L_0280F700; else goto L_0280F6E4;
|
|
L_0280F700: ; // 0x280f700
|
|
/* 0280F700 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0280F700 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0280F704 */ _t34 = cpu->r[7] + 0x00000014u;
|
|
/* 0280F704 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0280F708 */ cpu->ctr = cpu->r[8];
|
|
/* 0280F70C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280F710 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F714 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 0280F714 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0280F718 */ _t36 = cpu->r[4] + 0x00000000u;
|
|
/* 0280F718 */ cpu->r[9] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0280F71C */ cpu->r[6] = 0x00080000u;
|
|
/* 0280F720 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 0280F724 */ cpu->r[29] = 0x00000000u;
|
|
/* 0280F728 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F728 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0280F728 */ if (_t38) goto L_0280F72C; else goto L_0280F760;
|
|
L_0280F72C: ; // 0x280f72c
|
|
/* 0280F72C */ goto L_0280F790;
|
|
L_0280F730: ; // 0x280f730
|
|
/* 0280F730 */ cpu->r[31] = 0x00000000u;
|
|
L_0280F734: ; // 0x280f734
|
|
/* 0280F734 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 0280F734 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0280F738 */ _t40 = cpu->r[7] + 0x00000014u;
|
|
/* 0280F738 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0280F73C */ cpu->ctr = cpu->r[8];
|
|
/* 0280F740 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280F744 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F748 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 0280F748 */ cpu->r[4] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0280F74C */ _t42 = cpu->r[4] + 0x00000000u;
|
|
/* 0280F74C */ cpu->r[9] = rbrew_read8(cpu->mem, _t42);
|
|
/* 0280F750 */ cpu->r[6] = 0x00080000u;
|
|
/* 0280F754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 0280F758 */ cpu->r[29] = 0x00000000u;
|
|
/* 0280F75C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F75C */ _t44 = _t43 & 0x00000001u;
|
|
/* 0280F75C */ if (_t44) goto L_0280F72C; else goto L_0280F760;
|
|
L_0280F760: ; // 0x280f760
|
|
/* 0280F760 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0280F764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0280F768 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0280F76C */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F76C */ _t46 = _t45 & 0x00000001u;
|
|
/* 0280F76C */ if (_t46) goto L_0280F78C; else goto L_0280F770;
|
|
L_0280F770: ; // 0x280f770
|
|
/* 0280F770 */ _t47 = cpu->r[4] + 0x00000000u;
|
|
/* 0280F770 */ cpu->r[10] = rbrew_read8(cpu->mem, _t47);
|
|
/* 0280F774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0280F778 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F778 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0280F778 */ if (_t49) goto L_0280F77C; else goto L_0280F760;
|
|
L_0280F77C: ; // 0x280f77c
|
|
/* 0280F77C */ cpu->r[31] = cpu->r[31] - cpu->r[29];
|
|
/* 0280F77C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280F780 */ cpu->r[26] = 0x00000000u;
|
|
/* 0280F784 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280F784 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0280F784 */ if (_t51) goto L_0280F788; else goto L_0280F79C;
|
|
L_0280F788: ; // 0x280f788
|
|
/* 0280F788 */ goto L_0280F85C;
|
|
L_0280F78C: ; // 0x280f78c
|
|
/* 0280F78C */ cpu->r[29] = 0x00000000u;
|
|
L_0280F790: ; // 0x280f790
|
|
/* 0280F790 */ cpu->r[31] = cpu->r[31] - cpu->r[29];
|
|
/* 0280F790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0280F794 */ cpu->r[26] = 0x00000000u;
|
|
/* 0280F798 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280F798 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0280F798 */ if (_t53) goto L_0280F85C; else goto L_0280F79C;
|
|
L_0280F79C: ; // 0x280f79c
|
|
/* 0280F79C */ cpu->r[24] = cpu->r[30];
|
|
L_0280F7A0: ; // 0x280f7a0
|
|
/* 0280F7A0 */ _t54 = cpu->r[27] + 0x00000000u;
|
|
/* 0280F7A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0280F7A4 */ cpu->r[23] = cpu->r[29];
|
|
/* 0280F7A8 */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280F7A8 */ rbrew_write32(cpu->mem, _t55, cpu->r[25]);
|
|
/* 0280F7AC */ cpu->r[0] = cpu->r[12] + cpu->r[26];
|
|
/* 0280F7B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280F7B4 */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 0280F7B4 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 0280F7B8 */ Gambit_fn_028108E4(cpu);
|
|
/* 0280F7BC */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280F7BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0280F7C0 */ _t58 = cpu->r[4] + 0x00000014u;
|
|
/* 0280F7C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0280F7C4 */ cpu->ctr = cpu->r[5];
|
|
/* 0280F7C8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280F7CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F7D0 */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 0280F7D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0280F7D4 */ _t60 = cpu->r[6] + 0x00000014u;
|
|
/* 0280F7D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0280F7D8 */ cpu->ctr = cpu->r[7];
|
|
/* 0280F7DC */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 0280F7DC */ cpu->r[22] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0280F7E0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280F7E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F7E8 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 0280F7E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0280F7EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[8]);
|
|
/* 0280F7F0 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F7F0 */ _t64 = _t63 & 0x00000001u;
|
|
/* 0280F7F0 */ if (_t64) goto L_0280F844; else goto L_0280F7F4;
|
|
L_0280F7F4: ; // 0x280f7f4
|
|
/* 0280F7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0280F7F8 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F7F8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 0280F7F8 */ if (_t66) goto L_0280F7FC; else goto L_0280F844;
|
|
L_0280F7FC: ; // 0x280f7fc
|
|
/* 0280F7FC */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 0280F7FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0280F800 */ cpu->ctr = cpu->r[23];
|
|
/* 0280F804 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 0280F804 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
L_0280F808: ; // 0x280f808
|
|
/* 0280F808 */ _t69 = cpu->r[8] + 0x00000000u;
|
|
/* 0280F808 */ cpu->r[4] = rbrew_read8(cpu->mem, _t69);
|
|
/* 0280F80C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[24]);
|
|
/* 0280F810 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F810 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0280F810 */ if (_t71) goto L_0280F814; else goto L_0280F824;
|
|
L_0280F814: ; // 0x280f814
|
|
/* 0280F814 */ _t72 = cpu->r[6] + 0x00000000u;
|
|
/* 0280F814 */ cpu->r[9] = rbrew_read8(cpu->mem, _t72);
|
|
/* 0280F818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[24]);
|
|
/* 0280F81C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F81C */ _t74 = _t73 & 0x00000001u;
|
|
/* 0280F81C */ if (_t74) goto L_0280F820; else goto L_0280F850;
|
|
L_0280F820: ; // 0x280f820
|
|
/* 0280F820 */ goto L_0280F844;
|
|
L_0280F824: ; // 0x280f824
|
|
/* 0280F824 */ _t75 = cpu->r[6] + 0x00000000u;
|
|
/* 0280F824 */ cpu->r[0] = rbrew_read8(cpu->mem, _t75);
|
|
/* 0280F828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]);
|
|
/* 0280F82C */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F82C */ _t77 = _t76 & 0x00000001u;
|
|
/* 0280F82C */ if (_t77) goto L_0280F850; else goto L_0280F830;
|
|
L_0280F830: ; // 0x280f830
|
|
/* 0280F830 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 0280F834 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F834 */ _t79 = _t78 & 0x00000001u;
|
|
/* 0280F834 */ if (_t79) goto L_0280F838; else goto L_0280F850;
|
|
L_0280F838: ; // 0x280f838
|
|
/* 0280F838 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0280F83C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0280F840 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0280F840 */ _t80 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0280F840 */ _t81 = _t80 >> (0x00000002u & 31u);
|
|
/* 0280F840 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0280F840 */ if (_t82) goto L_0280F808; else goto L_0280F844;
|
|
L_0280F844: ; // 0x280f844
|
|
/* 0280F844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0xFFFFFFFFu);
|
|
/* 0280F848 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F848 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0280F848 */ if (_t84) goto L_0280F84C; else goto L_0280F99C;
|
|
L_0280F84C: ; // 0x280f84c
|
|
/* 0280F84C */ goto L_0280F860;
|
|
L_0280F850: ; // 0x280f850
|
|
/* 0280F850 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0280F854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[31]);
|
|
/* 0280F858 */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F858 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0280F858 */ if (_t86) goto L_0280F85C; else goto L_0280F7A0;
|
|
L_0280F85C: ; // 0x280f85c
|
|
/* 0280F85C */ cpu->r[26] = 0xFFFFFFFFu;
|
|
L_0280F860: ; // 0x280f860
|
|
/* 0280F860 */ _t87 = cpu->r[28] + 0x00000004u;
|
|
/* 0280F860 */ cpu->r[10] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0280F864 */ _t88 = cpu->r[10] + 0x00000014u;
|
|
/* 0280F864 */ cpu->r[11] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0280F868 */ cpu->ctr = cpu->r[11];
|
|
/* 0280F86C */ _t89 = cpu->r[28] + 0x00000000u;
|
|
/* 0280F86C */ cpu->r[26] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0280F870 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280F874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F878 */ _t90 = cpu->r[28] + 0x00000000u;
|
|
/* 0280F878 */ cpu->r[7] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0280F87C */ _t91 = cpu->r[7] + 0x00000000u;
|
|
/* 0280F87C */ cpu->r[0] = rbrew_read8(cpu->mem, _t91);
|
|
/* 0280F880 */ cpu->r[31] = 0x00000000u;
|
|
/* 0280F884 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0280F888 */ cpu->r[9] = 0x00080000u;
|
|
/* 0280F88C */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F88C */ _t93 = _t92 & 0x00000001u;
|
|
/* 0280F88C */ if (_t93) goto L_0280F8E0; else goto L_0280F890;
|
|
L_0280F890: ; // 0x280f890
|
|
/* 0280F890 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0280F894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 0280F898 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0280F89C */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F89C */ _t95 = _t94 & 0x00000001u;
|
|
/* 0280F89C */ if (_t95) goto L_0280F8DC; else goto L_0280F8A0;
|
|
L_0280F8A0: ; // 0x280f8a0
|
|
/* 0280F8A0 */ _t96 = cpu->r[7] + 0x00000000u;
|
|
/* 0280F8A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t96);
|
|
/* 0280F8A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0280F8A8 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F8A8 */ _t98 = _t97 & 0x00000001u;
|
|
/* 0280F8A8 */ if (_t98) goto L_0280F8AC; else goto L_0280F890;
|
|
L_0280F8AC: ; // 0x280f8ac
|
|
/* 0280F8AC */ _t99 = cpu->r[27] + 0x00000004u;
|
|
/* 0280F8AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0280F8B0 */ _t100 = cpu->r[6] + 0x00000014u;
|
|
/* 0280F8B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0280F8B4 */ cpu->ctr = cpu->r[8];
|
|
/* 0280F8B8 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280F8BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F8C0 */ _t101 = cpu->r[27] + 0x00000000u;
|
|
/* 0280F8C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0280F8C4 */ _t102 = cpu->r[12] + 0x00000000u;
|
|
/* 0280F8C4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t102);
|
|
/* 0280F8C8 */ cpu->r[4] = 0x00080000u;
|
|
/* 0280F8CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0280F8D0 */ cpu->r[29] = 0x00000000u;
|
|
/* 0280F8D4 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F8D4 */ _t104 = _t103 & 0x00000001u;
|
|
/* 0280F8D4 */ if (_t104) goto L_0280F8D8; else goto L_0280F90C;
|
|
L_0280F8D8: ; // 0x280f8d8
|
|
/* 0280F8D8 */ goto L_0280F93C;
|
|
L_0280F8DC: ; // 0x280f8dc
|
|
/* 0280F8DC */ cpu->r[31] = 0x00000000u;
|
|
L_0280F8E0: ; // 0x280f8e0
|
|
/* 0280F8E0 */ _t105 = cpu->r[27] + 0x00000004u;
|
|
/* 0280F8E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0280F8E4 */ _t106 = cpu->r[6] + 0x00000014u;
|
|
/* 0280F8E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0280F8E8 */ cpu->ctr = cpu->r[8];
|
|
/* 0280F8EC */ cpu->r[3] = cpu->r[27];
|
|
/* 0280F8F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F8F4 */ _t107 = cpu->r[27] + 0x00000000u;
|
|
/* 0280F8F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0280F8F8 */ _t108 = cpu->r[12] + 0x00000000u;
|
|
/* 0280F8F8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t108);
|
|
/* 0280F8FC */ cpu->r[4] = 0x00080000u;
|
|
/* 0280F900 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0280F904 */ cpu->r[29] = 0x00000000u;
|
|
/* 0280F908 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F908 */ _t110 = _t109 & 0x00000001u;
|
|
/* 0280F908 */ if (_t110) goto L_0280F8D8; else goto L_0280F90C;
|
|
L_0280F90C: ; // 0x280f90c
|
|
/* 0280F90C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0280F910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 0280F914 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280F918 */ _t111 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F918 */ _t112 = _t111 & 0x00000001u;
|
|
/* 0280F918 */ if (_t112) goto L_0280F938; else goto L_0280F91C;
|
|
L_0280F91C: ; // 0x280f91c
|
|
/* 0280F91C */ _t113 = cpu->r[12] + 0x00000000u;
|
|
/* 0280F91C */ cpu->r[0] = rbrew_read8(cpu->mem, _t113);
|
|
/* 0280F920 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0280F924 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F924 */ _t115 = _t114 & 0x00000001u;
|
|
/* 0280F924 */ if (_t115) goto L_0280F928; else goto L_0280F90C;
|
|
L_0280F928: ; // 0x280f928
|
|
/* 0280F928 */ _t116 = cpu->r[28] + 0x00000008u;
|
|
/* 0280F928 */ cpu->r[6] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0280F92C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0280F930 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280F930 */ _t118 = _t117 & 0x00000001u;
|
|
/* 0280F930 */ if (_t118) goto L_0280F934; else goto L_0280F948;
|
|
L_0280F934: ; // 0x280f934
|
|
/* 0280F934 */ goto L_0280F94C;
|
|
L_0280F938: ; // 0x280f938
|
|
/* 0280F938 */ cpu->r[29] = 0x00000000u;
|
|
L_0280F93C: ; // 0x280f93c
|
|
/* 0280F93C */ _t119 = cpu->r[28] + 0x00000008u;
|
|
/* 0280F93C */ cpu->r[6] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0280F940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0280F944 */ _t120 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280F944 */ _t121 = _t120 & 0x00000001u;
|
|
/* 0280F944 */ if (_t121) goto L_0280F94C; else goto L_0280F948;
|
|
L_0280F948: ; // 0x280f948
|
|
/* 0280F948 */ cpu->r[29] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0280F94C: ; // 0x280f94c
|
|
/* 0280F94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280F950 */ _t122 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F950 */ _t123 = _t122 & 0x00000001u;
|
|
/* 0280F950 */ if (_t123) goto L_0280F954; else goto L_0280FB84;
|
|
L_0280F954: ; // 0x280f954
|
|
/* 0280F954 */ _t124 = cpu->r[27] + 0x00000004u;
|
|
/* 0280F954 */ cpu->r[12] = rbrew_read32(cpu->mem, _t124);
|
|
/* 0280F958 */ _t125 = cpu->r[12] + 0x00000014u;
|
|
/* 0280F958 */ cpu->r[5] = rbrew_read32(cpu->mem, _t125);
|
|
/* 0280F95C */ cpu->ctr = cpu->r[5];
|
|
/* 0280F960 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280F964 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F968 */ _t126 = cpu->r[27] + 0x00000000u;
|
|
/* 0280F968 */ cpu->r[4] = rbrew_read32(cpu->mem, _t126);
|
|
/* 0280F96C */ cpu->r[6] = 0x00000000u;
|
|
/* 0280F970 */ cpu->r[5] = cpu->r[29];
|
|
/* 0280F974 */ cpu->r[3] = cpu->r[26];
|
|
/* 0280F978 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280F97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[31]);
|
|
/* 0280F980 */ _t127 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F980 */ _t128 = _t127 & 0x00000001u;
|
|
/* 0280F980 */ if (_t128) goto L_0280F984; else goto L_0280FB84;
|
|
L_0280F984: ; // 0x280f984
|
|
/* 0280F984 */ _t129 = cpu->r[26] + cpu->r[29];
|
|
/* 0280F984 */ rbrew_write8(cpu->mem, _t129, (uint8_t)cpu->r[30]);
|
|
/* 0280F988 */ /* nop */
|
|
/* 0280F98C */ _t130 = cpu->r[1] + 0x00000044u;
|
|
/* 0280F98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t130);
|
|
/* 0280F990 */ cpu->lr = cpu->r[0];
|
|
/* 0280F994 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0280F998 */ return;
|
|
L_0280F99C: ; // 0x280f99c
|
|
/* 0280F99C */ _t131 = cpu->r[27] + 0x00000004u;
|
|
/* 0280F99C */ cpu->r[10] = rbrew_read32(cpu->mem, _t131);
|
|
/* 0280F9A0 */ _t132 = cpu->r[10] + 0x00000014u;
|
|
/* 0280F9A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t132);
|
|
/* 0280F9A4 */ cpu->ctr = cpu->r[12];
|
|
/* 0280F9A8 */ cpu->r[26] = cpu->r[26] + 0x00000003u;
|
|
/* 0280F9AC */ cpu->r[3] = cpu->r[27];
|
|
/* 0280F9B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280F9B4 */ _t133 = cpu->r[27] + 0x00000000u;
|
|
/* 0280F9B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t133);
|
|
/* 0280F9B8 */ cpu->r[11] = cpu->r[7];
|
|
/* 0280F9BC */ _t134 = cpu->r[11] + 0x00000000u;
|
|
/* 0280F9BC */ cpu->r[4] = rbrew_read8(cpu->mem, _t134);
|
|
/* 0280F9C0 */ cpu->r[12] = 0x00000000u;
|
|
/* 0280F9C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]);
|
|
/* 0280F9C8 */ cpu->r[0] = 0x00080000u;
|
|
/* 0280F9CC */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F9CC */ _t136 = _t135 & 0x00000001u;
|
|
/* 0280F9CC */ if (_t136) goto L_0280F9FC; else goto L_0280F9D0;
|
|
L_0280F9D0: ; // 0x280f9d0
|
|
/* 0280F9D0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280F9D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 0280F9D8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0280F9DC */ _t137 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280F9DC */ _t138 = _t137 & 0x00000001u;
|
|
/* 0280F9DC */ if (_t138) goto L_0280F9F8; else goto L_0280F9E0;
|
|
L_0280F9E0: ; // 0x280f9e0
|
|
/* 0280F9E0 */ _t139 = cpu->r[11] + 0x00000000u;
|
|
/* 0280F9E0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t139);
|
|
/* 0280F9E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 0280F9E8 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280F9E8 */ _t141 = _t140 & 0x00000001u;
|
|
/* 0280F9E8 */ if (_t141) goto L_0280F9EC; else goto L_0280F9D0;
|
|
L_0280F9EC: ; // 0x280f9ec
|
|
/* 0280F9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0280F9F0 */ _t142 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280F9F0 */ _t143 = _t142 & 0x00000001u;
|
|
/* 0280F9F0 */ if (_t143) goto L_0280FA0C; else goto L_0280F9F4;
|
|
L_0280F9F4: ; // 0x280f9f4
|
|
/* 0280F9F4 */ goto L_0280FA04;
|
|
L_0280F9F8: ; // 0x280f9f8
|
|
/* 0280F9F8 */ cpu->r[12] = 0x00000000u;
|
|
L_0280F9FC: ; // 0x280f9fc
|
|
/* 0280F9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0280FA00 */ _t144 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280FA00 */ _t145 = _t144 & 0x00000001u;
|
|
/* 0280FA00 */ if (_t145) goto L_0280FA0C; else goto L_0280FA04;
|
|
L_0280FA04: ; // 0x280fa04
|
|
/* 0280FA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[12]);
|
|
/* 0280FA08 */ _t146 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FA08 */ _t147 = _t146 & 0x00000001u;
|
|
/* 0280FA08 */ if (_t147) goto L_0280FA0C; else goto L_0280FA50;
|
|
L_0280FA0C: ; // 0x280fa0c
|
|
/* 0280FA0C */ cpu->r[11] = 0x101F0000u;
|
|
/* 0280FA10 */ _t148 = cpu->r[1] + 0x00000014u;
|
|
/* 0280FA10 */ rbrew_write32(cpu->mem, _t148, cpu->r[25]);
|
|
/* 0280FA14 */ _t149 = cpu->r[11] + 0x000066E8u;
|
|
/* 0280FA14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t149);
|
|
/* 0280FA18 */ _t150 = cpu->r[28] + 0x00000004u;
|
|
/* 0280FA18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t150);
|
|
/* 0280FA1C */ _t151 = cpu->r[1] + 0x00000010u;
|
|
/* 0280FA1C */ rbrew_write32(cpu->mem, _t151, cpu->r[11]);
|
|
/* 0280FA20 */ _t152 = cpu->r[7] + 0x00000014u;
|
|
/* 0280FA20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t152);
|
|
/* 0280FA24 */ cpu->ctr = cpu->r[0];
|
|
/* 0280FA28 */ _t153 = cpu->r[28] + 0x00000000u;
|
|
/* 0280FA28 */ cpu->r[27] = rbrew_read32(cpu->mem, _t153);
|
|
/* 0280FA2C */ cpu->r[3] = cpu->r[28];
|
|
/* 0280FA30 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FA34 */ _t154 = cpu->r[28] + 0x00000000u;
|
|
/* 0280FA34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t154);
|
|
/* 0280FA38 */ _t155 = cpu->r[8] + 0x00000000u;
|
|
/* 0280FA38 */ cpu->r[10] = rbrew_read8(cpu->mem, _t155);
|
|
/* 0280FA3C */ cpu->r[31] = 0x00000000u;
|
|
/* 0280FA40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0280FA44 */ cpu->r[9] = 0x00080000u;
|
|
/* 0280FA48 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FA48 */ _t157 = _t156 & 0x00000001u;
|
|
/* 0280FA48 */ if (_t157) goto L_0280FA4C; else goto L_0280FA8C;
|
|
L_0280FA4C: ; // 0x280fa4c
|
|
/* 0280FA4C */ goto L_0280FADC;
|
|
L_0280FA50: ; // 0x280fa50
|
|
/* 0280FA50 */ _t158 = cpu->r[1] + 0x00000014u;
|
|
/* 0280FA50 */ rbrew_write32(cpu->mem, _t158, cpu->r[25]);
|
|
/* 0280FA54 */ cpu->r[11] = cpu->r[7] + cpu->r[26];
|
|
/* 0280FA58 */ _t159 = cpu->r[28] + 0x00000004u;
|
|
/* 0280FA58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t159);
|
|
/* 0280FA5C */ _t160 = cpu->r[1] + 0x00000010u;
|
|
/* 0280FA5C */ rbrew_write32(cpu->mem, _t160, cpu->r[11]);
|
|
/* 0280FA60 */ _t161 = cpu->r[7] + 0x00000014u;
|
|
/* 0280FA60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 0280FA64 */ cpu->ctr = cpu->r[0];
|
|
/* 0280FA68 */ _t162 = cpu->r[28] + 0x00000000u;
|
|
/* 0280FA68 */ cpu->r[27] = rbrew_read32(cpu->mem, _t162);
|
|
/* 0280FA6C */ cpu->r[3] = cpu->r[28];
|
|
/* 0280FA70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FA74 */ _t163 = cpu->r[28] + 0x00000000u;
|
|
/* 0280FA74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t163);
|
|
/* 0280FA78 */ _t164 = cpu->r[8] + 0x00000000u;
|
|
/* 0280FA78 */ cpu->r[10] = rbrew_read8(cpu->mem, _t164);
|
|
/* 0280FA7C */ cpu->r[31] = 0x00000000u;
|
|
/* 0280FA80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0280FA84 */ cpu->r[9] = 0x00080000u;
|
|
/* 0280FA88 */ _t165 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FA88 */ _t166 = _t165 & 0x00000001u;
|
|
/* 0280FA88 */ if (_t166) goto L_0280FA4C; else goto L_0280FA8C;
|
|
L_0280FA8C: ; // 0x280fa8c
|
|
/* 0280FA8C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0280FA90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 0280FA94 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0280FA98 */ _t167 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FA98 */ _t168 = _t167 & 0x00000001u;
|
|
/* 0280FA98 */ if (_t168) goto L_0280FAD8; else goto L_0280FA9C;
|
|
L_0280FA9C: ; // 0x280fa9c
|
|
/* 0280FA9C */ _t169 = cpu->r[8] + 0x00000000u;
|
|
/* 0280FA9C */ cpu->r[11] = rbrew_read8(cpu->mem, _t169);
|
|
/* 0280FAA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 0280FAA4 */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FAA4 */ _t171 = _t170 & 0x00000001u;
|
|
/* 0280FAA4 */ if (_t171) goto L_0280FAA8; else goto L_0280FA8C;
|
|
L_0280FAA8: ; // 0x280faa8
|
|
/* 0280FAA8 */ _t172 = cpu->r[1] + 0x00000014u;
|
|
/* 0280FAA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t172);
|
|
/* 0280FAAC */ _t173 = cpu->r[12] + 0x00000014u;
|
|
/* 0280FAAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t173);
|
|
/* 0280FAB0 */ cpu->ctr = cpu->r[0];
|
|
/* 0280FAB4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280FAB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FABC */ _t174 = cpu->r[1] + 0x00000010u;
|
|
/* 0280FABC */ cpu->r[4] = rbrew_read32(cpu->mem, _t174);
|
|
/* 0280FAC0 */ _t175 = cpu->r[4] + 0x00000000u;
|
|
/* 0280FAC0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t175);
|
|
/* 0280FAC4 */ cpu->r[6] = 0x00080000u;
|
|
/* 0280FAC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 0280FACC */ cpu->r[29] = 0x00000000u;
|
|
/* 0280FAD0 */ _t176 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FAD0 */ _t177 = _t176 & 0x00000001u;
|
|
/* 0280FAD0 */ if (_t177) goto L_0280FAD4; else goto L_0280FB08;
|
|
L_0280FAD4: ; // 0x280fad4
|
|
/* 0280FAD4 */ goto L_0280FB38;
|
|
L_0280FAD8: ; // 0x280fad8
|
|
/* 0280FAD8 */ cpu->r[31] = 0x00000000u;
|
|
L_0280FADC: ; // 0x280fadc
|
|
/* 0280FADC */ _t178 = cpu->r[1] + 0x00000014u;
|
|
/* 0280FADC */ cpu->r[12] = rbrew_read32(cpu->mem, _t178);
|
|
/* 0280FAE0 */ _t179 = cpu->r[12] + 0x00000014u;
|
|
/* 0280FAE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t179);
|
|
/* 0280FAE4 */ cpu->ctr = cpu->r[0];
|
|
/* 0280FAE8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280FAEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FAF0 */ _t180 = cpu->r[1] + 0x00000010u;
|
|
/* 0280FAF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t180);
|
|
/* 0280FAF4 */ _t181 = cpu->r[4] + 0x00000000u;
|
|
/* 0280FAF4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t181);
|
|
/* 0280FAF8 */ cpu->r[6] = 0x00080000u;
|
|
/* 0280FAFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 0280FB00 */ cpu->r[29] = 0x00000000u;
|
|
/* 0280FB04 */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FB04 */ _t183 = _t182 & 0x00000001u;
|
|
/* 0280FB04 */ if (_t183) goto L_0280FAD4; else goto L_0280FB08;
|
|
L_0280FB08: ; // 0x280fb08
|
|
/* 0280FB08 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0280FB0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0280FB10 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0280FB14 */ _t184 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FB14 */ _t185 = _t184 & 0x00000001u;
|
|
/* 0280FB14 */ if (_t185) goto L_0280FB34; else goto L_0280FB18;
|
|
L_0280FB18: ; // 0x280fb18
|
|
/* 0280FB18 */ _t186 = cpu->r[4] + 0x00000000u;
|
|
/* 0280FB18 */ cpu->r[7] = rbrew_read8(cpu->mem, _t186);
|
|
/* 0280FB1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 0280FB20 */ _t187 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FB20 */ _t188 = _t187 & 0x00000001u;
|
|
/* 0280FB20 */ if (_t188) goto L_0280FB24; else goto L_0280FB08;
|
|
L_0280FB24: ; // 0x280fb24
|
|
/* 0280FB24 */ _t189 = cpu->r[28] + 0x00000008u;
|
|
/* 0280FB24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t189);
|
|
/* 0280FB28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0280FB2C */ _t190 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280FB2C */ _t191 = _t190 & 0x00000001u;
|
|
/* 0280FB2C */ if (_t191) goto L_0280FB30; else goto L_0280FB44;
|
|
L_0280FB30: ; // 0x280fb30
|
|
/* 0280FB30 */ goto L_0280FB48;
|
|
L_0280FB34: ; // 0x280fb34
|
|
/* 0280FB34 */ cpu->r[29] = 0x00000000u;
|
|
L_0280FB38: ; // 0x280fb38
|
|
/* 0280FB38 */ _t192 = cpu->r[28] + 0x00000008u;
|
|
/* 0280FB38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t192);
|
|
/* 0280FB3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0280FB40 */ _t193 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280FB40 */ _t194 = _t193 & 0x00000001u;
|
|
/* 0280FB40 */ if (_t194) goto L_0280FB48; else goto L_0280FB44;
|
|
L_0280FB44: ; // 0x280fb44
|
|
/* 0280FB44 */ cpu->r[29] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0280FB48: ; // 0x280fb48
|
|
/* 0280FB48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280FB4C */ _t195 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FB4C */ _t196 = _t195 & 0x00000001u;
|
|
/* 0280FB4C */ if (_t196) goto L_0280FB50; else goto L_0280FB84;
|
|
L_0280FB50: ; // 0x280fb50
|
|
/* 0280FB50 */ _t197 = cpu->r[1] + 0x00000014u;
|
|
/* 0280FB50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t197);
|
|
/* 0280FB54 */ _t198 = cpu->r[8] + 0x00000014u;
|
|
/* 0280FB54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t198);
|
|
/* 0280FB58 */ cpu->ctr = cpu->r[10];
|
|
/* 0280FB5C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280FB60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FB64 */ _t199 = cpu->r[1] + 0x00000010u;
|
|
/* 0280FB64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t199);
|
|
/* 0280FB68 */ cpu->r[6] = 0x00000000u;
|
|
/* 0280FB6C */ cpu->r[5] = cpu->r[29];
|
|
/* 0280FB70 */ cpu->r[3] = cpu->r[27];
|
|
/* 0280FB74 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0280FB78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[31]);
|
|
/* 0280FB7C */ _t200 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FB7C */ _t201 = _t200 & 0x00000001u;
|
|
/* 0280FB7C */ if (_t201) goto L_0280FB80; else goto L_0280FB84;
|
|
L_0280FB80: ; // 0x280fb80
|
|
/* 0280FB80 */ _t202 = cpu->r[27] + cpu->r[29];
|
|
/* 0280FB80 */ rbrew_write8(cpu->mem, _t202, (uint8_t)cpu->r[30]);
|
|
L_0280FB84: ; // 0x280fb84
|
|
/* 0280FB84 */ /* nop */
|
|
/* 0280FB88 */ _t203 = cpu->r[1] + 0x00000044u;
|
|
/* 0280FB88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t203);
|
|
/* 0280FB8C */ cpu->lr = cpu->r[0];
|
|
/* 0280FB90 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0280FB94 */ return;
|
|
}
|
|
|
|
// fn_0280FB98 @ 0x280fb98
|
|
void Gambit_fn_0280FB98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194;
|
|
|
|
L_0280FB98: ; // 0x280fb98
|
|
/* 0280FB98 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0280FB98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280FB98 */ cpu->r[1] = _t0;
|
|
/* 0280FB9C */ /* nop */
|
|
/* 0280FBA0 */ cpu->r[0] = cpu->lr;
|
|
/* 0280FBA4 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 0280FBA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0280FBA8 */ cpu->r[27] = cpu->r[3];
|
|
/* 0280FBAC */ _t2 = cpu->r[27] + 0x00000008u;
|
|
/* 0280FBAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280FBB0 */ cpu->r[25] = cpu->r[4];
|
|
/* 0280FBB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0280FBB8 */ cpu->r[31] = 0x10110000u;
|
|
/* 0280FBBC */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FBBC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280FBBC */ if (_t4) goto L_0280FC10; else goto L_0280FBC0;
|
|
L_0280FBC0: ; // 0x280fbc0
|
|
/* 0280FBC0 */ _t5 = cpu->r[27] + 0x00000004u;
|
|
/* 0280FBC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0280FBC4 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 0280FBC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280FBC8 */ cpu->ctr = cpu->r[0];
|
|
/* 0280FBCC */ cpu->r[3] = cpu->r[27];
|
|
/* 0280FBD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FBD4 */ _t7 = cpu->r[27] + 0x00000000u;
|
|
/* 0280FBD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280FBD8 */ _t8 = cpu->r[31] + 0x00007399u;
|
|
/* 0280FBD8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0280FBDC */ _t9 = cpu->r[11] + 0x00000000u;
|
|
/* 0280FBDC */ cpu->r[6] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0280FBE0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0280FBE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0280FBE8 */ cpu->r[12] = 0x00080000u;
|
|
/* 0280FBEC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FBEC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0280FBEC */ if (_t11) goto L_0280FC1C; else goto L_0280FBF0;
|
|
L_0280FBF0: ; // 0x280fbf0
|
|
/* 0280FBF0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0280FBF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[12]);
|
|
/* 0280FBF8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0280FBFC */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FBFC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0280FBFC */ if (_t13) goto L_0280FC1C; else goto L_0280FC00;
|
|
L_0280FC00: ; // 0x280fc00
|
|
/* 0280FC00 */ _t14 = cpu->r[11] + 0x00000000u;
|
|
/* 0280FC00 */ cpu->r[6] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0280FC04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0280FC08 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FC08 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0280FC08 */ if (_t16) goto L_0280FC0C; else goto L_0280FBF0;
|
|
L_0280FC0C: ; // 0x280fc0c
|
|
/* 0280FC0C */ goto L_0280FC1C;
|
|
L_0280FC10: ; // 0x280fc10
|
|
/* 0280FC10 */ _t17 = cpu->r[27] + 0x00000000u;
|
|
/* 0280FC10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280FC14 */ _t18 = cpu->r[31] + 0x00007399u;
|
|
/* 0280FC14 */ cpu->r[31] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0280FC18 */ _t19 = cpu->r[4] + 0x00000000u;
|
|
/* 0280FC18 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[31]);
|
|
L_0280FC1C: ; // 0x280fc1c
|
|
/* 0280FC1C */ cpu->r[26] = 0x10110000u;
|
|
/* 0280FC20 */ cpu->r[7] = 0x10110000u;
|
|
/* 0280FC24 */ _t20 = cpu->r[25] + 0x00000004u;
|
|
/* 0280FC24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280FC28 */ cpu->r[26] = cpu->r[26] + 0x00003268u;
|
|
/* 0280FC2C */ cpu->r[7] = cpu->r[7] + 0x00003288u;
|
|
/* 0280FC30 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280FC30 */ rbrew_write32(cpu->mem, _t21, cpu->r[26]);
|
|
/* 0280FC34 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0280FC34 */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
|
|
/* 0280FC38 */ _t23 = cpu->r[8] + 0x00000014u;
|
|
/* 0280FC38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280FC3C */ cpu->ctr = cpu->r[9];
|
|
/* 0280FC40 */ cpu->r[3] = cpu->r[25];
|
|
/* 0280FC44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FC48 */ _t24 = cpu->r[25] + 0x00000000u;
|
|
/* 0280FC48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280FC4C */ _t25 = cpu->r[8] + 0x00000000u;
|
|
/* 0280FC4C */ cpu->r[10] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0280FC50 */ cpu->r[28] = 0x00000000u;
|
|
/* 0280FC54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0280FC58 */ cpu->r[10] = 0x00080000u;
|
|
/* 0280FC5C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FC5C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0280FC5C */ if (_t27) goto L_0280FC84; else goto L_0280FC60;
|
|
L_0280FC60: ; // 0x280fc60
|
|
/* 0280FC60 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0280FC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[10]);
|
|
/* 0280FC68 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0280FC6C */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FC6C */ _t29 = _t28 & 0x00000001u;
|
|
/* 0280FC6C */ if (_t29) goto L_0280FC80; else goto L_0280FC70;
|
|
L_0280FC70: ; // 0x280fc70
|
|
/* 0280FC70 */ _t30 = cpu->r[8] + 0x00000000u;
|
|
/* 0280FC70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0280FC74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0280FC78 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FC78 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0280FC78 */ if (_t32) goto L_0280FC7C; else goto L_0280FC60;
|
|
L_0280FC7C: ; // 0x280fc7c
|
|
/* 0280FC7C */ goto L_0280FC84;
|
|
L_0280FC80: ; // 0x280fc80
|
|
/* 0280FC80 */ cpu->r[28] = 0x00000000u;
|
|
L_0280FC84: ; // 0x280fc84
|
|
/* 0280FC84 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280FC84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0280FC88 */ _t34 = cpu->r[12] + 0x00000014u;
|
|
/* 0280FC88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0280FC8C */ cpu->ctr = cpu->r[4];
|
|
/* 0280FC90 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280FC94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FC98 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 0280FC98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0280FC9C */ _t36 = cpu->r[12] + 0x00000000u;
|
|
/* 0280FC9C */ cpu->r[5] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0280FCA0 */ cpu->r[30] = 0x00000000u;
|
|
/* 0280FCA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0280FCA8 */ cpu->r[5] = 0x00080000u;
|
|
/* 0280FCAC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FCAC */ _t38 = _t37 & 0x00000001u;
|
|
/* 0280FCAC */ if (_t38) goto L_0280FCD4; else goto L_0280FCB0;
|
|
L_0280FCB0: ; // 0x280fcb0
|
|
/* 0280FCB0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0280FCB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0280FCB8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280FCBC */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FCBC */ _t40 = _t39 & 0x00000001u;
|
|
/* 0280FCBC */ if (_t40) goto L_0280FCD0; else goto L_0280FCC0;
|
|
L_0280FCC0: ; // 0x280fcc0
|
|
/* 0280FCC0 */ _t41 = cpu->r[12] + 0x00000000u;
|
|
/* 0280FCC0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t41);
|
|
/* 0280FCC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0280FCC8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FCC8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0280FCC8 */ if (_t43) goto L_0280FCCC; else goto L_0280FCB0;
|
|
L_0280FCCC: ; // 0x280fccc
|
|
/* 0280FCCC */ goto L_0280FCD4;
|
|
L_0280FCD0: ; // 0x280fcd0
|
|
/* 0280FCD0 */ cpu->r[30] = 0x00000000u;
|
|
L_0280FCD4: ; // 0x280fcd4
|
|
/* 0280FCD4 */ cpu->r[28] = cpu->r[28] - cpu->r[30];
|
|
/* 0280FCD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0280FCD8 */ cpu->r[24] = cpu->r[28] + 0x00000001u;
|
|
/* 0280FCDC */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280FCDC */ _t45 = _t44 & 0x00000001u;
|
|
/* 0280FCDC */ if (_t45) goto L_0280FDD0; else goto L_0280FCE0;
|
|
L_0280FCE0: ; // 0x280fce0
|
|
/* 0280FCE0 */ cpu->r[29] = cpu->r[31];
|
|
L_0280FCE4: ; // 0x280fce4
|
|
/* 0280FCE4 */ _t46 = cpu->r[25] + 0x00000000u;
|
|
/* 0280FCE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0280FCE8 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 0280FCE8 */ rbrew_write32(cpu->mem, _t47, cpu->r[26]);
|
|
/* 0280FCEC */ cpu->r[7] = cpu->r[8] + cpu->r[28];
|
|
/* 0280FCF0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280FCF4 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 0280FCF4 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 0280FCF8 */ Gambit_fn_028108E4(cpu);
|
|
/* 0280FCFC */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 0280FCFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0280FD00 */ _t50 = cpu->r[9] + 0x00000014u;
|
|
/* 0280FD00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0280FD04 */ cpu->ctr = cpu->r[0];
|
|
/* 0280FD08 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0280FD0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FD10 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280FD10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0280FD14 */ _t52 = cpu->r[11] + 0x00000014u;
|
|
/* 0280FD14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0280FD18 */ cpu->ctr = cpu->r[0];
|
|
/* 0280FD1C */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 0280FD1C */ cpu->r[23] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0280FD20 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280FD24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FD28 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 0280FD28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0280FD2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[4]);
|
|
/* 0280FD30 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FD30 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0280FD30 */ if (_t56) goto L_0280FD84; else goto L_0280FD34;
|
|
L_0280FD34: ; // 0x280fd34
|
|
/* 0280FD34 */ cpu->r[0] = cpu->r[30];
|
|
/* 0280FD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280FD38 */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FD38 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0280FD38 */ if (_t58) goto L_0280FD3C; else goto L_0280FD84;
|
|
L_0280FD3C: ; // 0x280fd3c
|
|
/* 0280FD3C */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 0280FD3C */ cpu->r[5] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0280FD40 */ cpu->ctr = cpu->r[0];
|
|
/* 0280FD44 */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 0280FD44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
|
|
L_0280FD48: ; // 0x280fd48
|
|
/* 0280FD48 */ _t61 = cpu->r[7] + 0x00000000u;
|
|
/* 0280FD48 */ cpu->r[0] = rbrew_read8(cpu->mem, _t61);
|
|
/* 0280FD4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0280FD50 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FD50 */ _t63 = _t62 & 0x00000001u;
|
|
/* 0280FD50 */ if (_t63) goto L_0280FD54; else goto L_0280FD64;
|
|
L_0280FD54: ; // 0x280fd54
|
|
/* 0280FD54 */ _t64 = cpu->r[5] + 0x00000000u;
|
|
/* 0280FD54 */ cpu->r[7] = rbrew_read8(cpu->mem, _t64);
|
|
/* 0280FD58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 0280FD5C */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FD5C */ _t66 = _t65 & 0x00000001u;
|
|
/* 0280FD5C */ if (_t66) goto L_0280FD60; else goto L_0280FDC4;
|
|
L_0280FD60: ; // 0x280fd60
|
|
/* 0280FD60 */ goto L_0280FD84;
|
|
L_0280FD64: ; // 0x280fd64
|
|
/* 0280FD64 */ _t67 = cpu->r[5] + 0x00000000u;
|
|
/* 0280FD64 */ cpu->r[4] = rbrew_read8(cpu->mem, _t67);
|
|
/* 0280FD68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[29]);
|
|
/* 0280FD6C */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FD6C */ _t69 = _t68 & 0x00000001u;
|
|
/* 0280FD6C */ if (_t69) goto L_0280FDC4; else goto L_0280FD70;
|
|
L_0280FD70: ; // 0x280fd70
|
|
/* 0280FD70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0280FD74 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FD74 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0280FD74 */ if (_t71) goto L_0280FD78; else goto L_0280FDC4;
|
|
L_0280FD78: ; // 0x280fd78
|
|
/* 0280FD78 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0280FD7C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0280FD80 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0280FD80 */ _t72 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0280FD80 */ _t73 = _t72 >> (0x00000002u & 31u);
|
|
/* 0280FD80 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0280FD80 */ if (_t74) goto L_0280FD48; else goto L_0280FD84;
|
|
L_0280FD84: ; // 0x280fd84
|
|
/* 0280FD84 */ cpu->r[9] = 0x10110000u;
|
|
/* 0280FD88 */ _t75 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280FD88 */ rbrew_write32(cpu->mem, _t75, cpu->r[26]);
|
|
/* 0280FD8C */ cpu->r[9] = cpu->r[9] + 0x0000328Au;
|
|
/* 0280FD90 */ _t76 = cpu->r[25] + 0x00000004u;
|
|
/* 0280FD90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0280FD94 */ _t77 = cpu->r[1] + 0x00000008u;
|
|
/* 0280FD94 */ rbrew_write32(cpu->mem, _t77, cpu->r[9]);
|
|
/* 0280FD98 */ _t78 = cpu->r[10] + 0x00000014u;
|
|
/* 0280FD98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0280FD9C */ cpu->ctr = cpu->r[0];
|
|
/* 0280FDA0 */ cpu->r[3] = cpu->r[25];
|
|
/* 0280FDA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FDA8 */ _t79 = cpu->r[25] + 0x00000000u;
|
|
/* 0280FDA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0280FDAC */ _t80 = cpu->r[9] + 0x00000000u;
|
|
/* 0280FDAC */ cpu->r[5] = rbrew_read8(cpu->mem, _t80);
|
|
/* 0280FDB0 */ cpu->r[12] = 0x00080000u;
|
|
/* 0280FDB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0280FDB8 */ cpu->r[29] = 0x00000000u;
|
|
/* 0280FDBC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FDBC */ _t82 = _t81 & 0x00000001u;
|
|
/* 0280FDBC */ if (_t82) goto L_0280FDC0; else goto L_0280FE10;
|
|
L_0280FDC0: ; // 0x280fdc0
|
|
/* 0280FDC0 */ goto L_0280FE34;
|
|
L_0280FDC4: ; // 0x280fdc4
|
|
/* 0280FDC4 */ cpu->r[24] = cpu->r[24] + 0xFFFFFFFFu;
|
|
/* 0280FDC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0280FDC8 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 0280FDCC */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FDCC */ _t84 = _t83 & 0x00000001u;
|
|
/* 0280FDCC */ if (_t84) goto L_0280FDD0; else goto L_0280FCE4;
|
|
L_0280FDD0: ; // 0x280fdd0
|
|
/* 0280FDD0 */ cpu->r[9] = 0x10110000u;
|
|
/* 0280FDD4 */ _t85 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280FDD4 */ rbrew_write32(cpu->mem, _t85, cpu->r[26]);
|
|
/* 0280FDD8 */ cpu->r[9] = cpu->r[9] + 0x0000328Au;
|
|
/* 0280FDDC */ _t86 = cpu->r[25] + 0x00000004u;
|
|
/* 0280FDDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0280FDE0 */ _t87 = cpu->r[1] + 0x00000008u;
|
|
/* 0280FDE0 */ rbrew_write32(cpu->mem, _t87, cpu->r[9]);
|
|
/* 0280FDE4 */ _t88 = cpu->r[10] + 0x00000014u;
|
|
/* 0280FDE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0280FDE8 */ cpu->ctr = cpu->r[0];
|
|
/* 0280FDEC */ cpu->r[28] = 0xFFFFFFFFu;
|
|
/* 0280FDF0 */ cpu->r[3] = cpu->r[25];
|
|
/* 0280FDF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FDF8 */ _t89 = cpu->r[25] + 0x00000000u;
|
|
/* 0280FDF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0280FDFC */ _t90 = cpu->r[9] + 0x00000000u;
|
|
/* 0280FDFC */ cpu->r[5] = rbrew_read8(cpu->mem, _t90);
|
|
/* 0280FE00 */ cpu->r[12] = 0x00080000u;
|
|
/* 0280FE04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0280FE08 */ cpu->r[29] = 0x00000000u;
|
|
/* 0280FE0C */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FE0C */ _t92 = _t91 & 0x00000001u;
|
|
/* 0280FE0C */ if (_t92) goto L_0280FDC0; else goto L_0280FE10;
|
|
L_0280FE10: ; // 0x280fe10
|
|
/* 0280FE10 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0280FE14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[12]);
|
|
/* 0280FE18 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280FE1C */ _t93 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FE1C */ _t94 = _t93 & 0x00000001u;
|
|
/* 0280FE1C */ if (_t94) goto L_0280FE30; else goto L_0280FE20;
|
|
L_0280FE20: ; // 0x280fe20
|
|
/* 0280FE20 */ _t95 = cpu->r[9] + 0x00000000u;
|
|
/* 0280FE20 */ cpu->r[6] = rbrew_read8(cpu->mem, _t95);
|
|
/* 0280FE24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0280FE28 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FE28 */ _t97 = _t96 & 0x00000001u;
|
|
/* 0280FE28 */ if (_t97) goto L_0280FE2C; else goto L_0280FE10;
|
|
L_0280FE2C: ; // 0x280fe2c
|
|
/* 0280FE2C */ goto L_0280FE34;
|
|
L_0280FE30: ; // 0x280fe30
|
|
/* 0280FE30 */ cpu->r[29] = 0x00000000u;
|
|
L_0280FE34: ; // 0x280fe34
|
|
/* 0280FE34 */ _t98 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280FE34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0280FE38 */ _t99 = cpu->r[8] + 0x00000014u;
|
|
/* 0280FE38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0280FE3C */ cpu->ctr = cpu->r[10];
|
|
/* 0280FE40 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280FE44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FE48 */ _t100 = cpu->r[1] + 0x00000008u;
|
|
/* 0280FE48 */ cpu->r[4] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0280FE4C */ _t101 = cpu->r[4] + 0x00000000u;
|
|
/* 0280FE4C */ cpu->r[11] = rbrew_read8(cpu->mem, _t101);
|
|
/* 0280FE50 */ cpu->r[30] = 0x00000000u;
|
|
/* 0280FE54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0280FE58 */ cpu->r[6] = 0x00080000u;
|
|
/* 0280FE5C */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FE5C */ _t103 = _t102 & 0x00000001u;
|
|
/* 0280FE5C */ if (_t103) goto L_0280FE84; else goto L_0280FE60;
|
|
L_0280FE60: ; // 0x280fe60
|
|
/* 0280FE60 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0280FE64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0280FE68 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0280FE6C */ _t104 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FE6C */ _t105 = _t104 & 0x00000001u;
|
|
/* 0280FE6C */ if (_t105) goto L_0280FE80; else goto L_0280FE70;
|
|
L_0280FE70: ; // 0x280fe70
|
|
/* 0280FE70 */ _t106 = cpu->r[4] + 0x00000000u;
|
|
/* 0280FE70 */ cpu->r[12] = rbrew_read8(cpu->mem, _t106);
|
|
/* 0280FE74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0280FE78 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FE78 */ _t108 = _t107 & 0x00000001u;
|
|
/* 0280FE78 */ if (_t108) goto L_0280FE7C; else goto L_0280FE60;
|
|
L_0280FE7C: ; // 0x280fe7c
|
|
/* 0280FE7C */ goto L_0280FE84;
|
|
L_0280FE80: ; // 0x280fe80
|
|
/* 0280FE80 */ cpu->r[30] = 0x00000000u;
|
|
L_0280FE84: ; // 0x280fe84
|
|
/* 0280FE84 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 0280FE84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280FE88 */ cpu->r[22] = cpu->r[29] + 0x00000001u;
|
|
/* 0280FE8C */ _t109 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280FE8C */ _t110 = _t109 & 0x00000001u;
|
|
/* 0280FE8C */ if (_t110) goto L_0280FF84; else goto L_0280FE90;
|
|
L_0280FE90: ; // 0x280fe90
|
|
/* 0280FE90 */ cpu->r[24] = cpu->r[31];
|
|
L_0280FE94: ; // 0x280fe94
|
|
/* 0280FE94 */ _t111 = cpu->r[25] + 0x00000000u;
|
|
/* 0280FE94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0280FE98 */ cpu->r[23] = cpu->r[30];
|
|
/* 0280FE9C */ _t112 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280FE9C */ rbrew_write32(cpu->mem, _t112, cpu->r[26]);
|
|
/* 0280FEA0 */ cpu->r[0] = cpu->r[5] + cpu->r[29];
|
|
/* 0280FEA4 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0280FEA8 */ _t113 = cpu->r[1] + 0x00000018u;
|
|
/* 0280FEA8 */ rbrew_write32(cpu->mem, _t113, cpu->r[0]);
|
|
/* 0280FEAC */ Gambit_fn_028108E4(cpu);
|
|
/* 0280FEB0 */ _t114 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280FEB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t114);
|
|
/* 0280FEB4 */ _t115 = cpu->r[7] + 0x00000014u;
|
|
/* 0280FEB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t115);
|
|
/* 0280FEB8 */ cpu->ctr = cpu->r[0];
|
|
/* 0280FEBC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0280FEC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FEC4 */ _t116 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280FEC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0280FEC8 */ _t117 = cpu->r[10] + 0x00000014u;
|
|
/* 0280FEC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t117);
|
|
/* 0280FECC */ cpu->ctr = cpu->r[11];
|
|
/* 0280FED0 */ _t118 = cpu->r[1] + 0x00000018u;
|
|
/* 0280FED0 */ cpu->r[21] = rbrew_read32(cpu->mem, _t118);
|
|
/* 0280FED4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0280FED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FEDC */ _t119 = cpu->r[1] + 0x00000008u;
|
|
/* 0280FEDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0280FEE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[21], cpu->r[0]);
|
|
/* 0280FEE4 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FEE4 */ _t121 = _t120 & 0x00000001u;
|
|
/* 0280FEE4 */ if (_t121) goto L_0280FF38; else goto L_0280FEE8;
|
|
L_0280FEE8: ; // 0x280fee8
|
|
/* 0280FEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0280FEEC */ _t122 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FEEC */ _t123 = _t122 & 0x00000001u;
|
|
/* 0280FEEC */ if (_t123) goto L_0280FEF0; else goto L_0280FF38;
|
|
L_0280FEF0: ; // 0x280fef0
|
|
/* 0280FEF0 */ _t124 = cpu->r[1] + 0x00000008u;
|
|
/* 0280FEF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t124);
|
|
/* 0280FEF4 */ cpu->ctr = cpu->r[23];
|
|
/* 0280FEF8 */ _t125 = cpu->r[1] + 0x00000018u;
|
|
/* 0280FEF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t125);
|
|
L_0280FEFC: ; // 0x280fefc
|
|
/* 0280FEFC */ _t126 = cpu->r[9] + 0x00000000u;
|
|
/* 0280FEFC */ cpu->r[5] = rbrew_read8(cpu->mem, _t126);
|
|
/* 0280FF00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[24]);
|
|
/* 0280FF04 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FF04 */ _t128 = _t127 & 0x00000001u;
|
|
/* 0280FF04 */ if (_t128) goto L_0280FF08; else goto L_0280FF18;
|
|
L_0280FF08: ; // 0x280ff08
|
|
/* 0280FF08 */ _t129 = cpu->r[7] + 0x00000000u;
|
|
/* 0280FF08 */ cpu->r[4] = rbrew_read8(cpu->mem, _t129);
|
|
/* 0280FF0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[24]);
|
|
/* 0280FF10 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FF10 */ _t131 = _t130 & 0x00000001u;
|
|
/* 0280FF10 */ if (_t131) goto L_0280FF14; else goto L_0280FF78;
|
|
L_0280FF14: ; // 0x280ff14
|
|
/* 0280FF14 */ goto L_0280FF38;
|
|
L_0280FF18: ; // 0x280ff18
|
|
/* 0280FF18 */ _t132 = cpu->r[7] + 0x00000000u;
|
|
/* 0280FF18 */ cpu->r[6] = rbrew_read8(cpu->mem, _t132);
|
|
/* 0280FF1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[24]);
|
|
/* 0280FF20 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FF20 */ _t134 = _t133 & 0x00000001u;
|
|
/* 0280FF20 */ if (_t134) goto L_0280FF78; else goto L_0280FF24;
|
|
L_0280FF24: ; // 0x280ff24
|
|
/* 0280FF24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[5]);
|
|
/* 0280FF28 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FF28 */ _t136 = _t135 & 0x00000001u;
|
|
/* 0280FF28 */ if (_t136) goto L_0280FF2C; else goto L_0280FF78;
|
|
L_0280FF2C: ; // 0x280ff2c
|
|
/* 0280FF2C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0280FF30 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0280FF34 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0280FF34 */ _t137 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0280FF34 */ _t138 = _t137 >> (0x00000002u & 31u);
|
|
/* 0280FF34 */ _t139 = _t138 & 0x00000001u;
|
|
/* 0280FF34 */ if (_t139) goto L_0280FEFC; else goto L_0280FF38;
|
|
L_0280FF38: ; // 0x280ff38
|
|
/* 0280FF38 */ _t140 = cpu->r[25] + 0x00000004u;
|
|
/* 0280FF38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t140);
|
|
/* 0280FF3C */ cpu->r[3] = cpu->r[25];
|
|
/* 0280FF40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[28]);
|
|
/* 0280FF44 */ _t141 = cpu->r[6] + 0x00000014u;
|
|
/* 0280FF44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t141);
|
|
/* 0280FF48 */ _t142 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FF48 */ _t143 = _t142 & 0x00000001u;
|
|
/* 0280FF48 */ if (_t143) goto L_0280FF4C; else goto L_0280FF50;
|
|
L_0280FF4C: ; // 0x280ff4c
|
|
/* 0280FF4C */ cpu->r[28] = cpu->r[29];
|
|
L_0280FF50: ; // 0x280ff50
|
|
/* 0280FF50 */ cpu->ctr = cpu->r[8];
|
|
/* 0280FF54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FF58 */ _t144 = cpu->r[25] + 0x00000000u;
|
|
/* 0280FF58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t144);
|
|
/* 0280FF5C */ cpu->r[11] = cpu->r[7];
|
|
/* 0280FF60 */ _t145 = cpu->r[11] + 0x00000000u;
|
|
/* 0280FF60 */ cpu->r[9] = rbrew_read8(cpu->mem, _t145);
|
|
/* 0280FF64 */ cpu->r[12] = 0x00000000u;
|
|
/* 0280FF68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0280FF6C */ cpu->r[4] = 0x00080000u;
|
|
/* 0280FF70 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FF70 */ _t147 = _t146 & 0x00000001u;
|
|
/* 0280FF70 */ if (_t147) goto L_0280FF74; else goto L_0280FFC4;
|
|
L_0280FF74: ; // 0x280ff74
|
|
/* 0280FF74 */ goto L_0280FFE8;
|
|
L_0280FF78: ; // 0x280ff78
|
|
/* 0280FF78 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 0280FF78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0280FF7C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0280FF80 */ _t148 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FF80 */ _t149 = _t148 & 0x00000001u;
|
|
/* 0280FF80 */ if (_t149) goto L_0280FF84; else goto L_0280FE94;
|
|
L_0280FF84: ; // 0x280ff84
|
|
/* 0280FF84 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 0280FF88 */ _t150 = cpu->r[25] + 0x00000004u;
|
|
/* 0280FF88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t150);
|
|
/* 0280FF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[28]);
|
|
/* 0280FF90 */ cpu->r[3] = cpu->r[25];
|
|
/* 0280FF94 */ _t151 = cpu->r[6] + 0x00000014u;
|
|
/* 0280FF94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t151);
|
|
/* 0280FF98 */ _t152 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FF98 */ _t153 = _t152 & 0x00000001u;
|
|
/* 0280FF98 */ if (_t153) goto L_0280FF9C; else goto L_0280FFA0;
|
|
L_0280FF9C: ; // 0x280ff9c
|
|
/* 0280FF9C */ cpu->r[28] = cpu->r[29];
|
|
L_0280FFA0: ; // 0x280ffa0
|
|
/* 0280FFA0 */ cpu->ctr = cpu->r[8];
|
|
/* 0280FFA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280FFA8 */ _t154 = cpu->r[25] + 0x00000000u;
|
|
/* 0280FFA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t154);
|
|
/* 0280FFAC */ cpu->r[11] = cpu->r[7];
|
|
/* 0280FFB0 */ _t155 = cpu->r[11] + 0x00000000u;
|
|
/* 0280FFB0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t155);
|
|
/* 0280FFB4 */ cpu->r[12] = 0x00000000u;
|
|
/* 0280FFB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0280FFBC */ cpu->r[4] = 0x00080000u;
|
|
/* 0280FFC0 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FFC0 */ _t157 = _t156 & 0x00000001u;
|
|
/* 0280FFC0 */ if (_t157) goto L_0280FF74; else goto L_0280FFC4;
|
|
L_0280FFC4: ; // 0x280ffc4
|
|
/* 0280FFC4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0280FFC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]);
|
|
/* 0280FFCC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0280FFD0 */ _t158 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FFD0 */ _t159 = _t158 & 0x00000001u;
|
|
/* 0280FFD0 */ if (_t159) goto L_0280FFE4; else goto L_0280FFD4;
|
|
L_0280FFD4: ; // 0x280ffd4
|
|
/* 0280FFD4 */ _t160 = cpu->r[11] + 0x00000000u;
|
|
/* 0280FFD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t160);
|
|
/* 0280FFD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0280FFDC */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280FFDC */ _t162 = _t161 & 0x00000001u;
|
|
/* 0280FFDC */ if (_t162) goto L_0280FFE0; else goto L_0280FFC4;
|
|
L_0280FFE0: ; // 0x280ffe0
|
|
/* 0280FFE0 */ goto L_0280FFE8;
|
|
L_0280FFE4: ; // 0x280ffe4
|
|
/* 0280FFE4 */ cpu->r[12] = 0x00000000u;
|
|
L_0280FFE8: ; // 0x280ffe8
|
|
/* 0280FFE8 */ cpu->r[0] = cpu->r[28] + 0x00000001u;
|
|
/* 0280FFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0280FFEC */ _t163 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0280FFEC */ _t164 = _t163 & 0x00000001u;
|
|
/* 0280FFEC */ if (_t164) goto L_0280FFF8; else goto L_0280FFF0;
|
|
L_0280FFF0: ; // 0x280fff0
|
|
/* 0280FFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 0280FFF4 */ _t165 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0280FFF4 */ _t166 = _t165 & 0x00000001u;
|
|
/* 0280FFF4 */ if (_t166) goto L_0280FFF8; else goto L_02810030;
|
|
L_0280FFF8: ; // 0x280fff8
|
|
/* 0280FFF8 */ cpu->r[11] = 0x101F0000u;
|
|
/* 0280FFFC */ _t167 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280FFFC */ rbrew_write32(cpu->mem, _t167, cpu->r[26]);
|
|
/* 02810000 */ _t168 = cpu->r[11] + 0x000066E8u;
|
|
/* 02810000 */ cpu->r[11] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02810004 */ _t169 = cpu->r[1] + 0x00000008u;
|
|
/* 02810004 */ rbrew_write32(cpu->mem, _t169, cpu->r[11]);
|
|
/* 02810008 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0281000C */ _t170 = cpu->r[27] + 0x00000000u;
|
|
/* 0281000C */ cpu->r[29] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02810010 */ Gambit_fn_028108E4(cpu);
|
|
/* 02810014 */ _t171 = cpu->r[1] + 0x00000008u;
|
|
/* 02810014 */ cpu->r[5] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02810018 */ _t172 = cpu->r[5] + 0x00000000u;
|
|
/* 02810018 */ cpu->r[4] = rbrew_read8(cpu->mem, _t172);
|
|
/* 0281001C */ cpu->r[30] = 0x00000000u;
|
|
/* 02810020 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02810024 */ cpu->r[8] = 0x00080000u;
|
|
/* 02810028 */ _t173 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810028 */ _t174 = _t173 & 0x00000001u;
|
|
/* 02810028 */ if (_t174) goto L_0281002C; else goto L_02810064;
|
|
L_0281002C: ; // 0x281002c
|
|
/* 0281002C */ goto L_02810088;
|
|
L_02810030: ; // 0x2810030
|
|
/* 02810030 */ cpu->r[11] = cpu->r[7] + cpu->r[28];
|
|
/* 02810034 */ _t175 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810034 */ rbrew_write32(cpu->mem, _t175, cpu->r[26]);
|
|
/* 02810038 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0281003C */ _t176 = cpu->r[1] + 0x00000008u;
|
|
/* 0281003C */ rbrew_write32(cpu->mem, _t176, cpu->r[11]);
|
|
/* 02810040 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02810044 */ _t177 = cpu->r[27] + 0x00000000u;
|
|
/* 02810044 */ cpu->r[29] = rbrew_read32(cpu->mem, _t177);
|
|
/* 02810048 */ Gambit_fn_028108E4(cpu);
|
|
/* 0281004C */ _t178 = cpu->r[1] + 0x00000008u;
|
|
/* 0281004C */ cpu->r[5] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02810050 */ _t179 = cpu->r[5] + 0x00000000u;
|
|
/* 02810050 */ cpu->r[4] = rbrew_read8(cpu->mem, _t179);
|
|
/* 02810054 */ cpu->r[30] = 0x00000000u;
|
|
/* 02810058 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0281005C */ cpu->r[8] = 0x00080000u;
|
|
/* 02810060 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810060 */ _t181 = _t180 & 0x00000001u;
|
|
/* 02810060 */ if (_t181) goto L_0281002C; else goto L_02810064;
|
|
L_02810064: ; // 0x2810064
|
|
/* 02810064 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02810068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0281006C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02810070 */ _t182 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810070 */ _t183 = _t182 & 0x00000001u;
|
|
/* 02810070 */ if (_t183) goto L_02810084; else goto L_02810074;
|
|
L_02810074: ; // 0x2810074
|
|
/* 02810074 */ _t184 = cpu->r[5] + 0x00000000u;
|
|
/* 02810074 */ cpu->r[6] = rbrew_read8(cpu->mem, _t184);
|
|
/* 02810078 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0281007C */ _t185 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281007C */ _t186 = _t185 & 0x00000001u;
|
|
/* 0281007C */ if (_t186) goto L_02810080; else goto L_02810064;
|
|
L_02810080: ; // 0x2810080
|
|
/* 02810080 */ goto L_02810088;
|
|
L_02810084: ; // 0x2810084
|
|
/* 02810084 */ cpu->r[30] = 0x00000000u;
|
|
L_02810088: ; // 0x2810088
|
|
/* 02810088 */ _t187 = cpu->r[27] + 0x00000008u;
|
|
/* 02810088 */ cpu->r[8] = rbrew_read32(cpu->mem, _t187);
|
|
/* 0281008C */ _t188 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281008C */ cpu->r[7] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02810090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 02810094 */ _t189 = cpu->r[7] + 0x00000014u;
|
|
/* 02810094 */ cpu->r[9] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02810098 */ _t190 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02810098 */ _t191 = _t190 & 0x00000001u;
|
|
/* 02810098 */ if (_t191) goto L_028100A0; else goto L_0281009C;
|
|
L_0281009C: ; // 0x281009c
|
|
/* 0281009C */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_028100A0: ; // 0x28100a0
|
|
/* 028100A0 */ cpu->ctr = cpu->r[9];
|
|
/* 028100A4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028100A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028100AC */ _t192 = cpu->r[1] + 0x00000008u;
|
|
/* 028100AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t192);
|
|
/* 028100B0 */ cpu->r[6] = 0x00000000u;
|
|
/* 028100B4 */ cpu->r[5] = cpu->r[30];
|
|
/* 028100B8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028100BC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028100C0 */ _t193 = cpu->r[29] + cpu->r[30];
|
|
/* 028100C0 */ rbrew_write8(cpu->mem, _t193, (uint8_t)cpu->r[31]);
|
|
/* 028100C4 */ /* nop */
|
|
/* 028100C8 */ _t194 = cpu->r[1] + 0x00000054u;
|
|
/* 028100C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t194);
|
|
/* 028100CC */ cpu->lr = cpu->r[0];
|
|
/* 028100D0 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 028100D4 */ cpu->r[3] = 0x00000001u;
|
|
/* 028100D8 */ return;
|
|
}
|
|
|
|
// fn_028100DC @ 0x28100dc
|
|
void Gambit_fn_028100DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_028100DC: ; // 0x28100dc
|
|
/* 028100DC */ cpu->r[0] = cpu->lr;
|
|
/* 028100E0 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 028100E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028100E0 */ cpu->r[1] = _t0;
|
|
/* 028100E4 */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 028100E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028100E8 */ /* nop */
|
|
/* 028100EC */ cpu->r[29] = 0x10110000u;
|
|
/* 028100F0 */ cpu->r[27] = cpu->r[3];
|
|
/* 028100F4 */ cpu->r[28] = cpu->r[4];
|
|
/* 028100F8 */ cpu->r[30] = 0x10110000u;
|
|
/* 028100FC */ cpu->r[31] = 0x10110000u;
|
|
/* 02810100 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[28]);
|
|
/* 02810104 */ cpu->r[26] = 0x10110000u;
|
|
/* 02810108 */ cpu->r[30] = cpu->r[30] + 0x0000328Eu;
|
|
/* 0281010C */ cpu->r[29] = cpu->r[29] + 0x00003290u;
|
|
/* 02810110 */ cpu->r[26] = cpu->r[26] + 0x00003268u;
|
|
/* 02810114 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810114 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02810114 */ if (_t3) goto L_02810520; else goto L_02810118;
|
|
L_02810118: ; // 0x2810118
|
|
/* 02810118 */ _t4 = cpu->r[27] + 0x00000008u;
|
|
/* 02810118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0281011C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02810120 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810120 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02810120 */ if (_t6) goto L_02810174; else goto L_02810124;
|
|
L_02810124: ; // 0x2810124
|
|
/* 02810124 */ _t7 = cpu->r[27] + 0x00000004u;
|
|
/* 02810124 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02810128 */ _t8 = cpu->r[5] + 0x00000014u;
|
|
/* 02810128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0281012C */ cpu->ctr = cpu->r[0];
|
|
/* 02810130 */ cpu->r[3] = cpu->r[27];
|
|
/* 02810134 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810138 */ _t9 = cpu->r[27] + 0x00000000u;
|
|
/* 02810138 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0281013C */ _t10 = cpu->r[31] + 0x00007399u;
|
|
/* 0281013C */ cpu->r[31] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02810140 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 02810140 */ cpu->r[4] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02810144 */ cpu->r[12] = 0x00000000u;
|
|
/* 02810148 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0281014C */ cpu->r[0] = 0x00080000u;
|
|
/* 02810150 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810150 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02810150 */ if (_t13) goto L_02810180; else goto L_02810154;
|
|
L_02810154: ; // 0x2810154
|
|
/* 02810154 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02810158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 0281015C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02810160 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810160 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02810160 */ if (_t15) goto L_02810180; else goto L_02810164;
|
|
L_02810164: ; // 0x2810164
|
|
/* 02810164 */ _t16 = cpu->r[10] + 0x00000000u;
|
|
/* 02810164 */ cpu->r[4] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02810168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0281016C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281016C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0281016C */ if (_t18) goto L_02810170; else goto L_02810154;
|
|
L_02810170: ; // 0x2810170
|
|
/* 02810170 */ goto L_02810180;
|
|
L_02810174: ; // 0x2810174
|
|
/* 02810174 */ _t19 = cpu->r[27] + 0x00000000u;
|
|
/* 02810174 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02810178 */ _t20 = cpu->r[31] + 0x00007399u;
|
|
/* 02810178 */ cpu->r[31] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0281017C */ _t21 = cpu->r[10] + 0x00000000u;
|
|
/* 0281017C */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[31]);
|
|
L_02810180: ; // 0x2810180
|
|
/* 02810180 */ _t22 = cpu->r[28] + 0x00000004u;
|
|
/* 02810180 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02810184 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02810184 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02810188 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810188 */ rbrew_write32(cpu->mem, _t24, cpu->r[26]);
|
|
/* 0281018C */ _t25 = cpu->r[6] + 0x00000014u;
|
|
/* 0281018C */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02810190 */ cpu->ctr = cpu->r[8];
|
|
/* 02810194 */ cpu->r[3] = cpu->r[28];
|
|
/* 02810198 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281019C */ _t26 = cpu->r[28] + 0x00000000u;
|
|
/* 0281019C */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028101A0 */ _t27 = cpu->r[5] + 0x00000000u;
|
|
/* 028101A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
|
|
/* 028101A4 */ cpu->r[25] = 0x00000000u;
|
|
/* 028101A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028101AC */ cpu->r[0] = 0x00080000u;
|
|
/* 028101B0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028101B0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 028101B0 */ if (_t29) goto L_028101D8; else goto L_028101B4;
|
|
L_028101B4: ; // 0x28101b4
|
|
/* 028101B4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 028101B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[0]);
|
|
/* 028101BC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 028101C0 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028101C0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 028101C0 */ if (_t31) goto L_028101D4; else goto L_028101C4;
|
|
L_028101C4: ; // 0x28101c4
|
|
/* 028101C4 */ _t32 = cpu->r[5] + 0x00000000u;
|
|
/* 028101C4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t32);
|
|
/* 028101C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 028101CC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028101CC */ _t34 = _t33 & 0x00000001u;
|
|
/* 028101CC */ if (_t34) goto L_028101D0; else goto L_028101B4;
|
|
L_028101D0: ; // 0x28101d0
|
|
/* 028101D0 */ goto L_028101D8;
|
|
L_028101D4: ; // 0x28101d4
|
|
/* 028101D4 */ cpu->r[25] = 0x00000000u;
|
|
L_028101D8: ; // 0x28101d8
|
|
/* 028101D8 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028101D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 028101DC */ _t36 = cpu->r[5] + 0x00000014u;
|
|
/* 028101DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 028101E0 */ cpu->ctr = cpu->r[6];
|
|
/* 028101E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028101E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028101EC */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 028101EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028101F0 */ _t38 = cpu->r[9] + 0x00000000u;
|
|
/* 028101F0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t38);
|
|
/* 028101F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 028101F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 028101FC */ cpu->r[0] = 0x00080000u;
|
|
/* 02810200 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810200 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02810200 */ if (_t40) goto L_02810228; else goto L_02810204;
|
|
L_02810204: ; // 0x2810204
|
|
/* 02810204 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02810208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0281020C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02810210 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810210 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02810210 */ if (_t42) goto L_02810224; else goto L_02810214;
|
|
L_02810214: ; // 0x2810214
|
|
/* 02810214 */ _t43 = cpu->r[9] + 0x00000000u;
|
|
/* 02810214 */ cpu->r[8] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02810218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0281021C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281021C */ _t45 = _t44 & 0x00000001u;
|
|
/* 0281021C */ if (_t45) goto L_02810220; else goto L_02810204;
|
|
L_02810220: ; // 0x2810220
|
|
/* 02810220 */ goto L_02810228;
|
|
L_02810224: ; // 0x2810224
|
|
/* 02810224 */ cpu->r[30] = 0x00000000u;
|
|
L_02810228: ; // 0x2810228
|
|
/* 02810228 */ cpu->r[25] = cpu->r[25] - cpu->r[30];
|
|
/* 02810228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0281022C */ cpu->r[22] = cpu->r[25] + 0x00000001u;
|
|
/* 02810230 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02810230 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02810230 */ if (_t47) goto L_0281031C; else goto L_02810234;
|
|
L_02810234: ; // 0x2810234
|
|
/* 02810234 */ cpu->r[24] = cpu->r[31];
|
|
L_02810238: ; // 0x2810238
|
|
/* 02810238 */ _t48 = cpu->r[28] + 0x00000000u;
|
|
/* 02810238 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0281023C */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0281023C */ rbrew_write32(cpu->mem, _t49, cpu->r[26]);
|
|
/* 02810240 */ cpu->r[10] = cpu->r[12] + cpu->r[25];
|
|
/* 02810244 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02810248 */ _t50 = cpu->r[1] + 0x00000018u;
|
|
/* 02810248 */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
|
|
/* 0281024C */ Gambit_fn_028108E4(cpu);
|
|
/* 02810250 */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02810250 */ cpu->r[4] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02810254 */ _t52 = cpu->r[4] + 0x00000014u;
|
|
/* 02810254 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02810258 */ cpu->ctr = cpu->r[6];
|
|
/* 0281025C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02810260 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810264 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810264 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02810268 */ _t54 = cpu->r[8] + 0x00000014u;
|
|
/* 02810268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0281026C */ cpu->ctr = cpu->r[0];
|
|
/* 02810270 */ _t55 = cpu->r[1] + 0x00000018u;
|
|
/* 02810270 */ cpu->r[23] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02810274 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02810278 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281027C */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 0281027C */ cpu->r[11] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02810280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[11]);
|
|
/* 02810284 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810284 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02810284 */ if (_t58) goto L_028102D8; else goto L_02810288;
|
|
L_02810288: ; // 0x2810288
|
|
/* 02810288 */ cpu->r[11] = cpu->r[30];
|
|
/* 02810288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0281028C */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0281028C */ _t60 = _t59 & 0x00000001u;
|
|
/* 0281028C */ if (_t60) goto L_02810290; else goto L_028102D8;
|
|
L_02810290: ; // 0x2810290
|
|
/* 02810290 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 02810290 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02810294 */ cpu->ctr = cpu->r[11];
|
|
/* 02810298 */ _t62 = cpu->r[1] + 0x00000018u;
|
|
/* 02810298 */ cpu->r[4] = rbrew_read32(cpu->mem, _t62);
|
|
L_0281029C: ; // 0x281029c
|
|
/* 0281029C */ _t63 = cpu->r[4] + 0x00000000u;
|
|
/* 0281029C */ cpu->r[12] = rbrew_read8(cpu->mem, _t63);
|
|
/* 028102A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[24]);
|
|
/* 028102A4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028102A4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 028102A4 */ if (_t65) goto L_028102A8; else goto L_028102B8;
|
|
L_028102A8: ; // 0x28102a8
|
|
/* 028102A8 */ _t66 = cpu->r[10] + 0x00000000u;
|
|
/* 028102A8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t66);
|
|
/* 028102AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[24]);
|
|
/* 028102B0 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028102B0 */ _t68 = _t67 & 0x00000001u;
|
|
/* 028102B0 */ if (_t68) goto L_028102B4; else goto L_02810310;
|
|
L_028102B4: ; // 0x28102b4
|
|
/* 028102B4 */ goto L_028102D8;
|
|
L_028102B8: ; // 0x28102b8
|
|
/* 028102B8 */ _t69 = cpu->r[10] + 0x00000000u;
|
|
/* 028102B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t69);
|
|
/* 028102BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]);
|
|
/* 028102C0 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028102C0 */ _t71 = _t70 & 0x00000001u;
|
|
/* 028102C0 */ if (_t71) goto L_02810310; else goto L_028102C4;
|
|
L_028102C4: ; // 0x28102c4
|
|
/* 028102C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 028102C8 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028102C8 */ _t73 = _t72 & 0x00000001u;
|
|
/* 028102C8 */ if (_t73) goto L_028102CC; else goto L_02810310;
|
|
L_028102CC: ; // 0x28102cc
|
|
/* 028102CC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 028102D0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 028102D4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028102D4 */ _t74 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028102D4 */ _t75 = _t74 >> (0x00000002u & 31u);
|
|
/* 028102D4 */ _t76 = _t75 & 0x00000001u;
|
|
/* 028102D4 */ if (_t76) goto L_0281029C; else goto L_028102D8;
|
|
L_028102D8: ; // 0x28102d8
|
|
/* 028102D8 */ _t77 = cpu->r[28] + 0x00000004u;
|
|
/* 028102D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t77);
|
|
/* 028102DC */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 028102DC */ rbrew_write32(cpu->mem, _t78, cpu->r[29]);
|
|
/* 028102E0 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028102E0 */ rbrew_write32(cpu->mem, _t79, cpu->r[26]);
|
|
/* 028102E4 */ _t80 = cpu->r[5] + 0x00000014u;
|
|
/* 028102E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t80);
|
|
/* 028102E8 */ cpu->ctr = cpu->r[7];
|
|
/* 028102EC */ cpu->r[3] = cpu->r[28];
|
|
/* 028102F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028102F4 */ _t81 = cpu->r[28] + 0x00000000u;
|
|
/* 028102F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t81);
|
|
/* 028102F8 */ _t82 = cpu->r[5] + 0x00000000u;
|
|
/* 028102F8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t82);
|
|
/* 028102FC */ cpu->r[7] = 0x00080000u;
|
|
/* 02810300 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02810304 */ cpu->r[29] = 0x00000000u;
|
|
/* 02810308 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810308 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02810308 */ if (_t84) goto L_0281030C; else goto L_02810354;
|
|
L_0281030C: ; // 0x281030c
|
|
/* 0281030C */ goto L_02810378;
|
|
L_02810310: ; // 0x2810310
|
|
/* 02810310 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02810310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02810314 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02810318 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810318 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02810318 */ if (_t86) goto L_0281031C; else goto L_02810238;
|
|
L_0281031C: ; // 0x281031c
|
|
/* 0281031C */ _t87 = cpu->r[28] + 0x00000004u;
|
|
/* 0281031C */ cpu->r[5] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02810320 */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 02810320 */ rbrew_write32(cpu->mem, _t88, cpu->r[29]);
|
|
/* 02810324 */ _t89 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810324 */ rbrew_write32(cpu->mem, _t89, cpu->r[26]);
|
|
/* 02810328 */ _t90 = cpu->r[5] + 0x00000014u;
|
|
/* 02810328 */ cpu->r[7] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0281032C */ cpu->ctr = cpu->r[7];
|
|
/* 02810330 */ cpu->r[25] = 0xFFFFFFFFu;
|
|
/* 02810334 */ cpu->r[3] = cpu->r[28];
|
|
/* 02810338 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281033C */ _t91 = cpu->r[28] + 0x00000000u;
|
|
/* 0281033C */ cpu->r[5] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02810340 */ _t92 = cpu->r[5] + 0x00000000u;
|
|
/* 02810340 */ cpu->r[9] = rbrew_read8(cpu->mem, _t92);
|
|
/* 02810344 */ cpu->r[7] = 0x00080000u;
|
|
/* 02810348 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0281034C */ cpu->r[29] = 0x00000000u;
|
|
/* 02810350 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810350 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02810350 */ if (_t94) goto L_0281030C; else goto L_02810354;
|
|
L_02810354: ; // 0x2810354
|
|
/* 02810354 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02810358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 0281035C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02810360 */ _t95 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810360 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02810360 */ if (_t96) goto L_02810374; else goto L_02810364;
|
|
L_02810364: ; // 0x2810364
|
|
/* 02810364 */ _t97 = cpu->r[5] + 0x00000000u;
|
|
/* 02810364 */ cpu->r[0] = rbrew_read8(cpu->mem, _t97);
|
|
/* 02810368 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0281036C */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281036C */ _t99 = _t98 & 0x00000001u;
|
|
/* 0281036C */ if (_t99) goto L_02810370; else goto L_02810354;
|
|
L_02810370: ; // 0x2810370
|
|
/* 02810370 */ goto L_02810378;
|
|
L_02810374: ; // 0x2810374
|
|
/* 02810374 */ cpu->r[29] = 0x00000000u;
|
|
L_02810378: ; // 0x2810378
|
|
/* 02810378 */ _t100 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810378 */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0281037C */ _t101 = cpu->r[12] + 0x00000014u;
|
|
/* 0281037C */ cpu->r[5] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02810380 */ cpu->ctr = cpu->r[5];
|
|
/* 02810384 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02810388 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281038C */ _t102 = cpu->r[1] + 0x00000008u;
|
|
/* 0281038C */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02810390 */ _t103 = cpu->r[11] + 0x00000000u;
|
|
/* 02810390 */ cpu->r[6] = rbrew_read8(cpu->mem, _t103);
|
|
/* 02810394 */ cpu->r[30] = 0x00000000u;
|
|
/* 02810398 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0281039C */ cpu->r[0] = 0x00080000u;
|
|
/* 028103A0 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028103A0 */ _t105 = _t104 & 0x00000001u;
|
|
/* 028103A0 */ if (_t105) goto L_028103C8; else goto L_028103A4;
|
|
L_028103A4: ; // 0x28103a4
|
|
/* 028103A4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028103A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 028103AC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 028103B0 */ _t106 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028103B0 */ _t107 = _t106 & 0x00000001u;
|
|
/* 028103B0 */ if (_t107) goto L_028103C4; else goto L_028103B4;
|
|
L_028103B4: ; // 0x28103b4
|
|
/* 028103B4 */ _t108 = cpu->r[11] + 0x00000000u;
|
|
/* 028103B4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t108);
|
|
/* 028103B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 028103BC */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028103BC */ _t110 = _t109 & 0x00000001u;
|
|
/* 028103BC */ if (_t110) goto L_028103C0; else goto L_028103A4;
|
|
L_028103C0: ; // 0x28103c0
|
|
/* 028103C0 */ goto L_028103C8;
|
|
L_028103C4: ; // 0x28103c4
|
|
/* 028103C4 */ cpu->r[30] = 0x00000000u;
|
|
L_028103C8: ; // 0x28103c8
|
|
/* 028103C8 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 028103C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028103CC */ cpu->r[23] = cpu->r[29] + 0x00000001u;
|
|
/* 028103D0 */ _t111 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028103D0 */ _t112 = _t111 & 0x00000001u;
|
|
/* 028103D0 */ if (_t112) goto L_028104B0; else goto L_028103D4;
|
|
L_028103D4: ; // 0x28103d4
|
|
/* 028103D4 */ cpu->r[24] = cpu->r[31];
|
|
L_028103D8: ; // 0x28103d8
|
|
/* 028103D8 */ _t113 = cpu->r[28] + 0x00000000u;
|
|
/* 028103D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t113);
|
|
/* 028103DC */ _t114 = cpu->r[1] + 0x00000024u;
|
|
/* 028103DC */ rbrew_write32(cpu->mem, _t114, cpu->r[26]);
|
|
/* 028103E0 */ cpu->r[8] = cpu->r[10] + cpu->r[29];
|
|
/* 028103E4 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 028103E8 */ _t115 = cpu->r[1] + 0x00000020u;
|
|
/* 028103E8 */ rbrew_write32(cpu->mem, _t115, cpu->r[8]);
|
|
/* 028103EC */ Gambit_fn_028108E4(cpu);
|
|
/* 028103F0 */ _t116 = cpu->r[1] + 0x00000024u;
|
|
/* 028103F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t116);
|
|
/* 028103F4 */ _t117 = cpu->r[12] + 0x00000014u;
|
|
/* 028103F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
|
|
/* 028103F8 */ cpu->ctr = cpu->r[0];
|
|
/* 028103FC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02810400 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810404 */ _t118 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810404 */ cpu->r[5] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02810408 */ _t119 = cpu->r[5] + 0x00000014u;
|
|
/* 02810408 */ cpu->r[7] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0281040C */ cpu->ctr = cpu->r[7];
|
|
/* 02810410 */ _t120 = cpu->r[1] + 0x00000020u;
|
|
/* 02810410 */ cpu->r[22] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02810414 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02810418 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281041C */ _t121 = cpu->r[1] + 0x00000008u;
|
|
/* 0281041C */ cpu->r[8] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02810420 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[8]);
|
|
/* 02810424 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810424 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02810424 */ if (_t123) goto L_02810478; else goto L_02810428;
|
|
L_02810428: ; // 0x2810428
|
|
/* 02810428 */ cpu->r[0] = cpu->r[30];
|
|
/* 02810428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281042C */ _t124 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0281042C */ _t125 = _t124 & 0x00000001u;
|
|
/* 0281042C */ if (_t125) goto L_02810430; else goto L_02810478;
|
|
L_02810430: ; // 0x2810430
|
|
/* 02810430 */ _t126 = cpu->r[1] + 0x00000008u;
|
|
/* 02810430 */ cpu->r[6] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02810434 */ cpu->ctr = cpu->r[0];
|
|
/* 02810438 */ _t127 = cpu->r[1] + 0x00000020u;
|
|
/* 02810438 */ cpu->r[8] = rbrew_read32(cpu->mem, _t127);
|
|
L_0281043C: ; // 0x281043c
|
|
/* 0281043C */ _t128 = cpu->r[8] + 0x00000000u;
|
|
/* 0281043C */ cpu->r[7] = rbrew_read8(cpu->mem, _t128);
|
|
/* 02810440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[24]);
|
|
/* 02810444 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810444 */ _t130 = _t129 & 0x00000001u;
|
|
/* 02810444 */ if (_t130) goto L_02810448; else goto L_02810458;
|
|
L_02810448: ; // 0x2810448
|
|
/* 02810448 */ _t131 = cpu->r[6] + 0x00000000u;
|
|
/* 02810448 */ cpu->r[10] = rbrew_read8(cpu->mem, _t131);
|
|
/* 0281044C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[24]);
|
|
/* 02810450 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810450 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02810450 */ if (_t133) goto L_02810454; else goto L_028104A4;
|
|
L_02810454: ; // 0x2810454
|
|
/* 02810454 */ goto L_02810478;
|
|
L_02810458: ; // 0x2810458
|
|
/* 02810458 */ _t134 = cpu->r[6] + 0x00000000u;
|
|
/* 02810458 */ cpu->r[9] = rbrew_read8(cpu->mem, _t134);
|
|
/* 0281045C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[24]);
|
|
/* 02810460 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810460 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02810460 */ if (_t136) goto L_028104A4; else goto L_02810464;
|
|
L_02810464: ; // 0x2810464
|
|
/* 02810464 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
|
|
/* 02810468 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810468 */ _t138 = _t137 & 0x00000001u;
|
|
/* 02810468 */ if (_t138) goto L_0281046C; else goto L_028104A4;
|
|
L_0281046C: ; // 0x281046c
|
|
/* 0281046C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02810470 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02810474 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02810474 */ _t139 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02810474 */ _t140 = _t139 >> (0x00000002u & 31u);
|
|
/* 02810474 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02810474 */ if (_t141) goto L_0281043C; else goto L_02810478;
|
|
L_02810478: ; // 0x2810478
|
|
/* 02810478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[25]);
|
|
/* 0281047C */ _t142 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0281047C */ _t143 = _t142 & 0x00000001u;
|
|
/* 0281047C */ if (_t143) goto L_02810480; else goto L_02810484;
|
|
L_02810480: ; // 0x2810480
|
|
/* 02810480 */ cpu->r[25] = cpu->r[29];
|
|
L_02810484: ; // 0x2810484
|
|
/* 02810484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02810488 */ _t144 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810488 */ _t145 = _t144 & 0x00000001u;
|
|
/* 02810488 */ if (_t145) goto L_028104C8; else goto L_0281048C;
|
|
L_0281048C: ; // 0x281048c
|
|
/* 0281048C */ /* nop */
|
|
/* 02810490 */ _t146 = cpu->r[1] + 0x00000064u;
|
|
/* 02810490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02810494 */ cpu->lr = cpu->r[0];
|
|
/* 02810498 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 0281049C */ cpu->r[3] = 0x00000000u;
|
|
/* 028104A0 */ return;
|
|
L_028104A4: ; // 0x28104a4
|
|
/* 028104A4 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 028104A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 028104A8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 028104AC */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028104AC */ _t148 = _t147 & 0x00000001u;
|
|
/* 028104AC */ if (_t148) goto L_028104B0; else goto L_028103D8;
|
|
L_028104B0: ; // 0x28104b0
|
|
/* 028104B0 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 028104B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[25]);
|
|
/* 028104B8 */ _t149 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028104B8 */ _t150 = _t149 & 0x00000001u;
|
|
/* 028104B8 */ if (_t150) goto L_028104BC; else goto L_028104C0;
|
|
L_028104BC: ; // 0x28104bc
|
|
/* 028104BC */ cpu->r[25] = cpu->r[29];
|
|
L_028104C0: ; // 0x28104c0
|
|
/* 028104C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 028104C4 */ _t151 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028104C4 */ _t152 = _t151 & 0x00000001u;
|
|
/* 028104C4 */ if (_t152) goto L_028104C8; else goto L_0281048C;
|
|
L_028104C8: ; // 0x28104c8
|
|
/* 028104C8 */ _t153 = cpu->r[27] + 0x00000008u;
|
|
/* 028104C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t153);
|
|
/* 028104CC */ _t154 = cpu->r[28] + 0x00000004u;
|
|
/* 028104CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t154);
|
|
/* 028104D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[11]);
|
|
/* 028104D4 */ _t155 = cpu->r[27] + 0x00000000u;
|
|
/* 028104D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t155);
|
|
/* 028104D8 */ _t156 = cpu->r[12] + 0x00000014u;
|
|
/* 028104D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t156);
|
|
/* 028104DC */ _t157 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028104DC */ _t158 = _t157 & 0x00000001u;
|
|
/* 028104DC */ if (_t158) goto L_028104E4; else goto L_028104E0;
|
|
L_028104E0: ; // 0x28104e0
|
|
/* 028104E0 */ cpu->r[25] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_028104E4: ; // 0x28104e4
|
|
/* 028104E4 */ cpu->ctr = cpu->r[0];
|
|
/* 028104E8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028104EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028104F0 */ _t159 = cpu->r[28] + 0x00000000u;
|
|
/* 028104F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t159);
|
|
/* 028104F4 */ cpu->r[6] = 0x00000000u;
|
|
/* 028104F8 */ cpu->r[5] = cpu->r[25];
|
|
/* 028104FC */ cpu->r[3] = cpu->r[30];
|
|
/* 02810500 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02810504 */ _t160 = cpu->r[30] + cpu->r[25];
|
|
/* 02810504 */ rbrew_write8(cpu->mem, _t160, (uint8_t)cpu->r[31]);
|
|
/* 02810508 */ /* nop */
|
|
/* 0281050C */ _t161 = cpu->r[1] + 0x00000064u;
|
|
/* 0281050C */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02810510 */ cpu->lr = cpu->r[0];
|
|
/* 02810514 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02810518 */ cpu->r[3] = 0x00000001u;
|
|
/* 0281051C */ return;
|
|
L_02810520: ; // 0x2810520
|
|
/* 02810520 */ _t162 = cpu->r[28] + 0x00000004u;
|
|
/* 02810520 */ cpu->r[6] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02810524 */ _t163 = cpu->r[1] + 0x00000010u;
|
|
/* 02810524 */ rbrew_write32(cpu->mem, _t163, cpu->r[30]);
|
|
/* 02810528 */ _t164 = cpu->r[1] + 0x00000014u;
|
|
/* 02810528 */ rbrew_write32(cpu->mem, _t164, cpu->r[26]);
|
|
/* 0281052C */ _t165 = cpu->r[6] + 0x00000014u;
|
|
/* 0281052C */ cpu->r[8] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02810530 */ cpu->ctr = cpu->r[8];
|
|
/* 02810534 */ cpu->r[3] = cpu->r[28];
|
|
/* 02810538 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281053C */ _t166 = cpu->r[28] + 0x00000000u;
|
|
/* 0281053C */ cpu->r[7] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02810540 */ _t167 = cpu->r[31] + 0x00007399u;
|
|
/* 02810540 */ cpu->r[31] = rbrew_read8(cpu->mem, _t167);
|
|
/* 02810544 */ _t168 = cpu->r[7] + 0x00000000u;
|
|
/* 02810544 */ cpu->r[10] = rbrew_read8(cpu->mem, _t168);
|
|
/* 02810548 */ cpu->r[25] = 0x00000000u;
|
|
/* 0281054C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02810550 */ cpu->r[9] = 0x00080000u;
|
|
/* 02810554 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810554 */ _t170 = _t169 & 0x00000001u;
|
|
/* 02810554 */ if (_t170) goto L_0281057C; else goto L_02810558;
|
|
L_02810558: ; // 0x2810558
|
|
/* 02810558 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0281055C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[9]);
|
|
/* 02810560 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02810564 */ _t171 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810564 */ _t172 = _t171 & 0x00000001u;
|
|
/* 02810564 */ if (_t172) goto L_02810578; else goto L_02810568;
|
|
L_02810568: ; // 0x2810568
|
|
/* 02810568 */ _t173 = cpu->r[7] + 0x00000000u;
|
|
/* 02810568 */ cpu->r[0] = rbrew_read8(cpu->mem, _t173);
|
|
/* 0281056C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02810570 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810570 */ _t175 = _t174 & 0x00000001u;
|
|
/* 02810570 */ if (_t175) goto L_02810574; else goto L_02810558;
|
|
L_02810574: ; // 0x2810574
|
|
/* 02810574 */ goto L_0281057C;
|
|
L_02810578: ; // 0x2810578
|
|
/* 02810578 */ cpu->r[25] = 0x00000000u;
|
|
L_0281057C: ; // 0x281057c
|
|
/* 0281057C */ _t176 = cpu->r[1] + 0x00000014u;
|
|
/* 0281057C */ cpu->r[12] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02810580 */ _t177 = cpu->r[12] + 0x00000014u;
|
|
/* 02810580 */ cpu->r[5] = rbrew_read32(cpu->mem, _t177);
|
|
/* 02810584 */ cpu->ctr = cpu->r[5];
|
|
/* 02810588 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0281058C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810590 */ _t178 = cpu->r[1] + 0x00000010u;
|
|
/* 02810590 */ cpu->r[4] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02810594 */ _t179 = cpu->r[4] + 0x00000000u;
|
|
/* 02810594 */ cpu->r[7] = rbrew_read8(cpu->mem, _t179);
|
|
/* 02810598 */ cpu->r[30] = 0x00000000u;
|
|
/* 0281059C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 028105A0 */ cpu->r[5] = 0x00080000u;
|
|
/* 028105A4 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028105A4 */ _t181 = _t180 & 0x00000001u;
|
|
/* 028105A4 */ if (_t181) goto L_028105CC; else goto L_028105A8;
|
|
L_028105A8: ; // 0x28105a8
|
|
/* 028105A8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028105AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 028105B0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 028105B4 */ _t182 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028105B4 */ _t183 = _t182 & 0x00000001u;
|
|
/* 028105B4 */ if (_t183) goto L_028105C8; else goto L_028105B8;
|
|
L_028105B8: ; // 0x28105b8
|
|
/* 028105B8 */ _t184 = cpu->r[4] + 0x00000000u;
|
|
/* 028105B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t184);
|
|
/* 028105BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028105C0 */ _t185 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028105C0 */ _t186 = _t185 & 0x00000001u;
|
|
/* 028105C0 */ if (_t186) goto L_028105C4; else goto L_028105A8;
|
|
L_028105C4: ; // 0x28105c4
|
|
/* 028105C4 */ goto L_028105CC;
|
|
L_028105C8: ; // 0x28105c8
|
|
/* 028105C8 */ cpu->r[30] = 0x00000000u;
|
|
L_028105CC: ; // 0x28105cc
|
|
/* 028105CC */ cpu->r[25] = cpu->r[25] - cpu->r[30];
|
|
/* 028105CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 028105D0 */ cpu->r[22] = cpu->r[25] + 0x00000001u;
|
|
/* 028105D4 */ _t187 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028105D4 */ _t188 = _t187 & 0x00000001u;
|
|
/* 028105D4 */ if (_t188) goto L_028106C0; else goto L_028105D8;
|
|
L_028105D8: ; // 0x28105d8
|
|
/* 028105D8 */ cpu->r[24] = cpu->r[31];
|
|
L_028105DC: ; // 0x28105dc
|
|
/* 028105DC */ _t189 = cpu->r[28] + 0x00000000u;
|
|
/* 028105DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t189);
|
|
/* 028105E0 */ _t190 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028105E0 */ rbrew_write32(cpu->mem, _t190, cpu->r[26]);
|
|
/* 028105E4 */ cpu->r[0] = cpu->r[4] + cpu->r[25];
|
|
/* 028105E8 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 028105EC */ _t191 = cpu->r[1] + 0x00000028u;
|
|
/* 028105EC */ rbrew_write32(cpu->mem, _t191, cpu->r[0]);
|
|
/* 028105F0 */ Gambit_fn_028108E4(cpu);
|
|
/* 028105F4 */ _t192 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028105F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t192);
|
|
/* 028105F8 */ _t193 = cpu->r[6] + 0x00000014u;
|
|
/* 028105F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t193);
|
|
/* 028105FC */ cpu->ctr = cpu->r[8];
|
|
/* 02810600 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02810604 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810608 */ _t194 = cpu->r[1] + 0x00000014u;
|
|
/* 02810608 */ cpu->r[10] = rbrew_read32(cpu->mem, _t194);
|
|
/* 0281060C */ _t195 = cpu->r[10] + 0x00000014u;
|
|
/* 0281060C */ cpu->r[0] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02810610 */ cpu->ctr = cpu->r[0];
|
|
/* 02810614 */ _t196 = cpu->r[1] + 0x00000028u;
|
|
/* 02810614 */ cpu->r[23] = rbrew_read32(cpu->mem, _t196);
|
|
/* 02810618 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0281061C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810620 */ _t197 = cpu->r[1] + 0x00000010u;
|
|
/* 02810620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t197);
|
|
/* 02810624 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[0]);
|
|
/* 02810628 */ _t198 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810628 */ _t199 = _t198 & 0x00000001u;
|
|
/* 02810628 */ if (_t199) goto L_0281067C; else goto L_0281062C;
|
|
L_0281062C: ; // 0x281062c
|
|
/* 0281062C */ cpu->r[0] = cpu->r[30];
|
|
/* 0281062C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02810630 */ _t200 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810630 */ _t201 = _t200 & 0x00000001u;
|
|
/* 02810630 */ if (_t201) goto L_02810634; else goto L_0281067C;
|
|
L_02810634: ; // 0x2810634
|
|
/* 02810634 */ _t202 = cpu->r[1] + 0x00000010u;
|
|
/* 02810634 */ cpu->r[9] = rbrew_read32(cpu->mem, _t202);
|
|
/* 02810638 */ cpu->ctr = cpu->r[0];
|
|
/* 0281063C */ _t203 = cpu->r[1] + 0x00000028u;
|
|
/* 0281063C */ cpu->r[11] = rbrew_read32(cpu->mem, _t203);
|
|
L_02810640: ; // 0x2810640
|
|
/* 02810640 */ _t204 = cpu->r[11] + 0x00000000u;
|
|
/* 02810640 */ cpu->r[4] = rbrew_read8(cpu->mem, _t204);
|
|
/* 02810644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[24]);
|
|
/* 02810648 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810648 */ _t206 = _t205 & 0x00000001u;
|
|
/* 02810648 */ if (_t206) goto L_0281064C; else goto L_0281065C;
|
|
L_0281064C: ; // 0x281064c
|
|
/* 0281064C */ _t207 = cpu->r[9] + 0x00000000u;
|
|
/* 0281064C */ cpu->r[0] = rbrew_read8(cpu->mem, _t207);
|
|
/* 02810650 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]);
|
|
/* 02810654 */ _t208 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810654 */ _t209 = _t208 & 0x00000001u;
|
|
/* 02810654 */ if (_t209) goto L_02810658; else goto L_028106B4;
|
|
L_02810658: ; // 0x2810658
|
|
/* 02810658 */ goto L_0281067C;
|
|
L_0281065C: ; // 0x281065c
|
|
/* 0281065C */ _t210 = cpu->r[9] + 0x00000000u;
|
|
/* 0281065C */ cpu->r[6] = rbrew_read8(cpu->mem, _t210);
|
|
/* 02810660 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[24]);
|
|
/* 02810664 */ _t211 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810664 */ _t212 = _t211 & 0x00000001u;
|
|
/* 02810664 */ if (_t212) goto L_028106B4; else goto L_02810668;
|
|
L_02810668: ; // 0x2810668
|
|
/* 02810668 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[4]);
|
|
/* 0281066C */ _t213 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281066C */ _t214 = _t213 & 0x00000001u;
|
|
/* 0281066C */ if (_t214) goto L_02810670; else goto L_028106B4;
|
|
L_02810670: ; // 0x2810670
|
|
/* 02810670 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02810674 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02810678 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02810678 */ _t215 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02810678 */ _t216 = _t215 >> (0x00000002u & 31u);
|
|
/* 02810678 */ _t217 = _t216 & 0x00000001u;
|
|
/* 02810678 */ if (_t217) goto L_02810640; else goto L_0281067C;
|
|
L_0281067C: ; // 0x281067c
|
|
/* 0281067C */ _t218 = cpu->r[28] + 0x00000004u;
|
|
/* 0281067C */ cpu->r[5] = rbrew_read32(cpu->mem, _t218);
|
|
/* 02810680 */ _t219 = cpu->r[1] + 0x00000010u;
|
|
/* 02810680 */ rbrew_write32(cpu->mem, _t219, cpu->r[29]);
|
|
/* 02810684 */ _t220 = cpu->r[1] + 0x00000014u;
|
|
/* 02810684 */ rbrew_write32(cpu->mem, _t220, cpu->r[26]);
|
|
/* 02810688 */ _t221 = cpu->r[5] + 0x00000014u;
|
|
/* 02810688 */ cpu->r[6] = rbrew_read32(cpu->mem, _t221);
|
|
/* 0281068C */ cpu->ctr = cpu->r[6];
|
|
/* 02810690 */ cpu->r[3] = cpu->r[28];
|
|
/* 02810694 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810698 */ _t222 = cpu->r[28] + 0x00000000u;
|
|
/* 02810698 */ cpu->r[4] = rbrew_read32(cpu->mem, _t222);
|
|
/* 0281069C */ _t223 = cpu->r[4] + 0x00000000u;
|
|
/* 0281069C */ cpu->r[7] = rbrew_read8(cpu->mem, _t223);
|
|
/* 028106A0 */ cpu->r[6] = 0x00080000u;
|
|
/* 028106A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 028106A8 */ cpu->r[29] = 0x00000000u;
|
|
/* 028106AC */ _t224 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028106AC */ _t225 = _t224 & 0x00000001u;
|
|
/* 028106AC */ if (_t225) goto L_028106B0; else goto L_028106F8;
|
|
L_028106B0: ; // 0x28106b0
|
|
/* 028106B0 */ goto L_0281071C;
|
|
L_028106B4: ; // 0x28106b4
|
|
/* 028106B4 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 028106B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 028106B8 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 028106BC */ _t226 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028106BC */ _t227 = _t226 & 0x00000001u;
|
|
/* 028106BC */ if (_t227) goto L_028106C0; else goto L_028105DC;
|
|
L_028106C0: ; // 0x28106c0
|
|
/* 028106C0 */ _t228 = cpu->r[28] + 0x00000004u;
|
|
/* 028106C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t228);
|
|
/* 028106C4 */ _t229 = cpu->r[1] + 0x00000010u;
|
|
/* 028106C4 */ rbrew_write32(cpu->mem, _t229, cpu->r[29]);
|
|
/* 028106C8 */ _t230 = cpu->r[1] + 0x00000014u;
|
|
/* 028106C8 */ rbrew_write32(cpu->mem, _t230, cpu->r[26]);
|
|
/* 028106CC */ _t231 = cpu->r[5] + 0x00000014u;
|
|
/* 028106CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t231);
|
|
/* 028106D0 */ cpu->ctr = cpu->r[6];
|
|
/* 028106D4 */ cpu->r[25] = 0xFFFFFFFFu;
|
|
/* 028106D8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028106DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028106E0 */ _t232 = cpu->r[28] + 0x00000000u;
|
|
/* 028106E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t232);
|
|
/* 028106E4 */ _t233 = cpu->r[4] + 0x00000000u;
|
|
/* 028106E4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t233);
|
|
/* 028106E8 */ cpu->r[6] = 0x00080000u;
|
|
/* 028106EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 028106F0 */ cpu->r[29] = 0x00000000u;
|
|
/* 028106F4 */ _t234 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028106F4 */ _t235 = _t234 & 0x00000001u;
|
|
/* 028106F4 */ if (_t235) goto L_028106B0; else goto L_028106F8;
|
|
L_028106F8: ; // 0x28106f8
|
|
/* 028106F8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 028106FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 02810700 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02810704 */ _t236 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810704 */ _t237 = _t236 & 0x00000001u;
|
|
/* 02810704 */ if (_t237) goto L_02810718; else goto L_02810708;
|
|
L_02810708: ; // 0x2810708
|
|
/* 02810708 */ _t238 = cpu->r[4] + 0x00000000u;
|
|
/* 02810708 */ cpu->r[8] = rbrew_read8(cpu->mem, _t238);
|
|
/* 0281070C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02810710 */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810710 */ _t240 = _t239 & 0x00000001u;
|
|
/* 02810710 */ if (_t240) goto L_02810714; else goto L_028106F8;
|
|
L_02810714: ; // 0x2810714
|
|
/* 02810714 */ goto L_0281071C;
|
|
L_02810718: ; // 0x2810718
|
|
/* 02810718 */ cpu->r[29] = 0x00000000u;
|
|
L_0281071C: ; // 0x281071c
|
|
/* 0281071C */ _t241 = cpu->r[1] + 0x00000014u;
|
|
/* 0281071C */ cpu->r[9] = rbrew_read32(cpu->mem, _t241);
|
|
/* 02810720 */ _t242 = cpu->r[9] + 0x00000014u;
|
|
/* 02810720 */ cpu->r[10] = rbrew_read32(cpu->mem, _t242);
|
|
/* 02810724 */ cpu->ctr = cpu->r[10];
|
|
/* 02810728 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0281072C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810730 */ _t243 = cpu->r[1] + 0x00000010u;
|
|
/* 02810730 */ cpu->r[9] = rbrew_read32(cpu->mem, _t243);
|
|
/* 02810734 */ _t244 = cpu->r[9] + 0x00000000u;
|
|
/* 02810734 */ cpu->r[11] = rbrew_read8(cpu->mem, _t244);
|
|
/* 02810738 */ cpu->r[30] = 0x00000000u;
|
|
/* 0281073C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02810740 */ cpu->r[11] = 0x00080000u;
|
|
/* 02810744 */ _t245 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810744 */ _t246 = _t245 & 0x00000001u;
|
|
/* 02810744 */ if (_t246) goto L_0281076C; else goto L_02810748;
|
|
L_02810748: ; // 0x2810748
|
|
/* 02810748 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0281074C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 02810750 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02810754 */ _t247 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810754 */ _t248 = _t247 & 0x00000001u;
|
|
/* 02810754 */ if (_t248) goto L_02810768; else goto L_02810758;
|
|
L_02810758: ; // 0x2810758
|
|
/* 02810758 */ _t249 = cpu->r[9] + 0x00000000u;
|
|
/* 02810758 */ cpu->r[12] = rbrew_read8(cpu->mem, _t249);
|
|
/* 0281075C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 02810760 */ _t250 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810760 */ _t251 = _t250 & 0x00000001u;
|
|
/* 02810760 */ if (_t251) goto L_02810764; else goto L_02810748;
|
|
L_02810764: ; // 0x2810764
|
|
/* 02810764 */ goto L_0281076C;
|
|
L_02810768: ; // 0x2810768
|
|
/* 02810768 */ cpu->r[30] = 0x00000000u;
|
|
L_0281076C: ; // 0x281076c
|
|
/* 0281076C */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 0281076C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02810770 */ cpu->r[22] = cpu->r[29] + 0x00000001u;
|
|
/* 02810774 */ _t252 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02810774 */ _t253 = _t252 & 0x00000001u;
|
|
/* 02810774 */ if (_t253) goto L_02810840; else goto L_02810778;
|
|
L_02810778: ; // 0x2810778
|
|
/* 02810778 */ cpu->r[24] = cpu->r[31];
|
|
L_0281077C: ; // 0x281077c
|
|
/* 0281077C */ _t254 = cpu->r[28] + 0x00000000u;
|
|
/* 0281077C */ cpu->r[6] = rbrew_read32(cpu->mem, _t254);
|
|
/* 02810780 */ _t255 = cpu->r[1] + 0x00000034u;
|
|
/* 02810780 */ rbrew_write32(cpu->mem, _t255, cpu->r[26]);
|
|
/* 02810784 */ cpu->r[4] = cpu->r[6] + cpu->r[29];
|
|
/* 02810788 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 0281078C */ _t256 = cpu->r[1] + 0x00000030u;
|
|
/* 0281078C */ rbrew_write32(cpu->mem, _t256, cpu->r[4]);
|
|
/* 02810790 */ Gambit_fn_028108E4(cpu);
|
|
/* 02810794 */ _t257 = cpu->r[1] + 0x00000034u;
|
|
/* 02810794 */ cpu->r[8] = rbrew_read32(cpu->mem, _t257);
|
|
/* 02810798 */ _t258 = cpu->r[8] + 0x00000014u;
|
|
/* 02810798 */ cpu->r[9] = rbrew_read32(cpu->mem, _t258);
|
|
/* 0281079C */ cpu->ctr = cpu->r[9];
|
|
/* 028107A0 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 028107A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028107A8 */ _t259 = cpu->r[1] + 0x00000014u;
|
|
/* 028107A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t259);
|
|
/* 028107AC */ _t260 = cpu->r[10] + 0x00000014u;
|
|
/* 028107AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t260);
|
|
/* 028107B0 */ cpu->ctr = cpu->r[11];
|
|
/* 028107B4 */ _t261 = cpu->r[1] + 0x00000030u;
|
|
/* 028107B4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t261);
|
|
/* 028107B8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028107BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028107C0 */ _t262 = cpu->r[1] + 0x00000010u;
|
|
/* 028107C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t262);
|
|
/* 028107C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[0]);
|
|
/* 028107C8 */ _t263 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028107C8 */ _t264 = _t263 & 0x00000001u;
|
|
/* 028107C8 */ if (_t264) goto L_0281081C; else goto L_028107CC;
|
|
L_028107CC: ; // 0x28107cc
|
|
/* 028107CC */ cpu->r[0] = cpu->r[30];
|
|
/* 028107CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028107D0 */ _t265 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028107D0 */ _t266 = _t265 & 0x00000001u;
|
|
/* 028107D0 */ if (_t266) goto L_028107D4; else goto L_0281081C;
|
|
L_028107D4: ; // 0x28107d4
|
|
/* 028107D4 */ _t267 = cpu->r[1] + 0x00000010u;
|
|
/* 028107D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t267);
|
|
/* 028107D8 */ cpu->ctr = cpu->r[0];
|
|
/* 028107DC */ _t268 = cpu->r[1] + 0x00000030u;
|
|
/* 028107DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t268);
|
|
L_028107E0: ; // 0x28107e0
|
|
/* 028107E0 */ _t269 = cpu->r[4] + 0x00000000u;
|
|
/* 028107E0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t269);
|
|
/* 028107E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[24]);
|
|
/* 028107E8 */ _t270 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028107E8 */ _t271 = _t270 & 0x00000001u;
|
|
/* 028107E8 */ if (_t271) goto L_028107EC; else goto L_028107FC;
|
|
L_028107EC: ; // 0x28107ec
|
|
/* 028107EC */ _t272 = cpu->r[11] + 0x00000000u;
|
|
/* 028107EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t272);
|
|
/* 028107F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]);
|
|
/* 028107F4 */ _t273 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028107F4 */ _t274 = _t273 & 0x00000001u;
|
|
/* 028107F4 */ if (_t274) goto L_028107F8; else goto L_02810834;
|
|
L_028107F8: ; // 0x28107f8
|
|
/* 028107F8 */ goto L_0281081C;
|
|
L_028107FC: ; // 0x28107fc
|
|
/* 028107FC */ _t275 = cpu->r[11] + 0x00000000u;
|
|
/* 028107FC */ cpu->r[10] = rbrew_read8(cpu->mem, _t275);
|
|
/* 02810800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[24]);
|
|
/* 02810804 */ _t276 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810804 */ _t277 = _t276 & 0x00000001u;
|
|
/* 02810804 */ if (_t277) goto L_02810834; else goto L_02810808;
|
|
L_02810808: ; // 0x2810808
|
|
/* 02810808 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[8]);
|
|
/* 0281080C */ _t278 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281080C */ _t279 = _t278 & 0x00000001u;
|
|
/* 0281080C */ if (_t279) goto L_02810810; else goto L_02810834;
|
|
L_02810810: ; // 0x2810810
|
|
/* 02810810 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02810814 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02810818 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02810818 */ _t280 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02810818 */ _t281 = _t280 >> (0x00000002u & 31u);
|
|
/* 02810818 */ _t282 = _t281 & 0x00000001u;
|
|
/* 02810818 */ if (_t282) goto L_028107E0; else goto L_0281081C;
|
|
L_0281081C: ; // 0x281081c
|
|
/* 0281081C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[25]);
|
|
/* 02810820 */ _t283 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810820 */ _t284 = _t283 & 0x00000001u;
|
|
/* 02810820 */ if (_t284) goto L_02810824; else goto L_02810828;
|
|
L_02810824: ; // 0x2810824
|
|
/* 02810824 */ cpu->r[25] = cpu->r[29];
|
|
L_02810828: ; // 0x2810828
|
|
/* 02810828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0281082C */ _t285 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0281082C */ _t286 = _t285 & 0x00000001u;
|
|
/* 0281082C */ if (_t286) goto L_02810830; else goto L_0281048C;
|
|
L_02810830: ; // 0x2810830
|
|
/* 02810830 */ goto L_02810858;
|
|
L_02810834: ; // 0x2810834
|
|
/* 02810834 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02810834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02810838 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0281083C */ _t287 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281083C */ _t288 = _t287 & 0x00000001u;
|
|
/* 0281083C */ if (_t288) goto L_02810840; else goto L_0281077C;
|
|
L_02810840: ; // 0x2810840
|
|
/* 02810840 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 02810844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[25]);
|
|
/* 02810848 */ _t289 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810848 */ _t290 = _t289 & 0x00000001u;
|
|
/* 02810848 */ if (_t290) goto L_0281084C; else goto L_02810850;
|
|
L_0281084C: ; // 0x281084c
|
|
/* 0281084C */ cpu->r[25] = cpu->r[29];
|
|
L_02810850: ; // 0x2810850
|
|
/* 02810850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02810854 */ _t291 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810854 */ _t292 = _t291 & 0x00000001u;
|
|
/* 02810854 */ if (_t292) goto L_02810858; else goto L_0281048C;
|
|
L_02810858: ; // 0x2810858
|
|
/* 02810858 */ _t293 = cpu->r[27] + 0x00000008u;
|
|
/* 02810858 */ cpu->r[4] = rbrew_read32(cpu->mem, _t293);
|
|
/* 0281085C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[4]);
|
|
/* 02810860 */ _t294 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02810860 */ _t295 = _t294 & 0x00000001u;
|
|
/* 02810860 */ if (_t295) goto L_028108B0; else goto L_02810864;
|
|
L_02810864: ; // 0x2810864
|
|
/* 02810864 */ _t296 = cpu->r[27] + 0x00000004u;
|
|
/* 02810864 */ cpu->r[5] = rbrew_read32(cpu->mem, _t296);
|
|
/* 02810868 */ _t297 = cpu->r[5] + 0x00000014u;
|
|
/* 02810868 */ cpu->r[6] = rbrew_read32(cpu->mem, _t297);
|
|
/* 0281086C */ cpu->ctr = cpu->r[6];
|
|
/* 02810870 */ cpu->r[3] = cpu->r[27];
|
|
/* 02810874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810878 */ _t298 = cpu->r[27] + 0x00000000u;
|
|
/* 02810878 */ cpu->r[6] = rbrew_read32(cpu->mem, _t298);
|
|
/* 0281087C */ _t299 = cpu->r[6] + 0x00000000u;
|
|
/* 0281087C */ cpu->r[0] = rbrew_read8(cpu->mem, _t299);
|
|
/* 02810880 */ cpu->r[9] = 0x00000000u;
|
|
/* 02810884 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02810888 */ cpu->r[8] = 0x00080000u;
|
|
/* 0281088C */ _t300 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281088C */ _t301 = _t300 & 0x00000001u;
|
|
/* 0281088C */ if (_t301) goto L_028108B8; else goto L_02810890;
|
|
L_02810890: ; // 0x2810890
|
|
/* 02810890 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02810894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[8]);
|
|
/* 02810898 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0281089C */ _t302 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0281089C */ _t303 = _t302 & 0x00000001u;
|
|
/* 0281089C */ if (_t303) goto L_028108B8; else goto L_028108A0;
|
|
L_028108A0: ; // 0x28108a0
|
|
/* 028108A0 */ _t304 = cpu->r[6] + 0x00000000u;
|
|
/* 028108A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t304);
|
|
/* 028108A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028108A8 */ _t305 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028108A8 */ _t306 = _t305 & 0x00000001u;
|
|
/* 028108A8 */ if (_t306) goto L_028108AC; else goto L_02810890;
|
|
L_028108AC: ; // 0x28108ac
|
|
/* 028108AC */ goto L_028108B8;
|
|
L_028108B0: ; // 0x28108b0
|
|
/* 028108B0 */ _t307 = cpu->r[27] + 0x00000000u;
|
|
/* 028108B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t307);
|
|
/* 028108B4 */ _t308 = cpu->r[8] + cpu->r[25];
|
|
/* 028108B4 */ rbrew_write8(cpu->mem, _t308, (uint8_t)cpu->r[31]);
|
|
L_028108B8: ; // 0x28108b8
|
|
/* 028108B8 */ /* nop */
|
|
/* 028108BC */ _t309 = cpu->r[1] + 0x00000064u;
|
|
/* 028108BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t309);
|
|
/* 028108C0 */ cpu->lr = cpu->r[0];
|
|
/* 028108C4 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 028108C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 028108CC */ return;
|
|
}
|
|
|
|
// fn_028100E0 @ 0x28100e0
|
|
void Gambit_fn_028100E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_028100E0: ; // 0x28100e0
|
|
/* 028100E0 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 028100E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028100E0 */ cpu->r[1] = _t0;
|
|
/* 028100E4 */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 028100E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028100E8 */ /* nop */
|
|
/* 028100EC */ cpu->r[29] = 0x10110000u;
|
|
/* 028100F0 */ cpu->r[27] = cpu->r[3];
|
|
/* 028100F4 */ cpu->r[28] = cpu->r[4];
|
|
/* 028100F8 */ cpu->r[30] = 0x10110000u;
|
|
/* 028100FC */ cpu->r[31] = 0x10110000u;
|
|
/* 02810100 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[28]);
|
|
/* 02810104 */ cpu->r[26] = 0x10110000u;
|
|
/* 02810108 */ cpu->r[30] = cpu->r[30] + 0x0000328Eu;
|
|
/* 0281010C */ cpu->r[29] = cpu->r[29] + 0x00003290u;
|
|
/* 02810110 */ cpu->r[26] = cpu->r[26] + 0x00003268u;
|
|
/* 02810114 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810114 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02810114 */ if (_t3) goto L_02810520; else goto L_02810118;
|
|
L_02810118: ; // 0x2810118
|
|
/* 02810118 */ _t4 = cpu->r[27] + 0x00000008u;
|
|
/* 02810118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0281011C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02810120 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810120 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02810120 */ if (_t6) goto L_02810174; else goto L_02810124;
|
|
L_02810124: ; // 0x2810124
|
|
/* 02810124 */ _t7 = cpu->r[27] + 0x00000004u;
|
|
/* 02810124 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02810128 */ _t8 = cpu->r[5] + 0x00000014u;
|
|
/* 02810128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0281012C */ cpu->ctr = cpu->r[0];
|
|
/* 02810130 */ cpu->r[3] = cpu->r[27];
|
|
/* 02810134 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810138 */ _t9 = cpu->r[27] + 0x00000000u;
|
|
/* 02810138 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0281013C */ _t10 = cpu->r[31] + 0x00007399u;
|
|
/* 0281013C */ cpu->r[31] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02810140 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 02810140 */ cpu->r[4] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02810144 */ cpu->r[12] = 0x00000000u;
|
|
/* 02810148 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0281014C */ cpu->r[0] = 0x00080000u;
|
|
/* 02810150 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810150 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02810150 */ if (_t13) goto L_02810180; else goto L_02810154;
|
|
L_02810154: ; // 0x2810154
|
|
/* 02810154 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02810158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 0281015C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02810160 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810160 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02810160 */ if (_t15) goto L_02810180; else goto L_02810164;
|
|
L_02810164: ; // 0x2810164
|
|
/* 02810164 */ _t16 = cpu->r[10] + 0x00000000u;
|
|
/* 02810164 */ cpu->r[4] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02810168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0281016C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281016C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0281016C */ if (_t18) goto L_02810170; else goto L_02810154;
|
|
L_02810170: ; // 0x2810170
|
|
/* 02810170 */ goto L_02810180;
|
|
L_02810174: ; // 0x2810174
|
|
/* 02810174 */ _t19 = cpu->r[27] + 0x00000000u;
|
|
/* 02810174 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02810178 */ _t20 = cpu->r[31] + 0x00007399u;
|
|
/* 02810178 */ cpu->r[31] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0281017C */ _t21 = cpu->r[10] + 0x00000000u;
|
|
/* 0281017C */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[31]);
|
|
L_02810180: ; // 0x2810180
|
|
/* 02810180 */ _t22 = cpu->r[28] + 0x00000004u;
|
|
/* 02810180 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02810184 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02810184 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02810188 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810188 */ rbrew_write32(cpu->mem, _t24, cpu->r[26]);
|
|
/* 0281018C */ _t25 = cpu->r[6] + 0x00000014u;
|
|
/* 0281018C */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02810190 */ cpu->ctr = cpu->r[8];
|
|
/* 02810194 */ cpu->r[3] = cpu->r[28];
|
|
/* 02810198 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281019C */ _t26 = cpu->r[28] + 0x00000000u;
|
|
/* 0281019C */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028101A0 */ _t27 = cpu->r[5] + 0x00000000u;
|
|
/* 028101A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
|
|
/* 028101A4 */ cpu->r[25] = 0x00000000u;
|
|
/* 028101A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028101AC */ cpu->r[0] = 0x00080000u;
|
|
/* 028101B0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028101B0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 028101B0 */ if (_t29) goto L_028101D8; else goto L_028101B4;
|
|
L_028101B4: ; // 0x28101b4
|
|
/* 028101B4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 028101B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[0]);
|
|
/* 028101BC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 028101C0 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028101C0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 028101C0 */ if (_t31) goto L_028101D4; else goto L_028101C4;
|
|
L_028101C4: ; // 0x28101c4
|
|
/* 028101C4 */ _t32 = cpu->r[5] + 0x00000000u;
|
|
/* 028101C4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t32);
|
|
/* 028101C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 028101CC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028101CC */ _t34 = _t33 & 0x00000001u;
|
|
/* 028101CC */ if (_t34) goto L_028101D0; else goto L_028101B4;
|
|
L_028101D0: ; // 0x28101d0
|
|
/* 028101D0 */ goto L_028101D8;
|
|
L_028101D4: ; // 0x28101d4
|
|
/* 028101D4 */ cpu->r[25] = 0x00000000u;
|
|
L_028101D8: ; // 0x28101d8
|
|
/* 028101D8 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028101D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 028101DC */ _t36 = cpu->r[5] + 0x00000014u;
|
|
/* 028101DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 028101E0 */ cpu->ctr = cpu->r[6];
|
|
/* 028101E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028101E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028101EC */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 028101EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028101F0 */ _t38 = cpu->r[9] + 0x00000000u;
|
|
/* 028101F0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t38);
|
|
/* 028101F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 028101F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 028101FC */ cpu->r[0] = 0x00080000u;
|
|
/* 02810200 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810200 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02810200 */ if (_t40) goto L_02810228; else goto L_02810204;
|
|
L_02810204: ; // 0x2810204
|
|
/* 02810204 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02810208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0281020C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02810210 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810210 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02810210 */ if (_t42) goto L_02810224; else goto L_02810214;
|
|
L_02810214: ; // 0x2810214
|
|
/* 02810214 */ _t43 = cpu->r[9] + 0x00000000u;
|
|
/* 02810214 */ cpu->r[8] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02810218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0281021C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281021C */ _t45 = _t44 & 0x00000001u;
|
|
/* 0281021C */ if (_t45) goto L_02810220; else goto L_02810204;
|
|
L_02810220: ; // 0x2810220
|
|
/* 02810220 */ goto L_02810228;
|
|
L_02810224: ; // 0x2810224
|
|
/* 02810224 */ cpu->r[30] = 0x00000000u;
|
|
L_02810228: ; // 0x2810228
|
|
/* 02810228 */ cpu->r[25] = cpu->r[25] - cpu->r[30];
|
|
/* 02810228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0281022C */ cpu->r[22] = cpu->r[25] + 0x00000001u;
|
|
/* 02810230 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02810230 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02810230 */ if (_t47) goto L_0281031C; else goto L_02810234;
|
|
L_02810234: ; // 0x2810234
|
|
/* 02810234 */ cpu->r[24] = cpu->r[31];
|
|
L_02810238: ; // 0x2810238
|
|
/* 02810238 */ _t48 = cpu->r[28] + 0x00000000u;
|
|
/* 02810238 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0281023C */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0281023C */ rbrew_write32(cpu->mem, _t49, cpu->r[26]);
|
|
/* 02810240 */ cpu->r[10] = cpu->r[12] + cpu->r[25];
|
|
/* 02810244 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02810248 */ _t50 = cpu->r[1] + 0x00000018u;
|
|
/* 02810248 */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
|
|
/* 0281024C */ Gambit_fn_028108E4(cpu);
|
|
/* 02810250 */ _t51 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02810250 */ cpu->r[4] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02810254 */ _t52 = cpu->r[4] + 0x00000014u;
|
|
/* 02810254 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02810258 */ cpu->ctr = cpu->r[6];
|
|
/* 0281025C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02810260 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810264 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810264 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02810268 */ _t54 = cpu->r[8] + 0x00000014u;
|
|
/* 02810268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0281026C */ cpu->ctr = cpu->r[0];
|
|
/* 02810270 */ _t55 = cpu->r[1] + 0x00000018u;
|
|
/* 02810270 */ cpu->r[23] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02810274 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02810278 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281027C */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 0281027C */ cpu->r[11] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02810280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[11]);
|
|
/* 02810284 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810284 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02810284 */ if (_t58) goto L_028102D8; else goto L_02810288;
|
|
L_02810288: ; // 0x2810288
|
|
/* 02810288 */ cpu->r[11] = cpu->r[30];
|
|
/* 02810288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0281028C */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0281028C */ _t60 = _t59 & 0x00000001u;
|
|
/* 0281028C */ if (_t60) goto L_02810290; else goto L_028102D8;
|
|
L_02810290: ; // 0x2810290
|
|
/* 02810290 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 02810290 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02810294 */ cpu->ctr = cpu->r[11];
|
|
/* 02810298 */ _t62 = cpu->r[1] + 0x00000018u;
|
|
/* 02810298 */ cpu->r[4] = rbrew_read32(cpu->mem, _t62);
|
|
L_0281029C: ; // 0x281029c
|
|
/* 0281029C */ _t63 = cpu->r[4] + 0x00000000u;
|
|
/* 0281029C */ cpu->r[12] = rbrew_read8(cpu->mem, _t63);
|
|
/* 028102A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[24]);
|
|
/* 028102A4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028102A4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 028102A4 */ if (_t65) goto L_028102A8; else goto L_028102B8;
|
|
L_028102A8: ; // 0x28102a8
|
|
/* 028102A8 */ _t66 = cpu->r[10] + 0x00000000u;
|
|
/* 028102A8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t66);
|
|
/* 028102AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[24]);
|
|
/* 028102B0 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028102B0 */ _t68 = _t67 & 0x00000001u;
|
|
/* 028102B0 */ if (_t68) goto L_028102B4; else goto L_02810310;
|
|
L_028102B4: ; // 0x28102b4
|
|
/* 028102B4 */ goto L_028102D8;
|
|
L_028102B8: ; // 0x28102b8
|
|
/* 028102B8 */ _t69 = cpu->r[10] + 0x00000000u;
|
|
/* 028102B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t69);
|
|
/* 028102BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]);
|
|
/* 028102C0 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028102C0 */ _t71 = _t70 & 0x00000001u;
|
|
/* 028102C0 */ if (_t71) goto L_02810310; else goto L_028102C4;
|
|
L_028102C4: ; // 0x28102c4
|
|
/* 028102C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 028102C8 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028102C8 */ _t73 = _t72 & 0x00000001u;
|
|
/* 028102C8 */ if (_t73) goto L_028102CC; else goto L_02810310;
|
|
L_028102CC: ; // 0x28102cc
|
|
/* 028102CC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 028102D0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 028102D4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028102D4 */ _t74 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028102D4 */ _t75 = _t74 >> (0x00000002u & 31u);
|
|
/* 028102D4 */ _t76 = _t75 & 0x00000001u;
|
|
/* 028102D4 */ if (_t76) goto L_0281029C; else goto L_028102D8;
|
|
L_028102D8: ; // 0x28102d8
|
|
/* 028102D8 */ _t77 = cpu->r[28] + 0x00000004u;
|
|
/* 028102D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t77);
|
|
/* 028102DC */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 028102DC */ rbrew_write32(cpu->mem, _t78, cpu->r[29]);
|
|
/* 028102E0 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028102E0 */ rbrew_write32(cpu->mem, _t79, cpu->r[26]);
|
|
/* 028102E4 */ _t80 = cpu->r[5] + 0x00000014u;
|
|
/* 028102E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t80);
|
|
/* 028102E8 */ cpu->ctr = cpu->r[7];
|
|
/* 028102EC */ cpu->r[3] = cpu->r[28];
|
|
/* 028102F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028102F4 */ _t81 = cpu->r[28] + 0x00000000u;
|
|
/* 028102F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t81);
|
|
/* 028102F8 */ _t82 = cpu->r[5] + 0x00000000u;
|
|
/* 028102F8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t82);
|
|
/* 028102FC */ cpu->r[7] = 0x00080000u;
|
|
/* 02810300 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02810304 */ cpu->r[29] = 0x00000000u;
|
|
/* 02810308 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810308 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02810308 */ if (_t84) goto L_0281030C; else goto L_02810354;
|
|
L_0281030C: ; // 0x281030c
|
|
/* 0281030C */ goto L_02810378;
|
|
L_02810310: ; // 0x2810310
|
|
/* 02810310 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02810310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02810314 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02810318 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810318 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02810318 */ if (_t86) goto L_0281031C; else goto L_02810238;
|
|
L_0281031C: ; // 0x281031c
|
|
/* 0281031C */ _t87 = cpu->r[28] + 0x00000004u;
|
|
/* 0281031C */ cpu->r[5] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02810320 */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 02810320 */ rbrew_write32(cpu->mem, _t88, cpu->r[29]);
|
|
/* 02810324 */ _t89 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810324 */ rbrew_write32(cpu->mem, _t89, cpu->r[26]);
|
|
/* 02810328 */ _t90 = cpu->r[5] + 0x00000014u;
|
|
/* 02810328 */ cpu->r[7] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0281032C */ cpu->ctr = cpu->r[7];
|
|
/* 02810330 */ cpu->r[25] = 0xFFFFFFFFu;
|
|
/* 02810334 */ cpu->r[3] = cpu->r[28];
|
|
/* 02810338 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281033C */ _t91 = cpu->r[28] + 0x00000000u;
|
|
/* 0281033C */ cpu->r[5] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02810340 */ _t92 = cpu->r[5] + 0x00000000u;
|
|
/* 02810340 */ cpu->r[9] = rbrew_read8(cpu->mem, _t92);
|
|
/* 02810344 */ cpu->r[7] = 0x00080000u;
|
|
/* 02810348 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0281034C */ cpu->r[29] = 0x00000000u;
|
|
/* 02810350 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810350 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02810350 */ if (_t94) goto L_0281030C; else goto L_02810354;
|
|
L_02810354: ; // 0x2810354
|
|
/* 02810354 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02810358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 0281035C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02810360 */ _t95 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810360 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02810360 */ if (_t96) goto L_02810374; else goto L_02810364;
|
|
L_02810364: ; // 0x2810364
|
|
/* 02810364 */ _t97 = cpu->r[5] + 0x00000000u;
|
|
/* 02810364 */ cpu->r[0] = rbrew_read8(cpu->mem, _t97);
|
|
/* 02810368 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0281036C */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281036C */ _t99 = _t98 & 0x00000001u;
|
|
/* 0281036C */ if (_t99) goto L_02810370; else goto L_02810354;
|
|
L_02810370: ; // 0x2810370
|
|
/* 02810370 */ goto L_02810378;
|
|
L_02810374: ; // 0x2810374
|
|
/* 02810374 */ cpu->r[29] = 0x00000000u;
|
|
L_02810378: ; // 0x2810378
|
|
/* 02810378 */ _t100 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810378 */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0281037C */ _t101 = cpu->r[12] + 0x00000014u;
|
|
/* 0281037C */ cpu->r[5] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02810380 */ cpu->ctr = cpu->r[5];
|
|
/* 02810384 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02810388 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281038C */ _t102 = cpu->r[1] + 0x00000008u;
|
|
/* 0281038C */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02810390 */ _t103 = cpu->r[11] + 0x00000000u;
|
|
/* 02810390 */ cpu->r[6] = rbrew_read8(cpu->mem, _t103);
|
|
/* 02810394 */ cpu->r[30] = 0x00000000u;
|
|
/* 02810398 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0281039C */ cpu->r[0] = 0x00080000u;
|
|
/* 028103A0 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028103A0 */ _t105 = _t104 & 0x00000001u;
|
|
/* 028103A0 */ if (_t105) goto L_028103C8; else goto L_028103A4;
|
|
L_028103A4: ; // 0x28103a4
|
|
/* 028103A4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028103A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 028103AC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 028103B0 */ _t106 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028103B0 */ _t107 = _t106 & 0x00000001u;
|
|
/* 028103B0 */ if (_t107) goto L_028103C4; else goto L_028103B4;
|
|
L_028103B4: ; // 0x28103b4
|
|
/* 028103B4 */ _t108 = cpu->r[11] + 0x00000000u;
|
|
/* 028103B4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t108);
|
|
/* 028103B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 028103BC */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028103BC */ _t110 = _t109 & 0x00000001u;
|
|
/* 028103BC */ if (_t110) goto L_028103C0; else goto L_028103A4;
|
|
L_028103C0: ; // 0x28103c0
|
|
/* 028103C0 */ goto L_028103C8;
|
|
L_028103C4: ; // 0x28103c4
|
|
/* 028103C4 */ cpu->r[30] = 0x00000000u;
|
|
L_028103C8: ; // 0x28103c8
|
|
/* 028103C8 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 028103C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028103CC */ cpu->r[23] = cpu->r[29] + 0x00000001u;
|
|
/* 028103D0 */ _t111 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028103D0 */ _t112 = _t111 & 0x00000001u;
|
|
/* 028103D0 */ if (_t112) goto L_028104B0; else goto L_028103D4;
|
|
L_028103D4: ; // 0x28103d4
|
|
/* 028103D4 */ cpu->r[24] = cpu->r[31];
|
|
L_028103D8: ; // 0x28103d8
|
|
/* 028103D8 */ _t113 = cpu->r[28] + 0x00000000u;
|
|
/* 028103D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t113);
|
|
/* 028103DC */ _t114 = cpu->r[1] + 0x00000024u;
|
|
/* 028103DC */ rbrew_write32(cpu->mem, _t114, cpu->r[26]);
|
|
/* 028103E0 */ cpu->r[8] = cpu->r[10] + cpu->r[29];
|
|
/* 028103E4 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 028103E8 */ _t115 = cpu->r[1] + 0x00000020u;
|
|
/* 028103E8 */ rbrew_write32(cpu->mem, _t115, cpu->r[8]);
|
|
/* 028103EC */ Gambit_fn_028108E4(cpu);
|
|
/* 028103F0 */ _t116 = cpu->r[1] + 0x00000024u;
|
|
/* 028103F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t116);
|
|
/* 028103F4 */ _t117 = cpu->r[12] + 0x00000014u;
|
|
/* 028103F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
|
|
/* 028103F8 */ cpu->ctr = cpu->r[0];
|
|
/* 028103FC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02810400 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810404 */ _t118 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810404 */ cpu->r[5] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02810408 */ _t119 = cpu->r[5] + 0x00000014u;
|
|
/* 02810408 */ cpu->r[7] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0281040C */ cpu->ctr = cpu->r[7];
|
|
/* 02810410 */ _t120 = cpu->r[1] + 0x00000020u;
|
|
/* 02810410 */ cpu->r[22] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02810414 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02810418 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281041C */ _t121 = cpu->r[1] + 0x00000008u;
|
|
/* 0281041C */ cpu->r[8] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02810420 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[8]);
|
|
/* 02810424 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810424 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02810424 */ if (_t123) goto L_02810478; else goto L_02810428;
|
|
L_02810428: ; // 0x2810428
|
|
/* 02810428 */ cpu->r[0] = cpu->r[30];
|
|
/* 02810428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281042C */ _t124 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0281042C */ _t125 = _t124 & 0x00000001u;
|
|
/* 0281042C */ if (_t125) goto L_02810430; else goto L_02810478;
|
|
L_02810430: ; // 0x2810430
|
|
/* 02810430 */ _t126 = cpu->r[1] + 0x00000008u;
|
|
/* 02810430 */ cpu->r[6] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02810434 */ cpu->ctr = cpu->r[0];
|
|
/* 02810438 */ _t127 = cpu->r[1] + 0x00000020u;
|
|
/* 02810438 */ cpu->r[8] = rbrew_read32(cpu->mem, _t127);
|
|
L_0281043C: ; // 0x281043c
|
|
/* 0281043C */ _t128 = cpu->r[8] + 0x00000000u;
|
|
/* 0281043C */ cpu->r[7] = rbrew_read8(cpu->mem, _t128);
|
|
/* 02810440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[24]);
|
|
/* 02810444 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810444 */ _t130 = _t129 & 0x00000001u;
|
|
/* 02810444 */ if (_t130) goto L_02810448; else goto L_02810458;
|
|
L_02810448: ; // 0x2810448
|
|
/* 02810448 */ _t131 = cpu->r[6] + 0x00000000u;
|
|
/* 02810448 */ cpu->r[10] = rbrew_read8(cpu->mem, _t131);
|
|
/* 0281044C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[24]);
|
|
/* 02810450 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810450 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02810450 */ if (_t133) goto L_02810454; else goto L_028104A4;
|
|
L_02810454: ; // 0x2810454
|
|
/* 02810454 */ goto L_02810478;
|
|
L_02810458: ; // 0x2810458
|
|
/* 02810458 */ _t134 = cpu->r[6] + 0x00000000u;
|
|
/* 02810458 */ cpu->r[9] = rbrew_read8(cpu->mem, _t134);
|
|
/* 0281045C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[24]);
|
|
/* 02810460 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810460 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02810460 */ if (_t136) goto L_028104A4; else goto L_02810464;
|
|
L_02810464: ; // 0x2810464
|
|
/* 02810464 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
|
|
/* 02810468 */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810468 */ _t138 = _t137 & 0x00000001u;
|
|
/* 02810468 */ if (_t138) goto L_0281046C; else goto L_028104A4;
|
|
L_0281046C: ; // 0x281046c
|
|
/* 0281046C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02810470 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02810474 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02810474 */ _t139 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02810474 */ _t140 = _t139 >> (0x00000002u & 31u);
|
|
/* 02810474 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02810474 */ if (_t141) goto L_0281043C; else goto L_02810478;
|
|
L_02810478: ; // 0x2810478
|
|
/* 02810478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[25]);
|
|
/* 0281047C */ _t142 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0281047C */ _t143 = _t142 & 0x00000001u;
|
|
/* 0281047C */ if (_t143) goto L_02810480; else goto L_02810484;
|
|
L_02810480: ; // 0x2810480
|
|
/* 02810480 */ cpu->r[25] = cpu->r[29];
|
|
L_02810484: ; // 0x2810484
|
|
/* 02810484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02810488 */ _t144 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810488 */ _t145 = _t144 & 0x00000001u;
|
|
/* 02810488 */ if (_t145) goto L_028104C8; else goto L_0281048C;
|
|
L_0281048C: ; // 0x281048c
|
|
/* 0281048C */ /* nop */
|
|
/* 02810490 */ _t146 = cpu->r[1] + 0x00000064u;
|
|
/* 02810490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02810494 */ cpu->lr = cpu->r[0];
|
|
/* 02810498 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 0281049C */ cpu->r[3] = 0x00000000u;
|
|
/* 028104A0 */ return;
|
|
L_028104A4: ; // 0x28104a4
|
|
/* 028104A4 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 028104A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 028104A8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 028104AC */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028104AC */ _t148 = _t147 & 0x00000001u;
|
|
/* 028104AC */ if (_t148) goto L_028104B0; else goto L_028103D8;
|
|
L_028104B0: ; // 0x28104b0
|
|
/* 028104B0 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 028104B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[25]);
|
|
/* 028104B8 */ _t149 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028104B8 */ _t150 = _t149 & 0x00000001u;
|
|
/* 028104B8 */ if (_t150) goto L_028104BC; else goto L_028104C0;
|
|
L_028104BC: ; // 0x28104bc
|
|
/* 028104BC */ cpu->r[25] = cpu->r[29];
|
|
L_028104C0: ; // 0x28104c0
|
|
/* 028104C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 028104C4 */ _t151 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028104C4 */ _t152 = _t151 & 0x00000001u;
|
|
/* 028104C4 */ if (_t152) goto L_028104C8; else goto L_0281048C;
|
|
L_028104C8: ; // 0x28104c8
|
|
/* 028104C8 */ _t153 = cpu->r[27] + 0x00000008u;
|
|
/* 028104C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t153);
|
|
/* 028104CC */ _t154 = cpu->r[28] + 0x00000004u;
|
|
/* 028104CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t154);
|
|
/* 028104D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[11]);
|
|
/* 028104D4 */ _t155 = cpu->r[27] + 0x00000000u;
|
|
/* 028104D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t155);
|
|
/* 028104D8 */ _t156 = cpu->r[12] + 0x00000014u;
|
|
/* 028104D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t156);
|
|
/* 028104DC */ _t157 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028104DC */ _t158 = _t157 & 0x00000001u;
|
|
/* 028104DC */ if (_t158) goto L_028104E4; else goto L_028104E0;
|
|
L_028104E0: ; // 0x28104e0
|
|
/* 028104E0 */ cpu->r[25] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_028104E4: ; // 0x28104e4
|
|
/* 028104E4 */ cpu->ctr = cpu->r[0];
|
|
/* 028104E8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028104EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028104F0 */ _t159 = cpu->r[28] + 0x00000000u;
|
|
/* 028104F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t159);
|
|
/* 028104F4 */ cpu->r[6] = 0x00000000u;
|
|
/* 028104F8 */ cpu->r[5] = cpu->r[25];
|
|
/* 028104FC */ cpu->r[3] = cpu->r[30];
|
|
/* 02810500 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02810504 */ _t160 = cpu->r[30] + cpu->r[25];
|
|
/* 02810504 */ rbrew_write8(cpu->mem, _t160, (uint8_t)cpu->r[31]);
|
|
/* 02810508 */ /* nop */
|
|
/* 0281050C */ _t161 = cpu->r[1] + 0x00000064u;
|
|
/* 0281050C */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02810510 */ cpu->lr = cpu->r[0];
|
|
/* 02810514 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02810518 */ cpu->r[3] = 0x00000001u;
|
|
/* 0281051C */ return;
|
|
L_02810520: ; // 0x2810520
|
|
/* 02810520 */ _t162 = cpu->r[28] + 0x00000004u;
|
|
/* 02810520 */ cpu->r[6] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02810524 */ _t163 = cpu->r[1] + 0x00000010u;
|
|
/* 02810524 */ rbrew_write32(cpu->mem, _t163, cpu->r[30]);
|
|
/* 02810528 */ _t164 = cpu->r[1] + 0x00000014u;
|
|
/* 02810528 */ rbrew_write32(cpu->mem, _t164, cpu->r[26]);
|
|
/* 0281052C */ _t165 = cpu->r[6] + 0x00000014u;
|
|
/* 0281052C */ cpu->r[8] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02810530 */ cpu->ctr = cpu->r[8];
|
|
/* 02810534 */ cpu->r[3] = cpu->r[28];
|
|
/* 02810538 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281053C */ _t166 = cpu->r[28] + 0x00000000u;
|
|
/* 0281053C */ cpu->r[7] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02810540 */ _t167 = cpu->r[31] + 0x00007399u;
|
|
/* 02810540 */ cpu->r[31] = rbrew_read8(cpu->mem, _t167);
|
|
/* 02810544 */ _t168 = cpu->r[7] + 0x00000000u;
|
|
/* 02810544 */ cpu->r[10] = rbrew_read8(cpu->mem, _t168);
|
|
/* 02810548 */ cpu->r[25] = 0x00000000u;
|
|
/* 0281054C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02810550 */ cpu->r[9] = 0x00080000u;
|
|
/* 02810554 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810554 */ _t170 = _t169 & 0x00000001u;
|
|
/* 02810554 */ if (_t170) goto L_0281057C; else goto L_02810558;
|
|
L_02810558: ; // 0x2810558
|
|
/* 02810558 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0281055C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[9]);
|
|
/* 02810560 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02810564 */ _t171 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810564 */ _t172 = _t171 & 0x00000001u;
|
|
/* 02810564 */ if (_t172) goto L_02810578; else goto L_02810568;
|
|
L_02810568: ; // 0x2810568
|
|
/* 02810568 */ _t173 = cpu->r[7] + 0x00000000u;
|
|
/* 02810568 */ cpu->r[0] = rbrew_read8(cpu->mem, _t173);
|
|
/* 0281056C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02810570 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810570 */ _t175 = _t174 & 0x00000001u;
|
|
/* 02810570 */ if (_t175) goto L_02810574; else goto L_02810558;
|
|
L_02810574: ; // 0x2810574
|
|
/* 02810574 */ goto L_0281057C;
|
|
L_02810578: ; // 0x2810578
|
|
/* 02810578 */ cpu->r[25] = 0x00000000u;
|
|
L_0281057C: ; // 0x281057c
|
|
/* 0281057C */ _t176 = cpu->r[1] + 0x00000014u;
|
|
/* 0281057C */ cpu->r[12] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02810580 */ _t177 = cpu->r[12] + 0x00000014u;
|
|
/* 02810580 */ cpu->r[5] = rbrew_read32(cpu->mem, _t177);
|
|
/* 02810584 */ cpu->ctr = cpu->r[5];
|
|
/* 02810588 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0281058C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810590 */ _t178 = cpu->r[1] + 0x00000010u;
|
|
/* 02810590 */ cpu->r[4] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02810594 */ _t179 = cpu->r[4] + 0x00000000u;
|
|
/* 02810594 */ cpu->r[7] = rbrew_read8(cpu->mem, _t179);
|
|
/* 02810598 */ cpu->r[30] = 0x00000000u;
|
|
/* 0281059C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 028105A0 */ cpu->r[5] = 0x00080000u;
|
|
/* 028105A4 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028105A4 */ _t181 = _t180 & 0x00000001u;
|
|
/* 028105A4 */ if (_t181) goto L_028105CC; else goto L_028105A8;
|
|
L_028105A8: ; // 0x28105a8
|
|
/* 028105A8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028105AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 028105B0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 028105B4 */ _t182 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028105B4 */ _t183 = _t182 & 0x00000001u;
|
|
/* 028105B4 */ if (_t183) goto L_028105C8; else goto L_028105B8;
|
|
L_028105B8: ; // 0x28105b8
|
|
/* 028105B8 */ _t184 = cpu->r[4] + 0x00000000u;
|
|
/* 028105B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t184);
|
|
/* 028105BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028105C0 */ _t185 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028105C0 */ _t186 = _t185 & 0x00000001u;
|
|
/* 028105C0 */ if (_t186) goto L_028105C4; else goto L_028105A8;
|
|
L_028105C4: ; // 0x28105c4
|
|
/* 028105C4 */ goto L_028105CC;
|
|
L_028105C8: ; // 0x28105c8
|
|
/* 028105C8 */ cpu->r[30] = 0x00000000u;
|
|
L_028105CC: ; // 0x28105cc
|
|
/* 028105CC */ cpu->r[25] = cpu->r[25] - cpu->r[30];
|
|
/* 028105CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 028105D0 */ cpu->r[22] = cpu->r[25] + 0x00000001u;
|
|
/* 028105D4 */ _t187 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028105D4 */ _t188 = _t187 & 0x00000001u;
|
|
/* 028105D4 */ if (_t188) goto L_028106C0; else goto L_028105D8;
|
|
L_028105D8: ; // 0x28105d8
|
|
/* 028105D8 */ cpu->r[24] = cpu->r[31];
|
|
L_028105DC: ; // 0x28105dc
|
|
/* 028105DC */ _t189 = cpu->r[28] + 0x00000000u;
|
|
/* 028105DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t189);
|
|
/* 028105E0 */ _t190 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028105E0 */ rbrew_write32(cpu->mem, _t190, cpu->r[26]);
|
|
/* 028105E4 */ cpu->r[0] = cpu->r[4] + cpu->r[25];
|
|
/* 028105E8 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 028105EC */ _t191 = cpu->r[1] + 0x00000028u;
|
|
/* 028105EC */ rbrew_write32(cpu->mem, _t191, cpu->r[0]);
|
|
/* 028105F0 */ Gambit_fn_028108E4(cpu);
|
|
/* 028105F4 */ _t192 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028105F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t192);
|
|
/* 028105F8 */ _t193 = cpu->r[6] + 0x00000014u;
|
|
/* 028105F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t193);
|
|
/* 028105FC */ cpu->ctr = cpu->r[8];
|
|
/* 02810600 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02810604 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810608 */ _t194 = cpu->r[1] + 0x00000014u;
|
|
/* 02810608 */ cpu->r[10] = rbrew_read32(cpu->mem, _t194);
|
|
/* 0281060C */ _t195 = cpu->r[10] + 0x00000014u;
|
|
/* 0281060C */ cpu->r[0] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02810610 */ cpu->ctr = cpu->r[0];
|
|
/* 02810614 */ _t196 = cpu->r[1] + 0x00000028u;
|
|
/* 02810614 */ cpu->r[23] = rbrew_read32(cpu->mem, _t196);
|
|
/* 02810618 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0281061C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810620 */ _t197 = cpu->r[1] + 0x00000010u;
|
|
/* 02810620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t197);
|
|
/* 02810624 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[0]);
|
|
/* 02810628 */ _t198 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810628 */ _t199 = _t198 & 0x00000001u;
|
|
/* 02810628 */ if (_t199) goto L_0281067C; else goto L_0281062C;
|
|
L_0281062C: ; // 0x281062c
|
|
/* 0281062C */ cpu->r[0] = cpu->r[30];
|
|
/* 0281062C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02810630 */ _t200 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810630 */ _t201 = _t200 & 0x00000001u;
|
|
/* 02810630 */ if (_t201) goto L_02810634; else goto L_0281067C;
|
|
L_02810634: ; // 0x2810634
|
|
/* 02810634 */ _t202 = cpu->r[1] + 0x00000010u;
|
|
/* 02810634 */ cpu->r[9] = rbrew_read32(cpu->mem, _t202);
|
|
/* 02810638 */ cpu->ctr = cpu->r[0];
|
|
/* 0281063C */ _t203 = cpu->r[1] + 0x00000028u;
|
|
/* 0281063C */ cpu->r[11] = rbrew_read32(cpu->mem, _t203);
|
|
L_02810640: ; // 0x2810640
|
|
/* 02810640 */ _t204 = cpu->r[11] + 0x00000000u;
|
|
/* 02810640 */ cpu->r[4] = rbrew_read8(cpu->mem, _t204);
|
|
/* 02810644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[24]);
|
|
/* 02810648 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810648 */ _t206 = _t205 & 0x00000001u;
|
|
/* 02810648 */ if (_t206) goto L_0281064C; else goto L_0281065C;
|
|
L_0281064C: ; // 0x281064c
|
|
/* 0281064C */ _t207 = cpu->r[9] + 0x00000000u;
|
|
/* 0281064C */ cpu->r[0] = rbrew_read8(cpu->mem, _t207);
|
|
/* 02810650 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]);
|
|
/* 02810654 */ _t208 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810654 */ _t209 = _t208 & 0x00000001u;
|
|
/* 02810654 */ if (_t209) goto L_02810658; else goto L_028106B4;
|
|
L_02810658: ; // 0x2810658
|
|
/* 02810658 */ goto L_0281067C;
|
|
L_0281065C: ; // 0x281065c
|
|
/* 0281065C */ _t210 = cpu->r[9] + 0x00000000u;
|
|
/* 0281065C */ cpu->r[6] = rbrew_read8(cpu->mem, _t210);
|
|
/* 02810660 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[24]);
|
|
/* 02810664 */ _t211 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810664 */ _t212 = _t211 & 0x00000001u;
|
|
/* 02810664 */ if (_t212) goto L_028106B4; else goto L_02810668;
|
|
L_02810668: ; // 0x2810668
|
|
/* 02810668 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[4]);
|
|
/* 0281066C */ _t213 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281066C */ _t214 = _t213 & 0x00000001u;
|
|
/* 0281066C */ if (_t214) goto L_02810670; else goto L_028106B4;
|
|
L_02810670: ; // 0x2810670
|
|
/* 02810670 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02810674 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02810678 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02810678 */ _t215 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02810678 */ _t216 = _t215 >> (0x00000002u & 31u);
|
|
/* 02810678 */ _t217 = _t216 & 0x00000001u;
|
|
/* 02810678 */ if (_t217) goto L_02810640; else goto L_0281067C;
|
|
L_0281067C: ; // 0x281067c
|
|
/* 0281067C */ _t218 = cpu->r[28] + 0x00000004u;
|
|
/* 0281067C */ cpu->r[5] = rbrew_read32(cpu->mem, _t218);
|
|
/* 02810680 */ _t219 = cpu->r[1] + 0x00000010u;
|
|
/* 02810680 */ rbrew_write32(cpu->mem, _t219, cpu->r[29]);
|
|
/* 02810684 */ _t220 = cpu->r[1] + 0x00000014u;
|
|
/* 02810684 */ rbrew_write32(cpu->mem, _t220, cpu->r[26]);
|
|
/* 02810688 */ _t221 = cpu->r[5] + 0x00000014u;
|
|
/* 02810688 */ cpu->r[6] = rbrew_read32(cpu->mem, _t221);
|
|
/* 0281068C */ cpu->ctr = cpu->r[6];
|
|
/* 02810690 */ cpu->r[3] = cpu->r[28];
|
|
/* 02810694 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810698 */ _t222 = cpu->r[28] + 0x00000000u;
|
|
/* 02810698 */ cpu->r[4] = rbrew_read32(cpu->mem, _t222);
|
|
/* 0281069C */ _t223 = cpu->r[4] + 0x00000000u;
|
|
/* 0281069C */ cpu->r[7] = rbrew_read8(cpu->mem, _t223);
|
|
/* 028106A0 */ cpu->r[6] = 0x00080000u;
|
|
/* 028106A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 028106A8 */ cpu->r[29] = 0x00000000u;
|
|
/* 028106AC */ _t224 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028106AC */ _t225 = _t224 & 0x00000001u;
|
|
/* 028106AC */ if (_t225) goto L_028106B0; else goto L_028106F8;
|
|
L_028106B0: ; // 0x28106b0
|
|
/* 028106B0 */ goto L_0281071C;
|
|
L_028106B4: ; // 0x28106b4
|
|
/* 028106B4 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 028106B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 028106B8 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 028106BC */ _t226 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028106BC */ _t227 = _t226 & 0x00000001u;
|
|
/* 028106BC */ if (_t227) goto L_028106C0; else goto L_028105DC;
|
|
L_028106C0: ; // 0x28106c0
|
|
/* 028106C0 */ _t228 = cpu->r[28] + 0x00000004u;
|
|
/* 028106C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t228);
|
|
/* 028106C4 */ _t229 = cpu->r[1] + 0x00000010u;
|
|
/* 028106C4 */ rbrew_write32(cpu->mem, _t229, cpu->r[29]);
|
|
/* 028106C8 */ _t230 = cpu->r[1] + 0x00000014u;
|
|
/* 028106C8 */ rbrew_write32(cpu->mem, _t230, cpu->r[26]);
|
|
/* 028106CC */ _t231 = cpu->r[5] + 0x00000014u;
|
|
/* 028106CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t231);
|
|
/* 028106D0 */ cpu->ctr = cpu->r[6];
|
|
/* 028106D4 */ cpu->r[25] = 0xFFFFFFFFu;
|
|
/* 028106D8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028106DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028106E0 */ _t232 = cpu->r[28] + 0x00000000u;
|
|
/* 028106E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t232);
|
|
/* 028106E4 */ _t233 = cpu->r[4] + 0x00000000u;
|
|
/* 028106E4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t233);
|
|
/* 028106E8 */ cpu->r[6] = 0x00080000u;
|
|
/* 028106EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 028106F0 */ cpu->r[29] = 0x00000000u;
|
|
/* 028106F4 */ _t234 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028106F4 */ _t235 = _t234 & 0x00000001u;
|
|
/* 028106F4 */ if (_t235) goto L_028106B0; else goto L_028106F8;
|
|
L_028106F8: ; // 0x28106f8
|
|
/* 028106F8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 028106FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 02810700 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02810704 */ _t236 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810704 */ _t237 = _t236 & 0x00000001u;
|
|
/* 02810704 */ if (_t237) goto L_02810718; else goto L_02810708;
|
|
L_02810708: ; // 0x2810708
|
|
/* 02810708 */ _t238 = cpu->r[4] + 0x00000000u;
|
|
/* 02810708 */ cpu->r[8] = rbrew_read8(cpu->mem, _t238);
|
|
/* 0281070C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02810710 */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810710 */ _t240 = _t239 & 0x00000001u;
|
|
/* 02810710 */ if (_t240) goto L_02810714; else goto L_028106F8;
|
|
L_02810714: ; // 0x2810714
|
|
/* 02810714 */ goto L_0281071C;
|
|
L_02810718: ; // 0x2810718
|
|
/* 02810718 */ cpu->r[29] = 0x00000000u;
|
|
L_0281071C: ; // 0x281071c
|
|
/* 0281071C */ _t241 = cpu->r[1] + 0x00000014u;
|
|
/* 0281071C */ cpu->r[9] = rbrew_read32(cpu->mem, _t241);
|
|
/* 02810720 */ _t242 = cpu->r[9] + 0x00000014u;
|
|
/* 02810720 */ cpu->r[10] = rbrew_read32(cpu->mem, _t242);
|
|
/* 02810724 */ cpu->ctr = cpu->r[10];
|
|
/* 02810728 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0281072C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810730 */ _t243 = cpu->r[1] + 0x00000010u;
|
|
/* 02810730 */ cpu->r[9] = rbrew_read32(cpu->mem, _t243);
|
|
/* 02810734 */ _t244 = cpu->r[9] + 0x00000000u;
|
|
/* 02810734 */ cpu->r[11] = rbrew_read8(cpu->mem, _t244);
|
|
/* 02810738 */ cpu->r[30] = 0x00000000u;
|
|
/* 0281073C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02810740 */ cpu->r[11] = 0x00080000u;
|
|
/* 02810744 */ _t245 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810744 */ _t246 = _t245 & 0x00000001u;
|
|
/* 02810744 */ if (_t246) goto L_0281076C; else goto L_02810748;
|
|
L_02810748: ; // 0x2810748
|
|
/* 02810748 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0281074C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 02810750 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02810754 */ _t247 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810754 */ _t248 = _t247 & 0x00000001u;
|
|
/* 02810754 */ if (_t248) goto L_02810768; else goto L_02810758;
|
|
L_02810758: ; // 0x2810758
|
|
/* 02810758 */ _t249 = cpu->r[9] + 0x00000000u;
|
|
/* 02810758 */ cpu->r[12] = rbrew_read8(cpu->mem, _t249);
|
|
/* 0281075C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 02810760 */ _t250 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810760 */ _t251 = _t250 & 0x00000001u;
|
|
/* 02810760 */ if (_t251) goto L_02810764; else goto L_02810748;
|
|
L_02810764: ; // 0x2810764
|
|
/* 02810764 */ goto L_0281076C;
|
|
L_02810768: ; // 0x2810768
|
|
/* 02810768 */ cpu->r[30] = 0x00000000u;
|
|
L_0281076C: ; // 0x281076c
|
|
/* 0281076C */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 0281076C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02810770 */ cpu->r[22] = cpu->r[29] + 0x00000001u;
|
|
/* 02810774 */ _t252 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02810774 */ _t253 = _t252 & 0x00000001u;
|
|
/* 02810774 */ if (_t253) goto L_02810840; else goto L_02810778;
|
|
L_02810778: ; // 0x2810778
|
|
/* 02810778 */ cpu->r[24] = cpu->r[31];
|
|
L_0281077C: ; // 0x281077c
|
|
/* 0281077C */ _t254 = cpu->r[28] + 0x00000000u;
|
|
/* 0281077C */ cpu->r[6] = rbrew_read32(cpu->mem, _t254);
|
|
/* 02810780 */ _t255 = cpu->r[1] + 0x00000034u;
|
|
/* 02810780 */ rbrew_write32(cpu->mem, _t255, cpu->r[26]);
|
|
/* 02810784 */ cpu->r[4] = cpu->r[6] + cpu->r[29];
|
|
/* 02810788 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 0281078C */ _t256 = cpu->r[1] + 0x00000030u;
|
|
/* 0281078C */ rbrew_write32(cpu->mem, _t256, cpu->r[4]);
|
|
/* 02810790 */ Gambit_fn_028108E4(cpu);
|
|
/* 02810794 */ _t257 = cpu->r[1] + 0x00000034u;
|
|
/* 02810794 */ cpu->r[8] = rbrew_read32(cpu->mem, _t257);
|
|
/* 02810798 */ _t258 = cpu->r[8] + 0x00000014u;
|
|
/* 02810798 */ cpu->r[9] = rbrew_read32(cpu->mem, _t258);
|
|
/* 0281079C */ cpu->ctr = cpu->r[9];
|
|
/* 028107A0 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 028107A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028107A8 */ _t259 = cpu->r[1] + 0x00000014u;
|
|
/* 028107A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t259);
|
|
/* 028107AC */ _t260 = cpu->r[10] + 0x00000014u;
|
|
/* 028107AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t260);
|
|
/* 028107B0 */ cpu->ctr = cpu->r[11];
|
|
/* 028107B4 */ _t261 = cpu->r[1] + 0x00000030u;
|
|
/* 028107B4 */ cpu->r[23] = rbrew_read32(cpu->mem, _t261);
|
|
/* 028107B8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028107BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028107C0 */ _t262 = cpu->r[1] + 0x00000010u;
|
|
/* 028107C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t262);
|
|
/* 028107C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[0]);
|
|
/* 028107C8 */ _t263 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028107C8 */ _t264 = _t263 & 0x00000001u;
|
|
/* 028107C8 */ if (_t264) goto L_0281081C; else goto L_028107CC;
|
|
L_028107CC: ; // 0x28107cc
|
|
/* 028107CC */ cpu->r[0] = cpu->r[30];
|
|
/* 028107CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028107D0 */ _t265 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028107D0 */ _t266 = _t265 & 0x00000001u;
|
|
/* 028107D0 */ if (_t266) goto L_028107D4; else goto L_0281081C;
|
|
L_028107D4: ; // 0x28107d4
|
|
/* 028107D4 */ _t267 = cpu->r[1] + 0x00000010u;
|
|
/* 028107D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t267);
|
|
/* 028107D8 */ cpu->ctr = cpu->r[0];
|
|
/* 028107DC */ _t268 = cpu->r[1] + 0x00000030u;
|
|
/* 028107DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t268);
|
|
L_028107E0: ; // 0x28107e0
|
|
/* 028107E0 */ _t269 = cpu->r[4] + 0x00000000u;
|
|
/* 028107E0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t269);
|
|
/* 028107E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[24]);
|
|
/* 028107E8 */ _t270 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028107E8 */ _t271 = _t270 & 0x00000001u;
|
|
/* 028107E8 */ if (_t271) goto L_028107EC; else goto L_028107FC;
|
|
L_028107EC: ; // 0x28107ec
|
|
/* 028107EC */ _t272 = cpu->r[11] + 0x00000000u;
|
|
/* 028107EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t272);
|
|
/* 028107F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[24]);
|
|
/* 028107F4 */ _t273 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028107F4 */ _t274 = _t273 & 0x00000001u;
|
|
/* 028107F4 */ if (_t274) goto L_028107F8; else goto L_02810834;
|
|
L_028107F8: ; // 0x28107f8
|
|
/* 028107F8 */ goto L_0281081C;
|
|
L_028107FC: ; // 0x28107fc
|
|
/* 028107FC */ _t275 = cpu->r[11] + 0x00000000u;
|
|
/* 028107FC */ cpu->r[10] = rbrew_read8(cpu->mem, _t275);
|
|
/* 02810800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[24]);
|
|
/* 02810804 */ _t276 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810804 */ _t277 = _t276 & 0x00000001u;
|
|
/* 02810804 */ if (_t277) goto L_02810834; else goto L_02810808;
|
|
L_02810808: ; // 0x2810808
|
|
/* 02810808 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[8]);
|
|
/* 0281080C */ _t278 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281080C */ _t279 = _t278 & 0x00000001u;
|
|
/* 0281080C */ if (_t279) goto L_02810810; else goto L_02810834;
|
|
L_02810810: ; // 0x2810810
|
|
/* 02810810 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02810814 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02810818 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02810818 */ _t280 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02810818 */ _t281 = _t280 >> (0x00000002u & 31u);
|
|
/* 02810818 */ _t282 = _t281 & 0x00000001u;
|
|
/* 02810818 */ if (_t282) goto L_028107E0; else goto L_0281081C;
|
|
L_0281081C: ; // 0x281081c
|
|
/* 0281081C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[25]);
|
|
/* 02810820 */ _t283 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810820 */ _t284 = _t283 & 0x00000001u;
|
|
/* 02810820 */ if (_t284) goto L_02810824; else goto L_02810828;
|
|
L_02810824: ; // 0x2810824
|
|
/* 02810824 */ cpu->r[25] = cpu->r[29];
|
|
L_02810828: ; // 0x2810828
|
|
/* 02810828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0281082C */ _t285 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0281082C */ _t286 = _t285 & 0x00000001u;
|
|
/* 0281082C */ if (_t286) goto L_02810830; else goto L_0281048C;
|
|
L_02810830: ; // 0x2810830
|
|
/* 02810830 */ goto L_02810858;
|
|
L_02810834: ; // 0x2810834
|
|
/* 02810834 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02810834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02810838 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0281083C */ _t287 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281083C */ _t288 = _t287 & 0x00000001u;
|
|
/* 0281083C */ if (_t288) goto L_02810840; else goto L_0281077C;
|
|
L_02810840: ; // 0x2810840
|
|
/* 02810840 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 02810844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[25]);
|
|
/* 02810848 */ _t289 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810848 */ _t290 = _t289 & 0x00000001u;
|
|
/* 02810848 */ if (_t290) goto L_0281084C; else goto L_02810850;
|
|
L_0281084C: ; // 0x281084c
|
|
/* 0281084C */ cpu->r[25] = cpu->r[29];
|
|
L_02810850: ; // 0x2810850
|
|
/* 02810850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02810854 */ _t291 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810854 */ _t292 = _t291 & 0x00000001u;
|
|
/* 02810854 */ if (_t292) goto L_02810858; else goto L_0281048C;
|
|
L_02810858: ; // 0x2810858
|
|
/* 02810858 */ _t293 = cpu->r[27] + 0x00000008u;
|
|
/* 02810858 */ cpu->r[4] = rbrew_read32(cpu->mem, _t293);
|
|
/* 0281085C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[4]);
|
|
/* 02810860 */ _t294 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02810860 */ _t295 = _t294 & 0x00000001u;
|
|
/* 02810860 */ if (_t295) goto L_028108B0; else goto L_02810864;
|
|
L_02810864: ; // 0x2810864
|
|
/* 02810864 */ _t296 = cpu->r[27] + 0x00000004u;
|
|
/* 02810864 */ cpu->r[5] = rbrew_read32(cpu->mem, _t296);
|
|
/* 02810868 */ _t297 = cpu->r[5] + 0x00000014u;
|
|
/* 02810868 */ cpu->r[6] = rbrew_read32(cpu->mem, _t297);
|
|
/* 0281086C */ cpu->ctr = cpu->r[6];
|
|
/* 02810870 */ cpu->r[3] = cpu->r[27];
|
|
/* 02810874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810878 */ _t298 = cpu->r[27] + 0x00000000u;
|
|
/* 02810878 */ cpu->r[6] = rbrew_read32(cpu->mem, _t298);
|
|
/* 0281087C */ _t299 = cpu->r[6] + 0x00000000u;
|
|
/* 0281087C */ cpu->r[0] = rbrew_read8(cpu->mem, _t299);
|
|
/* 02810880 */ cpu->r[9] = 0x00000000u;
|
|
/* 02810884 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02810888 */ cpu->r[8] = 0x00080000u;
|
|
/* 0281088C */ _t300 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281088C */ _t301 = _t300 & 0x00000001u;
|
|
/* 0281088C */ if (_t301) goto L_028108B8; else goto L_02810890;
|
|
L_02810890: ; // 0x2810890
|
|
/* 02810890 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02810894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[8]);
|
|
/* 02810898 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0281089C */ _t302 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0281089C */ _t303 = _t302 & 0x00000001u;
|
|
/* 0281089C */ if (_t303) goto L_028108B8; else goto L_028108A0;
|
|
L_028108A0: ; // 0x28108a0
|
|
/* 028108A0 */ _t304 = cpu->r[6] + 0x00000000u;
|
|
/* 028108A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t304);
|
|
/* 028108A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028108A8 */ _t305 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028108A8 */ _t306 = _t305 & 0x00000001u;
|
|
/* 028108A8 */ if (_t306) goto L_028108AC; else goto L_02810890;
|
|
L_028108AC: ; // 0x28108ac
|
|
/* 028108AC */ goto L_028108B8;
|
|
L_028108B0: ; // 0x28108b0
|
|
/* 028108B0 */ _t307 = cpu->r[27] + 0x00000000u;
|
|
/* 028108B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t307);
|
|
/* 028108B4 */ _t308 = cpu->r[8] + cpu->r[25];
|
|
/* 028108B4 */ rbrew_write8(cpu->mem, _t308, (uint8_t)cpu->r[31]);
|
|
L_028108B8: ; // 0x28108b8
|
|
/* 028108B8 */ /* nop */
|
|
/* 028108BC */ _t309 = cpu->r[1] + 0x00000064u;
|
|
/* 028108BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t309);
|
|
/* 028108C0 */ cpu->lr = cpu->r[0];
|
|
/* 028108C4 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 028108C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 028108CC */ return;
|
|
}
|
|
|
|
// fn_028108D0 @ 0x28108d0
|
|
void Gambit_fn_028108D0(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_028108D0: ; // 0x28108d0
|
|
/* 028108D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028108D4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028108D4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028108D4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028108D4 */ goto L_028108D8;
|
|
L_028108D8: ; // 0x28108d8
|
|
/* 028108D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028108D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028108DC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028108DC */ _t19 = _t18 & 0x00000001u;
|
|
/* 028108DC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028108DC */ goto L_028108E0;
|
|
L_028108E0: ; // 0x28108e0
|
|
/* 028108E0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028108E4 @ 0x28108e4
|
|
void Gambit_fn_028108E4(CPUState* cpu) {
|
|
L_028108E4: ; // 0x28108e4
|
|
/* 028108E4 */ return;
|
|
}
|
|
|
|
// fn_028108E8 @ 0x28108e8
|
|
void Gambit_fn_028108E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_028108E8: ; // 0x28108e8
|
|
/* 028108E8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 028108EC */ goto L_02812484;
|
|
L_02812484: ; // 0x2812484
|
|
/* 02812484 */ cpu->r[0] = cpu->lr;
|
|
/* 02812488 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02812488 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812488 */ cpu->r[1] = _t0;
|
|
/* 0281248C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281248C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02812490 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02812490 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02812494 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02812498 */ cpu->r[31] = cpu->r[4];
|
|
/* 0281249C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281249C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028124A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028124A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028124A0 */ if (_t5) goto L_028124CC; else goto L_028124A4;
|
|
L_028124A4: ; // 0x28124a4
|
|
/* 028124A4 */ cpu->r[0] = 0x10110000u;
|
|
/* 028124A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028124AC */ cpu->r[0] = cpu->r[0] + 0x00003598u;
|
|
/* 028124B0 */ cpu->r[4] = 0x00000000u;
|
|
/* 028124B4 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028124B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028124B8 */ Gambit_fn_0280C770(cpu);
|
|
/* 028124BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028124BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028124C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028124C0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028124C0 */ if (_t8) goto L_028124CC; else goto L_028124C4;
|
|
L_028124C4: ; // 0x28124c4
|
|
/* 028124C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028124C8 */ Gambit_fn_02801BB0(cpu);
|
|
L_028124CC: ; // 0x28124cc
|
|
/* 028124CC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 028124CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028124D0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 028124D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028124D4 */ cpu->lr = cpu->r[0];
|
|
/* 028124D8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028124D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028124DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028124E0 */ return;
|
|
}
|
|
|
|
// fn_028108F0 @ 0x28108f0
|
|
void Gambit_fn_028108F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_028108F0: ; // 0x28108f0
|
|
/* 028108F0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 028108F4 */ goto L_028124E4;
|
|
L_028124E4: ; // 0x28124e4
|
|
/* 028124E4 */ cpu->r[0] = cpu->lr;
|
|
/* 028124E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028124E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028124E8 */ cpu->r[1] = _t0;
|
|
/* 028124EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028124EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028124F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028124F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028124F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028124F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028124F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 028124FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028124FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02812500 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812500 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02812500 */ if (_t5) goto L_0281254C; else goto L_02812504;
|
|
L_02812504: ; // 0x2812504
|
|
/* 02812504 */ cpu->r[0] = 0x10110000u;
|
|
/* 02812508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0281250C */ cpu->r[0] = cpu->r[0] + 0x00003334u;
|
|
/* 02812510 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812510 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02812510 */ if (_t7) goto L_02812514; else goto L_02812524;
|
|
L_02812514: ; // 0x2812514
|
|
/* 02812514 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812514 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02812518 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02812518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281251C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281251C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0281251C */ if (_t10) goto L_0281254C; else goto L_02812520;
|
|
L_02812520: ; // 0x2812520
|
|
/* 02812520 */ goto L_02812544;
|
|
L_02812524: ; // 0x2812524
|
|
/* 02812524 */ cpu->r[11] = 0x10110000u;
|
|
/* 02812528 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281252C */ cpu->r[11] = cpu->r[11] + 0x00003598u;
|
|
/* 02812530 */ cpu->r[4] = 0x00000000u;
|
|
/* 02812534 */ _t11 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812534 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02812538 */ Gambit_fn_0280C770(cpu);
|
|
/* 0281253C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0281253C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02812540 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812540 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02812540 */ if (_t13) goto L_0281254C; else goto L_02812544;
|
|
L_02812544: ; // 0x2812544
|
|
/* 02812544 */ cpu->r[3] = cpu->r[30];
|
|
/* 02812548 */ Gambit_fn_02801BB0(cpu);
|
|
L_0281254C: ; // 0x281254c
|
|
/* 0281254C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0281254C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02812550 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02812550 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02812554 */ cpu->lr = cpu->r[0];
|
|
/* 02812558 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812558 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0281255C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02812560 */ return;
|
|
}
|
|
|
|
// fn_028108F8 @ 0x28108f8
|
|
void Gambit_fn_028108F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_028108F8: ; // 0x28108f8
|
|
/* 028108F8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 028108FC */ goto L_02812564;
|
|
L_02812564: ; // 0x2812564
|
|
/* 02812564 */ cpu->r[0] = cpu->lr;
|
|
/* 02812568 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02812568 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812568 */ cpu->r[1] = _t0;
|
|
/* 0281256C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281256C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02812570 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02812570 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02812574 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02812578 */ cpu->r[31] = cpu->r[4];
|
|
/* 0281257C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281257C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02812580 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812580 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02812580 */ if (_t5) goto L_028125CC; else goto L_02812584;
|
|
L_02812584: ; // 0x2812584
|
|
/* 02812584 */ cpu->r[0] = 0x10110000u;
|
|
/* 02812588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0281258C */ cpu->r[0] = cpu->r[0] + 0x00003698u;
|
|
/* 02812590 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812590 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02812590 */ if (_t7) goto L_02812594; else goto L_028125A4;
|
|
L_02812594: ; // 0x2812594
|
|
/* 02812594 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812594 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02812598 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02812598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281259C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281259C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0281259C */ if (_t10) goto L_028125CC; else goto L_028125A0;
|
|
L_028125A0: ; // 0x28125a0
|
|
/* 028125A0 */ goto L_028125C4;
|
|
L_028125A4: ; // 0x28125a4
|
|
/* 028125A4 */ cpu->r[11] = 0x10110000u;
|
|
/* 028125A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028125AC */ cpu->r[11] = cpu->r[11] + 0x00003598u;
|
|
/* 028125B0 */ cpu->r[4] = 0x00000000u;
|
|
/* 028125B4 */ _t11 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028125B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 028125B8 */ Gambit_fn_0280C770(cpu);
|
|
/* 028125BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028125BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028125C0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028125C0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028125C0 */ if (_t13) goto L_028125CC; else goto L_028125C4;
|
|
L_028125C4: ; // 0x28125c4
|
|
/* 028125C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028125C8 */ Gambit_fn_02801BB0(cpu);
|
|
L_028125CC: ; // 0x28125cc
|
|
/* 028125CC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 028125CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028125D0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 028125D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028125D4 */ cpu->lr = cpu->r[0];
|
|
/* 028125D8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028125D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028125DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028125E0 */ return;
|
|
}
|
|
|
|
// fn_02810900 @ 0x2810900
|
|
void Gambit_fn_02810900(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02810900: ; // 0x2810900
|
|
/* 02810900 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02810904 */ goto L_028125E4;
|
|
L_028125E4: ; // 0x28125e4
|
|
/* 028125E4 */ cpu->r[0] = cpu->lr;
|
|
/* 028125E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028125E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028125E8 */ cpu->r[1] = _t0;
|
|
/* 028125EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028125EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028125F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028125F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028125F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028125F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028125F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 028125FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028125FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02812600 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812600 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02812600 */ if (_t5) goto L_0281264C; else goto L_02812604;
|
|
L_02812604: ; // 0x2812604
|
|
/* 02812604 */ cpu->r[0] = 0x10110000u;
|
|
/* 02812608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0281260C */ cpu->r[0] = cpu->r[0] + 0x00003798u;
|
|
/* 02812610 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812610 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02812610 */ if (_t7) goto L_02812614; else goto L_02812624;
|
|
L_02812614: ; // 0x2812614
|
|
/* 02812614 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812614 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02812618 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02812618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281261C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281261C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0281261C */ if (_t10) goto L_0281264C; else goto L_02812620;
|
|
L_02812620: ; // 0x2812620
|
|
/* 02812620 */ goto L_02812644;
|
|
L_02812624: ; // 0x2812624
|
|
/* 02812624 */ cpu->r[11] = 0x10110000u;
|
|
/* 02812628 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281262C */ cpu->r[11] = cpu->r[11] + 0x00003598u;
|
|
/* 02812630 */ cpu->r[4] = 0x00000000u;
|
|
/* 02812634 */ _t11 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812634 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02812638 */ Gambit_fn_0280C770(cpu);
|
|
/* 0281263C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0281263C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02812640 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812640 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02812640 */ if (_t13) goto L_0281264C; else goto L_02812644;
|
|
L_02812644: ; // 0x2812644
|
|
/* 02812644 */ cpu->r[3] = cpu->r[30];
|
|
/* 02812648 */ Gambit_fn_02801BB0(cpu);
|
|
L_0281264C: ; // 0x281264c
|
|
/* 0281264C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0281264C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02812650 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02812650 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02812654 */ cpu->lr = cpu->r[0];
|
|
/* 02812658 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812658 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0281265C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02812660 */ return;
|
|
}
|
|
|
|
// fn_02810908 @ 0x2810908
|
|
void Gambit_fn_02810908(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02810908: ; // 0x2810908
|
|
/* 02810908 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02810908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02810908 */ cpu->r[1] = _t0;
|
|
/* 0281090C */ cpu->r[0] = cpu->lr;
|
|
/* 02810910 */ /* nop */
|
|
/* 02810914 */ cpu->r[31] = cpu->r[3];
|
|
/* 02810914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02810918 */ cpu->r[26] = cpu->r[4];
|
|
/* 0281091C */ cpu->r[28] = cpu->r[5];
|
|
/* 02810920 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02810920 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02810924 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810924 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02810924 */ if (_t3) goto L_02810928; else goto L_02810938;
|
|
L_02810928: ; // 0x2810928
|
|
/* 02810928 */ cpu->r[3] = 0x0000006Cu;
|
|
/* 0281092C */ Gambit_fn_02801A78(cpu);
|
|
/* 02810930 */ cpu->r[31] = cpu->r[3];
|
|
/* 02810930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02810934 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810934 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02810934 */ if (_t5) goto L_02810B80; else goto L_02810938;
|
|
L_02810938: ; // 0x2810938
|
|
/* 02810938 */ cpu->r[25] = cpu->r[31];
|
|
/* 02810938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0281093C */ cpu->r[27] = 0x00000000u;
|
|
/* 02810940 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810940 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02810940 */ if (_t7) goto L_02810944; else goto L_02810954;
|
|
L_02810944: ; // 0x2810944
|
|
/* 02810944 */ cpu->r[3] = 0x00000054u;
|
|
/* 02810948 */ Gambit_fn_02801A78(cpu);
|
|
/* 0281094C */ cpu->r[25] = cpu->r[3];
|
|
/* 0281094C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02810950 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810950 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02810950 */ if (_t9) goto L_02810B34; else goto L_02810954;
|
|
L_02810954: ; // 0x2810954
|
|
/* 02810954 */ cpu->r[3] = cpu->r[25];
|
|
/* 02810954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02810958 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810958 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02810958 */ if (_t11) goto L_0281095C; else goto L_0281096C;
|
|
L_0281095C: ; // 0x281095c
|
|
/* 0281095C */ cpu->r[3] = 0x00000010u;
|
|
/* 02810960 */ Gambit_fn_02801A78(cpu);
|
|
/* 02810964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02810968 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810968 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02810968 */ if (_t13) goto L_0281097C; else goto L_0281096C;
|
|
L_0281096C: ; // 0x281096c
|
|
/* 0281096C */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 0281096C */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 02810970 */ _t15 = cpu->r[3] + 0x00000008u;
|
|
/* 02810970 */ rbrew_write32(cpu->mem, _t15, cpu->r[25]);
|
|
/* 02810974 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02810974 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 02810978 */ _t17 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02810978 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
L_0281097C: ; // 0x281097c
|
|
/* 0281097C */ cpu->r[3] = cpu->r[25] + 0x00000010u;
|
|
/* 02810980 */ Gambit_fn_02821D00(cpu);
|
|
/* 02810984 */ cpu->r[7] = 0x10110000u;
|
|
/* 02810988 */ cpu->r[6] = 0x10110000u;
|
|
/* 0281098C */ cpu->r[7] = cpu->r[7] + 0x00003048u;
|
|
/* 02810990 */ cpu->r[6] = cpu->r[6] + 0x00002F60u;
|
|
/* 02810994 */ _t18 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02810994 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 02810998 */ cpu->r[29] = 0x10110000u;
|
|
/* 0281099C */ cpu->r[24] = cpu->r[25] + 0x00000020u;
|
|
/* 0281099C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 028109A0 */ _t19 = cpu->r[25] + 0x00000050u;
|
|
/* 028109A0 */ rbrew_write32(cpu->mem, _t19, cpu->r[6]);
|
|
/* 028109A4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028109A4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 028109A4 */ if (_t21) goto L_028109A8; else goto L_028109F8;
|
|
L_028109A8: ; // 0x28109a8
|
|
/* 028109A8 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 028109AC */ Gambit_fn_02801A78(cpu);
|
|
/* 028109B0 */ cpu->r[24] = cpu->r[3];
|
|
/* 028109B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 028109B4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028109B4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028109B4 */ if (_t23) goto L_028109B8; else goto L_028109F8;
|
|
L_028109B8: ; // 0x28109b8
|
|
/* 028109B8 */ _t24 = cpu->r[29] + 0x00007399u;
|
|
/* 028109B8 */ cpu->r[29] = rbrew_read8(cpu->mem, _t24);
|
|
/* 028109BC */ cpu->r[7] = 0x00000001u;
|
|
/* 028109C0 */ _t25 = cpu->r[25] + 0x0000004Cu;
|
|
/* 028109C0 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[7]);
|
|
/* 028109C4 */ _t26 = cpu->r[26] + 0x00000004u;
|
|
/* 028109C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028109C8 */ _t27 = cpu->r[8] + 0x00000014u;
|
|
/* 028109C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 028109CC */ cpu->ctr = cpu->r[9];
|
|
/* 028109D0 */ _t28 = cpu->r[25] + 0x00000020u;
|
|
/* 028109D0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028109D4 */ cpu->r[3] = cpu->r[26];
|
|
/* 028109D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028109DC */ _t29 = cpu->r[26] + 0x00000000u;
|
|
/* 028109DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 028109E0 */ _t30 = cpu->r[6] + 0x00000000u;
|
|
/* 028109E0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t30);
|
|
/* 028109E4 */ cpu->r[30] = 0x00000000u;
|
|
/* 028109E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 028109EC */ cpu->r[8] = 0x00080000u;
|
|
/* 028109F0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028109F0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 028109F0 */ if (_t32) goto L_028109F4; else goto L_02810AD4;
|
|
L_028109F4: ; // 0x28109f4
|
|
/* 028109F4 */ goto L_02810AF8;
|
|
L_028109F8: ; // 0x28109f8
|
|
/* 028109F8 */ cpu->r[30] = cpu->r[24];
|
|
/* 028109F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028109FC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028109FC */ _t34 = _t33 & 0x00000001u;
|
|
/* 028109FC */ if (_t34) goto L_02810A00; else goto L_02810A24;
|
|
L_02810A00: ; // 0x2810a00
|
|
/* 02810A00 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02810A04 */ Gambit_fn_02801A78(cpu);
|
|
/* 02810A08 */ cpu->r[30] = cpu->r[3];
|
|
/* 02810A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02810A0C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810A0C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02810A0C */ if (_t36) goto L_02810A10; else goto L_02810A24;
|
|
L_02810A10: ; // 0x2810a10
|
|
/* 02810A10 */ cpu->r[6] = 0x10110000u;
|
|
/* 02810A14 */ _t37 = cpu->r[29] + 0x00007399u;
|
|
/* 02810A14 */ cpu->r[29] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02810A18 */ cpu->r[6] = cpu->r[6] + 0x0000331Cu;
|
|
/* 02810A1C */ _t38 = cpu->r[24] + 0x00000004u;
|
|
/* 02810A1C */ rbrew_write32(cpu->mem, _t38, cpu->r[6]);
|
|
/* 02810A20 */ goto L_02810A9C;
|
|
L_02810A24: ; // 0x2810a24
|
|
/* 02810A24 */ cpu->r[3] = cpu->r[30];
|
|
/* 02810A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02810A28 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810A28 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02810A28 */ if (_t40) goto L_02810A2C; else goto L_02810A58;
|
|
L_02810A2C: ; // 0x2810a2c
|
|
/* 02810A2C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02810A30 */ Gambit_fn_02801A78(cpu);
|
|
/* 02810A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02810A38 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810A38 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02810A38 */ if (_t42) goto L_02810A3C; else goto L_02810A58;
|
|
L_02810A3C: ; // 0x2810a3c
|
|
/* 02810A3C */ _t43 = cpu->r[29] + 0x00007399u;
|
|
/* 02810A3C */ cpu->r[29] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02810A40 */ cpu->r[0] = 0x10110000u;
|
|
/* 02810A44 */ cpu->r[0] = cpu->r[0] + 0x00003304u;
|
|
/* 02810A48 */ _t44 = cpu->r[30] + 0x00000000u;
|
|
/* 02810A48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02810A4C */ _t45 = cpu->r[30] + 0x00000004u;
|
|
/* 02810A4C */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 02810A50 */ _t46 = cpu->r[12] + 0x00000000u;
|
|
/* 02810A50 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[29]);
|
|
/* 02810A54 */ goto L_02810A90;
|
|
L_02810A58: ; // 0x2810a58
|
|
/* 02810A58 */ cpu->r[8] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02810A5C */ cpu->r[10] = 0x00000020u;
|
|
/* 02810A60 */ cpu->r[0] = 0x10110000u;
|
|
/* 02810A64 */ _t47 = cpu->r[3] + 0x00000000u;
|
|
/* 02810A64 */ rbrew_write32(cpu->mem, _t47, cpu->r[8]);
|
|
/* 02810A68 */ cpu->r[0] = cpu->r[0] + 0x000032BCu;
|
|
/* 02810A6C */ _t48 = cpu->r[3] + 0x00000008u;
|
|
/* 02810A6C */ rbrew_write32(cpu->mem, _t48, cpu->r[10]);
|
|
/* 02810A70 */ _t49 = cpu->r[3] + 0x00000004u;
|
|
/* 02810A70 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02810A74 */ _t50 = cpu->r[29] + 0x00007399u;
|
|
/* 02810A74 */ cpu->r[29] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02810A78 */ cpu->r[0] = 0x10110000u;
|
|
/* 02810A7C */ _t51 = cpu->r[30] + 0x0000002Bu;
|
|
/* 02810A7C */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[29]);
|
|
/* 02810A80 */ cpu->r[0] = cpu->r[0] + 0x00003304u;
|
|
/* 02810A84 */ _t52 = cpu->r[30] + 0x00000000u;
|
|
/* 02810A84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02810A88 */ _t53 = cpu->r[30] + 0x00000004u;
|
|
/* 02810A88 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02810A8C */ _t54 = cpu->r[12] + 0x00000000u;
|
|
/* 02810A8C */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[29]);
|
|
L_02810A90: ; // 0x2810a90
|
|
/* 02810A90 */ cpu->r[6] = 0x10110000u;
|
|
/* 02810A94 */ cpu->r[6] = cpu->r[6] + 0x0000331Cu;
|
|
/* 02810A98 */ _t55 = cpu->r[24] + 0x00000004u;
|
|
/* 02810A98 */ rbrew_write32(cpu->mem, _t55, cpu->r[6]);
|
|
L_02810A9C: ; // 0x2810a9c
|
|
/* 02810A9C */ cpu->r[7] = 0x00000001u;
|
|
/* 02810AA0 */ _t56 = cpu->r[25] + 0x0000004Cu;
|
|
/* 02810AA0 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[7]);
|
|
/* 02810AA4 */ _t57 = cpu->r[26] + 0x00000004u;
|
|
/* 02810AA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02810AA8 */ _t58 = cpu->r[8] + 0x00000014u;
|
|
/* 02810AA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02810AAC */ cpu->ctr = cpu->r[9];
|
|
/* 02810AB0 */ _t59 = cpu->r[25] + 0x00000020u;
|
|
/* 02810AB0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02810AB4 */ cpu->r[3] = cpu->r[26];
|
|
/* 02810AB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810ABC */ _t60 = cpu->r[26] + 0x00000000u;
|
|
/* 02810ABC */ cpu->r[6] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02810AC0 */ _t61 = cpu->r[6] + 0x00000000u;
|
|
/* 02810AC0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t61);
|
|
/* 02810AC4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02810AC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 02810ACC */ cpu->r[8] = 0x00080000u;
|
|
/* 02810AD0 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810AD0 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02810AD0 */ if (_t63) goto L_02810AF8; else goto L_02810AD4;
|
|
L_02810AD4: ; // 0x2810ad4
|
|
/* 02810AD4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02810AD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 02810ADC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02810AE0 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810AE0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02810AE0 */ if (_t65) goto L_02810AF4; else goto L_02810AE4;
|
|
L_02810AE4: ; // 0x2810ae4
|
|
/* 02810AE4 */ _t66 = cpu->r[6] + 0x00000000u;
|
|
/* 02810AE4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t66);
|
|
/* 02810AE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
|
|
/* 02810AEC */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810AEC */ _t68 = _t67 & 0x00000001u;
|
|
/* 02810AEC */ if (_t68) goto L_02810AF0; else goto L_02810AD4;
|
|
L_02810AF0: ; // 0x2810af0
|
|
/* 02810AF0 */ goto L_02810AF8;
|
|
L_02810AF4: ; // 0x2810af4
|
|
/* 02810AF4 */ cpu->r[30] = 0x00000000u;
|
|
L_02810AF8: ; // 0x2810af8
|
|
/* 02810AF8 */ _t69 = cpu->r[25] + 0x00000028u;
|
|
/* 02810AF8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02810AFC */ _t70 = cpu->r[26] + 0x00000004u;
|
|
/* 02810AFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02810B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 02810B04 */ _t71 = cpu->r[12] + 0x00000014u;
|
|
/* 02810B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02810B08 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02810B08 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02810B08 */ if (_t73) goto L_02810B10; else goto L_02810B0C;
|
|
L_02810B0C: ; // 0x2810b0c
|
|
/* 02810B0C */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02810B10: ; // 0x2810b10
|
|
/* 02810B10 */ cpu->ctr = cpu->r[0];
|
|
/* 02810B14 */ cpu->r[3] = cpu->r[26];
|
|
/* 02810B18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810B1C */ _t74 = cpu->r[26] + 0x00000000u;
|
|
/* 02810B1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02810B20 */ cpu->r[6] = 0x00000000u;
|
|
/* 02810B24 */ cpu->r[5] = cpu->r[30];
|
|
/* 02810B28 */ cpu->r[3] = cpu->r[24];
|
|
/* 02810B2C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02810B30 */ _t75 = cpu->r[24] + cpu->r[30];
|
|
/* 02810B30 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[29]);
|
|
L_02810B34: ; // 0x2810b34
|
|
/* 02810B34 */ cpu->r[7] = 0x10110000u;
|
|
/* 02810B38 */ cpu->r[9] = 0x10110000u;
|
|
/* 02810B3C */ cpu->r[7] = cpu->r[7] + 0x000034A8u;
|
|
/* 02810B40 */ cpu->r[9] = cpu->r[9] + 0x00003598u;
|
|
/* 02810B44 */ _t76 = cpu->r[31] + 0x00000050u;
|
|
/* 02810B44 */ rbrew_write32(cpu->mem, _t76, cpu->r[7]);
|
|
/* 02810B48 */ _t77 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02810B48 */ rbrew_write32(cpu->mem, _t77, cpu->r[9]);
|
|
/* 02810B4C */ _t78 = cpu->r[28] + 0x00000004u;
|
|
/* 02810B4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02810B50 */ _t79 = cpu->r[10] + 0x00000014u;
|
|
/* 02810B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02810B54 */ cpu->ctr = cpu->r[0];
|
|
/* 02810B58 */ cpu->r[3] = cpu->r[28];
|
|
/* 02810B5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810B60 */ _t80 = cpu->r[28] + 0x00000000u;
|
|
/* 02810B60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02810B64 */ _t81 = cpu->r[31] + 0x00000064u;
|
|
/* 02810B64 */ rbrew_write32(cpu->mem, _t81, cpu->r[27]);
|
|
/* 02810B68 */ _t82 = cpu->r[31] + 0x00000054u;
|
|
/* 02810B68 */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 02810B6C */ cpu->r[0] = 0x000000DAu;
|
|
/* 02810B70 */ _t83 = cpu->r[31] + 0x00000058u;
|
|
/* 02810B70 */ rbrew_write32(cpu->mem, _t83, cpu->r[27]);
|
|
/* 02810B74 */ _t84 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02810B74 */ rbrew_write32(cpu->mem, _t84, cpu->r[0]);
|
|
/* 02810B78 */ _t85 = cpu->r[31] + 0x00000068u;
|
|
/* 02810B78 */ rbrew_write32(cpu->mem, _t85, cpu->r[27]);
|
|
/* 02810B7C */ _t86 = cpu->r[31] + 0x00000060u;
|
|
/* 02810B7C */ rbrew_write32(cpu->mem, _t86, cpu->r[27]);
|
|
L_02810B80: ; // 0x2810b80
|
|
/* 02810B80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02810B84 */ /* nop */
|
|
/* 02810B88 */ _t87 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02810B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02810B8C */ cpu->lr = cpu->r[0];
|
|
/* 02810B90 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02810B94 */ return;
|
|
}
|
|
|
|
// fn_02810B98 @ 0x2810b98
|
|
void Gambit_fn_02810B98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02810B98: ; // 0x2810b98
|
|
/* 02810B98 */ _t0 = cpu->r[3] + 0x00000068u;
|
|
/* 02810B98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02810B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02810BA0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810BA0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02810BA0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02810BA0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02810BA0 */ goto L_02810BA4;
|
|
L_02810BA4: ; // 0x2810ba4
|
|
/* 02810BA4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02810BA8 */ _t4 = cpu->r[12] + 0xFFFF988Cu;
|
|
/* 02810BA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02810BAC */ cpu->r[3] = cpu->r[12] + 0x00000024u;
|
|
/* 02810BB0 */ return;
|
|
}
|
|
|
|
// fn_02810BB4 @ 0x2810bb4
|
|
void Gambit_fn_02810BB4(CPUState* cpu) {
|
|
L_0280DE18: ; // 0x280de18
|
|
/* 0280DE18 */ cpu->r[3] = cpu->r[4] + 0x00000008u;
|
|
/* 0280DE1C */ return;
|
|
L_02810BB4: ; // 0x2810bb4
|
|
/* 02810BB4 */ goto L_0280DE18;
|
|
}
|
|
|
|
// fn_02810BB8 @ 0x2810bb8
|
|
void Gambit_fn_02810BB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02810BB8: ; // 0x2810bb8
|
|
/* 02810BB8 */ _t0 = cpu->r[1] + 0xFFFFF458u;
|
|
/* 02810BB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02810BB8 */ cpu->r[1] = _t0;
|
|
/* 02810BBC */ cpu->r[0] = cpu->lr;
|
|
/* 02810BC0 */ /* nop */
|
|
/* 02810BC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02810BC8 */ cpu->r[28] = cpu->r[4];
|
|
/* 02810BCC */ cpu->r[3] = cpu->r[1] + 0x00000114u;
|
|
/* 02810BD0 */ cpu->r[30] = cpu->r[6];
|
|
/* 02810BD4 */ _t1 = cpu->r[1] + 0x00000BACu;
|
|
/* 02810BD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02810BD8 */ cpu->r[29] = cpu->r[5];
|
|
/* 02810BDC */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02810BE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02810BE4 */ Gambit_fn_02810B98(cpu);
|
|
/* 02810BE8 */ cpu->r[27] = cpu->r[3];
|
|
/* 02810BEC */ cpu->r[4] = cpu->r[28];
|
|
/* 02810BF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02810BF4 */ Gambit_fn_02810BB4(cpu);
|
|
/* 02810BF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
|
|
/* 02810BFC */ cpu->r[28] = cpu->r[3];
|
|
/* 02810C00 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02810C00 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02810C00 */ if (_t3) goto L_02810CC0; else goto L_02810C04;
|
|
L_02810C04: ; // 0x2810c04
|
|
/* 02810C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000003u);
|
|
/* 02810C08 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02810C08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02810C08 */ if (_t5) goto L_02810CC0; else goto L_02810C0C;
|
|
L_02810C0C: ; // 0x2810c0c
|
|
/* 02810C0C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02810C10 */ cpu->r[11] = 0x10110000u;
|
|
/* 02810C14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02810C18 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02810C18 */ rbrew_write32(cpu->mem, _t6, cpu->r[5]);
|
|
/* 02810C1C */ cpu->r[11] = cpu->r[11] + 0x00003454u;
|
|
/* 02810C20 */ cpu->r[12] = 0x10110000u;
|
|
/* 02810C24 */ _t7 = cpu->r[11] + cpu->r[0];
|
|
/* 02810C24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02810C28 */ cpu->r[0] = 0x00000100u;
|
|
/* 02810C2C */ _t8 = cpu->r[12] + 0x00007399u;
|
|
/* 02810C2C */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02810C30 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02810C30 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02810C34 */ cpu->r[0] = 0x10110000u;
|
|
/* 02810C38 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02810C38 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]);
|
|
/* 02810C3C */ cpu->r[0] = cpu->r[0] + 0x000032ECu;
|
|
/* 02810C40 */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 02810C40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02810C44 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810C44 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02810C48 */ _t13 = cpu->r[1] + 0x00000113u;
|
|
/* 02810C48 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
/* 02810C4C */ _t14 = cpu->r[8] + 0x000000ECu;
|
|
/* 02810C4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02810C50 */ cpu->ctr = cpu->r[9];
|
|
/* 02810C54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02810C58 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02810C5C */ cpu->r[5] = cpu->r[29];
|
|
/* 02810C60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810C64 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810C64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02810C68 */ _t16 = cpu->r[10] + 0x00000014u;
|
|
/* 02810C68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02810C6C */ cpu->ctr = cpu->r[0];
|
|
/* 02810C70 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02810C74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810C78 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02810C78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02810C7C */ cpu->r[3] = cpu->r[27];
|
|
/* 02810C80 */ cpu->r[4] = cpu->r[1] + 0x00000114u;
|
|
/* 02810C84 */ _t18 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02810C84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02810C88 */ cpu->r[6] = cpu->r[30];
|
|
/* 02810C8C */ cpu->r[7] = cpu->r[28];
|
|
/* 02810C90 */ rbrew_dispatch(cpu, 0x02d099c0u);
|
|
/* 02810C94 */ cpu->r[12] = 0x00000000u;
|
|
/* 02810C98 */ _t19 = cpu->r[28] + 0x00000004u;
|
|
/* 02810C98 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02810C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02810CA0 */ _t20 = cpu->r[31] + 0x00000058u;
|
|
/* 02810CA0 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 02810CA4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810CA4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02810CA4 */ if (_t22) goto L_02810CA8; else goto L_02810D50;
|
|
L_02810CA8: ; // 0x2810ca8
|
|
/* 02810CA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02810CAC */ /* nop */
|
|
/* 02810CB0 */ _t23 = cpu->r[1] + 0x00000BACu;
|
|
/* 02810CB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02810CB4 */ cpu->lr = cpu->r[0];
|
|
/* 02810CB8 */ cpu->r[1] = cpu->r[1] + 0x00000BA8u;
|
|
/* 02810CBC */ return;
|
|
L_02810CC0: ; // 0x2810cc0
|
|
/* 02810CC0 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02810CC4 */ cpu->r[12] = 0x10110000u;
|
|
/* 02810CC8 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02810CC8 */ rbrew_write32(cpu->mem, _t24, cpu->r[5]);
|
|
/* 02810CCC */ cpu->r[0] = 0x00000100u;
|
|
/* 02810CD0 */ _t25 = cpu->r[12] + 0x00007399u;
|
|
/* 02810CD0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02810CD4 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02810CD4 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02810CD8 */ cpu->r[0] = 0x10110000u;
|
|
/* 02810CDC */ _t27 = cpu->r[31] + 0x00000050u;
|
|
/* 02810CDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02810CE0 */ cpu->r[0] = cpu->r[0] + 0x000032ECu;
|
|
/* 02810CE4 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02810CE4 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[12]);
|
|
/* 02810CE8 */ _t29 = cpu->r[1] + 0x00000113u;
|
|
/* 02810CE8 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[12]);
|
|
/* 02810CEC */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810CEC */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02810CF0 */ _t31 = cpu->r[8] + 0x000000ECu;
|
|
/* 02810CF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02810CF4 */ cpu->ctr = cpu->r[9];
|
|
/* 02810CF8 */ cpu->r[30] = 0x10110000u;
|
|
/* 02810CFC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02810D00 */ cpu->r[3] = cpu->r[31];
|
|
/* 02810D04 */ cpu->r[5] = cpu->r[29];
|
|
/* 02810D08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810D0C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810D0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02810D10 */ _t33 = cpu->r[10] + 0x00000014u;
|
|
/* 02810D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02810D14 */ cpu->ctr = cpu->r[0];
|
|
/* 02810D18 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02810D1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02810D20 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 02810D20 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02810D24 */ cpu->r[6] = cpu->r[30] + 0x00003454u;
|
|
/* 02810D28 */ cpu->r[7] = cpu->r[28];
|
|
/* 02810D2C */ _t35 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02810D2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02810D30 */ cpu->r[4] = cpu->r[1] + 0x00000114u;
|
|
/* 02810D34 */ cpu->r[3] = cpu->r[27];
|
|
/* 02810D38 */ rbrew_dispatch(cpu, 0x02d099c0u);
|
|
/* 02810D3C */ cpu->r[12] = 0x00000000u;
|
|
/* 02810D40 */ _t36 = cpu->r[28] + 0x00000004u;
|
|
/* 02810D40 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 02810D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02810D48 */ _t37 = cpu->r[31] + 0x00000058u;
|
|
/* 02810D48 */ rbrew_write32(cpu->mem, _t37, cpu->r[3]);
|
|
/* 02810D4C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810D4C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02810D4C */ if (_t39) goto L_02810CA8; else goto L_02810D50;
|
|
L_02810D50: ; // 0x2810d50
|
|
/* 02810D50 */ _t40 = cpu->r[28] + 0x00000000u;
|
|
/* 02810D50 */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
|
|
/* 02810D54 */ /* nop */
|
|
/* 02810D58 */ _t41 = cpu->r[1] + 0x00000BACu;
|
|
/* 02810D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02810D5C */ cpu->lr = cpu->r[0];
|
|
/* 02810D60 */ cpu->r[1] = cpu->r[1] + 0x00000BA8u;
|
|
/* 02810D64 */ cpu->r[3] = 0x00000000u;
|
|
/* 02810D68 */ return;
|
|
}
|
|
|
|
// fn_02810D6C @ 0x2810d6c
|
|
void Gambit_fn_02810D6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02810D6C: ; // 0x2810d6c
|
|
/* 02810D6C */ cpu->r[0] = cpu->lr;
|
|
/* 02810D70 */ _t0 = cpu->r[1] + 0xFFFFF568u;
|
|
/* 02810D70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02810D70 */ cpu->r[1] = _t0;
|
|
/* 02810D74 */ _t1 = cpu->r[1] + 0x00000A94u;
|
|
/* 02810D74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02810D78 */ cpu->r[31] = cpu->r[3];
|
|
/* 02810D7C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02810D80 */ _t2 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02810D80 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02810D84 */ _t3 = cpu->r[1] + 0x00000A90u;
|
|
/* 02810D84 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02810D88 */ _t4 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02810D88 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02810D8C */ cpu->r[29] = cpu->r[4];
|
|
/* 02810D90 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02810D94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02810D98 */ Gambit_fn_02810B98(cpu);
|
|
/* 02810D9C */ cpu->r[30] = cpu->r[3];
|
|
/* 02810DA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02810DA4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02810DA8 */ Gambit_fn_02810BB4(cpu);
|
|
/* 02810DAC */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02810DAC */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02810DB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02810DB4 */ _t6 = cpu->r[31] + 0x00000060u;
|
|
/* 02810DB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02810DB8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02810DBC */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02810DC0 */ _t7 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02810DC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02810DC4 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02810DC8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02810DCC */ _t8 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02810DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02810DD0 */ _t9 = cpu->r[1] + 0x00000A94u;
|
|
/* 02810DD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02810DD4 */ cpu->lr = cpu->r[0];
|
|
/* 02810DD8 */ _t10 = cpu->r[1] + 0x00000A90u;
|
|
/* 02810DD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02810DDC */ cpu->r[1] = cpu->r[1] + 0x00000A98u;
|
|
/* 02810DE0 */ return;
|
|
}
|
|
|
|
// fn_02810D70 @ 0x2810d70
|
|
void Gambit_fn_02810D70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02810D70: ; // 0x2810d70
|
|
/* 02810D70 */ _t0 = cpu->r[1] + 0xFFFFF568u;
|
|
/* 02810D70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02810D70 */ cpu->r[1] = _t0;
|
|
/* 02810D74 */ _t1 = cpu->r[1] + 0x00000A94u;
|
|
/* 02810D74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02810D78 */ cpu->r[31] = cpu->r[3];
|
|
/* 02810D7C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02810D80 */ _t2 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02810D80 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02810D84 */ _t3 = cpu->r[1] + 0x00000A90u;
|
|
/* 02810D84 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02810D88 */ _t4 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02810D88 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02810D8C */ cpu->r[29] = cpu->r[4];
|
|
/* 02810D90 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02810D94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02810D98 */ Gambit_fn_02810B98(cpu);
|
|
/* 02810D9C */ cpu->r[30] = cpu->r[3];
|
|
/* 02810DA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02810DA4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02810DA8 */ Gambit_fn_02810BB4(cpu);
|
|
/* 02810DAC */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02810DAC */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02810DB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02810DB4 */ _t6 = cpu->r[31] + 0x00000060u;
|
|
/* 02810DB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02810DB8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02810DBC */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02810DC0 */ _t7 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02810DC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02810DC4 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02810DC8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02810DCC */ _t8 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02810DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02810DD0 */ _t9 = cpu->r[1] + 0x00000A94u;
|
|
/* 02810DD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02810DD4 */ cpu->lr = cpu->r[0];
|
|
/* 02810DD8 */ _t10 = cpu->r[1] + 0x00000A90u;
|
|
/* 02810DD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02810DDC */ cpu->r[1] = cpu->r[1] + 0x00000A98u;
|
|
/* 02810DE0 */ return;
|
|
}
|
|
|
|
// fn_02810DE4 @ 0x2810de4
|
|
void Gambit_fn_02810DE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02810DE4: ; // 0x2810de4
|
|
/* 02810DE4 */ _t0 = cpu->r[1] + 0xFFFFF560u;
|
|
/* 02810DE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02810DE4 */ cpu->r[1] = _t0;
|
|
/* 02810DE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02810DEC */ /* nop */
|
|
/* 02810DF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02810DF4 */ cpu->r[26] = cpu->r[4];
|
|
/* 02810DF8 */ cpu->r[30] = cpu->r[5];
|
|
/* 02810DFC */ cpu->r[27] = cpu->r[6];
|
|
/* 02810E00 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02810E04 */ _t1 = cpu->r[1] + 0x00000AA4u;
|
|
/* 02810E04 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02810E08 */ cpu->r[29] = cpu->r[7];
|
|
/* 02810E0C */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02810E10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02810E14 */ Gambit_fn_02810B98(cpu);
|
|
/* 02810E18 */ cpu->r[28] = cpu->r[3];
|
|
/* 02810E1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02810E20 */ cpu->r[4] = cpu->r[30];
|
|
/* 02810E24 */ Gambit_fn_02810BB4(cpu);
|
|
/* 02810E28 */ cpu->r[30] = cpu->r[3];
|
|
/* 02810E2C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02810E30 */ cpu->r[5] = cpu->r[27];
|
|
/* 02810E34 */ cpu->r[3] = cpu->r[28];
|
|
/* 02810E38 */ cpu->r[6] = 0x00000001u;
|
|
/* 02810E3C */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02810E3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02810E40 */ cpu->r[7] = cpu->r[29];
|
|
/* 02810E44 */ _t3 = cpu->r[31] + 0x00000064u;
|
|
/* 02810E44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02810E48 */ cpu->r[9] = 0x00000000u;
|
|
/* 02810E4C */ rbrew_dispatch(cpu, 0x02d09a00u);
|
|
/* 02810E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02810E54 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02810E54 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02810E54 */ if (_t5) goto L_02810E90; else goto L_02810E58;
|
|
L_02810E58: ; // 0x2810e58
|
|
/* 02810E58 */ cpu->r[0] = 0x00000000u;
|
|
/* 02810E5C */ _t6 = cpu->r[31] + 0x00000058u;
|
|
/* 02810E5C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02810E60 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02810E60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02810E64 */ cpu->r[12] = cpu->r[12] + cpu->r[3];
|
|
/* 02810E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02810E6C */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 02810E6C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02810E70 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810E70 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02810E70 */ if (_t10) goto L_02810E78; else goto L_02810E74;
|
|
L_02810E74: ; // 0x2810e74
|
|
/* 02810E74 */ _t11 = cpu->r[26] + 0x00000000u;
|
|
/* 02810E74 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
L_02810E78: ; // 0x2810e78
|
|
/* 02810E78 */ /* nop */
|
|
/* 02810E7C */ _t12 = cpu->r[1] + 0x00000AA4u;
|
|
/* 02810E7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02810E80 */ cpu->lr = cpu->r[0];
|
|
/* 02810E84 */ cpu->r[1] = cpu->r[1] + 0x00000AA0u;
|
|
/* 02810E88 */ cpu->r[3] = 0x00000001u;
|
|
/* 02810E8C */ return;
|
|
L_02810E90: ; // 0x2810e90
|
|
/* 02810E90 */ _t13 = cpu->r[31] + 0x00000058u;
|
|
/* 02810E90 */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 02810E94 */ /* nop */
|
|
/* 02810E98 */ _t14 = cpu->r[1] + 0x00000AA4u;
|
|
/* 02810E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02810E9C */ cpu->lr = cpu->r[0];
|
|
/* 02810EA0 */ cpu->r[1] = cpu->r[1] + 0x00000AA0u;
|
|
/* 02810EA4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02810EA8 */ return;
|
|
}
|
|
|
|
// fn_02810EAC @ 0x2810eac
|
|
void Gambit_fn_02810EAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02810EAC: ; // 0x2810eac
|
|
/* 02810EAC */ _t0 = cpu->r[1] + 0xFFFFF560u;
|
|
/* 02810EAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02810EAC */ cpu->r[1] = _t0;
|
|
/* 02810EB0 */ cpu->r[0] = cpu->lr;
|
|
/* 02810EB4 */ /* nop */
|
|
/* 02810EB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02810EBC */ cpu->r[26] = cpu->r[4];
|
|
/* 02810EC0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02810EC4 */ cpu->r[27] = cpu->r[6];
|
|
/* 02810EC8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02810ECC */ _t1 = cpu->r[1] + 0x00000AA4u;
|
|
/* 02810ECC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02810ED0 */ cpu->r[29] = cpu->r[7];
|
|
/* 02810ED4 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02810ED8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02810EDC */ Gambit_fn_02810B98(cpu);
|
|
/* 02810EE0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02810EE4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02810EE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02810EEC */ Gambit_fn_02810BB4(cpu);
|
|
/* 02810EF0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02810EF4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02810EF8 */ cpu->r[5] = cpu->r[27];
|
|
/* 02810EFC */ cpu->r[7] = cpu->r[29];
|
|
/* 02810F00 */ cpu->r[3] = cpu->r[28];
|
|
/* 02810F04 */ cpu->r[6] = 0x00000001u;
|
|
/* 02810F08 */ cpu->r[9] = 0x00000000u;
|
|
/* 02810F0C */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02810F0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02810F10 */ cpu->r[10] = 0x00000300u;
|
|
/* 02810F14 */ rbrew_dispatch(cpu, 0x02d09ae0u);
|
|
/* 02810F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02810F1C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02810F1C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02810F1C */ if (_t4) goto L_02810F58; else goto L_02810F20;
|
|
L_02810F20: ; // 0x2810f20
|
|
/* 02810F20 */ cpu->r[0] = 0x00000000u;
|
|
/* 02810F24 */ _t5 = cpu->r[31] + 0x00000058u;
|
|
/* 02810F24 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02810F28 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02810F28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02810F2C */ cpu->r[12] = cpu->r[12] + cpu->r[3];
|
|
/* 02810F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02810F34 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02810F34 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02810F38 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810F38 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02810F38 */ if (_t9) goto L_02810F40; else goto L_02810F3C;
|
|
L_02810F3C: ; // 0x2810f3c
|
|
/* 02810F3C */ _t10 = cpu->r[26] + 0x00000000u;
|
|
/* 02810F3C */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
L_02810F40: ; // 0x2810f40
|
|
/* 02810F40 */ /* nop */
|
|
/* 02810F44 */ _t11 = cpu->r[1] + 0x00000AA4u;
|
|
/* 02810F44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02810F48 */ cpu->lr = cpu->r[0];
|
|
/* 02810F4C */ cpu->r[1] = cpu->r[1] + 0x00000AA0u;
|
|
/* 02810F50 */ cpu->r[3] = 0x00000001u;
|
|
/* 02810F54 */ return;
|
|
L_02810F58: ; // 0x2810f58
|
|
/* 02810F58 */ _t12 = cpu->r[31] + 0x00000058u;
|
|
/* 02810F58 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 02810F5C */ /* nop */
|
|
/* 02810F60 */ _t13 = cpu->r[1] + 0x00000AA4u;
|
|
/* 02810F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02810F64 */ cpu->lr = cpu->r[0];
|
|
/* 02810F68 */ cpu->r[1] = cpu->r[1] + 0x00000AA0u;
|
|
/* 02810F6C */ cpu->r[3] = 0x00000000u;
|
|
/* 02810F70 */ return;
|
|
}
|
|
|
|
// fn_02810F74 @ 0x2810f74
|
|
void Gambit_fn_02810F74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02810F74: ; // 0x2810f74
|
|
/* 02810F74 */ _t0 = cpu->r[1] + 0xFFFFF558u;
|
|
/* 02810F74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02810F74 */ cpu->r[1] = _t0;
|
|
/* 02810F78 */ cpu->r[0] = cpu->lr;
|
|
/* 02810F7C */ /* nop */
|
|
/* 02810F80 */ cpu->r[26] = cpu->r[3];
|
|
/* 02810F84 */ cpu->r[27] = cpu->r[4];
|
|
/* 02810F88 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810F8C */ cpu->r[31] = cpu->r[6];
|
|
/* 02810F90 */ _t1 = cpu->r[1] + 0x00000AACu;
|
|
/* 02810F90 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02810F94 */ cpu->r[29] = cpu->r[5];
|
|
/* 02810F98 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02810F9C */ cpu->r[3] = cpu->r[26];
|
|
/* 02810FA0 */ Gambit_fn_02810B98(cpu);
|
|
/* 02810FA4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02810FA8 */ cpu->r[4] = cpu->r[27];
|
|
/* 02810FAC */ cpu->r[3] = cpu->r[26];
|
|
/* 02810FB0 */ Gambit_fn_02810BB4(cpu);
|
|
/* 02810FB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u);
|
|
/* 02810FB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02810FBC */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02810FBC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02810FBC */ if (_t3) goto L_02811038; else goto L_02810FC0;
|
|
L_02810FC0: ; // 0x2810fc0
|
|
/* 02810FC0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810FC0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02810FC0 */ if (_t5) goto L_02810FD4; else goto L_02810FC4;
|
|
L_02810FC4: ; // 0x2810fc4
|
|
/* 02810FC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000002u);
|
|
/* 02810FC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810FC8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02810FC8 */ if (_t7) goto L_02811004; else goto L_02810FCC;
|
|
L_02810FCC: ; // 0x2810fcc
|
|
/* 02810FCC */ cpu->r[3] = 0x00000000u;
|
|
/* 02810FD0 */ goto L_0281107C;
|
|
L_02810FD4: ; // 0x2810fd4
|
|
/* 02810FD4 */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 02810FD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02810FD8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02810FDC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02810FE0 */ cpu->r[29] = cpu->r[29] + cpu->r[10];
|
|
/* 02810FE4 */ cpu->r[7] = 0x00000000u;
|
|
/* 02810FE8 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02810FE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02810FEC */ cpu->r[6] = cpu->r[29];
|
|
/* 02810FF0 */ rbrew_dispatch(cpu, 0x02d09a90u);
|
|
/* 02810FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02810FF8 */ _t10 = cpu->r[26] + 0x00000058u;
|
|
/* 02810FF8 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02810FFC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02810FFC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02810FFC */ if (_t12) goto L_02811000; else goto L_02811078;
|
|
L_02811000: ; // 0x2811000
|
|
/* 02811000 */ goto L_0281105C;
|
|
L_02811004: ; // 0x2811004
|
|
/* 02811004 */ _t13 = cpu->r[26] + 0x00000050u;
|
|
/* 02811004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02811008 */ cpu->r[0] = 0x00000000u;
|
|
/* 0281100C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0281100C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02811010 */ _t15 = cpu->r[12] + 0x0000009Cu;
|
|
/* 02811010 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02811014 */ cpu->ctr = cpu->r[0];
|
|
/* 02811018 */ cpu->r[3] = cpu->r[26];
|
|
/* 0281101C */ cpu->r[5] = cpu->r[27];
|
|
/* 02811020 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02811024 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281102C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281102C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0281102C */ if (_t17) goto L_02811078; else goto L_02811030;
|
|
L_02811030: ; // 0x2811030
|
|
/* 02811030 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02811030 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02811034 */ cpu->r[29] = cpu->r[29] + cpu->r[9];
|
|
L_02811038: ; // 0x2811038
|
|
/* 02811038 */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02811038 */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0281103C */ cpu->r[7] = 0x00000000u;
|
|
/* 02811040 */ cpu->r[6] = cpu->r[29];
|
|
/* 02811044 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811048 */ cpu->r[3] = cpu->r[28];
|
|
/* 0281104C */ rbrew_dispatch(cpu, 0x02d09a90u);
|
|
/* 02811050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02811054 */ _t20 = cpu->r[26] + 0x00000058u;
|
|
/* 02811054 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 02811058 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811058 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02811058 */ if (_t22) goto L_0281105C; else goto L_02811078;
|
|
L_0281105C: ; // 0x281105c
|
|
/* 0281105C */ _t23 = cpu->r[30] + 0x00000004u;
|
|
/* 0281105C */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 02811060 */ /* nop */
|
|
/* 02811064 */ _t24 = cpu->r[1] + 0x00000AACu;
|
|
/* 02811064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02811068 */ cpu->lr = cpu->r[0];
|
|
/* 0281106C */ cpu->r[1] = cpu->r[1] + 0x00000AA8u;
|
|
/* 02811070 */ cpu->r[3] = 0x00000001u;
|
|
/* 02811074 */ return;
|
|
L_02811078: ; // 0x2811078
|
|
/* 02811078 */ cpu->r[3] = 0x00000000u;
|
|
L_0281107C: ; // 0x281107c
|
|
/* 0281107C */ /* nop */
|
|
/* 02811080 */ _t25 = cpu->r[1] + 0x00000AACu;
|
|
/* 02811080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02811084 */ cpu->lr = cpu->r[0];
|
|
/* 02811088 */ cpu->r[1] = cpu->r[1] + 0x00000AA8u;
|
|
/* 0281108C */ return;
|
|
}
|
|
|
|
// fn_02811090 @ 0x2811090
|
|
void Gambit_fn_02811090(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02811090: ; // 0x2811090
|
|
/* 02811090 */ cpu->r[0] = cpu->lr;
|
|
/* 02811094 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02811094 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02811094 */ cpu->r[1] = _t0;
|
|
/* 02811098 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811098 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0281109C */ cpu->r[31] = cpu->r[4];
|
|
/* 028110A0 */ cpu->r[4] = cpu->r[5];
|
|
/* 028110A4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028110A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028110A8 */ Gambit_fn_02810BB4(cpu);
|
|
/* 028110AC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 028110AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028110B0 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 028110B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028110B4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 028110B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028110B8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028110B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028110BC */ cpu->lr = cpu->r[0];
|
|
/* 028110C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028110C4 */ cpu->r[3] = 0x00000001u;
|
|
/* 028110C8 */ return;
|
|
}
|
|
|
|
// fn_02811094 @ 0x2811094
|
|
void Gambit_fn_02811094(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02811094: ; // 0x2811094
|
|
/* 02811094 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02811094 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02811094 */ cpu->r[1] = _t0;
|
|
/* 02811098 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811098 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0281109C */ cpu->r[31] = cpu->r[4];
|
|
/* 028110A0 */ cpu->r[4] = cpu->r[5];
|
|
/* 028110A4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028110A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028110A8 */ Gambit_fn_02810BB4(cpu);
|
|
/* 028110AC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 028110AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028110B0 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 028110B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028110B4 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 028110B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028110B8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028110B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028110BC */ cpu->lr = cpu->r[0];
|
|
/* 028110C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028110C4 */ cpu->r[3] = 0x00000001u;
|
|
/* 028110C8 */ return;
|
|
}
|
|
|
|
// fn_028110CC @ 0x28110cc
|
|
void Gambit_fn_028110CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028110CC: ; // 0x28110cc
|
|
/* 028110CC */ cpu->r[0] = cpu->lr;
|
|
/* 028110D0 */ _t0 = cpu->r[1] + 0xFFFFF3F8u;
|
|
/* 028110D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028110D0 */ cpu->r[1] = _t0;
|
|
/* 028110D4 */ _t1 = cpu->r[1] + 0x00000C04u;
|
|
/* 028110D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028110D8 */ _t2 = cpu->r[1] + 0x00000BF8u;
|
|
/* 028110D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028110DC */ cpu->r[31] = cpu->r[5];
|
|
/* 028110E0 */ _t3 = cpu->r[1] + 0x00000C00u;
|
|
/* 028110E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 028110E4 */ _t4 = cpu->r[1] + 0x00000BFCu;
|
|
/* 028110E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 028110E8 */ _t5 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 028110E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028110EC */ cpu->r[29] = cpu->r[3];
|
|
/* 028110F0 */ cpu->r[3] = cpu->r[1] + 0x00000178u;
|
|
/* 028110F4 */ cpu->r[30] = cpu->r[4];
|
|
/* 028110F8 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 028110FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02811100 */ Gambit_fn_02810B98(cpu);
|
|
/* 02811104 */ cpu->r[10] = cpu->r[1] + 0x00000014u;
|
|
/* 02811108 */ _t6 = cpu->r[29] + 0x00000050u;
|
|
/* 02811108 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0281110C */ cpu->r[11] = 0x00000100u;
|
|
/* 02811110 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02811110 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02811114 */ cpu->r[12] = 0x10110000u;
|
|
/* 02811118 */ cpu->r[7] = 0x10110000u;
|
|
/* 0281111C */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0281111C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02811120 */ cpu->r[7] = cpu->r[7] + 0x000032ECu;
|
|
/* 02811124 */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 02811124 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02811128 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811128 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 0281112C */ _t11 = cpu->r[1] + 0x00000113u;
|
|
/* 0281112C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02811130 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02811130 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 02811134 */ _t13 = cpu->r[8] + 0x000000ECu;
|
|
/* 02811134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02811138 */ cpu->r[28] = cpu->r[3];
|
|
/* 0281113C */ cpu->ctr = cpu->r[0];
|
|
/* 02811140 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02811144 */ cpu->r[3] = cpu->r[29];
|
|
/* 02811148 */ cpu->r[5] = cpu->r[31];
|
|
/* 0281114C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811150 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811150 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02811154 */ _t15 = cpu->r[10] + 0x00000014u;
|
|
/* 02811154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02811158 */ cpu->ctr = cpu->r[0];
|
|
/* 0281115C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811160 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811164 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02811164 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02811168 */ cpu->r[6] = cpu->r[1] + 0x00000114u;
|
|
/* 0281116C */ _t17 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0281116C */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02811170 */ cpu->r[3] = cpu->r[28];
|
|
/* 02811174 */ cpu->r[4] = cpu->r[1] + 0x00000178u;
|
|
/* 02811178 */ rbrew_dispatch(cpu, 0x02d09908u);
|
|
/* 0281117C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02811180 */ _t18 = cpu->r[29] + 0x00000058u;
|
|
/* 02811180 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 02811184 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811184 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02811184 */ if (_t20) goto L_028111AC; else goto L_02811188;
|
|
L_02811188: ; // 0x2811188
|
|
/* 02811188 */ _t21 = cpu->r[1] + 0x00000BF8u;
|
|
/* 02811188 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0281118C */ _t22 = cpu->r[1] + 0x00000BFCu;
|
|
/* 0281118C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02811190 */ _t23 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 02811190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02811194 */ _t24 = cpu->r[1] + 0x00000C00u;
|
|
/* 02811194 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02811198 */ cpu->lr = cpu->r[0];
|
|
/* 0281119C */ _t25 = cpu->r[1] + 0x00000C04u;
|
|
/* 0281119C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 028111A0 */ cpu->r[1] = cpu->r[1] + 0x00000C08u;
|
|
/* 028111A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 028111A8 */ return;
|
|
L_028111AC: ; // 0x28111ac
|
|
/* 028111AC */ _t26 = cpu->r[1] + 0x00000124u;
|
|
/* 028111AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028111B0 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 028111B0 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 028111B4 */ _t28 = cpu->r[1] + 0x00000BF8u;
|
|
/* 028111B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028111B8 */ _t29 = cpu->r[1] + 0x00000BFCu;
|
|
/* 028111B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 028111BC */ _t30 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 028111BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028111C0 */ _t31 = cpu->r[1] + 0x00000C00u;
|
|
/* 028111C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028111C4 */ cpu->lr = cpu->r[0];
|
|
/* 028111C8 */ _t32 = cpu->r[1] + 0x00000C04u;
|
|
/* 028111C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028111CC */ cpu->r[1] = cpu->r[1] + 0x00000C08u;
|
|
/* 028111D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 028111D4 */ return;
|
|
}
|
|
|
|
// fn_028110D0 @ 0x28110d0
|
|
void Gambit_fn_028110D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028110D0: ; // 0x28110d0
|
|
/* 028110D0 */ _t0 = cpu->r[1] + 0xFFFFF3F8u;
|
|
/* 028110D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028110D0 */ cpu->r[1] = _t0;
|
|
/* 028110D4 */ _t1 = cpu->r[1] + 0x00000C04u;
|
|
/* 028110D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028110D8 */ _t2 = cpu->r[1] + 0x00000BF8u;
|
|
/* 028110D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028110DC */ cpu->r[31] = cpu->r[5];
|
|
/* 028110E0 */ _t3 = cpu->r[1] + 0x00000C00u;
|
|
/* 028110E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 028110E4 */ _t4 = cpu->r[1] + 0x00000BFCu;
|
|
/* 028110E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 028110E8 */ _t5 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 028110E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028110EC */ cpu->r[29] = cpu->r[3];
|
|
/* 028110F0 */ cpu->r[3] = cpu->r[1] + 0x00000178u;
|
|
/* 028110F4 */ cpu->r[30] = cpu->r[4];
|
|
/* 028110F8 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 028110FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02811100 */ Gambit_fn_02810B98(cpu);
|
|
/* 02811104 */ cpu->r[10] = cpu->r[1] + 0x00000014u;
|
|
/* 02811108 */ _t6 = cpu->r[29] + 0x00000050u;
|
|
/* 02811108 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0281110C */ cpu->r[11] = 0x00000100u;
|
|
/* 02811110 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02811110 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02811114 */ cpu->r[12] = 0x10110000u;
|
|
/* 02811118 */ cpu->r[7] = 0x10110000u;
|
|
/* 0281111C */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0281111C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02811120 */ cpu->r[7] = cpu->r[7] + 0x000032ECu;
|
|
/* 02811124 */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 02811124 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02811128 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811128 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 0281112C */ _t11 = cpu->r[1] + 0x00000113u;
|
|
/* 0281112C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02811130 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02811130 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 02811134 */ _t13 = cpu->r[8] + 0x000000ECu;
|
|
/* 02811134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02811138 */ cpu->r[28] = cpu->r[3];
|
|
/* 0281113C */ cpu->ctr = cpu->r[0];
|
|
/* 02811140 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02811144 */ cpu->r[3] = cpu->r[29];
|
|
/* 02811148 */ cpu->r[5] = cpu->r[31];
|
|
/* 0281114C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811150 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811150 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02811154 */ _t15 = cpu->r[10] + 0x00000014u;
|
|
/* 02811154 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02811158 */ cpu->ctr = cpu->r[0];
|
|
/* 0281115C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811160 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811164 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02811164 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02811168 */ cpu->r[6] = cpu->r[1] + 0x00000114u;
|
|
/* 0281116C */ _t17 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0281116C */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02811170 */ cpu->r[3] = cpu->r[28];
|
|
/* 02811174 */ cpu->r[4] = cpu->r[1] + 0x00000178u;
|
|
/* 02811178 */ rbrew_dispatch(cpu, 0x02d09908u);
|
|
/* 0281117C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02811180 */ _t18 = cpu->r[29] + 0x00000058u;
|
|
/* 02811180 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 02811184 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811184 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02811184 */ if (_t20) goto L_028111AC; else goto L_02811188;
|
|
L_02811188: ; // 0x2811188
|
|
/* 02811188 */ _t21 = cpu->r[1] + 0x00000BF8u;
|
|
/* 02811188 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0281118C */ _t22 = cpu->r[1] + 0x00000BFCu;
|
|
/* 0281118C */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02811190 */ _t23 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 02811190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02811194 */ _t24 = cpu->r[1] + 0x00000C00u;
|
|
/* 02811194 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02811198 */ cpu->lr = cpu->r[0];
|
|
/* 0281119C */ _t25 = cpu->r[1] + 0x00000C04u;
|
|
/* 0281119C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 028111A0 */ cpu->r[1] = cpu->r[1] + 0x00000C08u;
|
|
/* 028111A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 028111A8 */ return;
|
|
L_028111AC: ; // 0x28111ac
|
|
/* 028111AC */ _t26 = cpu->r[1] + 0x00000124u;
|
|
/* 028111AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028111B0 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 028111B0 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 028111B4 */ _t28 = cpu->r[1] + 0x00000BF8u;
|
|
/* 028111B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028111B8 */ _t29 = cpu->r[1] + 0x00000BFCu;
|
|
/* 028111B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 028111BC */ _t30 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 028111BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028111C0 */ _t31 = cpu->r[1] + 0x00000C00u;
|
|
/* 028111C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028111C4 */ cpu->lr = cpu->r[0];
|
|
/* 028111C8 */ _t32 = cpu->r[1] + 0x00000C04u;
|
|
/* 028111C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028111CC */ cpu->r[1] = cpu->r[1] + 0x00000C08u;
|
|
/* 028111D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 028111D4 */ return;
|
|
}
|
|
|
|
// fn_028111D8 @ 0x28111d8
|
|
void Gambit_fn_028111D8(CPUState* cpu) {
|
|
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_028111D8: ; // 0x28111d8
|
|
/* 028111D8 */ cpu->r[0] = cpu->lr;
|
|
/* 028111DC */ _t0 = cpu->r[1] + 0xFFFFF500u;
|
|
/* 028111DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028111DC */ cpu->r[1] = _t0;
|
|
/* 028111E0 */ _t1 = cpu->r[1] + 0x00000AF0u;
|
|
/* 028111E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028111E4 */ cpu->r[28] = cpu->r[3];
|
|
/* 028111E8 */ _t2 = cpu->r[1] + 0x00000AF8u;
|
|
/* 028111E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028111EC */ _t3 = cpu->r[1] + 0x00000AF4u;
|
|
/* 028111EC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028111F0 */ cpu->r[30] = cpu->r[5];
|
|
/* 028111F4 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 028111F8 */ _t4 = cpu->r[1] + 0x00000AFCu;
|
|
/* 028111F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028111FC */ _t5 = cpu->r[1] + 0x00000B04u;
|
|
/* 028111FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02811200 */ cpu->r[29] = cpu->r[4];
|
|
/* 02811204 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02811208 */ cpu->r[3] = cpu->r[28];
|
|
/* 0281120C */ Gambit_fn_02810B98(cpu);
|
|
/* 02811210 */ cpu->r[31] = cpu->r[3];
|
|
/* 02811214 */ cpu->r[4] = cpu->r[30];
|
|
/* 02811218 */ cpu->r[3] = cpu->r[28];
|
|
/* 0281121C */ Gambit_fn_02810BB4(cpu);
|
|
/* 02811220 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02811220 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02811224 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02811228 */ cpu->r[3] = cpu->r[31];
|
|
/* 0281122C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02811230 */ cpu->r[7] = 0x00000000u;
|
|
/* 02811234 */ rbrew_dispatch(cpu, 0x02d09918u);
|
|
/* 02811238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281123C */ _t7 = cpu->r[28] + 0x00000058u;
|
|
/* 0281123C */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02811240 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811240 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02811240 */ if (_t9) goto L_02811268; else goto L_02811244;
|
|
L_02811244: ; // 0x2811244
|
|
/* 02811244 */ _t10 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02811244 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02811248 */ _t11 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02811248 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0281124C */ _t12 = cpu->r[1] + 0x00000B04u;
|
|
/* 0281124C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02811250 */ _t13 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02811250 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02811254 */ cpu->lr = cpu->r[0];
|
|
/* 02811258 */ _t14 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02811258 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0281125C */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 02811260 */ cpu->r[3] = 0x00000000u;
|
|
/* 02811264 */ return;
|
|
L_02811268: ; // 0x2811268
|
|
/* 02811268 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02811268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0281126C */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 0281126C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02811270 */ _t17 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02811270 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02811274 */ _t18 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02811274 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02811278 */ _t19 = cpu->r[1] + 0x00000B04u;
|
|
/* 02811278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0281127C */ _t20 = cpu->r[1] + 0x00000AF8u;
|
|
/* 0281127C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02811280 */ cpu->lr = cpu->r[0];
|
|
/* 02811284 */ _t21 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02811284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02811288 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 0281128C */ cpu->r[3] = 0x00000001u;
|
|
/* 02811290 */ return;
|
|
}
|
|
|
|
// fn_028111DC @ 0x28111dc
|
|
void Gambit_fn_028111DC(CPUState* cpu) {
|
|
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_028111DC: ; // 0x28111dc
|
|
/* 028111DC */ _t0 = cpu->r[1] + 0xFFFFF500u;
|
|
/* 028111DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028111DC */ cpu->r[1] = _t0;
|
|
/* 028111E0 */ _t1 = cpu->r[1] + 0x00000AF0u;
|
|
/* 028111E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028111E4 */ cpu->r[28] = cpu->r[3];
|
|
/* 028111E8 */ _t2 = cpu->r[1] + 0x00000AF8u;
|
|
/* 028111E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028111EC */ _t3 = cpu->r[1] + 0x00000AF4u;
|
|
/* 028111EC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028111F0 */ cpu->r[30] = cpu->r[5];
|
|
/* 028111F4 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 028111F8 */ _t4 = cpu->r[1] + 0x00000AFCu;
|
|
/* 028111F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028111FC */ _t5 = cpu->r[1] + 0x00000B04u;
|
|
/* 028111FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02811200 */ cpu->r[29] = cpu->r[4];
|
|
/* 02811204 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02811208 */ cpu->r[3] = cpu->r[28];
|
|
/* 0281120C */ Gambit_fn_02810B98(cpu);
|
|
/* 02811210 */ cpu->r[31] = cpu->r[3];
|
|
/* 02811214 */ cpu->r[4] = cpu->r[30];
|
|
/* 02811218 */ cpu->r[3] = cpu->r[28];
|
|
/* 0281121C */ Gambit_fn_02810BB4(cpu);
|
|
/* 02811220 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02811220 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02811224 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02811228 */ cpu->r[3] = cpu->r[31];
|
|
/* 0281122C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02811230 */ cpu->r[7] = 0x00000000u;
|
|
/* 02811234 */ rbrew_dispatch(cpu, 0x02d09918u);
|
|
/* 02811238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281123C */ _t7 = cpu->r[28] + 0x00000058u;
|
|
/* 0281123C */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02811240 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811240 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02811240 */ if (_t9) goto L_02811268; else goto L_02811244;
|
|
L_02811244: ; // 0x2811244
|
|
/* 02811244 */ _t10 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02811244 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02811248 */ _t11 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02811248 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0281124C */ _t12 = cpu->r[1] + 0x00000B04u;
|
|
/* 0281124C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02811250 */ _t13 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02811250 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02811254 */ cpu->lr = cpu->r[0];
|
|
/* 02811258 */ _t14 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02811258 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0281125C */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 02811260 */ cpu->r[3] = 0x00000000u;
|
|
/* 02811264 */ return;
|
|
L_02811268: ; // 0x2811268
|
|
/* 02811268 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02811268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0281126C */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 0281126C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02811270 */ _t17 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02811270 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02811274 */ _t18 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02811274 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02811278 */ _t19 = cpu->r[1] + 0x00000B04u;
|
|
/* 02811278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0281127C */ _t20 = cpu->r[1] + 0x00000AF8u;
|
|
/* 0281127C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02811280 */ cpu->lr = cpu->r[0];
|
|
/* 02811284 */ _t21 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02811284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02811288 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 0281128C */ cpu->r[3] = 0x00000001u;
|
|
/* 02811290 */ return;
|
|
}
|
|
|
|
// fn_02811294 @ 0x2811294
|
|
void Gambit_fn_02811294(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02811294: ; // 0x2811294
|
|
/* 02811294 */ cpu->r[0] = cpu->lr;
|
|
/* 02811298 */ _t0 = cpu->r[1] + 0xFFFFF3F8u;
|
|
/* 02811298 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02811298 */ cpu->r[1] = _t0;
|
|
/* 0281129C */ _t1 = cpu->r[1] + 0x00000C04u;
|
|
/* 0281129C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028112A0 */ _t2 = cpu->r[1] + 0x00000BF8u;
|
|
/* 028112A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028112A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028112A8 */ _t3 = cpu->r[1] + 0x00000BFCu;
|
|
/* 028112A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028112AC */ cpu->r[28] = cpu->r[4];
|
|
/* 028112B0 */ cpu->r[3] = cpu->r[1] + 0x00000178u;
|
|
/* 028112B4 */ _t4 = cpu->r[1] + 0x00000C00u;
|
|
/* 028112B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 028112B8 */ _t5 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 028112B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028112BC */ cpu->r[29] = cpu->r[5];
|
|
/* 028112C0 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 028112C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028112C8 */ Gambit_fn_02810B98(cpu);
|
|
/* 028112CC */ cpu->r[0] = cpu->r[1] + 0x00000014u;
|
|
/* 028112D0 */ _t6 = cpu->r[31] + 0x00000050u;
|
|
/* 028112D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028112D4 */ cpu->r[9] = 0x00000100u;
|
|
/* 028112D8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 028112D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028112DC */ cpu->r[12] = 0x10110000u;
|
|
/* 028112E0 */ cpu->r[11] = 0x10110000u;
|
|
/* 028112E4 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 028112E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 028112E8 */ cpu->r[11] = cpu->r[11] + 0x000032ECu;
|
|
/* 028112EC */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 028112EC */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 028112F0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028112F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 028112F4 */ _t11 = cpu->r[1] + 0x00000113u;
|
|
/* 028112F4 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 028112F8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 028112F8 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 028112FC */ _t13 = cpu->r[8] + 0x000000ECu;
|
|
/* 028112FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02811300 */ cpu->r[30] = cpu->r[3];
|
|
/* 02811304 */ cpu->ctr = cpu->r[10];
|
|
/* 02811308 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0281130C */ cpu->r[3] = cpu->r[31];
|
|
/* 02811310 */ cpu->r[5] = cpu->r[29];
|
|
/* 02811314 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811318 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811318 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0281131C */ _t15 = cpu->r[11] + 0x00000014u;
|
|
/* 0281131C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02811320 */ cpu->ctr = cpu->r[0];
|
|
/* 02811324 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811328 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281132C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0281132C */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02811330 */ cpu->r[3] = cpu->r[30];
|
|
/* 02811334 */ cpu->r[4] = cpu->r[1] + 0x00000178u;
|
|
/* 02811338 */ cpu->r[6] = cpu->r[1] + 0x00000114u;
|
|
/* 0281133C */ cpu->r[7] = 0x00000088u;
|
|
/* 02811340 */ rbrew_dispatch(cpu, 0x02d09908u);
|
|
/* 02811344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02811348 */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 02811348 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0281134C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281134C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0281134C */ if (_t19) goto L_0281138C; else goto L_02811350;
|
|
L_02811350: ; // 0x2811350
|
|
/* 02811350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFAu);
|
|
/* 02811354 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811354 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02811354 */ if (_t21) goto L_0281137C; else goto L_02811358;
|
|
L_02811358: ; // 0x2811358
|
|
/* 02811358 */ _t22 = cpu->r[1] + 0x00000BF8u;
|
|
/* 02811358 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0281135C */ _t23 = cpu->r[1] + 0x00000BFCu;
|
|
/* 0281135C */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02811360 */ _t24 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 02811360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02811364 */ _t25 = cpu->r[1] + 0x00000C00u;
|
|
/* 02811364 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02811368 */ cpu->lr = cpu->r[0];
|
|
/* 0281136C */ _t26 = cpu->r[1] + 0x00000C04u;
|
|
/* 0281136C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02811370 */ cpu->r[1] = cpu->r[1] + 0x00000C08u;
|
|
/* 02811374 */ cpu->r[3] = 0x00000000u;
|
|
/* 02811378 */ return;
|
|
L_0281137C: ; // 0x281137c
|
|
/* 0281137C */ cpu->r[0] = 0x00000000u;
|
|
/* 02811380 */ cpu->r[3] = 0x00000001u;
|
|
/* 02811384 */ _t27 = cpu->r[28] + 0x00000000u;
|
|
/* 02811384 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
|
|
/* 02811388 */ goto L_028113A4;
|
|
L_0281138C: ; // 0x281138c
|
|
/* 0281138C */ _t28 = cpu->r[1] + 0x00000114u;
|
|
/* 0281138C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02811390 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000001u);
|
|
/* 02811394 */ cpu->r[9] = rbrew_clz32(cpu->r[10]);
|
|
/* 02811398 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0281139C */ cpu->r[3] = 0x00000001u;
|
|
/* 028113A0 */ _t29 = cpu->r[28] + 0x00000000u;
|
|
/* 028113A0 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
L_028113A4: ; // 0x28113a4
|
|
/* 028113A4 */ _t30 = cpu->r[1] + 0x00000BF8u;
|
|
/* 028113A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028113A8 */ _t31 = cpu->r[1] + 0x00000BFCu;
|
|
/* 028113A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028113AC */ _t32 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 028113AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028113B0 */ _t33 = cpu->r[1] + 0x00000C00u;
|
|
/* 028113B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028113B4 */ cpu->lr = cpu->r[0];
|
|
/* 028113B8 */ _t34 = cpu->r[1] + 0x00000C04u;
|
|
/* 028113B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028113BC */ cpu->r[1] = cpu->r[1] + 0x00000C08u;
|
|
/* 028113C0 */ return;
|
|
}
|
|
|
|
// fn_02811298 @ 0x2811298
|
|
void Gambit_fn_02811298(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02811298: ; // 0x2811298
|
|
/* 02811298 */ _t0 = cpu->r[1] + 0xFFFFF3F8u;
|
|
/* 02811298 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02811298 */ cpu->r[1] = _t0;
|
|
/* 0281129C */ _t1 = cpu->r[1] + 0x00000C04u;
|
|
/* 0281129C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028112A0 */ _t2 = cpu->r[1] + 0x00000BF8u;
|
|
/* 028112A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028112A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028112A8 */ _t3 = cpu->r[1] + 0x00000BFCu;
|
|
/* 028112A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028112AC */ cpu->r[28] = cpu->r[4];
|
|
/* 028112B0 */ cpu->r[3] = cpu->r[1] + 0x00000178u;
|
|
/* 028112B4 */ _t4 = cpu->r[1] + 0x00000C00u;
|
|
/* 028112B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 028112B8 */ _t5 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 028112B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028112BC */ cpu->r[29] = cpu->r[5];
|
|
/* 028112C0 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 028112C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028112C8 */ Gambit_fn_02810B98(cpu);
|
|
/* 028112CC */ cpu->r[0] = cpu->r[1] + 0x00000014u;
|
|
/* 028112D0 */ _t6 = cpu->r[31] + 0x00000050u;
|
|
/* 028112D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028112D4 */ cpu->r[9] = 0x00000100u;
|
|
/* 028112D8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 028112D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028112DC */ cpu->r[12] = 0x10110000u;
|
|
/* 028112E0 */ cpu->r[11] = 0x10110000u;
|
|
/* 028112E4 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 028112E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 028112E8 */ cpu->r[11] = cpu->r[11] + 0x000032ECu;
|
|
/* 028112EC */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 028112EC */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 028112F0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028112F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 028112F4 */ _t11 = cpu->r[1] + 0x00000113u;
|
|
/* 028112F4 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 028112F8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 028112F8 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 028112FC */ _t13 = cpu->r[8] + 0x000000ECu;
|
|
/* 028112FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02811300 */ cpu->r[30] = cpu->r[3];
|
|
/* 02811304 */ cpu->ctr = cpu->r[10];
|
|
/* 02811308 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0281130C */ cpu->r[3] = cpu->r[31];
|
|
/* 02811310 */ cpu->r[5] = cpu->r[29];
|
|
/* 02811314 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811318 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811318 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0281131C */ _t15 = cpu->r[11] + 0x00000014u;
|
|
/* 0281131C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02811320 */ cpu->ctr = cpu->r[0];
|
|
/* 02811324 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811328 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281132C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0281132C */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02811330 */ cpu->r[3] = cpu->r[30];
|
|
/* 02811334 */ cpu->r[4] = cpu->r[1] + 0x00000178u;
|
|
/* 02811338 */ cpu->r[6] = cpu->r[1] + 0x00000114u;
|
|
/* 0281133C */ cpu->r[7] = 0x00000088u;
|
|
/* 02811340 */ rbrew_dispatch(cpu, 0x02d09908u);
|
|
/* 02811344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02811348 */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 02811348 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0281134C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281134C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0281134C */ if (_t19) goto L_0281138C; else goto L_02811350;
|
|
L_02811350: ; // 0x2811350
|
|
/* 02811350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFAu);
|
|
/* 02811354 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811354 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02811354 */ if (_t21) goto L_0281137C; else goto L_02811358;
|
|
L_02811358: ; // 0x2811358
|
|
/* 02811358 */ _t22 = cpu->r[1] + 0x00000BF8u;
|
|
/* 02811358 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0281135C */ _t23 = cpu->r[1] + 0x00000BFCu;
|
|
/* 0281135C */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02811360 */ _t24 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 02811360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02811364 */ _t25 = cpu->r[1] + 0x00000C00u;
|
|
/* 02811364 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02811368 */ cpu->lr = cpu->r[0];
|
|
/* 0281136C */ _t26 = cpu->r[1] + 0x00000C04u;
|
|
/* 0281136C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02811370 */ cpu->r[1] = cpu->r[1] + 0x00000C08u;
|
|
/* 02811374 */ cpu->r[3] = 0x00000000u;
|
|
/* 02811378 */ return;
|
|
L_0281137C: ; // 0x281137c
|
|
/* 0281137C */ cpu->r[0] = 0x00000000u;
|
|
/* 02811380 */ cpu->r[3] = 0x00000001u;
|
|
/* 02811384 */ _t27 = cpu->r[28] + 0x00000000u;
|
|
/* 02811384 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
|
|
/* 02811388 */ goto L_028113A4;
|
|
L_0281138C: ; // 0x281138c
|
|
/* 0281138C */ _t28 = cpu->r[1] + 0x00000114u;
|
|
/* 0281138C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02811390 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000001u);
|
|
/* 02811394 */ cpu->r[9] = rbrew_clz32(cpu->r[10]);
|
|
/* 02811398 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0281139C */ cpu->r[3] = 0x00000001u;
|
|
/* 028113A0 */ _t29 = cpu->r[28] + 0x00000000u;
|
|
/* 028113A0 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
L_028113A4: ; // 0x28113a4
|
|
/* 028113A4 */ _t30 = cpu->r[1] + 0x00000BF8u;
|
|
/* 028113A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028113A8 */ _t31 = cpu->r[1] + 0x00000BFCu;
|
|
/* 028113A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028113AC */ _t32 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 028113AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028113B0 */ _t33 = cpu->r[1] + 0x00000C00u;
|
|
/* 028113B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028113B4 */ cpu->lr = cpu->r[0];
|
|
/* 028113B8 */ _t34 = cpu->r[1] + 0x00000C04u;
|
|
/* 028113B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028113BC */ cpu->r[1] = cpu->r[1] + 0x00000C08u;
|
|
/* 028113C0 */ return;
|
|
}
|
|
|
|
// fn_028113C4 @ 0x28113c4
|
|
void Gambit_fn_028113C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028113C4: ; // 0x28113c4
|
|
/* 028113C4 */ cpu->r[0] = cpu->lr;
|
|
/* 028113C8 */ _t0 = cpu->r[1] + 0xFFFFF3F8u;
|
|
/* 028113C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028113C8 */ cpu->r[1] = _t0;
|
|
/* 028113CC */ _t1 = cpu->r[1] + 0x00000C04u;
|
|
/* 028113CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028113D0 */ _t2 = cpu->r[1] + 0x00000BF8u;
|
|
/* 028113D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028113D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028113D8 */ _t3 = cpu->r[1] + 0x00000BFCu;
|
|
/* 028113D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028113DC */ cpu->r[28] = cpu->r[4];
|
|
/* 028113E0 */ cpu->r[3] = cpu->r[1] + 0x00000178u;
|
|
/* 028113E4 */ _t4 = cpu->r[1] + 0x00000C00u;
|
|
/* 028113E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 028113E8 */ _t5 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 028113E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028113EC */ cpu->r[29] = cpu->r[5];
|
|
/* 028113F0 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 028113F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028113F8 */ Gambit_fn_02810B98(cpu);
|
|
/* 028113FC */ cpu->r[10] = cpu->r[1] + 0x00000014u;
|
|
/* 02811400 */ _t6 = cpu->r[31] + 0x00000050u;
|
|
/* 02811400 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02811404 */ cpu->r[11] = 0x00000100u;
|
|
/* 02811408 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02811408 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0281140C */ cpu->r[12] = 0x10110000u;
|
|
/* 02811410 */ cpu->r[0] = 0x10110000u;
|
|
/* 02811414 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02811414 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02811418 */ cpu->r[0] = cpu->r[0] + 0x000032ECu;
|
|
/* 0281141C */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 0281141C */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02811420 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811420 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02811424 */ _t11 = cpu->r[1] + 0x00000113u;
|
|
/* 02811424 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02811428 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02811428 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 0281142C */ _t13 = cpu->r[9] + 0x000000ECu;
|
|
/* 0281142C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02811430 */ cpu->r[30] = cpu->r[3];
|
|
/* 02811434 */ cpu->ctr = cpu->r[10];
|
|
/* 02811438 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0281143C */ cpu->r[3] = cpu->r[31];
|
|
/* 02811440 */ cpu->r[5] = cpu->r[29];
|
|
/* 02811444 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811448 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811448 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0281144C */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 0281144C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02811450 */ cpu->ctr = cpu->r[0];
|
|
/* 02811454 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811458 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281145C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0281145C */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02811460 */ cpu->r[3] = cpu->r[30];
|
|
/* 02811464 */ cpu->r[4] = cpu->r[1] + 0x00000178u;
|
|
/* 02811468 */ cpu->r[6] = cpu->r[1] + 0x00000114u;
|
|
/* 0281146C */ cpu->r[7] = 0x00000088u;
|
|
/* 02811470 */ rbrew_dispatch(cpu, 0x02d09908u);
|
|
/* 02811474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02811478 */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 02811478 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0281147C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281147C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0281147C */ if (_t19) goto L_028114BC; else goto L_02811480;
|
|
L_02811480: ; // 0x2811480
|
|
/* 02811480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFAu);
|
|
/* 02811484 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811484 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02811484 */ if (_t21) goto L_028114AC; else goto L_02811488;
|
|
L_02811488: ; // 0x2811488
|
|
/* 02811488 */ _t22 = cpu->r[1] + 0x00000BF8u;
|
|
/* 02811488 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0281148C */ _t23 = cpu->r[1] + 0x00000BFCu;
|
|
/* 0281148C */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02811490 */ _t24 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 02811490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02811494 */ _t25 = cpu->r[1] + 0x00000C00u;
|
|
/* 02811494 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02811498 */ cpu->lr = cpu->r[0];
|
|
/* 0281149C */ _t26 = cpu->r[1] + 0x00000C04u;
|
|
/* 0281149C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028114A0 */ cpu->r[1] = cpu->r[1] + 0x00000C08u;
|
|
/* 028114A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 028114A8 */ return;
|
|
L_028114AC: ; // 0x28114ac
|
|
/* 028114AC */ cpu->r[0] = 0x00000000u;
|
|
/* 028114B0 */ cpu->r[3] = 0x00000001u;
|
|
/* 028114B4 */ _t27 = cpu->r[28] + 0x00000000u;
|
|
/* 028114B4 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
|
|
/* 028114B8 */ goto L_028114CC;
|
|
L_028114BC: ; // 0x28114bc
|
|
/* 028114BC */ _t28 = cpu->r[1] + 0x00000114u;
|
|
/* 028114BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028114C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028114C4 */ cpu->r[3] = 0x00000001u;
|
|
/* 028114C8 */ _t29 = cpu->r[28] + 0x00000000u;
|
|
/* 028114C8 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
L_028114CC: ; // 0x28114cc
|
|
/* 028114CC */ _t30 = cpu->r[1] + 0x00000BF8u;
|
|
/* 028114CC */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028114D0 */ _t31 = cpu->r[1] + 0x00000BFCu;
|
|
/* 028114D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028114D4 */ _t32 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 028114D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028114D8 */ _t33 = cpu->r[1] + 0x00000C00u;
|
|
/* 028114D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028114DC */ cpu->lr = cpu->r[0];
|
|
/* 028114E0 */ _t34 = cpu->r[1] + 0x00000C04u;
|
|
/* 028114E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028114E4 */ cpu->r[1] = cpu->r[1] + 0x00000C08u;
|
|
/* 028114E8 */ return;
|
|
}
|
|
|
|
// fn_028113C8 @ 0x28113c8
|
|
void Gambit_fn_028113C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028113C8: ; // 0x28113c8
|
|
/* 028113C8 */ _t0 = cpu->r[1] + 0xFFFFF3F8u;
|
|
/* 028113C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028113C8 */ cpu->r[1] = _t0;
|
|
/* 028113CC */ _t1 = cpu->r[1] + 0x00000C04u;
|
|
/* 028113CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028113D0 */ _t2 = cpu->r[1] + 0x00000BF8u;
|
|
/* 028113D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028113D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028113D8 */ _t3 = cpu->r[1] + 0x00000BFCu;
|
|
/* 028113D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028113DC */ cpu->r[28] = cpu->r[4];
|
|
/* 028113E0 */ cpu->r[3] = cpu->r[1] + 0x00000178u;
|
|
/* 028113E4 */ _t4 = cpu->r[1] + 0x00000C00u;
|
|
/* 028113E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 028113E8 */ _t5 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 028113E8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028113EC */ cpu->r[29] = cpu->r[5];
|
|
/* 028113F0 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 028113F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028113F8 */ Gambit_fn_02810B98(cpu);
|
|
/* 028113FC */ cpu->r[10] = cpu->r[1] + 0x00000014u;
|
|
/* 02811400 */ _t6 = cpu->r[31] + 0x00000050u;
|
|
/* 02811400 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02811404 */ cpu->r[11] = 0x00000100u;
|
|
/* 02811408 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02811408 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0281140C */ cpu->r[12] = 0x10110000u;
|
|
/* 02811410 */ cpu->r[0] = 0x10110000u;
|
|
/* 02811414 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02811414 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02811418 */ cpu->r[0] = cpu->r[0] + 0x000032ECu;
|
|
/* 0281141C */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 0281141C */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02811420 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811420 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02811424 */ _t11 = cpu->r[1] + 0x00000113u;
|
|
/* 02811424 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02811428 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02811428 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 0281142C */ _t13 = cpu->r[9] + 0x000000ECu;
|
|
/* 0281142C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02811430 */ cpu->r[30] = cpu->r[3];
|
|
/* 02811434 */ cpu->ctr = cpu->r[10];
|
|
/* 02811438 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0281143C */ cpu->r[3] = cpu->r[31];
|
|
/* 02811440 */ cpu->r[5] = cpu->r[29];
|
|
/* 02811444 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811448 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811448 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0281144C */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 0281144C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02811450 */ cpu->ctr = cpu->r[0];
|
|
/* 02811454 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811458 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281145C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0281145C */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02811460 */ cpu->r[3] = cpu->r[30];
|
|
/* 02811464 */ cpu->r[4] = cpu->r[1] + 0x00000178u;
|
|
/* 02811468 */ cpu->r[6] = cpu->r[1] + 0x00000114u;
|
|
/* 0281146C */ cpu->r[7] = 0x00000088u;
|
|
/* 02811470 */ rbrew_dispatch(cpu, 0x02d09908u);
|
|
/* 02811474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02811478 */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 02811478 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0281147C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281147C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0281147C */ if (_t19) goto L_028114BC; else goto L_02811480;
|
|
L_02811480: ; // 0x2811480
|
|
/* 02811480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFAu);
|
|
/* 02811484 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811484 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02811484 */ if (_t21) goto L_028114AC; else goto L_02811488;
|
|
L_02811488: ; // 0x2811488
|
|
/* 02811488 */ _t22 = cpu->r[1] + 0x00000BF8u;
|
|
/* 02811488 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0281148C */ _t23 = cpu->r[1] + 0x00000BFCu;
|
|
/* 0281148C */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02811490 */ _t24 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 02811490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02811494 */ _t25 = cpu->r[1] + 0x00000C00u;
|
|
/* 02811494 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02811498 */ cpu->lr = cpu->r[0];
|
|
/* 0281149C */ _t26 = cpu->r[1] + 0x00000C04u;
|
|
/* 0281149C */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028114A0 */ cpu->r[1] = cpu->r[1] + 0x00000C08u;
|
|
/* 028114A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 028114A8 */ return;
|
|
L_028114AC: ; // 0x28114ac
|
|
/* 028114AC */ cpu->r[0] = 0x00000000u;
|
|
/* 028114B0 */ cpu->r[3] = 0x00000001u;
|
|
/* 028114B4 */ _t27 = cpu->r[28] + 0x00000000u;
|
|
/* 028114B4 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[0]);
|
|
/* 028114B8 */ goto L_028114CC;
|
|
L_028114BC: ; // 0x28114bc
|
|
/* 028114BC */ _t28 = cpu->r[1] + 0x00000114u;
|
|
/* 028114BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028114C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028114C4 */ cpu->r[3] = 0x00000001u;
|
|
/* 028114C8 */ _t29 = cpu->r[28] + 0x00000000u;
|
|
/* 028114C8 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
L_028114CC: ; // 0x28114cc
|
|
/* 028114CC */ _t30 = cpu->r[1] + 0x00000BF8u;
|
|
/* 028114CC */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028114D0 */ _t31 = cpu->r[1] + 0x00000BFCu;
|
|
/* 028114D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028114D4 */ _t32 = cpu->r[1] + 0x00000C0Cu;
|
|
/* 028114D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028114D8 */ _t33 = cpu->r[1] + 0x00000C00u;
|
|
/* 028114D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028114DC */ cpu->lr = cpu->r[0];
|
|
/* 028114E0 */ _t34 = cpu->r[1] + 0x00000C04u;
|
|
/* 028114E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028114E4 */ cpu->r[1] = cpu->r[1] + 0x00000C08u;
|
|
/* 028114E8 */ return;
|
|
}
|
|
|
|
// fn_028114EC @ 0x28114ec
|
|
void Gambit_fn_028114EC(CPUState* cpu) {
|
|
L_0280DE18: ; // 0x280de18
|
|
/* 0280DE18 */ cpu->r[3] = cpu->r[4] + 0x00000008u;
|
|
/* 0280DE1C */ return;
|
|
L_028114EC: ; // 0x28114ec
|
|
/* 028114EC */ goto L_0280DE18;
|
|
}
|
|
|
|
// fn_028114F0 @ 0x28114f0
|
|
void Gambit_fn_028114F0(CPUState* cpu) {
|
|
uint32_t _t0, _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_028114F0: ; // 0x28114f0
|
|
/* 028114F0 */ cpu->r[0] = cpu->lr;
|
|
/* 028114F4 */ _t0 = cpu->r[1] + 0xFFFFF458u;
|
|
/* 028114F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028114F4 */ cpu->r[1] = _t0;
|
|
/* 028114F8 */ _t1 = cpu->r[1] + 0x00000BA0u;
|
|
/* 028114F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028114FC */ _t2 = cpu->r[1] + 0x00000B98u;
|
|
/* 028114FC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02811500 */ _t3 = cpu->r[1] + 0x00000BA4u;
|
|
/* 02811500 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02811504 */ cpu->r[31] = cpu->r[3];
|
|
/* 02811508 */ cpu->r[3] = cpu->r[1] + 0x00000114u;
|
|
/* 0281150C */ cpu->r[30] = cpu->r[4];
|
|
/* 02811510 */ _t4 = cpu->r[1] + 0x00000B9Cu;
|
|
/* 02811510 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02811514 */ cpu->r[28] = cpu->r[5];
|
|
/* 02811518 */ _t5 = cpu->r[1] + 0x00000BACu;
|
|
/* 02811518 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0281151C */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02811520 */ cpu->r[3] = cpu->r[31];
|
|
/* 02811524 */ Gambit_fn_02810B98(cpu);
|
|
/* 02811528 */ cpu->r[29] = cpu->r[3];
|
|
/* 0281152C */ cpu->r[3] = cpu->r[31];
|
|
/* 02811530 */ cpu->r[4] = cpu->r[30];
|
|
/* 02811534 */ Gambit_fn_028114EC(cpu);
|
|
/* 02811538 */ cpu->r[0] = cpu->r[1] + 0x00000014u;
|
|
/* 0281153C */ _t6 = cpu->r[31] + 0x00000050u;
|
|
/* 0281153C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02811540 */ cpu->r[8] = 0x00000100u;
|
|
/* 02811544 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02811544 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02811548 */ cpu->r[9] = 0x10110000u;
|
|
/* 0281154C */ cpu->r[12] = 0x10110000u;
|
|
/* 02811550 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02811550 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02811554 */ cpu->r[9] = cpu->r[9] + 0x000032ECu;
|
|
/* 02811558 */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 02811558 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0281155C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281155C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02811560 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02811560 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02811564 */ _t12 = cpu->r[1] + 0x00000113u;
|
|
/* 02811564 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 02811568 */ _t13 = cpu->r[10] + 0x000000ECu;
|
|
/* 02811568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0281156C */ cpu->r[30] = cpu->r[3];
|
|
/* 02811570 */ cpu->ctr = cpu->r[0];
|
|
/* 02811574 */ cpu->r[5] = cpu->r[28];
|
|
/* 02811578 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0281157C */ cpu->r[3] = cpu->r[31];
|
|
/* 02811580 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811584 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811584 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02811588 */ _t15 = cpu->r[11] + 0x00000014u;
|
|
/* 02811588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0281158C */ cpu->ctr = cpu->r[0];
|
|
/* 02811590 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811594 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811598 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02811598 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0281159C */ cpu->r[7] = 0x000000EAu;
|
|
/* 028115A0 */ cpu->r[6] = cpu->r[30];
|
|
/* 028115A4 */ cpu->r[4] = cpu->r[1] + 0x00000114u;
|
|
/* 028115A8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028115AC */ rbrew_dispatch(cpu, 0x02d099b0u);
|
|
/* 028115B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028115B4 */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 028115B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 028115B8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028115B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028115B8 */ if (_t19) goto L_028115C0; else goto L_028115BC;
|
|
L_028115BC: ; // 0x28115bc
|
|
/* 028115BC */ cpu->r[31] = 0x00000000u;
|
|
L_028115C0: ; // 0x28115c0
|
|
/* 028115C0 */ _t20 = cpu->r[1] + 0x00000B98u;
|
|
/* 028115C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028115C4 */ _t21 = cpu->r[1] + 0x00000B9Cu;
|
|
/* 028115C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028115C8 */ _t22 = cpu->r[1] + 0x00000BACu;
|
|
/* 028115C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028115CC */ cpu->r[3] = cpu->r[31];
|
|
/* 028115D0 */ _t23 = cpu->r[1] + 0x00000BA0u;
|
|
/* 028115D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028115D4 */ cpu->lr = cpu->r[0];
|
|
/* 028115D8 */ _t24 = cpu->r[1] + 0x00000BA4u;
|
|
/* 028115D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028115DC */ cpu->r[1] = cpu->r[1] + 0x00000BA8u;
|
|
/* 028115E0 */ return;
|
|
}
|
|
|
|
// fn_028114F4 @ 0x28114f4
|
|
void Gambit_fn_028114F4(CPUState* cpu) {
|
|
uint32_t _t0, _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_028114F4: ; // 0x28114f4
|
|
/* 028114F4 */ _t0 = cpu->r[1] + 0xFFFFF458u;
|
|
/* 028114F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028114F4 */ cpu->r[1] = _t0;
|
|
/* 028114F8 */ _t1 = cpu->r[1] + 0x00000BA0u;
|
|
/* 028114F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028114FC */ _t2 = cpu->r[1] + 0x00000B98u;
|
|
/* 028114FC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02811500 */ _t3 = cpu->r[1] + 0x00000BA4u;
|
|
/* 02811500 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02811504 */ cpu->r[31] = cpu->r[3];
|
|
/* 02811508 */ cpu->r[3] = cpu->r[1] + 0x00000114u;
|
|
/* 0281150C */ cpu->r[30] = cpu->r[4];
|
|
/* 02811510 */ _t4 = cpu->r[1] + 0x00000B9Cu;
|
|
/* 02811510 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02811514 */ cpu->r[28] = cpu->r[5];
|
|
/* 02811518 */ _t5 = cpu->r[1] + 0x00000BACu;
|
|
/* 02811518 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0281151C */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02811520 */ cpu->r[3] = cpu->r[31];
|
|
/* 02811524 */ Gambit_fn_02810B98(cpu);
|
|
/* 02811528 */ cpu->r[29] = cpu->r[3];
|
|
/* 0281152C */ cpu->r[3] = cpu->r[31];
|
|
/* 02811530 */ cpu->r[4] = cpu->r[30];
|
|
/* 02811534 */ Gambit_fn_028114EC(cpu);
|
|
/* 02811538 */ cpu->r[0] = cpu->r[1] + 0x00000014u;
|
|
/* 0281153C */ _t6 = cpu->r[31] + 0x00000050u;
|
|
/* 0281153C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02811540 */ cpu->r[8] = 0x00000100u;
|
|
/* 02811544 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02811544 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02811548 */ cpu->r[9] = 0x10110000u;
|
|
/* 0281154C */ cpu->r[12] = 0x10110000u;
|
|
/* 02811550 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02811550 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02811554 */ cpu->r[9] = cpu->r[9] + 0x000032ECu;
|
|
/* 02811558 */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 02811558 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0281155C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281155C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02811560 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02811560 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02811564 */ _t12 = cpu->r[1] + 0x00000113u;
|
|
/* 02811564 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 02811568 */ _t13 = cpu->r[10] + 0x000000ECu;
|
|
/* 02811568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0281156C */ cpu->r[30] = cpu->r[3];
|
|
/* 02811570 */ cpu->ctr = cpu->r[0];
|
|
/* 02811574 */ cpu->r[5] = cpu->r[28];
|
|
/* 02811578 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0281157C */ cpu->r[3] = cpu->r[31];
|
|
/* 02811580 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811584 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811584 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02811588 */ _t15 = cpu->r[11] + 0x00000014u;
|
|
/* 02811588 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0281158C */ cpu->ctr = cpu->r[0];
|
|
/* 02811590 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811594 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811598 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02811598 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0281159C */ cpu->r[7] = 0x000000EAu;
|
|
/* 028115A0 */ cpu->r[6] = cpu->r[30];
|
|
/* 028115A4 */ cpu->r[4] = cpu->r[1] + 0x00000114u;
|
|
/* 028115A8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028115AC */ rbrew_dispatch(cpu, 0x02d099b0u);
|
|
/* 028115B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028115B4 */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 028115B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 028115B8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028115B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028115B8 */ if (_t19) goto L_028115C0; else goto L_028115BC;
|
|
L_028115BC: ; // 0x28115bc
|
|
/* 028115BC */ cpu->r[31] = 0x00000000u;
|
|
L_028115C0: ; // 0x28115c0
|
|
/* 028115C0 */ _t20 = cpu->r[1] + 0x00000B98u;
|
|
/* 028115C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028115C4 */ _t21 = cpu->r[1] + 0x00000B9Cu;
|
|
/* 028115C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028115C8 */ _t22 = cpu->r[1] + 0x00000BACu;
|
|
/* 028115C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028115CC */ cpu->r[3] = cpu->r[31];
|
|
/* 028115D0 */ _t23 = cpu->r[1] + 0x00000BA0u;
|
|
/* 028115D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028115D4 */ cpu->lr = cpu->r[0];
|
|
/* 028115D8 */ _t24 = cpu->r[1] + 0x00000BA4u;
|
|
/* 028115D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028115DC */ cpu->r[1] = cpu->r[1] + 0x00000BA8u;
|
|
/* 028115E0 */ return;
|
|
}
|
|
|
|
// fn_028115E4 @ 0x28115e4
|
|
void Gambit_fn_028115E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028115E4: ; // 0x28115e4
|
|
/* 028115E4 */ cpu->r[0] = cpu->lr;
|
|
/* 028115E8 */ _t0 = cpu->r[1] + 0xFFFFF568u;
|
|
/* 028115E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028115E8 */ cpu->r[1] = _t0;
|
|
/* 028115EC */ _t1 = cpu->r[1] + 0x00000A94u;
|
|
/* 028115EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028115F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028115F4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028115F8 */ _t2 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 028115F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 028115FC */ _t3 = cpu->r[1] + 0x00000A90u;
|
|
/* 028115FC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02811600 */ _t4 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02811600 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02811604 */ cpu->r[29] = cpu->r[4];
|
|
/* 02811608 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 0281160C */ cpu->r[3] = cpu->r[31];
|
|
/* 02811610 */ Gambit_fn_02810B98(cpu);
|
|
/* 02811614 */ cpu->r[30] = cpu->r[3];
|
|
/* 02811618 */ cpu->r[3] = cpu->r[31];
|
|
/* 0281161C */ cpu->r[4] = cpu->r[29];
|
|
/* 02811620 */ Gambit_fn_028114EC(cpu);
|
|
/* 02811624 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02811624 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02811628 */ cpu->r[6] = 0x00000000u;
|
|
/* 0281162C */ cpu->r[3] = cpu->r[30];
|
|
/* 02811630 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02811634 */ rbrew_dispatch(cpu, 0x02d097d0u);
|
|
/* 02811638 */ _t6 = cpu->r[31] + 0x00000058u;
|
|
/* 02811638 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 0281163C */ _t7 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 0281163C */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02811640 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02811644 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02811648 */ _t8 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02811648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0281164C */ _t9 = cpu->r[1] + 0x00000A90u;
|
|
/* 0281164C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02811650 */ cpu->lr = cpu->r[0];
|
|
/* 02811654 */ _t10 = cpu->r[1] + 0x00000A94u;
|
|
/* 02811654 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02811658 */ cpu->r[1] = cpu->r[1] + 0x00000A98u;
|
|
/* 0281165C */ return;
|
|
}
|
|
|
|
// fn_028115E8 @ 0x28115e8
|
|
void Gambit_fn_028115E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028115E8: ; // 0x28115e8
|
|
/* 028115E8 */ _t0 = cpu->r[1] + 0xFFFFF568u;
|
|
/* 028115E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028115E8 */ cpu->r[1] = _t0;
|
|
/* 028115EC */ _t1 = cpu->r[1] + 0x00000A94u;
|
|
/* 028115EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028115F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028115F4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028115F8 */ _t2 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 028115F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 028115FC */ _t3 = cpu->r[1] + 0x00000A90u;
|
|
/* 028115FC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02811600 */ _t4 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02811600 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02811604 */ cpu->r[29] = cpu->r[4];
|
|
/* 02811608 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 0281160C */ cpu->r[3] = cpu->r[31];
|
|
/* 02811610 */ Gambit_fn_02810B98(cpu);
|
|
/* 02811614 */ cpu->r[30] = cpu->r[3];
|
|
/* 02811618 */ cpu->r[3] = cpu->r[31];
|
|
/* 0281161C */ cpu->r[4] = cpu->r[29];
|
|
/* 02811620 */ Gambit_fn_028114EC(cpu);
|
|
/* 02811624 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02811624 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02811628 */ cpu->r[6] = 0x00000000u;
|
|
/* 0281162C */ cpu->r[3] = cpu->r[30];
|
|
/* 02811630 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02811634 */ rbrew_dispatch(cpu, 0x02d097d0u);
|
|
/* 02811638 */ _t6 = cpu->r[31] + 0x00000058u;
|
|
/* 02811638 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 0281163C */ _t7 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 0281163C */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02811640 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02811644 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02811648 */ _t8 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02811648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0281164C */ _t9 = cpu->r[1] + 0x00000A90u;
|
|
/* 0281164C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02811650 */ cpu->lr = cpu->r[0];
|
|
/* 02811654 */ _t10 = cpu->r[1] + 0x00000A94u;
|
|
/* 02811654 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02811658 */ cpu->r[1] = cpu->r[1] + 0x00000A98u;
|
|
/* 0281165C */ return;
|
|
}
|
|
|
|
// fn_02811660 @ 0x2811660
|
|
void Gambit_fn_02811660(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02811660: ; // 0x2811660
|
|
/* 02811660 */ cpu->r[0] = cpu->lr;
|
|
/* 02811664 */ _t0 = cpu->r[1] + 0xFFFFF3E0u;
|
|
/* 02811664 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02811664 */ cpu->r[1] = _t0;
|
|
/* 02811668 */ _t1 = cpu->r[1] + 0x00000C24u;
|
|
/* 02811668 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0281166C */ /* nop */
|
|
/* 02811670 */ cpu->r[27] = cpu->r[4];
|
|
/* 02811674 */ cpu->r[30] = cpu->r[5];
|
|
/* 02811678 */ cpu->r[26] = cpu->r[3];
|
|
/* 0281167C */ cpu->r[3] = cpu->r[1] + 0x00000174u;
|
|
/* 02811680 */ cpu->r[28] = cpu->r[7];
|
|
/* 02811684 */ cpu->r[31] = cpu->r[6];
|
|
/* 02811688 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 0281168C */ cpu->r[3] = cpu->r[26];
|
|
/* 02811690 */ Gambit_fn_02810B98(cpu);
|
|
/* 02811694 */ cpu->r[23] = cpu->r[3];
|
|
/* 02811698 */ cpu->r[3] = cpu->r[26];
|
|
/* 0281169C */ cpu->r[4] = cpu->r[30];
|
|
/* 028116A0 */ Gambit_fn_028114EC(cpu);
|
|
/* 028116A4 */ cpu->r[24] = cpu->r[3];
|
|
/* 028116A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 028116AC */ cpu->r[22] = cpu->r[28];
|
|
/* 028116B0 */ cpu->r[25] = 0x00000000u;
|
|
/* 028116B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028116B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 028116B4 */ if (_t3) goto L_028117C4; else goto L_028116B8;
|
|
L_028116B8: ; // 0x28116b8
|
|
/* 028116B8 */ cpu->r[30] = 0x10110000u;
|
|
/* 028116BC */ _t4 = cpu->r[30] + 0x00007399u;
|
|
/* 028116BC */ cpu->r[30] = rbrew_read8(cpu->mem, _t4);
|
|
L_028116C0: ; // 0x28116c0
|
|
/* 028116C0 */ _t5 = cpu->r[24] + 0x00000000u;
|
|
/* 028116C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028116C4 */ cpu->r[7] = 0x00000000u;
|
|
/* 028116C8 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 028116CC */ cpu->r[4] = cpu->r[1] + 0x00000174u;
|
|
/* 028116D0 */ cpu->r[3] = cpu->r[23];
|
|
/* 028116D4 */ rbrew_dispatch(cpu, 0x02d099f0u);
|
|
/* 028116D8 */ cpu->r[0] = cpu->r[3];
|
|
/* 028116D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028116DC */ _t6 = cpu->r[26] + 0x00000058u;
|
|
/* 028116DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028116E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028116E0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028116E0 */ if (_t8) goto L_02811710; else goto L_028116E4;
|
|
L_028116E4: ; // 0x28116e4
|
|
/* 028116E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 028116E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028116E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028116E8 */ if (_t10) goto L_028116F0; else goto L_028116EC;
|
|
L_028116EC: ; // 0x28116ec
|
|
/* 028116EC */ _t11 = cpu->r[27] + 0x00000000u;
|
|
/* 028116EC */ rbrew_write32(cpu->mem, _t11, cpu->r[25]);
|
|
L_028116F0: ; // 0x28116f0
|
|
/* 028116F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFEu);
|
|
/* 028116F4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028116F4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028116F4 */ if (_t13) goto L_028117D0; else goto L_028116F8;
|
|
L_028116F8: ; // 0x28116f8
|
|
/* 028116F8 */ /* nop */
|
|
/* 028116FC */ _t14 = cpu->r[1] + 0x00000C24u;
|
|
/* 028116FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02811700 */ cpu->lr = cpu->r[0];
|
|
/* 02811704 */ cpu->r[1] = cpu->r[1] + 0x00000C20u;
|
|
/* 02811708 */ cpu->r[3] = 0x00000000u;
|
|
/* 0281170C */ return;
|
|
L_02811710: ; // 0x2811710
|
|
/* 02811710 */ cpu->r[10] = 0x10110000u;
|
|
/* 02811714 */ cpu->r[0] = cpu->r[1] + 0x00000074u;
|
|
/* 02811718 */ cpu->r[10] = cpu->r[10] + 0x000032A4u;
|
|
/* 0281171C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0281171C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02811720 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811724 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811724 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02811728 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 02811728 */ cpu->r[21] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0281172C */ Gambit_fn_02812678(cpu);
|
|
/* 02811730 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02811730 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02811734 */ _t19 = cpu->r[10] + 0x00000000u;
|
|
/* 02811734 */ cpu->r[12] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02811738 */ cpu->r[11] = 0x00080000u;
|
|
/* 0281173C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02811740 */ cpu->r[29] = 0x00000000u;
|
|
/* 02811744 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811744 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02811744 */ if (_t21) goto L_0281176C; else goto L_02811748;
|
|
L_02811748: ; // 0x2811748
|
|
/* 02811748 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0281174C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 02811750 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02811754 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02811754 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02811754 */ if (_t23) goto L_02811768; else goto L_02811758;
|
|
L_02811758: ; // 0x2811758
|
|
/* 02811758 */ _t24 = cpu->r[10] + 0x00000000u;
|
|
/* 02811758 */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0281175C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02811760 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811760 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02811760 */ if (_t26) goto L_02811764; else goto L_02811748;
|
|
L_02811764: ; // 0x2811764
|
|
/* 02811764 */ goto L_0281176C;
|
|
L_02811768: ; // 0x2811768
|
|
/* 02811768 */ cpu->r[29] = 0x00000000u;
|
|
L_0281176C: ; // 0x281176c
|
|
/* 0281176C */ _t27 = cpu->r[31] + 0x00000008u;
|
|
/* 0281176C */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02811770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 02811774 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02811774 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02811774 */ if (_t29) goto L_0281177C; else goto L_02811778;
|
|
L_02811778: ; // 0x2811778
|
|
/* 02811778 */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0281177C: ; // 0x281177c
|
|
/* 0281177C */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281177C */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02811780 */ _t31 = cpu->r[8] + 0x00000014u;
|
|
/* 02811780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02811784 */ cpu->ctr = cpu->r[0];
|
|
/* 02811788 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0281178C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811790 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02811790 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02811794 */ cpu->r[6] = 0x00000000u;
|
|
/* 02811798 */ cpu->r[5] = cpu->r[29];
|
|
/* 0281179C */ cpu->r[3] = cpu->r[21];
|
|
/* 028117A0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028117A4 */ _t33 = cpu->r[21] + cpu->r[29];
|
|
/* 028117A4 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[30]);
|
|
/* 028117A8 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 028117A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028117AC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 028117B0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028117B4 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 028117B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 028117B8 */ _t35 = cpu->r[31] + 0x0000010Cu;
|
|
/* 028117B8 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[12]);
|
|
/* 028117BC */ cpu->r[31] = cpu->r[31] + 0x00000110u;
|
|
/* 028117C0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028117C0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 028117C0 */ if (_t37) goto L_028117C4; else goto L_028116C0;
|
|
L_028117C4: ; // 0x28117c4
|
|
/* 028117C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 028117C8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028117C8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 028117C8 */ if (_t39) goto L_028117D0; else goto L_028117CC;
|
|
L_028117CC: ; // 0x28117cc
|
|
/* 028117CC */ _t40 = cpu->r[27] + 0x00000000u;
|
|
/* 028117CC */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
L_028117D0: ; // 0x28117d0
|
|
/* 028117D0 */ /* nop */
|
|
/* 028117D4 */ _t41 = cpu->r[1] + 0x00000C24u;
|
|
/* 028117D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 028117D8 */ cpu->lr = cpu->r[0];
|
|
/* 028117DC */ cpu->r[1] = cpu->r[1] + 0x00000C20u;
|
|
/* 028117E0 */ cpu->r[3] = 0x00000001u;
|
|
/* 028117E4 */ return;
|
|
}
|
|
|
|
// fn_02811664 @ 0x2811664
|
|
void Gambit_fn_02811664(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02811664: ; // 0x2811664
|
|
/* 02811664 */ _t0 = cpu->r[1] + 0xFFFFF3E0u;
|
|
/* 02811664 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02811664 */ cpu->r[1] = _t0;
|
|
/* 02811668 */ _t1 = cpu->r[1] + 0x00000C24u;
|
|
/* 02811668 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0281166C */ /* nop */
|
|
/* 02811670 */ cpu->r[27] = cpu->r[4];
|
|
/* 02811674 */ cpu->r[30] = cpu->r[5];
|
|
/* 02811678 */ cpu->r[26] = cpu->r[3];
|
|
/* 0281167C */ cpu->r[3] = cpu->r[1] + 0x00000174u;
|
|
/* 02811680 */ cpu->r[28] = cpu->r[7];
|
|
/* 02811684 */ cpu->r[31] = cpu->r[6];
|
|
/* 02811688 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 0281168C */ cpu->r[3] = cpu->r[26];
|
|
/* 02811690 */ Gambit_fn_02810B98(cpu);
|
|
/* 02811694 */ cpu->r[23] = cpu->r[3];
|
|
/* 02811698 */ cpu->r[3] = cpu->r[26];
|
|
/* 0281169C */ cpu->r[4] = cpu->r[30];
|
|
/* 028116A0 */ Gambit_fn_028114EC(cpu);
|
|
/* 028116A4 */ cpu->r[24] = cpu->r[3];
|
|
/* 028116A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 028116AC */ cpu->r[22] = cpu->r[28];
|
|
/* 028116B0 */ cpu->r[25] = 0x00000000u;
|
|
/* 028116B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028116B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 028116B4 */ if (_t3) goto L_028117C4; else goto L_028116B8;
|
|
L_028116B8: ; // 0x28116b8
|
|
/* 028116B8 */ cpu->r[30] = 0x10110000u;
|
|
/* 028116BC */ _t4 = cpu->r[30] + 0x00007399u;
|
|
/* 028116BC */ cpu->r[30] = rbrew_read8(cpu->mem, _t4);
|
|
L_028116C0: ; // 0x28116c0
|
|
/* 028116C0 */ _t5 = cpu->r[24] + 0x00000000u;
|
|
/* 028116C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028116C4 */ cpu->r[7] = 0x00000000u;
|
|
/* 028116C8 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 028116CC */ cpu->r[4] = cpu->r[1] + 0x00000174u;
|
|
/* 028116D0 */ cpu->r[3] = cpu->r[23];
|
|
/* 028116D4 */ rbrew_dispatch(cpu, 0x02d099f0u);
|
|
/* 028116D8 */ cpu->r[0] = cpu->r[3];
|
|
/* 028116D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028116DC */ _t6 = cpu->r[26] + 0x00000058u;
|
|
/* 028116DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028116E0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028116E0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028116E0 */ if (_t8) goto L_02811710; else goto L_028116E4;
|
|
L_028116E4: ; // 0x28116e4
|
|
/* 028116E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 028116E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028116E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028116E8 */ if (_t10) goto L_028116F0; else goto L_028116EC;
|
|
L_028116EC: ; // 0x28116ec
|
|
/* 028116EC */ _t11 = cpu->r[27] + 0x00000000u;
|
|
/* 028116EC */ rbrew_write32(cpu->mem, _t11, cpu->r[25]);
|
|
L_028116F0: ; // 0x28116f0
|
|
/* 028116F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFEu);
|
|
/* 028116F4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028116F4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028116F4 */ if (_t13) goto L_028117D0; else goto L_028116F8;
|
|
L_028116F8: ; // 0x28116f8
|
|
/* 028116F8 */ /* nop */
|
|
/* 028116FC */ _t14 = cpu->r[1] + 0x00000C24u;
|
|
/* 028116FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02811700 */ cpu->lr = cpu->r[0];
|
|
/* 02811704 */ cpu->r[1] = cpu->r[1] + 0x00000C20u;
|
|
/* 02811708 */ cpu->r[3] = 0x00000000u;
|
|
/* 0281170C */ return;
|
|
L_02811710: ; // 0x2811710
|
|
/* 02811710 */ cpu->r[10] = 0x10110000u;
|
|
/* 02811714 */ cpu->r[0] = cpu->r[1] + 0x00000074u;
|
|
/* 02811718 */ cpu->r[10] = cpu->r[10] + 0x000032A4u;
|
|
/* 0281171C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0281171C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02811720 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811724 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811724 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02811728 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 02811728 */ cpu->r[21] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0281172C */ Gambit_fn_02812678(cpu);
|
|
/* 02811730 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02811730 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02811734 */ _t19 = cpu->r[10] + 0x00000000u;
|
|
/* 02811734 */ cpu->r[12] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02811738 */ cpu->r[11] = 0x00080000u;
|
|
/* 0281173C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02811740 */ cpu->r[29] = 0x00000000u;
|
|
/* 02811744 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811744 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02811744 */ if (_t21) goto L_0281176C; else goto L_02811748;
|
|
L_02811748: ; // 0x2811748
|
|
/* 02811748 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0281174C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 02811750 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02811754 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02811754 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02811754 */ if (_t23) goto L_02811768; else goto L_02811758;
|
|
L_02811758: ; // 0x2811758
|
|
/* 02811758 */ _t24 = cpu->r[10] + 0x00000000u;
|
|
/* 02811758 */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0281175C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02811760 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811760 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02811760 */ if (_t26) goto L_02811764; else goto L_02811748;
|
|
L_02811764: ; // 0x2811764
|
|
/* 02811764 */ goto L_0281176C;
|
|
L_02811768: ; // 0x2811768
|
|
/* 02811768 */ cpu->r[29] = 0x00000000u;
|
|
L_0281176C: ; // 0x281176c
|
|
/* 0281176C */ _t27 = cpu->r[31] + 0x00000008u;
|
|
/* 0281176C */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02811770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 02811774 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02811774 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02811774 */ if (_t29) goto L_0281177C; else goto L_02811778;
|
|
L_02811778: ; // 0x2811778
|
|
/* 02811778 */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0281177C: ; // 0x281177c
|
|
/* 0281177C */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281177C */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02811780 */ _t31 = cpu->r[8] + 0x00000014u;
|
|
/* 02811780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02811784 */ cpu->ctr = cpu->r[0];
|
|
/* 02811788 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0281178C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811790 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02811790 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02811794 */ cpu->r[6] = 0x00000000u;
|
|
/* 02811798 */ cpu->r[5] = cpu->r[29];
|
|
/* 0281179C */ cpu->r[3] = cpu->r[21];
|
|
/* 028117A0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028117A4 */ _t33 = cpu->r[21] + cpu->r[29];
|
|
/* 028117A4 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[30]);
|
|
/* 028117A8 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 028117A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028117AC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 028117B0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028117B4 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 028117B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 028117B8 */ _t35 = cpu->r[31] + 0x0000010Cu;
|
|
/* 028117B8 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[12]);
|
|
/* 028117BC */ cpu->r[31] = cpu->r[31] + 0x00000110u;
|
|
/* 028117C0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028117C0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 028117C0 */ if (_t37) goto L_028117C4; else goto L_028116C0;
|
|
L_028117C4: ; // 0x28117c4
|
|
/* 028117C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 028117C8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028117C8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 028117C8 */ if (_t39) goto L_028117D0; else goto L_028117CC;
|
|
L_028117CC: ; // 0x28117cc
|
|
/* 028117CC */ _t40 = cpu->r[27] + 0x00000000u;
|
|
/* 028117CC */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
L_028117D0: ; // 0x28117d0
|
|
/* 028117D0 */ /* nop */
|
|
/* 028117D4 */ _t41 = cpu->r[1] + 0x00000C24u;
|
|
/* 028117D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 028117D8 */ cpu->lr = cpu->r[0];
|
|
/* 028117DC */ cpu->r[1] = cpu->r[1] + 0x00000C20u;
|
|
/* 028117E0 */ cpu->r[3] = 0x00000001u;
|
|
/* 028117E4 */ return;
|
|
}
|
|
|
|
// fn_028117E8 @ 0x28117e8
|
|
void Gambit_fn_028117E8(CPUState* 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_028117E8: ; // 0x28117e8
|
|
/* 028117E8 */ cpu->r[0] = cpu->lr;
|
|
/* 028117EC */ _t0 = cpu->r[1] + 0xFFFFF460u;
|
|
/* 028117EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028117EC */ cpu->r[1] = _t0;
|
|
/* 028117F0 */ _t1 = cpu->r[1] + 0x00000B98u;
|
|
/* 028117F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028117F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028117F8 */ _t2 = cpu->r[1] + 0x00000B9Cu;
|
|
/* 028117F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028117FC */ cpu->r[31] = cpu->r[4];
|
|
/* 02811800 */ cpu->r[3] = cpu->r[1] + 0x00000114u;
|
|
/* 02811804 */ _t3 = cpu->r[1] + 0x00000B94u;
|
|
/* 02811804 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02811808 */ _t4 = cpu->r[1] + 0x00000BA4u;
|
|
/* 02811808 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0281180C */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02811810 */ cpu->r[3] = cpu->r[30];
|
|
/* 02811814 */ Gambit_fn_02810B98(cpu);
|
|
/* 02811818 */ cpu->r[0] = cpu->r[1] + 0x00000014u;
|
|
/* 0281181C */ _t5 = cpu->r[30] + 0x00000050u;
|
|
/* 0281181C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02811820 */ cpu->r[6] = 0x00000100u;
|
|
/* 02811824 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02811824 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02811828 */ cpu->r[7] = 0x10110000u;
|
|
/* 0281182C */ cpu->r[12] = 0x10110000u;
|
|
/* 02811830 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02811830 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 02811834 */ cpu->r[7] = cpu->r[7] + 0x000032ECu;
|
|
/* 02811838 */ cpu->r[29] = cpu->r[3];
|
|
/* 0281183C */ _t8 = cpu->r[12] + 0x00007399u;
|
|
/* 0281183C */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02811840 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811840 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02811844 */ _t10 = cpu->r[1] + 0x00000113u;
|
|
/* 02811844 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]);
|
|
/* 02811848 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02811848 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 0281184C */ _t12 = cpu->r[8] + 0x000000ECu;
|
|
/* 0281184C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02811850 */ cpu->ctr = cpu->r[0];
|
|
/* 02811854 */ cpu->r[5] = cpu->r[31];
|
|
/* 02811858 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0281185C */ cpu->r[3] = cpu->r[30];
|
|
/* 02811860 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811864 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811864 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02811868 */ _t14 = cpu->r[10] + 0x00000014u;
|
|
/* 02811868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0281186C */ cpu->ctr = cpu->r[0];
|
|
/* 02811870 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811878 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02811878 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0281187C */ cpu->r[6] = 0x00000A8Cu;
|
|
/* 02811880 */ cpu->r[4] = cpu->r[1] + 0x00000114u;
|
|
/* 02811884 */ cpu->r[3] = cpu->r[29];
|
|
/* 02811888 */ rbrew_dispatch(cpu, 0x02d09970u);
|
|
/* 0281188C */ _t16 = cpu->r[30] + 0x00000058u;
|
|
/* 0281188C */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 02811890 */ _t17 = cpu->r[1] + 0x00000B94u;
|
|
/* 02811890 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02811894 */ _t18 = cpu->r[1] + 0x00000BA4u;
|
|
/* 02811894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02811898 */ cpu->r[5] = rbrew_clz32(cpu->r[3]);
|
|
/* 0281189C */ _t19 = cpu->r[1] + 0x00000B9Cu;
|
|
/* 0281189C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028118A0 */ cpu->lr = cpu->r[0];
|
|
/* 028118A4 */ _t20 = cpu->r[1] + 0x00000B98u;
|
|
/* 028118A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028118A8 */ cpu->r[1] = cpu->r[1] + 0x00000BA0u;
|
|
/* 028118AC */ cpu->r[3] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028118B0 */ return;
|
|
}
|
|
|
|
// fn_028117EC @ 0x28117ec
|
|
void Gambit_fn_028117EC(CPUState* 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_028117EC: ; // 0x28117ec
|
|
/* 028117EC */ _t0 = cpu->r[1] + 0xFFFFF460u;
|
|
/* 028117EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028117EC */ cpu->r[1] = _t0;
|
|
/* 028117F0 */ _t1 = cpu->r[1] + 0x00000B98u;
|
|
/* 028117F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028117F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028117F8 */ _t2 = cpu->r[1] + 0x00000B9Cu;
|
|
/* 028117F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028117FC */ cpu->r[31] = cpu->r[4];
|
|
/* 02811800 */ cpu->r[3] = cpu->r[1] + 0x00000114u;
|
|
/* 02811804 */ _t3 = cpu->r[1] + 0x00000B94u;
|
|
/* 02811804 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02811808 */ _t4 = cpu->r[1] + 0x00000BA4u;
|
|
/* 02811808 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0281180C */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02811810 */ cpu->r[3] = cpu->r[30];
|
|
/* 02811814 */ Gambit_fn_02810B98(cpu);
|
|
/* 02811818 */ cpu->r[0] = cpu->r[1] + 0x00000014u;
|
|
/* 0281181C */ _t5 = cpu->r[30] + 0x00000050u;
|
|
/* 0281181C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02811820 */ cpu->r[6] = 0x00000100u;
|
|
/* 02811824 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02811824 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02811828 */ cpu->r[7] = 0x10110000u;
|
|
/* 0281182C */ cpu->r[12] = 0x10110000u;
|
|
/* 02811830 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02811830 */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 02811834 */ cpu->r[7] = cpu->r[7] + 0x000032ECu;
|
|
/* 02811838 */ cpu->r[29] = cpu->r[3];
|
|
/* 0281183C */ _t8 = cpu->r[12] + 0x00007399u;
|
|
/* 0281183C */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02811840 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811840 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02811844 */ _t10 = cpu->r[1] + 0x00000113u;
|
|
/* 02811844 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]);
|
|
/* 02811848 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02811848 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 0281184C */ _t12 = cpu->r[8] + 0x000000ECu;
|
|
/* 0281184C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02811850 */ cpu->ctr = cpu->r[0];
|
|
/* 02811854 */ cpu->r[5] = cpu->r[31];
|
|
/* 02811858 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0281185C */ cpu->r[3] = cpu->r[30];
|
|
/* 02811860 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811864 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811864 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02811868 */ _t14 = cpu->r[10] + 0x00000014u;
|
|
/* 02811868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0281186C */ cpu->ctr = cpu->r[0];
|
|
/* 02811870 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811878 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02811878 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0281187C */ cpu->r[6] = 0x00000A8Cu;
|
|
/* 02811880 */ cpu->r[4] = cpu->r[1] + 0x00000114u;
|
|
/* 02811884 */ cpu->r[3] = cpu->r[29];
|
|
/* 02811888 */ rbrew_dispatch(cpu, 0x02d09970u);
|
|
/* 0281188C */ _t16 = cpu->r[30] + 0x00000058u;
|
|
/* 0281188C */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 02811890 */ _t17 = cpu->r[1] + 0x00000B94u;
|
|
/* 02811890 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02811894 */ _t18 = cpu->r[1] + 0x00000BA4u;
|
|
/* 02811894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02811898 */ cpu->r[5] = rbrew_clz32(cpu->r[3]);
|
|
/* 0281189C */ _t19 = cpu->r[1] + 0x00000B9Cu;
|
|
/* 0281189C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028118A0 */ cpu->lr = cpu->r[0];
|
|
/* 028118A4 */ _t20 = cpu->r[1] + 0x00000B98u;
|
|
/* 028118A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028118A8 */ cpu->r[1] = cpu->r[1] + 0x00000BA0u;
|
|
/* 028118AC */ cpu->r[3] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028118B0 */ return;
|
|
}
|
|
|
|
// fn_028118B4 @ 0x28118b4
|
|
void Gambit_fn_028118B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42;
|
|
|
|
L_028118B4: ; // 0x28118b4
|
|
/* 028118B4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 028118B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028118B4 */ cpu->r[1] = _t0;
|
|
/* 028118B8 */ /* nop */
|
|
/* 028118BC */ cpu->r[0] = cpu->lr;
|
|
/* 028118C0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028118C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028118C4 */ cpu->r[0] = 0x10110000u;
|
|
/* 028118C8 */ cpu->r[29] = cpu->r[5];
|
|
/* 028118CC */ cpu->r[27] = cpu->r[4];
|
|
/* 028118D0 */ _t2 = cpu->r[27] + 0x00000000u;
|
|
/* 028118D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028118D4 */ cpu->r[0] = cpu->r[0] + 0x000032A4u;
|
|
/* 028118D8 */ _t3 = cpu->r[3] + 0x00000054u;
|
|
/* 028118D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028118DC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028118DC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028118E0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028118E4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 028118E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 028118E8 */ Gambit_fn_02812678(cpu);
|
|
/* 028118EC */ cpu->r[31] = 0x10110000u;
|
|
/* 028118F0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 028118F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028118F4 */ _t7 = cpu->r[31] + 0x00007399u;
|
|
/* 028118F4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t7);
|
|
/* 028118F8 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 028118F8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t8);
|
|
/* 028118FC */ cpu->r[30] = 0x00000000u;
|
|
/* 02811900 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02811904 */ cpu->r[5] = 0x00080000u;
|
|
/* 02811908 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811908 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02811908 */ if (_t10) goto L_02811930; else goto L_0281190C;
|
|
L_0281190C: ; // 0x281190c
|
|
/* 0281190C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02811910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 02811914 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02811918 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02811918 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02811918 */ if (_t12) goto L_0281192C; else goto L_0281191C;
|
|
L_0281191C: ; // 0x281191c
|
|
/* 0281191C */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 0281191C */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02811920 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02811924 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811924 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02811924 */ if (_t15) goto L_02811928; else goto L_0281190C;
|
|
L_02811928: ; // 0x2811928
|
|
/* 02811928 */ goto L_02811930;
|
|
L_0281192C: ; // 0x281192c
|
|
/* 0281192C */ cpu->r[30] = 0x00000000u;
|
|
L_02811930: ; // 0x2811930
|
|
/* 02811930 */ _t16 = cpu->r[27] + 0x00000008u;
|
|
/* 02811930 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02811934 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811934 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02811938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0281193C */ _t18 = cpu->r[10] + 0x00000014u;
|
|
/* 0281193C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02811940 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02811940 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02811940 */ if (_t20) goto L_02811948; else goto L_02811944;
|
|
L_02811944: ; // 0x2811944
|
|
/* 02811944 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02811948: ; // 0x2811948
|
|
/* 02811948 */ cpu->ctr = cpu->r[0];
|
|
/* 0281194C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811950 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811954 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02811954 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02811958 */ cpu->r[3] = cpu->r[28];
|
|
/* 0281195C */ cpu->r[5] = cpu->r[30];
|
|
/* 02811960 */ cpu->r[6] = 0x00000000u;
|
|
/* 02811964 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02811968 */ _t22 = cpu->r[28] + cpu->r[30];
|
|
/* 02811968 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[31]);
|
|
/* 0281196C */ _t23 = cpu->r[27] + 0x00000004u;
|
|
/* 0281196C */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02811970 */ _t24 = cpu->r[6] + 0x00000014u;
|
|
/* 02811970 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02811974 */ cpu->ctr = cpu->r[7];
|
|
/* 02811978 */ cpu->r[3] = cpu->r[27];
|
|
/* 0281197C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811980 */ _t25 = cpu->r[27] + 0x00000008u;
|
|
/* 02811980 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02811984 */ _t26 = cpu->r[27] + 0x00000000u;
|
|
/* 02811984 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02811988 */ cpu->r[9] = cpu->r[10] - cpu->r[30];
|
|
/* 0281198C */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFEu;
|
|
/* 0281198C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02811990 */ cpu->r[30] = cpu->r[8] + cpu->r[30];
|
|
/* 02811994 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02811994 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02811994 */ if (_t28) goto L_028119F4; else goto L_02811998;
|
|
L_02811998: ; // 0x2811998
|
|
/* 02811998 */ cpu->r[11] = 0x0000002Fu;
|
|
/* 0281199C */ _t29 = cpu->r[30] + 0x00000000u;
|
|
/* 0281199C */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[11]);
|
|
/* 028119A0 */ _t30 = cpu->r[29] + 0x00000004u;
|
|
/* 028119A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028119A4 */ _t31 = cpu->r[12] + 0x00000014u;
|
|
/* 028119A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028119A8 */ cpu->ctr = cpu->r[9];
|
|
/* 028119AC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028119B0 */ cpu->r[3] = cpu->r[29];
|
|
/* 028119B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028119B8 */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 028119B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028119BC */ cpu->r[5] = 0x00000000u;
|
|
L_028119C0: ; // 0x28119c0
|
|
/* 028119C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 028119C4 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028119C4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 028119C4 */ if (_t34) goto L_028119C8; else goto L_028119EC;
|
|
L_028119C8: ; // 0x28119c8
|
|
/* 028119C8 */ _t35 = cpu->r[12] + cpu->r[5];
|
|
/* 028119C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t35);
|
|
/* 028119CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028119D0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028119D0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 028119D0 */ if (_t37) goto L_028119EC; else goto L_028119D4;
|
|
L_028119D4: ; // 0x28119d4
|
|
/* 028119D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000005Cu);
|
|
/* 028119D8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028119D8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 028119D8 */ if (_t39) goto L_028119DC; else goto L_028119E0;
|
|
L_028119DC: ; // 0x28119dc
|
|
/* 028119DC */ cpu->r[0] = 0x0000002Fu;
|
|
L_028119E0: ; // 0x28119e0
|
|
/* 028119E0 */ _t40 = cpu->r[30] + cpu->r[5];
|
|
/* 028119E0 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[0]);
|
|
/* 028119E4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 028119E8 */ goto L_028119C0;
|
|
L_028119EC: ; // 0x28119ec
|
|
/* 028119EC */ cpu->r[0] = 0x00000000u;
|
|
/* 028119F0 */ _t41 = cpu->r[30] + cpu->r[5];
|
|
/* 028119F0 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[0]);
|
|
L_028119F4: ; // 0x28119f4
|
|
/* 028119F4 */ /* nop */
|
|
/* 028119F8 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028119F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 028119FC */ cpu->lr = cpu->r[0];
|
|
/* 02811A00 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02811A04 */ return;
|
|
}
|
|
|
|
// fn_02811A08 @ 0x2811a08
|
|
void Gambit_fn_02811A08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02811A08: ; // 0x2811a08
|
|
/* 02811A08 */ cpu->r[0] = cpu->lr;
|
|
/* 02811A0C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02811A0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02811A0C */ cpu->r[1] = _t0;
|
|
/* 02811A10 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02811A10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02811A14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02811A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02811A18 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02811A18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02811A1C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811A1C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02811A1C */ if (_t4) goto L_02811A20; else goto L_02811A30;
|
|
L_02811A20: ; // 0x2811a20
|
|
/* 02811A20 */ cpu->r[3] = 0x0000006Cu;
|
|
/* 02811A24 */ Gambit_fn_02801A78(cpu);
|
|
/* 02811A28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02811A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02811A2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811A2C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02811A2C */ if (_t6) goto L_02811A80; else goto L_02811A30;
|
|
L_02811A30: ; // 0x2811a30
|
|
/* 02811A30 */ cpu->r[0] = 0x10110000u;
|
|
/* 02811A34 */ cpu->r[11] = 0x10110000u;
|
|
/* 02811A38 */ cpu->r[0] = cpu->r[0] + 0x000032A4u;
|
|
/* 02811A3C */ cpu->r[11] = cpu->r[11] + 0x0000346Cu;
|
|
/* 02811A40 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811A40 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02811A44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02811A48 */ cpu->r[12] = 0x10110000u;
|
|
/* 02811A4C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02811A4C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02811A50 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02811A54 */ cpu->r[12] = cpu->r[12] + 0x00003474u;
|
|
/* 02811A58 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02811A58 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02811A5C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02811A60 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02811A60 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02811A64 */ Gambit_fn_02810908(cpu);
|
|
/* 02811A68 */ cpu->r[0] = 0x10110000u;
|
|
/* 02811A6C */ cpu->r[10] = 0x10110000u;
|
|
/* 02811A70 */ cpu->r[0] = cpu->r[0] + 0x00003364u;
|
|
/* 02811A74 */ cpu->r[10] = cpu->r[10] + 0x00003334u;
|
|
/* 02811A78 */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 02811A78 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02811A7C */ _t12 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02811A7C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
L_02811A80: ; // 0x2811a80
|
|
/* 02811A80 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02811A80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02811A84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02811A88 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02811A88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02811A8C */ cpu->lr = cpu->r[0];
|
|
/* 02811A90 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02811A94 */ return;
|
|
}
|
|
|
|
// fn_02811A0C @ 0x2811a0c
|
|
void Gambit_fn_02811A0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02811A0C: ; // 0x2811a0c
|
|
/* 02811A0C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02811A0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02811A0C */ cpu->r[1] = _t0;
|
|
/* 02811A10 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02811A10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02811A14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02811A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02811A18 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02811A18 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02811A1C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811A1C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02811A1C */ if (_t4) goto L_02811A20; else goto L_02811A30;
|
|
L_02811A20: ; // 0x2811a20
|
|
/* 02811A20 */ cpu->r[3] = 0x0000006Cu;
|
|
/* 02811A24 */ Gambit_fn_02801A78(cpu);
|
|
/* 02811A28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02811A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02811A2C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811A2C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02811A2C */ if (_t6) goto L_02811A80; else goto L_02811A30;
|
|
L_02811A30: ; // 0x2811a30
|
|
/* 02811A30 */ cpu->r[0] = 0x10110000u;
|
|
/* 02811A34 */ cpu->r[11] = 0x10110000u;
|
|
/* 02811A38 */ cpu->r[0] = cpu->r[0] + 0x000032A4u;
|
|
/* 02811A3C */ cpu->r[11] = cpu->r[11] + 0x0000346Cu;
|
|
/* 02811A40 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811A40 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02811A44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02811A48 */ cpu->r[12] = 0x10110000u;
|
|
/* 02811A4C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02811A4C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02811A50 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02811A54 */ cpu->r[12] = cpu->r[12] + 0x00003474u;
|
|
/* 02811A58 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02811A58 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02811A5C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02811A60 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02811A60 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02811A64 */ Gambit_fn_02810908(cpu);
|
|
/* 02811A68 */ cpu->r[0] = 0x10110000u;
|
|
/* 02811A6C */ cpu->r[10] = 0x10110000u;
|
|
/* 02811A70 */ cpu->r[0] = cpu->r[0] + 0x00003364u;
|
|
/* 02811A74 */ cpu->r[10] = cpu->r[10] + 0x00003334u;
|
|
/* 02811A78 */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 02811A78 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02811A7C */ _t12 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02811A7C */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
L_02811A80: ; // 0x2811a80
|
|
/* 02811A80 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02811A80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02811A84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02811A88 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02811A88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02811A8C */ cpu->lr = cpu->r[0];
|
|
/* 02811A90 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02811A94 */ return;
|
|
}
|
|
|
|
// fn_02811A98 @ 0x2811a98
|
|
void Gambit_fn_02811A98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02811A98: ; // 0x2811a98
|
|
/* 02811A98 */ cpu->r[0] = cpu->lr;
|
|
/* 02811A9C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02811A9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02811A9C */ cpu->r[1] = _t0;
|
|
/* 02811AA0 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02811AA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02811AA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02811AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02811AA8 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02811AA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02811AAC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811AAC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02811AAC */ if (_t4) goto L_02811AB0; else goto L_02811AC0;
|
|
L_02811AB0: ; // 0x2811ab0
|
|
/* 02811AB0 */ cpu->r[3] = 0x0000006Cu;
|
|
/* 02811AB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02811AB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02811AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02811ABC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811ABC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02811ABC */ if (_t6) goto L_02811B14; else goto L_02811AC0;
|
|
L_02811AC0: ; // 0x2811ac0
|
|
/* 02811AC0 */ cpu->r[0] = 0x10110000u;
|
|
/* 02811AC4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02811AC8 */ cpu->r[0] = cpu->r[0] + 0x000032A4u;
|
|
/* 02811ACC */ _t7 = cpu->r[12] + 0xFFFF988Cu;
|
|
/* 02811ACC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02811AD0 */ cpu->r[10] = 0x10110000u;
|
|
/* 02811AD4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811AD4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02811AD8 */ cpu->r[10] = cpu->r[10] + 0x00003484u;
|
|
/* 02811ADC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02811AE0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02811AE0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02811AE4 */ cpu->r[11] = cpu->r[12] + 0x00001724u;
|
|
/* 02811AE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02811AEC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02811AEC */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02811AF0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02811AF4 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02811AF4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02811AF8 */ Gambit_fn_02810908(cpu);
|
|
/* 02811AFC */ cpu->r[12] = 0x10110000u;
|
|
/* 02811B00 */ cpu->r[0] = 0x10110000u;
|
|
/* 02811B04 */ cpu->r[12] = cpu->r[12] + 0x000035A8u;
|
|
/* 02811B08 */ cpu->r[0] = cpu->r[0] + 0x00003698u;
|
|
/* 02811B0C */ _t12 = cpu->r[31] + 0x00000050u;
|
|
/* 02811B0C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02811B10 */ _t13 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02811B10 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02811B14: ; // 0x2811b14
|
|
/* 02811B14 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02811B14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02811B18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02811B1C */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02811B1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02811B20 */ cpu->lr = cpu->r[0];
|
|
/* 02811B24 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02811B28 */ return;
|
|
}
|
|
|
|
// fn_02811A9C @ 0x2811a9c
|
|
void Gambit_fn_02811A9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02811A9C: ; // 0x2811a9c
|
|
/* 02811A9C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02811A9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02811A9C */ cpu->r[1] = _t0;
|
|
/* 02811AA0 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02811AA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02811AA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02811AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02811AA8 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02811AA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02811AAC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811AAC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02811AAC */ if (_t4) goto L_02811AB0; else goto L_02811AC0;
|
|
L_02811AB0: ; // 0x2811ab0
|
|
/* 02811AB0 */ cpu->r[3] = 0x0000006Cu;
|
|
/* 02811AB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02811AB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02811AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02811ABC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811ABC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02811ABC */ if (_t6) goto L_02811B14; else goto L_02811AC0;
|
|
L_02811AC0: ; // 0x2811ac0
|
|
/* 02811AC0 */ cpu->r[0] = 0x10110000u;
|
|
/* 02811AC4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02811AC8 */ cpu->r[0] = cpu->r[0] + 0x000032A4u;
|
|
/* 02811ACC */ _t7 = cpu->r[12] + 0xFFFF988Cu;
|
|
/* 02811ACC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02811AD0 */ cpu->r[10] = 0x10110000u;
|
|
/* 02811AD4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811AD4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02811AD8 */ cpu->r[10] = cpu->r[10] + 0x00003484u;
|
|
/* 02811ADC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02811AE0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02811AE0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02811AE4 */ cpu->r[11] = cpu->r[12] + 0x00001724u;
|
|
/* 02811AE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02811AEC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02811AEC */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02811AF0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02811AF4 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02811AF4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02811AF8 */ Gambit_fn_02810908(cpu);
|
|
/* 02811AFC */ cpu->r[12] = 0x10110000u;
|
|
/* 02811B00 */ cpu->r[0] = 0x10110000u;
|
|
/* 02811B04 */ cpu->r[12] = cpu->r[12] + 0x000035A8u;
|
|
/* 02811B08 */ cpu->r[0] = cpu->r[0] + 0x00003698u;
|
|
/* 02811B0C */ _t12 = cpu->r[31] + 0x00000050u;
|
|
/* 02811B0C */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02811B10 */ _t13 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02811B10 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02811B14: ; // 0x2811b14
|
|
/* 02811B14 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02811B14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02811B18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02811B1C */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02811B1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02811B20 */ cpu->lr = cpu->r[0];
|
|
/* 02811B24 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02811B28 */ return;
|
|
}
|
|
|
|
// fn_02811B2C @ 0x2811b2c
|
|
void Gambit_fn_02811B2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02811B2C: ; // 0x2811b2c
|
|
/* 02811B2C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02811B2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02811B2C */ cpu->r[1] = _t0;
|
|
/* 02811B30 */ /* nop */
|
|
/* 02811B34 */ cpu->r[0] = cpu->lr;
|
|
/* 02811B38 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02811B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02811B3C */ cpu->r[28] = cpu->r[6];
|
|
/* 02811B40 */ _t2 = cpu->r[28] + 0x00000000u;
|
|
/* 02811B40 */ cpu->r[9] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02811B44 */ cpu->r[27] = cpu->r[4];
|
|
/* 02811B48 */ cpu->r[26] = cpu->r[5];
|
|
/* 02811B4C */ cpu->r[25] = 0x00000000u;
|
|
/* 02811B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000005Cu);
|
|
/* 02811B54 */ cpu->r[31] = cpu->r[25];
|
|
/* 02811B58 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811B58 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02811B58 */ if (_t4) goto L_02811B5C; else goto L_02811B6C;
|
|
L_02811B5C: ; // 0x2811b5c
|
|
/* 02811B5C */ _t5 = cpu->r[28] + 0x00000001u;
|
|
/* 02811B5C */ cpu->r[6] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02811B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x0000005Cu);
|
|
/* 02811B64 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811B64 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02811B64 */ if (_t7) goto L_02811B68; else goto L_02811CC8;
|
|
L_02811B68: ; // 0x2811b68
|
|
/* 02811B68 */ goto L_02811B80;
|
|
L_02811B6C: ; // 0x2811b6c
|
|
/* 02811B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000002Fu);
|
|
/* 02811B70 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811B70 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02811B70 */ if (_t9) goto L_02811B74; else goto L_02811CC8;
|
|
L_02811B74: ; // 0x2811b74
|
|
/* 02811B74 */ _t10 = cpu->r[28] + 0x00000001u;
|
|
/* 02811B74 */ cpu->r[7] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02811B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x0000002Fu);
|
|
/* 02811B7C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811B7C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02811B7C */ if (_t12) goto L_02811B80; else goto L_02811CC8;
|
|
L_02811B80: ; // 0x2811b80
|
|
/* 02811B80 */ cpu->r[10] = 0x10110000u;
|
|
/* 02811B84 */ cpu->r[29] = cpu->r[27];
|
|
/* 02811B88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02811B8C */ cpu->r[12] = 0x10110000u;
|
|
/* 02811B90 */ cpu->r[24] = cpu->r[26];
|
|
/* 02811B94 */ cpu->r[10] = cpu->r[10] + 0x000032A4u;
|
|
/* 02811B98 */ _t13 = cpu->r[12] + 0x00007399u;
|
|
/* 02811B98 */ cpu->r[30] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02811B9C */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02811B9C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02811B9C */ if (_t15) goto L_02811BE0; else goto L_02811BA0;
|
|
L_02811BA0: ; // 0x2811ba0
|
|
/* 02811BA0 */ cpu->r[29] = 0x00000000u;
|
|
/* 02811BA4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811BA4 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02811BA8 */ cpu->r[10] = 0x10110000u;
|
|
/* 02811BAC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811BB0 */ cpu->r[10] = cpu->r[10] + 0x0000348Cu;
|
|
/* 02811BB4 */ cpu->r[24] = cpu->r[29];
|
|
/* 02811BB8 */ cpu->r[25] = 0x00000002u;
|
|
/* 02811BBC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02811BBC */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02811BC0 */ Gambit_fn_02812678(cpu);
|
|
/* 02811BC4 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02811BC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02811BC8 */ _t19 = cpu->r[6] + 0x00000000u;
|
|
/* 02811BC8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02811BCC */ cpu->r[31] = cpu->r[29];
|
|
/* 02811BD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 02811BD4 */ cpu->r[0] = 0x00080000u;
|
|
/* 02811BD8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811BD8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02811BD8 */ if (_t21) goto L_02811BDC; else goto L_02811C1C;
|
|
L_02811BDC: ; // 0x2811bdc
|
|
/* 02811BDC */ goto L_02811C40;
|
|
L_02811BE0: ; // 0x2811be0
|
|
/* 02811BE0 */ cpu->r[8] = cpu->r[29] + cpu->r[24];
|
|
/* 02811BE4 */ _t22 = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02811BE4 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
|
|
/* 02811BE8 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811BE8 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02811BEC */ cpu->r[10] = 0x10110000u;
|
|
/* 02811BF0 */ cpu->r[25] = 0x00000002u;
|
|
/* 02811BF4 */ cpu->r[10] = cpu->r[10] + 0x0000348Cu;
|
|
/* 02811BF8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811BFC */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02811BFC */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
/* 02811C00 */ Gambit_fn_02812678(cpu);
|
|
/* 02811C04 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02811C04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02811C08 */ _t26 = cpu->r[6] + 0x00000000u;
|
|
/* 02811C08 */ cpu->r[9] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02811C0C */ cpu->r[31] = 0x00000000u;
|
|
/* 02811C10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 02811C14 */ cpu->r[0] = 0x00080000u;
|
|
/* 02811C18 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811C18 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02811C18 */ if (_t28) goto L_02811BDC; else goto L_02811C1C;
|
|
L_02811C1C: ; // 0x2811c1c
|
|
/* 02811C1C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02811C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02811C24 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02811C28 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02811C28 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02811C28 */ if (_t30) goto L_02811C3C; else goto L_02811C2C;
|
|
L_02811C2C: ; // 0x2811c2c
|
|
/* 02811C2C */ _t31 = cpu->r[6] + 0x00000000u;
|
|
/* 02811C2C */ cpu->r[11] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02811C30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 02811C34 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811C34 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02811C34 */ if (_t33) goto L_02811C38; else goto L_02811C1C;
|
|
L_02811C38: ; // 0x2811c38
|
|
/* 02811C38 */ goto L_02811C40;
|
|
L_02811C3C: ; // 0x2811c3c
|
|
/* 02811C3C */ cpu->r[31] = 0x00000000u;
|
|
L_02811C40: ; // 0x2811c40
|
|
/* 02811C40 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811C40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02811C44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[24]);
|
|
/* 02811C48 */ _t35 = cpu->r[12] + 0x00000014u;
|
|
/* 02811C48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02811C4C */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02811C4C */ _t37 = _t36 & 0x00000001u;
|
|
/* 02811C4C */ if (_t37) goto L_02811C54; else goto L_02811C50;
|
|
L_02811C50: ; // 0x2811c50
|
|
/* 02811C50 */ cpu->r[31] = cpu->r[24] + 0xFFFFFFFFu;
|
|
L_02811C54: ; // 0x2811c54
|
|
/* 02811C54 */ cpu->ctr = cpu->r[0];
|
|
/* 02811C58 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02811C5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811C60 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 02811C60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02811C64 */ cpu->r[6] = 0x00000000u;
|
|
/* 02811C68 */ cpu->r[5] = cpu->r[31];
|
|
/* 02811C6C */ cpu->r[3] = cpu->r[29];
|
|
/* 02811C70 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02811C74 */ cpu->r[0] = cpu->r[31] + 0x00000001u;
|
|
/* 02811C78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02811C7C */ _t39 = cpu->r[29] + cpu->r[31];
|
|
/* 02811C7C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[30]);
|
|
/* 02811C80 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02811C80 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02811C80 */ if (_t41) goto L_02811C84; else goto L_02811CD4;
|
|
L_02811C84: ; // 0x2811c84
|
|
/* 02811C84 */ _t42 = cpu->r[28] + cpu->r[25];
|
|
/* 02811C84 */ cpu->r[8] = rbrew_read8(cpu->mem, _t42);
|
|
/* 02811C88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02811C8C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811C8C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02811C8C */ if (_t44) goto L_02811CD4; else goto L_02811C90;
|
|
L_02811C90: ; // 0x2811c90
|
|
/* 02811C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000003Au);
|
|
/* 02811C94 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811C94 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02811C94 */ if (_t46) goto L_02811C98; else goto L_02811CAC;
|
|
L_02811C98: ; // 0x2811c98
|
|
/* 02811C98 */ cpu->r[10] = 0x0000002Fu;
|
|
/* 02811C9C */ cpu->r[25] = cpu->r[25] + 0x00000002u;
|
|
/* 02811CA0 */ _t47 = cpu->r[27] + cpu->r[31];
|
|
/* 02811CA0 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[10]);
|
|
/* 02811CA4 */ cpu->r[31] = cpu->r[0];
|
|
/* 02811CA8 */ goto L_02811CC8;
|
|
L_02811CAC: ; // 0x2811cac
|
|
/* 02811CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000005Cu);
|
|
/* 02811CB0 */ cpu->r[12] = 0x0000002Fu;
|
|
/* 02811CB4 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811CB4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02811CB4 */ if (_t49) goto L_02811CBC; else goto L_02811CB8;
|
|
L_02811CB8: ; // 0x2811cb8
|
|
/* 02811CB8 */ cpu->r[12] = cpu->r[8];
|
|
L_02811CBC: ; // 0x2811cbc
|
|
/* 02811CBC */ _t50 = cpu->r[27] + cpu->r[31];
|
|
/* 02811CBC */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[12]);
|
|
/* 02811CC0 */ cpu->r[31] = cpu->r[0];
|
|
/* 02811CC4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
L_02811CC8: ; // 0x2811cc8
|
|
/* 02811CC8 */ cpu->r[0] = cpu->r[31] + 0x00000001u;
|
|
/* 02811CCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02811CD0 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02811CD0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02811CD0 */ if (_t52) goto L_02811C84; else goto L_02811CD4;
|
|
L_02811CD4: ; // 0x2811cd4
|
|
/* 02811CD4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02811CD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02811CDC */ _t53 = cpu->r[27] + cpu->r[31];
|
|
/* 02811CDC */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[0]);
|
|
/* 02811CE0 */ /* nop */
|
|
/* 02811CE4 */ _t54 = cpu->r[1] + 0x00000034u;
|
|
/* 02811CE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02811CE8 */ cpu->lr = cpu->r[0];
|
|
/* 02811CEC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02811CF0 */ return;
|
|
}
|
|
|
|
// fn_02811CF4 @ 0x2811cf4
|
|
void Gambit_fn_02811CF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_02811CF4: ; // 0x2811cf4
|
|
/* 02811CF4 */ _t0 = cpu->r[1] + 0xFFFFFD80u;
|
|
/* 02811CF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02811CF4 */ cpu->r[1] = _t0;
|
|
/* 02811CF8 */ /* nop */
|
|
/* 02811CFC */ cpu->r[0] = cpu->lr;
|
|
/* 02811D00 */ _t1 = cpu->r[1] + 0x00000284u;
|
|
/* 02811D00 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02811D04 */ cpu->r[29] = cpu->r[3];
|
|
/* 02811D08 */ cpu->r[26] = cpu->r[5];
|
|
/* 02811D0C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02811D0C */ rbrew_write32(cpu->mem, _t2, cpu->r[26]);
|
|
/* 02811D10 */ cpu->r[6] = cpu->r[1] + 0x00000030u;
|
|
/* 02811D14 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02811D14 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
|
|
/* 02811D18 */ cpu->r[7] = 0x10110000u;
|
|
/* 02811D1C */ cpu->r[30] = 0x00000000u;
|
|
/* 02811D20 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811D20 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02811D24 */ cpu->r[7] = cpu->r[7] + 0x00003354u;
|
|
/* 02811D28 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02811D28 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
|
|
/* 02811D2C */ cpu->r[9] = 0x00000100u;
|
|
/* 02811D30 */ cpu->r[27] = 0x10110000u;
|
|
/* 02811D34 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02811D34 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02811D38 */ cpu->r[24] = 0x10110000u;
|
|
/* 02811D3C */ cpu->r[27] = cpu->r[27] + 0x000032A4u;
|
|
/* 02811D40 */ cpu->r[24] = cpu->r[24] + 0x000032ECu;
|
|
/* 02811D44 */ cpu->r[12] = 0x10110000u;
|
|
/* 02811D48 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 02811D48 */ rbrew_write32(cpu->mem, _t7, cpu->r[27]);
|
|
/* 02811D4C */ cpu->r[12] = cpu->r[12] + 0x0000349Cu;
|
|
/* 02811D50 */ _t8 = cpu->r[1] + 0x00000028u;
|
|
/* 02811D50 */ rbrew_write32(cpu->mem, _t8, cpu->r[24]);
|
|
/* 02811D54 */ cpu->r[31] = 0x10110000u;
|
|
/* 02811D58 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02811D58 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02811D5C */ _t10 = cpu->r[31] + 0x00007399u;
|
|
/* 02811D5C */ cpu->r[31] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02811D60 */ cpu->r[28] = cpu->r[4];
|
|
/* 02811D64 */ _t11 = cpu->r[26] + 0x00000004u;
|
|
/* 02811D64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02811D68 */ _t12 = cpu->r[1] + 0x0000012Fu;
|
|
/* 02811D68 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[31]);
|
|
/* 02811D6C */ _t13 = cpu->r[1] + 0x00000030u;
|
|
/* 02811D6C */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[31]);
|
|
/* 02811D70 */ _t14 = cpu->r[4] + 0x00000014u;
|
|
/* 02811D70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02811D74 */ cpu->r[23] = 0xFFFFFFFFu;
|
|
/* 02811D78 */ cpu->ctr = cpu->r[5];
|
|
/* 02811D7C */ cpu->r[3] = cpu->r[26];
|
|
/* 02811D80 */ cpu->r[25] = cpu->r[23];
|
|
/* 02811D84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811D88 */ _t15 = cpu->r[26] + 0x00000000u;
|
|
/* 02811D88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02811D8C */ _t16 = cpu->r[5] + 0x00000000u;
|
|
/* 02811D8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02811D90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02811D94 */ cpu->r[6] = 0x00080000u;
|
|
/* 02811D98 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811D98 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02811D98 */ if (_t18) goto L_02811DC0; else goto L_02811D9C;
|
|
L_02811D9C: ; // 0x2811d9c
|
|
/* 02811D9C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02811DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 02811DA4 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02811DA8 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02811DA8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02811DA8 */ if (_t20) goto L_02811DBC; else goto L_02811DAC;
|
|
L_02811DAC: ; // 0x2811dac
|
|
/* 02811DAC */ _t21 = cpu->r[5] + 0x00000000u;
|
|
/* 02811DAC */ cpu->r[4] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02811DB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02811DB4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811DB4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02811DB4 */ if (_t23) goto L_02811DB8; else goto L_02811D9C;
|
|
L_02811DB8: ; // 0x2811db8
|
|
/* 02811DB8 */ goto L_02811DC0;
|
|
L_02811DBC: ; // 0x2811dbc
|
|
/* 02811DBC */ cpu->r[30] = 0x00000000u;
|
|
L_02811DC0: ; // 0x2811dc0
|
|
/* 02811DC0 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02811DC0 */ cpu->r[20] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02811DC4 */ cpu->r[22] = cpu->r[30] + 0x00000001u;
|
|
/* 02811DC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[26]);
|
|
/* 02811DCC */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811DCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02811DD0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811DD0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02811DD0 */ if (_t27) goto L_02811DD4; else goto L_02811DDC;
|
|
L_02811DD4: ; // 0x2811dd4
|
|
/* 02811DD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[22]);
|
|
/* 02811DD8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811DD8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02811DD8 */ if (_t29) goto L_02812020; else goto L_02811DDC;
|
|
L_02811DDC: ; // 0x2811ddc
|
|
/* 02811DDC */ _t30 = cpu->r[20] + 0x00000004u;
|
|
/* 02811DDC */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02811DE0 */ _t31 = cpu->r[5] + 0x00000014u;
|
|
/* 02811DE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02811DE4 */ cpu->ctr = cpu->r[6];
|
|
/* 02811DE8 */ cpu->r[3] = cpu->r[20];
|
|
/* 02811DEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811DF0 */ _t32 = cpu->r[20] + 0x00000000u;
|
|
/* 02811DF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02811DF4 */ _t33 = cpu->r[12] + 0x00000000u;
|
|
/* 02811DF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02811DF8 */ cpu->r[9] = 0x00000000u;
|
|
/* 02811DFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02811E00 */ cpu->r[4] = 0x00080000u;
|
|
/* 02811E04 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811E04 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02811E04 */ if (_t35) goto L_02811E2C; else goto L_02811E08;
|
|
L_02811E08: ; // 0x2811e08
|
|
/* 02811E08 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02811E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[4]);
|
|
/* 02811E10 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02811E14 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02811E14 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02811E14 */ if (_t37) goto L_02811E28; else goto L_02811E18;
|
|
L_02811E18: ; // 0x2811e18
|
|
/* 02811E18 */ _t38 = cpu->r[12] + 0x00000000u;
|
|
/* 02811E18 */ cpu->r[8] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02811E1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02811E20 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811E20 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02811E20 */ if (_t40) goto L_02811E24; else goto L_02811E08;
|
|
L_02811E24: ; // 0x2811e24
|
|
/* 02811E24 */ goto L_02811E2C;
|
|
L_02811E28: ; // 0x2811e28
|
|
/* 02811E28 */ cpu->r[9] = 0x00000000u;
|
|
L_02811E2C: ; // 0x2811e2c
|
|
/* 02811E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02811E30 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02811E30 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02811E30 */ if (_t42) goto L_02811E3C; else goto L_02811E34;
|
|
L_02811E34: ; // 0x2811e34
|
|
/* 02811E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 02811E38 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02811E38 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02811E38 */ if (_t44) goto L_02811E3C; else goto L_02811E50;
|
|
L_02811E3C: ; // 0x2811e3c
|
|
/* 02811E3C */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02811E3C */ cpu->r[20] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02811E40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[26]);
|
|
/* 02811E44 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811E44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02811E48 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811E48 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02811E48 */ if (_t48) goto L_02811ED8; else goto L_02811E4C;
|
|
L_02811E4C: ; // 0x2811e4c
|
|
/* 02811E4C */ goto L_02811EE0;
|
|
L_02811E50: ; // 0x2811e50
|
|
/* 02811E50 */ cpu->r[18] = 0x00080000u;
|
|
/* 02811E54 */ cpu->r[21] = cpu->r[31];
|
|
/* 02811E58 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
|
|
L_02811E5C: ; // 0x2811e5c
|
|
/* 02811E5C */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02811E5C */ cpu->r[20] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02811E60 */ _t50 = cpu->r[20] + 0x00000000u;
|
|
/* 02811E60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02811E64 */ _t51 = cpu->r[10] + cpu->r[30];
|
|
/* 02811E64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02811E68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[21]);
|
|
/* 02811E6C */ cpu->r[19] = cpu->r[10] + cpu->r[30];
|
|
/* 02811E70 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811E70 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02811E70 */ if (_t53) goto L_02811EC8; else goto L_02811E74;
|
|
L_02811E74: ; // 0x2811e74
|
|
/* 02811E74 */ _t54 = cpu->r[1] + 0x00000018u;
|
|
/* 02811E74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02811E78 */ _t55 = cpu->r[12] + 0x00000014u;
|
|
/* 02811E78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02811E7C */ cpu->ctr = cpu->r[4];
|
|
/* 02811E80 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02811E84 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811E88 */ cpu->ctr = cpu->r[18];
|
|
/* 02811E8C */ _t56 = cpu->r[1] + 0x00000014u;
|
|
/* 02811E8C */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
|
|
L_02811E90: ; // 0x2811e90
|
|
/* 02811E90 */ _t57 = cpu->r[6] + 0x00000000u;
|
|
/* 02811E90 */ cpu->r[7] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02811E94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[21]);
|
|
/* 02811E98 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811E98 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02811E98 */ if (_t59) goto L_02811EC0; else goto L_02811E9C;
|
|
L_02811E9C: ; // 0x2811e9c
|
|
/* 02811E9C */ _t60 = cpu->r[19] + 0x00000000u;
|
|
/* 02811E9C */ cpu->r[5] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02811EA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[5]);
|
|
/* 02811EA4 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811EA4 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02811EA4 */ if (_t62) goto L_02811EA8; else goto L_02811EB8;
|
|
L_02811EA8: ; // 0x2811ea8
|
|
/* 02811EA8 */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 02811EA8 */ cpu->r[20] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02811EAC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02811EB0 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811EB0 */ rbrew_write32(cpu->mem, _t64, cpu->r[30]);
|
|
/* 02811EB4 */ goto L_02811ED0;
|
|
L_02811EB8: ; // 0x2811eb8
|
|
/* 02811EB8 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02811EBC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02811EBC */ _t65 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02811EBC */ _t66 = _t65 >> (0x00000002u & 31u);
|
|
/* 02811EBC */ _t67 = _t66 & 0x00000001u;
|
|
/* 02811EBC */ if (_t67) goto L_02811E90; else goto L_02811EC0;
|
|
L_02811EC0: ; // 0x2811ec0
|
|
/* 02811EC0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02811EC4 */ goto L_02811E5C;
|
|
L_02811EC8: ; // 0x2811ec8
|
|
/* 02811EC8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02811ECC */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811ECC */ rbrew_write32(cpu->mem, _t68, cpu->r[30]);
|
|
L_02811ED0: ; // 0x2811ed0
|
|
/* 02811ED0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[26]);
|
|
/* 02811ED4 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811ED4 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02811ED4 */ if (_t70) goto L_02811ED8; else goto L_02811EE0;
|
|
L_02811ED8: ; // 0x2811ed8
|
|
/* 02811ED8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[22]);
|
|
/* 02811EDC */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811EDC */ _t72 = _t71 & 0x00000001u;
|
|
/* 02811EDC */ if (_t72) goto L_02812020; else goto L_02811EE0;
|
|
L_02811EE0: ; // 0x2811ee0
|
|
/* 02811EE0 */ _t73 = cpu->r[20] + 0x00000004u;
|
|
/* 02811EE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02811EE4 */ _t74 = cpu->r[8] + 0x00000014u;
|
|
/* 02811EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02811EE8 */ cpu->ctr = cpu->r[12];
|
|
/* 02811EEC */ cpu->r[21] = cpu->r[30];
|
|
/* 02811EF0 */ cpu->r[3] = cpu->r[20];
|
|
/* 02811EF4 */ cpu->r[23] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02811EF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811EFC */ _t75 = cpu->r[20] + 0x00000000u;
|
|
/* 02811EFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02811F00 */ _t76 = cpu->r[12] + 0x00000000u;
|
|
/* 02811F00 */ cpu->r[5] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02811F04 */ cpu->r[11] = 0x00000000u;
|
|
/* 02811F08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 02811F0C */ cpu->r[4] = 0x00080000u;
|
|
/* 02811F10 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811F10 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02811F10 */ if (_t78) goto L_02811F38; else goto L_02811F14;
|
|
L_02811F14: ; // 0x2811f14
|
|
/* 02811F14 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02811F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[4]);
|
|
/* 02811F1C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02811F20 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02811F20 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02811F20 */ if (_t80) goto L_02811F34; else goto L_02811F24;
|
|
L_02811F24: ; // 0x2811f24
|
|
/* 02811F24 */ _t81 = cpu->r[12] + 0x00000000u;
|
|
/* 02811F24 */ cpu->r[7] = rbrew_read8(cpu->mem, _t81);
|
|
/* 02811F28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02811F2C */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811F2C */ _t83 = _t82 & 0x00000001u;
|
|
/* 02811F2C */ if (_t83) goto L_02811F30; else goto L_02811F14;
|
|
L_02811F30: ; // 0x2811f30
|
|
/* 02811F30 */ goto L_02811F38;
|
|
L_02811F34: ; // 0x2811f34
|
|
/* 02811F34 */ cpu->r[11] = 0x00000000u;
|
|
L_02811F38: ; // 0x2811f38
|
|
/* 02811F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02811F3C */ _t84 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02811F3C */ _t85 = _t84 & 0x00000001u;
|
|
/* 02811F3C */ if (_t85) goto L_02811F48; else goto L_02811F40;
|
|
L_02811F40: ; // 0x2811f40
|
|
/* 02811F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[11]);
|
|
/* 02811F44 */ _t86 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02811F44 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02811F44 */ if (_t87) goto L_02811F48; else goto L_02811F5C;
|
|
L_02811F48: ; // 0x2811f48
|
|
/* 02811F48 */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 02811F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02811F4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02811F50 */ _t89 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02811F50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02811F54 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811F54 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02811F54 */ if (_t91) goto L_02812014; else goto L_02811F58;
|
|
L_02811F58: ; // 0x2811f58
|
|
/* 02811F58 */ goto L_0281201C;
|
|
L_02811F5C: ; // 0x2811f5c
|
|
/* 02811F5C */ _t92 = cpu->r[1] + 0x00000028u;
|
|
/* 02811F5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02811F60 */ _t93 = cpu->r[8] + 0x00000014u;
|
|
/* 02811F60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02811F64 */ cpu->ctr = cpu->r[9];
|
|
/* 02811F68 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02811F6C */ cpu->r[17] = 0x00000000u;
|
|
/* 02811F70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811F74 */ cpu->r[15] = 0x00080000u;
|
|
/* 02811F78 */ cpu->r[16] = cpu->r[31];
|
|
/* 02811F7C */ _t94 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02811F7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02811F80 */ cpu->r[15] = cpu->r[15] + 0x00000001u;
|
|
/* 02811F84 */ cpu->r[30] = cpu->r[21] + 0x00000001u;
|
|
/* 02811F88 */ _t95 = cpu->r[1] + 0x00000024u;
|
|
/* 02811F88 */ cpu->r[18] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02811F8C */ cpu->r[19] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02811F90: ; // 0x2811f90
|
|
/* 02811F90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], cpu->r[17]);
|
|
/* 02811F94 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02811F94 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02811F94 */ if (_t97) goto L_02811F48; else goto L_02811F98;
|
|
L_02811F98: ; // 0x2811f98
|
|
/* 02811F98 */ _t98 = cpu->r[1] + 0x00000008u;
|
|
/* 02811F98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02811F9C */ _t99 = cpu->r[12] + 0x00000000u;
|
|
/* 02811F9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02811FA0 */ _t100 = cpu->r[11] + cpu->r[21];
|
|
/* 02811FA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t100);
|
|
/* 02811FA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[16]);
|
|
/* 02811FA8 */ cpu->r[20] = cpu->r[11] + cpu->r[21];
|
|
/* 02811FAC */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811FAC */ _t102 = _t101 & 0x00000001u;
|
|
/* 02811FAC */ if (_t102) goto L_02812000; else goto L_02811FB0;
|
|
L_02811FB0: ; // 0x2811fb0
|
|
/* 02811FB0 */ _t103 = cpu->r[1] + 0x00000018u;
|
|
/* 02811FB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02811FB4 */ _t104 = cpu->r[5] + 0x00000014u;
|
|
/* 02811FB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02811FB8 */ cpu->ctr = cpu->r[8];
|
|
/* 02811FBC */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02811FC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02811FC4 */ _t105 = cpu->r[1] + 0x00000014u;
|
|
/* 02811FC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02811FC8 */ cpu->ctr = cpu->r[15];
|
|
/* 02811FCC */ _t106 = cpu->r[20] + 0x00000000u;
|
|
/* 02811FCC */ cpu->r[5] = rbrew_read8(cpu->mem, _t106);
|
|
L_02811FD0: ; // 0x2811fd0
|
|
/* 02811FD0 */ _t107 = cpu->r[6] + 0x00000000u;
|
|
/* 02811FD0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t107);
|
|
/* 02811FD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[16]);
|
|
/* 02811FD8 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811FD8 */ _t109 = _t108 & 0x00000001u;
|
|
/* 02811FD8 */ if (_t109) goto L_02811FEC; else goto L_02811FDC;
|
|
L_02811FDC: ; // 0x2811fdc
|
|
/* 02811FDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[5]);
|
|
/* 02811FE0 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02811FE0 */ _t111 = _t110 & 0x00000001u;
|
|
/* 02811FE0 */ if (_t111) goto L_02812000; else goto L_02811FE4;
|
|
L_02811FE4: ; // 0x2811fe4
|
|
/* 02811FE4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02811FE8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02811FE8 */ _t112 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02811FE8 */ _t113 = _t112 >> (0x00000002u & 31u);
|
|
/* 02811FE8 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02811FE8 */ if (_t114) goto L_02811FD0; else goto L_02811FEC;
|
|
L_02811FEC: ; // 0x2811fec
|
|
/* 02811FEC */ _t115 = cpu->r[18] + cpu->r[17];
|
|
/* 02811FEC */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[5]);
|
|
/* 02811FF0 */ cpu->r[17] = cpu->r[17] + 0x00000001u;
|
|
/* 02811FF4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02811FF8 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 02811FFC */ goto L_02811F90;
|
|
L_02812000: ; // 0x2812000
|
|
/* 02812000 */ _t116 = cpu->r[18] + cpu->r[17];
|
|
/* 02812000 */ rbrew_write8(cpu->mem, _t116, (uint8_t)cpu->r[16]);
|
|
/* 02812004 */ _t117 = cpu->r[1] + 0x00000008u;
|
|
/* 02812004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02812008 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 0281200C */ _t118 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281200C */ rbrew_write32(cpu->mem, _t118, cpu->r[30]);
|
|
/* 02812010 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812010 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02812010 */ if (_t120) goto L_02812014; else goto L_0281201C;
|
|
L_02812014: ; // 0x2812014
|
|
/* 02812014 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[22]);
|
|
/* 02812018 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812018 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02812018 */ if (_t122) goto L_02812020; else goto L_0281201C;
|
|
L_0281201C: ; // 0x281201c
|
|
/* 0281201C */ cpu->r[25] = cpu->r[30];
|
|
L_02812020: ; // 0x2812020
|
|
/* 02812020 */ _t123 = cpu->r[1] + 0x00000024u;
|
|
/* 02812020 */ cpu->r[10] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02812024 */ _t124 = cpu->r[10] + 0x00000000u;
|
|
/* 02812024 */ cpu->r[0] = rbrew_read8(cpu->mem, _t124);
|
|
/* 02812028 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0281202C */ cpu->r[22] = 0x10110000u;
|
|
/* 02812030 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812030 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02812030 */ if (_t126) goto L_0281203C; else goto L_02812034;
|
|
L_02812034: ; // 0x2812034
|
|
/* 02812034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0xFFFFFFFFu);
|
|
/* 02812038 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812038 */ _t128 = _t127 & 0x00000001u;
|
|
/* 02812038 */ if (_t128) goto L_0281203C; else goto L_0281209C;
|
|
L_0281203C: ; // 0x281203c
|
|
/* 0281203C */ _t129 = cpu->r[29] + 0x00000054u;
|
|
/* 0281203C */ cpu->r[5] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02812040 */ cpu->r[4] = cpu->r[22] + 0x00003498u;
|
|
/* 02812044 */ cpu->r[3] = cpu->r[28];
|
|
/* 02812048 */ _t130 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02812048 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02812048 */ if (_t131) goto L_0281204C; // else: addr-0 trap, fall-through
|
|
L_0281204C: ; // 0x281204c
|
|
/* 0281204C */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02812050 */ _t132 = cpu->r[28] + 0x00000004u;
|
|
/* 02812050 */ cpu->r[7] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02812054 */ _t133 = cpu->r[7] + 0x00000014u;
|
|
/* 02812054 */ cpu->r[8] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02812058 */ cpu->r[30] = cpu->r[3];
|
|
/* 0281205C */ cpu->ctr = cpu->r[8];
|
|
/* 02812060 */ cpu->r[3] = cpu->r[28];
|
|
/* 02812064 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812068 */ _t134 = cpu->r[26] + 0x00000004u;
|
|
/* 02812068 */ cpu->r[9] = rbrew_read32(cpu->mem, _t134);
|
|
/* 0281206C */ _t135 = cpu->r[9] + 0x00000014u;
|
|
/* 0281206C */ cpu->r[0] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02812070 */ cpu->ctr = cpu->r[0];
|
|
/* 02812074 */ _t136 = cpu->r[28] + 0x00000000u;
|
|
/* 02812074 */ cpu->r[31] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02812078 */ cpu->r[3] = cpu->r[26];
|
|
/* 0281207C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812080 */ _t137 = cpu->r[28] + 0x00000008u;
|
|
/* 02812080 */ cpu->r[11] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02812084 */ cpu->r[3] = cpu->r[29];
|
|
/* 02812088 */ cpu->r[4] = cpu->r[31] + cpu->r[30];
|
|
/* 0281208C */ _t138 = cpu->r[26] + 0x00000000u;
|
|
/* 0281208C */ cpu->r[6] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02812090 */ cpu->r[5] = cpu->r[11] - cpu->r[30];
|
|
/* 02812094 */ Gambit_fn_02811B2C(cpu);
|
|
/* 02812098 */ goto L_0281231C;
|
|
L_0281209C: ; // 0x281209c
|
|
/* 0281209C */ _t139 = cpu->r[1] + 0x00000134u;
|
|
/* 0281209C */ rbrew_write32(cpu->mem, _t139, cpu->r[24]);
|
|
/* 028120A0 */ cpu->r[4] = 0x00000100u;
|
|
/* 028120A4 */ _t140 = cpu->r[1] + 0x00000028u;
|
|
/* 028120A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t140);
|
|
/* 028120A8 */ cpu->r[0] = cpu->r[1] + 0x0000013Cu;
|
|
/* 028120AC */ _t141 = cpu->r[1] + 0x0000023Bu;
|
|
/* 028120AC */ rbrew_write8(cpu->mem, _t141, (uint8_t)cpu->r[31]);
|
|
/* 028120B0 */ _t142 = cpu->r[1] + 0x00000138u;
|
|
/* 028120B0 */ rbrew_write32(cpu->mem, _t142, cpu->r[4]);
|
|
/* 028120B4 */ _t143 = cpu->r[1] + 0x00000130u;
|
|
/* 028120B4 */ rbrew_write32(cpu->mem, _t143, cpu->r[0]);
|
|
/* 028120B8 */ _t144 = cpu->r[1] + 0x0000013Cu;
|
|
/* 028120B8 */ rbrew_write8(cpu->mem, _t144, (uint8_t)cpu->r[31]);
|
|
/* 028120BC */ _t145 = cpu->r[6] + 0x00000014u;
|
|
/* 028120BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t145);
|
|
/* 028120C0 */ cpu->ctr = cpu->r[8];
|
|
/* 028120C4 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 028120C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028120CC */ _t146 = cpu->r[1] + 0x00000134u;
|
|
/* 028120CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t146);
|
|
/* 028120D0 */ _t147 = cpu->r[10] + 0x00000014u;
|
|
/* 028120D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t147);
|
|
/* 028120D4 */ cpu->ctr = cpu->r[0];
|
|
/* 028120D8 */ _t148 = cpu->r[1] + 0x00000024u;
|
|
/* 028120D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t148);
|
|
/* 028120DC */ cpu->r[3] = cpu->r[1] + 0x00000130u;
|
|
/* 028120E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028120E4 */ _t149 = cpu->r[1] + 0x00000138u;
|
|
/* 028120E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t149);
|
|
/* 028120E8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028120EC */ _t150 = cpu->r[1] + 0x00000130u;
|
|
/* 028120EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t150);
|
|
/* 028120F0 */ rbrew_dispatch(cpu, 0x02d09418u);
|
|
/* 028120F4 */ _t151 = cpu->r[29] + 0x00000054u;
|
|
/* 028120F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t151);
|
|
/* 028120F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028120FC */ cpu->r[3] = cpu->r[28];
|
|
/* 02812100 */ cpu->r[4] = cpu->r[22] + 0x00003498u;
|
|
/* 02812104 */ _t152 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02812104 */ _t153 = _t152 & 0x00000001u;
|
|
/* 02812104 */ if (_t153) goto L_02812108; // else: addr-0 trap, fall-through
|
|
L_02812108: ; // 0x2812108
|
|
/* 02812108 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0281210C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02812110 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812114 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812114 */ _t155 = _t154 & 0x00000001u;
|
|
/* 02812114 */ if (_t155) goto L_02812118; else goto L_028122D8;
|
|
L_02812118: ; // 0x2812118
|
|
/* 02812118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0281211C */ _t156 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0281211C */ _t157 = _t156 & 0x00000001u;
|
|
/* 0281211C */ if (_t157) goto L_02812120; else goto L_028121B0;
|
|
L_02812120: ; // 0x2812120
|
|
/* 02812120 */ _t158 = cpu->r[28] + 0x00000004u;
|
|
/* 02812120 */ cpu->r[6] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02812124 */ _t159 = cpu->r[6] + 0x00000014u;
|
|
/* 02812124 */ cpu->r[8] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02812128 */ cpu->ctr = cpu->r[8];
|
|
/* 0281212C */ cpu->r[3] = cpu->r[28];
|
|
/* 02812130 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812134 */ _t160 = cpu->r[28] + 0x00000008u;
|
|
/* 02812134 */ cpu->r[9] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02812138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0281213C */ _t161 = cpu->r[28] + 0x00000000u;
|
|
/* 0281213C */ cpu->r[5] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02812140 */ _t162 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02812140 */ _t163 = _t162 & 0x00000001u;
|
|
/* 02812140 */ if (_t163) goto L_02812144; else goto L_0281214C;
|
|
L_02812144: ; // 0x2812144
|
|
/* 02812144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02812148 */ _t164 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02812148 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02812148 */ if (_t165) goto L_0281214C; else goto L_02812160;
|
|
L_0281214C: ; // 0x281214c
|
|
/* 0281214C */ cpu->r[24] = 0x00000000u;
|
|
/* 02812150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02812154 */ cpu->r[12] = cpu->r[24];
|
|
/* 02812158 */ _t166 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02812158 */ _t167 = _t166 & 0x00000001u;
|
|
/* 02812158 */ if (_t167) goto L_0281215C; else goto L_0281217C;
|
|
L_0281215C: ; // 0x281215c
|
|
/* 0281215C */ goto L_02812180;
|
|
L_02812160: ; // 0x2812160
|
|
/* 02812160 */ _t168 = cpu->r[28] + 0x00000008u;
|
|
/* 02812160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02812164 */ cpu->r[24] = cpu->r[5] + cpu->r[30];
|
|
/* 02812168 */ cpu->r[12] = cpu->r[0] - cpu->r[30];
|
|
/* 0281216C */ cpu->r[11] = cpu->r[24] + cpu->r[12];
|
|
/* 02812170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[12]);
|
|
/* 02812174 */ _t169 = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02812174 */ rbrew_write8(cpu->mem, _t169, (uint8_t)cpu->r[31]);
|
|
/* 02812178 */ _t170 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02812178 */ _t171 = _t170 & 0x00000001u;
|
|
/* 02812178 */ if (_t171) goto L_02812180; else goto L_0281217C;
|
|
L_0281217C: ; // 0x281217c
|
|
/* 0281217C */ cpu->r[23] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02812180: ; // 0x2812180
|
|
/* 02812180 */ _t172 = cpu->r[26] + 0x00000004u;
|
|
/* 02812180 */ cpu->r[12] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02812184 */ _t173 = cpu->r[12] + 0x00000014u;
|
|
/* 02812184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t173);
|
|
/* 02812188 */ cpu->ctr = cpu->r[0];
|
|
/* 0281218C */ cpu->r[3] = cpu->r[26];
|
|
/* 02812190 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812194 */ _t174 = cpu->r[26] + 0x00000000u;
|
|
/* 02812194 */ cpu->r[4] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02812198 */ cpu->r[3] = cpu->r[24];
|
|
/* 0281219C */ cpu->r[5] = cpu->r[23];
|
|
/* 028121A0 */ cpu->r[6] = 0x00000000u;
|
|
/* 028121A4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028121A8 */ cpu->r[30] = cpu->r[30] + cpu->r[23];
|
|
/* 028121AC */ _t175 = cpu->r[24] + cpu->r[23];
|
|
/* 028121AC */ rbrew_write8(cpu->mem, _t175, (uint8_t)cpu->r[31]);
|
|
L_028121B0: ; // 0x28121b0
|
|
/* 028121B0 */ _t176 = cpu->r[28] + 0x00000004u;
|
|
/* 028121B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t176);
|
|
/* 028121B4 */ _t177 = cpu->r[5] + 0x00000014u;
|
|
/* 028121B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t177);
|
|
/* 028121B8 */ cpu->ctr = cpu->r[7];
|
|
/* 028121BC */ cpu->r[3] = cpu->r[28];
|
|
/* 028121C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028121C4 */ _t178 = cpu->r[1] + 0x00000134u;
|
|
/* 028121C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t178);
|
|
/* 028121C8 */ _t179 = cpu->r[8] + 0x00000014u;
|
|
/* 028121C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t179);
|
|
/* 028121CC */ cpu->ctr = cpu->r[10];
|
|
/* 028121D0 */ _t180 = cpu->r[28] + 0x00000000u;
|
|
/* 028121D0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t180);
|
|
/* 028121D4 */ cpu->r[3] = cpu->r[1] + 0x00000130u;
|
|
/* 028121D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028121DC */ _t181 = cpu->r[28] + 0x00000008u;
|
|
/* 028121DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t181);
|
|
/* 028121E0 */ cpu->r[4] = cpu->r[24] + cpu->r[30];
|
|
/* 028121E4 */ cpu->r[3] = cpu->r[29];
|
|
/* 028121E8 */ _t182 = cpu->r[1] + 0x00000130u;
|
|
/* 028121E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t182);
|
|
/* 028121EC */ cpu->r[5] = cpu->r[0] - cpu->r[30];
|
|
/* 028121F0 */ Gambit_fn_02811B2C(cpu);
|
|
/* 028121F4 */ _t183 = cpu->r[28] + 0x00000004u;
|
|
/* 028121F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t183);
|
|
/* 028121F8 */ _t184 = cpu->r[6] + 0x00000014u;
|
|
/* 028121F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t184);
|
|
/* 028121FC */ cpu->r[30] = cpu->r[30] + cpu->r[3];
|
|
/* 02812200 */ cpu->ctr = cpu->r[0];
|
|
/* 02812204 */ cpu->r[3] = cpu->r[28];
|
|
/* 02812208 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281220C */ _t185 = cpu->r[26] + 0x00000004u;
|
|
/* 0281220C */ cpu->r[8] = rbrew_read32(cpu->mem, _t185);
|
|
/* 02812210 */ _t186 = cpu->r[8] + 0x00000014u;
|
|
/* 02812210 */ cpu->r[9] = rbrew_read32(cpu->mem, _t186);
|
|
/* 02812214 */ cpu->ctr = cpu->r[9];
|
|
/* 02812218 */ _t187 = cpu->r[28] + 0x00000000u;
|
|
/* 02812218 */ cpu->r[24] = rbrew_read32(cpu->mem, _t187);
|
|
/* 0281221C */ cpu->r[3] = cpu->r[26];
|
|
/* 02812220 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812224 */ _t188 = cpu->r[26] + 0x00000000u;
|
|
/* 02812224 */ cpu->r[4] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02812228 */ cpu->r[9] = cpu->r[4];
|
|
/* 0281222C */ _t189 = cpu->r[9] + 0x00000000u;
|
|
/* 0281222C */ cpu->r[10] = rbrew_read8(cpu->mem, _t189);
|
|
/* 02812230 */ cpu->r[12] = 0x00000000u;
|
|
/* 02812234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02812238 */ cpu->r[0] = 0x00080000u;
|
|
/* 0281223C */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281223C */ _t191 = _t190 & 0x00000001u;
|
|
/* 0281223C */ if (_t191) goto L_02812264; else goto L_02812240;
|
|
L_02812240: ; // 0x2812240
|
|
/* 02812240 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02812244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02812248 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0281224C */ _t192 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0281224C */ _t193 = _t192 & 0x00000001u;
|
|
/* 0281224C */ if (_t193) goto L_02812260; else goto L_02812250;
|
|
L_02812250: ; // 0x2812250
|
|
/* 02812250 */ _t194 = cpu->r[9] + 0x00000000u;
|
|
/* 02812250 */ cpu->r[11] = rbrew_read8(cpu->mem, _t194);
|
|
/* 02812254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02812258 */ _t195 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812258 */ _t196 = _t195 & 0x00000001u;
|
|
/* 02812258 */ if (_t196) goto L_0281225C; else goto L_02812240;
|
|
L_0281225C: ; // 0x281225c
|
|
/* 0281225C */ goto L_02812264;
|
|
L_02812260: ; // 0x2812260
|
|
/* 02812260 */ cpu->r[12] = 0x00000000u;
|
|
L_02812264: ; // 0x2812264
|
|
/* 02812264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02812268 */ _t197 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02812268 */ _t198 = _t197 & 0x00000001u;
|
|
/* 02812268 */ if (_t198) goto L_02812274; else goto L_0281226C;
|
|
L_0281226C: ; // 0x281226c
|
|
/* 0281226C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[12]);
|
|
/* 02812270 */ _t199 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02812270 */ _t200 = _t199 & 0x00000001u;
|
|
/* 02812270 */ if (_t200) goto L_02812274; else goto L_028122A8;
|
|
L_02812274: ; // 0x2812274
|
|
/* 02812274 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02812278 */ _t201 = cpu->r[1] + 0x00000020u;
|
|
/* 02812278 */ rbrew_write32(cpu->mem, _t201, cpu->r[27]);
|
|
/* 0281227C */ _t202 = cpu->r[10] + 0x000066E8u;
|
|
/* 0281227C */ cpu->r[10] = rbrew_read32(cpu->mem, _t202);
|
|
/* 02812280 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02812284 */ _t203 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02812284 */ rbrew_write32(cpu->mem, _t203, cpu->r[10]);
|
|
/* 02812288 */ Gambit_fn_02812678(cpu);
|
|
/* 0281228C */ _t204 = cpu->r[28] + 0x00000008u;
|
|
/* 0281228C */ cpu->r[0] = rbrew_read32(cpu->mem, _t204);
|
|
/* 02812290 */ cpu->r[4] = cpu->r[24] + cpu->r[30];
|
|
/* 02812294 */ _t205 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02812294 */ cpu->r[6] = rbrew_read32(cpu->mem, _t205);
|
|
/* 02812298 */ cpu->r[3] = cpu->r[29];
|
|
/* 0281229C */ cpu->r[5] = cpu->r[0] - cpu->r[30];
|
|
/* 028122A0 */ Gambit_fn_02811B2C(cpu);
|
|
/* 028122A4 */ goto L_0281231C;
|
|
L_028122A8: ; // 0x28122a8
|
|
/* 028122A8 */ _t206 = cpu->r[1] + 0x00000020u;
|
|
/* 028122A8 */ rbrew_write32(cpu->mem, _t206, cpu->r[27]);
|
|
/* 028122AC */ cpu->r[10] = cpu->r[4] + cpu->r[25];
|
|
/* 028122B0 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 028122B4 */ _t207 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028122B4 */ rbrew_write32(cpu->mem, _t207, cpu->r[10]);
|
|
/* 028122B8 */ Gambit_fn_02812678(cpu);
|
|
/* 028122BC */ _t208 = cpu->r[28] + 0x00000008u;
|
|
/* 028122BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t208);
|
|
/* 028122C0 */ cpu->r[4] = cpu->r[24] + cpu->r[30];
|
|
/* 028122C4 */ _t209 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028122C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t209);
|
|
/* 028122C8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028122CC */ cpu->r[5] = cpu->r[0] - cpu->r[30];
|
|
/* 028122D0 */ Gambit_fn_02811B2C(cpu);
|
|
/* 028122D4 */ goto L_0281231C;
|
|
L_028122D8: ; // 0x28122d8
|
|
/* 028122D8 */ _t210 = cpu->r[28] + 0x00000004u;
|
|
/* 028122D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t210);
|
|
/* 028122DC */ _t211 = cpu->r[4] + 0x00000014u;
|
|
/* 028122DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t211);
|
|
/* 028122E0 */ cpu->ctr = cpu->r[5];
|
|
/* 028122E4 */ cpu->r[3] = cpu->r[28];
|
|
/* 028122E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028122EC */ _t212 = cpu->r[26] + 0x00000004u;
|
|
/* 028122EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t212);
|
|
/* 028122F0 */ _t213 = cpu->r[6] + 0x00000014u;
|
|
/* 028122F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t213);
|
|
/* 028122F4 */ cpu->ctr = cpu->r[7];
|
|
/* 028122F8 */ _t214 = cpu->r[28] + 0x00000000u;
|
|
/* 028122F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t214);
|
|
/* 028122FC */ cpu->r[3] = cpu->r[26];
|
|
/* 02812300 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812304 */ _t215 = cpu->r[28] + 0x00000008u;
|
|
/* 02812304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t215);
|
|
/* 02812308 */ cpu->r[3] = cpu->r[29];
|
|
/* 0281230C */ cpu->r[4] = cpu->r[31] + cpu->r[30];
|
|
/* 02812310 */ _t216 = cpu->r[26] + 0x00000000u;
|
|
/* 02812310 */ cpu->r[6] = rbrew_read32(cpu->mem, _t216);
|
|
/* 02812314 */ cpu->r[5] = cpu->r[0] - cpu->r[30];
|
|
/* 02812318 */ Gambit_fn_02811B2C(cpu);
|
|
L_0281231C: ; // 0x281231c
|
|
/* 0281231C */ /* nop */
|
|
/* 02812320 */ _t217 = cpu->r[1] + 0x00000284u;
|
|
/* 02812320 */ cpu->r[0] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02812324 */ cpu->lr = cpu->r[0];
|
|
/* 02812328 */ cpu->r[1] = cpu->r[1] + 0x00000280u;
|
|
/* 0281232C */ return;
|
|
}
|
|
|
|
// fn_02812330 @ 0x2812330
|
|
void Gambit_fn_02812330(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02812330: ; // 0x2812330
|
|
/* 02812330 */ cpu->r[0] = cpu->lr;
|
|
/* 02812334 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02812334 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812334 */ cpu->r[1] = _t0;
|
|
/* 02812338 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02812338 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0281233C */ cpu->r[31] = cpu->r[3];
|
|
/* 0281233C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02812340 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02812340 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02812344 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812344 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02812344 */ if (_t4) goto L_02812348; else goto L_02812358;
|
|
L_02812348: ; // 0x2812348
|
|
/* 02812348 */ cpu->r[3] = 0x0000006Cu;
|
|
/* 0281234C */ Gambit_fn_02801A78(cpu);
|
|
/* 02812350 */ cpu->r[31] = cpu->r[3];
|
|
/* 02812350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02812354 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812354 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02812354 */ if (_t6) goto L_028123A8; else goto L_02812358;
|
|
L_02812358: ; // 0x2812358
|
|
/* 02812358 */ cpu->r[0] = 0x10110000u;
|
|
/* 0281235C */ cpu->r[11] = 0x10110000u;
|
|
/* 02812360 */ cpu->r[0] = cpu->r[0] + 0x000032A4u;
|
|
/* 02812364 */ cpu->r[11] = cpu->r[11] + 0x000034A0u;
|
|
/* 02812368 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812368 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0281236C */ cpu->r[3] = cpu->r[31];
|
|
/* 02812370 */ cpu->r[12] = 0x10110000u;
|
|
/* 02812374 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02812374 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02812378 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0281237C */ cpu->r[12] = cpu->r[12] + 0x0000349Eu;
|
|
/* 02812380 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02812380 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02812384 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02812388 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02812388 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0281238C */ Gambit_fn_02810908(cpu);
|
|
/* 02812390 */ cpu->r[0] = 0x10110000u;
|
|
/* 02812394 */ cpu->r[10] = 0x10110000u;
|
|
/* 02812398 */ cpu->r[0] = cpu->r[0] + 0x000036A8u;
|
|
/* 0281239C */ cpu->r[10] = cpu->r[10] + 0x00003798u;
|
|
/* 028123A0 */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 028123A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 028123A4 */ _t12 = cpu->r[31] + 0x0000001Cu;
|
|
/* 028123A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
L_028123A8: ; // 0x28123a8
|
|
/* 028123A8 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 028123A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028123AC */ cpu->r[3] = cpu->r[31];
|
|
/* 028123B0 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028123B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028123B4 */ cpu->lr = cpu->r[0];
|
|
/* 028123B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028123BC */ return;
|
|
}
|
|
|
|
// fn_02812334 @ 0x2812334
|
|
void Gambit_fn_02812334(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02812334: ; // 0x2812334
|
|
/* 02812334 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02812334 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812334 */ cpu->r[1] = _t0;
|
|
/* 02812338 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02812338 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0281233C */ cpu->r[31] = cpu->r[3];
|
|
/* 0281233C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02812340 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02812340 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02812344 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812344 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02812344 */ if (_t4) goto L_02812348; else goto L_02812358;
|
|
L_02812348: ; // 0x2812348
|
|
/* 02812348 */ cpu->r[3] = 0x0000006Cu;
|
|
/* 0281234C */ Gambit_fn_02801A78(cpu);
|
|
/* 02812350 */ cpu->r[31] = cpu->r[3];
|
|
/* 02812350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02812354 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812354 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02812354 */ if (_t6) goto L_028123A8; else goto L_02812358;
|
|
L_02812358: ; // 0x2812358
|
|
/* 02812358 */ cpu->r[0] = 0x10110000u;
|
|
/* 0281235C */ cpu->r[11] = 0x10110000u;
|
|
/* 02812360 */ cpu->r[0] = cpu->r[0] + 0x000032A4u;
|
|
/* 02812364 */ cpu->r[11] = cpu->r[11] + 0x000034A0u;
|
|
/* 02812368 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812368 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0281236C */ cpu->r[3] = cpu->r[31];
|
|
/* 02812370 */ cpu->r[12] = 0x10110000u;
|
|
/* 02812374 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02812374 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02812378 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0281237C */ cpu->r[12] = cpu->r[12] + 0x0000349Eu;
|
|
/* 02812380 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02812380 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02812384 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02812388 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02812388 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0281238C */ Gambit_fn_02810908(cpu);
|
|
/* 02812390 */ cpu->r[0] = 0x10110000u;
|
|
/* 02812394 */ cpu->r[10] = 0x10110000u;
|
|
/* 02812398 */ cpu->r[0] = cpu->r[0] + 0x000036A8u;
|
|
/* 0281239C */ cpu->r[10] = cpu->r[10] + 0x00003798u;
|
|
/* 028123A0 */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 028123A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 028123A4 */ _t12 = cpu->r[31] + 0x0000001Cu;
|
|
/* 028123A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
L_028123A8: ; // 0x28123a8
|
|
/* 028123A8 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 028123A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028123AC */ cpu->r[3] = cpu->r[31];
|
|
/* 028123B0 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028123B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028123B4 */ cpu->lr = cpu->r[0];
|
|
/* 028123B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028123BC */ return;
|
|
}
|
|
|
|
// fn_028123C0 @ 0x28123c0
|
|
void Gambit_fn_028123C0(CPUState* cpu) {
|
|
uint32_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_028123C0: ; // 0x28123c0
|
|
/* 028123C0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028123C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028123C0 */ cpu->r[1] = _t0;
|
|
/* 028123C4 */ /* nop */
|
|
/* 028123C8 */ cpu->r[0] = cpu->lr;
|
|
/* 028123CC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 028123CC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028123D0 */ cpu->r[29] = cpu->r[5];
|
|
/* 028123D4 */ _t2 = cpu->r[29] + 0x00000004u;
|
|
/* 028123D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028123D8 */ _t3 = cpu->r[12] + 0x00000014u;
|
|
/* 028123D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028123DC */ cpu->r[28] = cpu->r[4];
|
|
/* 028123E0 */ cpu->ctr = cpu->r[0];
|
|
/* 028123E4 */ _t4 = cpu->r[28] + 0x00000000u;
|
|
/* 028123E4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028123E8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028123EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028123F0 */ cpu->r[31] = 0x10110000u;
|
|
/* 028123F4 */ _t5 = cpu->r[29] + 0x00000000u;
|
|
/* 028123F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028123F8 */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 028123F8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 028123FC */ _t7 = cpu->r[9] + 0x00000000u;
|
|
/* 028123FC */ cpu->r[5] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02812400 */ cpu->r[30] = 0x00000000u;
|
|
/* 02812404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 02812408 */ cpu->r[0] = 0x00080000u;
|
|
/* 0281240C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281240C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0281240C */ if (_t9) goto L_02812434; else goto L_02812410;
|
|
L_02812410: ; // 0x2812410
|
|
/* 02812410 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02812414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02812418 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0281241C */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0281241C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0281241C */ if (_t11) goto L_02812430; else goto L_02812420;
|
|
L_02812420: ; // 0x2812420
|
|
/* 02812420 */ _t12 = cpu->r[9] + 0x00000000u;
|
|
/* 02812420 */ cpu->r[6] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02812424 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02812428 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812428 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02812428 */ if (_t14) goto L_0281242C; else goto L_02812410;
|
|
L_0281242C: ; // 0x281242c
|
|
/* 0281242C */ goto L_02812434;
|
|
L_02812430: ; // 0x2812430
|
|
/* 02812430 */ cpu->r[30] = 0x00000000u;
|
|
L_02812434: ; // 0x2812434
|
|
/* 02812434 */ _t15 = cpu->r[28] + 0x00000008u;
|
|
/* 02812434 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02812438 */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 02812438 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0281243C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 02812440 */ _t17 = cpu->r[7] + 0x00000014u;
|
|
/* 02812440 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02812444 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02812444 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02812444 */ if (_t19) goto L_0281244C; else goto L_02812448;
|
|
L_02812448: ; // 0x2812448
|
|
/* 02812448 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0281244C: ; // 0x281244c
|
|
/* 0281244C */ cpu->ctr = cpu->r[8];
|
|
/* 02812450 */ cpu->r[3] = cpu->r[29];
|
|
/* 02812454 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812458 */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02812458 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0281245C */ cpu->r[6] = 0x00000000u;
|
|
/* 02812460 */ cpu->r[5] = cpu->r[30];
|
|
/* 02812464 */ cpu->r[3] = cpu->r[27];
|
|
/* 02812468 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0281246C */ _t21 = cpu->r[27] + cpu->r[30];
|
|
/* 0281246C */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[31]);
|
|
/* 02812470 */ /* nop */
|
|
/* 02812474 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02812474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02812478 */ cpu->lr = cpu->r[0];
|
|
/* 0281247C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02812480 */ return;
|
|
}
|
|
|
|
// fn_02812484 @ 0x2812484
|
|
void Gambit_fn_02812484(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02812484: ; // 0x2812484
|
|
/* 02812484 */ cpu->r[0] = cpu->lr;
|
|
/* 02812488 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02812488 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812488 */ cpu->r[1] = _t0;
|
|
/* 0281248C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281248C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02812490 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02812490 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02812494 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02812498 */ cpu->r[31] = cpu->r[4];
|
|
/* 0281249C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281249C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028124A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028124A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028124A0 */ if (_t5) goto L_028124CC; else goto L_028124A4;
|
|
L_028124A4: ; // 0x28124a4
|
|
/* 028124A4 */ cpu->r[0] = 0x10110000u;
|
|
/* 028124A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028124AC */ cpu->r[0] = cpu->r[0] + 0x00003598u;
|
|
/* 028124B0 */ cpu->r[4] = 0x00000000u;
|
|
/* 028124B4 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028124B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028124B8 */ Gambit_fn_0280C770(cpu);
|
|
/* 028124BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028124BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028124C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028124C0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028124C0 */ if (_t8) goto L_028124CC; else goto L_028124C4;
|
|
L_028124C4: ; // 0x28124c4
|
|
/* 028124C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028124C8 */ Gambit_fn_02801BB0(cpu);
|
|
L_028124CC: ; // 0x28124cc
|
|
/* 028124CC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 028124CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028124D0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 028124D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028124D4 */ cpu->lr = cpu->r[0];
|
|
/* 028124D8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028124D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028124DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028124E0 */ return;
|
|
}
|
|
|
|
// fn_02812488 @ 0x2812488
|
|
void Gambit_fn_02812488(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02812488: ; // 0x2812488
|
|
/* 02812488 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02812488 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812488 */ cpu->r[1] = _t0;
|
|
/* 0281248C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281248C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02812490 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02812490 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02812494 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02812498 */ cpu->r[31] = cpu->r[4];
|
|
/* 0281249C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281249C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028124A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028124A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028124A0 */ if (_t5) goto L_028124CC; else goto L_028124A4;
|
|
L_028124A4: ; // 0x28124a4
|
|
/* 028124A4 */ cpu->r[0] = 0x10110000u;
|
|
/* 028124A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028124AC */ cpu->r[0] = cpu->r[0] + 0x00003598u;
|
|
/* 028124B0 */ cpu->r[4] = 0x00000000u;
|
|
/* 028124B4 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028124B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028124B8 */ Gambit_fn_0280C770(cpu);
|
|
/* 028124BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028124BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028124C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028124C0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028124C0 */ if (_t8) goto L_028124CC; else goto L_028124C4;
|
|
L_028124C4: ; // 0x28124c4
|
|
/* 028124C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028124C8 */ Gambit_fn_02801BB0(cpu);
|
|
L_028124CC: ; // 0x28124cc
|
|
/* 028124CC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 028124CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028124D0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 028124D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028124D4 */ cpu->lr = cpu->r[0];
|
|
/* 028124D8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028124D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028124DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028124E0 */ return;
|
|
}
|
|
|
|
// fn_028124E4 @ 0x28124e4
|
|
void Gambit_fn_028124E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_028124E4: ; // 0x28124e4
|
|
/* 028124E4 */ cpu->r[0] = cpu->lr;
|
|
/* 028124E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028124E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028124E8 */ cpu->r[1] = _t0;
|
|
/* 028124EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028124EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028124F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028124F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028124F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028124F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028124F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 028124FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028124FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02812500 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812500 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02812500 */ if (_t5) goto L_0281254C; else goto L_02812504;
|
|
L_02812504: ; // 0x2812504
|
|
/* 02812504 */ cpu->r[0] = 0x10110000u;
|
|
/* 02812508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0281250C */ cpu->r[0] = cpu->r[0] + 0x00003334u;
|
|
/* 02812510 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812510 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02812510 */ if (_t7) goto L_02812514; else goto L_02812524;
|
|
L_02812514: ; // 0x2812514
|
|
/* 02812514 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812514 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02812518 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02812518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281251C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281251C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0281251C */ if (_t10) goto L_0281254C; else goto L_02812520;
|
|
L_02812520: ; // 0x2812520
|
|
/* 02812520 */ goto L_02812544;
|
|
L_02812524: ; // 0x2812524
|
|
/* 02812524 */ cpu->r[11] = 0x10110000u;
|
|
/* 02812528 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281252C */ cpu->r[11] = cpu->r[11] + 0x00003598u;
|
|
/* 02812530 */ cpu->r[4] = 0x00000000u;
|
|
/* 02812534 */ _t11 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812534 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02812538 */ Gambit_fn_0280C770(cpu);
|
|
/* 0281253C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0281253C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02812540 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812540 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02812540 */ if (_t13) goto L_0281254C; else goto L_02812544;
|
|
L_02812544: ; // 0x2812544
|
|
/* 02812544 */ cpu->r[3] = cpu->r[30];
|
|
/* 02812548 */ Gambit_fn_02801BB0(cpu);
|
|
L_0281254C: ; // 0x281254c
|
|
/* 0281254C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0281254C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02812550 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02812550 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02812554 */ cpu->lr = cpu->r[0];
|
|
/* 02812558 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812558 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0281255C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02812560 */ return;
|
|
}
|
|
|
|
// fn_028124E8 @ 0x28124e8
|
|
void Gambit_fn_028124E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_028124E8: ; // 0x28124e8
|
|
/* 028124E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028124E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028124E8 */ cpu->r[1] = _t0;
|
|
/* 028124EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028124EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028124F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028124F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028124F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028124F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028124F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 028124FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028124FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02812500 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812500 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02812500 */ if (_t5) goto L_0281254C; else goto L_02812504;
|
|
L_02812504: ; // 0x2812504
|
|
/* 02812504 */ cpu->r[0] = 0x10110000u;
|
|
/* 02812508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0281250C */ cpu->r[0] = cpu->r[0] + 0x00003334u;
|
|
/* 02812510 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812510 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02812510 */ if (_t7) goto L_02812514; else goto L_02812524;
|
|
L_02812514: ; // 0x2812514
|
|
/* 02812514 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812514 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02812518 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02812518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281251C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281251C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0281251C */ if (_t10) goto L_0281254C; else goto L_02812520;
|
|
L_02812520: ; // 0x2812520
|
|
/* 02812520 */ goto L_02812544;
|
|
L_02812524: ; // 0x2812524
|
|
/* 02812524 */ cpu->r[11] = 0x10110000u;
|
|
/* 02812528 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281252C */ cpu->r[11] = cpu->r[11] + 0x00003598u;
|
|
/* 02812530 */ cpu->r[4] = 0x00000000u;
|
|
/* 02812534 */ _t11 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812534 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02812538 */ Gambit_fn_0280C770(cpu);
|
|
/* 0281253C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0281253C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02812540 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812540 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02812540 */ if (_t13) goto L_0281254C; else goto L_02812544;
|
|
L_02812544: ; // 0x2812544
|
|
/* 02812544 */ cpu->r[3] = cpu->r[30];
|
|
/* 02812548 */ Gambit_fn_02801BB0(cpu);
|
|
L_0281254C: ; // 0x281254c
|
|
/* 0281254C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0281254C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02812550 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02812550 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02812554 */ cpu->lr = cpu->r[0];
|
|
/* 02812558 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812558 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0281255C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02812560 */ return;
|
|
}
|
|
|
|
// fn_02812564 @ 0x2812564
|
|
void Gambit_fn_02812564(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02812564: ; // 0x2812564
|
|
/* 02812564 */ cpu->r[0] = cpu->lr;
|
|
/* 02812568 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02812568 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812568 */ cpu->r[1] = _t0;
|
|
/* 0281256C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281256C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02812570 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02812570 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02812574 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02812578 */ cpu->r[31] = cpu->r[4];
|
|
/* 0281257C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281257C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02812580 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812580 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02812580 */ if (_t5) goto L_028125CC; else goto L_02812584;
|
|
L_02812584: ; // 0x2812584
|
|
/* 02812584 */ cpu->r[0] = 0x10110000u;
|
|
/* 02812588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0281258C */ cpu->r[0] = cpu->r[0] + 0x00003698u;
|
|
/* 02812590 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812590 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02812590 */ if (_t7) goto L_02812594; else goto L_028125A4;
|
|
L_02812594: ; // 0x2812594
|
|
/* 02812594 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812594 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02812598 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02812598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281259C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281259C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0281259C */ if (_t10) goto L_028125CC; else goto L_028125A0;
|
|
L_028125A0: ; // 0x28125a0
|
|
/* 028125A0 */ goto L_028125C4;
|
|
L_028125A4: ; // 0x28125a4
|
|
/* 028125A4 */ cpu->r[11] = 0x10110000u;
|
|
/* 028125A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028125AC */ cpu->r[11] = cpu->r[11] + 0x00003598u;
|
|
/* 028125B0 */ cpu->r[4] = 0x00000000u;
|
|
/* 028125B4 */ _t11 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028125B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 028125B8 */ Gambit_fn_0280C770(cpu);
|
|
/* 028125BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028125BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028125C0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028125C0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028125C0 */ if (_t13) goto L_028125CC; else goto L_028125C4;
|
|
L_028125C4: ; // 0x28125c4
|
|
/* 028125C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028125C8 */ Gambit_fn_02801BB0(cpu);
|
|
L_028125CC: ; // 0x28125cc
|
|
/* 028125CC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 028125CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028125D0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 028125D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028125D4 */ cpu->lr = cpu->r[0];
|
|
/* 028125D8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028125D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028125DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028125E0 */ return;
|
|
}
|
|
|
|
// fn_02812568 @ 0x2812568
|
|
void Gambit_fn_02812568(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02812568: ; // 0x2812568
|
|
/* 02812568 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02812568 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812568 */ cpu->r[1] = _t0;
|
|
/* 0281256C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281256C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02812570 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02812570 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02812574 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02812578 */ cpu->r[31] = cpu->r[4];
|
|
/* 0281257C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281257C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02812580 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812580 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02812580 */ if (_t5) goto L_028125CC; else goto L_02812584;
|
|
L_02812584: ; // 0x2812584
|
|
/* 02812584 */ cpu->r[0] = 0x10110000u;
|
|
/* 02812588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0281258C */ cpu->r[0] = cpu->r[0] + 0x00003698u;
|
|
/* 02812590 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812590 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02812590 */ if (_t7) goto L_02812594; else goto L_028125A4;
|
|
L_02812594: ; // 0x2812594
|
|
/* 02812594 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812594 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02812598 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02812598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281259C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281259C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0281259C */ if (_t10) goto L_028125CC; else goto L_028125A0;
|
|
L_028125A0: ; // 0x28125a0
|
|
/* 028125A0 */ goto L_028125C4;
|
|
L_028125A4: ; // 0x28125a4
|
|
/* 028125A4 */ cpu->r[11] = 0x10110000u;
|
|
/* 028125A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028125AC */ cpu->r[11] = cpu->r[11] + 0x00003598u;
|
|
/* 028125B0 */ cpu->r[4] = 0x00000000u;
|
|
/* 028125B4 */ _t11 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028125B4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 028125B8 */ Gambit_fn_0280C770(cpu);
|
|
/* 028125BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028125BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028125C0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028125C0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028125C0 */ if (_t13) goto L_028125CC; else goto L_028125C4;
|
|
L_028125C4: ; // 0x28125c4
|
|
/* 028125C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028125C8 */ Gambit_fn_02801BB0(cpu);
|
|
L_028125CC: ; // 0x28125cc
|
|
/* 028125CC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 028125CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028125D0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 028125D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028125D4 */ cpu->lr = cpu->r[0];
|
|
/* 028125D8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028125D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028125DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028125E0 */ return;
|
|
}
|
|
|
|
// fn_028125E4 @ 0x28125e4
|
|
void Gambit_fn_028125E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_028125E4: ; // 0x28125e4
|
|
/* 028125E4 */ cpu->r[0] = cpu->lr;
|
|
/* 028125E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028125E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028125E8 */ cpu->r[1] = _t0;
|
|
/* 028125EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028125EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028125F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028125F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028125F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028125F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028125F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 028125FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028125FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02812600 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812600 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02812600 */ if (_t5) goto L_0281264C; else goto L_02812604;
|
|
L_02812604: ; // 0x2812604
|
|
/* 02812604 */ cpu->r[0] = 0x10110000u;
|
|
/* 02812608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0281260C */ cpu->r[0] = cpu->r[0] + 0x00003798u;
|
|
/* 02812610 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812610 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02812610 */ if (_t7) goto L_02812614; else goto L_02812624;
|
|
L_02812614: ; // 0x2812614
|
|
/* 02812614 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812614 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02812618 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02812618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281261C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281261C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0281261C */ if (_t10) goto L_0281264C; else goto L_02812620;
|
|
L_02812620: ; // 0x2812620
|
|
/* 02812620 */ goto L_02812644;
|
|
L_02812624: ; // 0x2812624
|
|
/* 02812624 */ cpu->r[11] = 0x10110000u;
|
|
/* 02812628 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281262C */ cpu->r[11] = cpu->r[11] + 0x00003598u;
|
|
/* 02812630 */ cpu->r[4] = 0x00000000u;
|
|
/* 02812634 */ _t11 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812634 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02812638 */ Gambit_fn_0280C770(cpu);
|
|
/* 0281263C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0281263C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02812640 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812640 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02812640 */ if (_t13) goto L_0281264C; else goto L_02812644;
|
|
L_02812644: ; // 0x2812644
|
|
/* 02812644 */ cpu->r[3] = cpu->r[30];
|
|
/* 02812648 */ Gambit_fn_02801BB0(cpu);
|
|
L_0281264C: ; // 0x281264c
|
|
/* 0281264C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0281264C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02812650 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02812650 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02812654 */ cpu->lr = cpu->r[0];
|
|
/* 02812658 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812658 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0281265C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02812660 */ return;
|
|
}
|
|
|
|
// fn_028125E8 @ 0x28125e8
|
|
void Gambit_fn_028125E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_028125E8: ; // 0x28125e8
|
|
/* 028125E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028125E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028125E8 */ cpu->r[1] = _t0;
|
|
/* 028125EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028125EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028125F0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028125F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028125F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028125F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028125F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 028125FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028125FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02812600 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812600 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02812600 */ if (_t5) goto L_0281264C; else goto L_02812604;
|
|
L_02812604: ; // 0x2812604
|
|
/* 02812604 */ cpu->r[0] = 0x10110000u;
|
|
/* 02812608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0281260C */ cpu->r[0] = cpu->r[0] + 0x00003798u;
|
|
/* 02812610 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812610 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02812610 */ if (_t7) goto L_02812614; else goto L_02812624;
|
|
L_02812614: ; // 0x2812614
|
|
/* 02812614 */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812614 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02812618 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02812618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281261C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281261C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0281261C */ if (_t10) goto L_0281264C; else goto L_02812620;
|
|
L_02812620: ; // 0x2812620
|
|
/* 02812620 */ goto L_02812644;
|
|
L_02812624: ; // 0x2812624
|
|
/* 02812624 */ cpu->r[11] = 0x10110000u;
|
|
/* 02812628 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281262C */ cpu->r[11] = cpu->r[11] + 0x00003598u;
|
|
/* 02812630 */ cpu->r[4] = 0x00000000u;
|
|
/* 02812634 */ _t11 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02812634 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02812638 */ Gambit_fn_0280C770(cpu);
|
|
/* 0281263C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0281263C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02812640 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812640 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02812640 */ if (_t13) goto L_0281264C; else goto L_02812644;
|
|
L_02812644: ; // 0x2812644
|
|
/* 02812644 */ cpu->r[3] = cpu->r[30];
|
|
/* 02812648 */ Gambit_fn_02801BB0(cpu);
|
|
L_0281264C: ; // 0x281264c
|
|
/* 0281264C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0281264C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02812650 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02812650 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02812654 */ cpu->lr = cpu->r[0];
|
|
/* 02812658 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812658 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0281265C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02812660 */ return;
|
|
}
|
|
|
|
// fn_02812664 @ 0x2812664
|
|
void Gambit_fn_02812664(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_02812664: ; // 0x2812664
|
|
/* 02812664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02812668 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812668 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02812668 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02812668 */ goto L_0281266C;
|
|
L_0281266C: ; // 0x281266c
|
|
/* 0281266C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0281266C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02812670 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812670 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02812670 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02812670 */ goto L_02812674;
|
|
L_02812674: ; // 0x2812674
|
|
/* 02812674 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02812678 @ 0x2812678
|
|
void Gambit_fn_02812678(CPUState* cpu) {
|
|
L_02812678: ; // 0x2812678
|
|
/* 02812678 */ return;
|
|
}
|
|
|
|
// fn_0281267C @ 0x281267c
|
|
void Gambit_fn_0281267C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0281267C: ; // 0x281267c
|
|
/* 0281267C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0281267C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02812680 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02812680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02812684 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02812688 */ cpu->r[11] = 0x10110000u;
|
|
/* 0281268C */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0281268C */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02812690 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02812690 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02812694 */ return;
|
|
}
|
|
|
|
// fn_02812698 @ 0x2812698
|
|
void Gambit_fn_02812698(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_02812698: ; // 0x2812698
|
|
/* 02812698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281269C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281269C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0281269C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0281269C */ goto L_028126A0;
|
|
L_028126A0: ; // 0x28126a0
|
|
/* 028126A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028126A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028126A4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028126A4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028126A4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028126A4 */ goto L_028126A8;
|
|
L_028126A8: ; // 0x28126a8
|
|
/* 028126A8 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028126AC @ 0x28126ac
|
|
void Gambit_fn_028126AC(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_028126AC: ; // 0x28126ac
|
|
/* 028126AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028126B0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028126B0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028126B0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028126B0 */ goto L_028126B4;
|
|
L_028126B4: ; // 0x28126b4
|
|
/* 028126B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028126B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028126B8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028126B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028126B8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028126B8 */ goto L_028126BC;
|
|
L_028126BC: ; // 0x28126bc
|
|
/* 028126BC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028126C0 @ 0x28126c0
|
|
void Gambit_fn_028126C0(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_028126C0: ; // 0x28126c0
|
|
/* 028126C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028126C4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028126C4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028126C4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028126C4 */ goto L_028126C8;
|
|
L_028126C8: ; // 0x28126c8
|
|
/* 028126C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028126C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028126CC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028126CC */ _t19 = _t18 & 0x00000001u;
|
|
/* 028126CC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028126CC */ goto L_028126D0;
|
|
L_028126D0: ; // 0x28126d0
|
|
/* 028126D0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028126D4 @ 0x28126d4
|
|
void Gambit_fn_028126D4(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_028126D4: ; // 0x28126d4
|
|
/* 028126D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028126D8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028126D8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028126D8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028126D8 */ goto L_028126DC;
|
|
L_028126DC: ; // 0x28126dc
|
|
/* 028126DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028126DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028126E0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028126E0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028126E0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028126E0 */ goto L_028126E4;
|
|
L_028126E4: ; // 0x28126e4
|
|
/* 028126E4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028126E8 @ 0x28126e8
|
|
void Gambit_fn_028126E8(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_028126E8: ; // 0x28126e8
|
|
/* 028126E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028126EC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028126EC */ _t17 = _t16 & 0x00000001u;
|
|
/* 028126EC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028126EC */ goto L_028126F0;
|
|
L_028126F0: ; // 0x28126f0
|
|
/* 028126F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028126F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028126F4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028126F4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028126F4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028126F4 */ goto L_028126F8;
|
|
L_028126F8: ; // 0x28126f8
|
|
/* 028126F8 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028126FC @ 0x28126fc
|
|
void Gambit_fn_028126FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_028126FC: ; // 0x28126fc
|
|
/* 028126FC */ cpu->r[3] = cpu->r[3] + 0xFFFFFFF0u;
|
|
/* 02812700 */ goto L_02813614;
|
|
L_02813614: ; // 0x2813614
|
|
/* 02813614 */ cpu->r[0] = cpu->lr;
|
|
/* 02813618 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02813618 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813618 */ cpu->r[1] = _t0;
|
|
/* 0281361C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281361C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02813620 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02813620 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02813624 */ cpu->r[30] = cpu->r[3];
|
|
/* 02813624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02813628 */ cpu->r[31] = cpu->r[4];
|
|
/* 0281362C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281362C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813630 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813630 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02813630 */ if (_t5) goto L_0281365C; else goto L_02813634;
|
|
L_02813634: ; // 0x2813634
|
|
/* 02813634 */ cpu->r[0] = 0x10110000u;
|
|
/* 02813638 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281363C */ cpu->r[0] = cpu->r[0] + 0x00003920u;
|
|
/* 02813640 */ cpu->r[4] = 0x00000000u;
|
|
/* 02813644 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02813644 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02813648 */ Gambit_fn_0280C770(cpu);
|
|
/* 0281364C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0281364C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813650 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813650 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02813650 */ if (_t8) goto L_0281365C; else goto L_02813654;
|
|
L_02813654: ; // 0x2813654
|
|
/* 02813654 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813658 */ Gambit_fn_02801BB0(cpu);
|
|
L_0281365C: ; // 0x281365c
|
|
/* 0281365C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0281365C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02813660 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02813660 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02813664 */ cpu->lr = cpu->r[0];
|
|
/* 02813668 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813668 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0281366C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02813670 */ return;
|
|
}
|
|
|
|
// fn_02812704 @ 0x2812704
|
|
void Gambit_fn_02812704(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86;
|
|
|
|
L_02812704: ; // 0x2812704
|
|
/* 02812704 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02812704 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812704 */ cpu->r[1] = _t0;
|
|
/* 02812708 */ cpu->r[0] = cpu->lr;
|
|
/* 0281270C */ /* nop */
|
|
/* 02812710 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02812710 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02812714 */ cpu->r[29] = cpu->r[3];
|
|
/* 02812714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02812718 */ cpu->r[28] = cpu->r[4];
|
|
/* 0281271C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281271C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0281271C */ if (_t3) goto L_02812720; else goto L_02812730;
|
|
L_02812720: ; // 0x2812720
|
|
/* 02812720 */ cpu->r[3] = 0x0000006Cu;
|
|
/* 02812724 */ Gambit_fn_02801A78(cpu);
|
|
/* 02812728 */ cpu->r[29] = cpu->r[3];
|
|
/* 02812728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0281272C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281272C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0281272C */ if (_t5) goto L_0281297C; else goto L_02812730;
|
|
L_02812730: ; // 0x2812730
|
|
/* 02812730 */ cpu->r[0] = 0x10110000u;
|
|
/* 02812734 */ cpu->r[12] = 0x10110000u;
|
|
/* 02812738 */ cpu->r[0] = cpu->r[0] + 0x000037B8u;
|
|
/* 0281273C */ cpu->r[12] = cpu->r[12] + 0x00003818u;
|
|
/* 02812740 */ cpu->r[26] = cpu->r[29];
|
|
/* 02812740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02812744 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812744 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02812748 */ cpu->r[27] = 0x00000000u;
|
|
/* 0281274C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0281274C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02812750 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812750 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02812750 */ if (_t9) goto L_02812754; else goto L_02812764;
|
|
L_02812754: ; // 0x2812754
|
|
/* 02812754 */ cpu->r[3] = 0x00000054u;
|
|
/* 02812758 */ Gambit_fn_02801A78(cpu);
|
|
/* 0281275C */ cpu->r[26] = cpu->r[3];
|
|
/* 0281275C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02812760 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812760 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02812760 */ if (_t11) goto L_02812948; else goto L_02812764;
|
|
L_02812764: ; // 0x2812764
|
|
/* 02812764 */ cpu->r[3] = cpu->r[26];
|
|
/* 02812764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02812768 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812768 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02812768 */ if (_t13) goto L_0281276C; else goto L_0281277C;
|
|
L_0281276C: ; // 0x281276c
|
|
/* 0281276C */ cpu->r[3] = 0x00000010u;
|
|
/* 02812770 */ Gambit_fn_02801A78(cpu);
|
|
/* 02812774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02812778 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812778 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02812778 */ if (_t15) goto L_0281278C; else goto L_0281277C;
|
|
L_0281277C: ; // 0x281277c
|
|
/* 0281277C */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 0281277C */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 02812780 */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 02812780 */ rbrew_write32(cpu->mem, _t17, cpu->r[26]);
|
|
/* 02812784 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 02812784 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
/* 02812788 */ _t19 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02812788 */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
L_0281278C: ; // 0x281278c
|
|
/* 0281278C */ cpu->r[3] = cpu->r[26] + 0x00000010u;
|
|
/* 02812790 */ Gambit_fn_02821D00(cpu);
|
|
/* 02812794 */ cpu->r[7] = 0x10110000u;
|
|
/* 02812798 */ cpu->r[25] = cpu->r[26] + 0x00000020u;
|
|
/* 0281279C */ cpu->r[0] = 0x10110000u;
|
|
/* 028127A0 */ cpu->r[7] = cpu->r[7] + 0x00003048u;
|
|
/* 028127A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 028127A8 */ cpu->r[0] = cpu->r[0] + 0x00002F60u;
|
|
/* 028127AC */ _t20 = cpu->r[26] + 0x0000001Cu;
|
|
/* 028127AC */ rbrew_write32(cpu->mem, _t20, cpu->r[7]);
|
|
/* 028127B0 */ cpu->r[30] = 0x10110000u;
|
|
/* 028127B4 */ _t21 = cpu->r[26] + 0x00000050u;
|
|
/* 028127B4 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 028127B8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028127B8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028127B8 */ if (_t23) goto L_028127BC; else goto L_0281280C;
|
|
L_028127BC: ; // 0x28127bc
|
|
/* 028127BC */ cpu->r[3] = 0x0000002Cu;
|
|
/* 028127C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028127C4 */ cpu->r[25] = cpu->r[3];
|
|
/* 028127C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 028127C8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028127C8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 028127C8 */ if (_t25) goto L_028127CC; else goto L_0281280C;
|
|
L_028127CC: ; // 0x28127cc
|
|
/* 028127CC */ cpu->r[7] = 0x00000001u;
|
|
/* 028127D0 */ _t26 = cpu->r[30] + 0x00007399u;
|
|
/* 028127D0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t26);
|
|
/* 028127D4 */ _t27 = cpu->r[26] + 0x0000004Cu;
|
|
/* 028127D4 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[7]);
|
|
/* 028127D8 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028127D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028127DC */ _t29 = cpu->r[8] + 0x00000014u;
|
|
/* 028127DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 028127E0 */ cpu->ctr = cpu->r[9];
|
|
/* 028127E4 */ _t30 = cpu->r[26] + 0x00000020u;
|
|
/* 028127E4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028127E8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028127EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028127F0 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 028127F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028127F4 */ _t32 = cpu->r[11] + 0x00000000u;
|
|
/* 028127F4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t32);
|
|
/* 028127F8 */ cpu->r[31] = 0x00000000u;
|
|
/* 028127FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02812800 */ cpu->r[12] = 0x00080000u;
|
|
/* 02812804 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812804 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02812804 */ if (_t34) goto L_02812808; else goto L_028128E8;
|
|
L_02812808: ; // 0x2812808
|
|
/* 02812808 */ goto L_0281290C;
|
|
L_0281280C: ; // 0x281280c
|
|
/* 0281280C */ cpu->r[31] = cpu->r[25];
|
|
/* 0281280C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02812810 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812810 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02812810 */ if (_t36) goto L_02812814; else goto L_02812838;
|
|
L_02812814: ; // 0x2812814
|
|
/* 02812814 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02812818 */ Gambit_fn_02801A78(cpu);
|
|
/* 0281281C */ cpu->r[31] = cpu->r[3];
|
|
/* 0281281C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02812820 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812820 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02812820 */ if (_t38) goto L_02812824; else goto L_02812838;
|
|
L_02812824: ; // 0x2812824
|
|
/* 02812824 */ cpu->r[0] = 0x10110000u;
|
|
/* 02812828 */ _t39 = cpu->r[30] + 0x00007399u;
|
|
/* 02812828 */ cpu->r[30] = rbrew_read8(cpu->mem, _t39);
|
|
/* 0281282C */ cpu->r[0] = cpu->r[0] + 0x00003800u;
|
|
/* 02812830 */ _t40 = cpu->r[25] + 0x00000004u;
|
|
/* 02812830 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02812834 */ goto L_028128B0;
|
|
L_02812838: ; // 0x2812838
|
|
/* 02812838 */ cpu->r[3] = cpu->r[31];
|
|
/* 02812838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281283C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281283C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0281283C */ if (_t42) goto L_02812840; else goto L_0281286C;
|
|
L_02812840: ; // 0x2812840
|
|
/* 02812840 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02812844 */ Gambit_fn_02801A78(cpu);
|
|
/* 02812848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281284C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281284C */ _t44 = _t43 & 0x00000001u;
|
|
/* 0281284C */ if (_t44) goto L_02812850; else goto L_0281286C;
|
|
L_02812850: ; // 0x2812850
|
|
/* 02812850 */ cpu->r[11] = 0x10110000u;
|
|
/* 02812854 */ _t45 = cpu->r[30] + 0x00007399u;
|
|
/* 02812854 */ cpu->r[30] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02812858 */ cpu->r[11] = cpu->r[11] + 0x000037E8u;
|
|
/* 0281285C */ _t46 = cpu->r[31] + 0x00000000u;
|
|
/* 0281285C */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02812860 */ _t47 = cpu->r[31] + 0x00000004u;
|
|
/* 02812860 */ rbrew_write32(cpu->mem, _t47, cpu->r[11]);
|
|
/* 02812864 */ _t48 = cpu->r[12] + 0x00000000u;
|
|
/* 02812864 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[30]);
|
|
/* 02812868 */ goto L_028128A4;
|
|
L_0281286C: ; // 0x281286c
|
|
/* 0281286C */ cpu->r[9] = 0x10110000u;
|
|
/* 02812870 */ cpu->r[0] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02812874 */ cpu->r[9] = cpu->r[9] + 0x000037D0u;
|
|
/* 02812878 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 02812878 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 0281287C */ cpu->r[0] = 0x00000020u;
|
|
/* 02812880 */ _t50 = cpu->r[3] + 0x00000004u;
|
|
/* 02812880 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
/* 02812884 */ _t51 = cpu->r[3] + 0x00000008u;
|
|
/* 02812884 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02812888 */ _t52 = cpu->r[30] + 0x00007399u;
|
|
/* 02812888 */ cpu->r[30] = rbrew_read8(cpu->mem, _t52);
|
|
/* 0281288C */ cpu->r[11] = 0x10110000u;
|
|
/* 02812890 */ _t53 = cpu->r[31] + 0x00000000u;
|
|
/* 02812890 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02812894 */ cpu->r[11] = cpu->r[11] + 0x000037E8u;
|
|
/* 02812898 */ _t54 = cpu->r[31] + 0x0000002Bu;
|
|
/* 02812898 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[30]);
|
|
/* 0281289C */ _t55 = cpu->r[31] + 0x00000004u;
|
|
/* 0281289C */ rbrew_write32(cpu->mem, _t55, cpu->r[11]);
|
|
/* 028128A0 */ _t56 = cpu->r[12] + 0x00000000u;
|
|
/* 028128A0 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[30]);
|
|
L_028128A4: ; // 0x28128a4
|
|
/* 028128A4 */ cpu->r[0] = 0x10110000u;
|
|
/* 028128A8 */ cpu->r[0] = cpu->r[0] + 0x00003800u;
|
|
/* 028128AC */ _t57 = cpu->r[25] + 0x00000004u;
|
|
/* 028128AC */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
L_028128B0: ; // 0x28128b0
|
|
/* 028128B0 */ cpu->r[7] = 0x00000001u;
|
|
/* 028128B4 */ _t58 = cpu->r[26] + 0x0000004Cu;
|
|
/* 028128B4 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[7]);
|
|
/* 028128B8 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028128B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t59);
|
|
/* 028128BC */ _t60 = cpu->r[8] + 0x00000014u;
|
|
/* 028128BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 028128C0 */ cpu->ctr = cpu->r[9];
|
|
/* 028128C4 */ _t61 = cpu->r[26] + 0x00000020u;
|
|
/* 028128C4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t61);
|
|
/* 028128C8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028128CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028128D0 */ _t62 = cpu->r[1] + 0x00000008u;
|
|
/* 028128D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t62);
|
|
/* 028128D4 */ _t63 = cpu->r[11] + 0x00000000u;
|
|
/* 028128D4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t63);
|
|
/* 028128D8 */ cpu->r[31] = 0x00000000u;
|
|
/* 028128DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 028128E0 */ cpu->r[12] = 0x00080000u;
|
|
/* 028128E4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028128E4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 028128E4 */ if (_t65) goto L_0281290C; else goto L_028128E8;
|
|
L_028128E8: ; // 0x28128e8
|
|
/* 028128E8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 028128EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 028128F0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 028128F4 */ _t66 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028128F4 */ _t67 = _t66 & 0x00000001u;
|
|
/* 028128F4 */ if (_t67) goto L_02812908; else goto L_028128F8;
|
|
L_028128F8: ; // 0x28128f8
|
|
/* 028128F8 */ _t68 = cpu->r[11] + 0x00000000u;
|
|
/* 028128F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t68);
|
|
/* 028128FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02812900 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812900 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02812900 */ if (_t70) goto L_02812904; else goto L_028128E8;
|
|
L_02812904: ; // 0x2812904
|
|
/* 02812904 */ goto L_0281290C;
|
|
L_02812908: ; // 0x2812908
|
|
/* 02812908 */ cpu->r[31] = 0x00000000u;
|
|
L_0281290C: ; // 0x281290c
|
|
/* 0281290C */ _t71 = cpu->r[26] + 0x00000028u;
|
|
/* 0281290C */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02812910 */ _t72 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812910 */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02812914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 02812918 */ _t73 = cpu->r[12] + 0x00000014u;
|
|
/* 02812918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0281291C */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0281291C */ _t75 = _t74 & 0x00000001u;
|
|
/* 0281291C */ if (_t75) goto L_02812924; else goto L_02812920;
|
|
L_02812920: ; // 0x2812920
|
|
/* 02812920 */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02812924: ; // 0x2812924
|
|
/* 02812924 */ cpu->ctr = cpu->r[0];
|
|
/* 02812928 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0281292C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812930 */ _t76 = cpu->r[1] + 0x00000008u;
|
|
/* 02812930 */ cpu->r[4] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02812934 */ cpu->r[6] = 0x00000000u;
|
|
/* 02812938 */ cpu->r[5] = cpu->r[31];
|
|
/* 0281293C */ cpu->r[3] = cpu->r[25];
|
|
/* 02812940 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02812944 */ _t77 = cpu->r[25] + cpu->r[31];
|
|
/* 02812944 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[30]);
|
|
L_02812948: ; // 0x2812948
|
|
/* 02812948 */ _t78 = cpu->r[29] + 0x00000060u;
|
|
/* 02812948 */ rbrew_write32(cpu->mem, _t78, cpu->r[27]);
|
|
/* 0281294C */ cpu->r[8] = 0x10110000u;
|
|
/* 02812950 */ _t79 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02812950 */ rbrew_write32(cpu->mem, _t79, cpu->r[27]);
|
|
/* 02812954 */ cpu->r[8] = cpu->r[8] + 0x00003920u;
|
|
/* 02812958 */ _t80 = cpu->r[29] + 0x00000064u;
|
|
/* 02812958 */ rbrew_write32(cpu->mem, _t80, cpu->r[27]);
|
|
/* 0281295C */ cpu->r[10] = 0x000000DAu;
|
|
/* 02812960 */ _t81 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02812960 */ rbrew_write32(cpu->mem, _t81, cpu->r[8]);
|
|
/* 02812964 */ cpu->r[7] = 0x10110000u;
|
|
/* 02812968 */ _t82 = cpu->r[29] + 0x00000058u;
|
|
/* 02812968 */ rbrew_write32(cpu->mem, _t82, cpu->r[10]);
|
|
/* 0281296C */ cpu->r[7] = cpu->r[7] + 0x00003838u;
|
|
/* 02812970 */ _t83 = cpu->r[29] + 0x00000068u;
|
|
/* 02812970 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[28]);
|
|
/* 02812974 */ _t84 = cpu->r[29] + 0x00000050u;
|
|
/* 02812974 */ rbrew_write32(cpu->mem, _t84, cpu->r[7]);
|
|
/* 02812978 */ _t85 = cpu->r[29] + 0x00000054u;
|
|
/* 02812978 */ rbrew_write32(cpu->mem, _t85, cpu->r[27]);
|
|
L_0281297C: ; // 0x281297c
|
|
/* 0281297C */ cpu->r[3] = cpu->r[29];
|
|
/* 02812980 */ /* nop */
|
|
/* 02812984 */ _t86 = cpu->r[1] + 0x00000034u;
|
|
/* 02812984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02812988 */ cpu->lr = cpu->r[0];
|
|
/* 0281298C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02812990 */ return;
|
|
}
|
|
|
|
// fn_02812998 @ 0x2812998
|
|
void Gambit_fn_02812998(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02812998: ; // 0x2812998
|
|
/* 02812998 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02812998 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812998 */ cpu->r[1] = _t0;
|
|
/* 0281299C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281299C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028129A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028129A4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028129A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028129A8 */ _t3 = cpu->r[31] + 0x00000068u;
|
|
/* 028129A8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t3);
|
|
/* 028129AC */ rbrew_dispatch(cpu, 0x02d07dc8u);
|
|
/* 028129B0 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 028129B4 */ _t4 = cpu->r[31] + 0x00000054u;
|
|
/* 028129B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 028129B8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028129BC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 028129BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028129C0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028129C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028129C4 */ cpu->lr = cpu->r[0];
|
|
/* 028129C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028129CC */ return;
|
|
}
|
|
|
|
// fn_028129D0 @ 0x28129d0
|
|
void Gambit_fn_028129D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_028129D0: ; // 0x28129d0
|
|
/* 028129D0 */ _t0 = cpu->r[3] + 0x00000064u;
|
|
/* 028129D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028129D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028129D8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028129D8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 028129D8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 028129D8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028129D8 */ goto L_028129DC;
|
|
L_028129DC: ; // 0x28129dc
|
|
/* 028129DC */ cpu->r[12] = 0x101D0000u;
|
|
/* 028129E0 */ _t4 = cpu->r[12] + 0xFFFF988Cu;
|
|
/* 028129E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028129E4 */ cpu->r[3] = cpu->r[12] + 0x00000024u;
|
|
/* 028129E8 */ return;
|
|
}
|
|
|
|
// fn_028129EC @ 0x28129ec
|
|
void Gambit_fn_028129EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_028129EC: ; // 0x28129ec
|
|
/* 028129EC */ cpu->r[0] = cpu->lr;
|
|
/* 028129F0 */ _t0 = cpu->r[1] + 0xFFFFF568u;
|
|
/* 028129F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028129F0 */ cpu->r[1] = _t0;
|
|
/* 028129F4 */ _t1 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 028129F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028129F8 */ _t2 = cpu->r[1] + 0x00000A90u;
|
|
/* 028129F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028129FC */ _t3 = cpu->r[1] + 0x00000A94u;
|
|
/* 028129FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02812A00 */ _t4 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02812A00 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02812A04 */ cpu->r[29] = cpu->r[3];
|
|
/* 02812A08 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02812A0C */ cpu->r[30] = cpu->r[4];
|
|
/* 02812A10 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02812A14 */ cpu->r[3] = cpu->r[29];
|
|
/* 02812A18 */ Gambit_fn_028129D0(cpu);
|
|
/* 02812A1C */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02812A1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02812A20 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 02812A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02812A24 */ cpu->r[31] = cpu->r[3];
|
|
/* 02812A28 */ cpu->ctr = cpu->r[0];
|
|
/* 02812A2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02812A30 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812A34 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02812A34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02812A38 */ cpu->r[3] = cpu->r[31];
|
|
/* 02812A3C */ _t8 = cpu->r[29] + 0x00000068u;
|
|
/* 02812A3C */ cpu->r[5] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02812A40 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02812A44 */ cpu->r[7] = 0x00000A8Au;
|
|
/* 02812A48 */ rbrew_dispatch(cpu, 0x02d07ea8u);
|
|
/* 02812A4C */ _t9 = cpu->r[29] + 0x00000054u;
|
|
/* 02812A4C */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02812A50 */ _t10 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02812A50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02812A54 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02812A58 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02812A5C */ _t11 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02812A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02812A60 */ _t12 = cpu->r[1] + 0x00000A94u;
|
|
/* 02812A60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02812A64 */ cpu->lr = cpu->r[0];
|
|
/* 02812A68 */ _t13 = cpu->r[1] + 0x00000A90u;
|
|
/* 02812A68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02812A6C */ cpu->r[1] = cpu->r[1] + 0x00000A98u;
|
|
/* 02812A70 */ return;
|
|
}
|
|
|
|
// fn_028129F0 @ 0x28129f0
|
|
void Gambit_fn_028129F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_028129F0: ; // 0x28129f0
|
|
/* 028129F0 */ _t0 = cpu->r[1] + 0xFFFFF568u;
|
|
/* 028129F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028129F0 */ cpu->r[1] = _t0;
|
|
/* 028129F4 */ _t1 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 028129F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028129F8 */ _t2 = cpu->r[1] + 0x00000A90u;
|
|
/* 028129F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028129FC */ _t3 = cpu->r[1] + 0x00000A94u;
|
|
/* 028129FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02812A00 */ _t4 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02812A00 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02812A04 */ cpu->r[29] = cpu->r[3];
|
|
/* 02812A08 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02812A0C */ cpu->r[30] = cpu->r[4];
|
|
/* 02812A10 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02812A14 */ cpu->r[3] = cpu->r[29];
|
|
/* 02812A18 */ Gambit_fn_028129D0(cpu);
|
|
/* 02812A1C */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02812A1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02812A20 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 02812A20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02812A24 */ cpu->r[31] = cpu->r[3];
|
|
/* 02812A28 */ cpu->ctr = cpu->r[0];
|
|
/* 02812A2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02812A30 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812A34 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02812A34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02812A38 */ cpu->r[3] = cpu->r[31];
|
|
/* 02812A3C */ _t8 = cpu->r[29] + 0x00000068u;
|
|
/* 02812A3C */ cpu->r[5] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02812A40 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02812A44 */ cpu->r[7] = 0x00000A8Au;
|
|
/* 02812A48 */ rbrew_dispatch(cpu, 0x02d07ea8u);
|
|
/* 02812A4C */ _t9 = cpu->r[29] + 0x00000054u;
|
|
/* 02812A4C */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02812A50 */ _t10 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02812A50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02812A54 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02812A58 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02812A5C */ _t11 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02812A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02812A60 */ _t12 = cpu->r[1] + 0x00000A94u;
|
|
/* 02812A60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02812A64 */ cpu->lr = cpu->r[0];
|
|
/* 02812A68 */ _t13 = cpu->r[1] + 0x00000A90u;
|
|
/* 02812A68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02812A6C */ cpu->r[1] = cpu->r[1] + 0x00000A98u;
|
|
/* 02812A70 */ return;
|
|
}
|
|
|
|
// fn_02812A74 @ 0x2812a74
|
|
void Gambit_fn_02812A74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02812A74: ; // 0x2812a74
|
|
/* 02812A74 */ cpu->r[0] = cpu->lr;
|
|
/* 02812A78 */ _t0 = cpu->r[1] + 0xFFFFF570u;
|
|
/* 02812A78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812A78 */ cpu->r[1] = _t0;
|
|
/* 02812A7C */ _t1 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02812A7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02812A80 */ cpu->r[31] = cpu->r[3];
|
|
/* 02812A84 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02812A88 */ _t2 = cpu->r[1] + 0x00000A94u;
|
|
/* 02812A88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02812A8C */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02812A90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02812A94 */ Gambit_fn_028129D0(cpu);
|
|
/* 02812A98 */ _t3 = cpu->r[31] + 0x00000068u;
|
|
/* 02812A98 */ cpu->r[5] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02812A9C */ cpu->r[6] = 0x00000000u;
|
|
/* 02812AA0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02812AA4 */ rbrew_dispatch(cpu, 0x02d07d10u);
|
|
/* 02812AA8 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02812AAC */ _t4 = cpu->r[31] + 0x00000054u;
|
|
/* 02812AAC */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02812AB0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02812AB4 */ _t5 = cpu->r[1] + 0x00000A94u;
|
|
/* 02812AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02812AB8 */ _t6 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02812AB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02812ABC */ cpu->lr = cpu->r[0];
|
|
/* 02812AC0 */ cpu->r[1] = cpu->r[1] + 0x00000A90u;
|
|
/* 02812AC4 */ return;
|
|
}
|
|
|
|
// fn_02812A78 @ 0x2812a78
|
|
void Gambit_fn_02812A78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02812A78: ; // 0x2812a78
|
|
/* 02812A78 */ _t0 = cpu->r[1] + 0xFFFFF570u;
|
|
/* 02812A78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812A78 */ cpu->r[1] = _t0;
|
|
/* 02812A7C */ _t1 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02812A7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02812A80 */ cpu->r[31] = cpu->r[3];
|
|
/* 02812A84 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02812A88 */ _t2 = cpu->r[1] + 0x00000A94u;
|
|
/* 02812A88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02812A8C */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02812A90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02812A94 */ Gambit_fn_028129D0(cpu);
|
|
/* 02812A98 */ _t3 = cpu->r[31] + 0x00000068u;
|
|
/* 02812A98 */ cpu->r[5] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02812A9C */ cpu->r[6] = 0x00000000u;
|
|
/* 02812AA0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02812AA4 */ rbrew_dispatch(cpu, 0x02d07d10u);
|
|
/* 02812AA8 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02812AAC */ _t4 = cpu->r[31] + 0x00000054u;
|
|
/* 02812AAC */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02812AB0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02812AB4 */ _t5 = cpu->r[1] + 0x00000A94u;
|
|
/* 02812AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02812AB8 */ _t6 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02812AB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02812ABC */ cpu->lr = cpu->r[0];
|
|
/* 02812AC0 */ cpu->r[1] = cpu->r[1] + 0x00000A90u;
|
|
/* 02812AC4 */ return;
|
|
}
|
|
|
|
// fn_02812AC8 @ 0x2812ac8
|
|
void Gambit_fn_02812AC8(CPUState* cpu) {
|
|
L_0280DE18: ; // 0x280de18
|
|
/* 0280DE18 */ cpu->r[3] = cpu->r[4] + 0x00000008u;
|
|
/* 0280DE1C */ return;
|
|
L_02812AC8: ; // 0x2812ac8
|
|
/* 02812AC8 */ goto L_0280DE18;
|
|
}
|
|
|
|
// fn_02812ACC @ 0x2812acc
|
|
void Gambit_fn_02812ACC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02812ACC: ; // 0x2812acc
|
|
/* 02812ACC */ _t0 = cpu->r[1] + 0xFFFFF560u;
|
|
/* 02812ACC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812ACC */ cpu->r[1] = _t0;
|
|
/* 02812AD0 */ cpu->r[0] = cpu->lr;
|
|
/* 02812AD4 */ /* nop */
|
|
/* 02812AD8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812ADC */ cpu->r[28] = cpu->r[4];
|
|
/* 02812AE0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02812AE4 */ cpu->r[31] = cpu->r[6];
|
|
/* 02812AE8 */ _t1 = cpu->r[1] + 0x00000AA4u;
|
|
/* 02812AE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02812AEC */ cpu->r[29] = cpu->r[5];
|
|
/* 02812AF0 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02812AF4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02812AF8 */ Gambit_fn_028129D0(cpu);
|
|
/* 02812AFC */ cpu->r[27] = cpu->r[3];
|
|
/* 02812B00 */ cpu->r[4] = cpu->r[28];
|
|
/* 02812B04 */ cpu->r[3] = cpu->r[30];
|
|
/* 02812B08 */ Gambit_fn_02812AC8(cpu);
|
|
/* 02812B0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u);
|
|
/* 02812B10 */ cpu->r[28] = cpu->r[3];
|
|
/* 02812B14 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02812B14 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02812B14 */ if (_t3) goto L_02812B78; else goto L_02812B18;
|
|
L_02812B18: ; // 0x2812b18
|
|
/* 02812B18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000003u);
|
|
/* 02812B1C */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02812B1C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02812B1C */ if (_t5) goto L_02812B78; else goto L_02812B20;
|
|
L_02812B20: ; // 0x2812b20
|
|
/* 02812B20 */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 02812B20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02812B24 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02812B28 */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 02812B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02812B2C */ cpu->r[9] = cpu->r[10] + 0x10110000u;
|
|
/* 02812B30 */ cpu->ctr = cpu->r[0];
|
|
/* 02812B34 */ _t8 = cpu->r[9] + 0x00003820u;
|
|
/* 02812B34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02812B38 */ cpu->r[3] = cpu->r[29];
|
|
/* 02812B3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812B40 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 02812B40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02812B44 */ cpu->r[3] = cpu->r[27];
|
|
/* 02812B48 */ _t10 = cpu->r[30] + 0x00000068u;
|
|
/* 02812B48 */ cpu->r[5] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02812B4C */ cpu->r[7] = cpu->r[31];
|
|
/* 02812B50 */ _t11 = cpu->r[30] + 0x00000058u;
|
|
/* 02812B50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02812B54 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02812B58 */ cpu->r[8] = cpu->r[28];
|
|
/* 02812B5C */ rbrew_dispatch(cpu, 0x02d07e48u);
|
|
/* 02812B60 */ cpu->r[11] = 0x00000000u;
|
|
/* 02812B64 */ _t12 = cpu->r[28] + 0x00000004u;
|
|
/* 02812B64 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02812B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02812B6C */ _t13 = cpu->r[30] + 0x00000054u;
|
|
/* 02812B6C */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 02812B70 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812B70 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02812B70 */ if (_t15) goto L_02812B74; else goto L_02812BC4;
|
|
L_02812B74: ; // 0x2812b74
|
|
/* 02812B74 */ goto L_02812BCC;
|
|
L_02812B78: ; // 0x2812b78
|
|
/* 02812B78 */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 02812B78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02812B7C */ _t17 = cpu->r[12] + 0x00000014u;
|
|
/* 02812B7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02812B80 */ cpu->ctr = cpu->r[0];
|
|
/* 02812B84 */ cpu->r[3] = cpu->r[29];
|
|
/* 02812B88 */ cpu->r[31] = 0x10110000u;
|
|
/* 02812B8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812B90 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02812B90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02812B94 */ cpu->r[3] = cpu->r[27];
|
|
/* 02812B98 */ _t19 = cpu->r[30] + 0x00000068u;
|
|
/* 02812B98 */ cpu->r[5] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02812B9C */ cpu->r[7] = cpu->r[31] + 0x00003820u;
|
|
/* 02812BA0 */ _t20 = cpu->r[30] + 0x00000058u;
|
|
/* 02812BA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02812BA4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02812BA8 */ cpu->r[8] = cpu->r[28];
|
|
/* 02812BAC */ rbrew_dispatch(cpu, 0x02d07e48u);
|
|
/* 02812BB0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02812BB4 */ _t21 = cpu->r[28] + 0x00000004u;
|
|
/* 02812BB4 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 02812BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02812BBC */ _t22 = cpu->r[30] + 0x00000054u;
|
|
/* 02812BBC */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02812BC0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812BC0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02812BC0 */ if (_t24) goto L_02812BCC; else goto L_02812BC4;
|
|
L_02812BC4: ; // 0x2812bc4
|
|
/* 02812BC4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02812BC8 */ _t25 = cpu->r[28] + 0x00000000u;
|
|
/* 02812BC8 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
L_02812BCC: ; // 0x2812bcc
|
|
/* 02812BCC */ cpu->r[3] = cpu->r[30];
|
|
/* 02812BD0 */ /* nop */
|
|
/* 02812BD4 */ _t26 = cpu->r[1] + 0x00000AA4u;
|
|
/* 02812BD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02812BD8 */ cpu->lr = cpu->r[0];
|
|
/* 02812BDC */ cpu->r[1] = cpu->r[1] + 0x00000AA0u;
|
|
/* 02812BE0 */ return;
|
|
}
|
|
|
|
// fn_02812BE4 @ 0x2812be4
|
|
void Gambit_fn_02812BE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02812BE4: ; // 0x2812be4
|
|
/* 02812BE4 */ cpu->r[0] = cpu->lr;
|
|
/* 02812BE8 */ _t0 = cpu->r[1] + 0xFFFFF568u;
|
|
/* 02812BE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812BE8 */ cpu->r[1] = _t0;
|
|
/* 02812BEC */ _t1 = cpu->r[1] + 0x00000A94u;
|
|
/* 02812BEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02812BF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02812BF4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02812BF8 */ _t2 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02812BF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02812BFC */ _t3 = cpu->r[1] + 0x00000A90u;
|
|
/* 02812BFC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02812C00 */ _t4 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02812C00 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02812C04 */ cpu->r[29] = cpu->r[4];
|
|
/* 02812C08 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02812C0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02812C10 */ Gambit_fn_028129D0(cpu);
|
|
/* 02812C14 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812C18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02812C1C */ cpu->r[4] = cpu->r[29];
|
|
/* 02812C20 */ Gambit_fn_02812AC8(cpu);
|
|
/* 02812C24 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02812C24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02812C28 */ cpu->r[3] = cpu->r[30];
|
|
/* 02812C2C */ _t6 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02812C2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02812C30 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02812C34 */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02812C38 */ _t7 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02812C38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02812C3C */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02812C40 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02812C44 */ _t8 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02812C44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02812C48 */ _t9 = cpu->r[1] + 0x00000A94u;
|
|
/* 02812C48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02812C4C */ cpu->lr = cpu->r[0];
|
|
/* 02812C50 */ _t10 = cpu->r[1] + 0x00000A90u;
|
|
/* 02812C50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02812C54 */ cpu->r[1] = cpu->r[1] + 0x00000A98u;
|
|
/* 02812C58 */ return;
|
|
}
|
|
|
|
// fn_02812BE8 @ 0x2812be8
|
|
void Gambit_fn_02812BE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02812BE8: ; // 0x2812be8
|
|
/* 02812BE8 */ _t0 = cpu->r[1] + 0xFFFFF568u;
|
|
/* 02812BE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812BE8 */ cpu->r[1] = _t0;
|
|
/* 02812BEC */ _t1 = cpu->r[1] + 0x00000A94u;
|
|
/* 02812BEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02812BF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02812BF4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02812BF8 */ _t2 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02812BF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02812BFC */ _t3 = cpu->r[1] + 0x00000A90u;
|
|
/* 02812BFC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02812C00 */ _t4 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02812C00 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02812C04 */ cpu->r[29] = cpu->r[4];
|
|
/* 02812C08 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02812C0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02812C10 */ Gambit_fn_028129D0(cpu);
|
|
/* 02812C14 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812C18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02812C1C */ cpu->r[4] = cpu->r[29];
|
|
/* 02812C20 */ Gambit_fn_02812AC8(cpu);
|
|
/* 02812C24 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02812C24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02812C28 */ cpu->r[3] = cpu->r[30];
|
|
/* 02812C2C */ _t6 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02812C2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02812C30 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02812C34 */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02812C38 */ _t7 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02812C38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02812C3C */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02812C40 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02812C44 */ _t8 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02812C44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02812C48 */ _t9 = cpu->r[1] + 0x00000A94u;
|
|
/* 02812C48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02812C4C */ cpu->lr = cpu->r[0];
|
|
/* 02812C50 */ _t10 = cpu->r[1] + 0x00000A90u;
|
|
/* 02812C50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02812C54 */ cpu->r[1] = cpu->r[1] + 0x00000A98u;
|
|
/* 02812C58 */ return;
|
|
}
|
|
|
|
// fn_02812C5C @ 0x2812c5c
|
|
void Gambit_fn_02812C5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02812C5C: ; // 0x2812c5c
|
|
/* 02812C5C */ _t0 = cpu->r[1] + 0xFFFFF560u;
|
|
/* 02812C5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812C5C */ cpu->r[1] = _t0;
|
|
/* 02812C60 */ cpu->r[0] = cpu->lr;
|
|
/* 02812C64 */ /* nop */
|
|
/* 02812C68 */ cpu->r[31] = cpu->r[3];
|
|
/* 02812C6C */ cpu->r[26] = cpu->r[4];
|
|
/* 02812C70 */ cpu->r[30] = cpu->r[5];
|
|
/* 02812C74 */ cpu->r[27] = cpu->r[6];
|
|
/* 02812C78 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02812C7C */ _t1 = cpu->r[1] + 0x00000AA4u;
|
|
/* 02812C7C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02812C80 */ cpu->r[29] = cpu->r[7];
|
|
/* 02812C84 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02812C88 */ cpu->r[3] = cpu->r[31];
|
|
/* 02812C8C */ Gambit_fn_028129D0(cpu);
|
|
/* 02812C90 */ cpu->r[28] = cpu->r[3];
|
|
/* 02812C94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02812C98 */ cpu->r[4] = cpu->r[30];
|
|
/* 02812C9C */ Gambit_fn_02812AC8(cpu);
|
|
/* 02812CA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812CA4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02812CA8 */ cpu->r[5] = cpu->r[27];
|
|
/* 02812CAC */ cpu->r[3] = cpu->r[28];
|
|
/* 02812CB0 */ cpu->r[6] = 0x00000001u;
|
|
/* 02812CB4 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02812CB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02812CB8 */ cpu->r[7] = cpu->r[29];
|
|
/* 02812CBC */ _t3 = cpu->r[31] + 0x00000060u;
|
|
/* 02812CBC */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02812CC0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02812CC4 */ rbrew_dispatch(cpu, 0x02d09a00u);
|
|
/* 02812CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02812CCC */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02812CCC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02812CCC */ if (_t5) goto L_02812D08; else goto L_02812CD0;
|
|
L_02812CD0: ; // 0x2812cd0
|
|
/* 02812CD0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02812CD4 */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 02812CD4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02812CD8 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02812CD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02812CDC */ cpu->r[12] = cpu->r[12] + cpu->r[3];
|
|
/* 02812CE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02812CE4 */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 02812CE4 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02812CE8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812CE8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02812CE8 */ if (_t10) goto L_02812CF0; else goto L_02812CEC;
|
|
L_02812CEC: ; // 0x2812cec
|
|
/* 02812CEC */ _t11 = cpu->r[26] + 0x00000000u;
|
|
/* 02812CEC */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
L_02812CF0: ; // 0x2812cf0
|
|
/* 02812CF0 */ /* nop */
|
|
/* 02812CF4 */ _t12 = cpu->r[1] + 0x00000AA4u;
|
|
/* 02812CF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02812CF8 */ cpu->lr = cpu->r[0];
|
|
/* 02812CFC */ cpu->r[1] = cpu->r[1] + 0x00000AA0u;
|
|
/* 02812D00 */ cpu->r[3] = 0x00000001u;
|
|
/* 02812D04 */ return;
|
|
L_02812D08: ; // 0x2812d08
|
|
/* 02812D08 */ _t13 = cpu->r[31] + 0x00000054u;
|
|
/* 02812D08 */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 02812D0C */ /* nop */
|
|
/* 02812D10 */ _t14 = cpu->r[1] + 0x00000AA4u;
|
|
/* 02812D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02812D14 */ cpu->lr = cpu->r[0];
|
|
/* 02812D18 */ cpu->r[1] = cpu->r[1] + 0x00000AA0u;
|
|
/* 02812D1C */ cpu->r[3] = 0x00000000u;
|
|
/* 02812D20 */ return;
|
|
}
|
|
|
|
// fn_02812D24 @ 0x2812d24
|
|
void Gambit_fn_02812D24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02812D24: ; // 0x2812d24
|
|
/* 02812D24 */ _t0 = cpu->r[1] + 0xFFFFF560u;
|
|
/* 02812D24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812D24 */ cpu->r[1] = _t0;
|
|
/* 02812D28 */ cpu->r[0] = cpu->lr;
|
|
/* 02812D2C */ /* nop */
|
|
/* 02812D30 */ cpu->r[31] = cpu->r[3];
|
|
/* 02812D34 */ cpu->r[26] = cpu->r[4];
|
|
/* 02812D38 */ cpu->r[30] = cpu->r[5];
|
|
/* 02812D3C */ cpu->r[27] = cpu->r[6];
|
|
/* 02812D40 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02812D44 */ _t1 = cpu->r[1] + 0x00000AA4u;
|
|
/* 02812D44 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02812D48 */ cpu->r[29] = cpu->r[7];
|
|
/* 02812D4C */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02812D50 */ cpu->r[3] = cpu->r[31];
|
|
/* 02812D54 */ Gambit_fn_028129D0(cpu);
|
|
/* 02812D58 */ cpu->r[28] = cpu->r[3];
|
|
/* 02812D5C */ cpu->r[4] = cpu->r[30];
|
|
/* 02812D60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02812D64 */ Gambit_fn_02812AC8(cpu);
|
|
/* 02812D68 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812D6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02812D70 */ cpu->r[5] = cpu->r[27];
|
|
/* 02812D74 */ cpu->r[7] = cpu->r[29];
|
|
/* 02812D78 */ cpu->r[9] = 0x00000000u;
|
|
/* 02812D7C */ cpu->r[3] = cpu->r[28];
|
|
/* 02812D80 */ cpu->r[6] = 0x00000001u;
|
|
/* 02812D84 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 02812D84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02812D88 */ cpu->r[10] = cpu->r[9];
|
|
/* 02812D8C */ rbrew_dispatch(cpu, 0x02d09ae0u);
|
|
/* 02812D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02812D94 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02812D94 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02812D94 */ if (_t4) goto L_02812DD0; else goto L_02812D98;
|
|
L_02812D98: ; // 0x2812d98
|
|
/* 02812D98 */ cpu->r[0] = 0x00000000u;
|
|
/* 02812D9C */ _t5 = cpu->r[31] + 0x00000054u;
|
|
/* 02812D9C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02812DA0 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02812DA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02812DA4 */ cpu->r[12] = cpu->r[12] + cpu->r[3];
|
|
/* 02812DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02812DAC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02812DAC */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02812DB0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812DB0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02812DB0 */ if (_t9) goto L_02812DB8; else goto L_02812DB4;
|
|
L_02812DB4: ; // 0x2812db4
|
|
/* 02812DB4 */ _t10 = cpu->r[26] + 0x00000000u;
|
|
/* 02812DB4 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
L_02812DB8: ; // 0x2812db8
|
|
/* 02812DB8 */ /* nop */
|
|
/* 02812DBC */ _t11 = cpu->r[1] + 0x00000AA4u;
|
|
/* 02812DBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02812DC0 */ cpu->lr = cpu->r[0];
|
|
/* 02812DC4 */ cpu->r[1] = cpu->r[1] + 0x00000AA0u;
|
|
/* 02812DC8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02812DCC */ return;
|
|
L_02812DD0: ; // 0x2812dd0
|
|
/* 02812DD0 */ _t12 = cpu->r[31] + 0x00000054u;
|
|
/* 02812DD0 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 02812DD4 */ /* nop */
|
|
/* 02812DD8 */ _t13 = cpu->r[1] + 0x00000AA4u;
|
|
/* 02812DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02812DDC */ cpu->lr = cpu->r[0];
|
|
/* 02812DE0 */ cpu->r[1] = cpu->r[1] + 0x00000AA0u;
|
|
/* 02812DE4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02812DE8 */ return;
|
|
}
|
|
|
|
// fn_02812DEC @ 0x2812dec
|
|
void Gambit_fn_02812DEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02812DEC: ; // 0x2812dec
|
|
/* 02812DEC */ _t0 = cpu->r[1] + 0xFFFFF558u;
|
|
/* 02812DEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812DEC */ cpu->r[1] = _t0;
|
|
/* 02812DF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02812DF4 */ /* nop */
|
|
/* 02812DF8 */ cpu->r[26] = cpu->r[3];
|
|
/* 02812DFC */ cpu->r[27] = cpu->r[4];
|
|
/* 02812E00 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812E04 */ cpu->r[31] = cpu->r[6];
|
|
/* 02812E08 */ _t1 = cpu->r[1] + 0x00000AACu;
|
|
/* 02812E08 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02812E0C */ cpu->r[29] = cpu->r[5];
|
|
/* 02812E10 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02812E14 */ cpu->r[3] = cpu->r[26];
|
|
/* 02812E18 */ Gambit_fn_028129D0(cpu);
|
|
/* 02812E1C */ cpu->r[28] = cpu->r[3];
|
|
/* 02812E20 */ cpu->r[4] = cpu->r[27];
|
|
/* 02812E24 */ cpu->r[3] = cpu->r[26];
|
|
/* 02812E28 */ Gambit_fn_02812AC8(cpu);
|
|
/* 02812E2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u);
|
|
/* 02812E30 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812E34 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02812E34 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02812E34 */ if (_t3) goto L_02812EB0; else goto L_02812E38;
|
|
L_02812E38: ; // 0x2812e38
|
|
/* 02812E38 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812E38 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02812E38 */ if (_t5) goto L_02812E4C; else goto L_02812E3C;
|
|
L_02812E3C: ; // 0x2812e3c
|
|
/* 02812E3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000002u);
|
|
/* 02812E40 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812E40 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02812E40 */ if (_t7) goto L_02812E7C; else goto L_02812E44;
|
|
L_02812E44: ; // 0x2812e44
|
|
/* 02812E44 */ cpu->r[3] = 0x00000000u;
|
|
/* 02812E48 */ goto L_02812EF4;
|
|
L_02812E4C: ; // 0x2812e4c
|
|
/* 02812E4C */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 02812E4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02812E50 */ cpu->r[3] = cpu->r[28];
|
|
/* 02812E54 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812E58 */ cpu->r[29] = cpu->r[29] + cpu->r[10];
|
|
/* 02812E5C */ cpu->r[7] = 0x00000000u;
|
|
/* 02812E60 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02812E60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02812E64 */ cpu->r[6] = cpu->r[29];
|
|
/* 02812E68 */ rbrew_dispatch(cpu, 0x02d09a90u);
|
|
/* 02812E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02812E70 */ _t10 = cpu->r[26] + 0x00000054u;
|
|
/* 02812E70 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02812E74 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812E74 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02812E74 */ if (_t12) goto L_02812E78; else goto L_02812EF0;
|
|
L_02812E78: ; // 0x2812e78
|
|
/* 02812E78 */ goto L_02812ED4;
|
|
L_02812E7C: ; // 0x2812e7c
|
|
/* 02812E7C */ _t13 = cpu->r[26] + 0x00000050u;
|
|
/* 02812E7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02812E80 */ cpu->r[0] = 0x00000000u;
|
|
/* 02812E84 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02812E84 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02812E88 */ _t15 = cpu->r[12] + 0x0000009Cu;
|
|
/* 02812E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02812E8C */ cpu->ctr = cpu->r[0];
|
|
/* 02812E90 */ cpu->r[3] = cpu->r[26];
|
|
/* 02812E94 */ cpu->r[5] = cpu->r[27];
|
|
/* 02812E98 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02812E9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02812EA4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812EA4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02812EA4 */ if (_t17) goto L_02812EF0; else goto L_02812EA8;
|
|
L_02812EA8: ; // 0x2812ea8
|
|
/* 02812EA8 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02812EA8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02812EAC */ cpu->r[29] = cpu->r[29] + cpu->r[9];
|
|
L_02812EB0: ; // 0x2812eb0
|
|
/* 02812EB0 */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02812EB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02812EB4 */ cpu->r[7] = 0x00000000u;
|
|
/* 02812EB8 */ cpu->r[6] = cpu->r[29];
|
|
/* 02812EBC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812EC0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02812EC4 */ rbrew_dispatch(cpu, 0x02d09a90u);
|
|
/* 02812EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02812ECC */ _t20 = cpu->r[26] + 0x00000054u;
|
|
/* 02812ECC */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 02812ED0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812ED0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02812ED0 */ if (_t22) goto L_02812ED4; else goto L_02812EF0;
|
|
L_02812ED4: ; // 0x2812ed4
|
|
/* 02812ED4 */ _t23 = cpu->r[30] + 0x00000004u;
|
|
/* 02812ED4 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 02812ED8 */ /* nop */
|
|
/* 02812EDC */ _t24 = cpu->r[1] + 0x00000AACu;
|
|
/* 02812EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02812EE0 */ cpu->lr = cpu->r[0];
|
|
/* 02812EE4 */ cpu->r[1] = cpu->r[1] + 0x00000AA8u;
|
|
/* 02812EE8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02812EEC */ return;
|
|
L_02812EF0: ; // 0x2812ef0
|
|
/* 02812EF0 */ cpu->r[3] = 0x00000000u;
|
|
L_02812EF4: ; // 0x2812ef4
|
|
/* 02812EF4 */ /* nop */
|
|
/* 02812EF8 */ _t25 = cpu->r[1] + 0x00000AACu;
|
|
/* 02812EF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02812EFC */ cpu->lr = cpu->r[0];
|
|
/* 02812F00 */ cpu->r[1] = cpu->r[1] + 0x00000AA8u;
|
|
/* 02812F04 */ return;
|
|
}
|
|
|
|
// fn_02812F08 @ 0x2812f08
|
|
void Gambit_fn_02812F08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02812F08: ; // 0x2812f08
|
|
/* 02812F08 */ cpu->r[0] = cpu->lr;
|
|
/* 02812F0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02812F0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812F0C */ cpu->r[1] = _t0;
|
|
/* 02812F10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812F10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02812F14 */ cpu->r[31] = cpu->r[4];
|
|
/* 02812F18 */ cpu->r[4] = cpu->r[5];
|
|
/* 02812F1C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02812F1C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02812F20 */ Gambit_fn_02812AC8(cpu);
|
|
/* 02812F24 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02812F24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02812F28 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02812F28 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02812F2C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02812F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02812F30 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812F30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02812F34 */ cpu->lr = cpu->r[0];
|
|
/* 02812F38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02812F3C */ cpu->r[3] = 0x00000001u;
|
|
/* 02812F40 */ return;
|
|
}
|
|
|
|
// fn_02812F0C @ 0x2812f0c
|
|
void Gambit_fn_02812F0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02812F0C: ; // 0x2812f0c
|
|
/* 02812F0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02812F0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812F0C */ cpu->r[1] = _t0;
|
|
/* 02812F10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812F10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02812F14 */ cpu->r[31] = cpu->r[4];
|
|
/* 02812F18 */ cpu->r[4] = cpu->r[5];
|
|
/* 02812F1C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02812F1C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02812F20 */ Gambit_fn_02812AC8(cpu);
|
|
/* 02812F24 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02812F24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02812F28 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02812F28 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02812F2C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02812F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02812F30 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02812F30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02812F34 */ cpu->lr = cpu->r[0];
|
|
/* 02812F38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02812F3C */ cpu->r[3] = 0x00000001u;
|
|
/* 02812F40 */ return;
|
|
}
|
|
|
|
// fn_02812F44 @ 0x2812f44
|
|
void Gambit_fn_02812F44(CPUState* cpu) {
|
|
uint32_t _t0, _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_02812F44: ; // 0x2812f44
|
|
/* 02812F44 */ cpu->r[0] = cpu->lr;
|
|
/* 02812F48 */ _t0 = cpu->r[1] + 0xFFFFF500u;
|
|
/* 02812F48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812F48 */ cpu->r[1] = _t0;
|
|
/* 02812F4C */ _t1 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02812F4C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02812F50 */ cpu->r[28] = cpu->r[3];
|
|
/* 02812F54 */ _t2 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02812F54 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02812F58 */ _t3 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02812F58 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02812F5C */ cpu->r[31] = cpu->r[5];
|
|
/* 02812F60 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02812F64 */ _t4 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02812F64 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02812F68 */ _t5 = cpu->r[1] + 0x00000B04u;
|
|
/* 02812F68 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02812F6C */ cpu->r[29] = cpu->r[4];
|
|
/* 02812F70 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02812F74 */ cpu->r[3] = cpu->r[28];
|
|
/* 02812F78 */ Gambit_fn_028129D0(cpu);
|
|
/* 02812F7C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02812F7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02812F80 */ _t7 = cpu->r[11] + 0x00000014u;
|
|
/* 02812F80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02812F84 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812F88 */ cpu->ctr = cpu->r[0];
|
|
/* 02812F8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02812F90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812F94 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02812F94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02812F98 */ cpu->r[3] = cpu->r[30];
|
|
/* 02812F9C */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02812FA0 */ _t9 = cpu->r[28] + 0x00000068u;
|
|
/* 02812FA0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02812FA4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02812FA8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02812FAC */ rbrew_dispatch(cpu, 0x02d07d58u);
|
|
/* 02812FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02812FB4 */ _t10 = cpu->r[28] + 0x00000054u;
|
|
/* 02812FB4 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02812FB8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812FB8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02812FB8 */ if (_t12) goto L_02812FE0; else goto L_02812FBC;
|
|
L_02812FBC: ; // 0x2812fbc
|
|
/* 02812FBC */ _t13 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02812FBC */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02812FC0 */ _t14 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02812FC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02812FC4 */ _t15 = cpu->r[1] + 0x00000B04u;
|
|
/* 02812FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02812FC8 */ _t16 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02812FC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02812FCC */ cpu->lr = cpu->r[0];
|
|
/* 02812FD0 */ _t17 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02812FD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02812FD4 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 02812FD8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02812FDC */ return;
|
|
L_02812FE0: ; // 0x2812fe0
|
|
/* 02812FE0 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02812FE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02812FE4 */ _t19 = cpu->r[29] + 0x00000000u;
|
|
/* 02812FE4 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02812FE8 */ _t20 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02812FE8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02812FEC */ _t21 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02812FEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02812FF0 */ _t22 = cpu->r[1] + 0x00000B04u;
|
|
/* 02812FF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02812FF4 */ _t23 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02812FF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02812FF8 */ cpu->lr = cpu->r[0];
|
|
/* 02812FFC */ _t24 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02812FFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02813000 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 02813004 */ cpu->r[3] = 0x00000001u;
|
|
/* 02813008 */ return;
|
|
}
|
|
|
|
// fn_02812F48 @ 0x2812f48
|
|
void Gambit_fn_02812F48(CPUState* cpu) {
|
|
uint32_t _t0, _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_02812F48: ; // 0x2812f48
|
|
/* 02812F48 */ _t0 = cpu->r[1] + 0xFFFFF500u;
|
|
/* 02812F48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02812F48 */ cpu->r[1] = _t0;
|
|
/* 02812F4C */ _t1 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02812F4C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02812F50 */ cpu->r[28] = cpu->r[3];
|
|
/* 02812F54 */ _t2 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02812F54 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02812F58 */ _t3 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02812F58 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02812F5C */ cpu->r[31] = cpu->r[5];
|
|
/* 02812F60 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02812F64 */ _t4 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02812F64 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02812F68 */ _t5 = cpu->r[1] + 0x00000B04u;
|
|
/* 02812F68 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02812F6C */ cpu->r[29] = cpu->r[4];
|
|
/* 02812F70 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02812F74 */ cpu->r[3] = cpu->r[28];
|
|
/* 02812F78 */ Gambit_fn_028129D0(cpu);
|
|
/* 02812F7C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02812F7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02812F80 */ _t7 = cpu->r[11] + 0x00000014u;
|
|
/* 02812F80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02812F84 */ cpu->r[30] = cpu->r[3];
|
|
/* 02812F88 */ cpu->ctr = cpu->r[0];
|
|
/* 02812F8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02812F90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02812F94 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02812F94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02812F98 */ cpu->r[3] = cpu->r[30];
|
|
/* 02812F9C */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02812FA0 */ _t9 = cpu->r[28] + 0x00000068u;
|
|
/* 02812FA0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02812FA4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02812FA8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02812FAC */ rbrew_dispatch(cpu, 0x02d07d58u);
|
|
/* 02812FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02812FB4 */ _t10 = cpu->r[28] + 0x00000054u;
|
|
/* 02812FB4 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02812FB8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02812FB8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02812FB8 */ if (_t12) goto L_02812FE0; else goto L_02812FBC;
|
|
L_02812FBC: ; // 0x2812fbc
|
|
/* 02812FBC */ _t13 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02812FBC */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02812FC0 */ _t14 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02812FC0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02812FC4 */ _t15 = cpu->r[1] + 0x00000B04u;
|
|
/* 02812FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02812FC8 */ _t16 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02812FC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02812FCC */ cpu->lr = cpu->r[0];
|
|
/* 02812FD0 */ _t17 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02812FD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02812FD4 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 02812FD8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02812FDC */ return;
|
|
L_02812FE0: ; // 0x2812fe0
|
|
/* 02812FE0 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02812FE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02812FE4 */ _t19 = cpu->r[29] + 0x00000000u;
|
|
/* 02812FE4 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02812FE8 */ _t20 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02812FE8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02812FEC */ _t21 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02812FEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02812FF0 */ _t22 = cpu->r[1] + 0x00000B04u;
|
|
/* 02812FF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02812FF4 */ _t23 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02812FF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02812FF8 */ cpu->lr = cpu->r[0];
|
|
/* 02812FFC */ _t24 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02812FFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02813000 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 02813004 */ cpu->r[3] = 0x00000001u;
|
|
/* 02813008 */ return;
|
|
}
|
|
|
|
// fn_0281300C @ 0x281300c
|
|
void Gambit_fn_0281300C(CPUState* cpu) {
|
|
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_0281300C: ; // 0x281300c
|
|
/* 0281300C */ cpu->r[0] = cpu->lr;
|
|
/* 02813010 */ _t0 = cpu->r[1] + 0xFFFFF500u;
|
|
/* 02813010 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813010 */ cpu->r[1] = _t0;
|
|
/* 02813014 */ _t1 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02813014 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02813018 */ cpu->r[28] = cpu->r[3];
|
|
/* 0281301C */ _t2 = cpu->r[1] + 0x00000AF8u;
|
|
/* 0281301C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02813020 */ _t3 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02813020 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02813024 */ cpu->r[30] = cpu->r[5];
|
|
/* 02813028 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 0281302C */ _t4 = cpu->r[1] + 0x00000AFCu;
|
|
/* 0281302C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02813030 */ _t5 = cpu->r[1] + 0x00000B04u;
|
|
/* 02813030 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02813034 */ cpu->r[29] = cpu->r[4];
|
|
/* 02813038 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 0281303C */ cpu->r[3] = cpu->r[28];
|
|
/* 02813040 */ Gambit_fn_028129D0(cpu);
|
|
/* 02813044 */ cpu->r[31] = cpu->r[3];
|
|
/* 02813048 */ cpu->r[4] = cpu->r[30];
|
|
/* 0281304C */ cpu->r[3] = cpu->r[28];
|
|
/* 02813050 */ Gambit_fn_02812AC8(cpu);
|
|
/* 02813054 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02813054 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02813058 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 0281305C */ cpu->r[3] = cpu->r[31];
|
|
/* 02813060 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02813064 */ cpu->r[7] = 0x00000000u;
|
|
/* 02813068 */ rbrew_dispatch(cpu, 0x02d09918u);
|
|
/* 0281306C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813070 */ _t7 = cpu->r[28] + 0x00000054u;
|
|
/* 02813070 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02813074 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813074 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02813074 */ if (_t9) goto L_0281309C; else goto L_02813078;
|
|
L_02813078: ; // 0x2813078
|
|
/* 02813078 */ _t10 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02813078 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0281307C */ _t11 = cpu->r[1] + 0x00000AF4u;
|
|
/* 0281307C */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02813080 */ _t12 = cpu->r[1] + 0x00000B04u;
|
|
/* 02813080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02813084 */ _t13 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02813084 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02813088 */ cpu->lr = cpu->r[0];
|
|
/* 0281308C */ _t14 = cpu->r[1] + 0x00000AFCu;
|
|
/* 0281308C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02813090 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 02813094 */ cpu->r[3] = 0x00000000u;
|
|
/* 02813098 */ return;
|
|
L_0281309C: ; // 0x281309c
|
|
/* 0281309C */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 0281309C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028130A0 */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 028130A0 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 028130A4 */ _t17 = cpu->r[1] + 0x00000AF0u;
|
|
/* 028130A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028130A8 */ _t18 = cpu->r[1] + 0x00000AF4u;
|
|
/* 028130A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028130AC */ _t19 = cpu->r[1] + 0x00000B04u;
|
|
/* 028130AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028130B0 */ _t20 = cpu->r[1] + 0x00000AF8u;
|
|
/* 028130B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028130B4 */ cpu->lr = cpu->r[0];
|
|
/* 028130B8 */ _t21 = cpu->r[1] + 0x00000AFCu;
|
|
/* 028130B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028130BC */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 028130C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 028130C4 */ return;
|
|
}
|
|
|
|
// fn_02813010 @ 0x2813010
|
|
void Gambit_fn_02813010(CPUState* cpu) {
|
|
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_02813010: ; // 0x2813010
|
|
/* 02813010 */ _t0 = cpu->r[1] + 0xFFFFF500u;
|
|
/* 02813010 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813010 */ cpu->r[1] = _t0;
|
|
/* 02813014 */ _t1 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02813014 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02813018 */ cpu->r[28] = cpu->r[3];
|
|
/* 0281301C */ _t2 = cpu->r[1] + 0x00000AF8u;
|
|
/* 0281301C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02813020 */ _t3 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02813020 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02813024 */ cpu->r[30] = cpu->r[5];
|
|
/* 02813028 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 0281302C */ _t4 = cpu->r[1] + 0x00000AFCu;
|
|
/* 0281302C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02813030 */ _t5 = cpu->r[1] + 0x00000B04u;
|
|
/* 02813030 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02813034 */ cpu->r[29] = cpu->r[4];
|
|
/* 02813038 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 0281303C */ cpu->r[3] = cpu->r[28];
|
|
/* 02813040 */ Gambit_fn_028129D0(cpu);
|
|
/* 02813044 */ cpu->r[31] = cpu->r[3];
|
|
/* 02813048 */ cpu->r[4] = cpu->r[30];
|
|
/* 0281304C */ cpu->r[3] = cpu->r[28];
|
|
/* 02813050 */ Gambit_fn_02812AC8(cpu);
|
|
/* 02813054 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02813054 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02813058 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 0281305C */ cpu->r[3] = cpu->r[31];
|
|
/* 02813060 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02813064 */ cpu->r[7] = 0x00000000u;
|
|
/* 02813068 */ rbrew_dispatch(cpu, 0x02d09918u);
|
|
/* 0281306C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813070 */ _t7 = cpu->r[28] + 0x00000054u;
|
|
/* 02813070 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02813074 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813074 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02813074 */ if (_t9) goto L_0281309C; else goto L_02813078;
|
|
L_02813078: ; // 0x2813078
|
|
/* 02813078 */ _t10 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02813078 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0281307C */ _t11 = cpu->r[1] + 0x00000AF4u;
|
|
/* 0281307C */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02813080 */ _t12 = cpu->r[1] + 0x00000B04u;
|
|
/* 02813080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02813084 */ _t13 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02813084 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02813088 */ cpu->lr = cpu->r[0];
|
|
/* 0281308C */ _t14 = cpu->r[1] + 0x00000AFCu;
|
|
/* 0281308C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02813090 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 02813094 */ cpu->r[3] = 0x00000000u;
|
|
/* 02813098 */ return;
|
|
L_0281309C: ; // 0x281309c
|
|
/* 0281309C */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 0281309C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028130A0 */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 028130A0 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 028130A4 */ _t17 = cpu->r[1] + 0x00000AF0u;
|
|
/* 028130A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028130A8 */ _t18 = cpu->r[1] + 0x00000AF4u;
|
|
/* 028130A8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028130AC */ _t19 = cpu->r[1] + 0x00000B04u;
|
|
/* 028130AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028130B0 */ _t20 = cpu->r[1] + 0x00000AF8u;
|
|
/* 028130B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028130B4 */ cpu->lr = cpu->r[0];
|
|
/* 028130B8 */ _t21 = cpu->r[1] + 0x00000AFCu;
|
|
/* 028130B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028130BC */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 028130C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 028130C4 */ return;
|
|
}
|
|
|
|
// fn_028130C8 @ 0x28130c8
|
|
void Gambit_fn_028130C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028130C8: ; // 0x28130c8
|
|
/* 028130C8 */ cpu->r[0] = cpu->lr;
|
|
/* 028130CC */ _t0 = cpu->r[1] + 0xFFFFF500u;
|
|
/* 028130CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028130CC */ cpu->r[1] = _t0;
|
|
/* 028130D0 */ _t1 = cpu->r[1] + 0x00000AF0u;
|
|
/* 028130D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028130D4 */ cpu->r[28] = cpu->r[3];
|
|
/* 028130D8 */ _t2 = cpu->r[1] + 0x00000AFCu;
|
|
/* 028130D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028130DC */ _t3 = cpu->r[1] + 0x00000AF4u;
|
|
/* 028130DC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028130E0 */ cpu->r[31] = cpu->r[5];
|
|
/* 028130E4 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 028130E8 */ _t4 = cpu->r[1] + 0x00000AF8u;
|
|
/* 028130E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 028130EC */ _t5 = cpu->r[1] + 0x00000B04u;
|
|
/* 028130EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028130F0 */ cpu->r[29] = cpu->r[4];
|
|
/* 028130F4 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 028130F8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028130FC */ Gambit_fn_028129D0(cpu);
|
|
/* 02813100 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02813100 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02813104 */ _t7 = cpu->r[11] + 0x00000014u;
|
|
/* 02813104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02813108 */ cpu->r[30] = cpu->r[3];
|
|
/* 0281310C */ cpu->ctr = cpu->r[0];
|
|
/* 02813110 */ cpu->r[3] = cpu->r[31];
|
|
/* 02813114 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02813118 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02813118 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0281311C */ cpu->r[3] = cpu->r[30];
|
|
/* 02813120 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02813124 */ _t9 = cpu->r[28] + 0x00000068u;
|
|
/* 02813124 */ cpu->r[5] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02813128 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0281312C */ cpu->r[8] = 0x00000088u;
|
|
/* 02813130 */ rbrew_dispatch(cpu, 0x02d07d58u);
|
|
/* 02813134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813138 */ _t10 = cpu->r[28] + 0x00000054u;
|
|
/* 02813138 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 0281313C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281313C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0281313C */ if (_t12) goto L_02813198; else goto L_02813140;
|
|
L_02813140: ; // 0x2813140
|
|
/* 02813140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFAu);
|
|
/* 02813144 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813144 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02813144 */ if (_t14) goto L_0281316C; else goto L_02813148;
|
|
L_02813148: ; // 0x2813148
|
|
/* 02813148 */ _t15 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02813148 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0281314C */ _t16 = cpu->r[1] + 0x00000AF4u;
|
|
/* 0281314C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02813150 */ _t17 = cpu->r[1] + 0x00000B04u;
|
|
/* 02813150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02813154 */ _t18 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02813154 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02813158 */ cpu->lr = cpu->r[0];
|
|
/* 0281315C */ _t19 = cpu->r[1] + 0x00000AFCu;
|
|
/* 0281315C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02813160 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 02813164 */ cpu->r[3] = 0x00000000u;
|
|
/* 02813168 */ return;
|
|
L_0281316C: ; // 0x281316c
|
|
/* 0281316C */ cpu->r[7] = 0x00000000u;
|
|
/* 02813170 */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02813170 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[7]);
|
|
/* 02813174 */ _t21 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02813174 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02813178 */ _t22 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02813178 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0281317C */ _t23 = cpu->r[1] + 0x00000B04u;
|
|
/* 0281317C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02813180 */ _t24 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02813180 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02813184 */ cpu->lr = cpu->r[0];
|
|
/* 02813188 */ _t25 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02813188 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0281318C */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 02813190 */ cpu->r[3] = 0x00000001u;
|
|
/* 02813194 */ return;
|
|
L_02813198: ; // 0x2813198
|
|
/* 02813198 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02813198 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0281319C */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000001u);
|
|
/* 028131A0 */ cpu->r[12] = rbrew_clz32(cpu->r[9]);
|
|
/* 028131A4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028131A8 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 028131A8 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[8]);
|
|
/* 028131AC */ _t28 = cpu->r[1] + 0x00000AF0u;
|
|
/* 028131AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028131B0 */ _t29 = cpu->r[1] + 0x00000AF4u;
|
|
/* 028131B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 028131B4 */ _t30 = cpu->r[1] + 0x00000B04u;
|
|
/* 028131B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028131B8 */ _t31 = cpu->r[1] + 0x00000AF8u;
|
|
/* 028131B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028131BC */ cpu->lr = cpu->r[0];
|
|
/* 028131C0 */ _t32 = cpu->r[1] + 0x00000AFCu;
|
|
/* 028131C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028131C4 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 028131C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 028131CC */ return;
|
|
}
|
|
|
|
// fn_028130CC @ 0x28130cc
|
|
void Gambit_fn_028130CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028130CC: ; // 0x28130cc
|
|
/* 028130CC */ _t0 = cpu->r[1] + 0xFFFFF500u;
|
|
/* 028130CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028130CC */ cpu->r[1] = _t0;
|
|
/* 028130D0 */ _t1 = cpu->r[1] + 0x00000AF0u;
|
|
/* 028130D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028130D4 */ cpu->r[28] = cpu->r[3];
|
|
/* 028130D8 */ _t2 = cpu->r[1] + 0x00000AFCu;
|
|
/* 028130D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028130DC */ _t3 = cpu->r[1] + 0x00000AF4u;
|
|
/* 028130DC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028130E0 */ cpu->r[31] = cpu->r[5];
|
|
/* 028130E4 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 028130E8 */ _t4 = cpu->r[1] + 0x00000AF8u;
|
|
/* 028130E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 028130EC */ _t5 = cpu->r[1] + 0x00000B04u;
|
|
/* 028130EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028130F0 */ cpu->r[29] = cpu->r[4];
|
|
/* 028130F4 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 028130F8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028130FC */ Gambit_fn_028129D0(cpu);
|
|
/* 02813100 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02813100 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02813104 */ _t7 = cpu->r[11] + 0x00000014u;
|
|
/* 02813104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02813108 */ cpu->r[30] = cpu->r[3];
|
|
/* 0281310C */ cpu->ctr = cpu->r[0];
|
|
/* 02813110 */ cpu->r[3] = cpu->r[31];
|
|
/* 02813114 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02813118 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02813118 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0281311C */ cpu->r[3] = cpu->r[30];
|
|
/* 02813120 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02813124 */ _t9 = cpu->r[28] + 0x00000068u;
|
|
/* 02813124 */ cpu->r[5] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02813128 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0281312C */ cpu->r[8] = 0x00000088u;
|
|
/* 02813130 */ rbrew_dispatch(cpu, 0x02d07d58u);
|
|
/* 02813134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813138 */ _t10 = cpu->r[28] + 0x00000054u;
|
|
/* 02813138 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 0281313C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281313C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0281313C */ if (_t12) goto L_02813198; else goto L_02813140;
|
|
L_02813140: ; // 0x2813140
|
|
/* 02813140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFAu);
|
|
/* 02813144 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813144 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02813144 */ if (_t14) goto L_0281316C; else goto L_02813148;
|
|
L_02813148: ; // 0x2813148
|
|
/* 02813148 */ _t15 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02813148 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0281314C */ _t16 = cpu->r[1] + 0x00000AF4u;
|
|
/* 0281314C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02813150 */ _t17 = cpu->r[1] + 0x00000B04u;
|
|
/* 02813150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02813154 */ _t18 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02813154 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02813158 */ cpu->lr = cpu->r[0];
|
|
/* 0281315C */ _t19 = cpu->r[1] + 0x00000AFCu;
|
|
/* 0281315C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02813160 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 02813164 */ cpu->r[3] = 0x00000000u;
|
|
/* 02813168 */ return;
|
|
L_0281316C: ; // 0x281316c
|
|
/* 0281316C */ cpu->r[7] = 0x00000000u;
|
|
/* 02813170 */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02813170 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[7]);
|
|
/* 02813174 */ _t21 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02813174 */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02813178 */ _t22 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02813178 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0281317C */ _t23 = cpu->r[1] + 0x00000B04u;
|
|
/* 0281317C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02813180 */ _t24 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02813180 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02813184 */ cpu->lr = cpu->r[0];
|
|
/* 02813188 */ _t25 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02813188 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0281318C */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 02813190 */ cpu->r[3] = 0x00000001u;
|
|
/* 02813194 */ return;
|
|
L_02813198: ; // 0x2813198
|
|
/* 02813198 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02813198 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0281319C */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000001u);
|
|
/* 028131A0 */ cpu->r[12] = rbrew_clz32(cpu->r[9]);
|
|
/* 028131A4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028131A8 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 028131A8 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[8]);
|
|
/* 028131AC */ _t28 = cpu->r[1] + 0x00000AF0u;
|
|
/* 028131AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028131B0 */ _t29 = cpu->r[1] + 0x00000AF4u;
|
|
/* 028131B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 028131B4 */ _t30 = cpu->r[1] + 0x00000B04u;
|
|
/* 028131B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028131B8 */ _t31 = cpu->r[1] + 0x00000AF8u;
|
|
/* 028131B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028131BC */ cpu->lr = cpu->r[0];
|
|
/* 028131C0 */ _t32 = cpu->r[1] + 0x00000AFCu;
|
|
/* 028131C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028131C4 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 028131C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 028131CC */ return;
|
|
}
|
|
|
|
// fn_028131D0 @ 0x28131d0
|
|
void Gambit_fn_028131D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028131D0: ; // 0x28131d0
|
|
/* 028131D0 */ cpu->r[0] = cpu->lr;
|
|
/* 028131D4 */ _t0 = cpu->r[1] + 0xFFFFF500u;
|
|
/* 028131D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028131D4 */ cpu->r[1] = _t0;
|
|
/* 028131D8 */ _t1 = cpu->r[1] + 0x00000AF0u;
|
|
/* 028131D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028131DC */ cpu->r[28] = cpu->r[3];
|
|
/* 028131E0 */ _t2 = cpu->r[1] + 0x00000AFCu;
|
|
/* 028131E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028131E4 */ _t3 = cpu->r[1] + 0x00000AF4u;
|
|
/* 028131E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028131E8 */ cpu->r[31] = cpu->r[5];
|
|
/* 028131EC */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 028131F0 */ _t4 = cpu->r[1] + 0x00000AF8u;
|
|
/* 028131F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 028131F4 */ _t5 = cpu->r[1] + 0x00000B04u;
|
|
/* 028131F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028131F8 */ cpu->r[29] = cpu->r[4];
|
|
/* 028131FC */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02813200 */ cpu->r[3] = cpu->r[28];
|
|
/* 02813204 */ Gambit_fn_028129D0(cpu);
|
|
/* 02813208 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02813208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0281320C */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 0281320C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02813210 */ cpu->r[30] = cpu->r[3];
|
|
/* 02813214 */ cpu->ctr = cpu->r[0];
|
|
/* 02813218 */ cpu->r[3] = cpu->r[31];
|
|
/* 0281321C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02813220 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02813220 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02813224 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813228 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 0281322C */ _t9 = cpu->r[28] + 0x00000068u;
|
|
/* 0281322C */ cpu->r[5] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02813230 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02813234 */ cpu->r[8] = 0x00000088u;
|
|
/* 02813238 */ rbrew_dispatch(cpu, 0x02d07d58u);
|
|
/* 0281323C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813240 */ _t10 = cpu->r[28] + 0x00000054u;
|
|
/* 02813240 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02813244 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813244 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02813244 */ if (_t12) goto L_028132A0; else goto L_02813248;
|
|
L_02813248: ; // 0x2813248
|
|
/* 02813248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFAu);
|
|
/* 0281324C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281324C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0281324C */ if (_t14) goto L_02813274; else goto L_02813250;
|
|
L_02813250: ; // 0x2813250
|
|
/* 02813250 */ _t15 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02813250 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02813254 */ _t16 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02813254 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02813258 */ _t17 = cpu->r[1] + 0x00000B04u;
|
|
/* 02813258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0281325C */ _t18 = cpu->r[1] + 0x00000AF8u;
|
|
/* 0281325C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02813260 */ cpu->lr = cpu->r[0];
|
|
/* 02813264 */ _t19 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02813264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02813268 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 0281326C */ cpu->r[3] = 0x00000000u;
|
|
/* 02813270 */ return;
|
|
L_02813274: ; // 0x2813274
|
|
/* 02813274 */ cpu->r[9] = 0x00000000u;
|
|
/* 02813278 */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02813278 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[9]);
|
|
/* 0281327C */ _t21 = cpu->r[1] + 0x00000AF0u;
|
|
/* 0281327C */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02813280 */ _t22 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02813280 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02813284 */ _t23 = cpu->r[1] + 0x00000B04u;
|
|
/* 02813284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02813288 */ _t24 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02813288 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0281328C */ cpu->lr = cpu->r[0];
|
|
/* 02813290 */ _t25 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02813290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02813294 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 02813298 */ cpu->r[3] = 0x00000001u;
|
|
/* 0281329C */ return;
|
|
L_028132A0: ; // 0x28132a0
|
|
/* 028132A0 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 028132A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028132A4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028132A8 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 028132A8 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[10]);
|
|
/* 028132AC */ _t28 = cpu->r[1] + 0x00000AF0u;
|
|
/* 028132AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028132B0 */ _t29 = cpu->r[1] + 0x00000AF4u;
|
|
/* 028132B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 028132B4 */ _t30 = cpu->r[1] + 0x00000B04u;
|
|
/* 028132B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028132B8 */ _t31 = cpu->r[1] + 0x00000AF8u;
|
|
/* 028132B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028132BC */ cpu->lr = cpu->r[0];
|
|
/* 028132C0 */ _t32 = cpu->r[1] + 0x00000AFCu;
|
|
/* 028132C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028132C4 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 028132C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 028132CC */ return;
|
|
}
|
|
|
|
// fn_028131D4 @ 0x28131d4
|
|
void Gambit_fn_028131D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028131D4: ; // 0x28131d4
|
|
/* 028131D4 */ _t0 = cpu->r[1] + 0xFFFFF500u;
|
|
/* 028131D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028131D4 */ cpu->r[1] = _t0;
|
|
/* 028131D8 */ _t1 = cpu->r[1] + 0x00000AF0u;
|
|
/* 028131D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028131DC */ cpu->r[28] = cpu->r[3];
|
|
/* 028131E0 */ _t2 = cpu->r[1] + 0x00000AFCu;
|
|
/* 028131E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028131E4 */ _t3 = cpu->r[1] + 0x00000AF4u;
|
|
/* 028131E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028131E8 */ cpu->r[31] = cpu->r[5];
|
|
/* 028131EC */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 028131F0 */ _t4 = cpu->r[1] + 0x00000AF8u;
|
|
/* 028131F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 028131F4 */ _t5 = cpu->r[1] + 0x00000B04u;
|
|
/* 028131F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028131F8 */ cpu->r[29] = cpu->r[4];
|
|
/* 028131FC */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02813200 */ cpu->r[3] = cpu->r[28];
|
|
/* 02813204 */ Gambit_fn_028129D0(cpu);
|
|
/* 02813208 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02813208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0281320C */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 0281320C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02813210 */ cpu->r[30] = cpu->r[3];
|
|
/* 02813214 */ cpu->ctr = cpu->r[0];
|
|
/* 02813218 */ cpu->r[3] = cpu->r[31];
|
|
/* 0281321C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02813220 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02813220 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02813224 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813228 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 0281322C */ _t9 = cpu->r[28] + 0x00000068u;
|
|
/* 0281322C */ cpu->r[5] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02813230 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02813234 */ cpu->r[8] = 0x00000088u;
|
|
/* 02813238 */ rbrew_dispatch(cpu, 0x02d07d58u);
|
|
/* 0281323C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813240 */ _t10 = cpu->r[28] + 0x00000054u;
|
|
/* 02813240 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02813244 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813244 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02813244 */ if (_t12) goto L_028132A0; else goto L_02813248;
|
|
L_02813248: ; // 0x2813248
|
|
/* 02813248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFAu);
|
|
/* 0281324C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281324C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0281324C */ if (_t14) goto L_02813274; else goto L_02813250;
|
|
L_02813250: ; // 0x2813250
|
|
/* 02813250 */ _t15 = cpu->r[1] + 0x00000AF0u;
|
|
/* 02813250 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02813254 */ _t16 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02813254 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02813258 */ _t17 = cpu->r[1] + 0x00000B04u;
|
|
/* 02813258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0281325C */ _t18 = cpu->r[1] + 0x00000AF8u;
|
|
/* 0281325C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02813260 */ cpu->lr = cpu->r[0];
|
|
/* 02813264 */ _t19 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02813264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02813268 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 0281326C */ cpu->r[3] = 0x00000000u;
|
|
/* 02813270 */ return;
|
|
L_02813274: ; // 0x2813274
|
|
/* 02813274 */ cpu->r[9] = 0x00000000u;
|
|
/* 02813278 */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02813278 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[9]);
|
|
/* 0281327C */ _t21 = cpu->r[1] + 0x00000AF0u;
|
|
/* 0281327C */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02813280 */ _t22 = cpu->r[1] + 0x00000AF4u;
|
|
/* 02813280 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02813284 */ _t23 = cpu->r[1] + 0x00000B04u;
|
|
/* 02813284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02813288 */ _t24 = cpu->r[1] + 0x00000AF8u;
|
|
/* 02813288 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0281328C */ cpu->lr = cpu->r[0];
|
|
/* 02813290 */ _t25 = cpu->r[1] + 0x00000AFCu;
|
|
/* 02813290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02813294 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 02813298 */ cpu->r[3] = 0x00000001u;
|
|
/* 0281329C */ return;
|
|
L_028132A0: ; // 0x28132a0
|
|
/* 028132A0 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 028132A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028132A4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028132A8 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 028132A8 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[10]);
|
|
/* 028132AC */ _t28 = cpu->r[1] + 0x00000AF0u;
|
|
/* 028132AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028132B0 */ _t29 = cpu->r[1] + 0x00000AF4u;
|
|
/* 028132B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 028132B4 */ _t30 = cpu->r[1] + 0x00000B04u;
|
|
/* 028132B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028132B8 */ _t31 = cpu->r[1] + 0x00000AF8u;
|
|
/* 028132B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028132BC */ cpu->lr = cpu->r[0];
|
|
/* 028132C0 */ _t32 = cpu->r[1] + 0x00000AFCu;
|
|
/* 028132C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028132C4 */ cpu->r[1] = cpu->r[1] + 0x00000B00u;
|
|
/* 028132C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 028132CC */ return;
|
|
}
|
|
|
|
// fn_028132D0 @ 0x28132d0
|
|
void Gambit_fn_028132D0(CPUState* cpu) {
|
|
L_0280DE18: ; // 0x280de18
|
|
/* 0280DE18 */ cpu->r[3] = cpu->r[4] + 0x00000008u;
|
|
/* 0280DE1C */ return;
|
|
L_028132D0: ; // 0x28132d0
|
|
/* 028132D0 */ goto L_0280DE18;
|
|
}
|
|
|
|
// fn_028132D4 @ 0x28132d4
|
|
void Gambit_fn_028132D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_028132D4: ; // 0x28132d4
|
|
/* 028132D4 */ cpu->r[0] = cpu->lr;
|
|
/* 028132D8 */ _t0 = cpu->r[1] + 0xFFFFF568u;
|
|
/* 028132D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028132D8 */ cpu->r[1] = _t0;
|
|
/* 028132DC */ _t1 = cpu->r[1] + 0x00000A94u;
|
|
/* 028132DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028132E0 */ _t2 = cpu->r[1] + 0x00000A90u;
|
|
/* 028132E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028132E4 */ _t3 = cpu->r[1] + 0x00000A88u;
|
|
/* 028132E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 028132E8 */ cpu->r[28] = cpu->r[3];
|
|
/* 028132EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028132F0 */ cpu->r[31] = cpu->r[4];
|
|
/* 028132F4 */ _t4 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 028132F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 028132F8 */ cpu->r[30] = cpu->r[5];
|
|
/* 028132FC */ _t5 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 028132FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02813300 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02813304 */ cpu->r[3] = cpu->r[28];
|
|
/* 02813308 */ Gambit_fn_028129D0(cpu);
|
|
/* 0281330C */ cpu->r[29] = cpu->r[3];
|
|
/* 02813310 */ cpu->r[4] = cpu->r[31];
|
|
/* 02813314 */ cpu->r[3] = cpu->r[28];
|
|
/* 02813318 */ Gambit_fn_028132D0(cpu);
|
|
/* 0281331C */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 0281331C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02813320 */ _t7 = cpu->r[11] + 0x00000014u;
|
|
/* 02813320 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02813324 */ cpu->r[31] = cpu->r[3];
|
|
/* 02813328 */ cpu->ctr = cpu->r[12];
|
|
/* 0281332C */ cpu->r[3] = cpu->r[30];
|
|
/* 02813330 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02813334 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02813334 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02813338 */ cpu->r[3] = cpu->r[29];
|
|
/* 0281333C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02813340 */ _t9 = cpu->r[28] + 0x00000068u;
|
|
/* 02813340 */ cpu->r[5] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02813344 */ cpu->r[7] = cpu->r[31];
|
|
/* 02813348 */ cpu->r[8] = 0x000000EAu;
|
|
/* 0281334C */ rbrew_dispatch(cpu, 0x02d07de8u);
|
|
/* 02813350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813354 */ cpu->r[0] = 0x00000000u;
|
|
/* 02813358 */ _t10 = cpu->r[28] + 0x00000054u;
|
|
/* 02813358 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 0281335C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281335C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0281335C */ if (_t12) goto L_02813360; else goto L_02813364;
|
|
L_02813360: ; // 0x2813360
|
|
/* 02813360 */ cpu->r[0] = cpu->r[28];
|
|
L_02813364: ; // 0x2813364
|
|
/* 02813364 */ _t13 = cpu->r[1] + 0x00000A88u;
|
|
/* 02813364 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02813368 */ _t14 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02813368 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0281336C */ cpu->r[3] = cpu->r[0];
|
|
/* 02813370 */ _t15 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02813370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02813374 */ _t16 = cpu->r[1] + 0x00000A90u;
|
|
/* 02813374 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02813378 */ cpu->lr = cpu->r[0];
|
|
/* 0281337C */ _t17 = cpu->r[1] + 0x00000A94u;
|
|
/* 0281337C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02813380 */ cpu->r[1] = cpu->r[1] + 0x00000A98u;
|
|
/* 02813384 */ return;
|
|
}
|
|
|
|
// fn_028132D8 @ 0x28132d8
|
|
void Gambit_fn_028132D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_028132D8: ; // 0x28132d8
|
|
/* 028132D8 */ _t0 = cpu->r[1] + 0xFFFFF568u;
|
|
/* 028132D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028132D8 */ cpu->r[1] = _t0;
|
|
/* 028132DC */ _t1 = cpu->r[1] + 0x00000A94u;
|
|
/* 028132DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028132E0 */ _t2 = cpu->r[1] + 0x00000A90u;
|
|
/* 028132E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028132E4 */ _t3 = cpu->r[1] + 0x00000A88u;
|
|
/* 028132E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 028132E8 */ cpu->r[28] = cpu->r[3];
|
|
/* 028132EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028132F0 */ cpu->r[31] = cpu->r[4];
|
|
/* 028132F4 */ _t4 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 028132F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 028132F8 */ cpu->r[30] = cpu->r[5];
|
|
/* 028132FC */ _t5 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 028132FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02813300 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02813304 */ cpu->r[3] = cpu->r[28];
|
|
/* 02813308 */ Gambit_fn_028129D0(cpu);
|
|
/* 0281330C */ cpu->r[29] = cpu->r[3];
|
|
/* 02813310 */ cpu->r[4] = cpu->r[31];
|
|
/* 02813314 */ cpu->r[3] = cpu->r[28];
|
|
/* 02813318 */ Gambit_fn_028132D0(cpu);
|
|
/* 0281331C */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 0281331C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02813320 */ _t7 = cpu->r[11] + 0x00000014u;
|
|
/* 02813320 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02813324 */ cpu->r[31] = cpu->r[3];
|
|
/* 02813328 */ cpu->ctr = cpu->r[12];
|
|
/* 0281332C */ cpu->r[3] = cpu->r[30];
|
|
/* 02813330 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02813334 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02813334 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02813338 */ cpu->r[3] = cpu->r[29];
|
|
/* 0281333C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02813340 */ _t9 = cpu->r[28] + 0x00000068u;
|
|
/* 02813340 */ cpu->r[5] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02813344 */ cpu->r[7] = cpu->r[31];
|
|
/* 02813348 */ cpu->r[8] = 0x000000EAu;
|
|
/* 0281334C */ rbrew_dispatch(cpu, 0x02d07de8u);
|
|
/* 02813350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813354 */ cpu->r[0] = 0x00000000u;
|
|
/* 02813358 */ _t10 = cpu->r[28] + 0x00000054u;
|
|
/* 02813358 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 0281335C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281335C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0281335C */ if (_t12) goto L_02813360; else goto L_02813364;
|
|
L_02813360: ; // 0x2813360
|
|
/* 02813360 */ cpu->r[0] = cpu->r[28];
|
|
L_02813364: ; // 0x2813364
|
|
/* 02813364 */ _t13 = cpu->r[1] + 0x00000A88u;
|
|
/* 02813364 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02813368 */ _t14 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02813368 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0281336C */ cpu->r[3] = cpu->r[0];
|
|
/* 02813370 */ _t15 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 02813370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02813374 */ _t16 = cpu->r[1] + 0x00000A90u;
|
|
/* 02813374 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02813378 */ cpu->lr = cpu->r[0];
|
|
/* 0281337C */ _t17 = cpu->r[1] + 0x00000A94u;
|
|
/* 0281337C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02813380 */ cpu->r[1] = cpu->r[1] + 0x00000A98u;
|
|
/* 02813384 */ return;
|
|
}
|
|
|
|
// fn_02813388 @ 0x2813388
|
|
void Gambit_fn_02813388(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02813388: ; // 0x2813388
|
|
/* 02813388 */ cpu->r[0] = cpu->lr;
|
|
/* 0281338C */ _t0 = cpu->r[1] + 0xFFFFF568u;
|
|
/* 0281338C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281338C */ cpu->r[1] = _t0;
|
|
/* 02813390 */ _t1 = cpu->r[1] + 0x00000A94u;
|
|
/* 02813390 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02813394 */ cpu->r[31] = cpu->r[3];
|
|
/* 02813398 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0281339C */ _t2 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 0281339C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 028133A0 */ _t3 = cpu->r[1] + 0x00000A90u;
|
|
/* 028133A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 028133A4 */ _t4 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 028133A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028133A8 */ cpu->r[29] = cpu->r[4];
|
|
/* 028133AC */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 028133B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028133B4 */ Gambit_fn_028129D0(cpu);
|
|
/* 028133B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028133BC */ cpu->r[3] = cpu->r[31];
|
|
/* 028133C0 */ cpu->r[4] = cpu->r[29];
|
|
/* 028133C4 */ Gambit_fn_028132D0(cpu);
|
|
/* 028133C8 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 028133C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028133CC */ cpu->r[6] = 0x00000000u;
|
|
/* 028133D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028133D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028133D8 */ rbrew_dispatch(cpu, 0x02d097d0u);
|
|
/* 028133DC */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 028133DC */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 028133E0 */ _t7 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 028133E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028133E4 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 028133E8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028133EC */ _t8 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 028133EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028133F0 */ _t9 = cpu->r[1] + 0x00000A90u;
|
|
/* 028133F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028133F4 */ cpu->lr = cpu->r[0];
|
|
/* 028133F8 */ _t10 = cpu->r[1] + 0x00000A94u;
|
|
/* 028133F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028133FC */ cpu->r[1] = cpu->r[1] + 0x00000A98u;
|
|
/* 02813400 */ return;
|
|
}
|
|
|
|
// fn_0281338C @ 0x281338c
|
|
void Gambit_fn_0281338C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0281338C: ; // 0x281338c
|
|
/* 0281338C */ _t0 = cpu->r[1] + 0xFFFFF568u;
|
|
/* 0281338C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281338C */ cpu->r[1] = _t0;
|
|
/* 02813390 */ _t1 = cpu->r[1] + 0x00000A94u;
|
|
/* 02813390 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02813394 */ cpu->r[31] = cpu->r[3];
|
|
/* 02813398 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0281339C */ _t2 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 0281339C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 028133A0 */ _t3 = cpu->r[1] + 0x00000A90u;
|
|
/* 028133A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 028133A4 */ _t4 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 028133A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028133A8 */ cpu->r[29] = cpu->r[4];
|
|
/* 028133AC */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 028133B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028133B4 */ Gambit_fn_028129D0(cpu);
|
|
/* 028133B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028133BC */ cpu->r[3] = cpu->r[31];
|
|
/* 028133C0 */ cpu->r[4] = cpu->r[29];
|
|
/* 028133C4 */ Gambit_fn_028132D0(cpu);
|
|
/* 028133C8 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 028133C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028133CC */ cpu->r[6] = 0x00000000u;
|
|
/* 028133D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028133D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028133D8 */ rbrew_dispatch(cpu, 0x02d097d0u);
|
|
/* 028133DC */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 028133DC */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 028133E0 */ _t7 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 028133E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028133E4 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 028133E8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028133EC */ _t8 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 028133EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028133F0 */ _t9 = cpu->r[1] + 0x00000A90u;
|
|
/* 028133F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028133F4 */ cpu->lr = cpu->r[0];
|
|
/* 028133F8 */ _t10 = cpu->r[1] + 0x00000A94u;
|
|
/* 028133F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028133FC */ cpu->r[1] = cpu->r[1] + 0x00000A98u;
|
|
/* 02813400 */ return;
|
|
}
|
|
|
|
// fn_02813404 @ 0x2813404
|
|
void Gambit_fn_02813404(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02813404: ; // 0x2813404
|
|
/* 02813404 */ cpu->r[0] = cpu->lr;
|
|
/* 02813408 */ _t0 = cpu->r[1] + 0xFFFFF3E0u;
|
|
/* 02813408 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813408 */ cpu->r[1] = _t0;
|
|
/* 0281340C */ _t1 = cpu->r[1] + 0x00000C24u;
|
|
/* 0281340C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02813410 */ /* nop */
|
|
/* 02813414 */ cpu->r[27] = cpu->r[4];
|
|
/* 02813418 */ cpu->r[30] = cpu->r[5];
|
|
/* 0281341C */ cpu->r[26] = cpu->r[3];
|
|
/* 02813420 */ cpu->r[3] = cpu->r[1] + 0x00000174u;
|
|
/* 02813424 */ cpu->r[28] = cpu->r[7];
|
|
/* 02813428 */ cpu->r[31] = cpu->r[6];
|
|
/* 0281342C */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02813430 */ cpu->r[3] = cpu->r[26];
|
|
/* 02813434 */ Gambit_fn_028129D0(cpu);
|
|
/* 02813438 */ cpu->r[23] = cpu->r[3];
|
|
/* 0281343C */ cpu->r[3] = cpu->r[26];
|
|
/* 02813440 */ cpu->r[4] = cpu->r[30];
|
|
/* 02813444 */ Gambit_fn_028132D0(cpu);
|
|
/* 02813448 */ cpu->r[24] = cpu->r[3];
|
|
/* 0281344C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02813450 */ cpu->r[22] = cpu->r[28];
|
|
/* 02813454 */ cpu->r[25] = 0x00000000u;
|
|
/* 02813458 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813458 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02813458 */ if (_t3) goto L_02813568; else goto L_0281345C;
|
|
L_0281345C: ; // 0x281345c
|
|
/* 0281345C */ cpu->r[30] = 0x10110000u;
|
|
/* 02813460 */ _t4 = cpu->r[30] + 0x00007399u;
|
|
/* 02813460 */ cpu->r[30] = rbrew_read8(cpu->mem, _t4);
|
|
L_02813464: ; // 0x2813464
|
|
/* 02813464 */ _t5 = cpu->r[24] + 0x00000000u;
|
|
/* 02813464 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02813468 */ cpu->r[7] = 0x00000000u;
|
|
/* 0281346C */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 02813470 */ cpu->r[4] = cpu->r[1] + 0x00000174u;
|
|
/* 02813474 */ cpu->r[3] = cpu->r[23];
|
|
/* 02813478 */ rbrew_dispatch(cpu, 0x02d099f0u);
|
|
/* 0281347C */ cpu->r[0] = cpu->r[3];
|
|
/* 0281347C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813480 */ _t6 = cpu->r[26] + 0x00000054u;
|
|
/* 02813480 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02813484 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813484 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02813484 */ if (_t8) goto L_028134B4; else goto L_02813488;
|
|
L_02813488: ; // 0x2813488
|
|
/* 02813488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0281348C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281348C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0281348C */ if (_t10) goto L_02813494; else goto L_02813490;
|
|
L_02813490: ; // 0x2813490
|
|
/* 02813490 */ _t11 = cpu->r[27] + 0x00000000u;
|
|
/* 02813490 */ rbrew_write32(cpu->mem, _t11, cpu->r[25]);
|
|
L_02813494: ; // 0x2813494
|
|
/* 02813494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFEu);
|
|
/* 02813498 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813498 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02813498 */ if (_t13) goto L_02813574; else goto L_0281349C;
|
|
L_0281349C: ; // 0x281349c
|
|
/* 0281349C */ /* nop */
|
|
/* 028134A0 */ _t14 = cpu->r[1] + 0x00000C24u;
|
|
/* 028134A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028134A4 */ cpu->lr = cpu->r[0];
|
|
/* 028134A8 */ cpu->r[1] = cpu->r[1] + 0x00000C20u;
|
|
/* 028134AC */ cpu->r[3] = 0x00000000u;
|
|
/* 028134B0 */ return;
|
|
L_028134B4: ; // 0x28134b4
|
|
/* 028134B4 */ cpu->r[10] = 0x10110000u;
|
|
/* 028134B8 */ cpu->r[0] = cpu->r[1] + 0x00000074u;
|
|
/* 028134BC */ cpu->r[10] = cpu->r[10] + 0x000037B8u;
|
|
/* 028134C0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 028134C0 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 028134C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028134C8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028134C8 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 028134CC */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 028134CC */ cpu->r[21] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028134D0 */ Gambit_fn_02813688(cpu);
|
|
/* 028134D4 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 028134D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028134D8 */ _t19 = cpu->r[10] + 0x00000000u;
|
|
/* 028134D8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t19);
|
|
/* 028134DC */ cpu->r[11] = 0x00080000u;
|
|
/* 028134E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 028134E4 */ cpu->r[29] = 0x00000000u;
|
|
/* 028134E8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028134E8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 028134E8 */ if (_t21) goto L_02813510; else goto L_028134EC;
|
|
L_028134EC: ; // 0x28134ec
|
|
/* 028134EC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 028134F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 028134F4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 028134F8 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028134F8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028134F8 */ if (_t23) goto L_0281350C; else goto L_028134FC;
|
|
L_028134FC: ; // 0x28134fc
|
|
/* 028134FC */ _t24 = cpu->r[10] + 0x00000000u;
|
|
/* 028134FC */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02813500 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02813504 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813504 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02813504 */ if (_t26) goto L_02813508; else goto L_028134EC;
|
|
L_02813508: ; // 0x2813508
|
|
/* 02813508 */ goto L_02813510;
|
|
L_0281350C: ; // 0x281350c
|
|
/* 0281350C */ cpu->r[29] = 0x00000000u;
|
|
L_02813510: ; // 0x2813510
|
|
/* 02813510 */ _t27 = cpu->r[31] + 0x00000008u;
|
|
/* 02813510 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02813514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 02813518 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02813518 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02813518 */ if (_t29) goto L_02813520; else goto L_0281351C;
|
|
L_0281351C: ; // 0x281351c
|
|
/* 0281351C */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02813520: ; // 0x2813520
|
|
/* 02813520 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813520 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02813524 */ _t31 = cpu->r[8] + 0x00000014u;
|
|
/* 02813524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02813528 */ cpu->ctr = cpu->r[0];
|
|
/* 0281352C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02813530 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02813534 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02813534 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02813538 */ cpu->r[6] = 0x00000000u;
|
|
/* 0281353C */ cpu->r[5] = cpu->r[29];
|
|
/* 02813540 */ cpu->r[3] = cpu->r[21];
|
|
/* 02813544 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02813548 */ _t33 = cpu->r[21] + cpu->r[29];
|
|
/* 02813548 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[30]);
|
|
/* 0281354C */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 0281354C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02813550 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02813554 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02813558 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02813558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0281355C */ _t35 = cpu->r[31] + 0x0000010Cu;
|
|
/* 0281355C */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[12]);
|
|
/* 02813560 */ cpu->r[31] = cpu->r[31] + 0x00000110u;
|
|
/* 02813564 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813564 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02813564 */ if (_t37) goto L_02813568; else goto L_02813464;
|
|
L_02813568: ; // 0x2813568
|
|
/* 02813568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0281356C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281356C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0281356C */ if (_t39) goto L_02813574; else goto L_02813570;
|
|
L_02813570: ; // 0x2813570
|
|
/* 02813570 */ _t40 = cpu->r[27] + 0x00000000u;
|
|
/* 02813570 */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
L_02813574: ; // 0x2813574
|
|
/* 02813574 */ /* nop */
|
|
/* 02813578 */ _t41 = cpu->r[1] + 0x00000C24u;
|
|
/* 02813578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0281357C */ cpu->lr = cpu->r[0];
|
|
/* 02813580 */ cpu->r[1] = cpu->r[1] + 0x00000C20u;
|
|
/* 02813584 */ cpu->r[3] = 0x00000001u;
|
|
/* 02813588 */ return;
|
|
}
|
|
|
|
// fn_02813408 @ 0x2813408
|
|
void Gambit_fn_02813408(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02813408: ; // 0x2813408
|
|
/* 02813408 */ _t0 = cpu->r[1] + 0xFFFFF3E0u;
|
|
/* 02813408 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813408 */ cpu->r[1] = _t0;
|
|
/* 0281340C */ _t1 = cpu->r[1] + 0x00000C24u;
|
|
/* 0281340C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02813410 */ /* nop */
|
|
/* 02813414 */ cpu->r[27] = cpu->r[4];
|
|
/* 02813418 */ cpu->r[30] = cpu->r[5];
|
|
/* 0281341C */ cpu->r[26] = cpu->r[3];
|
|
/* 02813420 */ cpu->r[3] = cpu->r[1] + 0x00000174u;
|
|
/* 02813424 */ cpu->r[28] = cpu->r[7];
|
|
/* 02813428 */ cpu->r[31] = cpu->r[6];
|
|
/* 0281342C */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02813430 */ cpu->r[3] = cpu->r[26];
|
|
/* 02813434 */ Gambit_fn_028129D0(cpu);
|
|
/* 02813438 */ cpu->r[23] = cpu->r[3];
|
|
/* 0281343C */ cpu->r[3] = cpu->r[26];
|
|
/* 02813440 */ cpu->r[4] = cpu->r[30];
|
|
/* 02813444 */ Gambit_fn_028132D0(cpu);
|
|
/* 02813448 */ cpu->r[24] = cpu->r[3];
|
|
/* 0281344C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02813450 */ cpu->r[22] = cpu->r[28];
|
|
/* 02813454 */ cpu->r[25] = 0x00000000u;
|
|
/* 02813458 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813458 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02813458 */ if (_t3) goto L_02813568; else goto L_0281345C;
|
|
L_0281345C: ; // 0x281345c
|
|
/* 0281345C */ cpu->r[30] = 0x10110000u;
|
|
/* 02813460 */ _t4 = cpu->r[30] + 0x00007399u;
|
|
/* 02813460 */ cpu->r[30] = rbrew_read8(cpu->mem, _t4);
|
|
L_02813464: ; // 0x2813464
|
|
/* 02813464 */ _t5 = cpu->r[24] + 0x00000000u;
|
|
/* 02813464 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02813468 */ cpu->r[7] = 0x00000000u;
|
|
/* 0281346C */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 02813470 */ cpu->r[4] = cpu->r[1] + 0x00000174u;
|
|
/* 02813474 */ cpu->r[3] = cpu->r[23];
|
|
/* 02813478 */ rbrew_dispatch(cpu, 0x02d099f0u);
|
|
/* 0281347C */ cpu->r[0] = cpu->r[3];
|
|
/* 0281347C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813480 */ _t6 = cpu->r[26] + 0x00000054u;
|
|
/* 02813480 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02813484 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813484 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02813484 */ if (_t8) goto L_028134B4; else goto L_02813488;
|
|
L_02813488: ; // 0x2813488
|
|
/* 02813488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0281348C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281348C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0281348C */ if (_t10) goto L_02813494; else goto L_02813490;
|
|
L_02813490: ; // 0x2813490
|
|
/* 02813490 */ _t11 = cpu->r[27] + 0x00000000u;
|
|
/* 02813490 */ rbrew_write32(cpu->mem, _t11, cpu->r[25]);
|
|
L_02813494: ; // 0x2813494
|
|
/* 02813494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFEu);
|
|
/* 02813498 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813498 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02813498 */ if (_t13) goto L_02813574; else goto L_0281349C;
|
|
L_0281349C: ; // 0x281349c
|
|
/* 0281349C */ /* nop */
|
|
/* 028134A0 */ _t14 = cpu->r[1] + 0x00000C24u;
|
|
/* 028134A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028134A4 */ cpu->lr = cpu->r[0];
|
|
/* 028134A8 */ cpu->r[1] = cpu->r[1] + 0x00000C20u;
|
|
/* 028134AC */ cpu->r[3] = 0x00000000u;
|
|
/* 028134B0 */ return;
|
|
L_028134B4: ; // 0x28134b4
|
|
/* 028134B4 */ cpu->r[10] = 0x10110000u;
|
|
/* 028134B8 */ cpu->r[0] = cpu->r[1] + 0x00000074u;
|
|
/* 028134BC */ cpu->r[10] = cpu->r[10] + 0x000037B8u;
|
|
/* 028134C0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 028134C0 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 028134C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028134C8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028134C8 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 028134CC */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 028134CC */ cpu->r[21] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028134D0 */ Gambit_fn_02813688(cpu);
|
|
/* 028134D4 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 028134D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028134D8 */ _t19 = cpu->r[10] + 0x00000000u;
|
|
/* 028134D8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t19);
|
|
/* 028134DC */ cpu->r[11] = 0x00080000u;
|
|
/* 028134E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 028134E4 */ cpu->r[29] = 0x00000000u;
|
|
/* 028134E8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028134E8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 028134E8 */ if (_t21) goto L_02813510; else goto L_028134EC;
|
|
L_028134EC: ; // 0x28134ec
|
|
/* 028134EC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 028134F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 028134F4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 028134F8 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028134F8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028134F8 */ if (_t23) goto L_0281350C; else goto L_028134FC;
|
|
L_028134FC: ; // 0x28134fc
|
|
/* 028134FC */ _t24 = cpu->r[10] + 0x00000000u;
|
|
/* 028134FC */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02813500 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02813504 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813504 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02813504 */ if (_t26) goto L_02813508; else goto L_028134EC;
|
|
L_02813508: ; // 0x2813508
|
|
/* 02813508 */ goto L_02813510;
|
|
L_0281350C: ; // 0x281350c
|
|
/* 0281350C */ cpu->r[29] = 0x00000000u;
|
|
L_02813510: ; // 0x2813510
|
|
/* 02813510 */ _t27 = cpu->r[31] + 0x00000008u;
|
|
/* 02813510 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02813514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 02813518 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02813518 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02813518 */ if (_t29) goto L_02813520; else goto L_0281351C;
|
|
L_0281351C: ; // 0x281351c
|
|
/* 0281351C */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02813520: ; // 0x2813520
|
|
/* 02813520 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813520 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02813524 */ _t31 = cpu->r[8] + 0x00000014u;
|
|
/* 02813524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02813528 */ cpu->ctr = cpu->r[0];
|
|
/* 0281352C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02813530 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02813534 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02813534 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02813538 */ cpu->r[6] = 0x00000000u;
|
|
/* 0281353C */ cpu->r[5] = cpu->r[29];
|
|
/* 02813540 */ cpu->r[3] = cpu->r[21];
|
|
/* 02813544 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02813548 */ _t33 = cpu->r[21] + cpu->r[29];
|
|
/* 02813548 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[30]);
|
|
/* 0281354C */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 0281354C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02813550 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02813554 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02813558 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02813558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0281355C */ _t35 = cpu->r[31] + 0x0000010Cu;
|
|
/* 0281355C */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[12]);
|
|
/* 02813560 */ cpu->r[31] = cpu->r[31] + 0x00000110u;
|
|
/* 02813564 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813564 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02813564 */ if (_t37) goto L_02813568; else goto L_02813464;
|
|
L_02813568: ; // 0x2813568
|
|
/* 02813568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0281356C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281356C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0281356C */ if (_t39) goto L_02813574; else goto L_02813570;
|
|
L_02813570: ; // 0x2813570
|
|
/* 02813570 */ _t40 = cpu->r[27] + 0x00000000u;
|
|
/* 02813570 */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
L_02813574: ; // 0x2813574
|
|
/* 02813574 */ /* nop */
|
|
/* 02813578 */ _t41 = cpu->r[1] + 0x00000C24u;
|
|
/* 02813578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0281357C */ cpu->lr = cpu->r[0];
|
|
/* 02813580 */ cpu->r[1] = cpu->r[1] + 0x00000C20u;
|
|
/* 02813584 */ cpu->r[3] = 0x00000001u;
|
|
/* 02813588 */ return;
|
|
}
|
|
|
|
// fn_0281358C @ 0x281358c
|
|
void Gambit_fn_0281358C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0281358C: ; // 0x281358c
|
|
/* 0281358C */ cpu->r[0] = cpu->lr;
|
|
/* 02813590 */ _t0 = cpu->r[1] + 0xFFFFF568u;
|
|
/* 02813590 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813590 */ cpu->r[1] = _t0;
|
|
/* 02813594 */ _t1 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02813594 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02813598 */ _t2 = cpu->r[1] + 0x00000A90u;
|
|
/* 02813598 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0281359C */ _t3 = cpu->r[1] + 0x00000A94u;
|
|
/* 0281359C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028135A0 */ _t4 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 028135A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028135A4 */ cpu->r[29] = cpu->r[3];
|
|
/* 028135A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028135AC */ cpu->r[30] = cpu->r[4];
|
|
/* 028135B0 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 028135B4 */ cpu->r[3] = cpu->r[29];
|
|
/* 028135B8 */ Gambit_fn_028129D0(cpu);
|
|
/* 028135BC */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 028135BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028135C0 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 028135C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028135C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028135C8 */ cpu->ctr = cpu->r[0];
|
|
/* 028135CC */ cpu->r[3] = cpu->r[30];
|
|
/* 028135D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028135D4 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 028135D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028135D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028135DC */ _t8 = cpu->r[29] + 0x00000068u;
|
|
/* 028135DC */ cpu->r[5] = rbrew_read8(cpu->mem, _t8);
|
|
/* 028135E0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028135E4 */ cpu->r[7] = 0x00000A88u;
|
|
/* 028135E8 */ rbrew_dispatch(cpu, 0x02d07dd8u);
|
|
/* 028135EC */ _t9 = cpu->r[29] + 0x00000054u;
|
|
/* 028135EC */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 028135F0 */ _t10 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 028135F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028135F4 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 028135F8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028135FC */ _t11 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 028135FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02813600 */ _t12 = cpu->r[1] + 0x00000A94u;
|
|
/* 02813600 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02813604 */ cpu->lr = cpu->r[0];
|
|
/* 02813608 */ _t13 = cpu->r[1] + 0x00000A90u;
|
|
/* 02813608 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0281360C */ cpu->r[1] = cpu->r[1] + 0x00000A98u;
|
|
/* 02813610 */ return;
|
|
}
|
|
|
|
// fn_02813590 @ 0x2813590
|
|
void Gambit_fn_02813590(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02813590: ; // 0x2813590
|
|
/* 02813590 */ _t0 = cpu->r[1] + 0xFFFFF568u;
|
|
/* 02813590 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813590 */ cpu->r[1] = _t0;
|
|
/* 02813594 */ _t1 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 02813594 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02813598 */ _t2 = cpu->r[1] + 0x00000A90u;
|
|
/* 02813598 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0281359C */ _t3 = cpu->r[1] + 0x00000A94u;
|
|
/* 0281359C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028135A0 */ _t4 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 028135A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028135A4 */ cpu->r[29] = cpu->r[3];
|
|
/* 028135A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028135AC */ cpu->r[30] = cpu->r[4];
|
|
/* 028135B0 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 028135B4 */ cpu->r[3] = cpu->r[29];
|
|
/* 028135B8 */ Gambit_fn_028129D0(cpu);
|
|
/* 028135BC */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 028135BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028135C0 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 028135C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028135C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028135C8 */ cpu->ctr = cpu->r[0];
|
|
/* 028135CC */ cpu->r[3] = cpu->r[30];
|
|
/* 028135D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028135D4 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 028135D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028135D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028135DC */ _t8 = cpu->r[29] + 0x00000068u;
|
|
/* 028135DC */ cpu->r[5] = rbrew_read8(cpu->mem, _t8);
|
|
/* 028135E0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028135E4 */ cpu->r[7] = 0x00000A88u;
|
|
/* 028135E8 */ rbrew_dispatch(cpu, 0x02d07dd8u);
|
|
/* 028135EC */ _t9 = cpu->r[29] + 0x00000054u;
|
|
/* 028135EC */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 028135F0 */ _t10 = cpu->r[1] + 0x00000A8Cu;
|
|
/* 028135F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028135F4 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 028135F8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028135FC */ _t11 = cpu->r[1] + 0x00000A9Cu;
|
|
/* 028135FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02813600 */ _t12 = cpu->r[1] + 0x00000A94u;
|
|
/* 02813600 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02813604 */ cpu->lr = cpu->r[0];
|
|
/* 02813608 */ _t13 = cpu->r[1] + 0x00000A90u;
|
|
/* 02813608 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0281360C */ cpu->r[1] = cpu->r[1] + 0x00000A98u;
|
|
/* 02813610 */ return;
|
|
}
|
|
|
|
// fn_02813614 @ 0x2813614
|
|
void Gambit_fn_02813614(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02813614: ; // 0x2813614
|
|
/* 02813614 */ cpu->r[0] = cpu->lr;
|
|
/* 02813618 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02813618 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813618 */ cpu->r[1] = _t0;
|
|
/* 0281361C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281361C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02813620 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02813620 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02813624 */ cpu->r[30] = cpu->r[3];
|
|
/* 02813624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02813628 */ cpu->r[31] = cpu->r[4];
|
|
/* 0281362C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281362C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813630 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813630 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02813630 */ if (_t5) goto L_0281365C; else goto L_02813634;
|
|
L_02813634: ; // 0x2813634
|
|
/* 02813634 */ cpu->r[0] = 0x10110000u;
|
|
/* 02813638 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281363C */ cpu->r[0] = cpu->r[0] + 0x00003920u;
|
|
/* 02813640 */ cpu->r[4] = 0x00000000u;
|
|
/* 02813644 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02813644 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02813648 */ Gambit_fn_0280C770(cpu);
|
|
/* 0281364C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0281364C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813650 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813650 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02813650 */ if (_t8) goto L_0281365C; else goto L_02813654;
|
|
L_02813654: ; // 0x2813654
|
|
/* 02813654 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813658 */ Gambit_fn_02801BB0(cpu);
|
|
L_0281365C: ; // 0x281365c
|
|
/* 0281365C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0281365C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02813660 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02813660 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02813664 */ cpu->lr = cpu->r[0];
|
|
/* 02813668 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813668 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0281366C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02813670 */ return;
|
|
}
|
|
|
|
// fn_02813618 @ 0x2813618
|
|
void Gambit_fn_02813618(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02813618: ; // 0x2813618
|
|
/* 02813618 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02813618 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813618 */ cpu->r[1] = _t0;
|
|
/* 0281361C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281361C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02813620 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02813620 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02813624 */ cpu->r[30] = cpu->r[3];
|
|
/* 02813624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02813628 */ cpu->r[31] = cpu->r[4];
|
|
/* 0281362C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281362C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813630 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813630 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02813630 */ if (_t5) goto L_0281365C; else goto L_02813634;
|
|
L_02813634: ; // 0x2813634
|
|
/* 02813634 */ cpu->r[0] = 0x10110000u;
|
|
/* 02813638 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281363C */ cpu->r[0] = cpu->r[0] + 0x00003920u;
|
|
/* 02813640 */ cpu->r[4] = 0x00000000u;
|
|
/* 02813644 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02813644 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02813648 */ Gambit_fn_0280C770(cpu);
|
|
/* 0281364C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0281364C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813650 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813650 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02813650 */ if (_t8) goto L_0281365C; else goto L_02813654;
|
|
L_02813654: ; // 0x2813654
|
|
/* 02813654 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813658 */ Gambit_fn_02801BB0(cpu);
|
|
L_0281365C: ; // 0x281365c
|
|
/* 0281365C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0281365C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02813660 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02813660 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02813664 */ cpu->lr = cpu->r[0];
|
|
/* 02813668 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813668 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0281366C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02813670 */ return;
|
|
}
|
|
|
|
// fn_02813674 @ 0x2813674
|
|
void Gambit_fn_02813674(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_02813674: ; // 0x2813674
|
|
/* 02813674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813678 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813678 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02813678 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02813678 */ goto L_0281367C;
|
|
L_0281367C: ; // 0x281367c
|
|
/* 0281367C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0281367C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813680 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813680 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02813680 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02813680 */ goto L_02813684;
|
|
L_02813684: ; // 0x2813684
|
|
/* 02813684 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02813688 @ 0x2813688
|
|
void Gambit_fn_02813688(CPUState* cpu) {
|
|
L_02813688: ; // 0x2813688
|
|
/* 02813688 */ return;
|
|
}
|
|
|
|
// fn_0281368C @ 0x281368c
|
|
void Gambit_fn_0281368C(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_0281368C: ; // 0x281368c
|
|
/* 0281368C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813690 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813690 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02813690 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02813690 */ goto L_02813694;
|
|
L_02813694: ; // 0x2813694
|
|
/* 02813694 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02813694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813698 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813698 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02813698 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02813698 */ goto L_0281369C;
|
|
L_0281369C: ; // 0x281369c
|
|
/* 0281369C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028136A0 @ 0x28136a0
|
|
void Gambit_fn_028136A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_028136A0: ; // 0x28136a0
|
|
/* 028136A0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 028136A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028136A4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 028136A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028136A8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 028136AC */ cpu->r[11] = 0x10110000u;
|
|
/* 028136B0 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 028136B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 028136B4 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 028136B4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 028136B8 */ return;
|
|
}
|
|
|
|
// fn_028136BC @ 0x28136bc
|
|
void Gambit_fn_028136BC(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_028136BC: ; // 0x28136bc
|
|
/* 028136BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028136C0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028136C0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028136C0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028136C0 */ goto L_028136C4;
|
|
L_028136C4: ; // 0x28136c4
|
|
/* 028136C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028136C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028136C8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028136C8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028136C8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028136C8 */ goto L_028136CC;
|
|
L_028136CC: ; // 0x28136cc
|
|
/* 028136CC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028136D0 @ 0x28136d0
|
|
void Gambit_fn_028136D0(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_028136D0: ; // 0x28136d0
|
|
/* 028136D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028136D4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028136D4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028136D4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028136D4 */ goto L_028136D8;
|
|
L_028136D8: ; // 0x28136d8
|
|
/* 028136D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028136D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028136DC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028136DC */ _t19 = _t18 & 0x00000001u;
|
|
/* 028136DC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028136DC */ goto L_028136E0;
|
|
L_028136E0: ; // 0x28136e0
|
|
/* 028136E0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028136E4 @ 0x28136e4
|
|
void Gambit_fn_028136E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_028136E4: ; // 0x28136e4
|
|
/* 028136E4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFE4u;
|
|
/* 028136E8 */ goto L_02813BFC;
|
|
L_02813BFC: ; // 0x2813bfc
|
|
/* 02813BFC */ cpu->r[0] = cpu->lr;
|
|
/* 02813C00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02813C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813C00 */ cpu->r[1] = _t0;
|
|
/* 02813C04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813C04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02813C08 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02813C08 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02813C0C */ cpu->r[30] = cpu->r[3];
|
|
/* 02813C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02813C10 */ cpu->r[31] = cpu->r[4];
|
|
/* 02813C14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02813C14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813C18 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813C18 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02813C18 */ if (_t5) goto L_02813C58; else goto L_02813C1C;
|
|
L_02813C1C: ; // 0x2813c1c
|
|
/* 02813C1C */ cpu->r[0] = 0x10110000u;
|
|
/* 02813C20 */ cpu->r[12] = 0x10110000u;
|
|
/* 02813C24 */ cpu->r[0] = cpu->r[0] + 0x00003974u;
|
|
/* 02813C28 */ cpu->r[12] = cpu->r[12] + 0x00003994u;
|
|
/* 02813C2C */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02813C2C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02813C30 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813C34 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02813C34 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02813C38 */ Gambit_fn_0281436C(cpu);
|
|
/* 02813C3C */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02813C40 */ cpu->r[4] = 0x00000000u;
|
|
/* 02813C44 */ Gambit_fn_02821E68(cpu);
|
|
/* 02813C48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02813C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813C4C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813C4C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02813C4C */ if (_t9) goto L_02813C58; else goto L_02813C50;
|
|
L_02813C50: ; // 0x2813c50
|
|
/* 02813C50 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813C54 */ Gambit_fn_02801BB0(cpu);
|
|
L_02813C58: ; // 0x2813c58
|
|
/* 02813C58 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02813C58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02813C5C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02813C5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02813C60 */ cpu->lr = cpu->r[0];
|
|
/* 02813C64 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813C64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02813C68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02813C6C */ return;
|
|
}
|
|
|
|
// fn_028136EC @ 0x28136ec
|
|
void Gambit_fn_028136EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_028136EC: ; // 0x28136ec
|
|
/* 028136EC */ cpu->r[0] = cpu->lr;
|
|
/* 028136F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028136F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028136F0 */ cpu->r[1] = _t0;
|
|
/* 028136F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028136F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028136F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028136F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028136FC */ cpu->r[30] = cpu->r[3];
|
|
/* 028136FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02813700 */ cpu->r[31] = cpu->r[4];
|
|
/* 02813704 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02813704 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813708 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813708 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02813708 */ if (_t5) goto L_02813768; else goto L_0281370C;
|
|
L_0281370C: ; // 0x281370c
|
|
/* 0281370C */ cpu->r[9] = 0x10110000u;
|
|
/* 02813710 */ cpu->r[9] = cpu->r[9] + 0x00003A9Cu;
|
|
/* 02813714 */ cpu->r[0] = cpu->r[30] + 0x00000074u;
|
|
/* 02813714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813718 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 02813718 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0281371C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281371C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0281371C */ if (_t8) goto L_0281374C; else goto L_02813720;
|
|
L_02813720: ; // 0x2813720
|
|
/* 02813720 */ cpu->r[0] = 0x10110000u;
|
|
/* 02813724 */ cpu->r[12] = 0x10110000u;
|
|
/* 02813728 */ cpu->r[0] = cpu->r[0] + 0x00003974u;
|
|
/* 0281372C */ cpu->r[12] = cpu->r[12] + 0x00003994u;
|
|
/* 02813730 */ _t9 = cpu->r[30] + 0x000000C4u;
|
|
/* 02813730 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02813734 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02813738 */ _t10 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02813738 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0281373C */ Gambit_fn_0281436C(cpu);
|
|
/* 02813740 */ cpu->r[3] = cpu->r[30] + 0x00000090u;
|
|
/* 02813744 */ cpu->r[4] = 0x00000000u;
|
|
/* 02813748 */ Gambit_fn_02821E68(cpu);
|
|
L_0281374C: ; // 0x281374c
|
|
/* 0281374C */ cpu->r[3] = cpu->r[30];
|
|
/* 02813750 */ cpu->r[4] = 0x00000000u;
|
|
/* 02813754 */ Gambit_fn_02814F74(cpu);
|
|
/* 02813758 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02813758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281375C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281375C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0281375C */ if (_t12) goto L_02813768; else goto L_02813760;
|
|
L_02813760: ; // 0x2813760
|
|
/* 02813760 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813764 */ Gambit_fn_02801BB0(cpu);
|
|
L_02813768: ; // 0x2813768
|
|
/* 02813768 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02813768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0281376C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0281376C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02813770 */ cpu->lr = cpu->r[0];
|
|
/* 02813774 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813774 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02813778 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0281377C */ return;
|
|
}
|
|
|
|
// fn_028136F0 @ 0x28136f0
|
|
void Gambit_fn_028136F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_028136F0: ; // 0x28136f0
|
|
/* 028136F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028136F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028136F0 */ cpu->r[1] = _t0;
|
|
/* 028136F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028136F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028136F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028136F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028136FC */ cpu->r[30] = cpu->r[3];
|
|
/* 028136FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02813700 */ cpu->r[31] = cpu->r[4];
|
|
/* 02813704 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02813704 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813708 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813708 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02813708 */ if (_t5) goto L_02813768; else goto L_0281370C;
|
|
L_0281370C: ; // 0x281370c
|
|
/* 0281370C */ cpu->r[9] = 0x10110000u;
|
|
/* 02813710 */ cpu->r[9] = cpu->r[9] + 0x00003A9Cu;
|
|
/* 02813714 */ cpu->r[0] = cpu->r[30] + 0x00000074u;
|
|
/* 02813714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813718 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 02813718 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0281371C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281371C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0281371C */ if (_t8) goto L_0281374C; else goto L_02813720;
|
|
L_02813720: ; // 0x2813720
|
|
/* 02813720 */ cpu->r[0] = 0x10110000u;
|
|
/* 02813724 */ cpu->r[12] = 0x10110000u;
|
|
/* 02813728 */ cpu->r[0] = cpu->r[0] + 0x00003974u;
|
|
/* 0281372C */ cpu->r[12] = cpu->r[12] + 0x00003994u;
|
|
/* 02813730 */ _t9 = cpu->r[30] + 0x000000C4u;
|
|
/* 02813730 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02813734 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02813738 */ _t10 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02813738 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0281373C */ Gambit_fn_0281436C(cpu);
|
|
/* 02813740 */ cpu->r[3] = cpu->r[30] + 0x00000090u;
|
|
/* 02813744 */ cpu->r[4] = 0x00000000u;
|
|
/* 02813748 */ Gambit_fn_02821E68(cpu);
|
|
L_0281374C: ; // 0x281374c
|
|
/* 0281374C */ cpu->r[3] = cpu->r[30];
|
|
/* 02813750 */ cpu->r[4] = 0x00000000u;
|
|
/* 02813754 */ Gambit_fn_02814F74(cpu);
|
|
/* 02813758 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02813758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281375C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281375C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0281375C */ if (_t12) goto L_02813768; else goto L_02813760;
|
|
L_02813760: ; // 0x2813760
|
|
/* 02813760 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813764 */ Gambit_fn_02801BB0(cpu);
|
|
L_02813768: ; // 0x2813768
|
|
/* 02813768 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02813768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0281376C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0281376C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02813770 */ cpu->lr = cpu->r[0];
|
|
/* 02813774 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813774 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02813778 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0281377C */ return;
|
|
}
|
|
|
|
// fn_02813780 @ 0x2813780
|
|
void Gambit_fn_02813780(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_028136EC: ; // 0x28136ec
|
|
/* 028136EC */ cpu->r[0] = cpu->lr;
|
|
/* 028136F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028136F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028136F0 */ cpu->r[1] = _t0;
|
|
/* 028136F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028136F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028136F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028136F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028136FC */ cpu->r[30] = cpu->r[3];
|
|
/* 028136FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02813700 */ cpu->r[31] = cpu->r[4];
|
|
/* 02813704 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02813704 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813708 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813708 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02813708 */ if (_t5) goto L_02813768; else goto L_0281370C;
|
|
L_0281370C: ; // 0x281370c
|
|
/* 0281370C */ cpu->r[9] = 0x10110000u;
|
|
/* 02813710 */ cpu->r[9] = cpu->r[9] + 0x00003A9Cu;
|
|
/* 02813714 */ cpu->r[0] = cpu->r[30] + 0x00000074u;
|
|
/* 02813714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813718 */ _t6 = cpu->r[30] + 0x00000020u;
|
|
/* 02813718 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 0281371C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281371C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0281371C */ if (_t8) goto L_0281374C; else goto L_02813720;
|
|
L_02813720: ; // 0x2813720
|
|
/* 02813720 */ cpu->r[0] = 0x10110000u;
|
|
/* 02813724 */ cpu->r[12] = 0x10110000u;
|
|
/* 02813728 */ cpu->r[0] = cpu->r[0] + 0x00003974u;
|
|
/* 0281372C */ cpu->r[12] = cpu->r[12] + 0x00003994u;
|
|
/* 02813730 */ _t9 = cpu->r[30] + 0x000000C4u;
|
|
/* 02813730 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02813734 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02813738 */ _t10 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02813738 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0281373C */ Gambit_fn_0281436C(cpu);
|
|
/* 02813740 */ cpu->r[3] = cpu->r[30] + 0x00000090u;
|
|
/* 02813744 */ cpu->r[4] = 0x00000000u;
|
|
/* 02813748 */ Gambit_fn_02821E68(cpu);
|
|
L_0281374C: ; // 0x281374c
|
|
/* 0281374C */ cpu->r[3] = cpu->r[30];
|
|
/* 02813750 */ cpu->r[4] = 0x00000000u;
|
|
/* 02813754 */ Gambit_fn_02814F74(cpu);
|
|
/* 02813758 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02813758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281375C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281375C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0281375C */ if (_t12) goto L_02813768; else goto L_02813760;
|
|
L_02813760: ; // 0x2813760
|
|
/* 02813760 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813764 */ Gambit_fn_02801BB0(cpu);
|
|
L_02813768: ; // 0x2813768
|
|
/* 02813768 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02813768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0281376C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0281376C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02813770 */ cpu->lr = cpu->r[0];
|
|
/* 02813774 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813774 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02813778 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0281377C */ return;
|
|
L_02813780: ; // 0x2813780
|
|
/* 02813780 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 02813784 */ goto L_028136EC;
|
|
}
|
|
|
|
// fn_02813788 @ 0x2813788
|
|
void Gambit_fn_02813788(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02813788: ; // 0x2813788
|
|
/* 02813788 */ cpu->r[0] = cpu->lr;
|
|
/* 0281378C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0281378C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281378C */ cpu->r[1] = _t0;
|
|
/* 02813790 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02813790 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02813794 */ cpu->r[30] = cpu->r[3];
|
|
/* 02813798 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813798 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0281379C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281379C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028137A0 */ Gambit_fn_02815118(cpu);
|
|
/* 028137A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028137A8 */ Gambit_fn_02836FFC(cpu);
|
|
/* 028137AC */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 028137AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028137B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028137B4 */ _t5 = cpu->r[30] + 0x00000064u;
|
|
/* 028137B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028137B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028137B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028137B8 */ if (_t7) goto L_028137C0; else goto L_028137BC;
|
|
L_028137BC: ; // 0x28137bc
|
|
/* 028137BC */ _t8 = cpu->r[3] + 0x00000010u;
|
|
/* 028137BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
L_028137C0: ; // 0x28137c0
|
|
/* 028137C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
|
|
/* 028137C4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028137C4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028137C4 */ if (_t10) goto L_02813810; else goto L_028137C8;
|
|
L_028137C8: ; // 0x28137c8
|
|
/* 028137C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028137CC */ cpu->r[4] = 0x00000001u;
|
|
/* 028137D0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028137D0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028137D0 */ if (_t12) goto L_028137F8; else goto L_028137D4;
|
|
L_028137D4: ; // 0x28137d4
|
|
/* 028137D4 */ _t13 = cpu->r[3] + 0x00000070u;
|
|
/* 028137D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028137D8 */ _t14 = cpu->r[12] + 0x000000A4u;
|
|
/* 028137D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028137DC */ cpu->ctr = cpu->r[0];
|
|
/* 028137E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028137E4 */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 028137E8 */ Gambit_fn_028143CC(cpu);
|
|
/* 028137EC */ cpu->r[3] = cpu->r[31];
|
|
/* 028137F0 */ Gambit_fn_02837030(cpu);
|
|
/* 028137F4 */ goto L_02813828;
|
|
L_028137F8: ; // 0x28137f8
|
|
/* 028137F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028137FC */ cpu->r[5] = cpu->r[30] + 0x00000074u;
|
|
/* 02813800 */ Gambit_fn_02815128(cpu);
|
|
/* 02813804 */ cpu->r[3] = cpu->r[31];
|
|
/* 02813808 */ Gambit_fn_02837030(cpu);
|
|
/* 0281380C */ goto L_02813828;
|
|
L_02813810: ; // 0x2813810
|
|
/* 02813810 */ cpu->r[4] = 0x00000000u;
|
|
/* 02813814 */ cpu->r[5] = cpu->r[30] + 0x00000074u;
|
|
/* 02813818 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281381C */ Gambit_fn_02815128(cpu);
|
|
/* 02813820 */ cpu->r[3] = cpu->r[31];
|
|
/* 02813824 */ Gambit_fn_02837030(cpu);
|
|
L_02813828: ; // 0x2813828
|
|
/* 02813828 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02813828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0281382C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0281382C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02813830 */ cpu->lr = cpu->r[0];
|
|
/* 02813834 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813834 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02813838 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0281383C */ return;
|
|
}
|
|
|
|
// fn_0281378C @ 0x281378c
|
|
void Gambit_fn_0281378C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0281378C: ; // 0x281378c
|
|
/* 0281378C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0281378C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281378C */ cpu->r[1] = _t0;
|
|
/* 02813790 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02813790 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02813794 */ cpu->r[30] = cpu->r[3];
|
|
/* 02813798 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813798 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0281379C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281379C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028137A0 */ Gambit_fn_02815118(cpu);
|
|
/* 028137A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028137A8 */ Gambit_fn_02836FFC(cpu);
|
|
/* 028137AC */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 028137AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028137B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028137B4 */ _t5 = cpu->r[30] + 0x00000064u;
|
|
/* 028137B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028137B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028137B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028137B8 */ if (_t7) goto L_028137C0; else goto L_028137BC;
|
|
L_028137BC: ; // 0x28137bc
|
|
/* 028137BC */ _t8 = cpu->r[3] + 0x00000010u;
|
|
/* 028137BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
L_028137C0: ; // 0x28137c0
|
|
/* 028137C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
|
|
/* 028137C4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028137C4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028137C4 */ if (_t10) goto L_02813810; else goto L_028137C8;
|
|
L_028137C8: ; // 0x28137c8
|
|
/* 028137C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028137CC */ cpu->r[4] = 0x00000001u;
|
|
/* 028137D0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028137D0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028137D0 */ if (_t12) goto L_028137F8; else goto L_028137D4;
|
|
L_028137D4: ; // 0x28137d4
|
|
/* 028137D4 */ _t13 = cpu->r[3] + 0x00000070u;
|
|
/* 028137D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028137D8 */ _t14 = cpu->r[12] + 0x000000A4u;
|
|
/* 028137D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028137DC */ cpu->ctr = cpu->r[0];
|
|
/* 028137E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028137E4 */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 028137E8 */ Gambit_fn_028143CC(cpu);
|
|
/* 028137EC */ cpu->r[3] = cpu->r[31];
|
|
/* 028137F0 */ Gambit_fn_02837030(cpu);
|
|
/* 028137F4 */ goto L_02813828;
|
|
L_028137F8: ; // 0x28137f8
|
|
/* 028137F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 028137FC */ cpu->r[5] = cpu->r[30] + 0x00000074u;
|
|
/* 02813800 */ Gambit_fn_02815128(cpu);
|
|
/* 02813804 */ cpu->r[3] = cpu->r[31];
|
|
/* 02813808 */ Gambit_fn_02837030(cpu);
|
|
/* 0281380C */ goto L_02813828;
|
|
L_02813810: ; // 0x2813810
|
|
/* 02813810 */ cpu->r[4] = 0x00000000u;
|
|
/* 02813814 */ cpu->r[5] = cpu->r[30] + 0x00000074u;
|
|
/* 02813818 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281381C */ Gambit_fn_02815128(cpu);
|
|
/* 02813820 */ cpu->r[3] = cpu->r[31];
|
|
/* 02813824 */ Gambit_fn_02837030(cpu);
|
|
L_02813828: ; // 0x2813828
|
|
/* 02813828 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02813828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0281382C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0281382C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02813830 */ cpu->lr = cpu->r[0];
|
|
/* 02813834 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813834 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02813838 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0281383C */ return;
|
|
}
|
|
|
|
// fn_02813840 @ 0x2813840
|
|
void Gambit_fn_02813840(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02813840: ; // 0x2813840
|
|
/* 02813840 */ cpu->r[3] = cpu->r[3] + 0x00000074u;
|
|
/* 02813844 */ goto L_0281436C;
|
|
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;
|
|
}
|
|
|
|
// fn_02813848 @ 0x2813848
|
|
void Gambit_fn_02813848(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_02813848: ; // 0x2813848
|
|
/* 02813848 */ cpu->r[0] = cpu->lr;
|
|
/* 0281384C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0281384C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281384C */ cpu->r[1] = _t0;
|
|
/* 02813850 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02813850 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02813854 */ cpu->r[30] = cpu->r[3];
|
|
/* 02813858 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813858 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0281385C */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02813860 */ cpu->r[31] = cpu->r[4];
|
|
/* 02813864 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02813864 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813868 */ Gambit_fn_0281434C(cpu);
|
|
/* 0281386C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02813870 */ _t4 = cpu->r[30] + 0x000000BCu;
|
|
/* 02813870 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02813874 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813874 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02813874 */ if (_t6) goto L_028138AC; else goto L_02813878;
|
|
L_02813878: ; // 0x2813878
|
|
/* 02813878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281387C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281387C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0281387C */ if (_t8) goto L_02813898; else goto L_02813880;
|
|
L_02813880: ; // 0x2813880
|
|
/* 02813880 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02813880 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02813884 */ _t10 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02813884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02813888 */ cpu->ctr = cpu->r[0];
|
|
/* 0281388C */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 02813890 */ cpu->r[5] = 0x00000001u;
|
|
/* 02813894 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02813898: ; // 0x2813898
|
|
/* 02813898 */ cpu->r[10] = 0x00000001u;
|
|
/* 0281389C */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 028138A0 */ _t11 = cpu->r[30] + 0x000000B8u;
|
|
/* 028138A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 028138A4 */ Gambit_fn_0281435C(cpu);
|
|
/* 028138A8 */ goto L_028138DC;
|
|
L_028138AC: ; // 0x28138ac
|
|
/* 028138AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028138B0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028138B0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028138B0 */ if (_t13) goto L_028138CC; else goto L_028138B4;
|
|
L_028138B4: ; // 0x28138b4
|
|
/* 028138B4 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 028138B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028138B8 */ _t15 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028138B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028138BC */ cpu->ctr = cpu->r[0];
|
|
/* 028138C0 */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 028138C4 */ cpu->r[5] = 0x00000000u;
|
|
/* 028138C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028138CC: ; // 0x28138cc
|
|
/* 028138CC */ cpu->r[10] = 0x00000000u;
|
|
/* 028138D0 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 028138D4 */ _t16 = cpu->r[30] + 0x000000B8u;
|
|
/* 028138D4 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 028138D8 */ Gambit_fn_0281435C(cpu);
|
|
L_028138DC: ; // 0x28138dc
|
|
/* 028138DC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 028138DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028138E0 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 028138E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028138E4 */ cpu->lr = cpu->r[0];
|
|
/* 028138E8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028138E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028138EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028138F0 */ return;
|
|
}
|
|
|
|
// fn_0281384C @ 0x281384c
|
|
void Gambit_fn_0281384C(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_0281384C: ; // 0x281384c
|
|
/* 0281384C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0281384C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281384C */ cpu->r[1] = _t0;
|
|
/* 02813850 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02813850 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02813854 */ cpu->r[30] = cpu->r[3];
|
|
/* 02813858 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813858 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0281385C */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02813860 */ cpu->r[31] = cpu->r[4];
|
|
/* 02813864 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02813864 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813868 */ Gambit_fn_0281434C(cpu);
|
|
/* 0281386C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02813870 */ _t4 = cpu->r[30] + 0x000000BCu;
|
|
/* 02813870 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02813874 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813874 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02813874 */ if (_t6) goto L_028138AC; else goto L_02813878;
|
|
L_02813878: ; // 0x2813878
|
|
/* 02813878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281387C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281387C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0281387C */ if (_t8) goto L_02813898; else goto L_02813880;
|
|
L_02813880: ; // 0x2813880
|
|
/* 02813880 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02813880 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02813884 */ _t10 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02813884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02813888 */ cpu->ctr = cpu->r[0];
|
|
/* 0281388C */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 02813890 */ cpu->r[5] = 0x00000001u;
|
|
/* 02813894 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02813898: ; // 0x2813898
|
|
/* 02813898 */ cpu->r[10] = 0x00000001u;
|
|
/* 0281389C */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 028138A0 */ _t11 = cpu->r[30] + 0x000000B8u;
|
|
/* 028138A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 028138A4 */ Gambit_fn_0281435C(cpu);
|
|
/* 028138A8 */ goto L_028138DC;
|
|
L_028138AC: ; // 0x28138ac
|
|
/* 028138AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028138B0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028138B0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028138B0 */ if (_t13) goto L_028138CC; else goto L_028138B4;
|
|
L_028138B4: ; // 0x28138b4
|
|
/* 028138B4 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 028138B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028138B8 */ _t15 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028138B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028138BC */ cpu->ctr = cpu->r[0];
|
|
/* 028138C0 */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 028138C4 */ cpu->r[5] = 0x00000000u;
|
|
/* 028138C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028138CC: ; // 0x28138cc
|
|
/* 028138CC */ cpu->r[10] = 0x00000000u;
|
|
/* 028138D0 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 028138D4 */ _t16 = cpu->r[30] + 0x000000B8u;
|
|
/* 028138D4 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 028138D8 */ Gambit_fn_0281435C(cpu);
|
|
L_028138DC: ; // 0x28138dc
|
|
/* 028138DC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 028138DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028138E0 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 028138E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028138E4 */ cpu->lr = cpu->r[0];
|
|
/* 028138E8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028138E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028138EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028138F0 */ return;
|
|
}
|
|
|
|
// fn_028138F4 @ 0x28138f4
|
|
void Gambit_fn_028138F4(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_028138F4: ; // 0x28138f4
|
|
/* 028138F4 */ cpu->r[0] = cpu->lr;
|
|
/* 028138F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028138F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028138F8 */ cpu->r[1] = _t0;
|
|
/* 028138FC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028138FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02813900 */ cpu->r[30] = cpu->r[3];
|
|
/* 02813904 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813904 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02813908 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 0281390C */ cpu->r[31] = cpu->r[4];
|
|
/* 02813910 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02813910 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813914 */ Gambit_fn_0281434C(cpu);
|
|
/* 02813918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0281391C */ _t4 = cpu->r[30] + 0x000000BCu;
|
|
/* 0281391C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02813920 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813920 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02813920 */ if (_t6) goto L_02813958; else goto L_02813924;
|
|
L_02813924: ; // 0x2813924
|
|
/* 02813924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813928 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813928 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02813928 */ if (_t8) goto L_02813944; else goto L_0281392C;
|
|
L_0281392C: ; // 0x281392c
|
|
/* 0281392C */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 0281392C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02813930 */ _t10 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02813930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02813934 */ cpu->ctr = cpu->r[0];
|
|
/* 02813938 */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 0281393C */ cpu->r[5] = 0x00000002u;
|
|
/* 02813940 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02813944: ; // 0x2813944
|
|
/* 02813944 */ cpu->r[10] = 0x00000002u;
|
|
/* 02813948 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 0281394C */ _t11 = cpu->r[30] + 0x000000B8u;
|
|
/* 0281394C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02813950 */ Gambit_fn_0281435C(cpu);
|
|
/* 02813954 */ goto L_02813988;
|
|
L_02813958: ; // 0x2813958
|
|
/* 02813958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281395C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281395C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0281395C */ if (_t13) goto L_02813978; else goto L_02813960;
|
|
L_02813960: ; // 0x2813960
|
|
/* 02813960 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02813960 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02813964 */ _t15 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02813964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02813968 */ cpu->ctr = cpu->r[0];
|
|
/* 0281396C */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 02813970 */ cpu->r[5] = 0x00000000u;
|
|
/* 02813974 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02813978: ; // 0x2813978
|
|
/* 02813978 */ cpu->r[10] = 0x00000000u;
|
|
/* 0281397C */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02813980 */ _t16 = cpu->r[30] + 0x000000B8u;
|
|
/* 02813980 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02813984 */ Gambit_fn_0281435C(cpu);
|
|
L_02813988: ; // 0x2813988
|
|
/* 02813988 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02813988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0281398C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0281398C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02813990 */ cpu->lr = cpu->r[0];
|
|
/* 02813994 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02813998 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0281399C */ return;
|
|
}
|
|
|
|
// fn_028138F8 @ 0x28138f8
|
|
void Gambit_fn_028138F8(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_028138F8: ; // 0x28138f8
|
|
/* 028138F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028138F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028138F8 */ cpu->r[1] = _t0;
|
|
/* 028138FC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028138FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02813900 */ cpu->r[30] = cpu->r[3];
|
|
/* 02813904 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813904 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02813908 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 0281390C */ cpu->r[31] = cpu->r[4];
|
|
/* 02813910 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02813910 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813914 */ Gambit_fn_0281434C(cpu);
|
|
/* 02813918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0281391C */ _t4 = cpu->r[30] + 0x000000BCu;
|
|
/* 0281391C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02813920 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813920 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02813920 */ if (_t6) goto L_02813958; else goto L_02813924;
|
|
L_02813924: ; // 0x2813924
|
|
/* 02813924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813928 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813928 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02813928 */ if (_t8) goto L_02813944; else goto L_0281392C;
|
|
L_0281392C: ; // 0x281392c
|
|
/* 0281392C */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 0281392C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02813930 */ _t10 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02813930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02813934 */ cpu->ctr = cpu->r[0];
|
|
/* 02813938 */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 0281393C */ cpu->r[5] = 0x00000002u;
|
|
/* 02813940 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02813944: ; // 0x2813944
|
|
/* 02813944 */ cpu->r[10] = 0x00000002u;
|
|
/* 02813948 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 0281394C */ _t11 = cpu->r[30] + 0x000000B8u;
|
|
/* 0281394C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02813950 */ Gambit_fn_0281435C(cpu);
|
|
/* 02813954 */ goto L_02813988;
|
|
L_02813958: ; // 0x2813958
|
|
/* 02813958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281395C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281395C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0281395C */ if (_t13) goto L_02813978; else goto L_02813960;
|
|
L_02813960: ; // 0x2813960
|
|
/* 02813960 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02813960 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02813964 */ _t15 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02813964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02813968 */ cpu->ctr = cpu->r[0];
|
|
/* 0281396C */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 02813970 */ cpu->r[5] = 0x00000000u;
|
|
/* 02813974 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02813978: ; // 0x2813978
|
|
/* 02813978 */ cpu->r[10] = 0x00000000u;
|
|
/* 0281397C */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02813980 */ _t16 = cpu->r[30] + 0x000000B8u;
|
|
/* 02813980 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02813984 */ Gambit_fn_0281435C(cpu);
|
|
L_02813988: ; // 0x2813988
|
|
/* 02813988 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02813988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0281398C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0281398C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02813990 */ cpu->lr = cpu->r[0];
|
|
/* 02813994 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02813998 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0281399C */ return;
|
|
}
|
|
|
|
// fn_028139A0 @ 0x28139a0
|
|
void Gambit_fn_028139A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_028139A0: ; // 0x28139a0
|
|
/* 028139A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000001u);
|
|
/* 028139A4 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028139A4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 028139A4 */ if (_t1) goto L_028139B0; else goto L_028139A8;
|
|
L_028139A8: ; // 0x28139a8
|
|
/* 028139A8 */ cpu->r[3] = cpu->r[3] + 0x00000074u;
|
|
/* 028139AC */ return;
|
|
L_028139B0: ; // 0x28139b0
|
|
/* 028139B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028139B4 */ return;
|
|
}
|
|
|
|
// fn_028139B8 @ 0x28139b8
|
|
void Gambit_fn_028139B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71;
|
|
|
|
L_028139B8: ; // 0x28139b8
|
|
/* 028139B8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 028139B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028139B8 */ cpu->r[1] = _t0;
|
|
/* 028139BC */ cpu->r[0] = cpu->lr;
|
|
/* 028139C0 */ /* nop */
|
|
/* 028139C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028139C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028139C8 */ cpu->r[30] = cpu->r[4];
|
|
/* 028139CC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 028139CC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028139D0 */ cpu->r[29] = cpu->r[5];
|
|
/* 028139D4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028139D4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 028139D4 */ if (_t3) goto L_028139D8; else goto L_028139E8;
|
|
L_028139D8: ; // 0x28139d8
|
|
/* 028139D8 */ cpu->r[3] = 0x000000C8u;
|
|
/* 028139DC */ Gambit_fn_02801A78(cpu);
|
|
/* 028139E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028139E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028139E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028139E4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028139E4 */ if (_t5) goto L_02813BD0; else goto L_028139E8;
|
|
L_028139E8: ; // 0x28139e8
|
|
/* 028139E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028139EC */ cpu->r[4] = cpu->r[30];
|
|
/* 028139F0 */ cpu->r[5] = cpu->r[29];
|
|
/* 028139F4 */ Gambit_fn_028152FC(cpu);
|
|
/* 028139F8 */ cpu->r[7] = 0x10110000u;
|
|
/* 028139FC */ cpu->r[26] = cpu->r[31] + 0x00000074u;
|
|
/* 028139FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02813A00 */ cpu->r[8] = 0x10110000u;
|
|
/* 02813A04 */ cpu->r[7] = cpu->r[7] + 0x000039E4u;
|
|
/* 02813A08 */ cpu->r[28] = 0x10110000u;
|
|
/* 02813A0C */ cpu->r[8] = cpu->r[8] + 0x00003A9Cu;
|
|
/* 02813A10 */ _t6 = cpu->r[31] + 0x00000070u;
|
|
/* 02813A10 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02813A14 */ cpu->r[27] = 0x00000000u;
|
|
/* 02813A18 */ cpu->r[28] = cpu->r[28] + 0x0000394Cu;
|
|
/* 02813A1C */ _t7 = cpu->r[31] + 0x00000020u;
|
|
/* 02813A1C */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 02813A20 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813A20 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02813A20 */ if (_t9) goto L_02813A24; else goto L_02813A34;
|
|
L_02813A24: ; // 0x2813a24
|
|
/* 02813A24 */ cpu->r[3] = 0x00000054u;
|
|
/* 02813A28 */ Gambit_fn_02801A78(cpu);
|
|
/* 02813A2C */ cpu->r[26] = cpu->r[3];
|
|
/* 02813A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02813A30 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813A30 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02813A30 */ if (_t11) goto L_02813B18; else goto L_02813A34;
|
|
L_02813A34: ; // 0x2813a34
|
|
/* 02813A34 */ cpu->r[30] = cpu->r[26];
|
|
/* 02813A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02813A38 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813A38 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02813A38 */ if (_t13) goto L_02813A3C; else goto L_02813A4C;
|
|
L_02813A3C: ; // 0x2813a3c
|
|
/* 02813A3C */ cpu->r[3] = 0x00000014u;
|
|
/* 02813A40 */ Gambit_fn_02801A78(cpu);
|
|
/* 02813A44 */ cpu->r[30] = cpu->r[3];
|
|
/* 02813A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02813A48 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813A48 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02813A48 */ if (_t15) goto L_02813A58; else goto L_02813A4C;
|
|
L_02813A4C: ; // 0x2813a4c
|
|
/* 02813A4C */ cpu->r[3] = cpu->r[30];
|
|
/* 02813A50 */ Gambit_fn_028029E4(cpu);
|
|
/* 02813A54 */ _t16 = cpu->r[30] + 0x00000010u;
|
|
/* 02813A54 */ rbrew_write32(cpu->mem, _t16, cpu->r[26]);
|
|
L_02813A58: ; // 0x2813a58
|
|
/* 02813A58 */ cpu->r[3] = cpu->r[26] + 0x00000014u;
|
|
/* 02813A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813A5C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813A5C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02813A5C */ if (_t18) goto L_02813A60; else goto L_02813A70;
|
|
L_02813A60: ; // 0x2813a60
|
|
/* 02813A60 */ cpu->r[3] = 0x00000008u;
|
|
/* 02813A64 */ Gambit_fn_02801A78(cpu);
|
|
/* 02813A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813A6C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813A6C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02813A6C */ if (_t20) goto L_02813A88; else goto L_02813A70;
|
|
L_02813A70: ; // 0x2813a70
|
|
/* 02813A70 */ cpu->r[9] = 0x10110000u;
|
|
/* 02813A74 */ cpu->r[10] = 0x10110000u;
|
|
/* 02813A78 */ cpu->r[9] = cpu->r[9] + 0x00003934u;
|
|
/* 02813A7C */ cpu->r[10] = cpu->r[10] + 0x00003930u;
|
|
/* 02813A80 */ _t21 = cpu->r[3] + 0x00000004u;
|
|
/* 02813A80 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02813A84 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02813A84 */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
L_02813A88: ; // 0x2813a88
|
|
/* 02813A88 */ cpu->r[3] = cpu->r[26] + 0x0000001Cu;
|
|
/* 02813A8C */ Gambit_fn_02821D00(cpu);
|
|
/* 02813A90 */ cpu->r[11] = 0x10110000u;
|
|
/* 02813A94 */ _t23 = cpu->r[26] + 0x0000003Cu;
|
|
/* 02813A94 */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
/* 02813A98 */ cpu->r[11] = cpu->r[11] + 0x00003974u;
|
|
/* 02813A9C */ cpu->r[12] = 0x10110000u;
|
|
/* 02813AA0 */ _t24 = cpu->r[26] + 0x00000050u;
|
|
/* 02813AA0 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02813AA4 */ cpu->r[12] = cpu->r[12] + 0x00003994u;
|
|
/* 02813AA8 */ cpu->r[3] = cpu->r[26] + 0x00000044u;
|
|
/* 02813AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813AAC */ _t25 = cpu->r[26] + 0x00000028u;
|
|
/* 02813AAC */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 02813AB0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813AB0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02813AB0 */ if (_t27) goto L_02813AB4; else goto L_02813AC4;
|
|
L_02813AB4: ; // 0x2813ab4
|
|
/* 02813AB4 */ cpu->r[3] = 0x00000004u;
|
|
/* 02813AB8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02813ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813AC0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813AC0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02813AC0 */ if (_t29) goto L_02813AC8; else goto L_02813AC4;
|
|
L_02813AC4: ; // 0x2813ac4
|
|
/* 02813AC4 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 02813AC4 */ rbrew_write32(cpu->mem, _t30, cpu->r[27]);
|
|
L_02813AC8: ; // 0x2813ac8
|
|
/* 02813AC8 */ _t31 = cpu->r[26] + 0x00000048u;
|
|
/* 02813AC8 */ rbrew_write32(cpu->mem, _t31, cpu->r[27]);
|
|
/* 02813ACC */ cpu->r[30] = cpu->r[26] + 0x0000002Cu;
|
|
/* 02813ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02813AD0 */ _t32 = cpu->r[26] + 0x0000004Cu;
|
|
/* 02813AD0 */ rbrew_write32(cpu->mem, _t32, cpu->r[27]);
|
|
/* 02813AD4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813AD4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02813AD4 */ if (_t34) goto L_02813B10; else goto L_02813AD8;
|
|
L_02813AD8: ; // 0x2813ad8
|
|
/* 02813AD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813AD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813ADC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813ADC */ _t36 = _t35 & 0x00000001u;
|
|
/* 02813ADC */ if (_t36) goto L_02813AE0; else goto L_02813AF0;
|
|
L_02813AE0: ; // 0x2813ae0
|
|
/* 02813AE0 */ cpu->r[3] = 0x00000010u;
|
|
/* 02813AE4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02813AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813AEC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813AEC */ _t38 = _t37 & 0x00000001u;
|
|
/* 02813AEC */ if (_t38) goto L_02813B04; else goto L_02813AF0;
|
|
L_02813AF0: ; // 0x2813af0
|
|
/* 02813AF0 */ _t39 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02813AF0 */ rbrew_write32(cpu->mem, _t39, cpu->r[27]);
|
|
/* 02813AF4 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 02813AF4 */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
/* 02813AF8 */ _t41 = cpu->r[3] + 0x00000008u;
|
|
/* 02813AF8 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[27]);
|
|
/* 02813AFC */ _t42 = cpu->r[3] + 0x0000000Au;
|
|
/* 02813AFC */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[27]);
|
|
/* 02813B00 */ _t43 = cpu->r[3] + 0x00000004u;
|
|
/* 02813B00 */ rbrew_write32(cpu->mem, _t43, cpu->r[27]);
|
|
L_02813B04: ; // 0x2813b04
|
|
/* 02813B04 */ cpu->r[0] = 0x10110000u;
|
|
/* 02813B08 */ cpu->r[0] = cpu->r[0] + 0x000039A4u;
|
|
/* 02813B0C */ _t44 = cpu->r[30] + 0x00000000u;
|
|
/* 02813B0C */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
L_02813B10: ; // 0x2813b10
|
|
/* 02813B10 */ cpu->r[0] = 0x00000000u;
|
|
/* 02813B14 */ _t45 = cpu->r[26] + 0x00000044u;
|
|
/* 02813B14 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
L_02813B18: ; // 0x2813b18
|
|
/* 02813B18 */ cpu->r[3] = cpu->r[31] + 0x00000074u;
|
|
/* 02813B1C */ Gambit_fn_0281434C(cpu);
|
|
/* 02813B20 */ _t46 = cpu->r[31] + 0x000000BCu;
|
|
/* 02813B20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02813B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813B28 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813B28 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02813B28 */ if (_t48) goto L_02813B44; else goto L_02813B2C;
|
|
L_02813B2C: ; // 0x2813b2c
|
|
/* 02813B2C */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 02813B2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02813B30 */ _t50 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02813B30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02813B34 */ cpu->ctr = cpu->r[8];
|
|
/* 02813B38 */ cpu->r[4] = cpu->r[31] + 0x00000074u;
|
|
/* 02813B3C */ cpu->r[5] = 0x00000003u;
|
|
/* 02813B40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02813B44: ; // 0x2813b44
|
|
/* 02813B44 */ cpu->r[0] = 0x00000003u;
|
|
/* 02813B48 */ cpu->r[3] = cpu->r[31] + 0x00000074u;
|
|
/* 02813B4C */ _t51 = cpu->r[31] + 0x000000B8u;
|
|
/* 02813B4C */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02813B50 */ Gambit_fn_0281435C(cpu);
|
|
/* 02813B54 */ cpu->r[27] = 0x00000000u;
|
|
/* 02813B58 */ cpu->r[3] = cpu->r[31] + 0x00000074u;
|
|
/* 02813B5C */ cpu->r[25] = 0x00000070u;
|
|
/* 02813B60 */ cpu->r[26] = 0x00000016u;
|
|
/* 02813B64 */ Gambit_fn_0281434C(cpu);
|
|
/* 02813B68 */ cpu->r[11] = cpu->r[31] + 0x00000074u;
|
|
/* 02813B6C */ cpu->r[30] = cpu->r[11] + 0x0000002Cu;
|
|
/* 02813B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02813B70 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813B70 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02813B70 */ if (_t53) goto L_02813BBC; else goto L_02813B74;
|
|
L_02813B74: ; // 0x2813b74
|
|
/* 02813B74 */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813B74 */ rbrew_write32(cpu->mem, _t54, cpu->r[25]);
|
|
/* 02813B78 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813B7C */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 02813B7C */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[27]);
|
|
/* 02813B80 */ _t56 = cpu->r[1] + 0x0000000Au;
|
|
/* 02813B80 */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[26]);
|
|
/* 02813B84 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813B84 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02813B84 */ if (_t58) goto L_02813B88; else goto L_02813B98;
|
|
L_02813B88: ; // 0x2813b88
|
|
/* 02813B88 */ cpu->r[3] = 0x00000010u;
|
|
/* 02813B8C */ Gambit_fn_02801A78(cpu);
|
|
/* 02813B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813B94 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813B94 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02813B94 */ if (_t60) goto L_02813BB0; else goto L_02813B98;
|
|
L_02813B98: ; // 0x2813b98
|
|
/* 02813B98 */ _t61 = cpu->r[3] + 0x00000004u;
|
|
/* 02813B98 */ rbrew_write32(cpu->mem, _t61, cpu->r[31]);
|
|
/* 02813B9C */ _t62 = cpu->r[3] + 0x00000000u;
|
|
/* 02813B9C */ rbrew_write32(cpu->mem, _t62, cpu->r[28]);
|
|
/* 02813BA0 */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 02813BA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02813BA4 */ _t64 = cpu->r[3] + 0x00000008u;
|
|
/* 02813BA4 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 02813BA8 */ _t65 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813BA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02813BAC */ _t66 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02813BAC */ rbrew_write32(cpu->mem, _t66, cpu->r[5]);
|
|
L_02813BB0: ; // 0x2813bb0
|
|
/* 02813BB0 */ cpu->r[0] = 0x10110000u;
|
|
/* 02813BB4 */ cpu->r[0] = cpu->r[0] + 0x000039CCu;
|
|
/* 02813BB8 */ _t67 = cpu->r[30] + 0x00000000u;
|
|
/* 02813BB8 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
L_02813BBC: ; // 0x2813bbc
|
|
/* 02813BBC */ cpu->r[3] = cpu->r[31] + 0x00000074u;
|
|
/* 02813BC0 */ Gambit_fn_0281435C(cpu);
|
|
/* 02813BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02813BC8 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813BC8 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02813BC8 */ if (_t69) goto L_02813BD0; else goto L_02813BCC;
|
|
L_02813BCC: ; // 0x2813bcc
|
|
/* 02813BCC */ _t70 = cpu->r[31] + 0x00000088u;
|
|
/* 02813BCC */ rbrew_write32(cpu->mem, _t70, cpu->r[29]);
|
|
L_02813BD0: ; // 0x2813bd0
|
|
/* 02813BD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02813BD4 */ /* nop */
|
|
/* 02813BD8 */ _t71 = cpu->r[1] + 0x00000034u;
|
|
/* 02813BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02813BDC */ cpu->lr = cpu->r[0];
|
|
/* 02813BE0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02813BE4 */ return;
|
|
}
|
|
|
|
// fn_02813BE8 @ 0x2813be8
|
|
void Gambit_fn_02813BE8(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_02813BE8: ; // 0x2813be8
|
|
/* 02813BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813BEC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813BEC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02813BEC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02813BEC */ goto L_02813BF0;
|
|
L_02813BF0: ; // 0x2813bf0
|
|
/* 02813BF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02813BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813BF4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813BF4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02813BF4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02813BF4 */ goto L_02813BF8;
|
|
L_02813BF8: ; // 0x2813bf8
|
|
/* 02813BF8 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02813BFC @ 0x2813bfc
|
|
void Gambit_fn_02813BFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02813BFC: ; // 0x2813bfc
|
|
/* 02813BFC */ cpu->r[0] = cpu->lr;
|
|
/* 02813C00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02813C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813C00 */ cpu->r[1] = _t0;
|
|
/* 02813C04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813C04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02813C08 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02813C08 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02813C0C */ cpu->r[30] = cpu->r[3];
|
|
/* 02813C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02813C10 */ cpu->r[31] = cpu->r[4];
|
|
/* 02813C14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02813C14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813C18 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813C18 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02813C18 */ if (_t5) goto L_02813C58; else goto L_02813C1C;
|
|
L_02813C1C: ; // 0x2813c1c
|
|
/* 02813C1C */ cpu->r[0] = 0x10110000u;
|
|
/* 02813C20 */ cpu->r[12] = 0x10110000u;
|
|
/* 02813C24 */ cpu->r[0] = cpu->r[0] + 0x00003974u;
|
|
/* 02813C28 */ cpu->r[12] = cpu->r[12] + 0x00003994u;
|
|
/* 02813C2C */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02813C2C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02813C30 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813C34 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02813C34 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02813C38 */ Gambit_fn_0281436C(cpu);
|
|
/* 02813C3C */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02813C40 */ cpu->r[4] = 0x00000000u;
|
|
/* 02813C44 */ Gambit_fn_02821E68(cpu);
|
|
/* 02813C48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02813C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813C4C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813C4C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02813C4C */ if (_t9) goto L_02813C58; else goto L_02813C50;
|
|
L_02813C50: ; // 0x2813c50
|
|
/* 02813C50 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813C54 */ Gambit_fn_02801BB0(cpu);
|
|
L_02813C58: ; // 0x2813c58
|
|
/* 02813C58 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02813C58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02813C5C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02813C5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02813C60 */ cpu->lr = cpu->r[0];
|
|
/* 02813C64 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813C64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02813C68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02813C6C */ return;
|
|
}
|
|
|
|
// fn_02813C00 @ 0x2813c00
|
|
void Gambit_fn_02813C00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02813C00: ; // 0x2813c00
|
|
/* 02813C00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02813C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813C00 */ cpu->r[1] = _t0;
|
|
/* 02813C04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813C04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02813C08 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02813C08 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02813C0C */ cpu->r[30] = cpu->r[3];
|
|
/* 02813C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02813C10 */ cpu->r[31] = cpu->r[4];
|
|
/* 02813C14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02813C14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813C18 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813C18 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02813C18 */ if (_t5) goto L_02813C58; else goto L_02813C1C;
|
|
L_02813C1C: ; // 0x2813c1c
|
|
/* 02813C1C */ cpu->r[0] = 0x10110000u;
|
|
/* 02813C20 */ cpu->r[12] = 0x10110000u;
|
|
/* 02813C24 */ cpu->r[0] = cpu->r[0] + 0x00003974u;
|
|
/* 02813C28 */ cpu->r[12] = cpu->r[12] + 0x00003994u;
|
|
/* 02813C2C */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02813C2C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02813C30 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813C34 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02813C34 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02813C38 */ Gambit_fn_0281436C(cpu);
|
|
/* 02813C3C */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02813C40 */ cpu->r[4] = 0x00000000u;
|
|
/* 02813C44 */ Gambit_fn_02821E68(cpu);
|
|
/* 02813C48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02813C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813C4C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813C4C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02813C4C */ if (_t9) goto L_02813C58; else goto L_02813C50;
|
|
L_02813C50: ; // 0x2813c50
|
|
/* 02813C50 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813C54 */ Gambit_fn_02801BB0(cpu);
|
|
L_02813C58: ; // 0x2813c58
|
|
/* 02813C58 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02813C58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02813C5C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02813C5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02813C60 */ cpu->lr = cpu->r[0];
|
|
/* 02813C64 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813C64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02813C68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02813C6C */ return;
|
|
}
|
|
|
|
// fn_02813C70 @ 0x2813c70
|
|
void Gambit_fn_02813C70(CPUState* cpu) {
|
|
L_02813C70: ; // 0x2813c70
|
|
/* 02813C70 */ return;
|
|
}
|
|
|
|
// fn_02813C74 @ 0x2813c74
|
|
void Gambit_fn_02813C74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02813C74: ; // 0x2813c74
|
|
/* 02813C74 */ cpu->r[12] = cpu->r[3];
|
|
/* 02813C78 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02813C78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02813C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02813C80 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813C80 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02813C80 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02813C80 */ goto L_02813C84;
|
|
L_02813C84: ; // 0x2813c84
|
|
/* 02813C84 */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 02813C84 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 02813C88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813C8C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813C8C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02813C8C */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02813C8C */ goto L_02813C90;
|
|
L_02813C90: ; // 0x2813c90
|
|
/* 02813C90 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 02813C90 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02813C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813C98 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 02813C9C */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02813C9C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02813C9C */ if (_t8) goto L_02813CA0; else goto L_02813CAC;
|
|
L_02813CA0: ; // 0x2813ca0
|
|
/* 02813CA0 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02813CA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02813CA4 */ cpu->ctr = cpu->r[11];
|
|
/* 02813CA8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02813CAC: ; // 0x2813cac
|
|
/* 02813CAC */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 02813CAC */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 02813CB0 */ _t11 = cpu->r[3] + cpu->r[12];
|
|
/* 02813CB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02813CB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02813CB8 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 02813CBC */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 02813CBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02813CC0 */ cpu->ctr = cpu->r[11];
|
|
/* 02813CC4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02813CC8 @ 0x2813cc8
|
|
void Gambit_fn_02813CC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02813CC8: ; // 0x2813cc8
|
|
/* 02813CC8 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02813CCC */ _t0 = cpu->r[9] + 0xFFFFD86Cu;
|
|
/* 02813CCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02813CCC */ cpu->r[9] = _t0;
|
|
/* 02813CD0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02813CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02813CD8 */ cpu->r[12] = cpu->r[12] + 0x00001428u;
|
|
/* 02813CDC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813CDC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02813CDC */ if (_t2) goto L_02813CE0; else goto L_02813CF4;
|
|
L_02813CE0: ; // 0x2813ce0
|
|
/* 02813CE0 */ cpu->r[7] = 0x10110000u;
|
|
/* 02813CE4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02813CE8 */ cpu->r[7] = cpu->r[7] + 0x000039BCu;
|
|
/* 02813CEC */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02813CEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813CF0 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02813CF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02813CF4: ; // 0x2813cf4
|
|
/* 02813CF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02813CF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813CF8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02813CF8 */ if (_t6) goto L_02813CFC; else goto L_02813D04;
|
|
L_02813CFC: ; // 0x2813cfc
|
|
/* 02813CFC */ cpu->r[3] = 0x00000001u;
|
|
/* 02813D00 */ return;
|
|
L_02813D04: ; // 0x2813d04
|
|
/* 02813D04 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02813D08 */ _t7 = cpu->r[7] + 0xFFFFD4FCu;
|
|
/* 02813D08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02813D08 */ cpu->r[7] = _t7;
|
|
/* 02813D0C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02813D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02813D14 */ cpu->r[11] = cpu->r[11] + 0xFFFFDD6Cu;
|
|
/* 02813D18 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813D18 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02813D18 */ if (_t9) goto L_02813D1C; else goto L_02813D30;
|
|
L_02813D1C: ; // 0x2813d1c
|
|
/* 02813D1C */ cpu->r[0] = 0x10110000u;
|
|
/* 02813D20 */ cpu->r[9] = 0x00000001u;
|
|
/* 02813D24 */ cpu->r[0] = cpu->r[0] + 0x00003964u;
|
|
/* 02813D28 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02813D28 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02813D2C */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02813D2C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02813D30: ; // 0x2813d30
|
|
/* 02813D30 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02813D34 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02813D38 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02813D3C */ return;
|
|
}
|
|
|
|
// fn_02813D40 @ 0x2813d40
|
|
void Gambit_fn_02813D40(CPUState* cpu) {
|
|
L_02813D40: ; // 0x2813d40
|
|
/* 02813D40 */ return;
|
|
}
|
|
|
|
// fn_02813D44 @ 0x2813d44
|
|
void Gambit_fn_02813D44(CPUState* cpu) {
|
|
L_02813D44: ; // 0x2813d44
|
|
/* 02813D44 */ return;
|
|
}
|
|
|
|
// fn_02813D48 @ 0x2813d48
|
|
void Gambit_fn_02813D48(CPUState* cpu) {
|
|
L_02813D48: ; // 0x2813d48
|
|
/* 02813D48 */ return;
|
|
}
|
|
|
|
// fn_02813D4C @ 0x2813d4c
|
|
void Gambit_fn_02813D4C(CPUState* cpu) {
|
|
L_02813D4C: ; // 0x2813d4c
|
|
/* 02813D4C */ return;
|
|
}
|
|
|
|
// fn_02813D50 @ 0x2813d50
|
|
void Gambit_fn_02813D50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02813D50: ; // 0x2813d50
|
|
/* 02813D50 */ cpu->r[12] = cpu->r[3];
|
|
/* 02813D54 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02813D54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02813D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02813D5C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813D5C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02813D5C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02813D5C */ goto L_02813D60;
|
|
L_02813D60: ; // 0x2813d60
|
|
/* 02813D60 */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 02813D60 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 02813D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813D68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813D68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02813D68 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02813D68 */ goto L_02813D6C;
|
|
L_02813D6C: ; // 0x2813d6c
|
|
/* 02813D6C */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 02813D6C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02813D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02813D74 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 02813D78 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02813D78 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02813D78 */ if (_t8) goto L_02813D7C; else goto L_02813D88;
|
|
L_02813D7C: ; // 0x2813d7c
|
|
/* 02813D7C */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02813D7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02813D80 */ cpu->ctr = cpu->r[11];
|
|
/* 02813D84 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02813D88: ; // 0x2813d88
|
|
/* 02813D88 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 02813D88 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 02813D8C */ _t11 = cpu->r[3] + cpu->r[12];
|
|
/* 02813D8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02813D90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02813D94 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 02813D98 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 02813D98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02813D9C */ cpu->ctr = cpu->r[11];
|
|
/* 02813DA0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02813DA4 @ 0x2813da4
|
|
void Gambit_fn_02813DA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02813DA4: ; // 0x2813da4
|
|
/* 02813DA4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFE4u;
|
|
/* 02813DA8 */ goto L_0281421C;
|
|
L_0281421C: ; // 0x281421c
|
|
/* 0281421C */ cpu->r[0] = cpu->lr;
|
|
/* 02814220 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02814220 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814220 */ cpu->r[1] = _t0;
|
|
/* 02814224 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814224 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02814228 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02814228 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0281422C */ cpu->r[30] = cpu->r[3];
|
|
/* 0281422C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02814230 */ cpu->r[31] = cpu->r[4];
|
|
/* 02814234 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02814234 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814238 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814238 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02814238 */ if (_t5) goto L_02814278; else goto L_0281423C;
|
|
L_0281423C: ; // 0x281423c
|
|
/* 0281423C */ cpu->r[0] = 0x10110000u;
|
|
/* 02814240 */ cpu->r[12] = 0x10110000u;
|
|
/* 02814244 */ cpu->r[0] = cpu->r[0] + 0x00003AD4u;
|
|
/* 02814248 */ cpu->r[12] = cpu->r[12] + 0x00003AF4u;
|
|
/* 0281424C */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 0281424C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02814250 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814254 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02814254 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02814258 */ Gambit_fn_0281436C(cpu);
|
|
/* 0281425C */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02814260 */ cpu->r[4] = 0x00000000u;
|
|
/* 02814264 */ Gambit_fn_02821E68(cpu);
|
|
/* 02814268 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02814268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281426C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281426C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0281426C */ if (_t9) goto L_02814278; else goto L_02814270;
|
|
L_02814270: ; // 0x2814270
|
|
/* 02814270 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814274 */ Gambit_fn_02801BB0(cpu);
|
|
L_02814278: ; // 0x2814278
|
|
/* 02814278 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02814278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0281427C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0281427C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02814280 */ cpu->lr = cpu->r[0];
|
|
/* 02814284 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814288 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0281428C */ return;
|
|
}
|
|
|
|
// fn_02813DAC @ 0x2813dac
|
|
void Gambit_fn_02813DAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02813DAC: ; // 0x2813dac
|
|
/* 02813DAC */ cpu->r[0] = cpu->lr;
|
|
/* 02813DB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02813DB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813DB0 */ cpu->r[1] = _t0;
|
|
/* 02813DB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813DB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02813DB8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02813DB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02813DBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02813DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02813DC0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02813DC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813DC4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813DC4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02813DC4 */ if (_t5) goto L_02813DC8; else goto L_02813DD8;
|
|
L_02813DC8: ; // 0x2813dc8
|
|
/* 02813DC8 */ cpu->r[3] = 0x00000028u;
|
|
/* 02813DCC */ Gambit_fn_02801A78(cpu);
|
|
/* 02813DD0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02813DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02813DD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813DD4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02813DD4 */ if (_t7) goto L_02813E44; else goto L_02813DD8;
|
|
L_02813DD8: ; // 0x2813dd8
|
|
/* 02813DD8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02813DDC */ cpu->r[0] = 0x10110000u;
|
|
/* 02813DE0 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02813DE0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
|
|
/* 02813DE4 */ cpu->r[0] = cpu->r[0] + 0x00003B48u;
|
|
/* 02813DE8 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02813DE8 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02813DEC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02813DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813DF0 */ _t10 = cpu->r[31] + 0x00000024u;
|
|
/* 02813DF0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02813DF4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813DF4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02813DF4 */ if (_t12) goto L_02813DF8; else goto L_02813E08;
|
|
L_02813DF8: ; // 0x2813df8
|
|
/* 02813DF8 */ cpu->r[3] = 0x00000010u;
|
|
/* 02813DFC */ Gambit_fn_02801A78(cpu);
|
|
/* 02813E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813E04 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813E04 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02813E04 */ if (_t14) goto L_02813E38; else goto L_02813E08;
|
|
L_02813E08: ; // 0x2813e08
|
|
/* 02813E08 */ cpu->r[0] = 0x10110000u;
|
|
/* 02813E0C */ cpu->r[0] = cpu->r[0] + 0x00003B14u;
|
|
/* 02813E10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813E14 */ _t15 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02813E14 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02813E18 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813E18 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02813E18 */ if (_t17) goto L_02813E1C; else goto L_02813E2C;
|
|
L_02813E1C: ; // 0x2813e1c
|
|
/* 02813E1C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02813E20 */ Gambit_fn_02801A78(cpu);
|
|
/* 02813E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813E28 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813E28 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02813E28 */ if (_t19) goto L_02813E38; else goto L_02813E2C;
|
|
L_02813E2C: ; // 0x2813e2c
|
|
/* 02813E2C */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 02813E2C */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 02813E30 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 02813E30 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02813E34 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02813E34 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
L_02813E38: ; // 0x2813e38
|
|
/* 02813E38 */ _t23 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02813E38 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02813E3C */ _t24 = cpu->r[31] + 0x00000018u;
|
|
/* 02813E3C */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02813E40 */ _t25 = cpu->r[31] + 0x00000020u;
|
|
/* 02813E40 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
L_02813E44: ; // 0x2813e44
|
|
/* 02813E44 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02813E44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02813E48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02813E4C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813E4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02813E50 */ cpu->lr = cpu->r[0];
|
|
/* 02813E54 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02813E54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02813E58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02813E5C */ return;
|
|
}
|
|
|
|
// fn_02813DB0 @ 0x2813db0
|
|
void Gambit_fn_02813DB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02813DB0: ; // 0x2813db0
|
|
/* 02813DB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02813DB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813DB0 */ cpu->r[1] = _t0;
|
|
/* 02813DB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813DB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02813DB8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02813DB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02813DBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02813DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02813DC0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02813DC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813DC4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813DC4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02813DC4 */ if (_t5) goto L_02813DC8; else goto L_02813DD8;
|
|
L_02813DC8: ; // 0x2813dc8
|
|
/* 02813DC8 */ cpu->r[3] = 0x00000028u;
|
|
/* 02813DCC */ Gambit_fn_02801A78(cpu);
|
|
/* 02813DD0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02813DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02813DD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813DD4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02813DD4 */ if (_t7) goto L_02813E44; else goto L_02813DD8;
|
|
L_02813DD8: ; // 0x2813dd8
|
|
/* 02813DD8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02813DDC */ cpu->r[0] = 0x10110000u;
|
|
/* 02813DE0 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02813DE0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[30]);
|
|
/* 02813DE4 */ cpu->r[0] = cpu->r[0] + 0x00003B48u;
|
|
/* 02813DE8 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02813DE8 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02813DEC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02813DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813DF0 */ _t10 = cpu->r[31] + 0x00000024u;
|
|
/* 02813DF0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02813DF4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813DF4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02813DF4 */ if (_t12) goto L_02813DF8; else goto L_02813E08;
|
|
L_02813DF8: ; // 0x2813df8
|
|
/* 02813DF8 */ cpu->r[3] = 0x00000010u;
|
|
/* 02813DFC */ Gambit_fn_02801A78(cpu);
|
|
/* 02813E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813E04 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813E04 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02813E04 */ if (_t14) goto L_02813E38; else goto L_02813E08;
|
|
L_02813E08: ; // 0x2813e08
|
|
/* 02813E08 */ cpu->r[0] = 0x10110000u;
|
|
/* 02813E0C */ cpu->r[0] = cpu->r[0] + 0x00003B14u;
|
|
/* 02813E10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813E14 */ _t15 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02813E14 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02813E18 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813E18 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02813E18 */ if (_t17) goto L_02813E1C; else goto L_02813E2C;
|
|
L_02813E1C: ; // 0x2813e1c
|
|
/* 02813E1C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02813E20 */ Gambit_fn_02801A78(cpu);
|
|
/* 02813E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813E28 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813E28 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02813E28 */ if (_t19) goto L_02813E38; else goto L_02813E2C;
|
|
L_02813E2C: ; // 0x2813e2c
|
|
/* 02813E2C */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 02813E2C */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 02813E30 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 02813E30 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02813E34 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02813E34 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
L_02813E38: ; // 0x2813e38
|
|
/* 02813E38 */ _t23 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02813E38 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02813E3C */ _t24 = cpu->r[31] + 0x00000018u;
|
|
/* 02813E3C */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02813E40 */ _t25 = cpu->r[31] + 0x00000020u;
|
|
/* 02813E40 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
L_02813E44: ; // 0x2813e44
|
|
/* 02813E44 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02813E44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02813E48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02813E4C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813E4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02813E50 */ cpu->lr = cpu->r[0];
|
|
/* 02813E54 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02813E54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02813E58 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02813E5C */ return;
|
|
}
|
|
|
|
// fn_02813E60 @ 0x2813e60
|
|
void Gambit_fn_02813E60(CPUState* cpu) {
|
|
uint32_t _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_02813E60: ; // 0x2813e60
|
|
/* 02813E60 */ cpu->r[0] = cpu->lr;
|
|
/* 02813E64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02813E64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813E64 */ cpu->r[1] = _t0;
|
|
/* 02813E68 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02813E68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02813E6C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02813E6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02813E70 */ cpu->r[12] = cpu->r[3];
|
|
/* 02813E74 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02813E74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813E78 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 02813E78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02813E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813E80 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813E80 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02813E80 */ if (_t6) goto L_02813EA0; else goto L_02813E84;
|
|
L_02813E84: ; // 0x2813e84
|
|
/* 02813E84 */ Gambit_fn_02826B84(cpu);
|
|
/* 02813E88 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02813E8C */ _t7 = cpu->r[12] + 0x00005D1Cu;
|
|
/* 02813E8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02813E8C */ cpu->r[12] = _t7;
|
|
/* 02813E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02813E94 */ cpu->r[30] = 0x00000000u;
|
|
/* 02813E98 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813E98 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02813E98 */ if (_t9) goto L_02813EC4; else goto L_02813E9C;
|
|
L_02813E9C: ; // 0x2813e9c
|
|
/* 02813E9C */ goto L_02813EBC;
|
|
L_02813EA0: ; // 0x2813ea0
|
|
/* 02813EA0 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 02813EA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02813EA4 */ Gambit_fn_02826B24(cpu);
|
|
/* 02813EA8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02813EAC */ _t11 = cpu->r[12] + 0x00005D1Cu;
|
|
/* 02813EAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02813EAC */ cpu->r[12] = _t11;
|
|
/* 02813EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02813EB4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02813EB8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813EB8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02813EB8 */ if (_t13) goto L_02813EC4; else goto L_02813EBC;
|
|
L_02813EBC: ; // 0x2813ebc
|
|
/* 02813EBC */ _t14 = cpu->r[12] + 0x00000008u;
|
|
/* 02813EBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02813EC0 */ _t15 = cpu->r[9] + 0x00000000u;
|
|
/* 02813EC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
L_02813EC4: ; // 0x2813ec4
|
|
/* 02813EC4 */ cpu->r[10] = 0x10110000u;
|
|
/* 02813EC8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02813ECC */ cpu->r[3] = 0x00000000u;
|
|
/* 02813ED0 */ cpu->r[10] = cpu->r[10] + 0x00003AACu;
|
|
/* 02813ED4 */ cpu->r[0] = 0x10110000u;
|
|
/* 02813ED8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02813EDC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813EDC */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02813EE0 */ cpu->r[0] = cpu->r[0] + 0x00003B24u;
|
|
/* 02813EE4 */ cpu->r[7] = cpu->r[3];
|
|
/* 02813EE8 */ cpu->r[6] = 0x00000001u;
|
|
/* 02813EEC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02813EEC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02813EF0 */ Gambit_fn_02822600(cpu);
|
|
/* 02813EF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02813EF8 */ Gambit_fn_02837414(cpu);
|
|
/* 02813EFC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02813F00 */ _t18 = cpu->r[3] + 0xFFFF994Cu;
|
|
/* 02813F00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02813F04 */ cpu->r[4] = cpu->r[31];
|
|
/* 02813F08 */ Gambit_fn_02836BCC(cpu);
|
|
/* 02813F0C */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02813F0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02813F10 */ _t20 = cpu->r[6] + 0x0000002Cu;
|
|
/* 02813F10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02813F14 */ cpu->ctr = cpu->r[7];
|
|
/* 02813F18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02813F1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02813F20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813F24 */ Gambit_fn_0282FF7C(cpu);
|
|
/* 02813F28 */ Gambit_fn_02828184(cpu);
|
|
/* 02813F2C */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02813F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02813F30 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02813F30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02813F34 */ cpu->lr = cpu->r[0];
|
|
/* 02813F38 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02813F38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02813F3C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02813F40 */ return;
|
|
}
|
|
|
|
// fn_02813E64 @ 0x2813e64
|
|
void Gambit_fn_02813E64(CPUState* cpu) {
|
|
uint32_t _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_02813E64: ; // 0x2813e64
|
|
/* 02813E64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02813E64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813E64 */ cpu->r[1] = _t0;
|
|
/* 02813E68 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02813E68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02813E6C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02813E6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02813E70 */ cpu->r[12] = cpu->r[3];
|
|
/* 02813E74 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02813E74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02813E78 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 02813E78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02813E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02813E80 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813E80 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02813E80 */ if (_t6) goto L_02813EA0; else goto L_02813E84;
|
|
L_02813E84: ; // 0x2813e84
|
|
/* 02813E84 */ Gambit_fn_02826B84(cpu);
|
|
/* 02813E88 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02813E8C */ _t7 = cpu->r[12] + 0x00005D1Cu;
|
|
/* 02813E8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02813E8C */ cpu->r[12] = _t7;
|
|
/* 02813E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02813E94 */ cpu->r[30] = 0x00000000u;
|
|
/* 02813E98 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813E98 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02813E98 */ if (_t9) goto L_02813EC4; else goto L_02813E9C;
|
|
L_02813E9C: ; // 0x2813e9c
|
|
/* 02813E9C */ goto L_02813EBC;
|
|
L_02813EA0: ; // 0x2813ea0
|
|
/* 02813EA0 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 02813EA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02813EA4 */ Gambit_fn_02826B24(cpu);
|
|
/* 02813EA8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02813EAC */ _t11 = cpu->r[12] + 0x00005D1Cu;
|
|
/* 02813EAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02813EAC */ cpu->r[12] = _t11;
|
|
/* 02813EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02813EB4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02813EB8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02813EB8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02813EB8 */ if (_t13) goto L_02813EC4; else goto L_02813EBC;
|
|
L_02813EBC: ; // 0x2813ebc
|
|
/* 02813EBC */ _t14 = cpu->r[12] + 0x00000008u;
|
|
/* 02813EBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02813EC0 */ _t15 = cpu->r[9] + 0x00000000u;
|
|
/* 02813EC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
L_02813EC4: ; // 0x2813ec4
|
|
/* 02813EC4 */ cpu->r[10] = 0x10110000u;
|
|
/* 02813EC8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02813ECC */ cpu->r[3] = 0x00000000u;
|
|
/* 02813ED0 */ cpu->r[10] = cpu->r[10] + 0x00003AACu;
|
|
/* 02813ED4 */ cpu->r[0] = 0x10110000u;
|
|
/* 02813ED8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02813EDC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02813EDC */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02813EE0 */ cpu->r[0] = cpu->r[0] + 0x00003B24u;
|
|
/* 02813EE4 */ cpu->r[7] = cpu->r[3];
|
|
/* 02813EE8 */ cpu->r[6] = 0x00000001u;
|
|
/* 02813EEC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02813EEC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02813EF0 */ Gambit_fn_02822600(cpu);
|
|
/* 02813EF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02813EF8 */ Gambit_fn_02837414(cpu);
|
|
/* 02813EFC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02813F00 */ _t18 = cpu->r[3] + 0xFFFF994Cu;
|
|
/* 02813F00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02813F04 */ cpu->r[4] = cpu->r[31];
|
|
/* 02813F08 */ Gambit_fn_02836BCC(cpu);
|
|
/* 02813F0C */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02813F0C */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02813F10 */ _t20 = cpu->r[6] + 0x0000002Cu;
|
|
/* 02813F10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02813F14 */ cpu->ctr = cpu->r[7];
|
|
/* 02813F18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02813F1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02813F20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02813F24 */ Gambit_fn_0282FF7C(cpu);
|
|
/* 02813F28 */ Gambit_fn_02828184(cpu);
|
|
/* 02813F2C */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02813F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02813F30 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02813F30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02813F34 */ cpu->lr = cpu->r[0];
|
|
/* 02813F38 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02813F38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02813F3C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02813F40 */ return;
|
|
}
|
|
|
|
// fn_02813F44 @ 0x2813f44
|
|
void Gambit_fn_02813F44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02813F44: ; // 0x2813f44
|
|
/* 02813F44 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02813F44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02813F44 */ cpu->r[1] = _t0;
|
|
/* 02813F48 */ /* nop */
|
|
/* 02813F4C */ cpu->r[0] = cpu->lr;
|
|
/* 02813F50 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02813F50 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02813F54 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 02813F54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02813F58 */ _t3 = cpu->r[12] + 0x00000054u;
|
|
/* 02813F58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02813F5C */ cpu->ctr = cpu->r[0];
|
|
/* 02813F60 */ cpu->r[29] = cpu->r[4];
|
|
/* 02813F64 */ cpu->r[30] = cpu->r[5];
|
|
/* 02813F68 */ cpu->r[31] = cpu->r[6];
|
|
/* 02813F6C */ cpu->r[28] = cpu->r[3];
|
|
/* 02813F70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02813F74 */ cpu->r[8] = 0x10110000u;
|
|
/* 02813F78 */ cpu->r[5] = cpu->r[29];
|
|
/* 02813F7C */ cpu->r[3] = 0x00000000u;
|
|
/* 02813F80 */ cpu->r[8] = cpu->r[8] + 0x00003AACu;
|
|
/* 02813F84 */ cpu->r[9] = 0x10110000u;
|
|
/* 02813F88 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02813F8C */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02813F8C */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 02813F90 */ cpu->r[9] = cpu->r[9] + 0x00003B34u;
|
|
/* 02813F94 */ cpu->r[7] = cpu->r[3];
|
|
/* 02813F98 */ cpu->r[6] = 0x00000001u;
|
|
/* 02813F9C */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02813F9C */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02813FA0 */ Gambit_fn_02822600(cpu);
|
|
/* 02813FA4 */ _t6 = cpu->r[28] + 0x00000024u;
|
|
/* 02813FA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02813FA8 */ _t7 = cpu->r[10] + 0x00000064u;
|
|
/* 02813FA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02813FAC */ cpu->r[27] = cpu->r[3];
|
|
/* 02813FB0 */ cpu->ctr = cpu->r[11];
|
|
/* 02813FB4 */ cpu->r[4] = cpu->r[27];
|
|
/* 02813FB8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02813FBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02813FC0 */ _t8 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02813FC0 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02813FC4 */ _t9 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02813FC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02813FC8 */ _t10 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02813FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02813FCC */ cpu->ctr = cpu->r[0];
|
|
/* 02813FD0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02813FD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02813FD8 */ _t11 = cpu->r[28] + 0x00000020u;
|
|
/* 02813FD8 */ rbrew_write32(cpu->mem, _t11, cpu->r[27]);
|
|
/* 02813FDC */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02813FDC */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02813FE0 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02813FE4 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02813FE4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02813FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02813FEC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02813FEC */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 02813FF0 */ cpu->r[5] = 0x00000020u;
|
|
/* 02813FF4 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02813FF4 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02813FF8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02813FFC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02813FFC */ rbrew_write32(cpu->mem, _t16, cpu->r[5]);
|
|
/* 02814000 */ cpu->r[0] = cpu->r[0] | 0x00008000u;
|
|
/* 02814004 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02814004 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02814008 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814008 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02814008 */ if (_t19) goto L_0281400C; else goto L_02814040;
|
|
L_0281400C: ; // 0x281400c
|
|
/* 0281400C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0xFFFFFFFFu);
|
|
/* 02814010 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814010 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02814014 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814014 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02814014 */ if (_t22) goto L_0281404C; else goto L_02814018;
|
|
L_02814018: ; // 0x2814018
|
|
/* 02814018 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02814018 */ rbrew_write32(cpu->mem, _t23, cpu->r[7]);
|
|
/* 0281401C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02814020 */ Gambit_fn_028162E4(cpu);
|
|
/* 02814024 */ _t24 = cpu->r[28] + 0x00000024u;
|
|
/* 02814024 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02814028 */ _t25 = cpu->r[28] + 0x00000018u;
|
|
/* 02814028 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
/* 0281402C */ _t26 = cpu->r[9] + 0x0000005Cu;
|
|
/* 0281402C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02814030 */ cpu->ctr = cpu->r[0];
|
|
/* 02814034 */ cpu->r[3] = cpu->r[28];
|
|
/* 02814038 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281403C */ goto L_02814070;
|
|
L_02814040: ; // 0x2814040
|
|
/* 02814040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0xFFFFFFFFu);
|
|
/* 02814044 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814044 */ rbrew_write32(cpu->mem, _t27, cpu->r[6]);
|
|
/* 02814048 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814048 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02814048 */ if (_t29) goto L_0281404C; else goto L_02814018;
|
|
L_0281404C: ; // 0x281404c
|
|
/* 0281404C */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 0281404C */ rbrew_write32(cpu->mem, _t30, cpu->r[8]);
|
|
/* 02814050 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02814054 */ Gambit_fn_028162E4(cpu);
|
|
/* 02814058 */ _t31 = cpu->r[28] + 0x00000024u;
|
|
/* 02814058 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0281405C */ _t32 = cpu->r[28] + 0x00000018u;
|
|
/* 0281405C */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
|
|
/* 02814060 */ _t33 = cpu->r[9] + 0x0000005Cu;
|
|
/* 02814060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02814064 */ cpu->ctr = cpu->r[0];
|
|
/* 02814068 */ cpu->r[3] = cpu->r[28];
|
|
/* 0281406C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02814070: ; // 0x2814070
|
|
/* 02814070 */ /* nop */
|
|
/* 02814074 */ _t34 = cpu->r[1] + 0x00000044u;
|
|
/* 02814074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02814078 */ cpu->lr = cpu->r[0];
|
|
/* 0281407C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02814080 */ return;
|
|
}
|
|
|
|
// fn_02814084 @ 0x2814084
|
|
void Gambit_fn_02814084(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02814084: ; // 0x2814084
|
|
/* 02814084 */ cpu->r[0] = cpu->lr;
|
|
/* 02814088 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02814088 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814088 */ cpu->r[1] = _t0;
|
|
/* 0281408C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281408C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02814090 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02814090 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02814094 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02814094 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02814098 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02814098 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0281409C */ cpu->r[30] = cpu->r[3];
|
|
/* 028140A0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028140A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028140A4 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 028140A4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t6);
|
|
/* 028140A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 028140AC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028140AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 028140AC */ if (_t8) goto L_02814110; else goto L_028140B0;
|
|
L_028140B0: ; // 0x28140b0
|
|
/* 028140B0 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028140B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028140B4 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 028140B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028140B8 */ cpu->r[29] = cpu->r[30] + 0x00000008u;
|
|
/* 028140BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 028140C0 */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 028140C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028140C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028140C4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028140C4 */ if (_t13) goto L_028140FC; else goto L_028140C8;
|
|
L_028140C8: ; // 0x28140c8
|
|
/* 028140C8 */ _t14 = cpu->r[10] + 0x00000008u;
|
|
/* 028140C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028140CC */ _t15 = cpu->r[11] + 0x00000020u;
|
|
/* 028140CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028140D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028140D4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028140D4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028140D4 */ if (_t17) goto L_028140EC; else goto L_028140D8;
|
|
L_028140D8: ; // 0x28140d8
|
|
/* 028140D8 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 028140D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028140DC */ _t19 = cpu->r[8] + 0x0000000Cu;
|
|
/* 028140DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028140E0 */ cpu->ctr = cpu->r[0];
|
|
/* 028140E4 */ cpu->r[4] = cpu->r[28];
|
|
/* 028140E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028140EC: ; // 0x28140ec
|
|
/* 028140EC */ cpu->r[10] = cpu->r[31];
|
|
/* 028140F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 028140F4 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 028140F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028140F8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028140F8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 028140F8 */ if (_t22) goto L_028140FC; else goto L_028140C8;
|
|
L_028140FC: ; // 0x28140fc
|
|
/* 028140FC */ _t23 = cpu->r[30] + 0x00000018u;
|
|
/* 028140FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02814100 */ Gambit_fn_028172DC(cpu);
|
|
/* 02814104 */ cpu->r[12] = 0x00000000u;
|
|
/* 02814108 */ _t24 = cpu->r[30] + 0x00000004u;
|
|
/* 02814108 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 0281410C */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 0281410C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[12]);
|
|
L_02814110: ; // 0x2814110
|
|
/* 02814110 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02814110 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02814114 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814114 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02814118 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02814118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0281411C */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 0281411C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02814120 */ cpu->lr = cpu->r[0];
|
|
/* 02814124 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02814124 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02814128 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0281412C */ return;
|
|
}
|
|
|
|
// fn_02814088 @ 0x2814088
|
|
void Gambit_fn_02814088(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02814088: ; // 0x2814088
|
|
/* 02814088 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02814088 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814088 */ cpu->r[1] = _t0;
|
|
/* 0281408C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281408C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02814090 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02814090 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02814094 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02814094 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02814098 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02814098 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0281409C */ cpu->r[30] = cpu->r[3];
|
|
/* 028140A0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028140A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028140A4 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 028140A4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t6);
|
|
/* 028140A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 028140AC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028140AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 028140AC */ if (_t8) goto L_02814110; else goto L_028140B0;
|
|
L_028140B0: ; // 0x28140b0
|
|
/* 028140B0 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028140B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028140B4 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 028140B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028140B8 */ cpu->r[29] = cpu->r[30] + 0x00000008u;
|
|
/* 028140BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 028140C0 */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 028140C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028140C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028140C4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028140C4 */ if (_t13) goto L_028140FC; else goto L_028140C8;
|
|
L_028140C8: ; // 0x28140c8
|
|
/* 028140C8 */ _t14 = cpu->r[10] + 0x00000008u;
|
|
/* 028140C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028140CC */ _t15 = cpu->r[11] + 0x00000020u;
|
|
/* 028140CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028140D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028140D4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028140D4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028140D4 */ if (_t17) goto L_028140EC; else goto L_028140D8;
|
|
L_028140D8: ; // 0x28140d8
|
|
/* 028140D8 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 028140D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028140DC */ _t19 = cpu->r[8] + 0x0000000Cu;
|
|
/* 028140DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028140E0 */ cpu->ctr = cpu->r[0];
|
|
/* 028140E4 */ cpu->r[4] = cpu->r[28];
|
|
/* 028140E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028140EC: ; // 0x28140ec
|
|
/* 028140EC */ cpu->r[10] = cpu->r[31];
|
|
/* 028140F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 028140F4 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 028140F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028140F8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028140F8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 028140F8 */ if (_t22) goto L_028140FC; else goto L_028140C8;
|
|
L_028140FC: ; // 0x28140fc
|
|
/* 028140FC */ _t23 = cpu->r[30] + 0x00000018u;
|
|
/* 028140FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02814100 */ Gambit_fn_028172DC(cpu);
|
|
/* 02814104 */ cpu->r[12] = 0x00000000u;
|
|
/* 02814108 */ _t24 = cpu->r[30] + 0x00000004u;
|
|
/* 02814108 */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 0281410C */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 0281410C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[12]);
|
|
L_02814110: ; // 0x2814110
|
|
/* 02814110 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02814110 */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02814114 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814114 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02814118 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02814118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0281411C */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 0281411C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02814120 */ cpu->lr = cpu->r[0];
|
|
/* 02814124 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02814124 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02814128 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0281412C */ return;
|
|
}
|
|
|
|
// fn_02814130 @ 0x2814130
|
|
void Gambit_fn_02814130(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02814130: ; // 0x2814130
|
|
/* 02814130 */ cpu->r[0] = cpu->lr;
|
|
/* 02814134 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02814134 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02814138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281413C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0281413C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0281413C */ cpu->r[1] = _t1;
|
|
/* 02814140 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814140 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02814140 */ if (_t3) goto L_02814144; else goto L_02814154;
|
|
L_02814144: ; // 0x2814144
|
|
/* 02814144 */ cpu->r[3] = 0x00000018u;
|
|
/* 02814148 */ Gambit_fn_02801A78(cpu);
|
|
/* 0281414C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814150 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814150 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02814150 */ if (_t5) goto L_02814170; else goto L_02814154;
|
|
L_02814154: ; // 0x2814154
|
|
/* 02814154 */ cpu->r[0] = 0x00000000u;
|
|
/* 02814158 */ cpu->r[12] = 0x00001000u;
|
|
/* 0281415C */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0281415C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02814160 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 02814160 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02814164 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02814164 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02814168 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02814168 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0281416C */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 0281416C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02814170: ; // 0x2814170
|
|
/* 02814170 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02814174 */ cpu->lr = cpu->r[0];
|
|
/* 02814178 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0281417C */ return;
|
|
}
|
|
|
|
// fn_0281413C @ 0x281413c
|
|
void Gambit_fn_0281413C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0281413C: ; // 0x281413c
|
|
/* 0281413C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0281413C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281413C */ cpu->r[1] = _t0;
|
|
/* 02814140 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814140 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02814140 */ if (_t2) goto L_02814144; else goto L_02814154;
|
|
L_02814144: ; // 0x2814144
|
|
/* 02814144 */ cpu->r[3] = 0x00000018u;
|
|
/* 02814148 */ Gambit_fn_02801A78(cpu);
|
|
/* 0281414C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814150 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814150 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02814150 */ if (_t4) goto L_02814170; else goto L_02814154;
|
|
L_02814154: ; // 0x2814154
|
|
/* 02814154 */ cpu->r[0] = 0x00000000u;
|
|
/* 02814158 */ cpu->r[12] = 0x00001000u;
|
|
/* 0281415C */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0281415C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02814160 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 02814160 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02814164 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02814164 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02814168 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02814168 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0281416C */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 0281416C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02814170: ; // 0x2814170
|
|
/* 02814170 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02814174 */ cpu->lr = cpu->r[0];
|
|
/* 02814178 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0281417C */ return;
|
|
}
|
|
|
|
// fn_02814180 @ 0x2814180
|
|
void Gambit_fn_02814180(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02814180: ; // 0x2814180
|
|
/* 02814180 */ cpu->r[0] = cpu->lr;
|
|
/* 02814184 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02814184 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02814188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281418C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0281418C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0281418C */ cpu->r[1] = _t1;
|
|
/* 02814190 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814190 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02814190 */ if (_t3) goto L_02814194; else goto L_028141A4;
|
|
L_02814194: ; // 0x2814194
|
|
/* 02814194 */ cpu->r[3] = 0x00000008u;
|
|
/* 02814198 */ Gambit_fn_02801A78(cpu);
|
|
/* 0281419C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028141A0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028141A0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028141A0 */ if (_t5) goto L_028141B4; else goto L_028141A4;
|
|
L_028141A4: ; // 0x28141a4
|
|
/* 028141A4 */ cpu->r[0] = 0x03000000u;
|
|
/* 028141A8 */ cpu->r[12] = 0x00000000u;
|
|
/* 028141AC */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 028141AC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028141B0 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 028141B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
L_028141B4: ; // 0x28141b4
|
|
/* 028141B4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028141B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028141B8 */ cpu->lr = cpu->r[0];
|
|
/* 028141BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028141C0 */ return;
|
|
}
|
|
|
|
// fn_0281418C @ 0x281418c
|
|
void Gambit_fn_0281418C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0281418C: ; // 0x281418c
|
|
/* 0281418C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0281418C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281418C */ cpu->r[1] = _t0;
|
|
/* 02814190 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814190 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02814190 */ if (_t2) goto L_02814194; else goto L_028141A4;
|
|
L_02814194: ; // 0x2814194
|
|
/* 02814194 */ cpu->r[3] = 0x00000008u;
|
|
/* 02814198 */ Gambit_fn_02801A78(cpu);
|
|
/* 0281419C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028141A0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028141A0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028141A0 */ if (_t4) goto L_028141B4; else goto L_028141A4;
|
|
L_028141A4: ; // 0x28141a4
|
|
/* 028141A4 */ cpu->r[0] = 0x03000000u;
|
|
/* 028141A8 */ cpu->r[12] = 0x00000000u;
|
|
/* 028141AC */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 028141AC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028141B0 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 028141B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
L_028141B4: ; // 0x28141b4
|
|
/* 028141B4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028141B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028141B8 */ cpu->lr = cpu->r[0];
|
|
/* 028141BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028141C0 */ return;
|
|
}
|
|
|
|
// fn_028141C4 @ 0x28141c4
|
|
void Gambit_fn_028141C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_028141C4: ; // 0x28141c4
|
|
/* 028141C4 */ cpu->r[0] = cpu->lr;
|
|
/* 028141C8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 028141C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 028141CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028141D0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 028141D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 028141D0 */ cpu->r[1] = _t1;
|
|
/* 028141D4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028141D4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 028141D4 */ if (_t3) goto L_028141D8; else goto L_028141E8;
|
|
L_028141D8: ; // 0x28141d8
|
|
/* 028141D8 */ cpu->r[3] = 0x00000008u;
|
|
/* 028141DC */ Gambit_fn_02801A78(cpu);
|
|
/* 028141E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028141E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028141E4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028141E4 */ if (_t5) goto L_028141F8; else goto L_028141E8;
|
|
L_028141E8: ; // 0x28141e8
|
|
/* 028141E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 028141EC */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 028141F0 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 028141F0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028141F4 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 028141F4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
L_028141F8: ; // 0x28141f8
|
|
/* 028141F8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028141F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028141FC */ cpu->lr = cpu->r[0];
|
|
/* 02814200 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02814204 */ return;
|
|
}
|
|
|
|
// fn_028141D0 @ 0x28141d0
|
|
void Gambit_fn_028141D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_028141D0: ; // 0x28141d0
|
|
/* 028141D0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 028141D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028141D0 */ cpu->r[1] = _t0;
|
|
/* 028141D4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028141D4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 028141D4 */ if (_t2) goto L_028141D8; else goto L_028141E8;
|
|
L_028141D8: ; // 0x28141d8
|
|
/* 028141D8 */ cpu->r[3] = 0x00000008u;
|
|
/* 028141DC */ Gambit_fn_02801A78(cpu);
|
|
/* 028141E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028141E4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028141E4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028141E4 */ if (_t4) goto L_028141F8; else goto L_028141E8;
|
|
L_028141E8: ; // 0x28141e8
|
|
/* 028141E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 028141EC */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 028141F0 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 028141F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028141F4 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 028141F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
L_028141F8: ; // 0x28141f8
|
|
/* 028141F8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028141F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028141FC */ cpu->lr = cpu->r[0];
|
|
/* 02814200 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02814204 */ return;
|
|
}
|
|
|
|
// fn_02814208 @ 0x2814208
|
|
void Gambit_fn_02814208(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_02814208: ; // 0x2814208
|
|
/* 02814208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281420C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281420C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0281420C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0281420C */ goto L_02814210;
|
|
L_02814210: ; // 0x2814210
|
|
/* 02814210 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02814210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814214 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814214 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02814214 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02814214 */ goto L_02814218;
|
|
L_02814218: ; // 0x2814218
|
|
/* 02814218 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0281421C @ 0x281421c
|
|
void Gambit_fn_0281421C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0281421C: ; // 0x281421c
|
|
/* 0281421C */ cpu->r[0] = cpu->lr;
|
|
/* 02814220 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02814220 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814220 */ cpu->r[1] = _t0;
|
|
/* 02814224 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814224 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02814228 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02814228 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0281422C */ cpu->r[30] = cpu->r[3];
|
|
/* 0281422C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02814230 */ cpu->r[31] = cpu->r[4];
|
|
/* 02814234 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02814234 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814238 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814238 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02814238 */ if (_t5) goto L_02814278; else goto L_0281423C;
|
|
L_0281423C: ; // 0x281423c
|
|
/* 0281423C */ cpu->r[0] = 0x10110000u;
|
|
/* 02814240 */ cpu->r[12] = 0x10110000u;
|
|
/* 02814244 */ cpu->r[0] = cpu->r[0] + 0x00003AD4u;
|
|
/* 02814248 */ cpu->r[12] = cpu->r[12] + 0x00003AF4u;
|
|
/* 0281424C */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 0281424C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02814250 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814254 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02814254 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02814258 */ Gambit_fn_0281436C(cpu);
|
|
/* 0281425C */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02814260 */ cpu->r[4] = 0x00000000u;
|
|
/* 02814264 */ Gambit_fn_02821E68(cpu);
|
|
/* 02814268 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02814268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281426C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281426C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0281426C */ if (_t9) goto L_02814278; else goto L_02814270;
|
|
L_02814270: ; // 0x2814270
|
|
/* 02814270 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814274 */ Gambit_fn_02801BB0(cpu);
|
|
L_02814278: ; // 0x2814278
|
|
/* 02814278 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02814278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0281427C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0281427C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02814280 */ cpu->lr = cpu->r[0];
|
|
/* 02814284 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814288 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0281428C */ return;
|
|
}
|
|
|
|
// fn_02814220 @ 0x2814220
|
|
void Gambit_fn_02814220(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02814220: ; // 0x2814220
|
|
/* 02814220 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02814220 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814220 */ cpu->r[1] = _t0;
|
|
/* 02814224 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814224 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02814228 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02814228 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0281422C */ cpu->r[30] = cpu->r[3];
|
|
/* 0281422C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02814230 */ cpu->r[31] = cpu->r[4];
|
|
/* 02814234 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02814234 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814238 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814238 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02814238 */ if (_t5) goto L_02814278; else goto L_0281423C;
|
|
L_0281423C: ; // 0x281423c
|
|
/* 0281423C */ cpu->r[0] = 0x10110000u;
|
|
/* 02814240 */ cpu->r[12] = 0x10110000u;
|
|
/* 02814244 */ cpu->r[0] = cpu->r[0] + 0x00003AD4u;
|
|
/* 02814248 */ cpu->r[12] = cpu->r[12] + 0x00003AF4u;
|
|
/* 0281424C */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 0281424C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02814250 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814254 */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02814254 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02814258 */ Gambit_fn_0281436C(cpu);
|
|
/* 0281425C */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02814260 */ cpu->r[4] = 0x00000000u;
|
|
/* 02814264 */ Gambit_fn_02821E68(cpu);
|
|
/* 02814268 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02814268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281426C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281426C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0281426C */ if (_t9) goto L_02814278; else goto L_02814270;
|
|
L_02814270: ; // 0x2814270
|
|
/* 02814270 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814274 */ Gambit_fn_02801BB0(cpu);
|
|
L_02814278: ; // 0x2814278
|
|
/* 02814278 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02814278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0281427C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0281427C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02814280 */ cpu->lr = cpu->r[0];
|
|
/* 02814284 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814288 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0281428C */ return;
|
|
}
|
|
|
|
// fn_02814290 @ 0x2814290
|
|
void Gambit_fn_02814290(CPUState* cpu) {
|
|
L_02814290: ; // 0x2814290
|
|
/* 02814290 */ return;
|
|
}
|
|
|
|
// fn_02814294 @ 0x2814294
|
|
void Gambit_fn_02814294(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02814294: ; // 0x2814294
|
|
/* 02814294 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02814298 */ _t0 = cpu->r[11] + 0xFFFFF398u;
|
|
/* 02814298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02814298 */ cpu->r[11] = _t0;
|
|
/* 0281429C */ cpu->r[12] = 0x101D0000u;
|
|
/* 028142A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028142A4 */ cpu->r[12] = cpu->r[12] + 0x0000143Cu;
|
|
/* 028142A8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028142A8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 028142A8 */ if (_t2) goto L_028142AC; else goto L_028142C0;
|
|
L_028142AC: ; // 0x28142ac
|
|
/* 028142AC */ cpu->r[9] = 0x10110000u;
|
|
/* 028142B0 */ cpu->r[8] = 0x00000001u;
|
|
/* 028142B4 */ cpu->r[9] = cpu->r[9] + 0x00003AC4u;
|
|
/* 028142B8 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 028142B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 028142BC */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 028142BC */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_028142C0: ; // 0x28142c0
|
|
/* 028142C0 */ cpu->r[10] = cpu->r[4] ^ cpu->r[12];
|
|
/* 028142C4 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 028142C8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028142CC */ return;
|
|
}
|
|
|
|
// fn_028142D0 @ 0x28142d0
|
|
void Gambit_fn_028142D0(CPUState* cpu) {
|
|
L_028142D0: ; // 0x28142d0
|
|
/* 028142D0 */ return;
|
|
}
|
|
|
|
// fn_028142D4 @ 0x28142d4
|
|
void Gambit_fn_028142D4(CPUState* cpu) {
|
|
L_028142D4: ; // 0x28142d4
|
|
/* 028142D4 */ return;
|
|
}
|
|
|
|
// fn_028142D8 @ 0x28142d8
|
|
void Gambit_fn_028142D8(CPUState* cpu) {
|
|
L_028142D8: ; // 0x28142d8
|
|
/* 028142D8 */ return;
|
|
}
|
|
|
|
// fn_028142DC @ 0x28142dc
|
|
void Gambit_fn_028142DC(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_028142DC: ; // 0x28142dc
|
|
/* 028142DC */ cpu->r[0] = cpu->lr;
|
|
/* 028142E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028142E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028142E0 */ cpu->r[1] = _t0;
|
|
/* 028142E4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028142E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028142E8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028142E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028142EC */ cpu->r[31] = cpu->r[3];
|
|
/* 028142F0 */ cpu->r[30] = cpu->r[4];
|
|
/* 028142F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028142F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_028142F8: ; // 0x28142f8
|
|
/* 028142F8 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 028142F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028142FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02814300 */ _t5 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02814300 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02814304 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814304 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02814304 */ if (_t7) goto L_0281431C; else goto L_02814308;
|
|
L_02814308: ; // 0x2814308
|
|
/* 02814308 */ _t8 = cpu->r[11] + 0x00000010u;
|
|
/* 02814308 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0281430C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814310 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814310 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02814310 */ if (_t10) goto L_0281431C; else goto L_02814314;
|
|
L_02814314: ; // 0x2814314
|
|
/* 02814314 */ cpu->r[4] = cpu->r[30];
|
|
/* 02814318 */ Gambit_fn_028142DC(cpu);
|
|
L_0281431C: ; // 0x281431c
|
|
/* 0281431C */ _t11 = cpu->r[31] + 0x00000008u;
|
|
/* 0281431C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02814320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02814324 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814324 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02814324 */ if (_t13) goto L_02814334; else goto L_02814328;
|
|
L_02814328: ; // 0x2814328
|
|
/* 02814328 */ _t14 = cpu->r[12] + 0x00000010u;
|
|
/* 02814328 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0281432C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02814330 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814330 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02814330 */ if (_t16) goto L_02814334; else goto L_028142F8;
|
|
L_02814334: ; // 0x2814334
|
|
/* 02814334 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02814334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02814338 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02814338 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0281433C */ cpu->lr = cpu->r[0];
|
|
/* 02814340 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814340 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02814344 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02814348 */ return;
|
|
}
|
|
|
|
// fn_028142E0 @ 0x28142e0
|
|
void Gambit_fn_028142E0(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_028142E0: ; // 0x28142e0
|
|
/* 028142E0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028142E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028142E0 */ cpu->r[1] = _t0;
|
|
/* 028142E4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028142E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028142E8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028142E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028142EC */ cpu->r[31] = cpu->r[3];
|
|
/* 028142F0 */ cpu->r[30] = cpu->r[4];
|
|
/* 028142F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028142F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_028142F8: ; // 0x28142f8
|
|
/* 028142F8 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 028142F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028142FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02814300 */ _t5 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02814300 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02814304 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814304 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02814304 */ if (_t7) goto L_0281431C; else goto L_02814308;
|
|
L_02814308: ; // 0x2814308
|
|
/* 02814308 */ _t8 = cpu->r[11] + 0x00000010u;
|
|
/* 02814308 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0281430C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814310 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814310 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02814310 */ if (_t10) goto L_0281431C; else goto L_02814314;
|
|
L_02814314: ; // 0x2814314
|
|
/* 02814314 */ cpu->r[4] = cpu->r[30];
|
|
/* 02814318 */ Gambit_fn_028142DC(cpu);
|
|
L_0281431C: ; // 0x281431c
|
|
/* 0281431C */ _t11 = cpu->r[31] + 0x00000008u;
|
|
/* 0281431C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02814320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02814324 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814324 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02814324 */ if (_t13) goto L_02814334; else goto L_02814328;
|
|
L_02814328: ; // 0x2814328
|
|
/* 02814328 */ _t14 = cpu->r[12] + 0x00000010u;
|
|
/* 02814328 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0281432C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02814330 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814330 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02814330 */ if (_t16) goto L_02814334; else goto L_028142F8;
|
|
L_02814334: ; // 0x2814334
|
|
/* 02814334 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02814334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02814338 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02814338 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0281433C */ cpu->lr = cpu->r[0];
|
|
/* 02814340 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814340 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02814344 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02814348 */ return;
|
|
}
|
|
|
|
// fn_0281434C @ 0x281434c
|
|
void Gambit_fn_0281434C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0281434C: ; // 0x281434c
|
|
/* 0281434C */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0281434C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02814350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814354 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814354 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02814354 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02814354 */ goto L_02814358;
|
|
L_02814358: ; // 0x2814358
|
|
/* 02814358 */ goto L_02836FFC;
|
|
L_02836FFC: ; // 0x2836ffc
|
|
/* 02836FFC */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02837000 */ rbrew_dispatch(cpu, 0x02d0a948u); return;
|
|
}
|
|
|
|
// fn_0281435C @ 0x281435c
|
|
void Gambit_fn_0281435C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0281435C: ; // 0x281435c
|
|
/* 0281435C */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0281435C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02814360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814364 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814364 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02814364 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02814364 */ goto L_02814368;
|
|
L_02814368: ; // 0x2814368
|
|
/* 02814368 */ goto L_02837030;
|
|
L_02837030: ; // 0x2837030
|
|
/* 02837030 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02837034 */ rbrew_dispatch(cpu, 0x02d0a958u); return;
|
|
}
|
|
|
|
// fn_0281436C @ 0x281436c
|
|
void Gambit_fn_0281436C(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;
|
|
}
|
|
|
|
// fn_02814370 @ 0x2814370
|
|
void Gambit_fn_02814370(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02814370: ; // 0x2814370
|
|
/* 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;
|
|
}
|
|
|
|
// fn_028143CC @ 0x28143cc
|
|
void Gambit_fn_028143CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_028143CC: ; // 0x28143cc
|
|
/* 028143CC */ cpu->r[0] = cpu->lr;
|
|
/* 028143D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028143D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028143D0 */ cpu->r[1] = _t0;
|
|
/* 028143D4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028143D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028143D8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028143D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028143DC */ cpu->r[31] = cpu->r[3];
|
|
/* 028143E0 */ cpu->r[30] = cpu->r[4];
|
|
/* 028143E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028143E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028143E8 */ Gambit_fn_0281434C(cpu);
|
|
/* 028143EC */ cpu->r[3] = cpu->r[30];
|
|
/* 028143F0 */ Gambit_fn_02802A1C(cpu);
|
|
/* 028143F4 */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 028143F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028143F8 */ _t5 = cpu->r[31] + 0x0000003Cu;
|
|
/* 028143F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028143FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02814400 */ _t6 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02814400 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02814404 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814404 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02814404 */ if (_t8) goto L_0281441C; else goto L_02814408;
|
|
L_02814408: ; // 0x2814408
|
|
/* 02814408 */ _t9 = cpu->r[12] + 0x00000010u;
|
|
/* 02814408 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0281440C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814410 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814410 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02814410 */ if (_t11) goto L_0281441C; else goto L_02814414;
|
|
L_02814414: ; // 0x2814414
|
|
/* 02814414 */ _t12 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02814414 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814418 */ Gambit_fn_028142DC(cpu);
|
|
L_0281441C: ; // 0x281441c
|
|
/* 0281441C */ cpu->r[3] = cpu->r[31];
|
|
/* 02814420 */ cpu->r[4] = cpu->r[30];
|
|
/* 02814424 */ Gambit_fn_02802B74(cpu);
|
|
/* 02814428 */ cpu->r[3] = cpu->r[31];
|
|
/* 0281442C */ Gambit_fn_0281435C(cpu);
|
|
/* 02814430 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02814430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02814434 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02814434 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02814438 */ cpu->lr = cpu->r[0];
|
|
/* 0281443C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281443C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02814440 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02814444 */ return;
|
|
}
|
|
|
|
// fn_028143D0 @ 0x28143d0
|
|
void Gambit_fn_028143D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_028143D0: ; // 0x28143d0
|
|
/* 028143D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028143D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028143D0 */ cpu->r[1] = _t0;
|
|
/* 028143D4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028143D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028143D8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028143D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028143DC */ cpu->r[31] = cpu->r[3];
|
|
/* 028143E0 */ cpu->r[30] = cpu->r[4];
|
|
/* 028143E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028143E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028143E8 */ Gambit_fn_0281434C(cpu);
|
|
/* 028143EC */ cpu->r[3] = cpu->r[30];
|
|
/* 028143F0 */ Gambit_fn_02802A1C(cpu);
|
|
/* 028143F4 */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 028143F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028143F8 */ _t5 = cpu->r[31] + 0x0000003Cu;
|
|
/* 028143F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028143FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02814400 */ _t6 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02814400 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02814404 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814404 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02814404 */ if (_t8) goto L_0281441C; else goto L_02814408;
|
|
L_02814408: ; // 0x2814408
|
|
/* 02814408 */ _t9 = cpu->r[12] + 0x00000010u;
|
|
/* 02814408 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0281440C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814410 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814410 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02814410 */ if (_t11) goto L_0281441C; else goto L_02814414;
|
|
L_02814414: ; // 0x2814414
|
|
/* 02814414 */ _t12 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02814414 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814418 */ Gambit_fn_028142DC(cpu);
|
|
L_0281441C: ; // 0x281441c
|
|
/* 0281441C */ cpu->r[3] = cpu->r[31];
|
|
/* 02814420 */ cpu->r[4] = cpu->r[30];
|
|
/* 02814424 */ Gambit_fn_02802B74(cpu);
|
|
/* 02814428 */ cpu->r[3] = cpu->r[31];
|
|
/* 0281442C */ Gambit_fn_0281435C(cpu);
|
|
/* 02814430 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02814430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02814434 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02814434 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02814438 */ cpu->lr = cpu->r[0];
|
|
/* 0281443C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281443C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02814440 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02814444 */ return;
|
|
}
|
|
|
|
// fn_02814448 @ 0x2814448
|
|
void Gambit_fn_02814448(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02814448: ; // 0x2814448
|
|
/* 02814448 */ cpu->r[0] = cpu->lr;
|
|
/* 0281444C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0281444C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281444C */ cpu->r[1] = _t0;
|
|
/* 02814450 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02814450 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02814454 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814454 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02814458 */ cpu->r[31] = cpu->r[3];
|
|
/* 0281445C */ cpu->r[30] = cpu->r[4];
|
|
/* 02814460 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02814460 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814464 */ Gambit_fn_0281434C(cpu);
|
|
/* 02814468 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281446C */ Gambit_fn_02802A1C(cpu);
|
|
/* 02814470 */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 02814470 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02814474 */ _t5 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02814474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02814478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0281447C */ _t6 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0281447C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02814480 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814480 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02814480 */ if (_t8) goto L_02814498; else goto L_02814484;
|
|
L_02814484: ; // 0x2814484
|
|
/* 02814484 */ _t9 = cpu->r[12] + 0x00000010u;
|
|
/* 02814484 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02814488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281448C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281448C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0281448C */ if (_t11) goto L_02814498; else goto L_02814490;
|
|
L_02814490: ; // 0x2814490
|
|
/* 02814490 */ _t12 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02814490 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814494 */ Gambit_fn_028142DC(cpu);
|
|
L_02814498: ; // 0x2814498
|
|
/* 02814498 */ cpu->r[3] = cpu->r[31];
|
|
/* 0281449C */ cpu->r[4] = cpu->r[30];
|
|
/* 028144A0 */ Gambit_fn_02802BC4(cpu);
|
|
/* 028144A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028144A8 */ Gambit_fn_0281435C(cpu);
|
|
/* 028144AC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 028144AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028144B0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 028144B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028144B4 */ cpu->lr = cpu->r[0];
|
|
/* 028144B8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028144B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028144BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028144C0 */ return;
|
|
}
|
|
|
|
// fn_0281444C @ 0x281444c
|
|
void Gambit_fn_0281444C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0281444C: ; // 0x281444c
|
|
/* 0281444C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0281444C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281444C */ cpu->r[1] = _t0;
|
|
/* 02814450 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02814450 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02814454 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814454 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02814458 */ cpu->r[31] = cpu->r[3];
|
|
/* 0281445C */ cpu->r[30] = cpu->r[4];
|
|
/* 02814460 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02814460 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814464 */ Gambit_fn_0281434C(cpu);
|
|
/* 02814468 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281446C */ Gambit_fn_02802A1C(cpu);
|
|
/* 02814470 */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 02814470 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02814474 */ _t5 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02814474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02814478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0281447C */ _t6 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0281447C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02814480 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814480 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02814480 */ if (_t8) goto L_02814498; else goto L_02814484;
|
|
L_02814484: ; // 0x2814484
|
|
/* 02814484 */ _t9 = cpu->r[12] + 0x00000010u;
|
|
/* 02814484 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02814488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281448C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281448C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0281448C */ if (_t11) goto L_02814498; else goto L_02814490;
|
|
L_02814490: ; // 0x2814490
|
|
/* 02814490 */ _t12 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02814490 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814494 */ Gambit_fn_028142DC(cpu);
|
|
L_02814498: ; // 0x2814498
|
|
/* 02814498 */ cpu->r[3] = cpu->r[31];
|
|
/* 0281449C */ cpu->r[4] = cpu->r[30];
|
|
/* 028144A0 */ Gambit_fn_02802BC4(cpu);
|
|
/* 028144A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028144A8 */ Gambit_fn_0281435C(cpu);
|
|
/* 028144AC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 028144AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028144B0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 028144B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028144B4 */ cpu->lr = cpu->r[0];
|
|
/* 028144B8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028144B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028144BC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028144C0 */ return;
|
|
}
|
|
|
|
// fn_028144C4 @ 0x28144c4
|
|
void Gambit_fn_028144C4(CPUState* cpu) {
|
|
uint32_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_028144C4: ; // 0x28144c4
|
|
/* 028144C4 */ cpu->r[0] = cpu->lr;
|
|
/* 028144C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028144C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028144C8 */ cpu->r[1] = _t0;
|
|
/* 028144CC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028144CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028144D0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028144D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028144D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028144D8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028144D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028144DC */ _t4 = cpu->r[31] + 0x00000044u;
|
|
/* 028144DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028144E0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028144E4 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u;
|
|
/* 028144E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028144EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028144EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 028144EC */ if (_t6) goto L_02814504; else goto L_028144F0;
|
|
L_028144F0: ; // 0x28144f0
|
|
/* 028144F0 */ _t7 = cpu->r[31] + 0x0000002Cu;
|
|
/* 028144F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028144F4 */ _t8 = cpu->r[9] + 0x0000000Cu;
|
|
/* 028144F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028144F8 */ cpu->ctr = cpu->r[10];
|
|
/* 028144FC */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02814500 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02814504: ; // 0x2814504
|
|
/* 02814504 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02814504 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02814508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0281450C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281450C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0281450C */ if (_t11) goto L_0281453C; else goto L_02814510;
|
|
L_02814510: ; // 0x2814510
|
|
/* 02814510 */ _t12 = cpu->r[31] + 0x00000044u;
|
|
/* 02814510 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814514 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02814518 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 0281451C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814520 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814520 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02814520 */ if (_t14) goto L_0281453C; else goto L_02814524;
|
|
L_02814524: ; // 0x2814524
|
|
/* 02814524 */ _t15 = cpu->r[30] + 0x00000010u;
|
|
/* 02814524 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02814528 */ Gambit_fn_028144C4(cpu);
|
|
/* 0281452C */ _t16 = cpu->r[30] + 0x00000010u;
|
|
/* 0281452C */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02814530 */ _t17 = cpu->r[8] + 0x00000008u;
|
|
/* 02814530 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02814534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02814538 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814538 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02814538 */ if (_t19) goto L_0281453C; else goto L_02814524;
|
|
L_0281453C: ; // 0x281453c
|
|
/* 0281453C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0281453C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02814540 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02814540 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02814544 */ cpu->lr = cpu->r[0];
|
|
/* 02814548 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814548 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0281454C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02814550 */ return;
|
|
}
|
|
|
|
// fn_028144C8 @ 0x28144c8
|
|
void Gambit_fn_028144C8(CPUState* cpu) {
|
|
uint32_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_028144C8: ; // 0x28144c8
|
|
/* 028144C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028144C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028144C8 */ cpu->r[1] = _t0;
|
|
/* 028144CC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028144CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028144D0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028144D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028144D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028144D8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028144D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028144DC */ _t4 = cpu->r[31] + 0x00000044u;
|
|
/* 028144DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028144E0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028144E4 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u;
|
|
/* 028144E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028144EC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028144EC */ _t6 = _t5 & 0x00000001u;
|
|
/* 028144EC */ if (_t6) goto L_02814504; else goto L_028144F0;
|
|
L_028144F0: ; // 0x28144f0
|
|
/* 028144F0 */ _t7 = cpu->r[31] + 0x0000002Cu;
|
|
/* 028144F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028144F4 */ _t8 = cpu->r[9] + 0x0000000Cu;
|
|
/* 028144F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028144F8 */ cpu->ctr = cpu->r[10];
|
|
/* 028144FC */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02814500 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02814504: ; // 0x2814504
|
|
/* 02814504 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02814504 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02814508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0281450C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281450C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0281450C */ if (_t11) goto L_0281453C; else goto L_02814510;
|
|
L_02814510: ; // 0x2814510
|
|
/* 02814510 */ _t12 = cpu->r[31] + 0x00000044u;
|
|
/* 02814510 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814514 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02814518 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 0281451C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814520 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814520 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02814520 */ if (_t14) goto L_0281453C; else goto L_02814524;
|
|
L_02814524: ; // 0x2814524
|
|
/* 02814524 */ _t15 = cpu->r[30] + 0x00000010u;
|
|
/* 02814524 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02814528 */ Gambit_fn_028144C4(cpu);
|
|
/* 0281452C */ _t16 = cpu->r[30] + 0x00000010u;
|
|
/* 0281452C */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02814530 */ _t17 = cpu->r[8] + 0x00000008u;
|
|
/* 02814530 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02814534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02814538 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814538 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02814538 */ if (_t19) goto L_0281453C; else goto L_02814524;
|
|
L_0281453C: ; // 0x281453c
|
|
/* 0281453C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0281453C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02814540 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02814540 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02814544 */ cpu->lr = cpu->r[0];
|
|
/* 02814548 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814548 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0281454C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02814550 */ return;
|
|
}
|
|
|
|
// fn_02814554 @ 0x2814554
|
|
void Gambit_fn_02814554(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;
|
|
}
|
|
|
|
// fn_02814558 @ 0x2814558
|
|
void Gambit_fn_02814558(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02814558: ; // 0x2814558
|
|
/* 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;
|
|
}
|
|
|
|
// fn_02814590 @ 0x2814590
|
|
void Gambit_fn_02814590(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02814590: ; // 0x2814590
|
|
/* 02814590 */ cpu->r[0] = cpu->lr;
|
|
/* 02814594 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02814594 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814594 */ cpu->r[1] = _t0;
|
|
/* 02814598 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814598 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0281459C */ cpu->r[31] = cpu->r[3];
|
|
/* 0281459C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028145A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028145A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028145A4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028145A4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028145A4 */ if (_t4) goto L_028145A8; else goto L_028145B8;
|
|
L_028145A8: ; // 0x28145a8
|
|
/* 028145A8 */ cpu->r[3] = 0x00000040u;
|
|
/* 028145AC */ Gambit_fn_02801A78(cpu);
|
|
/* 028145B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028145B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028145B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028145B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028145B4 */ if (_t6) goto L_028145CC; else goto L_028145B8;
|
|
L_028145B8: ; // 0x28145b8
|
|
/* 028145B8 */ cpu->r[0] = 0x10110000u;
|
|
/* 028145BC */ cpu->r[0] = cpu->r[0] + 0x00003BC8u;
|
|
/* 028145C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028145C4 */ _t7 = cpu->r[31] + 0x0000003Cu;
|
|
/* 028145C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028145C8 */ Gambit_fn_02836EBC(cpu);
|
|
L_028145CC: ; // 0x28145cc
|
|
/* 028145CC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 028145CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028145D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028145D4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028145D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028145D8 */ cpu->lr = cpu->r[0];
|
|
/* 028145DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028145E0 */ return;
|
|
}
|
|
|
|
// fn_02814594 @ 0x2814594
|
|
void Gambit_fn_02814594(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02814594: ; // 0x2814594
|
|
/* 02814594 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02814594 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814594 */ cpu->r[1] = _t0;
|
|
/* 02814598 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814598 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0281459C */ cpu->r[31] = cpu->r[3];
|
|
/* 0281459C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028145A0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028145A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028145A4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028145A4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028145A4 */ if (_t4) goto L_028145A8; else goto L_028145B8;
|
|
L_028145A8: ; // 0x28145a8
|
|
/* 028145A8 */ cpu->r[3] = 0x00000040u;
|
|
/* 028145AC */ Gambit_fn_02801A78(cpu);
|
|
/* 028145B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028145B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028145B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028145B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028145B4 */ if (_t6) goto L_028145CC; else goto L_028145B8;
|
|
L_028145B8: ; // 0x28145b8
|
|
/* 028145B8 */ cpu->r[0] = 0x10110000u;
|
|
/* 028145BC */ cpu->r[0] = cpu->r[0] + 0x00003BC8u;
|
|
/* 028145C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028145C4 */ _t7 = cpu->r[31] + 0x0000003Cu;
|
|
/* 028145C4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028145C8 */ Gambit_fn_02836EBC(cpu);
|
|
L_028145CC: ; // 0x28145cc
|
|
/* 028145CC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 028145CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028145D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028145D4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028145D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028145D8 */ cpu->lr = cpu->r[0];
|
|
/* 028145DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028145E0 */ return;
|
|
}
|
|
|
|
// fn_028145E4 @ 0x28145e4
|
|
void Gambit_fn_028145E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_028145E4: ; // 0x28145e4
|
|
/* 028145E4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 028145E8 */ _t0 = cpu->r[11] + 0xFFFFF388u;
|
|
/* 028145E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028145E8 */ cpu->r[11] = _t0;
|
|
/* 028145EC */ cpu->r[12] = 0x101D0000u;
|
|
/* 028145F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028145F4 */ cpu->r[12] = cpu->r[12] + 0x00001608u;
|
|
/* 028145F8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028145F8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 028145F8 */ if (_t2) goto L_028145FC; else goto L_02814610;
|
|
L_028145FC: ; // 0x28145fc
|
|
/* 028145FC */ cpu->r[9] = 0x10110000u;
|
|
/* 02814600 */ cpu->r[8] = 0x00000001u;
|
|
/* 02814604 */ cpu->r[9] = cpu->r[9] + 0x00003BB8u;
|
|
/* 02814608 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 02814608 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 0281460C */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 0281460C */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_02814610: ; // 0x2814610
|
|
/* 02814610 */ cpu->r[10] = cpu->r[4] ^ cpu->r[12];
|
|
/* 02814614 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 02814618 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0281461C */ return;
|
|
}
|
|
|
|
// fn_02814620 @ 0x2814620
|
|
void Gambit_fn_02814620(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02814620: ; // 0x2814620
|
|
/* 02814620 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFE4u;
|
|
/* 02814624 */ goto L_02814DD4;
|
|
L_02814DD4: ; // 0x2814dd4
|
|
/* 02814DD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02814DD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02814DD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814DD8 */ cpu->r[1] = _t0;
|
|
/* 02814DDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814DDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02814DE0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02814DE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02814DE4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02814DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02814DE8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02814DEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02814DEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814DF0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814DF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02814DF0 */ if (_t5) goto L_02814E30; else goto L_02814DF4;
|
|
L_02814DF4: ; // 0x2814df4
|
|
/* 02814DF4 */ cpu->r[0] = 0x10110000u;
|
|
/* 02814DF8 */ cpu->r[12] = 0x10110000u;
|
|
/* 02814DFC */ cpu->r[0] = cpu->r[0] + 0x00003C4Cu;
|
|
/* 02814E00 */ cpu->r[12] = cpu->r[12] + 0x00003C6Cu;
|
|
/* 02814E04 */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02814E04 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02814E08 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814E0C */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02814E0C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02814E10 */ Gambit_fn_0281436C(cpu);
|
|
/* 02814E14 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02814E18 */ cpu->r[4] = 0x00000000u;
|
|
/* 02814E1C */ Gambit_fn_02821E68(cpu);
|
|
/* 02814E20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02814E20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814E24 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814E24 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02814E24 */ if (_t9) goto L_02814E30; else goto L_02814E28;
|
|
L_02814E28: ; // 0x2814e28
|
|
/* 02814E28 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814E2C */ Gambit_fn_02801BB0(cpu);
|
|
L_02814E30: ; // 0x2814e30
|
|
/* 02814E30 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02814E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02814E34 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02814E34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02814E38 */ cpu->lr = cpu->r[0];
|
|
/* 02814E3C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814E3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814E40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02814E44 */ return;
|
|
}
|
|
|
|
// fn_02814628 @ 0x2814628
|
|
void Gambit_fn_02814628(CPUState* cpu) {
|
|
uint32_t _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_02814628: ; // 0x2814628
|
|
/* 02814628 */ cpu->r[0] = cpu->lr;
|
|
/* 0281462C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0281462C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281462C */ cpu->r[1] = _t0;
|
|
/* 02814630 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02814630 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02814634 */ cpu->r[28] = cpu->r[4];
|
|
/* 02814638 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02814638 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0281463C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281463C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02814640 */ cpu->r[31] = cpu->r[3];
|
|
/* 02814640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02814644 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02814644 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02814648 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02814648 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0281464C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281464C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0281464C */ if (_t7) goto L_028146D0; else goto L_02814650;
|
|
L_02814650: ; // 0x2814650
|
|
/* 02814650 */ cpu->r[11] = 0x10110000u;
|
|
/* 02814654 */ cpu->r[29] = 0x10110000u;
|
|
/* 02814658 */ cpu->r[30] = 0x10110000u;
|
|
/* 0281465C */ cpu->r[11] = cpu->r[11] + 0x00003D7Cu;
|
|
/* 02814660 */ cpu->r[29] = cpu->r[29] + 0x00003C4Cu;
|
|
/* 02814664 */ cpu->r[0] = cpu->r[31] + 0x000000C8u;
|
|
/* 02814664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814668 */ cpu->r[30] = cpu->r[30] + 0x00003C6Cu;
|
|
/* 0281466C */ _t8 = cpu->r[31] + 0x00000020u;
|
|
/* 0281466C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02814670 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814670 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02814670 */ if (_t10) goto L_02814690; else goto L_02814674;
|
|
L_02814674: ; // 0x2814674
|
|
/* 02814674 */ _t11 = cpu->r[31] + 0x00000118u;
|
|
/* 02814674 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02814678 */ cpu->r[3] = cpu->r[31] + 0x000000C8u;
|
|
/* 0281467C */ _t12 = cpu->r[31] + 0x000000F0u;
|
|
/* 0281467C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02814680 */ Gambit_fn_0281436C(cpu);
|
|
/* 02814684 */ cpu->r[3] = cpu->r[31] + 0x000000E4u;
|
|
/* 02814688 */ cpu->r[4] = 0x00000000u;
|
|
/* 0281468C */ Gambit_fn_02821E68(cpu);
|
|
L_02814690: ; // 0x2814690
|
|
/* 02814690 */ cpu->r[0] = cpu->r[31] + 0x00000074u;
|
|
/* 02814690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814694 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814694 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02814694 */ if (_t14) goto L_028146B4; else goto L_02814698;
|
|
L_02814698: ; // 0x2814698
|
|
/* 02814698 */ _t15 = cpu->r[31] + 0x000000C4u;
|
|
/* 02814698 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 0281469C */ cpu->r[3] = cpu->r[31] + 0x00000074u;
|
|
/* 028146A0 */ _t16 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028146A0 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 028146A4 */ Gambit_fn_0281436C(cpu);
|
|
/* 028146A8 */ cpu->r[3] = cpu->r[31] + 0x00000090u;
|
|
/* 028146AC */ cpu->r[4] = 0x00000000u;
|
|
/* 028146B0 */ Gambit_fn_02821E68(cpu);
|
|
L_028146B4: ; // 0x28146b4
|
|
/* 028146B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028146B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 028146BC */ Gambit_fn_02814F74(cpu);
|
|
/* 028146C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028146C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028146C4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028146C4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028146C4 */ if (_t18) goto L_028146D0; else goto L_028146C8;
|
|
L_028146C8: ; // 0x28146c8
|
|
/* 028146C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028146CC */ Gambit_fn_02801BB0(cpu);
|
|
L_028146D0: ; // 0x28146d0
|
|
/* 028146D0 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 028146D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028146D4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028146D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028146D8 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028146D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028146DC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 028146DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028146E0 */ cpu->lr = cpu->r[0];
|
|
/* 028146E4 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 028146E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028146E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028146EC */ return;
|
|
}
|
|
|
|
// fn_0281462C @ 0x281462c
|
|
void Gambit_fn_0281462C(CPUState* cpu) {
|
|
uint32_t _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_0281462C: ; // 0x281462c
|
|
/* 0281462C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0281462C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281462C */ cpu->r[1] = _t0;
|
|
/* 02814630 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02814630 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02814634 */ cpu->r[28] = cpu->r[4];
|
|
/* 02814638 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02814638 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0281463C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281463C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02814640 */ cpu->r[31] = cpu->r[3];
|
|
/* 02814640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02814644 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02814644 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02814648 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02814648 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0281464C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281464C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0281464C */ if (_t7) goto L_028146D0; else goto L_02814650;
|
|
L_02814650: ; // 0x2814650
|
|
/* 02814650 */ cpu->r[11] = 0x10110000u;
|
|
/* 02814654 */ cpu->r[29] = 0x10110000u;
|
|
/* 02814658 */ cpu->r[30] = 0x10110000u;
|
|
/* 0281465C */ cpu->r[11] = cpu->r[11] + 0x00003D7Cu;
|
|
/* 02814660 */ cpu->r[29] = cpu->r[29] + 0x00003C4Cu;
|
|
/* 02814664 */ cpu->r[0] = cpu->r[31] + 0x000000C8u;
|
|
/* 02814664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814668 */ cpu->r[30] = cpu->r[30] + 0x00003C6Cu;
|
|
/* 0281466C */ _t8 = cpu->r[31] + 0x00000020u;
|
|
/* 0281466C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02814670 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814670 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02814670 */ if (_t10) goto L_02814690; else goto L_02814674;
|
|
L_02814674: ; // 0x2814674
|
|
/* 02814674 */ _t11 = cpu->r[31] + 0x00000118u;
|
|
/* 02814674 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02814678 */ cpu->r[3] = cpu->r[31] + 0x000000C8u;
|
|
/* 0281467C */ _t12 = cpu->r[31] + 0x000000F0u;
|
|
/* 0281467C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02814680 */ Gambit_fn_0281436C(cpu);
|
|
/* 02814684 */ cpu->r[3] = cpu->r[31] + 0x000000E4u;
|
|
/* 02814688 */ cpu->r[4] = 0x00000000u;
|
|
/* 0281468C */ Gambit_fn_02821E68(cpu);
|
|
L_02814690: ; // 0x2814690
|
|
/* 02814690 */ cpu->r[0] = cpu->r[31] + 0x00000074u;
|
|
/* 02814690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814694 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814694 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02814694 */ if (_t14) goto L_028146B4; else goto L_02814698;
|
|
L_02814698: ; // 0x2814698
|
|
/* 02814698 */ _t15 = cpu->r[31] + 0x000000C4u;
|
|
/* 02814698 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 0281469C */ cpu->r[3] = cpu->r[31] + 0x00000074u;
|
|
/* 028146A0 */ _t16 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028146A0 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 028146A4 */ Gambit_fn_0281436C(cpu);
|
|
/* 028146A8 */ cpu->r[3] = cpu->r[31] + 0x00000090u;
|
|
/* 028146AC */ cpu->r[4] = 0x00000000u;
|
|
/* 028146B0 */ Gambit_fn_02821E68(cpu);
|
|
L_028146B4: ; // 0x28146b4
|
|
/* 028146B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028146B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 028146BC */ Gambit_fn_02814F74(cpu);
|
|
/* 028146C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028146C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028146C4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028146C4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028146C4 */ if (_t18) goto L_028146D0; else goto L_028146C8;
|
|
L_028146C8: ; // 0x28146c8
|
|
/* 028146C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028146CC */ Gambit_fn_02801BB0(cpu);
|
|
L_028146D0: ; // 0x28146d0
|
|
/* 028146D0 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 028146D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028146D4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028146D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028146D8 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028146D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028146DC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 028146DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028146E0 */ cpu->lr = cpu->r[0];
|
|
/* 028146E4 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 028146E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028146E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028146EC */ return;
|
|
}
|
|
|
|
// fn_028146F0 @ 0x28146f0
|
|
void Gambit_fn_028146F0(CPUState* cpu) {
|
|
uint32_t _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_02814628: ; // 0x2814628
|
|
/* 02814628 */ cpu->r[0] = cpu->lr;
|
|
/* 0281462C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0281462C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281462C */ cpu->r[1] = _t0;
|
|
/* 02814630 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02814630 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02814634 */ cpu->r[28] = cpu->r[4];
|
|
/* 02814638 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02814638 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0281463C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281463C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02814640 */ cpu->r[31] = cpu->r[3];
|
|
/* 02814640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02814644 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02814644 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02814648 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02814648 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0281464C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281464C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0281464C */ if (_t7) goto L_028146D0; else goto L_02814650;
|
|
L_02814650: ; // 0x2814650
|
|
/* 02814650 */ cpu->r[11] = 0x10110000u;
|
|
/* 02814654 */ cpu->r[29] = 0x10110000u;
|
|
/* 02814658 */ cpu->r[30] = 0x10110000u;
|
|
/* 0281465C */ cpu->r[11] = cpu->r[11] + 0x00003D7Cu;
|
|
/* 02814660 */ cpu->r[29] = cpu->r[29] + 0x00003C4Cu;
|
|
/* 02814664 */ cpu->r[0] = cpu->r[31] + 0x000000C8u;
|
|
/* 02814664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814668 */ cpu->r[30] = cpu->r[30] + 0x00003C6Cu;
|
|
/* 0281466C */ _t8 = cpu->r[31] + 0x00000020u;
|
|
/* 0281466C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02814670 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814670 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02814670 */ if (_t10) goto L_02814690; else goto L_02814674;
|
|
L_02814674: ; // 0x2814674
|
|
/* 02814674 */ _t11 = cpu->r[31] + 0x00000118u;
|
|
/* 02814674 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02814678 */ cpu->r[3] = cpu->r[31] + 0x000000C8u;
|
|
/* 0281467C */ _t12 = cpu->r[31] + 0x000000F0u;
|
|
/* 0281467C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02814680 */ Gambit_fn_0281436C(cpu);
|
|
/* 02814684 */ cpu->r[3] = cpu->r[31] + 0x000000E4u;
|
|
/* 02814688 */ cpu->r[4] = 0x00000000u;
|
|
/* 0281468C */ Gambit_fn_02821E68(cpu);
|
|
L_02814690: ; // 0x2814690
|
|
/* 02814690 */ cpu->r[0] = cpu->r[31] + 0x00000074u;
|
|
/* 02814690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814694 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814694 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02814694 */ if (_t14) goto L_028146B4; else goto L_02814698;
|
|
L_02814698: ; // 0x2814698
|
|
/* 02814698 */ _t15 = cpu->r[31] + 0x000000C4u;
|
|
/* 02814698 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 0281469C */ cpu->r[3] = cpu->r[31] + 0x00000074u;
|
|
/* 028146A0 */ _t16 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028146A0 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 028146A4 */ Gambit_fn_0281436C(cpu);
|
|
/* 028146A8 */ cpu->r[3] = cpu->r[31] + 0x00000090u;
|
|
/* 028146AC */ cpu->r[4] = 0x00000000u;
|
|
/* 028146B0 */ Gambit_fn_02821E68(cpu);
|
|
L_028146B4: ; // 0x28146b4
|
|
/* 028146B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028146B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 028146BC */ Gambit_fn_02814F74(cpu);
|
|
/* 028146C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028146C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028146C4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028146C4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028146C4 */ if (_t18) goto L_028146D0; else goto L_028146C8;
|
|
L_028146C8: ; // 0x28146c8
|
|
/* 028146C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028146CC */ Gambit_fn_02801BB0(cpu);
|
|
L_028146D0: ; // 0x28146d0
|
|
/* 028146D0 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 028146D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028146D4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028146D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028146D8 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028146D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028146DC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 028146DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028146E0 */ cpu->lr = cpu->r[0];
|
|
/* 028146E4 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 028146E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028146E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028146EC */ return;
|
|
L_028146F0: ; // 0x28146f0
|
|
/* 028146F0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 028146F4 */ goto L_02814628;
|
|
}
|
|
|
|
// fn_028146F8 @ 0x28146f8
|
|
void Gambit_fn_028146F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_028146F8: ; // 0x28146f8
|
|
/* 028146F8 */ cpu->r[0] = cpu->lr;
|
|
/* 028146FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028146FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028146FC */ cpu->r[1] = _t0;
|
|
/* 02814700 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02814700 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02814704 */ cpu->r[30] = cpu->r[3];
|
|
/* 02814708 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814708 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0281470C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281470C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814710 */ Gambit_fn_02815118(cpu);
|
|
/* 02814714 */ cpu->r[31] = cpu->r[3];
|
|
/* 02814718 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0281471C */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 0281471C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02814720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814724 */ _t5 = cpu->r[30] + 0x00000064u;
|
|
/* 02814724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02814728 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814728 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02814728 */ if (_t7) goto L_02814730; else goto L_0281472C;
|
|
L_0281472C: ; // 0x281472c
|
|
/* 0281472C */ _t8 = cpu->r[3] + 0x00000010u;
|
|
/* 0281472C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
L_02814730: ; // 0x2814730
|
|
/* 02814730 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
|
|
/* 02814734 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814734 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02814734 */ if (_t10) goto L_02814780; else goto L_02814738;
|
|
L_02814738: ; // 0x2814738
|
|
/* 02814738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281473C */ cpu->r[4] = 0x00000001u;
|
|
/* 02814740 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814740 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02814740 */ if (_t12) goto L_02814768; else goto L_02814744;
|
|
L_02814744: ; // 0x2814744
|
|
/* 02814744 */ _t13 = cpu->r[3] + 0x00000070u;
|
|
/* 02814744 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02814748 */ _t14 = cpu->r[12] + 0x000000A4u;
|
|
/* 02814748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0281474C */ cpu->ctr = cpu->r[0];
|
|
/* 02814750 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02814754 */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 02814758 */ Gambit_fn_028143CC(cpu);
|
|
/* 0281475C */ cpu->r[3] = cpu->r[31];
|
|
/* 02814760 */ Gambit_fn_02837030(cpu);
|
|
/* 02814764 */ goto L_02814798;
|
|
L_02814768: ; // 0x2814768
|
|
/* 02814768 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281476C */ cpu->r[5] = cpu->r[30] + 0x00000074u;
|
|
/* 02814770 */ Gambit_fn_02815128(cpu);
|
|
/* 02814774 */ cpu->r[3] = cpu->r[31];
|
|
/* 02814778 */ Gambit_fn_02837030(cpu);
|
|
/* 0281477C */ goto L_02814798;
|
|
L_02814780: ; // 0x2814780
|
|
/* 02814780 */ cpu->r[4] = 0x00000000u;
|
|
/* 02814784 */ cpu->r[5] = cpu->r[30] + 0x00000074u;
|
|
/* 02814788 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281478C */ Gambit_fn_02815128(cpu);
|
|
/* 02814790 */ cpu->r[3] = cpu->r[31];
|
|
/* 02814794 */ Gambit_fn_02837030(cpu);
|
|
L_02814798: ; // 0x2814798
|
|
/* 02814798 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02814798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0281479C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0281479C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028147A0 */ cpu->lr = cpu->r[0];
|
|
/* 028147A4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028147A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028147A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028147AC */ return;
|
|
}
|
|
|
|
// fn_028146FC @ 0x28146fc
|
|
void Gambit_fn_028146FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_028146FC: ; // 0x28146fc
|
|
/* 028146FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028146FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028146FC */ cpu->r[1] = _t0;
|
|
/* 02814700 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02814700 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02814704 */ cpu->r[30] = cpu->r[3];
|
|
/* 02814708 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814708 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0281470C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281470C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814710 */ Gambit_fn_02815118(cpu);
|
|
/* 02814714 */ cpu->r[31] = cpu->r[3];
|
|
/* 02814718 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0281471C */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 0281471C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02814720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814724 */ _t5 = cpu->r[30] + 0x00000064u;
|
|
/* 02814724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02814728 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814728 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02814728 */ if (_t7) goto L_02814730; else goto L_0281472C;
|
|
L_0281472C: ; // 0x281472c
|
|
/* 0281472C */ _t8 = cpu->r[3] + 0x00000010u;
|
|
/* 0281472C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
L_02814730: ; // 0x2814730
|
|
/* 02814730 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
|
|
/* 02814734 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814734 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02814734 */ if (_t10) goto L_02814780; else goto L_02814738;
|
|
L_02814738: ; // 0x2814738
|
|
/* 02814738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281473C */ cpu->r[4] = 0x00000001u;
|
|
/* 02814740 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814740 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02814740 */ if (_t12) goto L_02814768; else goto L_02814744;
|
|
L_02814744: ; // 0x2814744
|
|
/* 02814744 */ _t13 = cpu->r[3] + 0x00000070u;
|
|
/* 02814744 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02814748 */ _t14 = cpu->r[12] + 0x000000A4u;
|
|
/* 02814748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0281474C */ cpu->ctr = cpu->r[0];
|
|
/* 02814750 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02814754 */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 02814758 */ Gambit_fn_028143CC(cpu);
|
|
/* 0281475C */ cpu->r[3] = cpu->r[31];
|
|
/* 02814760 */ Gambit_fn_02837030(cpu);
|
|
/* 02814764 */ goto L_02814798;
|
|
L_02814768: ; // 0x2814768
|
|
/* 02814768 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281476C */ cpu->r[5] = cpu->r[30] + 0x00000074u;
|
|
/* 02814770 */ Gambit_fn_02815128(cpu);
|
|
/* 02814774 */ cpu->r[3] = cpu->r[31];
|
|
/* 02814778 */ Gambit_fn_02837030(cpu);
|
|
/* 0281477C */ goto L_02814798;
|
|
L_02814780: ; // 0x2814780
|
|
/* 02814780 */ cpu->r[4] = 0x00000000u;
|
|
/* 02814784 */ cpu->r[5] = cpu->r[30] + 0x00000074u;
|
|
/* 02814788 */ cpu->r[3] = cpu->r[30];
|
|
/* 0281478C */ Gambit_fn_02815128(cpu);
|
|
/* 02814790 */ cpu->r[3] = cpu->r[31];
|
|
/* 02814794 */ Gambit_fn_02837030(cpu);
|
|
L_02814798: ; // 0x2814798
|
|
/* 02814798 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02814798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0281479C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0281479C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028147A0 */ cpu->lr = cpu->r[0];
|
|
/* 028147A4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028147A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028147A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028147AC */ return;
|
|
}
|
|
|
|
// fn_028147B0 @ 0x28147b0
|
|
void Gambit_fn_028147B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_028147B0: ; // 0x28147b0
|
|
/* 028147B0 */ cpu->r[0] = cpu->lr;
|
|
/* 028147B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028147B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028147B4 */ cpu->r[1] = _t0;
|
|
/* 028147B8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028147B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028147BC */ cpu->r[30] = cpu->r[3];
|
|
/* 028147C0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028147C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028147C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028147C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028147C8 */ Gambit_fn_02815118(cpu);
|
|
/* 028147CC */ cpu->r[31] = cpu->r[3];
|
|
/* 028147D0 */ Gambit_fn_02836FFC(cpu);
|
|
/* 028147D4 */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 028147D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028147D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028147DC */ _t5 = cpu->r[30] + 0x00000064u;
|
|
/* 028147DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028147E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028147E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028147E0 */ if (_t7) goto L_028147E8; else goto L_028147E4;
|
|
L_028147E4: ; // 0x28147e4
|
|
/* 028147E4 */ _t8 = cpu->r[3] + 0x00000010u;
|
|
/* 028147E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
L_028147E8: ; // 0x28147e8
|
|
/* 028147E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
|
|
/* 028147EC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028147EC */ _t10 = _t9 & 0x00000001u;
|
|
/* 028147EC */ if (_t10) goto L_02814838; else goto L_028147F0;
|
|
L_028147F0: ; // 0x28147f0
|
|
/* 028147F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028147F4 */ cpu->r[4] = 0x00000003u;
|
|
/* 028147F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028147F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028147F8 */ if (_t12) goto L_02814820; else goto L_028147FC;
|
|
L_028147FC: ; // 0x28147fc
|
|
/* 028147FC */ _t13 = cpu->r[3] + 0x00000070u;
|
|
/* 028147FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02814800 */ _t14 = cpu->r[12] + 0x000000A4u;
|
|
/* 02814800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02814804 */ cpu->ctr = cpu->r[0];
|
|
/* 02814808 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281480C */ cpu->r[4] = cpu->r[30] + 0x000000C8u;
|
|
/* 02814810 */ Gambit_fn_02814448(cpu);
|
|
/* 02814814 */ cpu->r[3] = cpu->r[31];
|
|
/* 02814818 */ Gambit_fn_02837030(cpu);
|
|
/* 0281481C */ goto L_02814850;
|
|
L_02814820: ; // 0x2814820
|
|
/* 02814820 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814824 */ cpu->r[5] = cpu->r[30] + 0x000000C8u;
|
|
/* 02814828 */ Gambit_fn_02815128(cpu);
|
|
/* 0281482C */ cpu->r[3] = cpu->r[31];
|
|
/* 02814830 */ Gambit_fn_02837030(cpu);
|
|
/* 02814834 */ goto L_02814850;
|
|
L_02814838: ; // 0x2814838
|
|
/* 02814838 */ cpu->r[4] = 0x00000002u;
|
|
/* 0281483C */ cpu->r[5] = cpu->r[30] + 0x000000C8u;
|
|
/* 02814840 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814844 */ Gambit_fn_02815128(cpu);
|
|
/* 02814848 */ cpu->r[3] = cpu->r[31];
|
|
/* 0281484C */ Gambit_fn_02837030(cpu);
|
|
L_02814850: ; // 0x2814850
|
|
/* 02814850 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02814850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02814854 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02814854 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02814858 */ cpu->lr = cpu->r[0];
|
|
/* 0281485C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281485C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02814860 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02814864 */ return;
|
|
}
|
|
|
|
// fn_028147B4 @ 0x28147b4
|
|
void Gambit_fn_028147B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_028147B4: ; // 0x28147b4
|
|
/* 028147B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028147B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028147B4 */ cpu->r[1] = _t0;
|
|
/* 028147B8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028147B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028147BC */ cpu->r[30] = cpu->r[3];
|
|
/* 028147C0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028147C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028147C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028147C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028147C8 */ Gambit_fn_02815118(cpu);
|
|
/* 028147CC */ cpu->r[31] = cpu->r[3];
|
|
/* 028147D0 */ Gambit_fn_02836FFC(cpu);
|
|
/* 028147D4 */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 028147D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028147D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028147DC */ _t5 = cpu->r[30] + 0x00000064u;
|
|
/* 028147DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028147E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028147E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028147E0 */ if (_t7) goto L_028147E8; else goto L_028147E4;
|
|
L_028147E4: ; // 0x28147e4
|
|
/* 028147E4 */ _t8 = cpu->r[3] + 0x00000010u;
|
|
/* 028147E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
L_028147E8: ; // 0x28147e8
|
|
/* 028147E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
|
|
/* 028147EC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028147EC */ _t10 = _t9 & 0x00000001u;
|
|
/* 028147EC */ if (_t10) goto L_02814838; else goto L_028147F0;
|
|
L_028147F0: ; // 0x28147f0
|
|
/* 028147F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028147F4 */ cpu->r[4] = 0x00000003u;
|
|
/* 028147F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028147F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028147F8 */ if (_t12) goto L_02814820; else goto L_028147FC;
|
|
L_028147FC: ; // 0x28147fc
|
|
/* 028147FC */ _t13 = cpu->r[3] + 0x00000070u;
|
|
/* 028147FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02814800 */ _t14 = cpu->r[12] + 0x000000A4u;
|
|
/* 02814800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02814804 */ cpu->ctr = cpu->r[0];
|
|
/* 02814808 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281480C */ cpu->r[4] = cpu->r[30] + 0x000000C8u;
|
|
/* 02814810 */ Gambit_fn_02814448(cpu);
|
|
/* 02814814 */ cpu->r[3] = cpu->r[31];
|
|
/* 02814818 */ Gambit_fn_02837030(cpu);
|
|
/* 0281481C */ goto L_02814850;
|
|
L_02814820: ; // 0x2814820
|
|
/* 02814820 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814824 */ cpu->r[5] = cpu->r[30] + 0x000000C8u;
|
|
/* 02814828 */ Gambit_fn_02815128(cpu);
|
|
/* 0281482C */ cpu->r[3] = cpu->r[31];
|
|
/* 02814830 */ Gambit_fn_02837030(cpu);
|
|
/* 02814834 */ goto L_02814850;
|
|
L_02814838: ; // 0x2814838
|
|
/* 02814838 */ cpu->r[4] = 0x00000002u;
|
|
/* 0281483C */ cpu->r[5] = cpu->r[30] + 0x000000C8u;
|
|
/* 02814840 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814844 */ Gambit_fn_02815128(cpu);
|
|
/* 02814848 */ cpu->r[3] = cpu->r[31];
|
|
/* 0281484C */ Gambit_fn_02837030(cpu);
|
|
L_02814850: ; // 0x2814850
|
|
/* 02814850 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02814850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02814854 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02814854 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02814858 */ cpu->lr = cpu->r[0];
|
|
/* 0281485C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281485C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02814860 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02814864 */ return;
|
|
}
|
|
|
|
// fn_02814868 @ 0x2814868
|
|
void Gambit_fn_02814868(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_02814868: ; // 0x2814868
|
|
/* 02814868 */ cpu->r[3] = cpu->r[3] + 0x00000074u;
|
|
/* 0281486C */ goto L_0281436C;
|
|
}
|
|
|
|
// fn_02814870 @ 0x2814870
|
|
void Gambit_fn_02814870(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_02814870: ; // 0x2814870
|
|
/* 02814870 */ cpu->r[3] = cpu->r[3] + 0x000000C8u;
|
|
/* 02814874 */ goto L_0281436C;
|
|
}
|
|
|
|
// fn_02814878 @ 0x2814878
|
|
void Gambit_fn_02814878(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_02814878: ; // 0x2814878
|
|
/* 02814878 */ cpu->r[0] = cpu->lr;
|
|
/* 0281487C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0281487C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281487C */ cpu->r[1] = _t0;
|
|
/* 02814880 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02814880 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02814884 */ cpu->r[30] = cpu->r[3];
|
|
/* 02814888 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814888 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0281488C */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02814890 */ cpu->r[31] = cpu->r[4];
|
|
/* 02814894 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02814894 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814898 */ Gambit_fn_0281434C(cpu);
|
|
/* 0281489C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028148A0 */ _t4 = cpu->r[30] + 0x000000BCu;
|
|
/* 028148A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028148A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028148A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028148A4 */ if (_t6) goto L_028148DC; else goto L_028148A8;
|
|
L_028148A8: ; // 0x28148a8
|
|
/* 028148A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028148AC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028148AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 028148AC */ if (_t8) goto L_028148C8; else goto L_028148B0;
|
|
L_028148B0: ; // 0x28148b0
|
|
/* 028148B0 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 028148B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028148B4 */ _t10 = cpu->r[9] + 0x0000000Cu;
|
|
/* 028148B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028148B8 */ cpu->ctr = cpu->r[0];
|
|
/* 028148BC */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 028148C0 */ cpu->r[5] = 0x00000001u;
|
|
/* 028148C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028148C8: ; // 0x28148c8
|
|
/* 028148C8 */ cpu->r[10] = 0x00000001u;
|
|
/* 028148CC */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 028148D0 */ _t11 = cpu->r[30] + 0x000000B8u;
|
|
/* 028148D0 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 028148D4 */ Gambit_fn_0281435C(cpu);
|
|
/* 028148D8 */ goto L_0281490C;
|
|
L_028148DC: ; // 0x28148dc
|
|
/* 028148DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028148E0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028148E0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028148E0 */ if (_t13) goto L_028148FC; else goto L_028148E4;
|
|
L_028148E4: ; // 0x28148e4
|
|
/* 028148E4 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 028148E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028148E8 */ _t15 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028148E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028148EC */ cpu->ctr = cpu->r[0];
|
|
/* 028148F0 */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 028148F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 028148F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028148FC: ; // 0x28148fc
|
|
/* 028148FC */ cpu->r[10] = 0x00000000u;
|
|
/* 02814900 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02814904 */ _t16 = cpu->r[30] + 0x000000B8u;
|
|
/* 02814904 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02814908 */ Gambit_fn_0281435C(cpu);
|
|
L_0281490C: ; // 0x281490c
|
|
/* 0281490C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0281490C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02814910 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02814910 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02814914 */ cpu->lr = cpu->r[0];
|
|
/* 02814918 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814918 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0281491C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02814920 */ return;
|
|
}
|
|
|
|
// fn_0281487C @ 0x281487c
|
|
void Gambit_fn_0281487C(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_0281487C: ; // 0x281487c
|
|
/* 0281487C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0281487C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281487C */ cpu->r[1] = _t0;
|
|
/* 02814880 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02814880 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02814884 */ cpu->r[30] = cpu->r[3];
|
|
/* 02814888 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814888 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0281488C */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02814890 */ cpu->r[31] = cpu->r[4];
|
|
/* 02814894 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02814894 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814898 */ Gambit_fn_0281434C(cpu);
|
|
/* 0281489C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028148A0 */ _t4 = cpu->r[30] + 0x000000BCu;
|
|
/* 028148A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028148A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028148A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028148A4 */ if (_t6) goto L_028148DC; else goto L_028148A8;
|
|
L_028148A8: ; // 0x28148a8
|
|
/* 028148A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028148AC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028148AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 028148AC */ if (_t8) goto L_028148C8; else goto L_028148B0;
|
|
L_028148B0: ; // 0x28148b0
|
|
/* 028148B0 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 028148B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028148B4 */ _t10 = cpu->r[9] + 0x0000000Cu;
|
|
/* 028148B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028148B8 */ cpu->ctr = cpu->r[0];
|
|
/* 028148BC */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 028148C0 */ cpu->r[5] = 0x00000001u;
|
|
/* 028148C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028148C8: ; // 0x28148c8
|
|
/* 028148C8 */ cpu->r[10] = 0x00000001u;
|
|
/* 028148CC */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 028148D0 */ _t11 = cpu->r[30] + 0x000000B8u;
|
|
/* 028148D0 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 028148D4 */ Gambit_fn_0281435C(cpu);
|
|
/* 028148D8 */ goto L_0281490C;
|
|
L_028148DC: ; // 0x28148dc
|
|
/* 028148DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028148E0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028148E0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028148E0 */ if (_t13) goto L_028148FC; else goto L_028148E4;
|
|
L_028148E4: ; // 0x28148e4
|
|
/* 028148E4 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 028148E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028148E8 */ _t15 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028148E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028148EC */ cpu->ctr = cpu->r[0];
|
|
/* 028148F0 */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 028148F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 028148F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028148FC: ; // 0x28148fc
|
|
/* 028148FC */ cpu->r[10] = 0x00000000u;
|
|
/* 02814900 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02814904 */ _t16 = cpu->r[30] + 0x000000B8u;
|
|
/* 02814904 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02814908 */ Gambit_fn_0281435C(cpu);
|
|
L_0281490C: ; // 0x281490c
|
|
/* 0281490C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0281490C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02814910 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02814910 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02814914 */ cpu->lr = cpu->r[0];
|
|
/* 02814918 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814918 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0281491C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02814920 */ return;
|
|
}
|
|
|
|
// fn_02814924 @ 0x2814924
|
|
void Gambit_fn_02814924(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_02814924: ; // 0x2814924
|
|
/* 02814924 */ cpu->r[0] = cpu->lr;
|
|
/* 02814928 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02814928 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814928 */ cpu->r[1] = _t0;
|
|
/* 0281492C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0281492C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02814930 */ cpu->r[30] = cpu->r[3];
|
|
/* 02814934 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814934 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02814938 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0281493C */ cpu->r[31] = cpu->r[4];
|
|
/* 02814940 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02814940 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814944 */ Gambit_fn_0281434C(cpu);
|
|
/* 02814948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0281494C */ _t4 = cpu->r[30] + 0x00000110u;
|
|
/* 0281494C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02814950 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814950 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02814950 */ if (_t6) goto L_02814988; else goto L_02814954;
|
|
L_02814954: ; // 0x2814954
|
|
/* 02814954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814958 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814958 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02814958 */ if (_t8) goto L_02814974; else goto L_0281495C;
|
|
L_0281495C: ; // 0x281495c
|
|
/* 0281495C */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 0281495C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02814960 */ _t10 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02814960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02814964 */ cpu->ctr = cpu->r[0];
|
|
/* 02814968 */ cpu->r[4] = cpu->r[30] + 0x000000C8u;
|
|
/* 0281496C */ cpu->r[5] = 0x00000001u;
|
|
/* 02814970 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02814974: ; // 0x2814974
|
|
/* 02814974 */ cpu->r[10] = 0x00000001u;
|
|
/* 02814978 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0281497C */ _t11 = cpu->r[30] + 0x0000010Cu;
|
|
/* 0281497C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02814980 */ Gambit_fn_0281435C(cpu);
|
|
/* 02814984 */ goto L_028149B8;
|
|
L_02814988: ; // 0x2814988
|
|
/* 02814988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281498C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281498C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0281498C */ if (_t13) goto L_028149A8; else goto L_02814990;
|
|
L_02814990: ; // 0x2814990
|
|
/* 02814990 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02814990 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02814994 */ _t15 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02814994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02814998 */ cpu->ctr = cpu->r[0];
|
|
/* 0281499C */ cpu->r[4] = cpu->r[30] + 0x000000C8u;
|
|
/* 028149A0 */ cpu->r[5] = 0x00000000u;
|
|
/* 028149A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028149A8: ; // 0x28149a8
|
|
/* 028149A8 */ cpu->r[10] = 0x00000000u;
|
|
/* 028149AC */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 028149B0 */ _t16 = cpu->r[30] + 0x0000010Cu;
|
|
/* 028149B0 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 028149B4 */ Gambit_fn_0281435C(cpu);
|
|
L_028149B8: ; // 0x28149b8
|
|
/* 028149B8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 028149B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028149BC */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 028149BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028149C0 */ cpu->lr = cpu->r[0];
|
|
/* 028149C4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028149C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028149C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028149CC */ return;
|
|
}
|
|
|
|
// fn_02814928 @ 0x2814928
|
|
void Gambit_fn_02814928(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_02814928: ; // 0x2814928
|
|
/* 02814928 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02814928 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814928 */ cpu->r[1] = _t0;
|
|
/* 0281492C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0281492C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02814930 */ cpu->r[30] = cpu->r[3];
|
|
/* 02814934 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814934 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02814938 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0281493C */ cpu->r[31] = cpu->r[4];
|
|
/* 02814940 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02814940 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814944 */ Gambit_fn_0281434C(cpu);
|
|
/* 02814948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0281494C */ _t4 = cpu->r[30] + 0x00000110u;
|
|
/* 0281494C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02814950 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814950 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02814950 */ if (_t6) goto L_02814988; else goto L_02814954;
|
|
L_02814954: ; // 0x2814954
|
|
/* 02814954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814958 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814958 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02814958 */ if (_t8) goto L_02814974; else goto L_0281495C;
|
|
L_0281495C: ; // 0x281495c
|
|
/* 0281495C */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 0281495C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02814960 */ _t10 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02814960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02814964 */ cpu->ctr = cpu->r[0];
|
|
/* 02814968 */ cpu->r[4] = cpu->r[30] + 0x000000C8u;
|
|
/* 0281496C */ cpu->r[5] = 0x00000001u;
|
|
/* 02814970 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02814974: ; // 0x2814974
|
|
/* 02814974 */ cpu->r[10] = 0x00000001u;
|
|
/* 02814978 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 0281497C */ _t11 = cpu->r[30] + 0x0000010Cu;
|
|
/* 0281497C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02814980 */ Gambit_fn_0281435C(cpu);
|
|
/* 02814984 */ goto L_028149B8;
|
|
L_02814988: ; // 0x2814988
|
|
/* 02814988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0281498C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281498C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0281498C */ if (_t13) goto L_028149A8; else goto L_02814990;
|
|
L_02814990: ; // 0x2814990
|
|
/* 02814990 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02814990 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02814994 */ _t15 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02814994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02814998 */ cpu->ctr = cpu->r[0];
|
|
/* 0281499C */ cpu->r[4] = cpu->r[30] + 0x000000C8u;
|
|
/* 028149A0 */ cpu->r[5] = 0x00000000u;
|
|
/* 028149A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028149A8: ; // 0x28149a8
|
|
/* 028149A8 */ cpu->r[10] = 0x00000000u;
|
|
/* 028149AC */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 028149B0 */ _t16 = cpu->r[30] + 0x0000010Cu;
|
|
/* 028149B0 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 028149B4 */ Gambit_fn_0281435C(cpu);
|
|
L_028149B8: ; // 0x28149b8
|
|
/* 028149B8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 028149B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028149BC */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 028149BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028149C0 */ cpu->lr = cpu->r[0];
|
|
/* 028149C4 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028149C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028149C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028149CC */ return;
|
|
}
|
|
|
|
// fn_028149D0 @ 0x28149d0
|
|
void Gambit_fn_028149D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_028149D0: ; // 0x28149d0
|
|
/* 028149D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000001u);
|
|
/* 028149D4 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028149D4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 028149D4 */ if (_t1) goto L_028149D8; else goto L_028149E8;
|
|
L_028149D8: ; // 0x28149d8
|
|
/* 028149D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000004u);
|
|
/* 028149DC */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028149DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 028149DC */ if (_t3) goto L_028149E0; else goto L_028149F0;
|
|
L_028149E0: ; // 0x28149e0
|
|
/* 028149E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028149E4 */ return;
|
|
L_028149E8: ; // 0x28149e8
|
|
/* 028149E8 */ cpu->r[3] = cpu->r[3] + 0x00000074u;
|
|
/* 028149EC */ return;
|
|
L_028149F0: ; // 0x28149f0
|
|
/* 028149F0 */ cpu->r[3] = cpu->r[3] + 0x000000C8u;
|
|
/* 028149F4 */ return;
|
|
}
|
|
|
|
// fn_028149F8 @ 0x28149f8
|
|
void Gambit_fn_028149F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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;
|
|
|
|
L_028149F8: ; // 0x28149f8
|
|
/* 028149F8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 028149F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028149F8 */ cpu->r[1] = _t0;
|
|
/* 028149FC */ cpu->r[0] = cpu->lr;
|
|
/* 02814A00 */ /* nop */
|
|
/* 02814A04 */ cpu->r[30] = cpu->r[3];
|
|
/* 02814A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02814A08 */ cpu->r[31] = cpu->r[4];
|
|
/* 02814A0C */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02814A0C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02814A10 */ cpu->r[29] = cpu->r[5];
|
|
/* 02814A14 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814A14 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02814A14 */ if (_t3) goto L_02814A18; else goto L_02814A28;
|
|
L_02814A18: ; // 0x2814a18
|
|
/* 02814A18 */ cpu->r[3] = 0x0000011Cu;
|
|
/* 02814A1C */ Gambit_fn_02801A78(cpu);
|
|
/* 02814A20 */ cpu->r[30] = cpu->r[3];
|
|
/* 02814A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02814A24 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814A24 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02814A24 */ if (_t5) goto L_02814DA8; else goto L_02814A28;
|
|
L_02814A28: ; // 0x2814a28
|
|
/* 02814A28 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814A2C */ cpu->r[4] = cpu->r[31];
|
|
/* 02814A30 */ cpu->r[5] = cpu->r[29];
|
|
/* 02814A34 */ Gambit_fn_028152FC(cpu);
|
|
/* 02814A38 */ cpu->r[10] = 0x10110000u;
|
|
/* 02814A3C */ cpu->r[24] = cpu->r[30] + 0x00000074u;
|
|
/* 02814A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02814A40 */ cpu->r[28] = 0x10110000u;
|
|
/* 02814A44 */ cpu->r[10] = cpu->r[10] + 0x00003CBCu;
|
|
/* 02814A48 */ cpu->r[0] = 0x10110000u;
|
|
/* 02814A4C */ cpu->r[26] = 0x00000000u;
|
|
/* 02814A50 */ _t6 = cpu->r[30] + 0x00000070u;
|
|
/* 02814A50 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02814A54 */ cpu->r[0] = cpu->r[0] + 0x00003D7Cu;
|
|
/* 02814A58 */ cpu->r[25] = 0x10110000u;
|
|
/* 02814A5C */ cpu->r[27] = 0x10110000u;
|
|
/* 02814A60 */ cpu->r[28] = cpu->r[28] + 0x00003C24u;
|
|
/* 02814A64 */ cpu->r[25] = cpu->r[25] + 0x00003C4Cu;
|
|
/* 02814A68 */ _t7 = cpu->r[30] + 0x00000020u;
|
|
/* 02814A68 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02814A6C */ cpu->r[27] = cpu->r[27] + 0x00003C7Cu;
|
|
/* 02814A70 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814A70 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02814A70 */ if (_t9) goto L_02814A74; else goto L_02814A84;
|
|
L_02814A74: ; // 0x2814a74
|
|
/* 02814A74 */ cpu->r[3] = 0x00000054u;
|
|
/* 02814A78 */ Gambit_fn_02801A78(cpu);
|
|
/* 02814A7C */ cpu->r[24] = cpu->r[3];
|
|
/* 02814A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02814A80 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814A80 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02814A80 */ if (_t11) goto L_02814B58; else goto L_02814A84;
|
|
L_02814A84: ; // 0x2814a84
|
|
/* 02814A84 */ cpu->r[31] = cpu->r[24];
|
|
/* 02814A84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02814A88 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814A88 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02814A88 */ if (_t13) goto L_02814A8C; else goto L_02814A9C;
|
|
L_02814A8C: ; // 0x2814a8c
|
|
/* 02814A8C */ cpu->r[3] = 0x00000014u;
|
|
/* 02814A90 */ Gambit_fn_02801A78(cpu);
|
|
/* 02814A94 */ cpu->r[31] = cpu->r[3];
|
|
/* 02814A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02814A98 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814A98 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02814A98 */ if (_t15) goto L_02814AA8; else goto L_02814A9C;
|
|
L_02814A9C: ; // 0x2814a9c
|
|
/* 02814A9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02814AA0 */ Gambit_fn_028029E4(cpu);
|
|
/* 02814AA4 */ _t16 = cpu->r[31] + 0x00000010u;
|
|
/* 02814AA4 */ rbrew_write32(cpu->mem, _t16, cpu->r[24]);
|
|
L_02814AA8: ; // 0x2814aa8
|
|
/* 02814AA8 */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 02814AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814AAC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814AAC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02814AAC */ if (_t18) goto L_02814AB0; else goto L_02814AC0;
|
|
L_02814AB0: ; // 0x2814ab0
|
|
/* 02814AB0 */ cpu->r[3] = 0x00000008u;
|
|
/* 02814AB4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02814AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814ABC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814ABC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02814ABC */ if (_t20) goto L_02814AD8; else goto L_02814AC0;
|
|
L_02814AC0: ; // 0x2814ac0
|
|
/* 02814AC0 */ cpu->r[12] = 0x10110000u;
|
|
/* 02814AC4 */ cpu->r[0] = 0x10110000u;
|
|
/* 02814AC8 */ cpu->r[12] = cpu->r[12] + 0x00003C0Cu;
|
|
/* 02814ACC */ cpu->r[0] = cpu->r[0] + 0x00003C08u;
|
|
/* 02814AD0 */ _t21 = cpu->r[3] + 0x00000004u;
|
|
/* 02814AD0 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02814AD4 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02814AD4 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_02814AD8: ; // 0x2814ad8
|
|
/* 02814AD8 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 02814ADC */ Gambit_fn_02821D00(cpu);
|
|
/* 02814AE0 */ _t23 = cpu->r[24] + 0x0000003Cu;
|
|
/* 02814AE0 */ rbrew_write32(cpu->mem, _t23, cpu->r[26]);
|
|
/* 02814AE4 */ cpu->r[5] = 0x10110000u;
|
|
/* 02814AE8 */ _t24 = cpu->r[24] + 0x00000050u;
|
|
/* 02814AE8 */ rbrew_write32(cpu->mem, _t24, cpu->r[25]);
|
|
/* 02814AEC */ cpu->r[5] = cpu->r[5] + 0x00003C6Cu;
|
|
/* 02814AF0 */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 02814AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814AF4 */ _t25 = cpu->r[24] + 0x00000028u;
|
|
/* 02814AF4 */ rbrew_write32(cpu->mem, _t25, cpu->r[5]);
|
|
/* 02814AF8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814AF8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02814AF8 */ if (_t27) goto L_02814AFC; else goto L_02814B0C;
|
|
L_02814AFC: ; // 0x2814afc
|
|
/* 02814AFC */ cpu->r[3] = 0x00000004u;
|
|
/* 02814B00 */ Gambit_fn_02801A78(cpu);
|
|
/* 02814B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814B08 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814B08 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02814B08 */ if (_t29) goto L_02814B10; else goto L_02814B0C;
|
|
L_02814B0C: ; // 0x2814b0c
|
|
/* 02814B0C */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 02814B0C */ rbrew_write32(cpu->mem, _t30, cpu->r[26]);
|
|
L_02814B10: ; // 0x2814b10
|
|
/* 02814B10 */ _t31 = cpu->r[24] + 0x00000048u;
|
|
/* 02814B10 */ rbrew_write32(cpu->mem, _t31, cpu->r[26]);
|
|
/* 02814B14 */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 02814B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02814B18 */ _t32 = cpu->r[24] + 0x0000004Cu;
|
|
/* 02814B18 */ rbrew_write32(cpu->mem, _t32, cpu->r[26]);
|
|
/* 02814B1C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814B1C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02814B1C */ if (_t34) goto L_02814B50; else goto L_02814B20;
|
|
L_02814B20: ; // 0x2814b20
|
|
/* 02814B20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02814B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814B24 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814B24 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02814B24 */ if (_t36) goto L_02814B28; else goto L_02814B38;
|
|
L_02814B28: ; // 0x2814b28
|
|
/* 02814B28 */ cpu->r[3] = 0x00000010u;
|
|
/* 02814B2C */ Gambit_fn_02801A78(cpu);
|
|
/* 02814B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814B34 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814B34 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02814B34 */ if (_t38) goto L_02814B4C; else goto L_02814B38;
|
|
L_02814B38: ; // 0x2814b38
|
|
/* 02814B38 */ _t39 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02814B38 */ rbrew_write32(cpu->mem, _t39, cpu->r[26]);
|
|
/* 02814B3C */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 02814B3C */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
/* 02814B40 */ _t41 = cpu->r[3] + 0x00000008u;
|
|
/* 02814B40 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[26]);
|
|
/* 02814B44 */ _t42 = cpu->r[3] + 0x0000000Au;
|
|
/* 02814B44 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[26]);
|
|
/* 02814B48 */ _t43 = cpu->r[3] + 0x00000004u;
|
|
/* 02814B48 */ rbrew_write32(cpu->mem, _t43, cpu->r[26]);
|
|
L_02814B4C: ; // 0x2814b4c
|
|
/* 02814B4C */ _t44 = cpu->r[31] + 0x00000000u;
|
|
/* 02814B4C */ rbrew_write32(cpu->mem, _t44, cpu->r[27]);
|
|
L_02814B50: ; // 0x2814b50
|
|
/* 02814B50 */ cpu->r[0] = 0x00000000u;
|
|
/* 02814B54 */ _t45 = cpu->r[24] + 0x00000044u;
|
|
/* 02814B54 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
L_02814B58: ; // 0x2814b58
|
|
/* 02814B58 */ cpu->r[24] = cpu->r[30] + 0x000000C8u;
|
|
/* 02814B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02814B5C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814B5C */ _t47 = _t46 & 0x00000001u;
|
|
/* 02814B5C */ if (_t47) goto L_02814B60; else goto L_02814B70;
|
|
L_02814B60: ; // 0x2814b60
|
|
/* 02814B60 */ cpu->r[3] = 0x00000054u;
|
|
/* 02814B64 */ Gambit_fn_02801A78(cpu);
|
|
/* 02814B68 */ cpu->r[24] = cpu->r[3];
|
|
/* 02814B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02814B6C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814B6C */ _t49 = _t48 & 0x00000001u;
|
|
/* 02814B6C */ if (_t49) goto L_02814C44; else goto L_02814B70;
|
|
L_02814B70: ; // 0x2814b70
|
|
/* 02814B70 */ cpu->r[31] = cpu->r[24];
|
|
/* 02814B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02814B74 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814B74 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02814B74 */ if (_t51) goto L_02814B78; else goto L_02814B88;
|
|
L_02814B78: ; // 0x2814b78
|
|
/* 02814B78 */ cpu->r[3] = 0x00000014u;
|
|
/* 02814B7C */ Gambit_fn_02801A78(cpu);
|
|
/* 02814B80 */ cpu->r[31] = cpu->r[3];
|
|
/* 02814B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02814B84 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814B84 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02814B84 */ if (_t53) goto L_02814B94; else goto L_02814B88;
|
|
L_02814B88: ; // 0x2814b88
|
|
/* 02814B88 */ cpu->r[3] = cpu->r[31];
|
|
/* 02814B8C */ Gambit_fn_028029E4(cpu);
|
|
/* 02814B90 */ _t54 = cpu->r[31] + 0x00000010u;
|
|
/* 02814B90 */ rbrew_write32(cpu->mem, _t54, cpu->r[24]);
|
|
L_02814B94: ; // 0x2814b94
|
|
/* 02814B94 */ cpu->r[3] = cpu->r[24] + 0x00000014u;
|
|
/* 02814B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814B98 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814B98 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02814B98 */ if (_t56) goto L_02814B9C; else goto L_02814BAC;
|
|
L_02814B9C: ; // 0x2814b9c
|
|
/* 02814B9C */ cpu->r[3] = 0x00000008u;
|
|
/* 02814BA0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02814BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814BA8 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814BA8 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02814BA8 */ if (_t58) goto L_02814BC4; else goto L_02814BAC;
|
|
L_02814BAC: ; // 0x2814bac
|
|
/* 02814BAC */ cpu->r[0] = 0x10110000u;
|
|
/* 02814BB0 */ cpu->r[7] = 0x10110000u;
|
|
/* 02814BB4 */ cpu->r[0] = cpu->r[0] + 0x00003C0Cu;
|
|
/* 02814BB8 */ cpu->r[7] = cpu->r[7] + 0x00003C08u;
|
|
/* 02814BBC */ _t59 = cpu->r[3] + 0x00000004u;
|
|
/* 02814BBC */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 02814BC0 */ _t60 = cpu->r[3] + 0x00000000u;
|
|
/* 02814BC0 */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
|
|
L_02814BC4: ; // 0x2814bc4
|
|
/* 02814BC4 */ cpu->r[3] = cpu->r[24] + 0x0000001Cu;
|
|
/* 02814BC8 */ Gambit_fn_02821D00(cpu);
|
|
/* 02814BCC */ _t61 = cpu->r[24] + 0x0000003Cu;
|
|
/* 02814BCC */ rbrew_write32(cpu->mem, _t61, cpu->r[26]);
|
|
/* 02814BD0 */ cpu->r[8] = 0x10110000u;
|
|
/* 02814BD4 */ _t62 = cpu->r[24] + 0x00000050u;
|
|
/* 02814BD4 */ rbrew_write32(cpu->mem, _t62, cpu->r[25]);
|
|
/* 02814BD8 */ cpu->r[8] = cpu->r[8] + 0x00003C6Cu;
|
|
/* 02814BDC */ cpu->r[3] = cpu->r[24] + 0x00000044u;
|
|
/* 02814BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814BE0 */ _t63 = cpu->r[24] + 0x00000028u;
|
|
/* 02814BE0 */ rbrew_write32(cpu->mem, _t63, cpu->r[8]);
|
|
/* 02814BE4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814BE4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02814BE4 */ if (_t65) goto L_02814BE8; else goto L_02814BF8;
|
|
L_02814BE8: ; // 0x2814be8
|
|
/* 02814BE8 */ cpu->r[3] = 0x00000004u;
|
|
/* 02814BEC */ Gambit_fn_02801A78(cpu);
|
|
/* 02814BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814BF4 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814BF4 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02814BF4 */ if (_t67) goto L_02814BFC; else goto L_02814BF8;
|
|
L_02814BF8: ; // 0x2814bf8
|
|
/* 02814BF8 */ _t68 = cpu->r[3] + 0x00000000u;
|
|
/* 02814BF8 */ rbrew_write32(cpu->mem, _t68, cpu->r[26]);
|
|
L_02814BFC: ; // 0x2814bfc
|
|
/* 02814BFC */ _t69 = cpu->r[24] + 0x00000048u;
|
|
/* 02814BFC */ rbrew_write32(cpu->mem, _t69, cpu->r[26]);
|
|
/* 02814C00 */ cpu->r[31] = cpu->r[24] + 0x0000002Cu;
|
|
/* 02814C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02814C04 */ _t70 = cpu->r[24] + 0x0000004Cu;
|
|
/* 02814C04 */ rbrew_write32(cpu->mem, _t70, cpu->r[26]);
|
|
/* 02814C08 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814C08 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02814C08 */ if (_t72) goto L_02814C3C; else goto L_02814C0C;
|
|
L_02814C0C: ; // 0x2814c0c
|
|
/* 02814C0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02814C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814C10 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814C10 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02814C10 */ if (_t74) goto L_02814C14; else goto L_02814C24;
|
|
L_02814C14: ; // 0x2814c14
|
|
/* 02814C14 */ cpu->r[3] = 0x00000010u;
|
|
/* 02814C18 */ Gambit_fn_02801A78(cpu);
|
|
/* 02814C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814C20 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814C20 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02814C20 */ if (_t76) goto L_02814C38; else goto L_02814C24;
|
|
L_02814C24: ; // 0x2814c24
|
|
/* 02814C24 */ _t77 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02814C24 */ rbrew_write32(cpu->mem, _t77, cpu->r[26]);
|
|
/* 02814C28 */ _t78 = cpu->r[3] + 0x00000000u;
|
|
/* 02814C28 */ rbrew_write32(cpu->mem, _t78, cpu->r[28]);
|
|
/* 02814C2C */ _t79 = cpu->r[3] + 0x00000008u;
|
|
/* 02814C2C */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[26]);
|
|
/* 02814C30 */ _t80 = cpu->r[3] + 0x0000000Au;
|
|
/* 02814C30 */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[26]);
|
|
/* 02814C34 */ _t81 = cpu->r[3] + 0x00000004u;
|
|
/* 02814C34 */ rbrew_write32(cpu->mem, _t81, cpu->r[26]);
|
|
L_02814C38: ; // 0x2814c38
|
|
/* 02814C38 */ _t82 = cpu->r[31] + 0x00000000u;
|
|
/* 02814C38 */ rbrew_write32(cpu->mem, _t82, cpu->r[27]);
|
|
L_02814C3C: ; // 0x2814c3c
|
|
/* 02814C3C */ cpu->r[0] = 0x00000000u;
|
|
/* 02814C40 */ _t83 = cpu->r[24] + 0x00000044u;
|
|
/* 02814C40 */ rbrew_write32(cpu->mem, _t83, cpu->r[0]);
|
|
L_02814C44: ; // 0x2814c44
|
|
/* 02814C44 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02814C48 */ Gambit_fn_0281434C(cpu);
|
|
/* 02814C4C */ _t84 = cpu->r[30] + 0x000000BCu;
|
|
/* 02814C4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02814C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814C54 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814C54 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02814C54 */ if (_t86) goto L_02814C70; else goto L_02814C58;
|
|
L_02814C58: ; // 0x2814c58
|
|
/* 02814C58 */ _t87 = cpu->r[3] + 0x00000000u;
|
|
/* 02814C58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02814C5C */ _t88 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02814C5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02814C60 */ cpu->ctr = cpu->r[10];
|
|
/* 02814C64 */ cpu->r[4] = cpu->r[30] + 0x00000074u;
|
|
/* 02814C68 */ cpu->r[5] = 0x00000003u;
|
|
/* 02814C6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02814C70: ; // 0x2814c70
|
|
/* 02814C70 */ cpu->r[11] = 0x00000003u;
|
|
/* 02814C74 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02814C78 */ _t89 = cpu->r[30] + 0x000000B8u;
|
|
/* 02814C78 */ rbrew_write32(cpu->mem, _t89, cpu->r[11]);
|
|
/* 02814C7C */ Gambit_fn_0281435C(cpu);
|
|
/* 02814C80 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 02814C84 */ Gambit_fn_0281434C(cpu);
|
|
/* 02814C88 */ _t90 = cpu->r[30] + 0x00000110u;
|
|
/* 02814C88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02814C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814C90 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814C90 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02814C90 */ if (_t92) goto L_02814CAC; else goto L_02814C94;
|
|
L_02814C94: ; // 0x2814c94
|
|
/* 02814C94 */ _t93 = cpu->r[3] + 0x00000000u;
|
|
/* 02814C94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02814C98 */ _t94 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02814C98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02814C9C */ cpu->ctr = cpu->r[0];
|
|
/* 02814CA0 */ cpu->r[4] = cpu->r[30] + 0x000000C8u;
|
|
/* 02814CA4 */ cpu->r[5] = 0x00000003u;
|
|
/* 02814CA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02814CAC: ; // 0x2814cac
|
|
/* 02814CAC */ cpu->r[5] = 0x00000003u;
|
|
/* 02814CB0 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 02814CB4 */ _t95 = cpu->r[30] + 0x0000010Cu;
|
|
/* 02814CB4 */ rbrew_write32(cpu->mem, _t95, cpu->r[5]);
|
|
/* 02814CB8 */ Gambit_fn_0281435C(cpu);
|
|
/* 02814CBC */ cpu->r[26] = 0x00000000u;
|
|
/* 02814CC0 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02814CC4 */ cpu->r[24] = 0x00000070u;
|
|
/* 02814CC8 */ cpu->r[25] = 0x00000016u;
|
|
/* 02814CCC */ Gambit_fn_0281434C(cpu);
|
|
/* 02814CD0 */ cpu->r[27] = 0x10110000u;
|
|
/* 02814CD4 */ cpu->r[31] = cpu->r[30] + 0x000000A0u;
|
|
/* 02814CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02814CD8 */ cpu->r[27] = cpu->r[27] + 0x00003CA4u;
|
|
/* 02814CDC */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814CDC */ _t97 = _t96 & 0x00000001u;
|
|
/* 02814CDC */ if (_t97) goto L_02814D20; else goto L_02814CE0;
|
|
L_02814CE0: ; // 0x2814ce0
|
|
/* 02814CE0 */ _t98 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814CE0 */ rbrew_write32(cpu->mem, _t98, cpu->r[24]);
|
|
/* 02814CE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02814CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814CE8 */ _t99 = cpu->r[1] + 0x00000008u;
|
|
/* 02814CE8 */ rbrew_write16(cpu->mem, _t99, (uint16_t)cpu->r[26]);
|
|
/* 02814CEC */ _t100 = cpu->r[1] + 0x0000000Au;
|
|
/* 02814CEC */ rbrew_write16(cpu->mem, _t100, (uint16_t)cpu->r[25]);
|
|
/* 02814CF0 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814CF0 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02814CF0 */ if (_t102) goto L_02814CF4; else goto L_02814D04;
|
|
L_02814CF4: ; // 0x2814cf4
|
|
/* 02814CF4 */ cpu->r[3] = 0x00000010u;
|
|
/* 02814CF8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02814CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814D00 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814D00 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02814D00 */ if (_t104) goto L_02814D1C; else goto L_02814D04;
|
|
L_02814D04: ; // 0x2814d04
|
|
/* 02814D04 */ _t105 = cpu->r[3] + 0x00000004u;
|
|
/* 02814D04 */ rbrew_write32(cpu->mem, _t105, cpu->r[30]);
|
|
/* 02814D08 */ _t106 = cpu->r[3] + 0x00000000u;
|
|
/* 02814D08 */ rbrew_write32(cpu->mem, _t106, cpu->r[28]);
|
|
/* 02814D0C */ _t107 = cpu->r[1] + 0x00000008u;
|
|
/* 02814D0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02814D10 */ _t108 = cpu->r[3] + 0x00000008u;
|
|
/* 02814D10 */ rbrew_write32(cpu->mem, _t108, cpu->r[7]);
|
|
/* 02814D14 */ _t109 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814D14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02814D18 */ _t110 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02814D18 */ rbrew_write32(cpu->mem, _t110, cpu->r[8]);
|
|
L_02814D1C: ; // 0x2814d1c
|
|
/* 02814D1C */ _t111 = cpu->r[31] + 0x00000000u;
|
|
/* 02814D1C */ rbrew_write32(cpu->mem, _t111, cpu->r[27]);
|
|
L_02814D20: ; // 0x2814d20
|
|
/* 02814D20 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02814D24 */ Gambit_fn_0281435C(cpu);
|
|
/* 02814D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02814D2C */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814D2C */ _t113 = _t112 & 0x00000001u;
|
|
/* 02814D2C */ if (_t113) goto L_02814D34; else goto L_02814D30;
|
|
L_02814D30: ; // 0x2814d30
|
|
/* 02814D30 */ _t114 = cpu->r[30] + 0x00000088u;
|
|
/* 02814D30 */ rbrew_write32(cpu->mem, _t114, cpu->r[29]);
|
|
L_02814D34: ; // 0x2814d34
|
|
/* 02814D34 */ cpu->r[26] = 0x00000000u;
|
|
/* 02814D38 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 02814D3C */ cpu->r[24] = 0x00000070u;
|
|
/* 02814D40 */ cpu->r[25] = 0x00000017u;
|
|
/* 02814D44 */ Gambit_fn_0281434C(cpu);
|
|
/* 02814D48 */ cpu->r[9] = cpu->r[30] + 0x000000C8u;
|
|
/* 02814D4C */ cpu->r[31] = cpu->r[9] + 0x0000002Cu;
|
|
/* 02814D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02814D50 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814D50 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02814D50 */ if (_t116) goto L_02814D94; else goto L_02814D54;
|
|
L_02814D54: ; // 0x2814d54
|
|
/* 02814D54 */ _t117 = cpu->r[1] + 0x00000014u;
|
|
/* 02814D54 */ rbrew_write32(cpu->mem, _t117, cpu->r[24]);
|
|
/* 02814D58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02814D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814D5C */ _t118 = cpu->r[1] + 0x00000010u;
|
|
/* 02814D5C */ rbrew_write16(cpu->mem, _t118, (uint16_t)cpu->r[26]);
|
|
/* 02814D60 */ _t119 = cpu->r[1] + 0x00000012u;
|
|
/* 02814D60 */ rbrew_write16(cpu->mem, _t119, (uint16_t)cpu->r[25]);
|
|
/* 02814D64 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814D64 */ _t121 = _t120 & 0x00000001u;
|
|
/* 02814D64 */ if (_t121) goto L_02814D68; else goto L_02814D78;
|
|
L_02814D68: ; // 0x2814d68
|
|
/* 02814D68 */ cpu->r[3] = 0x00000010u;
|
|
/* 02814D6C */ Gambit_fn_02801A78(cpu);
|
|
/* 02814D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814D74 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814D74 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02814D74 */ if (_t123) goto L_02814D90; else goto L_02814D78;
|
|
L_02814D78: ; // 0x2814d78
|
|
/* 02814D78 */ _t124 = cpu->r[3] + 0x00000004u;
|
|
/* 02814D78 */ rbrew_write32(cpu->mem, _t124, cpu->r[30]);
|
|
/* 02814D7C */ _t125 = cpu->r[3] + 0x00000000u;
|
|
/* 02814D7C */ rbrew_write32(cpu->mem, _t125, cpu->r[28]);
|
|
/* 02814D80 */ _t126 = cpu->r[1] + 0x00000010u;
|
|
/* 02814D80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02814D84 */ _t127 = cpu->r[3] + 0x00000008u;
|
|
/* 02814D84 */ rbrew_write32(cpu->mem, _t127, cpu->r[11]);
|
|
/* 02814D88 */ _t128 = cpu->r[1] + 0x00000014u;
|
|
/* 02814D88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02814D8C */ _t129 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02814D8C */ rbrew_write32(cpu->mem, _t129, cpu->r[12]);
|
|
L_02814D90: ; // 0x2814d90
|
|
/* 02814D90 */ _t130 = cpu->r[31] + 0x00000000u;
|
|
/* 02814D90 */ rbrew_write32(cpu->mem, _t130, cpu->r[27]);
|
|
L_02814D94: ; // 0x2814d94
|
|
/* 02814D94 */ cpu->r[3] = cpu->r[30] + 0x000000C8u;
|
|
/* 02814D98 */ Gambit_fn_0281435C(cpu);
|
|
/* 02814D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02814DA0 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814DA0 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02814DA0 */ if (_t132) goto L_02814DA8; else goto L_02814DA4;
|
|
L_02814DA4: ; // 0x2814da4
|
|
/* 02814DA4 */ _t133 = cpu->r[30] + 0x000000DCu;
|
|
/* 02814DA4 */ rbrew_write32(cpu->mem, _t133, cpu->r[29]);
|
|
L_02814DA8: ; // 0x2814da8
|
|
/* 02814DA8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814DAC */ /* nop */
|
|
/* 02814DB0 */ _t134 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02814DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02814DB4 */ cpu->lr = cpu->r[0];
|
|
/* 02814DB8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02814DBC */ return;
|
|
}
|
|
|
|
// fn_02814DC0 @ 0x2814dc0
|
|
void Gambit_fn_02814DC0(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_02814DC0: ; // 0x2814dc0
|
|
/* 02814DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814DC4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814DC4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02814DC4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02814DC4 */ goto L_02814DC8;
|
|
L_02814DC8: ; // 0x2814dc8
|
|
/* 02814DC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02814DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814DCC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814DCC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02814DCC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02814DCC */ goto L_02814DD0;
|
|
L_02814DD0: ; // 0x2814dd0
|
|
/* 02814DD0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02814DD4 @ 0x2814dd4
|
|
void Gambit_fn_02814DD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02814DD4: ; // 0x2814dd4
|
|
/* 02814DD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02814DD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02814DD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814DD8 */ cpu->r[1] = _t0;
|
|
/* 02814DDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814DDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02814DE0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02814DE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02814DE4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02814DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02814DE8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02814DEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02814DEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814DF0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814DF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02814DF0 */ if (_t5) goto L_02814E30; else goto L_02814DF4;
|
|
L_02814DF4: ; // 0x2814df4
|
|
/* 02814DF4 */ cpu->r[0] = 0x10110000u;
|
|
/* 02814DF8 */ cpu->r[12] = 0x10110000u;
|
|
/* 02814DFC */ cpu->r[0] = cpu->r[0] + 0x00003C4Cu;
|
|
/* 02814E00 */ cpu->r[12] = cpu->r[12] + 0x00003C6Cu;
|
|
/* 02814E04 */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02814E04 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02814E08 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814E0C */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02814E0C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02814E10 */ Gambit_fn_0281436C(cpu);
|
|
/* 02814E14 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02814E18 */ cpu->r[4] = 0x00000000u;
|
|
/* 02814E1C */ Gambit_fn_02821E68(cpu);
|
|
/* 02814E20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02814E20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814E24 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814E24 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02814E24 */ if (_t9) goto L_02814E30; else goto L_02814E28;
|
|
L_02814E28: ; // 0x2814e28
|
|
/* 02814E28 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814E2C */ Gambit_fn_02801BB0(cpu);
|
|
L_02814E30: ; // 0x2814e30
|
|
/* 02814E30 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02814E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02814E34 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02814E34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02814E38 */ cpu->lr = cpu->r[0];
|
|
/* 02814E3C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814E3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814E40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02814E44 */ return;
|
|
}
|
|
|
|
// fn_02814DD8 @ 0x2814dd8
|
|
void Gambit_fn_02814DD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02814DD8: ; // 0x2814dd8
|
|
/* 02814DD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02814DD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814DD8 */ cpu->r[1] = _t0;
|
|
/* 02814DDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814DDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02814DE0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02814DE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02814DE4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02814DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02814DE8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02814DEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02814DEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814DF0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814DF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02814DF0 */ if (_t5) goto L_02814E30; else goto L_02814DF4;
|
|
L_02814DF4: ; // 0x2814df4
|
|
/* 02814DF4 */ cpu->r[0] = 0x10110000u;
|
|
/* 02814DF8 */ cpu->r[12] = 0x10110000u;
|
|
/* 02814DFC */ cpu->r[0] = cpu->r[0] + 0x00003C4Cu;
|
|
/* 02814E00 */ cpu->r[12] = cpu->r[12] + 0x00003C6Cu;
|
|
/* 02814E04 */ _t6 = cpu->r[30] + 0x00000050u;
|
|
/* 02814E04 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02814E08 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814E0C */ _t7 = cpu->r[30] + 0x00000028u;
|
|
/* 02814E0C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02814E10 */ Gambit_fn_0281436C(cpu);
|
|
/* 02814E14 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02814E18 */ cpu->r[4] = 0x00000000u;
|
|
/* 02814E1C */ Gambit_fn_02821E68(cpu);
|
|
/* 02814E20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02814E20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814E24 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814E24 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02814E24 */ if (_t9) goto L_02814E30; else goto L_02814E28;
|
|
L_02814E28: ; // 0x2814e28
|
|
/* 02814E28 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814E2C */ Gambit_fn_02801BB0(cpu);
|
|
L_02814E30: ; // 0x2814e30
|
|
/* 02814E30 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02814E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02814E34 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02814E34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02814E38 */ cpu->lr = cpu->r[0];
|
|
/* 02814E3C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814E3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814E40 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02814E44 */ return;
|
|
}
|
|
|
|
// fn_02814E48 @ 0x2814e48
|
|
void Gambit_fn_02814E48(CPUState* cpu) {
|
|
L_02814E48: ; // 0x2814e48
|
|
/* 02814E48 */ return;
|
|
}
|
|
|
|
// fn_02814E4C @ 0x2814e4c
|
|
void Gambit_fn_02814E4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02814E4C: ; // 0x2814e4c
|
|
/* 02814E4C */ cpu->r[12] = cpu->r[3];
|
|
/* 02814E50 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02814E50 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02814E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02814E58 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814E58 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02814E58 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02814E58 */ goto L_02814E5C;
|
|
L_02814E5C: ; // 0x2814e5c
|
|
/* 02814E5C */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 02814E5C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 02814E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814E64 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814E64 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02814E64 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02814E64 */ goto L_02814E68;
|
|
L_02814E68: ; // 0x2814e68
|
|
/* 02814E68 */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 02814E68 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02814E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814E70 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 02814E74 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02814E74 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02814E74 */ if (_t8) goto L_02814E78; else goto L_02814E84;
|
|
L_02814E78: ; // 0x2814e78
|
|
/* 02814E78 */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02814E78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02814E7C */ cpu->ctr = cpu->r[11];
|
|
/* 02814E80 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02814E84: ; // 0x2814e84
|
|
/* 02814E84 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 02814E84 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 02814E88 */ _t11 = cpu->r[3] + cpu->r[12];
|
|
/* 02814E88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02814E8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02814E90 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 02814E94 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 02814E94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814E98 */ cpu->ctr = cpu->r[11];
|
|
/* 02814E9C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02814EA0 @ 0x2814ea0
|
|
void Gambit_fn_02814EA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02814EA0: ; // 0x2814ea0
|
|
/* 02814EA0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02814EA4 */ _t0 = cpu->r[9] + 0xFFFFD868u;
|
|
/* 02814EA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02814EA4 */ cpu->r[9] = _t0;
|
|
/* 02814EA8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02814EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02814EB0 */ cpu->r[12] = cpu->r[12] + 0xFFFFDD70u;
|
|
/* 02814EB4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814EB4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02814EB4 */ if (_t2) goto L_02814EB8; else goto L_02814ECC;
|
|
L_02814EB8: ; // 0x2814eb8
|
|
/* 02814EB8 */ cpu->r[7] = 0x10110000u;
|
|
/* 02814EBC */ cpu->r[0] = 0x00000001u;
|
|
/* 02814EC0 */ cpu->r[7] = cpu->r[7] + 0x00003C94u;
|
|
/* 02814EC4 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02814EC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02814EC8 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02814EC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02814ECC: ; // 0x2814ecc
|
|
/* 02814ECC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02814ED0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814ED0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02814ED0 */ if (_t6) goto L_02814ED4; else goto L_02814EDC;
|
|
L_02814ED4: ; // 0x2814ed4
|
|
/* 02814ED4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02814ED8 */ return;
|
|
L_02814EDC: ; // 0x2814edc
|
|
/* 02814EDC */ cpu->r[7] = 0x101D0000u;
|
|
/* 02814EE0 */ _t7 = cpu->r[7] + 0xFFFFD4FCu;
|
|
/* 02814EE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02814EE0 */ cpu->r[7] = _t7;
|
|
/* 02814EE4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02814EE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02814EEC */ cpu->r[11] = cpu->r[11] + 0xFFFFDD6Cu;
|
|
/* 02814EF0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814EF0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02814EF0 */ if (_t9) goto L_02814EF4; else goto L_02814F08;
|
|
L_02814EF4: ; // 0x2814ef4
|
|
/* 02814EF4 */ cpu->r[0] = 0x10110000u;
|
|
/* 02814EF8 */ cpu->r[9] = 0x00000001u;
|
|
/* 02814EFC */ cpu->r[0] = cpu->r[0] + 0x00003C3Cu;
|
|
/* 02814F00 */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02814F00 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02814F04 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02814F04 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02814F08: ; // 0x2814f08
|
|
/* 02814F08 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02814F0C */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02814F10 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02814F14 */ return;
|
|
}
|
|
|
|
// fn_02814F18 @ 0x2814f18
|
|
void Gambit_fn_02814F18(CPUState* cpu) {
|
|
L_02814F18: ; // 0x2814f18
|
|
/* 02814F18 */ return;
|
|
}
|
|
|
|
// fn_02814F1C @ 0x2814f1c
|
|
void Gambit_fn_02814F1C(CPUState* cpu) {
|
|
L_02814F1C: ; // 0x2814f1c
|
|
/* 02814F1C */ return;
|
|
}
|
|
|
|
// fn_02814F20 @ 0x2814f20
|
|
void Gambit_fn_02814F20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02814F20: ; // 0x2814f20
|
|
/* 02814F20 */ cpu->r[12] = cpu->r[3];
|
|
/* 02814F24 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02814F24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02814F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02814F2C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814F2C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02814F2C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02814F2C */ goto L_02814F30;
|
|
L_02814F30: ; // 0x2814f30
|
|
/* 02814F30 */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 02814F30 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t3);
|
|
/* 02814F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814F38 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814F38 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02814F38 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02814F38 */ goto L_02814F3C;
|
|
L_02814F3C: ; // 0x2814f3c
|
|
/* 02814F3C */ _t6 = cpu->r[12] + 0x00000008u;
|
|
/* 02814F3C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t6);
|
|
/* 02814F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02814F44 */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 02814F48 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02814F48 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02814F48 */ if (_t8) goto L_02814F4C; else goto L_02814F58;
|
|
L_02814F4C: ; // 0x2814f4c
|
|
/* 02814F4C */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02814F4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02814F50 */ cpu->ctr = cpu->r[11];
|
|
/* 02814F54 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02814F58: ; // 0x2814f58
|
|
/* 02814F58 */ _t10 = cpu->r[12] + 0x0000000Eu;
|
|
/* 02814F58 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t10);
|
|
/* 02814F5C */ _t11 = cpu->r[3] + cpu->r[12];
|
|
/* 02814F5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02814F60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02814F64 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 02814F68 */ _t12 = cpu->r[9] + 0x00000004u;
|
|
/* 02814F68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814F6C */ cpu->ctr = cpu->r[11];
|
|
/* 02814F70 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02814F74 @ 0x2814f74
|
|
void Gambit_fn_02814F74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02814F74: ; // 0x2814f74
|
|
/* 02814F74 */ cpu->r[0] = cpu->lr;
|
|
/* 02814F78 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02814F78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814F78 */ cpu->r[1] = _t0;
|
|
/* 02814F7C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02814F7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02814F80 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02814F80 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02814F84 */ cpu->r[30] = cpu->r[3];
|
|
/* 02814F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02814F88 */ cpu->r[31] = cpu->r[4];
|
|
/* 02814F8C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814F8C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02814F90 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02814F90 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02814F94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814F94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02814F94 */ if (_t6) goto L_02815038; else goto L_02814F98;
|
|
L_02814F98: ; // 0x2814f98
|
|
/* 02814F98 */ cpu->r[10] = 0x10110000u;
|
|
/* 02814F9C */ _t7 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02814F9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02814FA0 */ cpu->r[10] = cpu->r[10] + 0x00003DB8u;
|
|
/* 02814FA4 */ cpu->r[11] = 0x10110000u;
|
|
/* 02814FA8 */ _t8 = cpu->r[30] + 0x00000070u;
|
|
/* 02814FA8 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02814FAC */ cpu->r[11] = cpu->r[11] + 0x00003E68u;
|
|
/* 02814FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814FB4 */ _t9 = cpu->r[30] + 0x00000020u;
|
|
/* 02814FB4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02814FB8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814FB8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02814FB8 */ if (_t11) goto L_02814FE4; else goto L_02814FBC;
|
|
L_02814FBC: ; // 0x2814fbc
|
|
/* 02814FBC */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 02814FBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02814FC4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814FC4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02814FC4 */ if (_t14) goto L_02814FE4; else goto L_02814FC8;
|
|
L_02814FC8: ; // 0x2814fc8
|
|
/* 02814FC8 */ _t15 = cpu->r[8] + 0x00000010u;
|
|
/* 02814FC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02814FCC */ Gambit_fn_028167F4(cpu);
|
|
/* 02814FD0 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02814FD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02814FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02814FD8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814FD8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02814FD8 */ if (_t18) goto L_02814FE4; else goto L_02814FDC;
|
|
L_02814FDC: ; // 0x2814fdc
|
|
/* 02814FDC */ _t19 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02814FDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02814FE0 */ goto L_02814FC8;
|
|
L_02814FE4: ; // 0x2814fe4
|
|
/* 02814FE4 */ cpu->r[12] = 0x00000007u;
|
|
/* 02814FE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814FEC */ _t20 = cpu->r[30] + 0x00000060u;
|
|
/* 02814FEC */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02814FF0 */ Gambit_fn_02802AE8(cpu);
|
|
/* 02814FF4 */ _t21 = cpu->r[30] + 0x00000040u;
|
|
/* 02814FF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02814FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02814FFC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814FFC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02814FFC */ if (_t23) goto L_0281501C; else goto L_02815000;
|
|
L_02815000: ; // 0x2815000
|
|
/* 02815000 */ cpu->r[0] = 0x00000000u;
|
|
/* 02815004 */ cpu->r[3] = cpu->r[30] + 0x00000034u;
|
|
/* 02815008 */ _t24 = cpu->r[30] + 0x00000040u;
|
|
/* 02815008 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0281500C */ Gambit_fn_02801EDC(cpu);
|
|
/* 02815010 */ _t25 = cpu->r[29] + 0x00000008u;
|
|
/* 02815010 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02815014 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02815018 */ _t26 = cpu->r[29] + 0x00000008u;
|
|
/* 02815018 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
L_0281501C: ; // 0x281501c
|
|
/* 0281501C */ cpu->r[3] = cpu->r[30] + 0x00000014u;
|
|
/* 02815020 */ cpu->r[4] = 0x00000000u;
|
|
/* 02815024 */ Gambit_fn_02821E68(cpu);
|
|
/* 02815028 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02815028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281502C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281502C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0281502C */ if (_t28) goto L_02815038; else goto L_02815030;
|
|
L_02815030: ; // 0x2815030
|
|
/* 02815030 */ cpu->r[3] = cpu->r[30];
|
|
/* 02815034 */ Gambit_fn_02801BB0(cpu);
|
|
L_02815038: ; // 0x2815038
|
|
/* 02815038 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815038 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0281503C */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0281503C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02815040 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02815040 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02815044 */ cpu->lr = cpu->r[0];
|
|
/* 02815048 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02815048 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0281504C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02815050 */ return;
|
|
}
|
|
|
|
// fn_02814F78 @ 0x2814f78
|
|
void Gambit_fn_02814F78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02814F78: ; // 0x2814f78
|
|
/* 02814F78 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02814F78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814F78 */ cpu->r[1] = _t0;
|
|
/* 02814F7C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02814F7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02814F80 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02814F80 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02814F84 */ cpu->r[30] = cpu->r[3];
|
|
/* 02814F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02814F88 */ cpu->r[31] = cpu->r[4];
|
|
/* 02814F8C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814F8C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02814F90 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02814F90 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02814F94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814F94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02814F94 */ if (_t6) goto L_02815038; else goto L_02814F98;
|
|
L_02814F98: ; // 0x2814f98
|
|
/* 02814F98 */ cpu->r[10] = 0x10110000u;
|
|
/* 02814F9C */ _t7 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02814F9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02814FA0 */ cpu->r[10] = cpu->r[10] + 0x00003DB8u;
|
|
/* 02814FA4 */ cpu->r[11] = 0x10110000u;
|
|
/* 02814FA8 */ _t8 = cpu->r[30] + 0x00000070u;
|
|
/* 02814FA8 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02814FAC */ cpu->r[11] = cpu->r[11] + 0x00003E68u;
|
|
/* 02814FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814FB4 */ _t9 = cpu->r[30] + 0x00000020u;
|
|
/* 02814FB4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02814FB8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814FB8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02814FB8 */ if (_t11) goto L_02814FE4; else goto L_02814FBC;
|
|
L_02814FBC: ; // 0x2814fbc
|
|
/* 02814FBC */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 02814FBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02814FC4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814FC4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02814FC4 */ if (_t14) goto L_02814FE4; else goto L_02814FC8;
|
|
L_02814FC8: ; // 0x2814fc8
|
|
/* 02814FC8 */ _t15 = cpu->r[8] + 0x00000010u;
|
|
/* 02814FC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02814FCC */ Gambit_fn_028167F4(cpu);
|
|
/* 02814FD0 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02814FD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02814FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02814FD8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814FD8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02814FD8 */ if (_t18) goto L_02814FE4; else goto L_02814FDC;
|
|
L_02814FDC: ; // 0x2814fdc
|
|
/* 02814FDC */ _t19 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02814FDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02814FE0 */ goto L_02814FC8;
|
|
L_02814FE4: ; // 0x2814fe4
|
|
/* 02814FE4 */ cpu->r[12] = 0x00000007u;
|
|
/* 02814FE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814FEC */ _t20 = cpu->r[30] + 0x00000060u;
|
|
/* 02814FEC */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02814FF0 */ Gambit_fn_02802AE8(cpu);
|
|
/* 02814FF4 */ _t21 = cpu->r[30] + 0x00000040u;
|
|
/* 02814FF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02814FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02814FFC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814FFC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02814FFC */ if (_t23) goto L_0281501C; else goto L_02815000;
|
|
L_02815000: ; // 0x2815000
|
|
/* 02815000 */ cpu->r[0] = 0x00000000u;
|
|
/* 02815004 */ cpu->r[3] = cpu->r[30] + 0x00000034u;
|
|
/* 02815008 */ _t24 = cpu->r[30] + 0x00000040u;
|
|
/* 02815008 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0281500C */ Gambit_fn_02801EDC(cpu);
|
|
/* 02815010 */ _t25 = cpu->r[29] + 0x00000008u;
|
|
/* 02815010 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02815014 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02815018 */ _t26 = cpu->r[29] + 0x00000008u;
|
|
/* 02815018 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
L_0281501C: ; // 0x281501c
|
|
/* 0281501C */ cpu->r[3] = cpu->r[30] + 0x00000014u;
|
|
/* 02815020 */ cpu->r[4] = 0x00000000u;
|
|
/* 02815024 */ Gambit_fn_02821E68(cpu);
|
|
/* 02815028 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02815028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281502C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281502C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0281502C */ if (_t28) goto L_02815038; else goto L_02815030;
|
|
L_02815030: ; // 0x2815030
|
|
/* 02815030 */ cpu->r[3] = cpu->r[30];
|
|
/* 02815034 */ Gambit_fn_02801BB0(cpu);
|
|
L_02815038: ; // 0x2815038
|
|
/* 02815038 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815038 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0281503C */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0281503C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02815040 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02815040 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02815044 */ cpu->lr = cpu->r[0];
|
|
/* 02815048 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02815048 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0281504C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02815050 */ return;
|
|
}
|
|
|
|
// fn_02815054 @ 0x2815054
|
|
void Gambit_fn_02815054(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02814F74: ; // 0x2814f74
|
|
/* 02814F74 */ cpu->r[0] = cpu->lr;
|
|
/* 02814F78 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02814F78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02814F78 */ cpu->r[1] = _t0;
|
|
/* 02814F7C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02814F7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02814F80 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02814F80 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02814F84 */ cpu->r[30] = cpu->r[3];
|
|
/* 02814F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02814F88 */ cpu->r[31] = cpu->r[4];
|
|
/* 02814F8C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02814F8C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02814F90 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02814F90 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02814F94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814F94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02814F94 */ if (_t6) goto L_02815038; else goto L_02814F98;
|
|
L_02814F98: ; // 0x2814f98
|
|
/* 02814F98 */ cpu->r[10] = 0x10110000u;
|
|
/* 02814F9C */ _t7 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02814F9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02814FA0 */ cpu->r[10] = cpu->r[10] + 0x00003DB8u;
|
|
/* 02814FA4 */ cpu->r[11] = 0x10110000u;
|
|
/* 02814FA8 */ _t8 = cpu->r[30] + 0x00000070u;
|
|
/* 02814FA8 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02814FAC */ cpu->r[11] = cpu->r[11] + 0x00003E68u;
|
|
/* 02814FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02814FB4 */ _t9 = cpu->r[30] + 0x00000020u;
|
|
/* 02814FB4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02814FB8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814FB8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02814FB8 */ if (_t11) goto L_02814FE4; else goto L_02814FBC;
|
|
L_02814FBC: ; // 0x2814fbc
|
|
/* 02814FBC */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 02814FBC */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02814FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02814FC4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814FC4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02814FC4 */ if (_t14) goto L_02814FE4; else goto L_02814FC8;
|
|
L_02814FC8: ; // 0x2814fc8
|
|
/* 02814FC8 */ _t15 = cpu->r[8] + 0x00000010u;
|
|
/* 02814FC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02814FCC */ Gambit_fn_028167F4(cpu);
|
|
/* 02814FD0 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02814FD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02814FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02814FD8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814FD8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02814FD8 */ if (_t18) goto L_02814FE4; else goto L_02814FDC;
|
|
L_02814FDC: ; // 0x2814fdc
|
|
/* 02814FDC */ _t19 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02814FDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02814FE0 */ goto L_02814FC8;
|
|
L_02814FE4: ; // 0x2814fe4
|
|
/* 02814FE4 */ cpu->r[12] = 0x00000007u;
|
|
/* 02814FE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02814FEC */ _t20 = cpu->r[30] + 0x00000060u;
|
|
/* 02814FEC */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02814FF0 */ Gambit_fn_02802AE8(cpu);
|
|
/* 02814FF4 */ _t21 = cpu->r[30] + 0x00000040u;
|
|
/* 02814FF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02814FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02814FFC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02814FFC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02814FFC */ if (_t23) goto L_0281501C; else goto L_02815000;
|
|
L_02815000: ; // 0x2815000
|
|
/* 02815000 */ cpu->r[0] = 0x00000000u;
|
|
/* 02815004 */ cpu->r[3] = cpu->r[30] + 0x00000034u;
|
|
/* 02815008 */ _t24 = cpu->r[30] + 0x00000040u;
|
|
/* 02815008 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0281500C */ Gambit_fn_02801EDC(cpu);
|
|
/* 02815010 */ _t25 = cpu->r[29] + 0x00000008u;
|
|
/* 02815010 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02815014 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02815018 */ _t26 = cpu->r[29] + 0x00000008u;
|
|
/* 02815018 */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
L_0281501C: ; // 0x281501c
|
|
/* 0281501C */ cpu->r[3] = cpu->r[30] + 0x00000014u;
|
|
/* 02815020 */ cpu->r[4] = 0x00000000u;
|
|
/* 02815024 */ Gambit_fn_02821E68(cpu);
|
|
/* 02815028 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02815028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0281502C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281502C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0281502C */ if (_t28) goto L_02815038; else goto L_02815030;
|
|
L_02815030: ; // 0x2815030
|
|
/* 02815030 */ cpu->r[3] = cpu->r[30];
|
|
/* 02815034 */ Gambit_fn_02801BB0(cpu);
|
|
L_02815038: ; // 0x2815038
|
|
/* 02815038 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815038 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0281503C */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0281503C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02815040 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02815040 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02815044 */ cpu->lr = cpu->r[0];
|
|
/* 02815048 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02815048 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0281504C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02815050 */ return;
|
|
L_02815054: ; // 0x2815054
|
|
/* 02815054 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFECu;
|
|
/* 02815058 */ goto L_02814F74;
|
|
}
|
|
|
|
// fn_0281505C @ 0x281505c
|
|
void Gambit_fn_0281505C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0281505C: ; // 0x281505c
|
|
/* 0281505C */ cpu->r[0] = cpu->lr;
|
|
/* 02815060 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02815060 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02815060 */ cpu->r[1] = _t0;
|
|
/* 02815064 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815064 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02815068 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02815068 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0281506C */ _t3 = cpu->r[3] + 0x00000070u;
|
|
/* 0281506C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02815070 */ _t4 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02815070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02815074 */ cpu->ctr = cpu->r[0];
|
|
/* 02815078 */ cpu->r[31] = cpu->r[3];
|
|
/* 0281507C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02815080 */ _t5 = cpu->r[31] + 0x00000070u;
|
|
/* 02815080 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02815084 */ _t6 = cpu->r[12] + 0x00000084u;
|
|
/* 02815084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02815088 */ cpu->ctr = cpu->r[0];
|
|
/* 0281508C */ cpu->r[3] = cpu->r[31];
|
|
/* 02815090 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02815094 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02815094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02815098 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0281509C */ cpu->lr = cpu->r[0];
|
|
/* 028150A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028150A4 */ return;
|
|
}
|
|
|
|
// fn_02815060 @ 0x2815060
|
|
void Gambit_fn_02815060(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02815060: ; // 0x2815060
|
|
/* 02815060 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02815060 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02815060 */ cpu->r[1] = _t0;
|
|
/* 02815064 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815064 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02815068 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02815068 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0281506C */ _t3 = cpu->r[3] + 0x00000070u;
|
|
/* 0281506C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02815070 */ _t4 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02815070 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02815074 */ cpu->ctr = cpu->r[0];
|
|
/* 02815078 */ cpu->r[31] = cpu->r[3];
|
|
/* 0281507C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02815080 */ _t5 = cpu->r[31] + 0x00000070u;
|
|
/* 02815080 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02815084 */ _t6 = cpu->r[12] + 0x00000084u;
|
|
/* 02815084 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02815088 */ cpu->ctr = cpu->r[0];
|
|
/* 0281508C */ cpu->r[3] = cpu->r[31];
|
|
/* 02815090 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02815094 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02815094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02815098 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0281509C */ cpu->lr = cpu->r[0];
|
|
/* 028150A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028150A4 */ return;
|
|
}
|
|
|
|
// fn_028150A8 @ 0x28150a8
|
|
void Gambit_fn_028150A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028150A8: ; // 0x28150a8
|
|
/* 028150A8 */ cpu->r[0] = cpu->lr;
|
|
/* 028150AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028150AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028150AC */ cpu->r[1] = _t0;
|
|
/* 028150B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028150B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028150B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028150B8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028150B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028150BC */ Gambit_fn_0281505C(cpu);
|
|
/* 028150C0 */ _t3 = cpu->r[31] + 0x00000070u;
|
|
/* 028150C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028150C4 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 028150C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028150C8 */ cpu->ctr = cpu->r[0];
|
|
/* 028150CC */ cpu->r[4] = 0x00000000u;
|
|
/* 028150D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028150D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028150D8 */ _t5 = cpu->r[31] + 0x00000070u;
|
|
/* 028150D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028150DC */ _t6 = cpu->r[12] + 0x00000024u;
|
|
/* 028150DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028150E0 */ cpu->ctr = cpu->r[0];
|
|
/* 028150E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 028150E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028150EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028150F0 */ _t7 = cpu->r[31] + 0x00000070u;
|
|
/* 028150F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028150F4 */ _t8 = cpu->r[12] + 0x00000064u;
|
|
/* 028150F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028150F8 */ cpu->ctr = cpu->r[0];
|
|
/* 028150FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02815100 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02815104 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02815104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02815108 */ cpu->lr = cpu->r[0];
|
|
/* 0281510C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281510C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02815110 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02815114 */ return;
|
|
}
|
|
|
|
// fn_028150AC @ 0x28150ac
|
|
void Gambit_fn_028150AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028150AC: ; // 0x28150ac
|
|
/* 028150AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028150AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028150AC */ cpu->r[1] = _t0;
|
|
/* 028150B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028150B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028150B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028150B8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028150B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028150BC */ Gambit_fn_0281505C(cpu);
|
|
/* 028150C0 */ _t3 = cpu->r[31] + 0x00000070u;
|
|
/* 028150C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028150C4 */ _t4 = cpu->r[12] + 0x0000001Cu;
|
|
/* 028150C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028150C8 */ cpu->ctr = cpu->r[0];
|
|
/* 028150CC */ cpu->r[4] = 0x00000000u;
|
|
/* 028150D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028150D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028150D8 */ _t5 = cpu->r[31] + 0x00000070u;
|
|
/* 028150D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028150DC */ _t6 = cpu->r[12] + 0x00000024u;
|
|
/* 028150DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028150E0 */ cpu->ctr = cpu->r[0];
|
|
/* 028150E4 */ cpu->r[4] = 0x00000000u;
|
|
/* 028150E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028150EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028150F0 */ _t7 = cpu->r[31] + 0x00000070u;
|
|
/* 028150F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028150F4 */ _t8 = cpu->r[12] + 0x00000064u;
|
|
/* 028150F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028150F8 */ cpu->ctr = cpu->r[0];
|
|
/* 028150FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02815100 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02815104 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02815104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02815108 */ cpu->lr = cpu->r[0];
|
|
/* 0281510C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0281510C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02815110 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02815114 */ return;
|
|
}
|
|
|
|
// fn_02815118 @ 0x2815118
|
|
void Gambit_fn_02815118(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02815118: ; // 0x2815118
|
|
/* 02815118 */ _t0 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02815118 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0281511C */ _t1 = cpu->r[12] + 0x00000040u;
|
|
/* 0281511C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02815120 */ _t2 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02815120 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02815124 */ return;
|
|
}
|
|
|
|
// fn_02815128 @ 0x2815128
|
|
void Gambit_fn_02815128(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02815128: ; // 0x2815128
|
|
/* 02815128 */ cpu->r[0] = cpu->lr;
|
|
/* 0281512C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0281512C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02815130 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02815130 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02815130 */ cpu->r[1] = _t1;
|
|
/* 02815134 */ Gambit_fn_02815118(cpu);
|
|
/* 02815138 */ _t2 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02815138 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0281513C */ _t3 = cpu->r[12] + 0x00000024u;
|
|
/* 0281513C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02815140 */ cpu->ctr = cpu->r[0];
|
|
/* 02815144 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02815148 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0281514C */ cpu->lr = cpu->r[0];
|
|
/* 02815150 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02815154 */ return;
|
|
}
|
|
|
|
// fn_02815130 @ 0x2815130
|
|
void Gambit_fn_02815130(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02815130: ; // 0x2815130
|
|
/* 02815130 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02815130 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02815130 */ cpu->r[1] = _t0;
|
|
/* 02815134 */ Gambit_fn_02815118(cpu);
|
|
/* 02815138 */ _t1 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02815138 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0281513C */ _t2 = cpu->r[12] + 0x00000024u;
|
|
/* 0281513C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02815140 */ cpu->ctr = cpu->r[0];
|
|
/* 02815144 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02815148 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815148 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0281514C */ cpu->lr = cpu->r[0];
|
|
/* 02815150 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02815154 */ return;
|
|
}
|
|
|
|
// fn_02815158 @ 0x2815158
|
|
void Gambit_fn_02815158(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02815158: ; // 0x2815158
|
|
/* 02815158 */ cpu->r[0] = cpu->lr;
|
|
/* 0281515C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0281515C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281515C */ cpu->r[1] = _t0;
|
|
/* 02815160 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02815160 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02815164 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815164 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02815168 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0281516C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281516C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02815170 */ _t4 = cpu->r[12] + 0x00005D1Cu;
|
|
/* 02815170 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02815174 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02815178 */ cpu->r[0] = cpu->r[5];
|
|
/* 0281517C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0281517C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0281517C */ if (_t6) goto L_02815180; else goto L_02815198;
|
|
L_02815180: ; // 0x2815180
|
|
/* 02815180 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02815184 */ cpu->r[8] = cpu->r[3] + cpu->r[12];
|
|
/* 02815188 */ _t7 = cpu->r[8] + 0x00000044u;
|
|
/* 02815188 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0281518C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02815190 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815190 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02815190 */ if (_t9) goto L_0281524C; else goto L_02815194;
|
|
L_02815194: ; // 0x2815194
|
|
/* 02815194 */ goto L_028151A4;
|
|
L_02815198: ; // 0x2815198
|
|
/* 02815198 */ _t10 = cpu->r[3] + 0x00000044u;
|
|
/* 02815198 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0281519C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028151A0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028151A0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028151A0 */ if (_t12) goto L_0281524C; else goto L_028151A4;
|
|
L_028151A4: ; // 0x28151a4
|
|
/* 028151A4 */ cpu->r[11] = cpu->r[3] + 0x00000054u;
|
|
/* 028151A8 */ _t13 = cpu->r[11] + cpu->r[4];
|
|
/* 028151A8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t13);
|
|
/* 028151AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 028151B0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028151B0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 028151B0 */ if (_t15) goto L_028151B4; else goto L_0281524C;
|
|
L_028151B4: ; // 0x28151b4
|
|
/* 028151B4 */ cpu->r[10] = 0x00000001u;
|
|
/* 028151B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028151BC */ _t16 = cpu->r[11] + cpu->r[4];
|
|
/* 028151BC */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[10]);
|
|
/* 028151C0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028151C0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028151C0 */ if (_t18) goto L_02815204; else goto L_028151C4;
|
|
L_028151C4: ; // 0x28151c4
|
|
/* 028151C4 */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028151C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028151C8 */ _t20 = cpu->r[11] + 0x00000034u;
|
|
/* 028151C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028151CC */ cpu->ctr = cpu->r[11];
|
|
/* 028151D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028151D4 */ cpu->r[4] = cpu->r[0];
|
|
/* 028151D8 */ cpu->r[5] = 0x00000004u;
|
|
/* 028151DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028151E0 */ _t21 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028151E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028151E4 */ _t22 = cpu->r[12] + 0x0000002Cu;
|
|
/* 028151E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028151E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028151EC */ cpu->ctr = cpu->r[8];
|
|
/* 028151F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028151F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028151F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028151FC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028151FC */ _t24 = _t23 & 0x00000001u;
|
|
/* 028151FC */ if (_t24) goto L_0281524C; else goto L_02815200;
|
|
L_02815200: ; // 0x2815200
|
|
/* 02815200 */ goto L_02815234;
|
|
L_02815204: ; // 0x2815204
|
|
/* 02815204 */ _t25 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02815204 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02815208 */ _t26 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02815208 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0281520C */ cpu->ctr = cpu->r[8];
|
|
/* 02815210 */ cpu->r[30] = 0x00000000u;
|
|
/* 02815214 */ cpu->r[3] = cpu->r[31];
|
|
/* 02815218 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281521C */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0281521C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02815220 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02815220 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02815224 */ cpu->lr = cpu->r[0];
|
|
/* 02815228 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815228 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0281522C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02815230 */ return;
|
|
L_02815234: ; // 0x2815234
|
|
/* 02815234 */ _t30 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02815234 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02815238 */ _t31 = cpu->r[9] + 0x0000003Cu;
|
|
/* 02815238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0281523C */ cpu->ctr = cpu->r[0];
|
|
/* 02815240 */ cpu->r[3] = cpu->r[31];
|
|
/* 02815244 */ cpu->r[4] = cpu->r[30];
|
|
/* 02815248 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0281524C: ; // 0x281524c
|
|
/* 0281524C */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0281524C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02815250 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02815250 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02815254 */ cpu->lr = cpu->r[0];
|
|
/* 02815258 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815258 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0281525C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02815260 */ return;
|
|
}
|
|
|
|
// fn_0281515C @ 0x281515c
|
|
void Gambit_fn_0281515C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_0281515C: ; // 0x281515c
|
|
/* 0281515C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0281515C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281515C */ cpu->r[1] = _t0;
|
|
/* 02815160 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02815160 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02815164 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815164 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02815168 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0281516C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281516C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02815170 */ _t4 = cpu->r[12] + 0x00005D1Cu;
|
|
/* 02815170 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02815174 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02815178 */ cpu->r[0] = cpu->r[5];
|
|
/* 0281517C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0281517C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0281517C */ if (_t6) goto L_02815180; else goto L_02815198;
|
|
L_02815180: ; // 0x2815180
|
|
/* 02815180 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02815184 */ cpu->r[8] = cpu->r[3] + cpu->r[12];
|
|
/* 02815188 */ _t7 = cpu->r[8] + 0x00000044u;
|
|
/* 02815188 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0281518C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02815190 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815190 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02815190 */ if (_t9) goto L_0281524C; else goto L_02815194;
|
|
L_02815194: ; // 0x2815194
|
|
/* 02815194 */ goto L_028151A4;
|
|
L_02815198: ; // 0x2815198
|
|
/* 02815198 */ _t10 = cpu->r[3] + 0x00000044u;
|
|
/* 02815198 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0281519C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028151A0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028151A0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028151A0 */ if (_t12) goto L_0281524C; else goto L_028151A4;
|
|
L_028151A4: ; // 0x28151a4
|
|
/* 028151A4 */ cpu->r[11] = cpu->r[3] + 0x00000054u;
|
|
/* 028151A8 */ _t13 = cpu->r[11] + cpu->r[4];
|
|
/* 028151A8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t13);
|
|
/* 028151AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 028151B0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028151B0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 028151B0 */ if (_t15) goto L_028151B4; else goto L_0281524C;
|
|
L_028151B4: ; // 0x28151b4
|
|
/* 028151B4 */ cpu->r[10] = 0x00000001u;
|
|
/* 028151B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028151BC */ _t16 = cpu->r[11] + cpu->r[4];
|
|
/* 028151BC */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[10]);
|
|
/* 028151C0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028151C0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028151C0 */ if (_t18) goto L_02815204; else goto L_028151C4;
|
|
L_028151C4: ; // 0x28151c4
|
|
/* 028151C4 */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028151C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028151C8 */ _t20 = cpu->r[11] + 0x00000034u;
|
|
/* 028151C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028151CC */ cpu->ctr = cpu->r[11];
|
|
/* 028151D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028151D4 */ cpu->r[4] = cpu->r[0];
|
|
/* 028151D8 */ cpu->r[5] = 0x00000004u;
|
|
/* 028151DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028151E0 */ _t21 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028151E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028151E4 */ _t22 = cpu->r[12] + 0x0000002Cu;
|
|
/* 028151E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028151E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028151EC */ cpu->ctr = cpu->r[8];
|
|
/* 028151F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028151F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028151F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028151FC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028151FC */ _t24 = _t23 & 0x00000001u;
|
|
/* 028151FC */ if (_t24) goto L_0281524C; else goto L_02815200;
|
|
L_02815200: ; // 0x2815200
|
|
/* 02815200 */ goto L_02815234;
|
|
L_02815204: ; // 0x2815204
|
|
/* 02815204 */ _t25 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02815204 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02815208 */ _t26 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02815208 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0281520C */ cpu->ctr = cpu->r[8];
|
|
/* 02815210 */ cpu->r[30] = 0x00000000u;
|
|
/* 02815214 */ cpu->r[3] = cpu->r[31];
|
|
/* 02815218 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0281521C */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0281521C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02815220 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02815220 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02815224 */ cpu->lr = cpu->r[0];
|
|
/* 02815228 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815228 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0281522C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02815230 */ return;
|
|
L_02815234: ; // 0x2815234
|
|
/* 02815234 */ _t30 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02815234 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02815238 */ _t31 = cpu->r[9] + 0x0000003Cu;
|
|
/* 02815238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0281523C */ cpu->ctr = cpu->r[0];
|
|
/* 02815240 */ cpu->r[3] = cpu->r[31];
|
|
/* 02815244 */ cpu->r[4] = cpu->r[30];
|
|
/* 02815248 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0281524C: ; // 0x281524c
|
|
/* 0281524C */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0281524C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02815250 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02815250 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02815254 */ cpu->lr = cpu->r[0];
|
|
/* 02815258 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815258 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0281525C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02815260 */ return;
|
|
}
|
|
|
|
// fn_02815264 @ 0x2815264
|
|
void Gambit_fn_02815264(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02815264: ; // 0x2815264
|
|
/* 02815264 */ cpu->r[0] = cpu->lr;
|
|
/* 02815268 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02815268 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02815268 */ cpu->r[1] = _t0;
|
|
/* 0281526C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0281526C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02815270 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02815270 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02815274 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815274 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02815278 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02815278 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0281527C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0281527C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02815280 */ cpu->r[29] = cpu->r[3];
|
|
/* 02815284 */ _t6 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02815284 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02815288 */ cpu->r[28] = cpu->r[12] + 0x00000004u;
|
|
/* 0281528C */ cpu->r[3] = cpu->r[28];
|
|
/* 02815290 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02815294 */ cpu->r[31] = 0x101F0000u;
|
|
/* 02815298 */ _t7 = cpu->r[31] + 0x00005D1Cu;
|
|
/* 02815298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02815298 */ cpu->r[31] = _t7;
|
|
/* 0281529C */ cpu->r[30] = 0x00000000u;
|
|
/* 028152A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 028152A4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028152A4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028152A4 */ if (_t9) goto L_028152A8; else goto L_028152C8;
|
|
L_028152A8: ; // 0x28152a8
|
|
/* 028152A8 */ cpu->r[5] = 0x00000000u;
|
|
/* 028152AC */ cpu->r[4] = cpu->r[30];
|
|
/* 028152B0 */ cpu->r[3] = cpu->r[29];
|
|
/* 028152B4 */ Gambit_fn_02815158(cpu);
|
|
/* 028152B8 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 028152B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028152BC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028152C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 028152C4 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028152C4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028152C4 */ if (_t12) goto L_028152A8; else goto L_028152C8;
|
|
L_028152C8: ; // 0x28152c8
|
|
/* 028152C8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028152CC */ Gambit_fn_02837030(cpu);
|
|
/* 028152D0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 028152D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028152D4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028152D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028152D8 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028152D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028152DC */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 028152DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028152E0 */ cpu->lr = cpu->r[0];
|
|
/* 028152E4 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 028152E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028152E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028152EC */ return;
|
|
}
|
|
|
|
// fn_02815268 @ 0x2815268
|
|
void Gambit_fn_02815268(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02815268: ; // 0x2815268
|
|
/* 02815268 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02815268 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02815268 */ cpu->r[1] = _t0;
|
|
/* 0281526C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0281526C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02815270 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02815270 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02815274 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815274 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02815278 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02815278 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0281527C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0281527C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02815280 */ cpu->r[29] = cpu->r[3];
|
|
/* 02815284 */ _t6 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02815284 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02815288 */ cpu->r[28] = cpu->r[12] + 0x00000004u;
|
|
/* 0281528C */ cpu->r[3] = cpu->r[28];
|
|
/* 02815290 */ Gambit_fn_02836FFC(cpu);
|
|
/* 02815294 */ cpu->r[31] = 0x101F0000u;
|
|
/* 02815298 */ _t7 = cpu->r[31] + 0x00005D1Cu;
|
|
/* 02815298 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02815298 */ cpu->r[31] = _t7;
|
|
/* 0281529C */ cpu->r[30] = 0x00000000u;
|
|
/* 028152A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 028152A4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028152A4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028152A4 */ if (_t9) goto L_028152A8; else goto L_028152C8;
|
|
L_028152A8: ; // 0x28152a8
|
|
/* 028152A8 */ cpu->r[5] = 0x00000000u;
|
|
/* 028152AC */ cpu->r[4] = cpu->r[30];
|
|
/* 028152B0 */ cpu->r[3] = cpu->r[29];
|
|
/* 028152B4 */ Gambit_fn_02815158(cpu);
|
|
/* 028152B8 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 028152B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028152BC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028152C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 028152C4 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028152C4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028152C4 */ if (_t12) goto L_028152A8; else goto L_028152C8;
|
|
L_028152C8: ; // 0x28152c8
|
|
/* 028152C8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028152CC */ Gambit_fn_02837030(cpu);
|
|
/* 028152D0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 028152D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028152D4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028152D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028152D8 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028152D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028152DC */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 028152DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028152E0 */ cpu->lr = cpu->r[0];
|
|
/* 028152E4 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 028152E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028152E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028152EC */ return;
|
|
}
|
|
|
|
// fn_028152F0 @ 0x28152f0
|
|
void Gambit_fn_028152F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_028152F0: ; // 0x28152f0
|
|
/* 028152F0 */ _t0 = cpu->r[3] + 0x0000005Cu;
|
|
/* 028152F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028152F4 */ _t1 = cpu->r[12] + 0x00000040u;
|
|
/* 028152F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028152F8 */ return;
|
|
}
|
|
|
|
// fn_028152FC @ 0x28152fc
|
|
void Gambit_fn_028152FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_028152FC: ; // 0x28152fc
|
|
/* 028152FC */ cpu->r[0] = cpu->lr;
|
|
/* 02815300 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02815300 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02815300 */ cpu->r[1] = _t0;
|
|
/* 02815304 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02815304 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02815308 */ cpu->r[31] = cpu->r[3];
|
|
/* 02815308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0281530C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0281530C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02815310 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02815310 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02815314 */ cpu->r[30] = cpu->r[5];
|
|
/* 02815318 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815318 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0281531C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0281531C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02815320 */ cpu->r[29] = cpu->r[4];
|
|
/* 02815324 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815324 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02815324 */ if (_t7) goto L_02815328; else goto L_02815338;
|
|
L_02815328: ; // 0x2815328
|
|
/* 02815328 */ cpu->r[3] = 0x00000074u;
|
|
/* 0281532C */ Gambit_fn_02801A78(cpu);
|
|
/* 02815330 */ cpu->r[31] = cpu->r[3];
|
|
/* 02815330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02815334 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815334 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02815334 */ if (_t9) goto L_02815454; else goto L_02815338;
|
|
L_02815338: ; // 0x2815338
|
|
/* 02815338 */ cpu->r[28] = cpu->r[31];
|
|
/* 02815338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0281533C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281533C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0281533C */ if (_t11) goto L_02815340; else goto L_02815350;
|
|
L_02815340: ; // 0x2815340
|
|
/* 02815340 */ cpu->r[3] = 0x00000014u;
|
|
/* 02815344 */ Gambit_fn_02801A78(cpu);
|
|
/* 02815348 */ cpu->r[28] = cpu->r[3];
|
|
/* 02815348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0281534C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281534C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0281534C */ if (_t13) goto L_0281535C; else goto L_02815350;
|
|
L_02815350: ; // 0x2815350
|
|
/* 02815350 */ cpu->r[3] = cpu->r[28];
|
|
/* 02815354 */ Gambit_fn_028029E4(cpu);
|
|
/* 02815358 */ _t14 = cpu->r[28] + 0x00000010u;
|
|
/* 02815358 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
L_0281535C: ; // 0x281535c
|
|
/* 0281535C */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 02815360 */ Gambit_fn_02821D00(cpu);
|
|
/* 02815364 */ cpu->r[3] = cpu->r[31] + 0x00000024u;
|
|
/* 02815364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02815368 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815368 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02815368 */ if (_t16) goto L_0281536C; else goto L_0281537C;
|
|
L_0281536C: ; // 0x281536c
|
|
/* 0281536C */ cpu->r[3] = 0x00000008u;
|
|
/* 02815370 */ Gambit_fn_02801A78(cpu);
|
|
/* 02815374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02815378 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815378 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02815378 */ if (_t18) goto L_02815394; else goto L_0281537C;
|
|
L_0281537C: ; // 0x281537c
|
|
/* 0281537C */ cpu->r[0] = 0x10110000u;
|
|
/* 02815380 */ cpu->r[5] = 0x10110000u;
|
|
/* 02815384 */ cpu->r[0] = cpu->r[0] + 0x00003D8Cu;
|
|
/* 02815388 */ cpu->r[5] = cpu->r[5] + 0x00003DB4u;
|
|
/* 0281538C */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 0281538C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02815390 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 02815390 */ rbrew_write32(cpu->mem, _t20, cpu->r[5]);
|
|
L_02815394: ; // 0x2815394
|
|
/* 02815394 */ cpu->r[6] = 0x10110000u;
|
|
/* 02815398 */ cpu->r[7] = 0x10110000u;
|
|
/* 0281539C */ cpu->r[6] = cpu->r[6] + 0x00003DB8u;
|
|
/* 028153A0 */ cpu->r[7] = cpu->r[7] + 0x00003E68u;
|
|
/* 028153A4 */ _t21 = cpu->r[31] + 0x00000070u;
|
|
/* 028153A4 */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 028153A8 */ _t22 = cpu->r[31] + 0x00000020u;
|
|
/* 028153A8 */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
|
|
/* 028153AC */ _t23 = cpu->r[29] + 0x00000008u;
|
|
/* 028153AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028153B0 */ cpu->r[28] = 0x00000000u;
|
|
/* 028153B4 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 028153B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028153B8 */ _t24 = cpu->r[31] + 0x0000002Cu;
|
|
/* 028153B8 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 028153BC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028153BC */ _t26 = _t25 & 0x00000001u;
|
|
/* 028153BC */ if (_t26) goto L_028153C0; else goto L_028153D0;
|
|
L_028153C0: ; // 0x28153c0
|
|
/* 028153C0 */ cpu->r[3] = 0x00000004u;
|
|
/* 028153C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028153C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028153CC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028153CC */ _t28 = _t27 & 0x00000001u;
|
|
/* 028153CC */ if (_t28) goto L_028153D4; else goto L_028153D0;
|
|
L_028153D0: ; // 0x28153d0
|
|
/* 028153D0 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 028153D0 */ rbrew_write32(cpu->mem, _t29, cpu->r[28]);
|
|
L_028153D4: ; // 0x28153d4
|
|
/* 028153D4 */ cpu->r[3] = cpu->r[31] + 0x00000034u;
|
|
/* 028153D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028153D8 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028153D8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 028153D8 */ if (_t31) goto L_028153DC; else goto L_028153EC;
|
|
L_028153DC: ; // 0x28153dc
|
|
/* 028153DC */ cpu->r[3] = 0x00000010u;
|
|
/* 028153E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028153E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028153E8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028153E8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 028153E8 */ if (_t33) goto L_028153FC; else goto L_028153EC;
|
|
L_028153EC: ; // 0x28153ec
|
|
/* 028153EC */ _t34 = cpu->r[3] + 0x00000004u;
|
|
/* 028153EC */ rbrew_write32(cpu->mem, _t34, cpu->r[28]);
|
|
/* 028153F0 */ _t35 = cpu->r[3] + 0x00000008u;
|
|
/* 028153F0 */ rbrew_write32(cpu->mem, _t35, cpu->r[31]);
|
|
/* 028153F4 */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 028153F4 */ rbrew_write32(cpu->mem, _t36, cpu->r[28]);
|
|
/* 028153F8 */ _t37 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028153F8 */ rbrew_write32(cpu->mem, _t37, cpu->r[28]);
|
|
L_028153FC: ; // 0x28153fc
|
|
/* 028153FC */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 028153FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02815400 */ _t39 = cpu->r[9] + 0x00000000u;
|
|
/* 02815400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02815404 */ _t40 = cpu->r[31] + 0x00000044u;
|
|
/* 02815404 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02815408 */ _t41 = cpu->r[9] + 0x00000004u;
|
|
/* 02815408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0281540C */ _t42 = cpu->r[31] + 0x00000048u;
|
|
/* 0281540C */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02815410 */ _t43 = cpu->r[9] + 0x00000008u;
|
|
/* 02815410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02815414 */ _t44 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02815414 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02815418 */ _t45 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02815418 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0281541C */ _t46 = cpu->r[31] + 0x00000050u;
|
|
/* 0281541C */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
|
|
/* 02815420 */ _t47 = cpu->r[9] + 0x00000010u;
|
|
/* 02815420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02815424 */ _t48 = cpu->r[31] + 0x00000054u;
|
|
/* 02815424 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02815428 */ _t49 = cpu->r[9] + 0x00000014u;
|
|
/* 02815428 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0281542C */ _t50 = cpu->r[31] + 0x00000058u;
|
|
/* 0281542C */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 02815430 */ _t51 = cpu->r[29] + 0x00000004u;
|
|
/* 02815430 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02815434 */ _t52 = cpu->r[31] + 0x00000030u;
|
|
/* 02815434 */ rbrew_write32(cpu->mem, _t52, cpu->r[28]);
|
|
/* 02815438 */ _t53 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02815438 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
/* 0281543C */ _t54 = cpu->r[31] + 0x00000060u;
|
|
/* 0281543C */ rbrew_write32(cpu->mem, _t54, cpu->r[28]);
|
|
/* 02815440 */ cpu->r[0] = 0x00000001u;
|
|
/* 02815444 */ _t55 = cpu->r[31] + 0x00000068u;
|
|
/* 02815444 */ rbrew_write32(cpu->mem, _t55, cpu->r[28]);
|
|
/* 02815448 */ _t56 = cpu->r[31] + 0x00000064u;
|
|
/* 02815448 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 0281544C */ _t57 = cpu->r[31] + 0x00000024u;
|
|
/* 0281544C */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
|
|
/* 02815450 */ _t58 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02815450 */ rbrew_write32(cpu->mem, _t58, cpu->r[28]);
|
|
L_02815454: ; // 0x2815454
|
|
/* 02815454 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 02815454 */ cpu->r[28] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02815458 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815458 */ cpu->r[29] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0281545C */ _t61 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0281545C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02815460 */ cpu->r[3] = cpu->r[31];
|
|
/* 02815464 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 02815464 */ cpu->r[30] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02815468 */ cpu->lr = cpu->r[0];
|
|
/* 0281546C */ _t63 = cpu->r[1] + 0x00000014u;
|
|
/* 0281546C */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02815470 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02815474 */ return;
|
|
}
|
|
|
|
// fn_02815300 @ 0x2815300
|
|
void Gambit_fn_02815300(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _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_02815300: ; // 0x2815300
|
|
/* 02815300 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02815300 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02815300 */ cpu->r[1] = _t0;
|
|
/* 02815304 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02815304 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02815308 */ cpu->r[31] = cpu->r[3];
|
|
/* 02815308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0281530C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0281530C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02815310 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02815310 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02815314 */ cpu->r[30] = cpu->r[5];
|
|
/* 02815318 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815318 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0281531C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0281531C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02815320 */ cpu->r[29] = cpu->r[4];
|
|
/* 02815324 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815324 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02815324 */ if (_t7) goto L_02815328; else goto L_02815338;
|
|
L_02815328: ; // 0x2815328
|
|
/* 02815328 */ cpu->r[3] = 0x00000074u;
|
|
/* 0281532C */ Gambit_fn_02801A78(cpu);
|
|
/* 02815330 */ cpu->r[31] = cpu->r[3];
|
|
/* 02815330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02815334 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815334 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02815334 */ if (_t9) goto L_02815454; else goto L_02815338;
|
|
L_02815338: ; // 0x2815338
|
|
/* 02815338 */ cpu->r[28] = cpu->r[31];
|
|
/* 02815338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0281533C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281533C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0281533C */ if (_t11) goto L_02815340; else goto L_02815350;
|
|
L_02815340: ; // 0x2815340
|
|
/* 02815340 */ cpu->r[3] = 0x00000014u;
|
|
/* 02815344 */ Gambit_fn_02801A78(cpu);
|
|
/* 02815348 */ cpu->r[28] = cpu->r[3];
|
|
/* 02815348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0281534C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0281534C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0281534C */ if (_t13) goto L_0281535C; else goto L_02815350;
|
|
L_02815350: ; // 0x2815350
|
|
/* 02815350 */ cpu->r[3] = cpu->r[28];
|
|
/* 02815354 */ Gambit_fn_028029E4(cpu);
|
|
/* 02815358 */ _t14 = cpu->r[28] + 0x00000010u;
|
|
/* 02815358 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
L_0281535C: ; // 0x281535c
|
|
/* 0281535C */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 02815360 */ Gambit_fn_02821D00(cpu);
|
|
/* 02815364 */ cpu->r[3] = cpu->r[31] + 0x00000024u;
|
|
/* 02815364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02815368 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815368 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02815368 */ if (_t16) goto L_0281536C; else goto L_0281537C;
|
|
L_0281536C: ; // 0x281536c
|
|
/* 0281536C */ cpu->r[3] = 0x00000008u;
|
|
/* 02815370 */ Gambit_fn_02801A78(cpu);
|
|
/* 02815374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02815378 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815378 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02815378 */ if (_t18) goto L_02815394; else goto L_0281537C;
|
|
L_0281537C: ; // 0x281537c
|
|
/* 0281537C */ cpu->r[0] = 0x10110000u;
|
|
/* 02815380 */ cpu->r[5] = 0x10110000u;
|
|
/* 02815384 */ cpu->r[0] = cpu->r[0] + 0x00003D8Cu;
|
|
/* 02815388 */ cpu->r[5] = cpu->r[5] + 0x00003DB4u;
|
|
/* 0281538C */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 0281538C */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02815390 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 02815390 */ rbrew_write32(cpu->mem, _t20, cpu->r[5]);
|
|
L_02815394: ; // 0x2815394
|
|
/* 02815394 */ cpu->r[6] = 0x10110000u;
|
|
/* 02815398 */ cpu->r[7] = 0x10110000u;
|
|
/* 0281539C */ cpu->r[6] = cpu->r[6] + 0x00003DB8u;
|
|
/* 028153A0 */ cpu->r[7] = cpu->r[7] + 0x00003E68u;
|
|
/* 028153A4 */ _t21 = cpu->r[31] + 0x00000070u;
|
|
/* 028153A4 */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 028153A8 */ _t22 = cpu->r[31] + 0x00000020u;
|
|
/* 028153A8 */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
|
|
/* 028153AC */ _t23 = cpu->r[29] + 0x00000008u;
|
|
/* 028153AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028153B0 */ cpu->r[28] = 0x00000000u;
|
|
/* 028153B4 */ cpu->r[3] = cpu->r[31] + 0x00000030u;
|
|
/* 028153B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028153B8 */ _t24 = cpu->r[31] + 0x0000002Cu;
|
|
/* 028153B8 */ rbrew_write32(cpu->mem, _t24, cpu->r[8]);
|
|
/* 028153BC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028153BC */ _t26 = _t25 & 0x00000001u;
|
|
/* 028153BC */ if (_t26) goto L_028153C0; else goto L_028153D0;
|
|
L_028153C0: ; // 0x28153c0
|
|
/* 028153C0 */ cpu->r[3] = 0x00000004u;
|
|
/* 028153C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028153C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028153CC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028153CC */ _t28 = _t27 & 0x00000001u;
|
|
/* 028153CC */ if (_t28) goto L_028153D4; else goto L_028153D0;
|
|
L_028153D0: ; // 0x28153d0
|
|
/* 028153D0 */ _t29 = cpu->r[3] + 0x00000000u;
|
|
/* 028153D0 */ rbrew_write32(cpu->mem, _t29, cpu->r[28]);
|
|
L_028153D4: ; // 0x28153d4
|
|
/* 028153D4 */ cpu->r[3] = cpu->r[31] + 0x00000034u;
|
|
/* 028153D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028153D8 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028153D8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 028153D8 */ if (_t31) goto L_028153DC; else goto L_028153EC;
|
|
L_028153DC: ; // 0x28153dc
|
|
/* 028153DC */ cpu->r[3] = 0x00000010u;
|
|
/* 028153E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028153E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028153E8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028153E8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 028153E8 */ if (_t33) goto L_028153FC; else goto L_028153EC;
|
|
L_028153EC: ; // 0x28153ec
|
|
/* 028153EC */ _t34 = cpu->r[3] + 0x00000004u;
|
|
/* 028153EC */ rbrew_write32(cpu->mem, _t34, cpu->r[28]);
|
|
/* 028153F0 */ _t35 = cpu->r[3] + 0x00000008u;
|
|
/* 028153F0 */ rbrew_write32(cpu->mem, _t35, cpu->r[31]);
|
|
/* 028153F4 */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 028153F4 */ rbrew_write32(cpu->mem, _t36, cpu->r[28]);
|
|
/* 028153F8 */ _t37 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028153F8 */ rbrew_write32(cpu->mem, _t37, cpu->r[28]);
|
|
L_028153FC: ; // 0x28153fc
|
|
/* 028153FC */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 028153FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02815400 */ _t39 = cpu->r[9] + 0x00000000u;
|
|
/* 02815400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02815404 */ _t40 = cpu->r[31] + 0x00000044u;
|
|
/* 02815404 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02815408 */ _t41 = cpu->r[9] + 0x00000004u;
|
|
/* 02815408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0281540C */ _t42 = cpu->r[31] + 0x00000048u;
|
|
/* 0281540C */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02815410 */ _t43 = cpu->r[9] + 0x00000008u;
|
|
/* 02815410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02815414 */ _t44 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02815414 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02815418 */ _t45 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02815418 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0281541C */ _t46 = cpu->r[31] + 0x00000050u;
|
|
/* 0281541C */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
|
|
/* 02815420 */ _t47 = cpu->r[9] + 0x00000010u;
|
|
/* 02815420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02815424 */ _t48 = cpu->r[31] + 0x00000054u;
|
|
/* 02815424 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02815428 */ _t49 = cpu->r[9] + 0x00000014u;
|
|
/* 02815428 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0281542C */ _t50 = cpu->r[31] + 0x00000058u;
|
|
/* 0281542C */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 02815430 */ _t51 = cpu->r[29] + 0x00000004u;
|
|
/* 02815430 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02815434 */ _t52 = cpu->r[31] + 0x00000030u;
|
|
/* 02815434 */ rbrew_write32(cpu->mem, _t52, cpu->r[28]);
|
|
/* 02815438 */ _t53 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02815438 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
/* 0281543C */ _t54 = cpu->r[31] + 0x00000060u;
|
|
/* 0281543C */ rbrew_write32(cpu->mem, _t54, cpu->r[28]);
|
|
/* 02815440 */ cpu->r[0] = 0x00000001u;
|
|
/* 02815444 */ _t55 = cpu->r[31] + 0x00000068u;
|
|
/* 02815444 */ rbrew_write32(cpu->mem, _t55, cpu->r[28]);
|
|
/* 02815448 */ _t56 = cpu->r[31] + 0x00000064u;
|
|
/* 02815448 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 0281544C */ _t57 = cpu->r[31] + 0x00000024u;
|
|
/* 0281544C */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
|
|
/* 02815450 */ _t58 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02815450 */ rbrew_write32(cpu->mem, _t58, cpu->r[28]);
|
|
L_02815454: ; // 0x2815454
|
|
/* 02815454 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 02815454 */ cpu->r[28] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02815458 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815458 */ cpu->r[29] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0281545C */ _t61 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0281545C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02815460 */ cpu->r[3] = cpu->r[31];
|
|
/* 02815464 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 02815464 */ cpu->r[30] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02815468 */ cpu->lr = cpu->r[0];
|
|
/* 0281546C */ _t63 = cpu->r[1] + 0x00000014u;
|
|
/* 0281546C */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02815470 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02815474 */ return;
|
|
}
|
|
|
|
// fn_02815478 @ 0x2815478
|
|
void Gambit_fn_02815478(CPUState* cpu) {
|
|
uint32_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_02815478: ; // 0x2815478
|
|
/* 02815478 */ cpu->r[0] = cpu->lr;
|
|
/* 0281547C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0281547C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281547C */ cpu->r[1] = _t0;
|
|
/* 02815480 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815480 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02815484 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02815484 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02815488 */ cpu->r[31] = cpu->r[3];
|
|
/* 02815488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0281548C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281548C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02815490 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815490 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02815490 */ if (_t5) goto L_02815494; else goto L_028154A4;
|
|
L_02815494: ; // 0x2815494
|
|
/* 02815494 */ cpu->r[3] = 0x00000080u;
|
|
/* 02815498 */ Gambit_fn_02801A78(cpu);
|
|
/* 0281549C */ cpu->r[31] = cpu->r[3];
|
|
/* 0281549C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028154A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028154A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028154A0 */ if (_t7) goto L_028154F8; else goto L_028154A4;
|
|
L_028154A4: ; // 0x28154a4
|
|
/* 028154A4 */ cpu->r[6] = 0x02810000u;
|
|
/* 028154A8 */ cpu->r[30] = 0x00000000u;
|
|
/* 028154AC */ cpu->r[4] = 0x00000004u;
|
|
/* 028154B0 */ cpu->r[6] = cpu->r[6] + 0x00005768u;
|
|
/* 028154B4 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 028154B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 028154B8 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 028154BC */ cpu->r[5] = 0x00000014u;
|
|
/* 028154C0 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 028154C0 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 028154C4 */ Gambit_fn_02C82E00(cpu);
|
|
/* 028154C8 */ _t10 = cpu->r[31] + 0x00000070u;
|
|
/* 028154C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 028154CC */ cpu->r[0] = 0x00000001u;
|
|
/* 028154D0 */ _t11 = cpu->r[31] + 0x0000005Cu;
|
|
/* 028154D0 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 028154D4 */ _t12 = cpu->r[31] + 0x00000078u;
|
|
/* 028154D4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 028154D8 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 028154DC */ _t13 = cpu->r[31] + 0x0000007Cu;
|
|
/* 028154DC */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 028154E0 */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 028154E0 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 028154E4 */ _t15 = cpu->r[31] + 0x00000064u;
|
|
/* 028154E4 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 028154E8 */ _t16 = cpu->r[31] + 0x00000060u;
|
|
/* 028154E8 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 028154EC */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 028154EC */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 028154F0 */ _t18 = cpu->r[31] + 0x00000068u;
|
|
/* 028154F0 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 028154F4 */ _t19 = cpu->r[31] + 0x0000006Cu;
|
|
/* 028154F4 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_028154F8: ; // 0x28154f8
|
|
/* 028154F8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 028154F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028154FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02815500 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815500 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02815504 */ cpu->lr = cpu->r[0];
|
|
/* 02815508 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02815508 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0281550C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02815510 */ return;
|
|
}
|
|
|
|
// fn_0281547C @ 0x281547c
|
|
void Gambit_fn_0281547C(CPUState* cpu) {
|
|
uint32_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_0281547C: ; // 0x281547c
|
|
/* 0281547C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0281547C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0281547C */ cpu->r[1] = _t0;
|
|
/* 02815480 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815480 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02815484 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02815484 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02815488 */ cpu->r[31] = cpu->r[3];
|
|
/* 02815488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0281548C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281548C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02815490 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815490 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02815490 */ if (_t5) goto L_02815494; else goto L_028154A4;
|
|
L_02815494: ; // 0x2815494
|
|
/* 02815494 */ cpu->r[3] = 0x00000080u;
|
|
/* 02815498 */ Gambit_fn_02801A78(cpu);
|
|
/* 0281549C */ cpu->r[31] = cpu->r[3];
|
|
/* 0281549C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028154A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028154A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028154A0 */ if (_t7) goto L_028154F8; else goto L_028154A4;
|
|
L_028154A4: ; // 0x28154a4
|
|
/* 028154A4 */ cpu->r[6] = 0x02810000u;
|
|
/* 028154A8 */ cpu->r[30] = 0x00000000u;
|
|
/* 028154AC */ cpu->r[4] = 0x00000004u;
|
|
/* 028154B0 */ cpu->r[6] = cpu->r[6] + 0x00005768u;
|
|
/* 028154B4 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 028154B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 028154B8 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 028154BC */ cpu->r[5] = 0x00000014u;
|
|
/* 028154C0 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 028154C0 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 028154C4 */ Gambit_fn_02C82E00(cpu);
|
|
/* 028154C8 */ _t10 = cpu->r[31] + 0x00000070u;
|
|
/* 028154C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 028154CC */ cpu->r[0] = 0x00000001u;
|
|
/* 028154D0 */ _t11 = cpu->r[31] + 0x0000005Cu;
|
|
/* 028154D0 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 028154D4 */ _t12 = cpu->r[31] + 0x00000078u;
|
|
/* 028154D4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 028154D8 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 028154DC */ _t13 = cpu->r[31] + 0x0000007Cu;
|
|
/* 028154DC */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 028154E0 */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 028154E0 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 028154E4 */ _t15 = cpu->r[31] + 0x00000064u;
|
|
/* 028154E4 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 028154E8 */ _t16 = cpu->r[31] + 0x00000060u;
|
|
/* 028154E8 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 028154EC */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 028154EC */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 028154F0 */ _t18 = cpu->r[31] + 0x00000068u;
|
|
/* 028154F0 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 028154F4 */ _t19 = cpu->r[31] + 0x0000006Cu;
|
|
/* 028154F4 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_028154F8: ; // 0x28154f8
|
|
/* 028154F8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 028154F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028154FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02815500 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815500 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02815504 */ cpu->lr = cpu->r[0];
|
|
/* 02815508 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02815508 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0281550C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02815510 */ return;
|
|
}
|
|
|
|
// fn_02815514 @ 0x2815514
|
|
void Gambit_fn_02815514(CPUState* cpu) {
|
|
uint32_t _t0, _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_02815514: ; // 0x2815514
|
|
/* 02815514 */ cpu->r[0] = cpu->lr;
|
|
/* 02815518 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02815518 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02815518 */ cpu->r[1] = _t0;
|
|
/* 0281551C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0281551C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02815520 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815520 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02815524 */ cpu->r[31] = cpu->r[3];
|
|
/* 02815524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02815528 */ cpu->r[30] = cpu->r[4];
|
|
/* 0281552C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281552C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02815530 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815530 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02815530 */ if (_t5) goto L_02815534; else goto L_02815544;
|
|
L_02815534: ; // 0x2815534
|
|
/* 02815534 */ cpu->r[3] = 0x00000080u;
|
|
/* 02815538 */ Gambit_fn_02801A78(cpu);
|
|
/* 0281553C */ cpu->r[31] = cpu->r[3];
|
|
/* 0281553C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02815540 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815540 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02815540 */ if (_t7) goto L_028155A0; else goto L_02815544;
|
|
L_02815544: ; // 0x2815544
|
|
/* 02815544 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02815544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02815548 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 0281554C */ cpu->r[6] = 0x02810000u;
|
|
/* 02815550 */ cpu->r[4] = 0x00000004u;
|
|
/* 02815554 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02815554 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02815558 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02815558 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0281555C */ cpu->r[6] = cpu->r[6] + 0x00005768u;
|
|
/* 02815560 */ cpu->r[5] = 0x00000014u;
|
|
/* 02815564 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02815564 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02815568 */ Gambit_fn_02C82E00(cpu);
|
|
/* 0281556C */ cpu->r[0] = 0x00000000u;
|
|
/* 02815570 */ _t12 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02815570 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02815574 */ cpu->r[10] = 0x00000001u;
|
|
/* 02815578 */ _t13 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02815578 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0281557C */ _t14 = cpu->r[31] + 0x00000078u;
|
|
/* 0281557C */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02815580 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02815584 */ _t15 = cpu->r[31] + 0x00000058u;
|
|
/* 02815584 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02815588 */ _t16 = cpu->r[31] + 0x00000074u;
|
|
/* 02815588 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 0281558C */ _t17 = cpu->r[31] + 0x00000068u;
|
|
/* 0281558C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02815590 */ _t18 = cpu->r[31] + 0x00000060u;
|
|
/* 02815590 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02815594 */ _t19 = cpu->r[31] + 0x00000064u;
|
|
/* 02815594 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02815598 */ _t20 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02815598 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 0281559C */ _t21 = cpu->r[31] + 0x00000070u;
|
|
/* 0281559C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_028155A0: ; // 0x28155a0
|
|
/* 028155A0 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 028155A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028155A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028155A8 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028155A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028155AC */ cpu->lr = cpu->r[0];
|
|
/* 028155B0 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 028155B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028155B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028155B8 */ return;
|
|
}
|
|
|
|
// fn_02815518 @ 0x2815518
|
|
void Gambit_fn_02815518(CPUState* cpu) {
|
|
uint32_t _t0, _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_02815518: ; // 0x2815518
|
|
/* 02815518 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02815518 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02815518 */ cpu->r[1] = _t0;
|
|
/* 0281551C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0281551C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02815520 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815520 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02815524 */ cpu->r[31] = cpu->r[3];
|
|
/* 02815524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02815528 */ cpu->r[30] = cpu->r[4];
|
|
/* 0281552C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0281552C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02815530 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815530 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02815530 */ if (_t5) goto L_02815534; else goto L_02815544;
|
|
L_02815534: ; // 0x2815534
|
|
/* 02815534 */ cpu->r[3] = 0x00000080u;
|
|
/* 02815538 */ Gambit_fn_02801A78(cpu);
|
|
/* 0281553C */ cpu->r[31] = cpu->r[3];
|
|
/* 0281553C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02815540 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02815540 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02815540 */ if (_t7) goto L_028155A0; else goto L_02815544;
|
|
L_02815544: ; // 0x2815544
|
|
/* 02815544 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02815544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02815548 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 0281554C */ cpu->r[6] = 0x02810000u;
|
|
/* 02815550 */ cpu->r[4] = 0x00000004u;
|
|
/* 02815554 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02815554 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02815558 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02815558 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0281555C */ cpu->r[6] = cpu->r[6] + 0x00005768u;
|
|
/* 02815560 */ cpu->r[5] = 0x00000014u;
|
|
/* 02815564 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02815564 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02815568 */ Gambit_fn_02C82E00(cpu);
|
|
/* 0281556C */ cpu->r[0] = 0x00000000u;
|
|
/* 02815570 */ _t12 = cpu->r[31] + 0x0000006Cu;
|
|
/* 02815570 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02815574 */ cpu->r[10] = 0x00000001u;
|
|
/* 02815578 */ _t13 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02815578 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0281557C */ _t14 = cpu->r[31] + 0x00000078u;
|
|
/* 0281557C */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02815580 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02815584 */ _t15 = cpu->r[31] + 0x00000058u;
|
|
/* 02815584 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02815588 */ _t16 = cpu->r[31] + 0x00000074u;
|
|
/* 02815588 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 0281558C */ _t17 = cpu->r[31] + 0x00000068u;
|
|
/* 0281558C */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02815590 */ _t18 = cpu->r[31] + 0x00000060u;
|
|
/* 02815590 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02815594 */ _t19 = cpu->r[31] + 0x00000064u;
|
|
/* 02815594 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02815598 */ _t20 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02815598 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 0281559C */ _t21 = cpu->r[31] + 0x00000070u;
|
|
/* 0281559C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_028155A0: ; // 0x28155a0
|
|
/* 028155A0 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 028155A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028155A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028155A8 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028155A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028155AC */ cpu->lr = cpu->r[0];
|
|
/* 028155B0 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 028155B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028155B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028155B8 */ return;
|
|
}
|
|
|
|
// fn_028155BC @ 0x28155bc
|
|
void Gambit_fn_028155BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028155BC: ; // 0x28155bc
|
|
/* 028155BC */ cpu->r[0] = cpu->lr;
|
|
/* 028155C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028155C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028155C0 */ cpu->r[1] = _t0;
|
|
/* 028155C4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028155C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028155C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028155C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028155CC */ cpu->r[31] = cpu->r[3];
|
|
/* 028155CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028155D0 */ cpu->r[30] = cpu->r[4];
|
|
/* 028155D4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028155D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028155D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028155D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028155D8 */ if (_t5) goto L_028155DC; else goto L_028155EC;
|
|
L_028155DC: ; // 0x28155dc
|
|
/* 028155DC */ cpu->r[3] = 0x00000080u;
|
|
/* 028155E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028155E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028155E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028155E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028155E8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028155E8 */ if (_t7) goto L_0281565C; else goto L_028155EC;
|
|
L_028155EC: ; // 0x28155ec
|
|
/* 028155EC */ cpu->r[3] = cpu->r[31];
|
|
/* 028155F0 */ cpu->r[4] = cpu->r[30];
|
|
/* 028155F4 */ Gambit_fn_02815514(cpu);
|
|
/* 028155F8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 028155FC */ _t8 = cpu->r[12] + 0x00005D1Cu;
|
|
/* 028155FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028155FC */ cpu->r[12] = _t8;
|
|
/* 02815600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02815604 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02815604 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02815604 */ if (_t10) goto L_02815608; else goto L_02815620;
|
|
L_02815608: ; // 0x2815608
|
|
/* 02815608 */ cpu->ctr = cpu->r[0];
|
|
/* 0281560C */ cpu->r[10] = 0x00000001u;
|
|
/* 02815610 */ cpu->r[9] = cpu->r[31] + 0x00000004u;
|
|
L_02815614: ; // 0x2815614
|
|
/* 02815614 */ _t11 = cpu->r[9] + 0x00000014u;
|
|
/* 02815614 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[10]);
|
|
/* 02815614 */ cpu->r[9] = _t11;
|
|
/* 02815618 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02815618 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02815618 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02815618 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02815618 */ if (_t14) goto L_02815614; else goto L_0281561C;
|
|
L_0281561C: ; // 0x281561c
|
|
/* 0281561C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0281561C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
L_02815620: ; // 0x2815620
|
|
/* 02815620 */ _t16 = cpu->r[31] + 0x00000058u;
|
|
/* 02815620 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02815624 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02815628 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02815628 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02815628 */ if (_t18) goto L_0281562C; else goto L_0281565C;
|
|
L_0281562C: ; // 0x281562c
|
|
/* 0281562C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02815630 */ cpu->r[11] = 0x00000000u;
|
|
/* 02815634 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02815634 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02815634 */ if (_t20) goto L_02815638; else goto L_02815658;
|
|
L_02815638: ; // 0x2815638
|
|
/* 02815638 */ cpu->ctr = cpu->r[0];
|
|
/* 0281563C */ cpu->r[12] = cpu->r[31] + 0x00000006u;
|
|
L_02815640: ; // 0x2815640
|
|
/* 02815640 */ cpu->r[10] = cpu->r[7] ^ cpu->r[11];
|
|
/* 02815644 */ cpu->r[0] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02815648 */ cpu->r[0] = cpu->r[10] - cpu->r[0];
|
|
/* 0281564C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02815650 */ _t21 = cpu->r[12] + 0x00000014u;
|
|
/* 02815650 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 02815650 */ cpu->r[12] = _t21;
|
|
/* 02815654 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02815654 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02815654 */ _t23 = _t22 >> (0x00000002u & 31u);
|
|
/* 02815654 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02815654 */ if (_t24) goto L_02815640; else goto L_02815658;
|
|
L_02815658: ; // 0x2815658
|
|
/* 02815658 */ _t25 = cpu->r[31] + 0x00000058u;
|
|
/* 02815658 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
L_0281565C: ; // 0x281565c
|
|
/* 0281565C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0281565C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02815660 */ cpu->r[3] = cpu->r[31];
|
|
/* 02815664 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815664 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02815668 */ cpu->lr = cpu->r[0];
|
|
/* 0281566C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0281566C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02815670 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02815674 */ return;
|
|
}
|
|
|
|
// fn_028155C0 @ 0x28155c0
|
|
void Gambit_fn_028155C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_028155C0: ; // 0x28155c0
|
|
/* 028155C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028155C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028155C0 */ cpu->r[1] = _t0;
|
|
/* 028155C4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028155C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028155C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028155C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028155CC */ cpu->r[31] = cpu->r[3];
|
|
/* 028155CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028155D0 */ cpu->r[30] = cpu->r[4];
|
|
/* 028155D4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028155D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028155D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028155D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028155D8 */ if (_t5) goto L_028155DC; else goto L_028155EC;
|
|
L_028155DC: ; // 0x28155dc
|
|
/* 028155DC */ cpu->r[3] = 0x00000080u;
|
|
/* 028155E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028155E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028155E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028155E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028155E8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028155E8 */ if (_t7) goto L_0281565C; else goto L_028155EC;
|
|
L_028155EC: ; // 0x28155ec
|
|
/* 028155EC */ cpu->r[3] = cpu->r[31];
|
|
/* 028155F0 */ cpu->r[4] = cpu->r[30];
|
|
/* 028155F4 */ Gambit_fn_02815514(cpu);
|
|
/* 028155F8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 028155FC */ _t8 = cpu->r[12] + 0x00005D1Cu;
|
|
/* 028155FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028155FC */ cpu->r[12] = _t8;
|
|
/* 02815600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02815604 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02815604 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02815604 */ if (_t10) goto L_02815608; else goto L_02815620;
|
|
L_02815608: ; // 0x2815608
|
|
/* 02815608 */ cpu->ctr = cpu->r[0];
|
|
/* 0281560C */ cpu->r[10] = 0x00000001u;
|
|
/* 02815610 */ cpu->r[9] = cpu->r[31] + 0x00000004u;
|
|
L_02815614: ; // 0x2815614
|
|
/* 02815614 */ _t11 = cpu->r[9] + 0x00000014u;
|
|
/* 02815614 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[10]);
|
|
/* 02815614 */ cpu->r[9] = _t11;
|
|
/* 02815618 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02815618 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02815618 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02815618 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02815618 */ if (_t14) goto L_02815614; else goto L_0281561C;
|
|
L_0281561C: ; // 0x281561c
|
|
/* 0281561C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0281561C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
L_02815620: ; // 0x2815620
|
|
/* 02815620 */ _t16 = cpu->r[31] + 0x00000058u;
|
|
/* 02815620 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02815624 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02815628 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02815628 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02815628 */ if (_t18) goto L_0281562C; else goto L_0281565C;
|
|
L_0281562C: ; // 0x281562c
|
|
/* 0281562C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02815630 */ cpu->r[11] = 0x00000000u;
|
|
/* 02815634 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02815634 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02815634 */ if (_t20) goto L_02815638; else goto L_02815658;
|
|
L_02815638: ; // 0x2815638
|
|
/* 02815638 */ cpu->ctr = cpu->r[0];
|
|
/* 0281563C */ cpu->r[12] = cpu->r[31] + 0x00000006u;
|
|
L_02815640: ; // 0x2815640
|
|
/* 02815640 */ cpu->r[10] = cpu->r[7] ^ cpu->r[11];
|
|
/* 02815644 */ cpu->r[0] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02815648 */ cpu->r[0] = cpu->r[10] - cpu->r[0];
|
|
/* 0281564C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02815650 */ _t21 = cpu->r[12] + 0x00000014u;
|
|
/* 02815650 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 02815650 */ cpu->r[12] = _t21;
|
|
/* 02815654 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02815654 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02815654 */ _t23 = _t22 >> (0x00000002u & 31u);
|
|
/* 02815654 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02815654 */ if (_t24) goto L_02815640; else goto L_02815658;
|
|
L_02815658: ; // 0x2815658
|
|
/* 02815658 */ _t25 = cpu->r[31] + 0x00000058u;
|
|
/* 02815658 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
L_0281565C: ; // 0x281565c
|
|
/* 0281565C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0281565C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02815660 */ cpu->r[3] = cpu->r[31];
|
|
/* 02815664 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02815664 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02815668 */ cpu->lr = cpu->r[0];
|
|
/* 0281566C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0281566C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02815670 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02815674 */ return;
|
|
}
|
|
|