mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
44951 lines
2.4 MiB
Plaintext
44951 lines
2.4 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_02853A88 @ 0x2853a88
|
|
void Gambit_fn_02853A88(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_02853A88: ; // 0x2853a88
|
|
/* 02853A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02853A8C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853A8C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02853A8C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02853A8C */ goto L_02853A90;
|
|
L_02853A90: ; // 0x2853a90
|
|
/* 02853A90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02853A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02853A94 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853A94 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02853A94 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02853A94 */ goto L_02853A98;
|
|
L_02853A98: ; // 0x2853a98
|
|
/* 02853A98 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02853A9C @ 0x2853a9c
|
|
void Gambit_fn_02853A9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02853A9C: ; // 0x2853a9c
|
|
/* 02853A9C */ cpu->r[9] = 0x101D0000u;
|
|
/* 02853AA0 */ _t0 = cpu->r[9] + 0x00001478u;
|
|
/* 02853AA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02853AA0 */ cpu->r[9] = _t0;
|
|
/* 02853AA4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02853AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02853AAC */ cpu->r[12] = cpu->r[12] + 0x000015E8u;
|
|
/* 02853AB0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853AB0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02853AB0 */ if (_t2) goto L_02853AB4; else goto L_02853AC8;
|
|
L_02853AB4: ; // 0x2853ab4
|
|
/* 02853AB4 */ cpu->r[7] = 0x10130000u;
|
|
/* 02853AB8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02853ABC */ cpu->r[7] = cpu->r[7] + 0x000005D4u;
|
|
/* 02853AC0 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 02853AC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02853AC4 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02853AC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_02853AC8: ; // 0x2853ac8
|
|
/* 02853AC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 02853ACC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853ACC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02853ACC */ if (_t6) goto L_02853AD0; else goto L_02853AD8;
|
|
L_02853AD0: ; // 0x2853ad0
|
|
/* 02853AD0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02853AD4 */ return;
|
|
L_02853AD8: ; // 0x2853ad8
|
|
/* 02853AD8 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02853ADC */ _t7 = cpu->r[7] + 0xFFFFD4F8u;
|
|
/* 02853ADC */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02853ADC */ cpu->r[7] = _t7;
|
|
/* 02853AE0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02853AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02853AE8 */ cpu->r[11] = cpu->r[11] + 0x00001514u;
|
|
/* 02853AEC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853AEC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02853AEC */ if (_t9) goto L_02853AF0; else goto L_02853B04;
|
|
L_02853AF0: ; // 0x2853af0
|
|
/* 02853AF0 */ cpu->r[0] = 0x10130000u;
|
|
/* 02853AF4 */ cpu->r[9] = 0x00000001u;
|
|
/* 02853AF8 */ cpu->r[0] = cpu->r[0] + 0x000005C4u;
|
|
/* 02853AFC */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 02853AFC */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02853B00 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02853B00 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02853B04: ; // 0x2853b04
|
|
/* 02853B04 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 02853B08 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02853B0C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 02853B10 */ return;
|
|
}
|
|
|
|
// fn_02853B14 @ 0x2853b14
|
|
void Gambit_fn_02853B14(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02853B14: ; // 0x2853b14
|
|
/* 02853B14 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02853B14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02853B18 */ _t1 = cpu->r[12] + 0x00000074u;
|
|
/* 02853B18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02853B1C */ cpu->ctr = cpu->r[0];
|
|
/* 02853B20 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02853B24 @ 0x2853b24
|
|
void Gambit_fn_02853B24(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02853B24: ; // 0x2853b24
|
|
/* 02853B24 */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02853B24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02853B28 */ return;
|
|
}
|
|
|
|
// fn_02853B2C @ 0x2853b2c
|
|
void Gambit_fn_02853B2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02853B2C: ; // 0x2853b2c
|
|
/* 02853B2C */ cpu->r[0] = cpu->lr;
|
|
/* 02853B30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02853B30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853B30 */ cpu->r[1] = _t0;
|
|
/* 02853B34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853B34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02853B38 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02853B38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02853B3C */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02853B3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02853B40 */ _t4 = cpu->r[12] + 0x00000074u;
|
|
/* 02853B40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02853B44 */ cpu->ctr = cpu->r[0];
|
|
/* 02853B48 */ _t5 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02853B48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02853B4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02853B50 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02853B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02853B54 */ cpu->r[3] = cpu->r[31] + cpu->r[3];
|
|
/* 02853B58 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853B58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02853B5C */ cpu->lr = cpu->r[0];
|
|
/* 02853B60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02853B64 */ return;
|
|
}
|
|
|
|
// fn_02853B30 @ 0x2853b30
|
|
void Gambit_fn_02853B30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02853B30: ; // 0x2853b30
|
|
/* 02853B30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02853B30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853B30 */ cpu->r[1] = _t0;
|
|
/* 02853B34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853B34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02853B38 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02853B38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02853B3C */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02853B3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02853B40 */ _t4 = cpu->r[12] + 0x00000074u;
|
|
/* 02853B40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02853B44 */ cpu->ctr = cpu->r[0];
|
|
/* 02853B48 */ _t5 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02853B48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02853B4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02853B50 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02853B50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02853B54 */ cpu->r[3] = cpu->r[31] + cpu->r[3];
|
|
/* 02853B58 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853B58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02853B5C */ cpu->lr = cpu->r[0];
|
|
/* 02853B60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02853B64 */ return;
|
|
}
|
|
|
|
// fn_02853B68 @ 0x2853b68
|
|
void Gambit_fn_02853B68(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02853B68: ; // 0x2853b68
|
|
/* 02853B68 */ _t0 = cpu->r[3] + 0x00000020u;
|
|
/* 02853B68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02853B6C */ return;
|
|
}
|
|
|
|
// fn_02853B70 @ 0x2853b70
|
|
void Gambit_fn_02853B70(CPUState* cpu) {
|
|
L_02853B70: ; // 0x2853b70
|
|
/* 02853B70 */ cpu->r[3] = 0x00000001u;
|
|
/* 02853B74 */ return;
|
|
}
|
|
|
|
// fn_02853B78 @ 0x2853b78
|
|
void Gambit_fn_02853B78(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_02853B78: ; // 0x2853b78
|
|
/* 02853B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02853B7C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853B7C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02853B7C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02853B7C */ goto L_02853B80;
|
|
L_02853B80: ; // 0x2853b80
|
|
/* 02853B80 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02853B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02853B84 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853B84 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02853B84 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02853B84 */ goto L_02853B88;
|
|
L_02853B88: ; // 0x2853b88
|
|
/* 02853B88 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02853B8C @ 0x2853b8c
|
|
void Gambit_fn_02853B8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43;
|
|
|
|
L_02853B8C: ; // 0x2853b8c
|
|
/* 02853B8C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02853B8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853B8C */ cpu->r[1] = _t0;
|
|
/* 02853B90 */ cpu->r[0] = cpu->lr;
|
|
/* 02853B94 */ /* nop */
|
|
/* 02853B98 */ cpu->r[30] = cpu->r[3];
|
|
/* 02853B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02853B9C */ cpu->r[27] = cpu->r[4];
|
|
/* 02853BA0 */ cpu->r[31] = cpu->r[5];
|
|
/* 02853BA4 */ cpu->r[28] = cpu->r[6];
|
|
/* 02853BA8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02853BA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02853BAC */ cpu->r[29] = cpu->r[7];
|
|
/* 02853BB0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853BB0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02853BB0 */ if (_t3) goto L_02853BB4; else goto L_02853BC4;
|
|
L_02853BB4: ; // 0x2853bb4
|
|
/* 02853BB4 */ cpu->r[3] = 0x000000D0u;
|
|
/* 02853BB8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02853BBC */ cpu->r[30] = cpu->r[3];
|
|
/* 02853BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02853BC0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853BC0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02853BC0 */ if (_t5) goto L_02853CD0; else goto L_02853BC4;
|
|
L_02853BC4: ; // 0x2853bc4
|
|
/* 02853BC4 */ cpu->r[0] = 0x10130000u;
|
|
/* 02853BC8 */ cpu->r[11] = 0x10130000u;
|
|
/* 02853BCC */ cpu->r[6] = cpu->r[29];
|
|
/* 02853BD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853BD4 */ cpu->r[11] = cpu->r[11] + 0x0000071Cu;
|
|
/* 02853BD8 */ cpu->r[8] = 0x80000000u;
|
|
/* 02853BDC */ cpu->r[10] = 0x00000001u;
|
|
/* 02853BE0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853BE0 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02853BE4 */ cpu->r[29] = 0x00000000u;
|
|
/* 02853BE8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02853BEC */ cpu->r[0] = cpu->r[0] + 0x00000734u;
|
|
/* 02853BF0 */ cpu->r[5] = cpu->r[29];
|
|
/* 02853BF4 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02853BF8 */ cpu->r[9] = cpu->r[28];
|
|
/* 02853BFC */ cpu->r[7] = cpu->r[5];
|
|
/* 02853C00 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02853C00 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02853C04 */ Gambit_fn_02837758(cpu);
|
|
/* 02853C08 */ cpu->r[0] = 0x10130000u;
|
|
/* 02853C0C */ _t8 = cpu->r[30] + 0x00000098u;
|
|
/* 02853C0C */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 02853C10 */ cpu->r[0] = cpu->r[0] + 0x0000073Cu;
|
|
/* 02853C14 */ _t9 = cpu->r[30] + 0x000000A0u;
|
|
/* 02853C14 */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
|
|
/* 02853C18 */ cpu->r[3] = cpu->r[30] + 0x000000A4u;
|
|
/* 02853C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02853C1C */ _t10 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02853C1C */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 02853C20 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02853C20 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02853C24 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853C24 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02853C24 */ if (_t13) goto L_02853C28; else goto L_02853C38;
|
|
L_02853C28: ; // 0x2853c28
|
|
/* 02853C28 */ cpu->r[3] = 0x00000010u;
|
|
/* 02853C2C */ Gambit_fn_02801A78(cpu);
|
|
/* 02853C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02853C34 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853C34 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02853C34 */ if (_t15) goto L_02853C48; else goto L_02853C38;
|
|
L_02853C38: ; // 0x2853c38
|
|
/* 02853C38 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02853C38 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02853C3C */ _t17 = cpu->r[3] + 0x00000008u;
|
|
/* 02853C3C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02853C40 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 02853C40 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 02853C44 */ _t19 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02853C44 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
L_02853C48: ; // 0x2853c48
|
|
/* 02853C48 */ cpu->r[3] = cpu->r[30] + 0x000000B4u;
|
|
/* 02853C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02853C4C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853C4C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02853C4C */ if (_t21) goto L_02853C50; else goto L_02853C60;
|
|
L_02853C50: ; // 0x2853c50
|
|
/* 02853C50 */ cpu->r[3] = 0x00000004u;
|
|
/* 02853C54 */ Gambit_fn_02801A78(cpu);
|
|
/* 02853C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02853C5C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853C5C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02853C5C */ if (_t23) goto L_02853C64; else goto L_02853C60;
|
|
L_02853C60: ; // 0x2853c60
|
|
/* 02853C60 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02853C60 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
L_02853C64: ; // 0x2853c64
|
|
/* 02853C64 */ _t25 = cpu->r[30] + 0x000000BCu;
|
|
/* 02853C64 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 02853C68 */ _t26 = cpu->r[30] + 0x000000C0u;
|
|
/* 02853C68 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 02853C6C */ _t27 = cpu->r[30] + 0x000000B8u;
|
|
/* 02853C6C */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 02853C70 */ rbrew_dispatch(cpu, 0x02d0ab30u);
|
|
/* 02853C74 */ _t28 = cpu->r[30] + 0x000000CCu;
|
|
/* 02853C74 */ rbrew_write32(cpu->mem, _t28, cpu->r[4]);
|
|
/* 02853C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02853C7C */ _t29 = cpu->r[30] + 0x000000C8u;
|
|
/* 02853C7C */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
/* 02853C80 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02853C80 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02853C80 */ if (_t31) goto L_02853C84; else goto L_02853CD0;
|
|
L_02853C84: ; // 0x2853c84
|
|
/* 02853C84 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02853C88 */ _t32 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02853C88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02853C8C */ Gambit_fn_02826F20(cpu);
|
|
/* 02853C90 */ _t33 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02853C90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02853C94 */ _t34 = cpu->r[9] + 0x00000034u;
|
|
/* 02853C94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02853C98 */ cpu->ctr = cpu->r[10];
|
|
/* 02853C9C */ cpu->r[5] = 0x00000004u;
|
|
/* 02853CA0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02853CA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02853CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02853CAC */ cpu->r[0] = cpu->r[31];
|
|
/* 02853CB0 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02853CB0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02853CB0 */ if (_t36) goto L_02853CB8; else goto L_02853CB4;
|
|
L_02853CB4: ; // 0x2853cb4
|
|
/* 02853CB4 */ cpu->r[0] = 0x00000001u;
|
|
L_02853CB8: ; // 0x2853cb8
|
|
/* 02853CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02853CBC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853CBC */ _t38 = _t37 & 0x00000001u;
|
|
/* 02853CBC */ if (_t38) goto L_02853CD0; else goto L_02853CC0;
|
|
L_02853CC0: ; // 0x2853cc0
|
|
/* 02853CC0 */ _t39 = cpu->r[30] + 0x000000B0u;
|
|
/* 02853CC0 */ rbrew_write32(cpu->mem, _t39, cpu->r[29]);
|
|
/* 02853CC4 */ _t40 = cpu->r[30] + 0x000000ACu;
|
|
/* 02853CC4 */ rbrew_write32(cpu->mem, _t40, cpu->r[29]);
|
|
/* 02853CC8 */ _t41 = cpu->r[30] + 0x000000A4u;
|
|
/* 02853CC8 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]);
|
|
/* 02853CCC */ _t42 = cpu->r[30] + 0x000000A8u;
|
|
/* 02853CCC */ rbrew_write32(cpu->mem, _t42, cpu->r[31]);
|
|
L_02853CD0: ; // 0x2853cd0
|
|
/* 02853CD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853CD4 */ /* nop */
|
|
/* 02853CD8 */ _t43 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02853CD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02853CDC */ cpu->lr = cpu->r[0];
|
|
/* 02853CE0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02853CE4 */ return;
|
|
}
|
|
|
|
// fn_02853CE8 @ 0x2853ce8
|
|
void Gambit_fn_02853CE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50;
|
|
|
|
L_02853CE8: ; // 0x2853ce8
|
|
/* 02853CE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02853CEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02853CEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853CEC */ cpu->r[1] = _t0;
|
|
/* 02853CF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853CF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02853CF4 */ cpu->r[31] = cpu->r[3] + 0x000000B4u;
|
|
/* 02853CF8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02853CF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02853CFC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02853CFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_02853D00: ; // 0x2853d00
|
|
/* 02853D00 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02853D00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02853D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02853D08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853D08 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02853D08 */ if (_t6) goto L_02853D00; else goto L_02853D0C;
|
|
L_02853D0C: ; // 0x2853d0c
|
|
/* 02853D0C */ _t7 = cpu->r[0] + cpu->r[31];
|
|
/* 02853D0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02853D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02853D14 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853D14 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02853D14 */ if (_t9) goto L_02853D18; else goto L_02853D0C;
|
|
L_02853D18: ; // 0x2853d18
|
|
/* 02853D18 */ /* nop */
|
|
/* 02853D1C */ cpu->r[9] = 0x00000001u;
|
|
/* 02853D20 */ /* nop */
|
|
/* 02853D24 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853D24 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02853D24 */ if (_t11) goto L_02853D28; else goto L_02853D0C;
|
|
L_02853D28: ; // 0x2853d28
|
|
/* 02853D28 */ _t12 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853D28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02853D2C */ _t13 = cpu->r[3] + 0x000000A8u;
|
|
/* 02853D2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02853D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[7]);
|
|
/* 02853D34 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853D34 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02853D34 */ if (_t15) goto L_02853D38; else goto L_02853D80;
|
|
L_02853D38: ; // 0x2853d38
|
|
/* 02853D38 */ _t16 = cpu->r[6] + 0x00000000u;
|
|
/* 02853D38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02853D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02853D40 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853D40 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02853D40 */ if (_t18) goto L_02853D44; else goto L_02853D90;
|
|
L_02853D44: ; // 0x2853d44
|
|
/* 02853D44 */ _t19 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853D44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02853D48 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 02853D4C */ _t20 = cpu->r[3] + 0x000000A8u;
|
|
/* 02853D4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02853D50 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
/* 02853D54 */ _t21 = cpu->r[3] + 0x000000A4u;
|
|
/* 02853D54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02853D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 02853D5C */ _t22 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853D5C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02853D60 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853D60 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02853D60 */ if (_t24) goto L_02853D68; else goto L_02853D64;
|
|
L_02853D64: ; // 0x2853d64
|
|
/* 02853D64 */ cpu->r[11] = cpu->r[11] - cpu->r[9];
|
|
L_02853D68: ; // 0x2853d68
|
|
/* 02853D68 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02853D6C */ _t25 = cpu->r[7] + cpu->r[8];
|
|
/* 02853D6C */ rbrew_write32(cpu->mem, _t25, cpu->r[5]);
|
|
/* 02853D70 */ cpu->r[30] = 0x00000001u;
|
|
/* 02853D74 */ _t26 = cpu->r[5] + 0x00000040u;
|
|
/* 02853D74 */ rbrew_write32(cpu->mem, _t26, cpu->r[4]);
|
|
/* 02853D78 */ rbrew_dispatch(cpu, 0x02d0ad98u);
|
|
/* 02853D7C */ goto L_02853DE4;
|
|
L_02853D80: ; // 0x2853d80
|
|
/* 02853D80 */ cpu->r[30] = 0x00000000u;
|
|
/* 02853D84 */ _t27 = cpu->r[5] + 0x00000040u;
|
|
/* 02853D84 */ rbrew_write32(cpu->mem, _t27, cpu->r[4]);
|
|
/* 02853D88 */ rbrew_dispatch(cpu, 0x02d0ad98u);
|
|
/* 02853D8C */ goto L_02853DE4;
|
|
L_02853D90: ; // 0x2853d90
|
|
/* 02853D90 */ _t28 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853D90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02853D94 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02853D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02853D98 */ _t29 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853D98 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
/* 02853D9C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853D9C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02853D9C */ if (_t31) goto L_02853DA0; else goto L_02853DAC;
|
|
L_02853DA0: ; // 0x2853da0
|
|
/* 02853DA0 */ _t32 = cpu->r[3] + 0x000000A8u;
|
|
/* 02853DA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02853DA4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02853DA8 */ _t33 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853DA8 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
L_02853DAC: ; // 0x2853dac
|
|
/* 02853DAC */ _t34 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853DAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02853DB0 */ _t35 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02853DB4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02853DB8 */ _t36 = cpu->r[3] + 0x000000A8u;
|
|
/* 02853DB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02853DBC */ _t37 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853DBC */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 02853DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[9]);
|
|
/* 02853DC4 */ _t38 = cpu->r[3] + 0x000000A4u;
|
|
/* 02853DC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02853DC8 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853DC8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02853DC8 */ if (_t40) goto L_02853DD0; else goto L_02853DCC;
|
|
L_02853DCC: ; // 0x2853dcc
|
|
/* 02853DCC */ cpu->r[0] = cpu->r[0] - cpu->r[9];
|
|
L_02853DD0: ; // 0x2853dd0
|
|
/* 02853DD0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02853DD4 */ _t41 = cpu->r[6] + cpu->r[7];
|
|
/* 02853DD4 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 02853DD8 */ cpu->r[30] = 0x00000001u;
|
|
/* 02853DDC */ _t42 = cpu->r[5] + 0x00000040u;
|
|
/* 02853DDC */ rbrew_write32(cpu->mem, _t42, cpu->r[4]);
|
|
/* 02853DE0 */ rbrew_dispatch(cpu, 0x02d0ad98u);
|
|
L_02853DE4: ; // 0x2853de4
|
|
/* 02853DE4 */ _t43 = cpu->r[0] + cpu->r[31];
|
|
/* 02853DE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02853DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 02853DEC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853DEC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02853DEC */ if (_t45) goto L_02853DF0; else goto L_02853DE4;
|
|
L_02853DF0: ; // 0x2853df0
|
|
/* 02853DF0 */ /* nop */
|
|
/* 02853DF4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02853DF8 */ /* nop */
|
|
/* 02853DFC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853DFC */ _t47 = _t46 & 0x00000001u;
|
|
/* 02853DFC */ if (_t47) goto L_02853E00; else goto L_02853DE4;
|
|
L_02853E00: ; // 0x2853e00
|
|
/* 02853E00 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02853E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02853E04 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853E08 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02853E08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02853E0C */ cpu->lr = cpu->r[0];
|
|
/* 02853E10 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853E10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02853E14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02853E18 */ return;
|
|
}
|
|
|
|
// fn_02853CEC @ 0x2853cec
|
|
void Gambit_fn_02853CEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50;
|
|
|
|
L_02853CEC: ; // 0x2853cec
|
|
/* 02853CEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02853CEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853CEC */ cpu->r[1] = _t0;
|
|
/* 02853CF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853CF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02853CF4 */ cpu->r[31] = cpu->r[3] + 0x000000B4u;
|
|
/* 02853CF8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02853CF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02853CFC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02853CFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_02853D00: ; // 0x2853d00
|
|
/* 02853D00 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02853D00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02853D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02853D08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853D08 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02853D08 */ if (_t6) goto L_02853D00; else goto L_02853D0C;
|
|
L_02853D0C: ; // 0x2853d0c
|
|
/* 02853D0C */ _t7 = cpu->r[0] + cpu->r[31];
|
|
/* 02853D0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02853D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02853D14 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853D14 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02853D14 */ if (_t9) goto L_02853D18; else goto L_02853D0C;
|
|
L_02853D18: ; // 0x2853d18
|
|
/* 02853D18 */ /* nop */
|
|
/* 02853D1C */ cpu->r[9] = 0x00000001u;
|
|
/* 02853D20 */ /* nop */
|
|
/* 02853D24 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853D24 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02853D24 */ if (_t11) goto L_02853D28; else goto L_02853D0C;
|
|
L_02853D28: ; // 0x2853d28
|
|
/* 02853D28 */ _t12 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853D28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02853D2C */ _t13 = cpu->r[3] + 0x000000A8u;
|
|
/* 02853D2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02853D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[7]);
|
|
/* 02853D34 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853D34 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02853D34 */ if (_t15) goto L_02853D38; else goto L_02853D80;
|
|
L_02853D38: ; // 0x2853d38
|
|
/* 02853D38 */ _t16 = cpu->r[6] + 0x00000000u;
|
|
/* 02853D38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02853D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02853D40 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853D40 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02853D40 */ if (_t18) goto L_02853D44; else goto L_02853D90;
|
|
L_02853D44: ; // 0x2853d44
|
|
/* 02853D44 */ _t19 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853D44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02853D48 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 02853D4C */ _t20 = cpu->r[3] + 0x000000A8u;
|
|
/* 02853D4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02853D50 */ cpu->r[11] = cpu->r[11] + cpu->r[12];
|
|
/* 02853D54 */ _t21 = cpu->r[3] + 0x000000A4u;
|
|
/* 02853D54 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02853D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 02853D5C */ _t22 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853D5C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02853D60 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853D60 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02853D60 */ if (_t24) goto L_02853D68; else goto L_02853D64;
|
|
L_02853D64: ; // 0x2853d64
|
|
/* 02853D64 */ cpu->r[11] = cpu->r[11] - cpu->r[9];
|
|
L_02853D68: ; // 0x2853d68
|
|
/* 02853D68 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02853D6C */ _t25 = cpu->r[7] + cpu->r[8];
|
|
/* 02853D6C */ rbrew_write32(cpu->mem, _t25, cpu->r[5]);
|
|
/* 02853D70 */ cpu->r[30] = 0x00000001u;
|
|
/* 02853D74 */ _t26 = cpu->r[5] + 0x00000040u;
|
|
/* 02853D74 */ rbrew_write32(cpu->mem, _t26, cpu->r[4]);
|
|
/* 02853D78 */ rbrew_dispatch(cpu, 0x02d0ad98u);
|
|
/* 02853D7C */ goto L_02853DE4;
|
|
L_02853D80: ; // 0x2853d80
|
|
/* 02853D80 */ cpu->r[30] = 0x00000000u;
|
|
/* 02853D84 */ _t27 = cpu->r[5] + 0x00000040u;
|
|
/* 02853D84 */ rbrew_write32(cpu->mem, _t27, cpu->r[4]);
|
|
/* 02853D88 */ rbrew_dispatch(cpu, 0x02d0ad98u);
|
|
/* 02853D8C */ goto L_02853DE4;
|
|
L_02853D90: ; // 0x2853d90
|
|
/* 02853D90 */ _t28 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853D90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02853D94 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02853D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02853D98 */ _t29 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853D98 */ rbrew_write32(cpu->mem, _t29, cpu->r[11]);
|
|
/* 02853D9C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853D9C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02853D9C */ if (_t31) goto L_02853DA0; else goto L_02853DAC;
|
|
L_02853DA0: ; // 0x2853da0
|
|
/* 02853DA0 */ _t32 = cpu->r[3] + 0x000000A8u;
|
|
/* 02853DA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02853DA4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02853DA8 */ _t33 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853DA8 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
L_02853DAC: ; // 0x2853dac
|
|
/* 02853DAC */ _t34 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853DAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02853DB0 */ _t35 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02853DB4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02853DB8 */ _t36 = cpu->r[3] + 0x000000A8u;
|
|
/* 02853DB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02853DBC */ _t37 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853DBC */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 02853DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[9]);
|
|
/* 02853DC4 */ _t38 = cpu->r[3] + 0x000000A4u;
|
|
/* 02853DC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02853DC8 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853DC8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02853DC8 */ if (_t40) goto L_02853DD0; else goto L_02853DCC;
|
|
L_02853DCC: ; // 0x2853dcc
|
|
/* 02853DCC */ cpu->r[0] = cpu->r[0] - cpu->r[9];
|
|
L_02853DD0: ; // 0x2853dd0
|
|
/* 02853DD0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02853DD4 */ _t41 = cpu->r[6] + cpu->r[7];
|
|
/* 02853DD4 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 02853DD8 */ cpu->r[30] = 0x00000001u;
|
|
/* 02853DDC */ _t42 = cpu->r[5] + 0x00000040u;
|
|
/* 02853DDC */ rbrew_write32(cpu->mem, _t42, cpu->r[4]);
|
|
/* 02853DE0 */ rbrew_dispatch(cpu, 0x02d0ad98u);
|
|
L_02853DE4: ; // 0x2853de4
|
|
/* 02853DE4 */ _t43 = cpu->r[0] + cpu->r[31];
|
|
/* 02853DE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02853DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 02853DEC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853DEC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02853DEC */ if (_t45) goto L_02853DF0; else goto L_02853DE4;
|
|
L_02853DF0: ; // 0x2853df0
|
|
/* 02853DF0 */ /* nop */
|
|
/* 02853DF4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02853DF8 */ /* nop */
|
|
/* 02853DFC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853DFC */ _t47 = _t46 & 0x00000001u;
|
|
/* 02853DFC */ if (_t47) goto L_02853E00; else goto L_02853DE4;
|
|
L_02853E00: ; // 0x2853e00
|
|
/* 02853E00 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02853E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02853E04 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853E08 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02853E08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02853E0C */ cpu->lr = cpu->r[0];
|
|
/* 02853E10 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853E10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02853E14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02853E18 */ return;
|
|
}
|
|
|
|
// fn_02853E1C @ 0x2853e1c
|
|
void Gambit_fn_02853E1C(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_02853E1C: ; // 0x2853e1c
|
|
/* 02853E1C */ cpu->r[0] = cpu->lr;
|
|
/* 02853E20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02853E20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853E20 */ cpu->r[1] = _t0;
|
|
/* 02853E24 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853E24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02853E28 */ cpu->r[31] = cpu->r[3] + 0x000000B4u;
|
|
/* 02853E2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02853E2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
L_02853E30: ; // 0x2853e30
|
|
/* 02853E30 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02853E30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02853E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u);
|
|
/* 02853E38 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853E38 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02853E38 */ if (_t5) goto L_02853E30; else goto L_02853E3C;
|
|
L_02853E3C: ; // 0x2853e3c
|
|
/* 02853E3C */ _t6 = cpu->r[0] + cpu->r[31];
|
|
/* 02853E3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02853E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02853E44 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853E44 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02853E44 */ if (_t8) goto L_02853E48; else goto L_02853E3C;
|
|
L_02853E48: ; // 0x2853e48
|
|
/* 02853E48 */ /* nop */
|
|
/* 02853E4C */ cpu->r[10] = 0x00000001u;
|
|
/* 02853E50 */ /* nop */
|
|
/* 02853E54 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853E54 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02853E54 */ if (_t10) goto L_02853E58; else goto L_02853E3C;
|
|
L_02853E58: ; // 0x2853e58
|
|
/* 02853E58 */ cpu->r[9] = 0x00000000u;
|
|
/* 02853E5C */ _t11 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853E5C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02853E60 */ _t12 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853E60 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02853E64 */ rbrew_dispatch(cpu, 0x02d0ad98u);
|
|
L_02853E68: ; // 0x2853e68
|
|
/* 02853E68 */ _t13 = cpu->r[0] + cpu->r[31];
|
|
/* 02853E68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02853E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02853E70 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853E70 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02853E70 */ if (_t15) goto L_02853E74; else goto L_02853E68;
|
|
L_02853E74: ; // 0x2853e74
|
|
/* 02853E74 */ /* nop */
|
|
/* 02853E78 */ cpu->r[12] = 0x00000000u;
|
|
/* 02853E7C */ /* nop */
|
|
/* 02853E80 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853E80 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02853E80 */ if (_t17) goto L_02853E84; else goto L_02853E68;
|
|
L_02853E84: ; // 0x2853e84
|
|
/* 02853E84 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02853E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02853E88 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853E88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02853E8C */ cpu->lr = cpu->r[0];
|
|
/* 02853E90 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02853E94 */ return;
|
|
}
|
|
|
|
// fn_02853E20 @ 0x2853e20
|
|
void Gambit_fn_02853E20(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_02853E20: ; // 0x2853e20
|
|
/* 02853E20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02853E20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853E20 */ cpu->r[1] = _t0;
|
|
/* 02853E24 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853E24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02853E28 */ cpu->r[31] = cpu->r[3] + 0x000000B4u;
|
|
/* 02853E2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02853E2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
L_02853E30: ; // 0x2853e30
|
|
/* 02853E30 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02853E30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02853E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u);
|
|
/* 02853E38 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853E38 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02853E38 */ if (_t5) goto L_02853E30; else goto L_02853E3C;
|
|
L_02853E3C: ; // 0x2853e3c
|
|
/* 02853E3C */ _t6 = cpu->r[0] + cpu->r[31];
|
|
/* 02853E3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02853E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02853E44 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853E44 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02853E44 */ if (_t8) goto L_02853E48; else goto L_02853E3C;
|
|
L_02853E48: ; // 0x2853e48
|
|
/* 02853E48 */ /* nop */
|
|
/* 02853E4C */ cpu->r[10] = 0x00000001u;
|
|
/* 02853E50 */ /* nop */
|
|
/* 02853E54 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853E54 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02853E54 */ if (_t10) goto L_02853E58; else goto L_02853E3C;
|
|
L_02853E58: ; // 0x2853e58
|
|
/* 02853E58 */ cpu->r[9] = 0x00000000u;
|
|
/* 02853E5C */ _t11 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853E5C */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02853E60 */ _t12 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853E60 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02853E64 */ rbrew_dispatch(cpu, 0x02d0ad98u);
|
|
L_02853E68: ; // 0x2853e68
|
|
/* 02853E68 */ _t13 = cpu->r[0] + cpu->r[31];
|
|
/* 02853E68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02853E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02853E70 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853E70 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02853E70 */ if (_t15) goto L_02853E74; else goto L_02853E68;
|
|
L_02853E74: ; // 0x2853e74
|
|
/* 02853E74 */ /* nop */
|
|
/* 02853E78 */ cpu->r[12] = 0x00000000u;
|
|
/* 02853E7C */ /* nop */
|
|
/* 02853E80 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853E80 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02853E80 */ if (_t17) goto L_02853E84; else goto L_02853E68;
|
|
L_02853E84: ; // 0x2853e84
|
|
/* 02853E84 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02853E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02853E88 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853E88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02853E8C */ cpu->lr = cpu->r[0];
|
|
/* 02853E90 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02853E94 */ return;
|
|
}
|
|
|
|
// fn_02853E98 @ 0x2853e98
|
|
void Gambit_fn_02853E98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02853E98: ; // 0x2853e98
|
|
/* 02853E98 */ _t0 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853E98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02853E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02853EA0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853EA0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02853EA0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02853EA0 */ goto L_02853EA4;
|
|
L_02853EA4: ; // 0x2853ea4
|
|
/* 02853EA4 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02853EA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02853EA8 */ cpu->r[5] = 0x00000001u;
|
|
/* 02853EAC */ _t4 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02853EAC */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02853EB0 */ _t5 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02853EB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02853EB4 */ cpu->ctr = cpu->r[10];
|
|
/* 02853EB8 */ _t6 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02853EB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02853EBC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02853EC0 @ 0x2853ec0
|
|
void Gambit_fn_02853EC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02853EC0: ; // 0x2853ec0
|
|
/* 02853EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u);
|
|
/* 02853EC4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853EC4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02853EC4 */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 02853EC4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02853EC4 */ goto L_02853EC8;
|
|
L_02853EC8: ; // 0x2853ec8
|
|
/* 02853EC8 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02853EC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02853ECC */ _t4 = cpu->r[12] + 0x00000094u;
|
|
/* 02853ECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02853ED0 */ cpu->ctr = cpu->r[0];
|
|
/* 02853ED4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02853ED8 @ 0x2853ed8
|
|
void Gambit_fn_02853ED8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02853ED8: ; // 0x2853ed8
|
|
/* 02853ED8 */ cpu->r[0] = cpu->lr;
|
|
/* 02853EDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02853EDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853EDC */ cpu->r[1] = _t0;
|
|
/* 02853EE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853EE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02853EE4 */ cpu->r[31] = cpu->r[3] + 0x000000B4u;
|
|
/* 02853EE8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02853EE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02853EEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02853EEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_02853EF0: ; // 0x2853ef0
|
|
/* 02853EF0 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02853EF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02853EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02853EF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853EF8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02853EF8 */ if (_t6) goto L_02853EF0; else goto L_02853EFC;
|
|
L_02853EFC: ; // 0x2853efc
|
|
/* 02853EFC */ _t7 = cpu->r[0] + cpu->r[31];
|
|
/* 02853EFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02853F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02853F04 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853F04 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02853F04 */ if (_t9) goto L_02853F08; else goto L_02853EFC;
|
|
L_02853F08: ; // 0x2853f08
|
|
/* 02853F08 */ /* nop */
|
|
/* 02853F0C */ cpu->r[0] = 0x00000001u;
|
|
/* 02853F10 */ /* nop */
|
|
/* 02853F14 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853F14 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02853F14 */ if (_t11) goto L_02853F18; else goto L_02853EFC;
|
|
L_02853F18: ; // 0x2853f18
|
|
/* 02853F18 */ _t12 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853F18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02853F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02853F20 */ cpu->r[30] = 0x00000000u;
|
|
/* 02853F24 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02853F24 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02853F24 */ if (_t14) goto L_02853F28; else goto L_02853F74;
|
|
L_02853F28: ; // 0x2853f28
|
|
/* 02853F28 */ _t15 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853F28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02853F2C */ _t16 = cpu->r[3] + 0x000000A8u;
|
|
/* 02853F2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02853F30 */ cpu->r[9] = cpu->r[10];
|
|
/* 02853F34 */ _t17 = cpu->r[3] + 0x000000A4u;
|
|
/* 02853F34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02853F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[11]);
|
|
/* 02853F3C */ cpu->r[5] = cpu->r[11];
|
|
/* 02853F40 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853F40 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02853F40 */ if (_t19) goto L_02853F48; else goto L_02853F44;
|
|
L_02853F44: ; // 0x2853f44
|
|
/* 02853F44 */ cpu->r[9] = cpu->r[9] - cpu->r[11];
|
|
L_02853F48: ; // 0x2853f48
|
|
/* 02853F48 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02853F4C */ _t20 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853F4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02853F50 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02853F54 */ _t21 = cpu->r[12] + cpu->r[4];
|
|
/* 02853F54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02853F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[5]);
|
|
/* 02853F5C */ _t22 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853F5C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 02853F60 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853F60 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02853F60 */ if (_t24) goto L_02853F6C; else goto L_02853F64;
|
|
L_02853F64: ; // 0x2853f64
|
|
/* 02853F64 */ cpu->r[6] = 0x00000000u;
|
|
/* 02853F68 */ _t25 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853F68 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
L_02853F6C: ; // 0x2853f6c
|
|
/* 02853F6C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02853F70 */ _t26 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853F70 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
L_02853F74: ; // 0x2853f74
|
|
/* 02853F74 */ rbrew_dispatch(cpu, 0x02d0ad98u);
|
|
L_02853F78: ; // 0x2853f78
|
|
/* 02853F78 */ _t27 = cpu->r[0] + cpu->r[31];
|
|
/* 02853F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02853F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02853F80 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853F80 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02853F80 */ if (_t29) goto L_02853F84; else goto L_02853F78;
|
|
L_02853F84: ; // 0x2853f84
|
|
/* 02853F84 */ /* nop */
|
|
/* 02853F88 */ cpu->r[10] = 0x00000000u;
|
|
/* 02853F8C */ /* nop */
|
|
/* 02853F90 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853F90 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02853F90 */ if (_t31) goto L_02853F94; else goto L_02853F78;
|
|
L_02853F94: ; // 0x2853f94
|
|
/* 02853F94 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02853F94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02853F98 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853F9C */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02853F9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02853FA0 */ cpu->lr = cpu->r[0];
|
|
/* 02853FA4 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853FA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02853FA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02853FAC */ return;
|
|
}
|
|
|
|
// fn_02853EDC @ 0x2853edc
|
|
void Gambit_fn_02853EDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02853EDC: ; // 0x2853edc
|
|
/* 02853EDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02853EDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853EDC */ cpu->r[1] = _t0;
|
|
/* 02853EE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853EE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02853EE4 */ cpu->r[31] = cpu->r[3] + 0x000000B4u;
|
|
/* 02853EE8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02853EE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02853EEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02853EEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_02853EF0: ; // 0x2853ef0
|
|
/* 02853EF0 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02853EF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02853EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02853EF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853EF8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02853EF8 */ if (_t6) goto L_02853EF0; else goto L_02853EFC;
|
|
L_02853EFC: ; // 0x2853efc
|
|
/* 02853EFC */ _t7 = cpu->r[0] + cpu->r[31];
|
|
/* 02853EFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02853F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02853F04 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853F04 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02853F04 */ if (_t9) goto L_02853F08; else goto L_02853EFC;
|
|
L_02853F08: ; // 0x2853f08
|
|
/* 02853F08 */ /* nop */
|
|
/* 02853F0C */ cpu->r[0] = 0x00000001u;
|
|
/* 02853F10 */ /* nop */
|
|
/* 02853F14 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853F14 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02853F14 */ if (_t11) goto L_02853F18; else goto L_02853EFC;
|
|
L_02853F18: ; // 0x2853f18
|
|
/* 02853F18 */ _t12 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853F18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02853F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02853F20 */ cpu->r[30] = 0x00000000u;
|
|
/* 02853F24 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02853F24 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02853F24 */ if (_t14) goto L_02853F28; else goto L_02853F74;
|
|
L_02853F28: ; // 0x2853f28
|
|
/* 02853F28 */ _t15 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853F28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02853F2C */ _t16 = cpu->r[3] + 0x000000A8u;
|
|
/* 02853F2C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02853F30 */ cpu->r[9] = cpu->r[10];
|
|
/* 02853F34 */ _t17 = cpu->r[3] + 0x000000A4u;
|
|
/* 02853F34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02853F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[11]);
|
|
/* 02853F3C */ cpu->r[5] = cpu->r[11];
|
|
/* 02853F40 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853F40 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02853F40 */ if (_t19) goto L_02853F48; else goto L_02853F44;
|
|
L_02853F44: ; // 0x2853f44
|
|
/* 02853F44 */ cpu->r[9] = cpu->r[9] - cpu->r[11];
|
|
L_02853F48: ; // 0x2853f48
|
|
/* 02853F48 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02853F4C */ _t20 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853F4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02853F50 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02853F54 */ _t21 = cpu->r[12] + cpu->r[4];
|
|
/* 02853F54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02853F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[5]);
|
|
/* 02853F5C */ _t22 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853F5C */ rbrew_write32(cpu->mem, _t22, cpu->r[10]);
|
|
/* 02853F60 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02853F60 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02853F60 */ if (_t24) goto L_02853F6C; else goto L_02853F64;
|
|
L_02853F64: ; // 0x2853f64
|
|
/* 02853F64 */ cpu->r[6] = 0x00000000u;
|
|
/* 02853F68 */ _t25 = cpu->r[3] + 0x000000ACu;
|
|
/* 02853F68 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
L_02853F6C: ; // 0x2853f6c
|
|
/* 02853F6C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02853F70 */ _t26 = cpu->r[3] + 0x000000B0u;
|
|
/* 02853F70 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
L_02853F74: ; // 0x2853f74
|
|
/* 02853F74 */ rbrew_dispatch(cpu, 0x02d0ad98u);
|
|
L_02853F78: ; // 0x2853f78
|
|
/* 02853F78 */ _t27 = cpu->r[0] + cpu->r[31];
|
|
/* 02853F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02853F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02853F80 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853F80 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02853F80 */ if (_t29) goto L_02853F84; else goto L_02853F78;
|
|
L_02853F84: ; // 0x2853f84
|
|
/* 02853F84 */ /* nop */
|
|
/* 02853F88 */ cpu->r[10] = 0x00000000u;
|
|
/* 02853F8C */ /* nop */
|
|
/* 02853F90 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853F90 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02853F90 */ if (_t31) goto L_02853F94; else goto L_02853F78;
|
|
L_02853F94: ; // 0x2853f94
|
|
/* 02853F94 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02853F94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02853F98 */ cpu->r[3] = cpu->r[30];
|
|
/* 02853F9C */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02853F9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02853FA0 */ cpu->lr = cpu->r[0];
|
|
/* 02853FA4 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02853FA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02853FA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02853FAC */ return;
|
|
}
|
|
|
|
// fn_02853FB0 @ 0x2853fb0
|
|
void Gambit_fn_02853FB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02853FB0: ; // 0x2853fb0
|
|
/* 02853FB0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02853FB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02853FB0 */ cpu->r[1] = _t0;
|
|
/* 02853FB4 */ /* nop */
|
|
/* 02853FB8 */ cpu->r[0] = cpu->lr;
|
|
/* 02853FBC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02853FBC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02853FC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02853FC4 */ _t2 = cpu->r[31] + 0x000000C0u;
|
|
/* 02853FC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02853FC8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02853FCC */ _t3 = cpu->r[31] + 0x000000C0u;
|
|
/* 02853FCC */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02853FD0 */ rbrew_dispatch(cpu, 0x02d0ab30u);
|
|
/* 02853FD4 */ cpu->r[0] = 0x00000002u;
|
|
/* 02853FD8 */ _t4 = cpu->r[31] + 0x000000C8u;
|
|
/* 02853FD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02853FDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02853FE0 */ _t5 = cpu->r[31] + 0x000000CCu;
|
|
/* 02853FE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 02853FE4 */ _t6 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02853FE4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02853FE8 */ _t7 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02853FE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02853FEC */ Gambit_fn_02853ED8(cpu);
|
|
/* 02853FF0 */ cpu->r[26] = cpu->r[3];
|
|
/* 02853FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02853FF4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02853FF4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02853FF4 */ if (_t9) goto L_028540EC; else goto L_02853FF8;
|
|
L_02853FF8: ; // 0x2853ff8
|
|
/* 02853FF8 */ cpu->r[29] = 0x0000000Au;
|
|
/* 02853FFC */ cpu->r[28] = 0x00000009u;
|
|
/* 02854000 */ cpu->r[27] = 0x00000002u;
|
|
L_02854004: ; // 0x2854004
|
|
/* 02854004 */ _t10 = cpu->r[31] + 0x000000B8u;
|
|
/* 02854004 */ rbrew_write32(cpu->mem, _t10, cpu->r[26]);
|
|
/* 02854008 */ _t11 = cpu->r[26] + 0x00000040u;
|
|
/* 02854008 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285400C */ cpu->r[3] = 0x00000000u;
|
|
/* 02854010 */ cpu->r[30] = cpu->r[26] + 0x00000018u;
|
|
/* 02854014 */ cpu->r[25] = cpu->r[3];
|
|
/* 02854018 */ _t12 = cpu->r[31] + 0x000000BCu;
|
|
/* 02854018 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
L_0285401C: ; // 0x285401c
|
|
/* 0285401C */ _t13 = cpu->r[31] + 0x00000098u;
|
|
/* 0285401C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02854020 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02854020 */ rbrew_write32(cpu->mem, _t14, cpu->r[25]);
|
|
/* 02854024 */ _t15 = cpu->r[26] + 0x00000000u;
|
|
/* 02854024 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02854028 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u);
|
|
/* 0285402C */ _t16 = cpu->r[8] + 0x0000001Cu;
|
|
/* 0285402C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02854030 */ cpu->r[7] = cpu->r[8] + 0x00000018u;
|
|
/* 02854034 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02854034 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02854034 */ if (_t18) goto L_02854038; else goto L_02854068;
|
|
L_02854038: ; // 0x2854038
|
|
/* 02854038 */ cpu->ctr = cpu->r[10];
|
|
/* 0285403C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02854040 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02854044 */ _t19 = cpu->r[30] + cpu->r[9];
|
|
/* 02854044 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02854048 */ cpu->r[6] = cpu->r[31];
|
|
/* 0285404C */ cpu->r[3] = cpu->r[26];
|
|
/* 02854050 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02854054 */ _t20 = cpu->r[31] + 0x00000098u;
|
|
/* 02854054 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02854058 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000003u);
|
|
/* 0285405C */ cpu->r[12] = cpu->r[26] + 0x00000030u;
|
|
/* 02854060 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02854060 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02854060 */ if (_t22) goto L_02854090; else goto L_02854064;
|
|
L_02854064: ; // 0x2854064
|
|
/* 02854064 */ goto L_02854098;
|
|
L_02854068: ; // 0x2854068
|
|
/* 02854068 */ cpu->ctr = cpu->r[10];
|
|
/* 0285406C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02854070 */ cpu->r[6] = cpu->r[31];
|
|
/* 02854074 */ cpu->r[3] = cpu->r[26];
|
|
/* 02854078 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 02854078 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285407C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02854080 */ _t24 = cpu->r[31] + 0x00000098u;
|
|
/* 02854080 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02854084 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000003u);
|
|
/* 02854088 */ cpu->r[12] = cpu->r[26] + 0x00000030u;
|
|
/* 0285408C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285408C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0285408C */ if (_t26) goto L_02854090; else goto L_02854064;
|
|
L_02854090: ; // 0x2854090
|
|
/* 02854090 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02854094 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_02854098: ; // 0x2854098
|
|
/* 02854098 */ _t27 = cpu->r[12] + 0x00000000u;
|
|
/* 02854098 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285409C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0285409C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028540A0 */ cpu->r[9] = cpu->r[9] + cpu->r[0];
|
|
/* 028540A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028540A8 */ _t29 = cpu->r[12] + 0x00000000u;
|
|
/* 028540A8 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 028540AC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028540AC */ _t31 = _t30 & 0x00000001u;
|
|
/* 028540AC */ if (_t31) goto L_0285401C; else goto L_028540B0;
|
|
L_028540B0: ; // 0x28540b0
|
|
/* 028540B0 */ _t32 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028540B0 */ rbrew_write32(cpu->mem, _t32, cpu->r[28]);
|
|
/* 028540B4 */ _t33 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028540B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028540B8 */ _t34 = cpu->r[31] + 0x00000098u;
|
|
/* 028540B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028540BC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 028540C0 */ cpu->r[3] = cpu->r[26];
|
|
/* 028540C4 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028540C4 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 028540C8 */ Gambit_fn_02828D30(cpu);
|
|
/* 028540CC */ _t36 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028540CC */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
|
|
/* 028540D0 */ _t37 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028540D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028540D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028540D8 */ _t38 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028540D8 */ rbrew_write32(cpu->mem, _t38, cpu->r[27]);
|
|
/* 028540DC */ _t39 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028540DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 028540E0 */ Gambit_fn_02853ED8(cpu);
|
|
/* 028540E4 */ cpu->r[26] = cpu->r[3];
|
|
/* 028540E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 028540E8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028540E8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 028540E8 */ if (_t41) goto L_028540EC; else goto L_02854004;
|
|
L_028540EC: ; // 0x28540ec
|
|
/* 028540EC */ cpu->r[0] = 0x00000000u;
|
|
/* 028540F0 */ _t42 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028540F0 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 028540F4 */ _t43 = cpu->r[31] + 0x0000009Cu;
|
|
/* 028540F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 028540F8 */ _t44 = cpu->r[31] + 0x000000BCu;
|
|
/* 028540F8 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 028540FC */ _t45 = cpu->r[31] + 0x000000B8u;
|
|
/* 028540FC */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 02854100 */ /* nop */
|
|
/* 02854104 */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 02854104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02854108 */ cpu->lr = cpu->r[0];
|
|
/* 0285410C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02854110 */ return;
|
|
}
|
|
|
|
// fn_02854114 @ 0x2854114
|
|
void Gambit_fn_02854114(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_02854114: ; // 0x2854114
|
|
/* 02854114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02854118 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854118 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02854118 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02854118 */ goto L_0285411C;
|
|
L_0285411C: ; // 0x285411c
|
|
/* 0285411C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285411C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02854120 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854120 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02854120 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02854120 */ goto L_02854124;
|
|
L_02854124: ; // 0x2854124
|
|
/* 02854124 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02854128 @ 0x2854128
|
|
void Gambit_fn_02854128(CPUState* cpu) {
|
|
L_02854128: ; // 0x2854128
|
|
/* 02854128 */ return;
|
|
}
|
|
|
|
// fn_0285412C @ 0x285412c
|
|
void Gambit_fn_0285412C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0285412C: ; // 0x285412c
|
|
/* 0285412C */ cpu->r[0] = cpu->lr;
|
|
/* 02854130 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02854130 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854130 */ cpu->r[1] = _t0;
|
|
/* 02854134 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854134 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02854138 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02854138 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285413C */ cpu->r[30] = cpu->r[3];
|
|
/* 0285413C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02854140 */ cpu->r[31] = cpu->r[4];
|
|
/* 02854144 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02854144 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02854148 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854148 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02854148 */ if (_t5) goto L_02854174; else goto L_0285414C;
|
|
L_0285414C: ; // 0x285414c
|
|
/* 0285414C */ cpu->r[0] = 0x10130000u;
|
|
/* 02854150 */ cpu->r[3] = cpu->r[30];
|
|
/* 02854154 */ cpu->r[0] = cpu->r[0] + 0x0000070Cu;
|
|
/* 02854158 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285415C */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 0285415C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02854160 */ Gambit_fn_028379A8(cpu);
|
|
/* 02854164 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02854164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02854168 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854168 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02854168 */ if (_t8) goto L_02854174; else goto L_0285416C;
|
|
L_0285416C: ; // 0x285416c
|
|
/* 0285416C */ cpu->r[3] = cpu->r[30];
|
|
/* 02854170 */ Gambit_fn_02801BB0(cpu);
|
|
L_02854174: ; // 0x2854174
|
|
/* 02854174 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02854174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02854178 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02854178 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285417C */ cpu->lr = cpu->r[0];
|
|
/* 02854180 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854180 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02854184 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02854188 */ return;
|
|
}
|
|
|
|
// fn_02854130 @ 0x2854130
|
|
void Gambit_fn_02854130(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02854130: ; // 0x2854130
|
|
/* 02854130 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02854130 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854130 */ cpu->r[1] = _t0;
|
|
/* 02854134 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854134 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02854138 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02854138 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285413C */ cpu->r[30] = cpu->r[3];
|
|
/* 0285413C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02854140 */ cpu->r[31] = cpu->r[4];
|
|
/* 02854144 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02854144 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02854148 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854148 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02854148 */ if (_t5) goto L_02854174; else goto L_0285414C;
|
|
L_0285414C: ; // 0x285414c
|
|
/* 0285414C */ cpu->r[0] = 0x10130000u;
|
|
/* 02854150 */ cpu->r[3] = cpu->r[30];
|
|
/* 02854154 */ cpu->r[0] = cpu->r[0] + 0x0000070Cu;
|
|
/* 02854158 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285415C */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 0285415C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02854160 */ Gambit_fn_028379A8(cpu);
|
|
/* 02854164 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02854164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02854168 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854168 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02854168 */ if (_t8) goto L_02854174; else goto L_0285416C;
|
|
L_0285416C: ; // 0x285416c
|
|
/* 0285416C */ cpu->r[3] = cpu->r[30];
|
|
/* 02854170 */ Gambit_fn_02801BB0(cpu);
|
|
L_02854174: ; // 0x2854174
|
|
/* 02854174 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02854174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02854178 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02854178 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285417C */ cpu->lr = cpu->r[0];
|
|
/* 02854180 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854180 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02854184 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02854188 */ return;
|
|
}
|
|
|
|
// fn_0285418C @ 0x285418c
|
|
void Gambit_fn_0285418C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0285418C: ; // 0x285418c
|
|
/* 0285418C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02854190 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02854190 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02854190 */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 02854190 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02854190 */ goto L_02854194;
|
|
L_02854194: ; // 0x2854194
|
|
/* 02854194 */ cpu->r[4] = cpu->r[3];
|
|
/* 02854198 */ cpu->r[3] = 0x10130000u;
|
|
/* 0285419C */ cpu->r[3] = cpu->r[3] + 0x000007E4u;
|
|
/* 028541A0 */ _t3 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 028541A0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028541A0 */ if (_t4) goto L_028541A4; // else: addr-0 trap, fall-through
|
|
L_028541A4: ; // 0x28541a4
|
|
/* 028541A4 */ rbrew_dispatch(cpu, 0x02d0ae08u); return;
|
|
}
|
|
|
|
// fn_028541A8 @ 0x28541a8
|
|
void Gambit_fn_028541A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_028541A8: ; // 0x28541a8
|
|
/* 028541A8 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 028541A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028541AC */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 028541AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028541B0 */ _t2 = cpu->r[5] + 0x00000000u;
|
|
/* 028541B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 028541B4 */ _t3 = cpu->r[5] + 0x00000004u;
|
|
/* 028541B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[10]);
|
|
/* 028541B8 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 028541B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 028541BC */ _t5 = cpu->r[10] + 0x00000000u;
|
|
/* 028541BC */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 028541C0 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 028541C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028541C4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028541C8 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 028541C8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 028541CC */ cpu->r[3] = cpu->r[5];
|
|
/* 028541D0 */ return;
|
|
}
|
|
|
|
// fn_028541D4 @ 0x28541d4
|
|
void Gambit_fn_028541D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_028541D4: ; // 0x28541d4
|
|
/* 028541D4 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 028541D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028541D8 */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 028541D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028541DC */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 028541DC */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 028541E0 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 028541E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 028541E4 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 028541E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028541E8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 028541EC */ cpu->r[9] = 0x00000000u;
|
|
/* 028541F0 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 028541F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 028541F4 */ _t6 = cpu->r[4] + 0x00000004u;
|
|
/* 028541F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 028541F8 */ cpu->r[3] = cpu->r[12];
|
|
/* 028541FC */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 028541FC */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02854200 */ return;
|
|
}
|
|
|
|
// fn_02854204 @ 0x2854204
|
|
void Gambit_fn_02854204(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02854204: ; // 0x2854204
|
|
/* 02854204 */ cpu->r[0] = cpu->lr;
|
|
/* 02854208 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02854208 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0285420C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285420C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0285420C */ cpu->r[1] = _t1;
|
|
/* 02854210 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02854210 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02854214 */ _t3 = cpu->r[5] + 0x00000000u;
|
|
/* 02854214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02854218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0285421C */ cpu->r[10] = cpu->r[3];
|
|
/* 02854220 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854220 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02854220 */ if (_t5) goto L_0285423C; else goto L_02854224;
|
|
L_02854224: ; // 0x2854224
|
|
/* 02854224 */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 02854224 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02854228 */ cpu->r[3] = cpu->r[10];
|
|
/* 0285422C */ Gambit_fn_028541D4(cpu);
|
|
/* 02854230 */ cpu->r[4] = cpu->r[8];
|
|
/* 02854234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02854238 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854238 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02854238 */ if (_t8) goto L_0285423C; else goto L_02854224;
|
|
L_0285423C: ; // 0x285423c
|
|
/* 0285423C */ cpu->r[3] = cpu->r[0];
|
|
/* 02854240 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02854244 */ cpu->lr = cpu->r[0];
|
|
/* 02854248 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285424C */ return;
|
|
}
|
|
|
|
// fn_0285420C @ 0x285420c
|
|
void Gambit_fn_0285420C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285420C: ; // 0x285420c
|
|
/* 0285420C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285420C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285420C */ cpu->r[1] = _t0;
|
|
/* 02854210 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02854210 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02854214 */ _t2 = cpu->r[5] + 0x00000000u;
|
|
/* 02854214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02854218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0285421C */ cpu->r[10] = cpu->r[3];
|
|
/* 02854220 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854220 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02854220 */ if (_t4) goto L_0285423C; else goto L_02854224;
|
|
L_02854224: ; // 0x2854224
|
|
/* 02854224 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02854224 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02854228 */ cpu->r[3] = cpu->r[10];
|
|
/* 0285422C */ Gambit_fn_028541D4(cpu);
|
|
/* 02854230 */ cpu->r[4] = cpu->r[8];
|
|
/* 02854234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02854238 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854238 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02854238 */ if (_t7) goto L_0285423C; else goto L_02854224;
|
|
L_0285423C: ; // 0x285423c
|
|
/* 0285423C */ cpu->r[3] = cpu->r[0];
|
|
/* 02854240 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02854244 */ cpu->lr = cpu->r[0];
|
|
/* 02854248 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285424C */ return;
|
|
}
|
|
|
|
// fn_02854250 @ 0x2854250
|
|
void Gambit_fn_02854250(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02854250: ; // 0x2854250
|
|
/* 02854250 */ cpu->r[0] = cpu->lr;
|
|
/* 02854254 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02854254 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02854258 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02854258 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02854258 */ cpu->r[1] = _t1;
|
|
/* 0285425C */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 0285425C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02854260 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 02854260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02854264 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02854268 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02854268 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0285426C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854270 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854270 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02854274 */ Gambit_fn_02854204(cpu);
|
|
/* 02854278 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02854278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285427C */ cpu->lr = cpu->r[0];
|
|
/* 02854280 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02854284 */ return;
|
|
}
|
|
|
|
// fn_02854258 @ 0x2854258
|
|
void Gambit_fn_02854258(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02854258: ; // 0x2854258
|
|
/* 02854258 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02854258 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854258 */ cpu->r[1] = _t0;
|
|
/* 0285425C */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 0285425C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02854260 */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 02854260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02854264 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02854268 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02854268 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0285426C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854270 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854270 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02854274 */ Gambit_fn_02854204(cpu);
|
|
/* 02854278 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02854278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285427C */ cpu->lr = cpu->r[0];
|
|
/* 02854280 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02854284 */ return;
|
|
}
|
|
|
|
// fn_02854288 @ 0x2854288
|
|
void Gambit_fn_02854288(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02854288: ; // 0x2854288
|
|
/* 02854288 */ cpu->r[0] = cpu->r[3];
|
|
/* 0285428C */ cpu->r[3] = 0x00000001u;
|
|
L_02854290: ; // 0x2854290
|
|
/* 02854290 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02854290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02854294 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854294 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02854294 */ if (_t1) goto L_0285429C; else goto L_02854298;
|
|
L_02854298: ; // 0x2854298
|
|
/* 02854298 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[0]);
|
|
L_0285429C: ; // 0x285429c
|
|
/* 0285429C */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 0285429C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 028542A0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028542A0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 028542A0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028542A0 */ goto L_028542A4;
|
|
L_028542A4: ; // 0x28542a4
|
|
/* 028542A4 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[0]);
|
|
/* 028542A8 */ goto L_02854290;
|
|
}
|
|
|
|
// fn_028542AC @ 0x28542ac
|
|
void Gambit_fn_028542AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_028542AC: ; // 0x28542ac
|
|
/* 028542AC */ cpu->r[12] = 0x10130000u;
|
|
/* 028542B0 */ _t0 = cpu->r[12] + 0x000007F8u;
|
|
/* 028542B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 028542B4 */ cpu->r[12] = 0x10130000u;
|
|
/* 028542B8 */ _t1 = cpu->r[12] + 0x000007F0u;
|
|
/* 028542B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 028542BC */ cpu->r[12] = 0x101F0000u;
|
|
/* 028542C0 */ _t2 = cpu->r[12] + 0x00006F30u;
|
|
/* 028542C0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[13]);
|
|
/* 028542C4 */ cpu->r[12] = 0x101F0000u;
|
|
/* 028542C8 */ _t3 = cpu->r[12] + 0x00006F28u;
|
|
/* 028542C8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 028542CC */ cpu->r[12] = 0x10130000u;
|
|
/* 028542D0 */ _t4 = cpu->r[12] + 0x000007ECu;
|
|
/* 028542D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 028542D4 */ cpu->r[12] = 0x10130000u;
|
|
/* 028542D8 */ _t5 = cpu->r[12] + 0x000007F4u;
|
|
/* 028542D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 028542DC */ cpu->r[12] = 0x101F0000u;
|
|
/* 028542E0 */ _t6 = cpu->r[12] + 0x00006F24u;
|
|
/* 028542E0 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 028542E4 */ cpu->r[12] = 0x101F0000u;
|
|
/* 028542E8 */ _t7 = cpu->r[12] + 0x00006F2Cu;
|
|
/* 028542E8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 028542EC */ return;
|
|
}
|
|
|
|
// fn_028542F0 @ 0x28542f0
|
|
void Gambit_fn_028542F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_028542F0: ; // 0x28542f0
|
|
/* 028542F0 */ cpu->r[0] = cpu->lr;
|
|
/* 028542F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028542F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028542F4 */ cpu->r[1] = _t0;
|
|
/* 028542F8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028542F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028542FC */ cpu->r[31] = cpu->r[3];
|
|
/* 028542FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854300 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02854300 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02854304 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854304 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02854304 */ if (_t4) goto L_02854308; else goto L_02854318;
|
|
L_02854308: ; // 0x2854308
|
|
/* 02854308 */ cpu->r[3] = 0x00000034u;
|
|
/* 0285430C */ Gambit_fn_02801A78(cpu);
|
|
/* 02854310 */ cpu->r[31] = cpu->r[3];
|
|
/* 02854310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854314 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854314 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02854314 */ if (_t6) goto L_028543A4; else goto L_02854318;
|
|
L_02854318: ; // 0x2854318
|
|
/* 02854318 */ cpu->r[6] = 0x02850000u;
|
|
/* 0285431C */ cpu->r[3] = cpu->r[31];
|
|
/* 02854320 */ cpu->r[4] = 0x00000002u;
|
|
/* 02854324 */ cpu->r[6] = cpu->r[6] + 0x00004BF4u;
|
|
/* 02854328 */ cpu->r[5] = 0x00000004u;
|
|
/* 0285432C */ Gambit_fn_02C82E00(cpu);
|
|
/* 02854330 */ cpu->r[12] = 0x10130000u;
|
|
/* 02854334 */ cpu->r[0] = 0x00000000u;
|
|
/* 02854338 */ _t7 = cpu->r[12] + 0x00001820u;
|
|
/* 02854338 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0285433C */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0285433C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02854340 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02854340 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 02854344 */ _t10 = cpu->r[31] + 0x00000024u;
|
|
/* 02854344 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02854348 */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 02854348 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 0285434C */ _t12 = cpu->r[31] + 0x00000028u;
|
|
/* 0285434C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02854350 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02854354 */ _t13 = cpu->r[31] + 0x00000008u;
|
|
/* 02854354 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02854358 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02854358 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 0285435C */ cpu->r[11] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854360 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854360 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02854364 */ /* nop */
|
|
/* 02854368 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285436C */ /* nop */
|
|
/* 02854370 */ cpu->r[8] = cpu->r[1] + 0x00000010u;
|
|
/* 02854374 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02854374 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02854378 */ /* nop */
|
|
/* 0285437C */ cpu->r[9] = cpu->r[31] + 0x00000004u;
|
|
/* 02854380 */ _t17 = cpu->r[12] + 0x00001824u;
|
|
/* 02854380 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02854384 */ /* nop */
|
|
/* 02854388 */ _t18 = cpu->r[31] + 0x00000010u;
|
|
/* 02854388 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 0285438C */ _t19 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285438C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02854390 */ _t20 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02854390 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02854394 */ _t21 = cpu->r[31] + 0x00000018u;
|
|
/* 02854394 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02854398 */ cpu->r[12] = 0x000000FFu;
|
|
/* 0285439C */ _t22 = cpu->r[31] + 0x00000014u;
|
|
/* 0285439C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 028543A0 */ _t23 = cpu->r[31] + 0x00000031u;
|
|
/* 028543A0 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]);
|
|
L_028543A4: ; // 0x28543a4
|
|
/* 028543A4 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028543A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028543A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028543AC */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 028543AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 028543B0 */ cpu->lr = cpu->r[0];
|
|
/* 028543B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028543B8 */ return;
|
|
}
|
|
|
|
// fn_028542F4 @ 0x28542f4
|
|
void Gambit_fn_028542F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_028542F4: ; // 0x28542f4
|
|
/* 028542F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028542F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028542F4 */ cpu->r[1] = _t0;
|
|
/* 028542F8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028542F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028542FC */ cpu->r[31] = cpu->r[3];
|
|
/* 028542FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854300 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02854300 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02854304 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854304 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02854304 */ if (_t4) goto L_02854308; else goto L_02854318;
|
|
L_02854308: ; // 0x2854308
|
|
/* 02854308 */ cpu->r[3] = 0x00000034u;
|
|
/* 0285430C */ Gambit_fn_02801A78(cpu);
|
|
/* 02854310 */ cpu->r[31] = cpu->r[3];
|
|
/* 02854310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854314 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854314 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02854314 */ if (_t6) goto L_028543A4; else goto L_02854318;
|
|
L_02854318: ; // 0x2854318
|
|
/* 02854318 */ cpu->r[6] = 0x02850000u;
|
|
/* 0285431C */ cpu->r[3] = cpu->r[31];
|
|
/* 02854320 */ cpu->r[4] = 0x00000002u;
|
|
/* 02854324 */ cpu->r[6] = cpu->r[6] + 0x00004BF4u;
|
|
/* 02854328 */ cpu->r[5] = 0x00000004u;
|
|
/* 0285432C */ Gambit_fn_02C82E00(cpu);
|
|
/* 02854330 */ cpu->r[12] = 0x10130000u;
|
|
/* 02854334 */ cpu->r[0] = 0x00000000u;
|
|
/* 02854338 */ _t7 = cpu->r[12] + 0x00001820u;
|
|
/* 02854338 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0285433C */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0285433C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02854340 */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 02854340 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 02854344 */ _t10 = cpu->r[31] + 0x00000024u;
|
|
/* 02854344 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 02854348 */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 02854348 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
/* 0285434C */ _t12 = cpu->r[31] + 0x00000028u;
|
|
/* 0285434C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02854350 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02854354 */ _t13 = cpu->r[31] + 0x00000008u;
|
|
/* 02854354 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02854358 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02854358 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 0285435C */ cpu->r[11] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854360 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854360 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02854364 */ /* nop */
|
|
/* 02854368 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285436C */ /* nop */
|
|
/* 02854370 */ cpu->r[8] = cpu->r[1] + 0x00000010u;
|
|
/* 02854374 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02854374 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02854378 */ /* nop */
|
|
/* 0285437C */ cpu->r[9] = cpu->r[31] + 0x00000004u;
|
|
/* 02854380 */ _t17 = cpu->r[12] + 0x00001824u;
|
|
/* 02854380 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02854384 */ /* nop */
|
|
/* 02854388 */ _t18 = cpu->r[31] + 0x00000010u;
|
|
/* 02854388 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 0285438C */ _t19 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285438C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02854390 */ _t20 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02854390 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 02854394 */ _t21 = cpu->r[31] + 0x00000018u;
|
|
/* 02854394 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 02854398 */ cpu->r[12] = 0x000000FFu;
|
|
/* 0285439C */ _t22 = cpu->r[31] + 0x00000014u;
|
|
/* 0285439C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 028543A0 */ _t23 = cpu->r[31] + 0x00000031u;
|
|
/* 028543A0 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]);
|
|
L_028543A4: ; // 0x28543a4
|
|
/* 028543A4 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028543A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028543A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028543AC */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 028543AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 028543B0 */ cpu->lr = cpu->r[0];
|
|
/* 028543B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028543B8 */ return;
|
|
}
|
|
|
|
// fn_028543BC @ 0x28543bc
|
|
void Gambit_fn_028543BC(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_028543BC: ; // 0x28543bc
|
|
/* 028543BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028543C0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028543C0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028543C0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028543C0 */ goto L_028543C4;
|
|
L_028543C4: ; // 0x28543c4
|
|
/* 028543C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028543C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028543C8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028543C8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028543C8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028543C8 */ goto L_028543CC;
|
|
L_028543CC: ; // 0x28543cc
|
|
/* 028543CC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028543D0 @ 0x28543d0
|
|
void Gambit_fn_028543D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028543D0: ; // 0x28543d0
|
|
/* 028543D0 */ cpu->r[0] = cpu->lr;
|
|
/* 028543D4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 028543D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028543D4 */ cpu->r[1] = _t0;
|
|
/* 028543D8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 028543D8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 028543DC */ /* nop */
|
|
/* 028543E0 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 028543E0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 028543E4 */ /* nop */
|
|
/* 028543E8 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 028543E8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 028543EC */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 028543EC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 028543F0 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028543F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028543F4 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 028543F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 028543F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028543FC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 028543FC */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02854400 */ _t8 = cpu->r[30] + 0x00000028u;
|
|
/* 02854400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02854404 */ cpu->f[31] = cpu->f[1];
|
|
/* 02854408 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02854408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285440C */ _t10 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0285440C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02854410 */ cpu->ctr = cpu->r[0];
|
|
/* 02854414 */ cpu->f[30] = cpu->f[2];
|
|
/* 02854418 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285441C */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 02854420 */ cpu->r[31] = 0x43300000u;
|
|
/* 02854424 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854424 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02854428 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285442C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0285442C */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 02854430 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02854430 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 02854434 */ _t14 = cpu->r[12] + 0x00001828u;
|
|
/* 02854434 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02854438 */ _t15 = cpu->r[30] + 0x00000028u;
|
|
/* 02854438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285443C */ cpu->f[12] = cpu->f[12] - cpu->f[0];
|
|
/* 02854440 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02854440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02854444 */ cpu->f[10] = (double)(float)cpu->f[12];
|
|
/* 02854448 */ _t17 = cpu->r[12] + 0x00000024u;
|
|
/* 02854448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285444C */ cpu->f[31] = cpu->f[31] / cpu->f[10];
|
|
/* 02854450 */ cpu->ctr = cpu->r[0];
|
|
/* 02854454 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02854458 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 0285445C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0285445C */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02854460 */ cpu->r[12] = 0x10130000u;
|
|
/* 02854464 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854464 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02854468 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02854468 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 0285446C */ _t21 = cpu->r[12] + 0x00001828u;
|
|
/* 0285446C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 02854470 */ cpu->f[11] = cpu->f[9] - cpu->f[13];
|
|
/* 02854474 */ cpu->f[13] = (double)(float)cpu->f[11];
|
|
/* 02854478 */ cpu->f[0] = cpu->f[30] / cpu->f[13];
|
|
/* 0285447C */ _t22 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285447C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[31]);
|
|
/* 02854480 */ _t23 = cpu->r[30] + 0x00000010u;
|
|
/* 02854480 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 02854484 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02854484 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02854488 */ _t25 = cpu->r[1] + 0x00000030u;
|
|
/* 02854488 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0285448C */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 0285448C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 02854490 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 02854490 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 02854494 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02854494 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02854498 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02854498 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0285449C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285449C */ _t31 = _t30 & 0x00000001u;
|
|
/* 0285449C */ if (_t31) goto L_028544A0; // else: addr-0 trap, fall-through
|
|
L_028544A0: ; // 0x28544a0
|
|
/* 028544A0 */ _t32 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028544A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028544A4 */ cpu->lr = cpu->r[0];
|
|
/* 028544A8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 028544AC */ return;
|
|
}
|
|
|
|
// fn_028543D4 @ 0x28543d4
|
|
void Gambit_fn_028543D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_028543D4: ; // 0x28543d4
|
|
/* 028543D4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 028543D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028543D4 */ cpu->r[1] = _t0;
|
|
/* 028543D8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 028543D8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 028543DC */ /* nop */
|
|
/* 028543E0 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 028543E0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 028543E4 */ /* nop */
|
|
/* 028543E8 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 028543E8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 028543EC */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 028543EC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 028543F0 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028543F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028543F4 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 028543F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 028543F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028543FC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 028543FC */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02854400 */ _t8 = cpu->r[30] + 0x00000028u;
|
|
/* 02854400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02854404 */ cpu->f[31] = cpu->f[1];
|
|
/* 02854408 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02854408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285440C */ _t10 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0285440C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02854410 */ cpu->ctr = cpu->r[0];
|
|
/* 02854414 */ cpu->f[30] = cpu->f[2];
|
|
/* 02854418 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285441C */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 02854420 */ cpu->r[31] = 0x43300000u;
|
|
/* 02854424 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854424 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02854428 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285442C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0285442C */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 02854430 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02854430 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 02854434 */ _t14 = cpu->r[12] + 0x00001828u;
|
|
/* 02854434 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02854438 */ _t15 = cpu->r[30] + 0x00000028u;
|
|
/* 02854438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285443C */ cpu->f[12] = cpu->f[12] - cpu->f[0];
|
|
/* 02854440 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02854440 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02854444 */ cpu->f[10] = (double)(float)cpu->f[12];
|
|
/* 02854448 */ _t17 = cpu->r[12] + 0x00000024u;
|
|
/* 02854448 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285444C */ cpu->f[31] = cpu->f[31] / cpu->f[10];
|
|
/* 02854450 */ cpu->ctr = cpu->r[0];
|
|
/* 02854454 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02854458 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 0285445C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0285445C */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02854460 */ cpu->r[12] = 0x10130000u;
|
|
/* 02854464 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854464 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02854468 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02854468 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 0285446C */ _t21 = cpu->r[12] + 0x00001828u;
|
|
/* 0285446C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 02854470 */ cpu->f[11] = cpu->f[9] - cpu->f[13];
|
|
/* 02854474 */ cpu->f[13] = (double)(float)cpu->f[11];
|
|
/* 02854478 */ cpu->f[0] = cpu->f[30] / cpu->f[13];
|
|
/* 0285447C */ _t22 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285447C */ rbrew_write_f32(cpu->mem, _t22, cpu->f[31]);
|
|
/* 02854480 */ _t23 = cpu->r[30] + 0x00000010u;
|
|
/* 02854480 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 02854484 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02854484 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02854488 */ _t25 = cpu->r[1] + 0x00000030u;
|
|
/* 02854488 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0285448C */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 0285448C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 02854490 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 02854490 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 02854494 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02854494 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02854498 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02854498 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0285449C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285449C */ _t31 = _t30 & 0x00000001u;
|
|
/* 0285449C */ if (_t31) goto L_028544A0; // else: addr-0 trap, fall-through
|
|
L_028544A0: ; // 0x28544a0
|
|
/* 028544A0 */ _t32 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028544A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028544A4 */ cpu->lr = cpu->r[0];
|
|
/* 028544A8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 028544AC */ return;
|
|
}
|
|
|
|
// fn_028544B0 @ 0x28544b0
|
|
void Gambit_fn_028544B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_028544B0: ; // 0x28544b0
|
|
/* 028544B0 */ cpu->r[0] = cpu->lr;
|
|
/* 028544B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028544B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028544B4 */ cpu->r[1] = _t0;
|
|
/* 028544B8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028544B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028544BC */ cpu->r[31] = cpu->r[3];
|
|
/* 028544C0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028544C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028544C4 */ _t3 = cpu->r[31] + 0x00000028u;
|
|
/* 028544C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028544C8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 028544C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028544CC */ _t5 = cpu->r[11] + 0x0000001Cu;
|
|
/* 028544CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028544D0 */ cpu->ctr = cpu->r[0];
|
|
/* 028544D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028544D8 */ cpu->r[12] = 0x10130000u;
|
|
/* 028544DC */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 028544E0 */ _t6 = cpu->r[12] + 0x00001828u;
|
|
/* 028544E0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 028544E4 */ cpu->r[12] = 0x43300000u;
|
|
/* 028544E8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028544E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028544EC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 028544EC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 028544F0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028544F0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 028544F4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028544F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028544F8 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 028544FC */ cpu->lr = cpu->r[0];
|
|
/* 02854500 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 02854504 */ _t11 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02854504 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02854508 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02854508 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285450C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02854510 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02854514 */ return;
|
|
}
|
|
|
|
// fn_028544B4 @ 0x28544b4
|
|
void Gambit_fn_028544B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_028544B4: ; // 0x28544b4
|
|
/* 028544B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028544B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028544B4 */ cpu->r[1] = _t0;
|
|
/* 028544B8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028544B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028544BC */ cpu->r[31] = cpu->r[3];
|
|
/* 028544C0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028544C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028544C4 */ _t3 = cpu->r[31] + 0x00000028u;
|
|
/* 028544C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028544C8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 028544C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028544CC */ _t5 = cpu->r[11] + 0x0000001Cu;
|
|
/* 028544CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028544D0 */ cpu->ctr = cpu->r[0];
|
|
/* 028544D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028544D8 */ cpu->r[12] = 0x10130000u;
|
|
/* 028544DC */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 028544E0 */ _t6 = cpu->r[12] + 0x00001828u;
|
|
/* 028544E0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 028544E4 */ cpu->r[12] = 0x43300000u;
|
|
/* 028544E8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028544E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028544EC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 028544EC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 028544F0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028544F0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 028544F4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028544F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028544F8 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 028544FC */ cpu->lr = cpu->r[0];
|
|
/* 02854500 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 02854504 */ _t11 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02854504 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02854508 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02854508 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285450C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02854510 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02854514 */ return;
|
|
}
|
|
|
|
// fn_02854518 @ 0x2854518
|
|
void Gambit_fn_02854518(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02854518: ; // 0x2854518
|
|
/* 02854518 */ cpu->r[0] = cpu->lr;
|
|
/* 0285451C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285451C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285451C */ cpu->r[1] = _t0;
|
|
/* 02854520 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02854520 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02854524 */ cpu->r[31] = cpu->r[3];
|
|
/* 02854528 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02854528 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285452C */ _t3 = cpu->r[31] + 0x00000028u;
|
|
/* 0285452C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02854530 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02854530 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02854534 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 02854534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02854538 */ cpu->ctr = cpu->r[0];
|
|
/* 0285453C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02854540 */ cpu->r[12] = 0x10130000u;
|
|
/* 02854544 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 02854548 */ _t6 = cpu->r[12] + 0x00001828u;
|
|
/* 02854548 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 0285454C */ cpu->r[12] = 0x43300000u;
|
|
/* 02854550 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854550 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02854554 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02854554 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02854558 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02854558 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 0285455C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285455C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02854560 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02854564 */ cpu->lr = cpu->r[0];
|
|
/* 02854568 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 0285456C */ _t11 = cpu->r[31] + 0x00000010u;
|
|
/* 0285456C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02854570 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02854570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02854574 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02854578 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 0285457C */ return;
|
|
}
|
|
|
|
// fn_0285451C @ 0x285451c
|
|
void Gambit_fn_0285451C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0285451C: ; // 0x285451c
|
|
/* 0285451C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285451C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285451C */ cpu->r[1] = _t0;
|
|
/* 02854520 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02854520 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02854524 */ cpu->r[31] = cpu->r[3];
|
|
/* 02854528 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02854528 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285452C */ _t3 = cpu->r[31] + 0x00000028u;
|
|
/* 0285452C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02854530 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02854530 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02854534 */ _t5 = cpu->r[11] + 0x00000024u;
|
|
/* 02854534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02854538 */ cpu->ctr = cpu->r[0];
|
|
/* 0285453C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02854540 */ cpu->r[12] = 0x10130000u;
|
|
/* 02854544 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 02854548 */ _t6 = cpu->r[12] + 0x00001828u;
|
|
/* 02854548 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 0285454C */ cpu->r[12] = 0x43300000u;
|
|
/* 02854550 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854550 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02854554 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02854554 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02854558 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02854558 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 0285455C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285455C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02854560 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02854564 */ cpu->lr = cpu->r[0];
|
|
/* 02854568 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 0285456C */ _t11 = cpu->r[31] + 0x00000010u;
|
|
/* 0285456C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02854570 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02854570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02854574 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02854578 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 0285457C */ return;
|
|
}
|
|
|
|
// fn_02854580 @ 0x2854580
|
|
void Gambit_fn_02854580(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02854580: ; // 0x2854580
|
|
/* 02854580 */ cpu->r[0] = cpu->lr;
|
|
/* 02854584 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02854584 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854584 */ cpu->r[1] = _t0;
|
|
/* 02854588 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02854588 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285458C */ cpu->r[31] = cpu->r[3];
|
|
/* 02854590 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02854590 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02854594 */ _t3 = cpu->r[31] + 0x00000028u;
|
|
/* 02854594 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02854598 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02854598 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285459C */ _t5 = cpu->r[11] + 0x0000002Cu;
|
|
/* 0285459C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028545A0 */ cpu->ctr = cpu->r[0];
|
|
/* 028545A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028545A8 */ cpu->r[12] = 0x10130000u;
|
|
/* 028545AC */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 028545B0 */ _t6 = cpu->r[12] + 0x00001828u;
|
|
/* 028545B0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 028545B4 */ cpu->r[12] = 0x43300000u;
|
|
/* 028545B8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028545B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028545BC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 028545BC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 028545C0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028545C0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 028545C4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028545C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028545C8 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 028545CC */ cpu->lr = cpu->r[0];
|
|
/* 028545D0 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 028545D4 */ _t11 = cpu->r[31] + 0x00000010u;
|
|
/* 028545D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 028545D8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 028545D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028545DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028545E0 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 028545E4 */ return;
|
|
}
|
|
|
|
// fn_02854584 @ 0x2854584
|
|
void Gambit_fn_02854584(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02854584: ; // 0x2854584
|
|
/* 02854584 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02854584 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854584 */ cpu->r[1] = _t0;
|
|
/* 02854588 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02854588 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285458C */ cpu->r[31] = cpu->r[3];
|
|
/* 02854590 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02854590 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02854594 */ _t3 = cpu->r[31] + 0x00000028u;
|
|
/* 02854594 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02854598 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02854598 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285459C */ _t5 = cpu->r[11] + 0x0000002Cu;
|
|
/* 0285459C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028545A0 */ cpu->ctr = cpu->r[0];
|
|
/* 028545A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028545A8 */ cpu->r[12] = 0x10130000u;
|
|
/* 028545AC */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 028545B0 */ _t6 = cpu->r[12] + 0x00001828u;
|
|
/* 028545B0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 028545B4 */ cpu->r[12] = 0x43300000u;
|
|
/* 028545B8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028545B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028545BC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 028545BC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 028545C0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028545C0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 028545C4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028545C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028545C8 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 028545CC */ cpu->lr = cpu->r[0];
|
|
/* 028545D0 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 028545D4 */ _t11 = cpu->r[31] + 0x00000010u;
|
|
/* 028545D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 028545D8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 028545D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028545DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028545E0 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 028545E4 */ return;
|
|
}
|
|
|
|
// fn_028545E8 @ 0x28545e8
|
|
void Gambit_fn_028545E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128;
|
|
|
|
L_028545E8: ; // 0x28545e8
|
|
/* 028545E8 */ cpu->r[0] = cpu->lr;
|
|
/* 028545EC */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 028545EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028545EC */ cpu->r[1] = _t0;
|
|
/* 028545F0 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 028545F0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 028545F4 */ /* nop */
|
|
/* 028545F8 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 028545F8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 028545FC */ /* nop */
|
|
/* 02854600 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02854600 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
|
|
/* 02854604 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02854604 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02854608 */ _t5 = cpu->r[1] + 0x00000040u;
|
|
/* 02854608 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
|
|
/* 0285460C */ _t6 = cpu->r[1] + 0x00000054u;
|
|
/* 0285460C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02854610 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02854610 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 02854614 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02854614 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02854618 */ /* nop */
|
|
/* 0285461C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285461C */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02854620 */ cpu->r[30] = cpu->r[3];
|
|
/* 02854624 */ cpu->r[8] = 0x10130000u;
|
|
/* 02854628 */ _t10 = cpu->r[1] + 0x00000048u;
|
|
/* 02854628 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]);
|
|
/* 0285462C */ cpu->r[31] = cpu->r[4];
|
|
/* 02854630 */ _t11 = cpu->r[30] + 0x00000028u;
|
|
/* 02854630 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02854634 */ cpu->r[10] = 0x43300000u;
|
|
/* 02854638 */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 02854638 */ cpu->r[0] = rbrew_read16(cpu->mem, _t12);
|
|
/* 0285463C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0285463C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02854640 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854640 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02854644 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02854644 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02854648 */ cpu->r[7] = 0x10130000u;
|
|
/* 0285464C */ _t16 = cpu->r[8] + 0x00001830u;
|
|
/* 0285464C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02854650 */ _t17 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02854650 */ cpu->r[9] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02854654 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02854658 */ _t18 = cpu->r[6] + 0x00000001u;
|
|
/* 02854658 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0285465C */ _t19 = cpu->r[7] + 0x00001824u;
|
|
/* 0285465C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02854660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02854664 */ cpu->f[4] = (double)(float)cpu->f[0];
|
|
/* 02854668 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854668 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02854668 */ if (_t21) goto L_02854780; else goto L_0285466C;
|
|
L_0285466C: ; // 0x285466c
|
|
/* 0285466C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285466C */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 02854670 */ cpu->r[10] = 0x43300000u;
|
|
/* 02854674 */ cpu->r[6] = 0x10130000u;
|
|
/* 02854678 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02854678 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 0285467C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0285467C */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 02854680 */ _t25 = cpu->r[6] + 0x00001828u;
|
|
/* 02854680 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 02854684 */ cpu->r[12] = 0x10130000u;
|
|
/* 02854688 */ _t26 = cpu->r[31] + 0x00000005u;
|
|
/* 02854688 */ cpu->r[6] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0285468C */ _t27 = cpu->r[12] + 0x00001830u;
|
|
/* 0285468C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 02854690 */ cpu->r[8] = cpu->r[9] + cpu->r[6];
|
|
/* 02854694 */ _t28 = cpu->r[31] + 0x0000000Eu;
|
|
/* 02854694 */ cpu->r[12] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02854698 */ cpu->r[0] = cpu->r[8] ^ 0x80000000u;
|
|
/* 0285469C */ _t29 = cpu->r[31] + 0x0000000Au;
|
|
/* 0285469C */ cpu->r[11] = rbrew_read16(cpu->mem, _t29);
|
|
/* 028546A0 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028546A0 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 028546A4 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 028546A4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 028546A8 */ cpu->f[8] = cpu->f[8] - cpu->f[0];
|
|
/* 028546AC */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028546AC */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 028546B0 */ cpu->f[11] = cpu->f[9] - cpu->f[10];
|
|
/* 028546B4 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 028546B4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 028546B8 */ cpu->f[9] = (double)(float)cpu->f[8];
|
|
/* 028546BC */ cpu->r[10] = 0x10130000u;
|
|
/* 028546C0 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028546C0 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
/* 028546C4 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 028546C4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 028546C8 */ cpu->f[6] = (double)(float)cpu->f[11];
|
|
/* 028546CC */ _t36 = cpu->r[10] + 0x00001838u;
|
|
/* 028546CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 028546D0 */ cpu->f[7] = cpu->f[8] - cpu->f[0];
|
|
/* 028546D4 */ _t37 = cpu->r[31] + 0x00000007u;
|
|
/* 028546D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t37);
|
|
/* 028546D8 */ cpu->f[31] = cpu->f[6] + cpu->f[11];
|
|
/* 028546DC */ cpu->r[9] = cpu->r[12] + cpu->r[8];
|
|
/* 028546E0 */ cpu->f[7] = (double)(float)cpu->f[7];
|
|
/* 028546E4 */ cpu->r[7] = cpu->r[9] ^ 0x80000000u;
|
|
/* 028546E8 */ cpu->f[30] = cpu->f[9] - cpu->f[11];
|
|
/* 028546EC */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028546EC */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 028546F0 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 028546F0 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t39);
|
|
/* 028546F4 */ cpu->f[30] = cpu->f[30] / cpu->f[4];
|
|
/* 028546F8 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028546F8 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
/* 028546FC */ cpu->f[2] = cpu->f[7] - cpu->f[11];
|
|
/* 02854700 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02854700 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 02854704 */ cpu->f[10] = cpu->f[9] - cpu->f[10];
|
|
/* 02854708 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854708 */ rbrew_write32(cpu->mem, _t42, cpu->r[8]);
|
|
/* 0285470C */ cpu->f[9] = cpu->f[7] - cpu->f[0];
|
|
/* 02854710 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02854710 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 02854714 */ cpu->f[10] = (double)(float)cpu->f[10];
|
|
/* 02854718 */ cpu->f[8] = cpu->f[7] - cpu->f[0];
|
|
/* 0285471C */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02854720 */ cpu->f[3] = cpu->f[10] + cpu->f[11];
|
|
/* 02854724 */ _t44 = cpu->r[30] + 0x00000010u;
|
|
/* 02854724 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02854728 */ cpu->f[10] = (double)(float)cpu->f[9];
|
|
/* 0285472C */ _t45 = cpu->r[30] + 0x00000018u;
|
|
/* 0285472C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02854730 */ cpu->f[7] = (double)(float)cpu->f[0];
|
|
/* 02854734 */ _t46 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02854734 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02854738 */ cpu->f[29] = -fma(cpu->f[11], cpu->f[5], -(cpu->f[9]));
|
|
/* 0285473C */ cpu->f[9] = cpu->f[2] / cpu->f[7];
|
|
/* 02854740 */ _t47 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02854740 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02854744 */ _t48 = cpu->r[10] + 0x00000004u;
|
|
/* 02854744 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02854748 */ _t49 = cpu->r[10] + 0x00000000u;
|
|
/* 02854748 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0285474C */ cpu->f[1] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[1]));
|
|
/* 02854750 */ cpu->f[11] = (double)(float)cpu->f[8];
|
|
/* 02854754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[11]);
|
|
/* 02854758 */ cpu->f[10] = cpu->f[10] + cpu->f[12];
|
|
/* 0285475C */ cpu->f[13] = cpu->f[31] / cpu->f[4];
|
|
/* 02854760 */ cpu->f[8] = cpu->f[11] + cpu->f[12];
|
|
/* 02854764 */ cpu->f[10] = cpu->f[10] * cpu->f[6];
|
|
/* 02854768 */ cpu->f[11] = cpu->f[8] * cpu->f[5];
|
|
/* 0285476C */ cpu->f[8] = cpu->f[3] / cpu->f[7];
|
|
/* 02854770 */ cpu->f[0] = cpu->f[12] - cpu->f[9];
|
|
/* 02854774 */ cpu->f[8] = cpu->f[12] - cpu->f[8];
|
|
/* 02854778 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02854778 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02854778 */ if (_t51) goto L_02854868; else goto L_0285477C;
|
|
L_0285477C: ; // 0x285477c
|
|
/* 0285477C */ goto L_02854964;
|
|
L_02854780: ; // 0x2854780
|
|
/* 02854780 */ _t52 = cpu->r[31] + 0x00000005u;
|
|
/* 02854780 */ cpu->r[6] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02854784 */ cpu->r[0] = 0x43300000u;
|
|
/* 02854788 */ _t53 = cpu->r[31] + 0x00000007u;
|
|
/* 02854788 */ cpu->r[8] = rbrew_read8(cpu->mem, _t53);
|
|
/* 0285478C */ cpu->r[12] = 0x10130000u;
|
|
/* 02854790 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 02854790 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 02854794 */ _t55 = cpu->r[12] + 0x00001830u;
|
|
/* 02854794 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 02854798 */ cpu->r[7] = cpu->r[9] + cpu->r[6];
|
|
/* 0285479C */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285479C */ rbrew_write32(cpu->mem, _t56, cpu->r[9]);
|
|
/* 028547A0 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 028547A0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t57);
|
|
/* 028547A4 */ cpu->r[12] = cpu->r[7] ^ 0x80000000u;
|
|
/* 028547A8 */ _t58 = cpu->r[31] + 0x0000000Au;
|
|
/* 028547A8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t58);
|
|
/* 028547AC */ cpu->f[11] = cpu->f[11] - cpu->f[7];
|
|
/* 028547B0 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028547B0 */ rbrew_write32(cpu->mem, _t59, cpu->r[12]);
|
|
/* 028547B4 */ _t60 = cpu->r[1] + 0x00000008u;
|
|
/* 028547B4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t60);
|
|
/* 028547B8 */ cpu->r[9] = 0x10130000u;
|
|
/* 028547BC */ _t61 = cpu->r[31] + 0x0000000Eu;
|
|
/* 028547BC */ cpu->r[12] = rbrew_read16(cpu->mem, _t61);
|
|
/* 028547C0 */ cpu->f[30] = (double)(float)cpu->f[11];
|
|
/* 028547C4 */ _t62 = cpu->r[9] + 0x00001828u;
|
|
/* 028547C4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t62);
|
|
/* 028547C8 */ cpu->r[0] = cpu->r[12] + cpu->r[8];
|
|
/* 028547CC */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028547CC */ rbrew_write32(cpu->mem, _t63, cpu->r[11]);
|
|
/* 028547D0 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 028547D0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t64);
|
|
/* 028547D4 */ cpu->f[10] = cpu->f[8] - cpu->f[9];
|
|
/* 028547D8 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 028547DC */ _t65 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028547DC */ rbrew_write32(cpu->mem, _t65, cpu->r[12]);
|
|
/* 028547E0 */ cpu->f[0] = cpu->f[13] - cpu->f[7];
|
|
/* 028547E4 */ _t66 = cpu->r[1] + 0x00000008u;
|
|
/* 028547E4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t66);
|
|
/* 028547E8 */ cpu->f[31] = (double)(float)cpu->f[10];
|
|
/* 028547EC */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028547EC */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 028547F0 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 028547F0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 028547F4 */ cpu->f[10] = cpu->f[8] - cpu->f[7];
|
|
/* 028547F8 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028547F8 */ rbrew_write32(cpu->mem, _t69, cpu->r[6]);
|
|
/* 028547FC */ cpu->f[13] = cpu->f[31] / cpu->f[4];
|
|
/* 02854800 */ cpu->f[8] = cpu->f[11] - cpu->f[9];
|
|
/* 02854804 */ _t70 = cpu->r[1] + 0x00000008u;
|
|
/* 02854804 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t70);
|
|
/* 02854808 */ cpu->f[2] = (double)(float)cpu->f[10];
|
|
/* 0285480C */ cpu->f[30] = cpu->f[30] / cpu->f[4];
|
|
/* 02854810 */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854810 */ rbrew_write32(cpu->mem, _t71, cpu->r[8]);
|
|
/* 02854814 */ _t72 = cpu->r[1] + 0x00000008u;
|
|
/* 02854814 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 02854818 */ cpu->f[10] = cpu->f[9] - cpu->f[7];
|
|
/* 0285481C */ _t73 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285481C */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02854820 */ cpu->f[3] = (double)(float)cpu->f[8];
|
|
/* 02854824 */ cpu->f[8] = cpu->f[11] - cpu->f[7];
|
|
/* 02854828 */ _t74 = cpu->r[10] + 0x00000000u;
|
|
/* 02854828 */ cpu->r[11] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0285482C */ cpu->f[10] = (double)(float)cpu->f[10];
|
|
/* 02854830 */ _t75 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02854830 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02854834 */ cpu->f[7] = (double)(float)cpu->f[0];
|
|
/* 02854838 */ cpu->f[10] = cpu->f[10] * cpu->f[6];
|
|
/* 0285483C */ cpu->f[8] = (double)(float)cpu->f[8];
|
|
/* 02854840 */ cpu->f[9] = cpu->f[2] / cpu->f[7];
|
|
/* 02854844 */ _t76 = cpu->r[30] + 0x00000010u;
|
|
/* 02854844 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02854848 */ cpu->f[11] = cpu->f[8] * cpu->f[5];
|
|
/* 0285484C */ cpu->f[8] = cpu->f[3] / cpu->f[7];
|
|
/* 02854850 */ _t77 = cpu->r[10] + 0x00000004u;
|
|
/* 02854850 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02854854 */ _t78 = cpu->r[30] + 0x00000018u;
|
|
/* 02854854 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 02854858 */ cpu->f[0] = cpu->f[12] - cpu->f[9];
|
|
/* 0285485C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[11]);
|
|
/* 02854860 */ cpu->f[8] = cpu->f[12] - cpu->f[8];
|
|
/* 02854864 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02854864 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02854864 */ if (_t80) goto L_02854868; else goto L_02854964;
|
|
L_02854868: ; // 0x2854868
|
|
/* 02854868 */ cpu->r[12] = cpu->r[8] + 0x00000001u;
|
|
/* 0285486C */ cpu->r[11] = 0x00000002u;
|
|
/* 02854870 */ _t81 = cpu->r[10] + 0x00000004u;
|
|
/* 02854870 */ rbrew_write32(cpu->mem, _t81, cpu->r[12]);
|
|
/* 02854874 */ _t82 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02854874 */ cpu->r[10] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02854878 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000030u);
|
|
/* 0285487C */ _t83 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0285487C */ cpu->r[6] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02854880 */ cpu->ctr = cpu->r[11];
|
|
/* 02854884 */ cpu->r[29] = cpu->r[6] + cpu->r[0];
|
|
/* 02854888 */ _t84 = cpu->r[29] + 0x00000000u;
|
|
/* 02854888 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[10]);
|
|
/* 0285488C */ _t85 = cpu->r[29] + 0x00000004u;
|
|
/* 0285488C */ rbrew_write_f32(cpu->mem, _t85, cpu->f[11]);
|
|
/* 02854890 */ cpu->r[12] = 0x00000000u;
|
|
/* 02854894 */ _t86 = cpu->r[29] + 0x00000008u;
|
|
/* 02854894 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[1]);
|
|
/* 02854898 */ cpu->r[6] = cpu->r[29] + 0x00000010u;
|
|
/* 0285489C */ _t87 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0285489C */ rbrew_write_f32(cpu->mem, _t87, cpu->f[29]);
|
|
L_028548A0: ; // 0x28548a0
|
|
/* 028548A0 */ cpu->r[7] = cpu->r[30] + cpu->r[12];
|
|
/* 028548A4 */ cpu->r[8] = cpu->r[6] + cpu->r[12];
|
|
/* 028548A8 */ /* nop */
|
|
/* 028548AC */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 028548B0 */ /* nop */
|
|
/* 028548B4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028548B4 */ _t88 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028548B4 */ _t89 = _t88 >> (0x00000002u & 31u);
|
|
/* 028548B4 */ _t90 = _t89 & 0x00000001u;
|
|
/* 028548B4 */ if (_t90) goto L_028548A0; else goto L_028548B8;
|
|
L_028548B8: ; // 0x28548b8
|
|
/* 028548B8 */ _t91 = cpu->r[30] + 0x00000031u;
|
|
/* 028548B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t91);
|
|
/* 028548BC */ _t92 = cpu->r[29] + 0x00000018u;
|
|
/* 028548BC */ rbrew_write_f32(cpu->mem, _t92, cpu->f[30]);
|
|
/* 028548C0 */ _t93 = cpu->r[29] + 0x0000002Fu;
|
|
/* 028548C0 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[0]);
|
|
/* 028548C4 */ _t94 = cpu->r[29] + 0x0000001Cu;
|
|
/* 028548C4 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[0]);
|
|
/* 028548C8 */ _t95 = cpu->r[29] + 0x00000020u;
|
|
/* 028548C8 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[13]);
|
|
/* 028548CC */ _t96 = cpu->r[29] + 0x00000024u;
|
|
/* 028548CC */ rbrew_write_f32(cpu->mem, _t96, cpu->f[8]);
|
|
/* 028548D0 */ _t97 = cpu->r[30] + 0x00000028u;
|
|
/* 028548D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t97);
|
|
/* 028548D4 */ _t98 = cpu->r[3] + 0x00000004u;
|
|
/* 028548D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
|
|
/* 028548D8 */ _t99 = cpu->r[12] + 0x0000001Cu;
|
|
/* 028548D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t99);
|
|
/* 028548DC */ _t100 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028548DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 028548E0 */ cpu->ctr = cpu->r[10];
|
|
/* 028548E4 */ _t101 = cpu->r[30] + 0x00000024u;
|
|
/* 028548E4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 028548E8 */ cpu->f[31] = cpu->f[9] * cpu->f[10];
|
|
/* 028548EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028548F0 */ cpu->r[7] = 0x10130000u;
|
|
/* 028548F4 */ cpu->r[6] = 0x43300000u;
|
|
/* 028548F8 */ _t102 = cpu->r[7] + 0x00001828u;
|
|
/* 028548F8 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t102);
|
|
/* 028548FC */ cpu->r[9] = cpu->r[3] ^ 0x80000000u;
|
|
/* 02854900 */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 02854900 */ rbrew_write32(cpu->mem, _t103, cpu->r[6]);
|
|
/* 02854904 */ _t104 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854904 */ rbrew_write32(cpu->mem, _t104, cpu->r[9]);
|
|
/* 02854908 */ _t105 = cpu->r[1] + 0x00000008u;
|
|
/* 02854908 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t105);
|
|
/* 0285490C */ cpu->f[0] = cpu->f[13] - cpu->f[8];
|
|
/* 02854910 */ cpu->f[9] = (double)(float)cpu->f[0];
|
|
/* 02854914 */ cpu->f[7] = cpu->f[31] * cpu->f[9];
|
|
/* 02854918 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[7];
|
|
/* 0285491C */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02854920 */ /* nop */
|
|
/* 02854924 */ _t106 = cpu->r[1] + 0x0000000Au;
|
|
/* 02854924 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t106);
|
|
/* 02854928 */ _t107 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02854928 */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[8]);
|
|
/* 0285492C */ _t108 = cpu->r[31] + 0x00000013u;
|
|
/* 0285492C */ cpu->r[0] = rbrew_read8(cpu->mem, _t108);
|
|
/* 02854930 */ _t109 = cpu->r[29] + 0x0000002Eu;
|
|
/* 02854930 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[0]);
|
|
/* 02854934 */ _t110 = cpu->r[30] + 0x00000028u;
|
|
/* 02854934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02854938 */ _t111 = cpu->r[3] + 0x00000004u;
|
|
/* 02854938 */ cpu->r[7] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0285493C */ _t112 = cpu->r[7] + 0x000000F4u;
|
|
/* 0285493C */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02854940 */ cpu->ctr = cpu->r[0];
|
|
/* 02854944 */ cpu->r[30] = 0x00000000u;
|
|
/* 02854948 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285494C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02854950 */ _t113 = cpu->r[31] + 0x00000014u;
|
|
/* 02854950 */ cpu->r[6] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02854954 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854954 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02854954 */ if (_t115) goto L_0285495C; else goto L_02854958;
|
|
L_02854958: ; // 0x2854958
|
|
/* 02854958 */ cpu->r[30] = 0x00000001u;
|
|
L_0285495C: ; // 0x285495c
|
|
/* 0285495C */ cpu->r[0] = cpu->r[6] | cpu->r[30];
|
|
/* 02854960 */ _t116 = cpu->r[29] + 0x00000028u;
|
|
/* 02854960 */ rbrew_write32(cpu->mem, _t116, cpu->r[0]);
|
|
L_02854964: ; // 0x2854964
|
|
/* 02854964 */ _t117 = cpu->r[1] + 0x00000014u;
|
|
/* 02854964 */ cpu->r[29] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02854968 */ _t118 = cpu->r[1] + 0x00000048u;
|
|
/* 02854968 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 0285496C */ _t119 = cpu->r[1] + 0x00000028u;
|
|
/* 0285496C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 02854970 */ _t120 = cpu->r[1] + 0x00000040u;
|
|
/* 02854970 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t120);
|
|
/* 02854974 */ _t121 = cpu->r[1] + 0x00000038u;
|
|
/* 02854974 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 02854978 */ _t122 = cpu->r[1] + 0x00000020u;
|
|
/* 02854978 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t122);
|
|
/* 0285497C */ _t123 = cpu->r[1] + 0x00000030u;
|
|
/* 0285497C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t123);
|
|
/* 02854980 */ _t124 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02854980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02854984 */ _t125 = cpu->r[1] + 0x00000018u;
|
|
/* 02854984 */ cpu->r[30] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02854988 */ _t126 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02854988 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02854988 */ if (_t127) goto L_0285498C; // else: addr-0 trap, fall-through
|
|
L_0285498C: ; // 0x285498c
|
|
/* 0285498C */ _t128 = cpu->r[1] + 0x00000054u;
|
|
/* 0285498C */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02854990 */ cpu->lr = cpu->r[0];
|
|
/* 02854994 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02854998 */ return;
|
|
}
|
|
|
|
// fn_028545EC @ 0x28545ec
|
|
void Gambit_fn_028545EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128;
|
|
|
|
L_028545EC: ; // 0x28545ec
|
|
/* 028545EC */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 028545EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028545EC */ cpu->r[1] = _t0;
|
|
/* 028545F0 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 028545F0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 028545F4 */ /* nop */
|
|
/* 028545F8 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 028545F8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 028545FC */ /* nop */
|
|
/* 02854600 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02854600 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[29]);
|
|
/* 02854604 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02854604 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02854608 */ _t5 = cpu->r[1] + 0x00000040u;
|
|
/* 02854608 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[31]);
|
|
/* 0285460C */ _t6 = cpu->r[1] + 0x00000054u;
|
|
/* 0285460C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02854610 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02854610 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 02854614 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02854614 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02854618 */ /* nop */
|
|
/* 0285461C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285461C */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02854620 */ cpu->r[30] = cpu->r[3];
|
|
/* 02854624 */ cpu->r[8] = 0x10130000u;
|
|
/* 02854628 */ _t10 = cpu->r[1] + 0x00000048u;
|
|
/* 02854628 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]);
|
|
/* 0285462C */ cpu->r[31] = cpu->r[4];
|
|
/* 02854630 */ _t11 = cpu->r[30] + 0x00000028u;
|
|
/* 02854630 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02854634 */ cpu->r[10] = 0x43300000u;
|
|
/* 02854638 */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 02854638 */ cpu->r[0] = rbrew_read16(cpu->mem, _t12);
|
|
/* 0285463C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0285463C */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02854640 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854640 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02854644 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02854644 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02854648 */ cpu->r[7] = 0x10130000u;
|
|
/* 0285464C */ _t16 = cpu->r[8] + 0x00001830u;
|
|
/* 0285464C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02854650 */ _t17 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02854650 */ cpu->r[9] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02854654 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02854658 */ _t18 = cpu->r[6] + 0x00000001u;
|
|
/* 02854658 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0285465C */ _t19 = cpu->r[7] + 0x00001824u;
|
|
/* 0285465C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02854660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02854664 */ cpu->f[4] = (double)(float)cpu->f[0];
|
|
/* 02854668 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854668 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02854668 */ if (_t21) goto L_02854780; else goto L_0285466C;
|
|
L_0285466C: ; // 0x285466c
|
|
/* 0285466C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285466C */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 02854670 */ cpu->r[10] = 0x43300000u;
|
|
/* 02854674 */ cpu->r[6] = 0x10130000u;
|
|
/* 02854678 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02854678 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 0285467C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0285467C */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 02854680 */ _t25 = cpu->r[6] + 0x00001828u;
|
|
/* 02854680 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 02854684 */ cpu->r[12] = 0x10130000u;
|
|
/* 02854688 */ _t26 = cpu->r[31] + 0x00000005u;
|
|
/* 02854688 */ cpu->r[6] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0285468C */ _t27 = cpu->r[12] + 0x00001830u;
|
|
/* 0285468C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 02854690 */ cpu->r[8] = cpu->r[9] + cpu->r[6];
|
|
/* 02854694 */ _t28 = cpu->r[31] + 0x0000000Eu;
|
|
/* 02854694 */ cpu->r[12] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02854698 */ cpu->r[0] = cpu->r[8] ^ 0x80000000u;
|
|
/* 0285469C */ _t29 = cpu->r[31] + 0x0000000Au;
|
|
/* 0285469C */ cpu->r[11] = rbrew_read16(cpu->mem, _t29);
|
|
/* 028546A0 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028546A0 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 028546A4 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 028546A4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 028546A8 */ cpu->f[8] = cpu->f[8] - cpu->f[0];
|
|
/* 028546AC */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028546AC */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 028546B0 */ cpu->f[11] = cpu->f[9] - cpu->f[10];
|
|
/* 028546B4 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 028546B4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 028546B8 */ cpu->f[9] = (double)(float)cpu->f[8];
|
|
/* 028546BC */ cpu->r[10] = 0x10130000u;
|
|
/* 028546C0 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028546C0 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
/* 028546C4 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 028546C4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 028546C8 */ cpu->f[6] = (double)(float)cpu->f[11];
|
|
/* 028546CC */ _t36 = cpu->r[10] + 0x00001838u;
|
|
/* 028546CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 028546D0 */ cpu->f[7] = cpu->f[8] - cpu->f[0];
|
|
/* 028546D4 */ _t37 = cpu->r[31] + 0x00000007u;
|
|
/* 028546D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t37);
|
|
/* 028546D8 */ cpu->f[31] = cpu->f[6] + cpu->f[11];
|
|
/* 028546DC */ cpu->r[9] = cpu->r[12] + cpu->r[8];
|
|
/* 028546E0 */ cpu->f[7] = (double)(float)cpu->f[7];
|
|
/* 028546E4 */ cpu->r[7] = cpu->r[9] ^ 0x80000000u;
|
|
/* 028546E8 */ cpu->f[30] = cpu->f[9] - cpu->f[11];
|
|
/* 028546EC */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028546EC */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 028546F0 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 028546F0 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t39);
|
|
/* 028546F4 */ cpu->f[30] = cpu->f[30] / cpu->f[4];
|
|
/* 028546F8 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028546F8 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
/* 028546FC */ cpu->f[2] = cpu->f[7] - cpu->f[11];
|
|
/* 02854700 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02854700 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 02854704 */ cpu->f[10] = cpu->f[9] - cpu->f[10];
|
|
/* 02854708 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854708 */ rbrew_write32(cpu->mem, _t42, cpu->r[8]);
|
|
/* 0285470C */ cpu->f[9] = cpu->f[7] - cpu->f[0];
|
|
/* 02854710 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02854710 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 02854714 */ cpu->f[10] = (double)(float)cpu->f[10];
|
|
/* 02854718 */ cpu->f[8] = cpu->f[7] - cpu->f[0];
|
|
/* 0285471C */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02854720 */ cpu->f[3] = cpu->f[10] + cpu->f[11];
|
|
/* 02854724 */ _t44 = cpu->r[30] + 0x00000010u;
|
|
/* 02854724 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02854728 */ cpu->f[10] = (double)(float)cpu->f[9];
|
|
/* 0285472C */ _t45 = cpu->r[30] + 0x00000018u;
|
|
/* 0285472C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02854730 */ cpu->f[7] = (double)(float)cpu->f[0];
|
|
/* 02854734 */ _t46 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02854734 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02854738 */ cpu->f[29] = -fma(cpu->f[11], cpu->f[5], -(cpu->f[9]));
|
|
/* 0285473C */ cpu->f[9] = cpu->f[2] / cpu->f[7];
|
|
/* 02854740 */ _t47 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02854740 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02854744 */ _t48 = cpu->r[10] + 0x00000004u;
|
|
/* 02854744 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02854748 */ _t49 = cpu->r[10] + 0x00000000u;
|
|
/* 02854748 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0285474C */ cpu->f[1] = -fma(cpu->f[11], cpu->f[6], -(cpu->f[1]));
|
|
/* 02854750 */ cpu->f[11] = (double)(float)cpu->f[8];
|
|
/* 02854754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[11]);
|
|
/* 02854758 */ cpu->f[10] = cpu->f[10] + cpu->f[12];
|
|
/* 0285475C */ cpu->f[13] = cpu->f[31] / cpu->f[4];
|
|
/* 02854760 */ cpu->f[8] = cpu->f[11] + cpu->f[12];
|
|
/* 02854764 */ cpu->f[10] = cpu->f[10] * cpu->f[6];
|
|
/* 02854768 */ cpu->f[11] = cpu->f[8] * cpu->f[5];
|
|
/* 0285476C */ cpu->f[8] = cpu->f[3] / cpu->f[7];
|
|
/* 02854770 */ cpu->f[0] = cpu->f[12] - cpu->f[9];
|
|
/* 02854774 */ cpu->f[8] = cpu->f[12] - cpu->f[8];
|
|
/* 02854778 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02854778 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02854778 */ if (_t51) goto L_02854868; else goto L_0285477C;
|
|
L_0285477C: ; // 0x285477c
|
|
/* 0285477C */ goto L_02854964;
|
|
L_02854780: ; // 0x2854780
|
|
/* 02854780 */ _t52 = cpu->r[31] + 0x00000005u;
|
|
/* 02854780 */ cpu->r[6] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02854784 */ cpu->r[0] = 0x43300000u;
|
|
/* 02854788 */ _t53 = cpu->r[31] + 0x00000007u;
|
|
/* 02854788 */ cpu->r[8] = rbrew_read8(cpu->mem, _t53);
|
|
/* 0285478C */ cpu->r[12] = 0x10130000u;
|
|
/* 02854790 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 02854790 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 02854794 */ _t55 = cpu->r[12] + 0x00001830u;
|
|
/* 02854794 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 02854798 */ cpu->r[7] = cpu->r[9] + cpu->r[6];
|
|
/* 0285479C */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285479C */ rbrew_write32(cpu->mem, _t56, cpu->r[9]);
|
|
/* 028547A0 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 028547A0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t57);
|
|
/* 028547A4 */ cpu->r[12] = cpu->r[7] ^ 0x80000000u;
|
|
/* 028547A8 */ _t58 = cpu->r[31] + 0x0000000Au;
|
|
/* 028547A8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t58);
|
|
/* 028547AC */ cpu->f[11] = cpu->f[11] - cpu->f[7];
|
|
/* 028547B0 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028547B0 */ rbrew_write32(cpu->mem, _t59, cpu->r[12]);
|
|
/* 028547B4 */ _t60 = cpu->r[1] + 0x00000008u;
|
|
/* 028547B4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t60);
|
|
/* 028547B8 */ cpu->r[9] = 0x10130000u;
|
|
/* 028547BC */ _t61 = cpu->r[31] + 0x0000000Eu;
|
|
/* 028547BC */ cpu->r[12] = rbrew_read16(cpu->mem, _t61);
|
|
/* 028547C0 */ cpu->f[30] = (double)(float)cpu->f[11];
|
|
/* 028547C4 */ _t62 = cpu->r[9] + 0x00001828u;
|
|
/* 028547C4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t62);
|
|
/* 028547C8 */ cpu->r[0] = cpu->r[12] + cpu->r[8];
|
|
/* 028547CC */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028547CC */ rbrew_write32(cpu->mem, _t63, cpu->r[11]);
|
|
/* 028547D0 */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 028547D0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t64);
|
|
/* 028547D4 */ cpu->f[10] = cpu->f[8] - cpu->f[9];
|
|
/* 028547D8 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 028547DC */ _t65 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028547DC */ rbrew_write32(cpu->mem, _t65, cpu->r[12]);
|
|
/* 028547E0 */ cpu->f[0] = cpu->f[13] - cpu->f[7];
|
|
/* 028547E4 */ _t66 = cpu->r[1] + 0x00000008u;
|
|
/* 028547E4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t66);
|
|
/* 028547E8 */ cpu->f[31] = (double)(float)cpu->f[10];
|
|
/* 028547EC */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028547EC */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 028547F0 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 028547F0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 028547F4 */ cpu->f[10] = cpu->f[8] - cpu->f[7];
|
|
/* 028547F8 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028547F8 */ rbrew_write32(cpu->mem, _t69, cpu->r[6]);
|
|
/* 028547FC */ cpu->f[13] = cpu->f[31] / cpu->f[4];
|
|
/* 02854800 */ cpu->f[8] = cpu->f[11] - cpu->f[9];
|
|
/* 02854804 */ _t70 = cpu->r[1] + 0x00000008u;
|
|
/* 02854804 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t70);
|
|
/* 02854808 */ cpu->f[2] = (double)(float)cpu->f[10];
|
|
/* 0285480C */ cpu->f[30] = cpu->f[30] / cpu->f[4];
|
|
/* 02854810 */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854810 */ rbrew_write32(cpu->mem, _t71, cpu->r[8]);
|
|
/* 02854814 */ _t72 = cpu->r[1] + 0x00000008u;
|
|
/* 02854814 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 02854818 */ cpu->f[10] = cpu->f[9] - cpu->f[7];
|
|
/* 0285481C */ _t73 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285481C */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02854820 */ cpu->f[3] = (double)(float)cpu->f[8];
|
|
/* 02854824 */ cpu->f[8] = cpu->f[11] - cpu->f[7];
|
|
/* 02854828 */ _t74 = cpu->r[10] + 0x00000000u;
|
|
/* 02854828 */ cpu->r[11] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0285482C */ cpu->f[10] = (double)(float)cpu->f[10];
|
|
/* 02854830 */ _t75 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02854830 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02854834 */ cpu->f[7] = (double)(float)cpu->f[0];
|
|
/* 02854838 */ cpu->f[10] = cpu->f[10] * cpu->f[6];
|
|
/* 0285483C */ cpu->f[8] = (double)(float)cpu->f[8];
|
|
/* 02854840 */ cpu->f[9] = cpu->f[2] / cpu->f[7];
|
|
/* 02854844 */ _t76 = cpu->r[30] + 0x00000010u;
|
|
/* 02854844 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02854848 */ cpu->f[11] = cpu->f[8] * cpu->f[5];
|
|
/* 0285484C */ cpu->f[8] = cpu->f[3] / cpu->f[7];
|
|
/* 02854850 */ _t77 = cpu->r[10] + 0x00000004u;
|
|
/* 02854850 */ cpu->r[8] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02854854 */ _t78 = cpu->r[30] + 0x00000018u;
|
|
/* 02854854 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 02854858 */ cpu->f[0] = cpu->f[12] - cpu->f[9];
|
|
/* 0285485C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[11]);
|
|
/* 02854860 */ cpu->f[8] = cpu->f[12] - cpu->f[8];
|
|
/* 02854864 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02854864 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02854864 */ if (_t80) goto L_02854868; else goto L_02854964;
|
|
L_02854868: ; // 0x2854868
|
|
/* 02854868 */ cpu->r[12] = cpu->r[8] + 0x00000001u;
|
|
/* 0285486C */ cpu->r[11] = 0x00000002u;
|
|
/* 02854870 */ _t81 = cpu->r[10] + 0x00000004u;
|
|
/* 02854870 */ rbrew_write32(cpu->mem, _t81, cpu->r[12]);
|
|
/* 02854874 */ _t82 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02854874 */ cpu->r[10] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02854878 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000030u);
|
|
/* 0285487C */ _t83 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0285487C */ cpu->r[6] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02854880 */ cpu->ctr = cpu->r[11];
|
|
/* 02854884 */ cpu->r[29] = cpu->r[6] + cpu->r[0];
|
|
/* 02854888 */ _t84 = cpu->r[29] + 0x00000000u;
|
|
/* 02854888 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[10]);
|
|
/* 0285488C */ _t85 = cpu->r[29] + 0x00000004u;
|
|
/* 0285488C */ rbrew_write_f32(cpu->mem, _t85, cpu->f[11]);
|
|
/* 02854890 */ cpu->r[12] = 0x00000000u;
|
|
/* 02854894 */ _t86 = cpu->r[29] + 0x00000008u;
|
|
/* 02854894 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[1]);
|
|
/* 02854898 */ cpu->r[6] = cpu->r[29] + 0x00000010u;
|
|
/* 0285489C */ _t87 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0285489C */ rbrew_write_f32(cpu->mem, _t87, cpu->f[29]);
|
|
L_028548A0: ; // 0x28548a0
|
|
/* 028548A0 */ cpu->r[7] = cpu->r[30] + cpu->r[12];
|
|
/* 028548A4 */ cpu->r[8] = cpu->r[6] + cpu->r[12];
|
|
/* 028548A8 */ /* nop */
|
|
/* 028548AC */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 028548B0 */ /* nop */
|
|
/* 028548B4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028548B4 */ _t88 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028548B4 */ _t89 = _t88 >> (0x00000002u & 31u);
|
|
/* 028548B4 */ _t90 = _t89 & 0x00000001u;
|
|
/* 028548B4 */ if (_t90) goto L_028548A0; else goto L_028548B8;
|
|
L_028548B8: ; // 0x28548b8
|
|
/* 028548B8 */ _t91 = cpu->r[30] + 0x00000031u;
|
|
/* 028548B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t91);
|
|
/* 028548BC */ _t92 = cpu->r[29] + 0x00000018u;
|
|
/* 028548BC */ rbrew_write_f32(cpu->mem, _t92, cpu->f[30]);
|
|
/* 028548C0 */ _t93 = cpu->r[29] + 0x0000002Fu;
|
|
/* 028548C0 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[0]);
|
|
/* 028548C4 */ _t94 = cpu->r[29] + 0x0000001Cu;
|
|
/* 028548C4 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[0]);
|
|
/* 028548C8 */ _t95 = cpu->r[29] + 0x00000020u;
|
|
/* 028548C8 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[13]);
|
|
/* 028548CC */ _t96 = cpu->r[29] + 0x00000024u;
|
|
/* 028548CC */ rbrew_write_f32(cpu->mem, _t96, cpu->f[8]);
|
|
/* 028548D0 */ _t97 = cpu->r[30] + 0x00000028u;
|
|
/* 028548D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t97);
|
|
/* 028548D4 */ _t98 = cpu->r[3] + 0x00000004u;
|
|
/* 028548D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t98);
|
|
/* 028548D8 */ _t99 = cpu->r[12] + 0x0000001Cu;
|
|
/* 028548D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t99);
|
|
/* 028548DC */ _t100 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028548DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 028548E0 */ cpu->ctr = cpu->r[10];
|
|
/* 028548E4 */ _t101 = cpu->r[30] + 0x00000024u;
|
|
/* 028548E4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 028548E8 */ cpu->f[31] = cpu->f[9] * cpu->f[10];
|
|
/* 028548EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028548F0 */ cpu->r[7] = 0x10130000u;
|
|
/* 028548F4 */ cpu->r[6] = 0x43300000u;
|
|
/* 028548F8 */ _t102 = cpu->r[7] + 0x00001828u;
|
|
/* 028548F8 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t102);
|
|
/* 028548FC */ cpu->r[9] = cpu->r[3] ^ 0x80000000u;
|
|
/* 02854900 */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 02854900 */ rbrew_write32(cpu->mem, _t103, cpu->r[6]);
|
|
/* 02854904 */ _t104 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854904 */ rbrew_write32(cpu->mem, _t104, cpu->r[9]);
|
|
/* 02854908 */ _t105 = cpu->r[1] + 0x00000008u;
|
|
/* 02854908 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t105);
|
|
/* 0285490C */ cpu->f[0] = cpu->f[13] - cpu->f[8];
|
|
/* 02854910 */ cpu->f[9] = (double)(float)cpu->f[0];
|
|
/* 02854914 */ cpu->f[7] = cpu->f[31] * cpu->f[9];
|
|
/* 02854918 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[7];
|
|
/* 0285491C */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02854920 */ /* nop */
|
|
/* 02854924 */ _t106 = cpu->r[1] + 0x0000000Au;
|
|
/* 02854924 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t106);
|
|
/* 02854928 */ _t107 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02854928 */ rbrew_write16(cpu->mem, _t107, (uint16_t)cpu->r[8]);
|
|
/* 0285492C */ _t108 = cpu->r[31] + 0x00000013u;
|
|
/* 0285492C */ cpu->r[0] = rbrew_read8(cpu->mem, _t108);
|
|
/* 02854930 */ _t109 = cpu->r[29] + 0x0000002Eu;
|
|
/* 02854930 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[0]);
|
|
/* 02854934 */ _t110 = cpu->r[30] + 0x00000028u;
|
|
/* 02854934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02854938 */ _t111 = cpu->r[3] + 0x00000004u;
|
|
/* 02854938 */ cpu->r[7] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0285493C */ _t112 = cpu->r[7] + 0x000000F4u;
|
|
/* 0285493C */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02854940 */ cpu->ctr = cpu->r[0];
|
|
/* 02854944 */ cpu->r[30] = 0x00000000u;
|
|
/* 02854948 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285494C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02854950 */ _t113 = cpu->r[31] + 0x00000014u;
|
|
/* 02854950 */ cpu->r[6] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02854954 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854954 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02854954 */ if (_t115) goto L_0285495C; else goto L_02854958;
|
|
L_02854958: ; // 0x2854958
|
|
/* 02854958 */ cpu->r[30] = 0x00000001u;
|
|
L_0285495C: ; // 0x285495c
|
|
/* 0285495C */ cpu->r[0] = cpu->r[6] | cpu->r[30];
|
|
/* 02854960 */ _t116 = cpu->r[29] + 0x00000028u;
|
|
/* 02854960 */ rbrew_write32(cpu->mem, _t116, cpu->r[0]);
|
|
L_02854964: ; // 0x2854964
|
|
/* 02854964 */ _t117 = cpu->r[1] + 0x00000014u;
|
|
/* 02854964 */ cpu->r[29] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02854968 */ _t118 = cpu->r[1] + 0x00000048u;
|
|
/* 02854968 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 0285496C */ _t119 = cpu->r[1] + 0x00000028u;
|
|
/* 0285496C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 02854970 */ _t120 = cpu->r[1] + 0x00000040u;
|
|
/* 02854970 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t120);
|
|
/* 02854974 */ _t121 = cpu->r[1] + 0x00000038u;
|
|
/* 02854974 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 02854978 */ _t122 = cpu->r[1] + 0x00000020u;
|
|
/* 02854978 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t122);
|
|
/* 0285497C */ _t123 = cpu->r[1] + 0x00000030u;
|
|
/* 0285497C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t123);
|
|
/* 02854980 */ _t124 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02854980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02854984 */ _t125 = cpu->r[1] + 0x00000018u;
|
|
/* 02854984 */ cpu->r[30] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02854988 */ _t126 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02854988 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02854988 */ if (_t127) goto L_0285498C; // else: addr-0 trap, fall-through
|
|
L_0285498C: ; // 0x285498c
|
|
/* 0285498C */ _t128 = cpu->r[1] + 0x00000054u;
|
|
/* 0285498C */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02854990 */ cpu->lr = cpu->r[0];
|
|
/* 02854994 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02854998 */ return;
|
|
}
|
|
|
|
// fn_0285499C @ 0x285499c
|
|
void Gambit_fn_0285499C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_0285499C: ; // 0x285499c
|
|
/* 0285499C */ cpu->r[0] = cpu->lr;
|
|
/* 028549A0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 028549A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028549A0 */ cpu->r[1] = _t0;
|
|
/* 028549A4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 028549A4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 028549A8 */ /* nop */
|
|
/* 028549AC */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 028549AC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 028549B0 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028549B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028549B4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028549B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028549B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028549BC */ _t5 = cpu->r[31] + 0x00000030u;
|
|
/* 028549BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 028549C0 */ cpu->r[12] = cpu->r[4] + 0x00000004u;
|
|
/* 028549C4 */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028549C4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 028549C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028549CC */ _t7 = cpu->r[4] + 0x00000006u;
|
|
/* 028549CC */ cpu->r[9] = rbrew_read8(cpu->mem, _t7);
|
|
/* 028549D0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028549D0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028549D0 */ if (_t9) goto L_02854A50; else goto L_028549D4;
|
|
L_028549D4: ; // 0x28549d4
|
|
/* 028549D4 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 028549D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t10);
|
|
/* 028549D8 */ cpu->r[0] = 0x43300000u;
|
|
/* 028549DC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028549DC */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 028549E0 */ cpu->r[9] = 0x10130000u;
|
|
/* 028549E4 */ /* nop */
|
|
/* 028549E8 */ _t12 = cpu->r[9] + 0x00001828u;
|
|
/* 028549E8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 028549EC */ cpu->r[11] = cpu->r[8] ^ 0x80000000u;
|
|
/* 028549F0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 028549F0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 028549F4 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 028549F4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 028549F8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028549F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 028549FC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 028549FC */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02854A00 */ cpu->r[11] = 0x10130000u;
|
|
/* 02854A04 */ _t17 = cpu->r[11] + 0x00001830u;
|
|
/* 02854A04 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 02854A08 */ cpu->f[0] = cpu->f[11] - cpu->f[13];
|
|
/* 02854A0C */ cpu->f[13] = cpu->f[12] - cpu->f[10];
|
|
/* 02854A10 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 02854A14 */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 02854A18 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 02854A18 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02854A1C */ cpu->f[11] = cpu->f[12] * cpu->f[9];
|
|
/* 02854A20 */ cpu->r[12] = 0x10130000u;
|
|
/* 02854A24 */ cpu->f[10] = -fma(cpu->f[0], cpu->f[9], -(cpu->f[31]));
|
|
/* 02854A28 */ _t19 = cpu->r[12] + 0x00001838u;
|
|
/* 02854A28 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02854A2C */ cpu->f[10] = fma(cpu->f[10], cpu->f[12], cpu->f[11]);
|
|
/* 02854A30 */ _t20 = cpu->r[31] + 0x00000014u;
|
|
/* 02854A30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02854A34 */ cpu->f[1] = cpu->f[0] + cpu->f[10];
|
|
/* 02854A38 */ cpu->r[3] = cpu->r[31];
|
|
/* 02854A3C */ Gambit_fn_028545E8(cpu);
|
|
/* 02854A40 */ _t21 = cpu->r[31] + 0x00000014u;
|
|
/* 02854A40 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02854A44 */ cpu->f[11] = cpu->f[11] + cpu->f[31];
|
|
/* 02854A48 */ _t22 = cpu->r[31] + 0x00000014u;
|
|
/* 02854A48 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 02854A4C */ goto L_02854AB4;
|
|
L_02854A50: ; // 0x2854a50
|
|
/* 02854A50 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854A50 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 02854A54 */ cpu->r[10] = 0x10130000u;
|
|
/* 02854A58 */ cpu->r[0] = 0x43300000u;
|
|
/* 02854A5C */ _t24 = cpu->r[10] + 0x00001830u;
|
|
/* 02854A5C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 02854A60 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02854A60 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02854A64 */ _t26 = cpu->r[12] + 0x00000000u;
|
|
/* 02854A64 */ cpu->r[10] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02854A68 */ cpu->r[8] = 0x10130000u;
|
|
/* 02854A6C */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02854A6C */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 02854A70 */ /* nop */
|
|
/* 02854A74 */ _t28 = cpu->r[8] + 0x00001828u;
|
|
/* 02854A74 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 02854A78 */ cpu->f[12] = cpu->f[10] - cpu->f[11];
|
|
/* 02854A7C */ cpu->r[12] = cpu->r[10] ^ 0x80000000u;
|
|
/* 02854A80 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854A80 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 02854A84 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02854A84 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02854A88 */ cpu->f[13] = (double)(float)cpu->f[12];
|
|
/* 02854A8C */ cpu->f[11] = cpu->f[10] - cpu->f[0];
|
|
/* 02854A90 */ cpu->f[31] = cpu->f[13] * cpu->f[9];
|
|
/* 02854A94 */ cpu->f[13] = (double)(float)cpu->f[11];
|
|
/* 02854A98 */ _t31 = cpu->r[31] + 0x00000014u;
|
|
/* 02854A98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02854A9C */ cpu->f[1] = fma(cpu->f[13], cpu->f[9], cpu->f[0]);
|
|
/* 02854AA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02854AA4 */ Gambit_fn_028545E8(cpu);
|
|
/* 02854AA8 */ _t32 = cpu->r[31] + 0x00000014u;
|
|
/* 02854AA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02854AAC */ cpu->f[11] = cpu->f[11] + cpu->f[31];
|
|
/* 02854AB0 */ _t33 = cpu->r[31] + 0x00000014u;
|
|
/* 02854AB0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[11]);
|
|
L_02854AB4: ; // 0x2854ab4
|
|
/* 02854AB4 */ cpu->f[1] = cpu->f[31];
|
|
/* 02854AB8 */ _t34 = cpu->r[1] + 0x00000020u;
|
|
/* 02854AB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02854ABC */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02854ABC */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02854AC0 */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 02854AC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 02854AC4 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02854AC4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02854AC4 */ if (_t38) goto L_02854AC8; // else: addr-0 trap, fall-through
|
|
L_02854AC8: ; // 0x2854ac8
|
|
/* 02854AC8 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02854AC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02854ACC */ cpu->lr = cpu->r[0];
|
|
/* 02854AD0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02854AD4 */ return;
|
|
}
|
|
|
|
// fn_028549A0 @ 0x28549a0
|
|
void Gambit_fn_028549A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_028549A0: ; // 0x28549a0
|
|
/* 028549A0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 028549A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028549A0 */ cpu->r[1] = _t0;
|
|
/* 028549A4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 028549A4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 028549A8 */ /* nop */
|
|
/* 028549AC */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 028549AC */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 028549B0 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028549B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028549B4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028549B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028549B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028549BC */ _t5 = cpu->r[31] + 0x00000030u;
|
|
/* 028549BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 028549C0 */ cpu->r[12] = cpu->r[4] + 0x00000004u;
|
|
/* 028549C4 */ _t6 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028549C4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 028549C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028549CC */ _t7 = cpu->r[4] + 0x00000006u;
|
|
/* 028549CC */ cpu->r[9] = rbrew_read8(cpu->mem, _t7);
|
|
/* 028549D0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028549D0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028549D0 */ if (_t9) goto L_02854A50; else goto L_028549D4;
|
|
L_028549D4: ; // 0x28549d4
|
|
/* 028549D4 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 028549D4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t10);
|
|
/* 028549D8 */ cpu->r[0] = 0x43300000u;
|
|
/* 028549DC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028549DC */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 028549E0 */ cpu->r[9] = 0x10130000u;
|
|
/* 028549E4 */ /* nop */
|
|
/* 028549E8 */ _t12 = cpu->r[9] + 0x00001828u;
|
|
/* 028549E8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 028549EC */ cpu->r[11] = cpu->r[8] ^ 0x80000000u;
|
|
/* 028549F0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 028549F0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 028549F4 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 028549F4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 028549F8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028549F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 028549FC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 028549FC */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02854A00 */ cpu->r[11] = 0x10130000u;
|
|
/* 02854A04 */ _t17 = cpu->r[11] + 0x00001830u;
|
|
/* 02854A04 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 02854A08 */ cpu->f[0] = cpu->f[11] - cpu->f[13];
|
|
/* 02854A0C */ cpu->f[13] = cpu->f[12] - cpu->f[10];
|
|
/* 02854A10 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 02854A14 */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 02854A18 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 02854A18 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02854A1C */ cpu->f[11] = cpu->f[12] * cpu->f[9];
|
|
/* 02854A20 */ cpu->r[12] = 0x10130000u;
|
|
/* 02854A24 */ cpu->f[10] = -fma(cpu->f[0], cpu->f[9], -(cpu->f[31]));
|
|
/* 02854A28 */ _t19 = cpu->r[12] + 0x00001838u;
|
|
/* 02854A28 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02854A2C */ cpu->f[10] = fma(cpu->f[10], cpu->f[12], cpu->f[11]);
|
|
/* 02854A30 */ _t20 = cpu->r[31] + 0x00000014u;
|
|
/* 02854A30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02854A34 */ cpu->f[1] = cpu->f[0] + cpu->f[10];
|
|
/* 02854A38 */ cpu->r[3] = cpu->r[31];
|
|
/* 02854A3C */ Gambit_fn_028545E8(cpu);
|
|
/* 02854A40 */ _t21 = cpu->r[31] + 0x00000014u;
|
|
/* 02854A40 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02854A44 */ cpu->f[11] = cpu->f[11] + cpu->f[31];
|
|
/* 02854A48 */ _t22 = cpu->r[31] + 0x00000014u;
|
|
/* 02854A48 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 02854A4C */ goto L_02854AB4;
|
|
L_02854A50: ; // 0x2854a50
|
|
/* 02854A50 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854A50 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 02854A54 */ cpu->r[10] = 0x10130000u;
|
|
/* 02854A58 */ cpu->r[0] = 0x43300000u;
|
|
/* 02854A5C */ _t24 = cpu->r[10] + 0x00001830u;
|
|
/* 02854A5C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 02854A60 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02854A60 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02854A64 */ _t26 = cpu->r[12] + 0x00000000u;
|
|
/* 02854A64 */ cpu->r[10] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02854A68 */ cpu->r[8] = 0x10130000u;
|
|
/* 02854A6C */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02854A6C */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 02854A70 */ /* nop */
|
|
/* 02854A74 */ _t28 = cpu->r[8] + 0x00001828u;
|
|
/* 02854A74 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 02854A78 */ cpu->f[12] = cpu->f[10] - cpu->f[11];
|
|
/* 02854A7C */ cpu->r[12] = cpu->r[10] ^ 0x80000000u;
|
|
/* 02854A80 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854A80 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 02854A84 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02854A84 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02854A88 */ cpu->f[13] = (double)(float)cpu->f[12];
|
|
/* 02854A8C */ cpu->f[11] = cpu->f[10] - cpu->f[0];
|
|
/* 02854A90 */ cpu->f[31] = cpu->f[13] * cpu->f[9];
|
|
/* 02854A94 */ cpu->f[13] = (double)(float)cpu->f[11];
|
|
/* 02854A98 */ _t31 = cpu->r[31] + 0x00000014u;
|
|
/* 02854A98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02854A9C */ cpu->f[1] = fma(cpu->f[13], cpu->f[9], cpu->f[0]);
|
|
/* 02854AA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02854AA4 */ Gambit_fn_028545E8(cpu);
|
|
/* 02854AA8 */ _t32 = cpu->r[31] + 0x00000014u;
|
|
/* 02854AA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02854AAC */ cpu->f[11] = cpu->f[11] + cpu->f[31];
|
|
/* 02854AB0 */ _t33 = cpu->r[31] + 0x00000014u;
|
|
/* 02854AB0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[11]);
|
|
L_02854AB4: ; // 0x2854ab4
|
|
/* 02854AB4 */ cpu->f[1] = cpu->f[31];
|
|
/* 02854AB8 */ _t34 = cpu->r[1] + 0x00000020u;
|
|
/* 02854AB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02854ABC */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02854ABC */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02854AC0 */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 02854AC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 02854AC4 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02854AC4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02854AC4 */ if (_t38) goto L_02854AC8; // else: addr-0 trap, fall-through
|
|
L_02854AC8: ; // 0x2854ac8
|
|
/* 02854AC8 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02854AC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02854ACC */ cpu->lr = cpu->r[0];
|
|
/* 02854AD0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02854AD4 */ return;
|
|
}
|
|
|
|
// fn_02854AD8 @ 0x2854ad8
|
|
void Gambit_fn_02854AD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02854AD8: ; // 0x2854ad8
|
|
/* 02854AD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02854ADC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02854ADC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854ADC */ cpu->r[1] = _t0;
|
|
/* 02854AE0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02854AE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02854AE4 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02854AE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02854AE8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02854AEC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02854AF0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02854AF4 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02854AF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02854AF8 */ Gambit_fn_02854D00(cpu);
|
|
/* 02854AFC */ _t4 = cpu->r[30] + 0x00000028u;
|
|
/* 02854AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02854B00 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02854B00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02854B04 */ _t6 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02854B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02854B08 */ cpu->ctr = cpu->r[0];
|
|
/* 02854B0C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02854B10 */ cpu->r[5] = cpu->r[31];
|
|
/* 02854B14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02854B18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02854B1C */ cpu->r[3] = cpu->r[30];
|
|
/* 02854B20 */ Gambit_fn_0285499C(cpu);
|
|
/* 02854B24 */ _t7 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02854B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02854B28 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02854B28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02854B2C */ cpu->lr = cpu->r[0];
|
|
/* 02854B30 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02854B30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02854B34 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02854B38 */ return;
|
|
}
|
|
|
|
// fn_02854ADC @ 0x2854adc
|
|
void Gambit_fn_02854ADC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02854ADC: ; // 0x2854adc
|
|
/* 02854ADC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02854ADC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854ADC */ cpu->r[1] = _t0;
|
|
/* 02854AE0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02854AE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02854AE4 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02854AE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02854AE8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02854AEC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02854AF0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02854AF4 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02854AF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02854AF8 */ Gambit_fn_02854D00(cpu);
|
|
/* 02854AFC */ _t4 = cpu->r[30] + 0x00000028u;
|
|
/* 02854AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02854B00 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02854B00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02854B04 */ _t6 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02854B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02854B08 */ cpu->ctr = cpu->r[0];
|
|
/* 02854B0C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02854B10 */ cpu->r[5] = cpu->r[31];
|
|
/* 02854B14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02854B18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02854B1C */ cpu->r[3] = cpu->r[30];
|
|
/* 02854B20 */ Gambit_fn_0285499C(cpu);
|
|
/* 02854B24 */ _t7 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02854B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02854B28 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02854B28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02854B2C */ cpu->lr = cpu->r[0];
|
|
/* 02854B30 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02854B30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02854B34 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02854B38 */ return;
|
|
}
|
|
|
|
// fn_02854B3C @ 0x2854b3c
|
|
void Gambit_fn_02854B3C(CPUState* cpu) {
|
|
L_02854B3C: ; // 0x2854b3c
|
|
/* 02854B3C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000030u);
|
|
/* 02854B40 */ cpu->r[3] = cpu->r[12] + 0x000000A0u;
|
|
/* 02854B44 */ return;
|
|
}
|
|
|
|
// fn_02854B48 @ 0x2854b48
|
|
void Gambit_fn_02854B48(CPUState* cpu) {
|
|
L_02854B48: ; // 0x2854b48
|
|
/* 02854B48 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x000000E0u);
|
|
/* 02854B4C */ return;
|
|
}
|
|
|
|
// fn_02854B50 @ 0x2854b50
|
|
void Gambit_fn_02854B50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02854B50: ; // 0x2854b50
|
|
/* 02854B50 */ cpu->r[0] = cpu->lr;
|
|
/* 02854B54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02854B54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854B54 */ cpu->r[1] = _t0;
|
|
/* 02854B58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854B58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02854B5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02854B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854B60 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02854B60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02854B64 */ cpu->r[0] = cpu->r[4];
|
|
/* 02854B68 */ cpu->r[4] = cpu->r[5];
|
|
/* 02854B6C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854B6C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02854B6C */ if (_t4) goto L_02854B78; else goto L_02854B70;
|
|
L_02854B70: ; // 0x2854b70
|
|
/* 02854B70 */ cpu->r[5] = cpu->r[0];
|
|
/* 02854B74 */ Gambit_fn_02854C38(cpu);
|
|
L_02854B78: ; // 0x2854b78
|
|
/* 02854B78 */ cpu->r[11] = cpu->r[31] + 0x000000A0u;
|
|
/* 02854B7C */ cpu->r[0] = 0x00000000u;
|
|
/* 02854B80 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02854B80 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02854B84 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 02854B84 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 02854B88 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02854B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02854B8C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854B8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02854B90 */ cpu->lr = cpu->r[0];
|
|
/* 02854B94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02854B98 */ return;
|
|
}
|
|
|
|
// fn_02854B54 @ 0x2854b54
|
|
void Gambit_fn_02854B54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02854B54: ; // 0x2854b54
|
|
/* 02854B54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02854B54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854B54 */ cpu->r[1] = _t0;
|
|
/* 02854B58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854B58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02854B5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02854B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854B60 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02854B60 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02854B64 */ cpu->r[0] = cpu->r[4];
|
|
/* 02854B68 */ cpu->r[4] = cpu->r[5];
|
|
/* 02854B6C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854B6C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02854B6C */ if (_t4) goto L_02854B78; else goto L_02854B70;
|
|
L_02854B70: ; // 0x2854b70
|
|
/* 02854B70 */ cpu->r[5] = cpu->r[0];
|
|
/* 02854B74 */ Gambit_fn_02854C38(cpu);
|
|
L_02854B78: ; // 0x2854b78
|
|
/* 02854B78 */ cpu->r[11] = cpu->r[31] + 0x000000A0u;
|
|
/* 02854B7C */ cpu->r[0] = 0x00000000u;
|
|
/* 02854B80 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02854B80 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02854B84 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 02854B84 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 02854B88 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02854B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02854B8C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854B8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02854B90 */ cpu->lr = cpu->r[0];
|
|
/* 02854B94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02854B98 */ return;
|
|
}
|
|
|
|
// fn_02854B9C @ 0x2854b9c
|
|
void Gambit_fn_02854B9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02854B9C: ; // 0x2854b9c
|
|
/* 02854B9C */ cpu->r[0] = cpu->lr;
|
|
/* 02854BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02854BA4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02854BA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02854BA8 */ cpu->r[0] = cpu->r[4];
|
|
/* 02854BAC */ cpu->r[4] = cpu->r[5];
|
|
/* 02854BB0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02854BB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02854BB0 */ cpu->r[1] = _t1;
|
|
/* 02854BB4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854BB4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02854BB4 */ if (_t3) goto L_02854BC0; else goto L_02854BB8;
|
|
L_02854BB8: ; // 0x2854bb8
|
|
/* 02854BB8 */ cpu->r[5] = cpu->r[0];
|
|
/* 02854BBC */ Gambit_fn_02854C38(cpu);
|
|
L_02854BC0: ; // 0x2854bc0
|
|
/* 02854BC0 */ cpu->r[12] = 0x00000001u;
|
|
/* 02854BC4 */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 02854BC4 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02854BC8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02854BCC */ cpu->lr = cpu->r[0];
|
|
/* 02854BD0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02854BD4 */ return;
|
|
}
|
|
|
|
// fn_02854BB0 @ 0x2854bb0
|
|
void Gambit_fn_02854BB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02854BB0: ; // 0x2854bb0
|
|
/* 02854BB0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02854BB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854BB0 */ cpu->r[1] = _t0;
|
|
/* 02854BB4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854BB4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02854BB4 */ if (_t2) goto L_02854BC0; else goto L_02854BB8;
|
|
L_02854BB8: ; // 0x2854bb8
|
|
/* 02854BB8 */ cpu->r[5] = cpu->r[0];
|
|
/* 02854BBC */ Gambit_fn_02854C38(cpu);
|
|
L_02854BC0: ; // 0x2854bc0
|
|
/* 02854BC0 */ cpu->r[12] = 0x00000001u;
|
|
/* 02854BC4 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 02854BC4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[12]);
|
|
/* 02854BC8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02854BCC */ cpu->lr = cpu->r[0];
|
|
/* 02854BD0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02854BD4 */ return;
|
|
}
|
|
|
|
// fn_02854BD8 @ 0x2854bd8
|
|
void Gambit_fn_02854BD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02854BD8: ; // 0x2854bd8
|
|
/* 02854BD8 */ _t0 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02854BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02854BDC */ cpu->r[11] = 0x00000000u;
|
|
/* 02854BE0 */ _t1 = cpu->r[12] + 0x00000004u;
|
|
/* 02854BE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02854BE4 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02854BE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02854BE8 */ _t3 = cpu->r[12] + 0x00000011u;
|
|
/* 02854BE8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]);
|
|
/* 02854BEC */ return;
|
|
}
|
|
|
|
// fn_02854BF0 @ 0x2854bf0
|
|
void Gambit_fn_02854BF0(CPUState* cpu) {
|
|
L_02854BF0: ; // 0x2854bf0
|
|
/* 02854BF0 */ return;
|
|
}
|
|
|
|
// fn_02854C00 @ 0x2854c00
|
|
void Gambit_fn_02854C00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02854C00: ; // 0x2854c00
|
|
/* 02854C00 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02854C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854C00 */ cpu->r[1] = _t0;
|
|
/* 02854C04 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854C04 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02854C04 */ if (_t2) goto L_02854C08; else goto L_02854C18;
|
|
L_02854C08: ; // 0x2854c08
|
|
/* 02854C08 */ cpu->r[3] = 0x00000004u;
|
|
/* 02854C0C */ Gambit_fn_02801A78(cpu);
|
|
/* 02854C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02854C14 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854C14 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02854C14 */ if (_t4) goto L_02854C20; else goto L_02854C18;
|
|
L_02854C18: ; // 0x2854c18
|
|
/* 02854C18 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02854C1C */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02854C1C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_02854C20: ; // 0x2854c20
|
|
/* 02854C20 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02854C24 */ cpu->lr = cpu->r[0];
|
|
/* 02854C28 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02854C2C */ return;
|
|
}
|
|
|
|
// fn_02854C30 @ 0x2854c30
|
|
void Gambit_fn_02854C30(CPUState* cpu) {
|
|
L_02854C30: ; // 0x2854c30
|
|
/* 02854C30 */ cpu->r[3] = 0x000000A0u;
|
|
/* 02854C34 */ return;
|
|
}
|
|
|
|
// fn_02854C38 @ 0x2854c38
|
|
void Gambit_fn_02854C38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02854C38: ; // 0x2854c38
|
|
/* 02854C38 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02854C38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854C38 */ cpu->r[1] = _t0;
|
|
/* 02854C3C */ cpu->r[0] = cpu->lr;
|
|
/* 02854C40 */ /* nop */
|
|
/* 02854C44 */ cpu->r[30] = cpu->r[3];
|
|
/* 02854C44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02854C48 */ cpu->r[28] = cpu->r[4];
|
|
/* 02854C4C */ cpu->r[31] = cpu->r[5];
|
|
/* 02854C50 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02854C50 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02854C54 */ cpu->r[29] = cpu->r[6];
|
|
/* 02854C58 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854C58 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02854C58 */ if (_t3) goto L_02854C5C; else goto L_02854C6C;
|
|
L_02854C5C: ; // 0x2854c5c
|
|
/* 02854C5C */ cpu->r[3] = 0x000000A0u;
|
|
/* 02854C60 */ Gambit_fn_02801A78(cpu);
|
|
/* 02854C64 */ cpu->r[30] = cpu->r[3];
|
|
/* 02854C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02854C68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854C68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02854C68 */ if (_t5) goto L_02854CE8; else goto L_02854C6C;
|
|
L_02854C6C: ; // 0x2854c6c
|
|
/* 02854C6C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02854C6C */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 02854C70 */ cpu->r[27] = 0x00000000u;
|
|
/* 02854C74 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02854C74 */ rbrew_write32(cpu->mem, _t7, cpu->r[27]);
|
|
/* 02854C78 */ _t8 = cpu->r[30] + 0x00000011u;
|
|
/* 02854C78 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[27]);
|
|
/* 02854C7C */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02854C7C */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
|
|
/* 02854C80 */ _t10 = cpu->r[30] + 0x00000008u;
|
|
/* 02854C80 */ rbrew_write32(cpu->mem, _t10, cpu->r[27]);
|
|
/* 02854C84 */ cpu->r[3] = cpu->r[30] + 0x00000014u;
|
|
/* 02854C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02854C88 */ _t11 = cpu->r[30] + 0x00000010u;
|
|
/* 02854C88 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[27]);
|
|
/* 02854C8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854C8C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02854C8C */ if (_t13) goto L_02854C90; else goto L_02854CA0;
|
|
L_02854C90: ; // 0x2854c90
|
|
/* 02854C90 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02854C94 */ Gambit_fn_02801A78(cpu);
|
|
/* 02854C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02854C9C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854C9C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02854C9C */ if (_t15) goto L_02854CBC; else goto L_02854CA0;
|
|
L_02854CA0: ; // 0x2854ca0
|
|
/* 02854CA0 */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 02854CA0 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 02854CA4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 02854CA8 */ cpu->r[12] = 0x00000002u;
|
|
/* 02854CAC */ cpu->r[0] = 0x00000000u;
|
|
L_02854CB0: ; // 0x2854cb0
|
|
/* 02854CB0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02854CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02854CB4 */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 02854CB4 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02854CB4 */ cpu->r[3] = _t17;
|
|
/* 02854CB8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854CB8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02854CB8 */ if (_t19) goto L_02854CBC; else goto L_02854CB0;
|
|
L_02854CBC: ; // 0x2854cbc
|
|
/* 02854CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02854CC0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02854CC4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854CC4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02854CC4 */ if (_t21) goto L_02854CCC; else goto L_02854CC8;
|
|
L_02854CC8: ; // 0x2854cc8
|
|
/* 02854CC8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_02854CCC: ; // 0x2854ccc
|
|
/* 02854CCC */ cpu->r[8] = 0x00000002u;
|
|
/* 02854CD0 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000001Cu);
|
|
/* 02854CD4 */ cpu->ctr = cpu->r[8];
|
|
/* 02854CD8 */ cpu->r[10] = cpu->r[30] + 0x00000010u;
|
|
L_02854CDC: ; // 0x2854cdc
|
|
/* 02854CDC */ _t22 = cpu->r[10] + 0x00000004u;
|
|
/* 02854CDC */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
|
|
/* 02854CDC */ cpu->r[10] = _t22;
|
|
/* 02854CE0 */ cpu->r[31] = cpu->r[31] + cpu->r[9];
|
|
/* 02854CE4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02854CE4 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02854CE4 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 02854CE4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02854CE4 */ if (_t25) goto L_02854CDC; else goto L_02854CE8;
|
|
L_02854CE8: ; // 0x2854ce8
|
|
/* 02854CE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02854CEC */ /* nop */
|
|
/* 02854CF0 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 02854CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02854CF4 */ cpu->lr = cpu->r[0];
|
|
/* 02854CF8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02854CFC */ return;
|
|
}
|
|
|
|
// fn_02854D00 @ 0x2854d00
|
|
void Gambit_fn_02854D00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02854D00: ; // 0x2854d00
|
|
/* 02854D00 */ cpu->r[0] = cpu->lr;
|
|
/* 02854D04 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02854D04 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02854D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02854D0C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02854D0C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02854D0C */ cpu->r[1] = _t1;
|
|
/* 02854D10 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854D10 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02854D10 */ if (_t3) goto L_02854D14; else goto L_02854D24;
|
|
L_02854D14: ; // 0x2854d14
|
|
/* 02854D14 */ cpu->r[3] = 0x00000018u;
|
|
/* 02854D18 */ Gambit_fn_02801A78(cpu);
|
|
/* 02854D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02854D20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854D20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02854D20 */ if (_t5) goto L_02854D2C; else goto L_02854D24;
|
|
L_02854D24: ; // 0x2854d24
|
|
/* 02854D24 */ cpu->r[0] = 0x00000000u;
|
|
/* 02854D28 */ _t6 = cpu->r[3] + 0x00000012u;
|
|
/* 02854D28 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
L_02854D2C: ; // 0x2854d2c
|
|
/* 02854D2C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02854D30 */ cpu->lr = cpu->r[0];
|
|
/* 02854D34 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02854D38 */ return;
|
|
}
|
|
|
|
// fn_02854D0C @ 0x2854d0c
|
|
void Gambit_fn_02854D0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02854D0C: ; // 0x2854d0c
|
|
/* 02854D0C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02854D0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854D0C */ cpu->r[1] = _t0;
|
|
/* 02854D10 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854D10 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02854D10 */ if (_t2) goto L_02854D14; else goto L_02854D24;
|
|
L_02854D14: ; // 0x2854d14
|
|
/* 02854D14 */ cpu->r[3] = 0x00000018u;
|
|
/* 02854D18 */ Gambit_fn_02801A78(cpu);
|
|
/* 02854D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02854D20 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854D20 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02854D20 */ if (_t4) goto L_02854D2C; else goto L_02854D24;
|
|
L_02854D24: ; // 0x2854d24
|
|
/* 02854D24 */ cpu->r[0] = 0x00000000u;
|
|
/* 02854D28 */ _t5 = cpu->r[3] + 0x00000012u;
|
|
/* 02854D28 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
L_02854D2C: ; // 0x2854d2c
|
|
/* 02854D2C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02854D30 */ cpu->lr = cpu->r[0];
|
|
/* 02854D34 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02854D38 */ return;
|
|
}
|
|
|
|
// fn_02854D3C @ 0x2854d3c
|
|
void Gambit_fn_02854D3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02854D3C: ; // 0x2854d3c
|
|
/* 02854D3C */ cpu->r[0] = cpu->lr;
|
|
/* 02854D40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02854D40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854D40 */ cpu->r[1] = _t0;
|
|
/* 02854D44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854D44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02854D48 */ cpu->r[31] = cpu->r[3];
|
|
/* 02854D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854D4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02854D4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02854D50 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854D50 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02854D50 */ if (_t4) goto L_02854D54; else goto L_02854D64;
|
|
L_02854D54: ; // 0x2854d54
|
|
/* 02854D54 */ cpu->r[3] = 0x00000008u;
|
|
/* 02854D58 */ Gambit_fn_02801A78(cpu);
|
|
/* 02854D5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02854D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854D60 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854D60 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02854D60 */ if (_t6) goto L_02854D8C; else goto L_02854D64;
|
|
L_02854D64: ; // 0x2854d64
|
|
/* 02854D64 */ cpu->r[12] = 0x00000001u;
|
|
/* 02854D68 */ cpu->r[11] = 0x10130000u;
|
|
/* 02854D6C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02854D70 */ _t7 = cpu->r[31] + 0x00000001u;
|
|
/* 02854D70 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 02854D74 */ cpu->r[11] = cpu->r[11] + 0x0000183Cu;
|
|
/* 02854D78 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02854D78 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 02854D7C */ cpu->r[3] = cpu->r[3] + 0xFFFFC520u;
|
|
/* 02854D80 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02854D80 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02854D84 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02854D84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02854D84 */ if (_t11) goto L_02854D88; // else: addr-0 trap, fall-through
|
|
L_02854D88: ; // 0x2854d88
|
|
/* 02854D88 */ Gambit_fn_02C6AD08(cpu);
|
|
L_02854D8C: ; // 0x2854d8c
|
|
/* 02854D8C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02854D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02854D90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02854D94 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854D94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02854D98 */ cpu->lr = cpu->r[0];
|
|
/* 02854D9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02854DA0 */ return;
|
|
}
|
|
|
|
// fn_02854D40 @ 0x2854d40
|
|
void Gambit_fn_02854D40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02854D40: ; // 0x2854d40
|
|
/* 02854D40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02854D40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854D40 */ cpu->r[1] = _t0;
|
|
/* 02854D44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854D44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02854D48 */ cpu->r[31] = cpu->r[3];
|
|
/* 02854D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854D4C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02854D4C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02854D50 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854D50 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02854D50 */ if (_t4) goto L_02854D54; else goto L_02854D64;
|
|
L_02854D54: ; // 0x2854d54
|
|
/* 02854D54 */ cpu->r[3] = 0x00000008u;
|
|
/* 02854D58 */ Gambit_fn_02801A78(cpu);
|
|
/* 02854D5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02854D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854D60 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854D60 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02854D60 */ if (_t6) goto L_02854D8C; else goto L_02854D64;
|
|
L_02854D64: ; // 0x2854d64
|
|
/* 02854D64 */ cpu->r[12] = 0x00000001u;
|
|
/* 02854D68 */ cpu->r[11] = 0x10130000u;
|
|
/* 02854D6C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02854D70 */ _t7 = cpu->r[31] + 0x00000001u;
|
|
/* 02854D70 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 02854D74 */ cpu->r[11] = cpu->r[11] + 0x0000183Cu;
|
|
/* 02854D78 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02854D78 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 02854D7C */ cpu->r[3] = cpu->r[3] + 0xFFFFC520u;
|
|
/* 02854D80 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02854D80 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02854D84 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02854D84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02854D84 */ if (_t11) goto L_02854D88; // else: addr-0 trap, fall-through
|
|
L_02854D88: ; // 0x2854d88
|
|
/* 02854D88 */ Gambit_fn_02C6AD08(cpu);
|
|
L_02854D8C: ; // 0x2854d8c
|
|
/* 02854D8C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02854D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02854D90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02854D94 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854D94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02854D98 */ cpu->lr = cpu->r[0];
|
|
/* 02854D9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02854DA0 */ return;
|
|
}
|
|
|
|
// fn_02854DA4 @ 0x2854da4
|
|
void Gambit_fn_02854DA4(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_02854DA4: ; // 0x2854da4
|
|
/* 02854DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02854DA8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854DA8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02854DA8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02854DA8 */ goto L_02854DAC;
|
|
L_02854DAC: ; // 0x2854dac
|
|
/* 02854DAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02854DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02854DB0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854DB0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02854DB0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02854DB0 */ goto L_02854DB4;
|
|
L_02854DB4: ; // 0x2854db4
|
|
/* 02854DB4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02854DB8 @ 0x2854db8
|
|
void Gambit_fn_02854DB8(CPUState* cpu) {
|
|
uint32_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_02854DB8: ; // 0x2854db8
|
|
/* 02854DB8 */ cpu->r[0] = cpu->lr;
|
|
/* 02854DBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02854DBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854DBC */ cpu->r[1] = _t0;
|
|
/* 02854DC0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02854DC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02854DC4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02854DC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02854DC8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854DC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02854DCC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02854DCC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02854DD0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02854DD0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02854DD4 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02854DD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02854DD8 */ cpu->r[29] = 0x00000000u;
|
|
/* 02854DDC */ _t7 = cpu->r[12] + 0x000000A4u;
|
|
/* 02854DDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02854DE0 */ cpu->ctr = cpu->r[10];
|
|
/* 02854DE4 */ cpu->r[30] = cpu->r[29];
|
|
/* 02854DE8 */ cpu->r[28] = cpu->r[29];
|
|
/* 02854DEC */ cpu->r[31] = cpu->r[4];
|
|
/* 02854DF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02854DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02854DF8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854DF8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02854DF8 */ if (_t9) goto L_02854DFC; else goto L_02854E0C;
|
|
L_02854DFC: ; // 0x2854dfc
|
|
/* 02854DFC */ cpu->r[30] = 0x02860000u;
|
|
/* 02854E00 */ cpu->r[28] = 0xFFFFFFFFu;
|
|
/* 02854E04 */ cpu->r[30] = cpu->r[30] + 0xFFFFA1DCu;
|
|
/* 02854E08 */ cpu->r[29] = 0x00000000u;
|
|
L_02854E0C: ; // 0x2854e0c
|
|
/* 02854E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854E10 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854E10 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02854E10 */ if (_t11) goto L_02854E14; else goto L_02854E24;
|
|
L_02854E14: ; // 0x2854e14
|
|
/* 02854E14 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02854E18 */ Gambit_fn_02801A78(cpu);
|
|
/* 02854E1C */ cpu->r[31] = cpu->r[3];
|
|
/* 02854E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854E20 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854E20 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02854E20 */ if (_t13) goto L_02854E38; else goto L_02854E24;
|
|
L_02854E24: ; // 0x2854e24
|
|
/* 02854E24 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02854E24 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[29]);
|
|
/* 02854E28 */ cpu->r[0] = 0x00000000u;
|
|
/* 02854E2C */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 02854E2C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02854E30 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02854E30 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02854E34 */ _t17 = cpu->r[31] + 0x00000006u;
|
|
/* 02854E34 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[28]);
|
|
L_02854E38: ; // 0x2854e38
|
|
/* 02854E38 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02854E38 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02854E3C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854E3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02854E40 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02854E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02854E44 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02854E44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02854E48 */ cpu->lr = cpu->r[0];
|
|
/* 02854E4C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02854E4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02854E50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02854E54 */ return;
|
|
}
|
|
|
|
// fn_02854DBC @ 0x2854dbc
|
|
void Gambit_fn_02854DBC(CPUState* cpu) {
|
|
uint32_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_02854DBC: ; // 0x2854dbc
|
|
/* 02854DBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02854DBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854DBC */ cpu->r[1] = _t0;
|
|
/* 02854DC0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02854DC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02854DC4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02854DC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02854DC8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854DC8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02854DCC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02854DCC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02854DD0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02854DD0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02854DD4 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02854DD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02854DD8 */ cpu->r[29] = 0x00000000u;
|
|
/* 02854DDC */ _t7 = cpu->r[12] + 0x000000A4u;
|
|
/* 02854DDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02854DE0 */ cpu->ctr = cpu->r[10];
|
|
/* 02854DE4 */ cpu->r[30] = cpu->r[29];
|
|
/* 02854DE8 */ cpu->r[28] = cpu->r[29];
|
|
/* 02854DEC */ cpu->r[31] = cpu->r[4];
|
|
/* 02854DF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02854DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02854DF8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854DF8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02854DF8 */ if (_t9) goto L_02854DFC; else goto L_02854E0C;
|
|
L_02854DFC: ; // 0x2854dfc
|
|
/* 02854DFC */ cpu->r[30] = 0x02860000u;
|
|
/* 02854E00 */ cpu->r[28] = 0xFFFFFFFFu;
|
|
/* 02854E04 */ cpu->r[30] = cpu->r[30] + 0xFFFFA1DCu;
|
|
/* 02854E08 */ cpu->r[29] = 0x00000000u;
|
|
L_02854E0C: ; // 0x2854e0c
|
|
/* 02854E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854E10 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854E10 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02854E10 */ if (_t11) goto L_02854E14; else goto L_02854E24;
|
|
L_02854E14: ; // 0x2854e14
|
|
/* 02854E14 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02854E18 */ Gambit_fn_02801A78(cpu);
|
|
/* 02854E1C */ cpu->r[31] = cpu->r[3];
|
|
/* 02854E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854E20 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854E20 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02854E20 */ if (_t13) goto L_02854E38; else goto L_02854E24;
|
|
L_02854E24: ; // 0x2854e24
|
|
/* 02854E24 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02854E24 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[29]);
|
|
/* 02854E28 */ cpu->r[0] = 0x00000000u;
|
|
/* 02854E2C */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 02854E2C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02854E30 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02854E30 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02854E34 */ _t17 = cpu->r[31] + 0x00000006u;
|
|
/* 02854E34 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[28]);
|
|
L_02854E38: ; // 0x2854e38
|
|
/* 02854E38 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02854E38 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02854E3C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854E3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02854E40 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02854E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02854E44 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02854E44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02854E48 */ cpu->lr = cpu->r[0];
|
|
/* 02854E4C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02854E4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02854E50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02854E54 */ return;
|
|
}
|
|
|
|
// fn_02854E58 @ 0x2854e58
|
|
void Gambit_fn_02854E58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02854E58: ; // 0x2854e58
|
|
/* 02854E58 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02854E58 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02854E5C */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02854E5C */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 02854E60 */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02854E60 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[6]);
|
|
/* 02854E64 */ _t3 = cpu->r[3] + 0x0000000Au;
|
|
/* 02854E64 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[7]);
|
|
/* 02854E68 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02854E68 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[8]);
|
|
/* 02854E6C */ _t5 = cpu->r[3] + 0x0000000Du;
|
|
/* 02854E6C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[9]);
|
|
/* 02854E70 */ _t6 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02854E70 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[10]);
|
|
/* 02854E74 */ return;
|
|
}
|
|
|
|
// fn_02854E78 @ 0x2854e78
|
|
void Gambit_fn_02854E78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02854E78: ; // 0x2854e78
|
|
/* 02854E78 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02854E7C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02854E80 */ _t0 = cpu->r[10] + 0xFFFFD7E4u;
|
|
/* 02854E80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02854E80 */ cpu->r[10] = _t0;
|
|
/* 02854E84 */ cpu->r[3] = cpu->r[3] + 0x00000F78u;
|
|
/* 02854E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02854E8C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854E8C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02854E8C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02854E8C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02854E8C */ goto L_02854E90;
|
|
L_02854E90: ; // 0x2854e90
|
|
/* 02854E90 */ cpu->r[11] = 0x00000001u;
|
|
/* 02854E94 */ cpu->r[0] = 0x00000000u;
|
|
/* 02854E98 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02854E98 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02854E9C */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02854E9C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02854EA0 */ return;
|
|
}
|
|
|
|
// fn_02854EA4 @ 0x2854ea4
|
|
void Gambit_fn_02854EA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02854EA4: ; // 0x2854ea4
|
|
/* 02854EA4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02854EA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854EA4 */ cpu->r[1] = _t0;
|
|
/* 02854EA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02854EAC */ /* nop */
|
|
/* 02854EB0 */ cpu->r[31] = rbrew_rlwinm(cpu->r[3], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02854EB4 */ cpu->r[28] = 0x00000000u;
|
|
/* 02854EB8 */ cpu->r[27] = 0x00000003u;
|
|
/* 02854EBC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02854EBC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02854EC0 */ cpu->r[29] = cpu->r[4];
|
|
L_02854EC4: ; // 0x2854ec4
|
|
/* 02854EC4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02854EC8 */ cpu->r[3] = 0x00000003u;
|
|
/* 02854ECC */ cpu->r[5] = cpu->r[4];
|
|
/* 02854ED0 */ rbrew_dispatch(cpu, 0x02d05860u);
|
|
/* 02854ED4 */ _t2 = cpu->r[29] + 0x00000000u;
|
|
/* 02854ED4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02854ED8 */ cpu->r[30] = cpu->r[3] + 0x0000013Eu;
|
|
/* 02854EDC */ cpu->r[3] = cpu->r[28];
|
|
/* 02854EE0 */ Gambit_fn_02C684D8(cpu);
|
|
/* 02854EE4 */ cpu->r[12] = cpu->r[30] + cpu->r[3];
|
|
/* 02854EE8 */ _t3 = cpu->r[29] + 0x00000000u;
|
|
/* 02854EE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02854EEC */ cpu->r[3] = cpu->r[28];
|
|
/* 02854EF0 */ cpu->r[30] = cpu->r[12] + 0x000000FFu;
|
|
/* 02854EF4 */ Gambit_fn_02C684F8(cpu);
|
|
/* 02854EF8 */ _t4 = cpu->r[29] + 0x00000000u;
|
|
/* 02854EF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02854EFC */ cpu->r[8] = cpu->r[30] + cpu->r[3];
|
|
/* 02854F00 */ cpu->r[3] = cpu->r[28];
|
|
/* 02854F04 */ cpu->r[30] = cpu->r[8] + 0x0000003Fu;
|
|
/* 02854F08 */ Gambit_fn_02C684E8(cpu);
|
|
/* 02854F0C */ _t5 = cpu->r[29] + 0x00000000u;
|
|
/* 02854F0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02854F10 */ cpu->r[9] = cpu->r[30] + cpu->r[3];
|
|
/* 02854F14 */ cpu->r[3] = cpu->r[28];
|
|
/* 02854F18 */ cpu->r[30] = cpu->r[9] + 0x000000FFu;
|
|
/* 02854F1C */ Gambit_fn_02C68508(cpu);
|
|
/* 02854F20 */ cpu->r[10] = cpu->r[30] + cpu->r[3];
|
|
/* 02854F24 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02854F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02854F28 */ cpu->r[0] = cpu->r[10] + 0x0000021Fu;
|
|
/* 02854F2C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02854F30 */ cpu->r[31] = cpu->r[31] + cpu->r[0];
|
|
/* 02854F34 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854F34 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02854F34 */ if (_t7) goto L_02854F38; else goto L_02854EC4;
|
|
L_02854F38: ; // 0x2854f38
|
|
/* 02854F38 */ cpu->r[3] = cpu->r[31];
|
|
/* 02854F3C */ /* nop */
|
|
/* 02854F40 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02854F40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02854F44 */ cpu->lr = cpu->r[0];
|
|
/* 02854F48 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02854F4C */ return;
|
|
}
|
|
|
|
// fn_02854F54 @ 0x2854f54
|
|
void Gambit_fn_02854F54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02854F54: ; // 0x2854f54
|
|
/* 02854F54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02854F54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854F54 */ cpu->r[1] = _t0;
|
|
/* 02854F58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854F58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02854F5C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02854F5C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02854F60 */ cpu->r[31] = cpu->r[3];
|
|
/* 02854F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854F64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02854F64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02854F68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854F68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02854F68 */ if (_t5) goto L_02854F6C; else goto L_02854F7C;
|
|
L_02854F6C: ; // 0x2854f6c
|
|
/* 02854F6C */ cpu->r[3] = 0x000000BCu;
|
|
/* 02854F70 */ Gambit_fn_02801A78(cpu);
|
|
/* 02854F74 */ cpu->r[31] = cpu->r[3];
|
|
/* 02854F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02854F78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854F78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02854F78 */ if (_t7) goto L_02854FD4; else goto L_02854F7C;
|
|
L_02854F7C: ; // 0x2854f7c
|
|
/* 02854F7C */ cpu->r[30] = 0x00000000u;
|
|
/* 02854F80 */ _t8 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02854F80 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02854F84 */ _t9 = cpu->r[31] + 0x00000030u;
|
|
/* 02854F84 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02854F88 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02854F88 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02854F8C */ _t11 = cpu->r[31] + 0x00000038u;
|
|
/* 02854F8C */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02854F90 */ _t12 = cpu->r[31] + 0x00000034u;
|
|
/* 02854F90 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02854F94 */ _t13 = cpu->r[31] + 0x00000028u;
|
|
/* 02854F94 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02854F98 */ cpu->r[3] = cpu->r[31] + 0x0000009Cu;
|
|
/* 02854F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02854F9C */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02854F9C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02854FA0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854FA0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02854FA0 */ if (_t16) goto L_02854FA4; else goto L_02854FB4;
|
|
L_02854FA4: ; // 0x2854fa4
|
|
/* 02854FA4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02854FA8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02854FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02854FB0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02854FB0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02854FB0 */ if (_t18) goto L_02854FC0; else goto L_02854FB4;
|
|
L_02854FB4: ; // 0x2854fb4
|
|
/* 02854FB4 */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02854FB4 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02854FB8 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 02854FB8 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02854FBC */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 02854FBC */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
L_02854FC0: ; // 0x2854fc0
|
|
/* 02854FC0 */ _t22 = cpu->r[31] + 0x000000B8u;
|
|
/* 02854FC0 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02854FC4 */ _t23 = cpu->r[31] + 0x000000A8u;
|
|
/* 02854FC4 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02854FC8 */ _t24 = cpu->r[31] + 0x000000B0u;
|
|
/* 02854FC8 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02854FCC */ _t25 = cpu->r[31] + 0x000000B4u;
|
|
/* 02854FCC */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02854FD0 */ _t26 = cpu->r[31] + 0x000000ACu;
|
|
/* 02854FD0 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
L_02854FD4: ; // 0x2854fd4
|
|
/* 02854FD4 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02854FD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02854FD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02854FDC */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854FDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02854FE0 */ cpu->lr = cpu->r[0];
|
|
/* 02854FE4 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02854FE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02854FE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02854FEC */ return;
|
|
}
|
|
|
|
// fn_02854FF0 @ 0x2854ff0
|
|
void Gambit_fn_02854FF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02854FF0: ; // 0x2854ff0
|
|
/* 02854FF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02854FF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02854FF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854FF4 */ cpu->r[1] = _t0;
|
|
/* 02854FF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854FF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02854FFC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02854FFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02855000 */ cpu->r[31] = cpu->r[3];
|
|
/* 02855000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02855004 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02855004 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02855008 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855008 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02855008 */ if (_t5) goto L_0285500C; else goto L_0285501C;
|
|
L_0285500C: ; // 0x285500c
|
|
/* 0285500C */ cpu->r[3] = 0x0000024Cu;
|
|
/* 02855010 */ Gambit_fn_02801A78(cpu);
|
|
/* 02855014 */ cpu->r[31] = cpu->r[3];
|
|
/* 02855014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02855018 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855018 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02855018 */ if (_t7) goto L_0285504C; else goto L_0285501C;
|
|
L_0285501C: ; // 0x285501c
|
|
/* 0285501C */ cpu->r[12] = 0x10130000u;
|
|
/* 02855020 */ cpu->r[30] = 0x00000000u;
|
|
/* 02855024 */ cpu->r[6] = 0x02850000u;
|
|
/* 02855028 */ cpu->r[12] = cpu->r[12] + 0x00001A38u;
|
|
/* 0285502C */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02855030 */ cpu->r[6] = cpu->r[6] + 0x00004F50u;
|
|
/* 02855034 */ _t8 = cpu->r[31] + 0x00000248u;
|
|
/* 02855034 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02855038 */ cpu->r[4] = 0x00000003u;
|
|
/* 0285503C */ cpu->r[5] = 0x000000BCu;
|
|
/* 02855040 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02855040 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02855044 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02855048 */ _t10 = cpu->r[31] + 0x00000244u;
|
|
/* 02855048 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
L_0285504C: ; // 0x285504c
|
|
/* 0285504C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0285504C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02855050 */ cpu->r[3] = cpu->r[31];
|
|
/* 02855054 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02855054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02855058 */ cpu->lr = cpu->r[0];
|
|
/* 0285505C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0285505C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02855060 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02855064 */ return;
|
|
}
|
|
|
|
// fn_02854FF4 @ 0x2854ff4
|
|
void Gambit_fn_02854FF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02854FF4: ; // 0x2854ff4
|
|
/* 02854FF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02854FF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02854FF4 */ cpu->r[1] = _t0;
|
|
/* 02854FF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02854FF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02854FFC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02854FFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02855000 */ cpu->r[31] = cpu->r[3];
|
|
/* 02855000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02855004 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02855004 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02855008 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855008 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02855008 */ if (_t5) goto L_0285500C; else goto L_0285501C;
|
|
L_0285500C: ; // 0x285500c
|
|
/* 0285500C */ cpu->r[3] = 0x0000024Cu;
|
|
/* 02855010 */ Gambit_fn_02801A78(cpu);
|
|
/* 02855014 */ cpu->r[31] = cpu->r[3];
|
|
/* 02855014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02855018 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855018 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02855018 */ if (_t7) goto L_0285504C; else goto L_0285501C;
|
|
L_0285501C: ; // 0x285501c
|
|
/* 0285501C */ cpu->r[12] = 0x10130000u;
|
|
/* 02855020 */ cpu->r[30] = 0x00000000u;
|
|
/* 02855024 */ cpu->r[6] = 0x02850000u;
|
|
/* 02855028 */ cpu->r[12] = cpu->r[12] + 0x00001A38u;
|
|
/* 0285502C */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02855030 */ cpu->r[6] = cpu->r[6] + 0x00004F50u;
|
|
/* 02855034 */ _t8 = cpu->r[31] + 0x00000248u;
|
|
/* 02855034 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02855038 */ cpu->r[4] = 0x00000003u;
|
|
/* 0285503C */ cpu->r[5] = 0x000000BCu;
|
|
/* 02855040 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02855040 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02855044 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02855048 */ _t10 = cpu->r[31] + 0x00000244u;
|
|
/* 02855048 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
L_0285504C: ; // 0x285504c
|
|
/* 0285504C */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0285504C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02855050 */ cpu->r[3] = cpu->r[31];
|
|
/* 02855054 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02855054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02855058 */ cpu->lr = cpu->r[0];
|
|
/* 0285505C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0285505C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02855060 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02855064 */ return;
|
|
}
|
|
|
|
// fn_02855068 @ 0x2855068
|
|
void Gambit_fn_02855068(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02855068: ; // 0x2855068
|
|
/* 02855068 */ cpu->r[12] = 0x00000000u;
|
|
/* 0285506C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0285506C */ rbrew_write32(cpu->mem, _t0, cpu->r[12]);
|
|
/* 02855070 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02855070 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02855074 */ return;
|
|
}
|
|
|
|
// fn_02855078 @ 0x2855078
|
|
void Gambit_fn_02855078(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02855078: ; // 0x2855078
|
|
/* 02855078 */ cpu->r[0] = cpu->lr;
|
|
/* 0285507C */ cpu->r[11] = 0x00000003u;
|
|
/* 02855080 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02855080 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02855084 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02855088 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02855088 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02855088 */ cpu->r[1] = _t1;
|
|
L_0285508C: ; // 0x285508c
|
|
/* 0285508C */ Gambit_fn_02855068(cpu);
|
|
/* 02855090 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02855090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02855094 */ cpu->r[3] = cpu->r[3] + 0x000000BCu;
|
|
/* 02855098 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855098 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02855098 */ if (_t3) goto L_0285509C; else goto L_0285508C;
|
|
L_0285509C: ; // 0x285509c
|
|
/* 0285509C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285509C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028550A0 */ cpu->lr = cpu->r[0];
|
|
/* 028550A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028550A8 */ return;
|
|
}
|
|
|
|
// fn_02855088 @ 0x2855088
|
|
void Gambit_fn_02855088(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02855088: ; // 0x2855088
|
|
/* 02855088 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02855088 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02855088 */ cpu->r[1] = _t0;
|
|
L_0285508C: ; // 0x285508c
|
|
/* 0285508C */ Gambit_fn_02855068(cpu);
|
|
/* 02855090 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02855090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02855094 */ cpu->r[3] = cpu->r[3] + 0x000000BCu;
|
|
/* 02855098 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855098 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02855098 */ if (_t2) goto L_0285509C; else goto L_0285508C;
|
|
L_0285509C: ; // 0x285509c
|
|
/* 0285509C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285509C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028550A0 */ cpu->lr = cpu->r[0];
|
|
/* 028550A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028550A8 */ return;
|
|
}
|
|
|
|
// fn_028550AC @ 0x28550ac
|
|
void Gambit_fn_028550AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_028550AC: ; // 0x28550ac
|
|
/* 028550AC */ cpu->r[0] = cpu->lr;
|
|
/* 028550B0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 028550B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 028550B4 */ cpu->r[10] = cpu->r[3];
|
|
/* 028550B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 028550B8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 028550B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 028550B8 */ cpu->r[1] = _t1;
|
|
/* 028550BC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028550BC */ _t3 = _t2 & 0x00000001u;
|
|
/* 028550BC */ if (_t3) goto L_028550E4; else goto L_028550C0;
|
|
L_028550C0: ; // 0x28550c0
|
|
/* 028550C0 */ cpu->r[0] = 0x10130000u;
|
|
/* 028550C4 */ cpu->r[0] = cpu->r[0] + 0x00001A38u;
|
|
/* 028550C8 */ cpu->r[3] = cpu->r[10];
|
|
/* 028550CC */ _t4 = cpu->r[10] + 0x00000248u;
|
|
/* 028550CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028550D0 */ Gambit_fn_02855078(cpu);
|
|
/* 028550D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028550D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028550D8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028550D8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028550D8 */ if (_t6) goto L_028550E4; else goto L_028550DC;
|
|
L_028550DC: ; // 0x28550dc
|
|
/* 028550DC */ cpu->r[3] = cpu->r[10];
|
|
/* 028550E0 */ Gambit_fn_02801BB0(cpu);
|
|
L_028550E4: ; // 0x28550e4
|
|
/* 028550E4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028550E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028550E8 */ cpu->lr = cpu->r[0];
|
|
/* 028550EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028550F0 */ return;
|
|
}
|
|
|
|
// fn_028550B8 @ 0x28550b8
|
|
void Gambit_fn_028550B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_028550B8: ; // 0x28550b8
|
|
/* 028550B8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 028550B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028550B8 */ cpu->r[1] = _t0;
|
|
/* 028550BC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028550BC */ _t2 = _t1 & 0x00000001u;
|
|
/* 028550BC */ if (_t2) goto L_028550E4; else goto L_028550C0;
|
|
L_028550C0: ; // 0x28550c0
|
|
/* 028550C0 */ cpu->r[0] = 0x10130000u;
|
|
/* 028550C4 */ cpu->r[0] = cpu->r[0] + 0x00001A38u;
|
|
/* 028550C8 */ cpu->r[3] = cpu->r[10];
|
|
/* 028550CC */ _t3 = cpu->r[10] + 0x00000248u;
|
|
/* 028550CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028550D0 */ Gambit_fn_02855078(cpu);
|
|
/* 028550D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028550D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028550D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028550D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028550D8 */ if (_t5) goto L_028550E4; else goto L_028550DC;
|
|
L_028550DC: ; // 0x28550dc
|
|
/* 028550DC */ cpu->r[3] = cpu->r[10];
|
|
/* 028550E0 */ Gambit_fn_02801BB0(cpu);
|
|
L_028550E4: ; // 0x28550e4
|
|
/* 028550E4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028550E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028550E8 */ cpu->lr = cpu->r[0];
|
|
/* 028550EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028550F0 */ return;
|
|
}
|
|
|
|
// fn_028550F4 @ 0x28550f4
|
|
void Gambit_fn_028550F4(CPUState* 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_028550F4: ; // 0x28550f4
|
|
/* 028550F4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028550F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028550F4 */ cpu->r[1] = _t0;
|
|
/* 028550F8 */ cpu->r[0] = cpu->lr;
|
|
/* 028550FC */ /* nop */
|
|
/* 02855100 */ cpu->r[30] = cpu->r[5];
|
|
/* 02855104 */ cpu->r[26] = cpu->r[6];
|
|
/* 02855104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02855108 */ cpu->r[31] = cpu->r[7];
|
|
/* 0285510C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0285510C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02855110 */ cpu->r[29] = cpu->r[4];
|
|
/* 02855114 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855114 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02855114 */ if (_t3) goto L_028551C4; else goto L_02855118;
|
|
L_02855118: ; // 0x2855118
|
|
/* 02855118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285511C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285511C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285511C */ if (_t5) goto L_028551C4; else goto L_02855120;
|
|
L_02855120: ; // 0x2855120
|
|
/* 02855120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02855124 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855124 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02855124 */ if (_t7) goto L_028551C4; else goto L_02855128;
|
|
L_02855128: ; // 0x2855128
|
|
/* 02855128 */ cpu->r[3] = cpu->r[26];
|
|
/* 0285512C */ Gambit_fn_02C683E0(cpu);
|
|
/* 02855130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
|
|
/* 02855134 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855134 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02855134 */ if (_t9) goto L_02855138; else goto L_028551C4;
|
|
L_02855138: ; // 0x2855138
|
|
/* 02855138 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285513C */ cpu->r[4] = cpu->r[26];
|
|
/* 02855140 */ Gambit_fn_02C684D8(cpu);
|
|
/* 02855144 */ cpu->r[27] = cpu->r[3];
|
|
/* 02855148 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285514C */ cpu->r[4] = cpu->r[26];
|
|
/* 02855150 */ Gambit_fn_02C684F8(cpu);
|
|
/* 02855154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02855158 */ cpu->r[0] = cpu->r[3];
|
|
/* 0285515C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285515C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285515C */ if (_t11) goto L_028551C4; else goto L_02855160;
|
|
L_02855160: ; // 0x2855160
|
|
/* 02855160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02855164 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855164 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02855164 */ if (_t13) goto L_028551C4; else goto L_02855168;
|
|
L_02855168: ; // 0x2855168
|
|
/* 02855168 */ cpu->r[11] = cpu->r[31] + 0x0000003Fu;
|
|
/* 0285516C */ cpu->r[28] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02855170 */ cpu->r[31] = cpu->r[28] + cpu->r[27];
|
|
/* 02855174 */ cpu->r[5] = cpu->r[30];
|
|
/* 02855178 */ cpu->r[12] = cpu->r[31] + 0x000000FFu;
|
|
/* 0285517C */ cpu->r[6] = cpu->r[26];
|
|
/* 02855180 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02855184 */ cpu->r[3] = cpu->r[28];
|
|
/* 02855188 */ cpu->r[31] = cpu->r[4] + cpu->r[0];
|
|
/* 0285518C */ Gambit_fn_02C685E4(cpu);
|
|
/* 02855190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02855194 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855194 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02855194 */ if (_t15) goto L_028551C4; else goto L_02855198;
|
|
L_02855198: ; // 0x2855198
|
|
/* 02855198 */ _t16 = cpu->r[28] + 0x000000D0u;
|
|
/* 02855198 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285519C */ cpu->r[3] = 0x00000040u;
|
|
/* 028551A0 */ _t17 = cpu->r[28] + 0x000000D4u;
|
|
/* 028551A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028551A4 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 028551A8 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 028551A8 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
/* 028551AC */ cpu->r[3] = cpu->r[31];
|
|
/* 028551B0 */ /* nop */
|
|
/* 028551B4 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 028551B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028551B8 */ cpu->lr = cpu->r[0];
|
|
/* 028551BC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028551C0 */ return;
|
|
L_028551C4: ; // 0x28551c4
|
|
/* 028551C4 */ /* nop */
|
|
/* 028551C8 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 028551C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028551CC */ cpu->lr = cpu->r[0];
|
|
/* 028551D0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028551D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 028551D8 */ return;
|
|
}
|
|
|
|
// fn_028551DC @ 0x28551dc
|
|
void Gambit_fn_028551DC(CPUState* 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_028551DC: ; // 0x28551dc
|
|
/* 028551DC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028551DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028551DC */ cpu->r[1] = _t0;
|
|
/* 028551E0 */ cpu->r[0] = cpu->lr;
|
|
/* 028551E4 */ /* nop */
|
|
/* 028551E8 */ cpu->r[30] = cpu->r[5];
|
|
/* 028551EC */ cpu->r[26] = cpu->r[6];
|
|
/* 028551EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 028551F0 */ cpu->r[31] = cpu->r[7];
|
|
/* 028551F4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 028551F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028551F8 */ cpu->r[29] = cpu->r[4];
|
|
/* 028551FC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028551FC */ _t3 = _t2 & 0x00000001u;
|
|
/* 028551FC */ if (_t3) goto L_028552AC; else goto L_02855200;
|
|
L_02855200: ; // 0x2855200
|
|
/* 02855200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02855204 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855204 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02855204 */ if (_t5) goto L_028552AC; else goto L_02855208;
|
|
L_02855208: ; // 0x2855208
|
|
/* 02855208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285520C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285520C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285520C */ if (_t7) goto L_028552AC; else goto L_02855210;
|
|
L_02855210: ; // 0x2855210
|
|
/* 02855210 */ cpu->r[3] = cpu->r[26];
|
|
/* 02855214 */ Gambit_fn_02C683EC(cpu);
|
|
/* 02855218 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
|
|
/* 0285521C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285521C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285521C */ if (_t9) goto L_02855220; else goto L_028552AC;
|
|
L_02855220: ; // 0x2855220
|
|
/* 02855220 */ cpu->r[3] = cpu->r[30];
|
|
/* 02855224 */ cpu->r[4] = cpu->r[26];
|
|
/* 02855228 */ Gambit_fn_02C684E8(cpu);
|
|
/* 0285522C */ cpu->r[27] = cpu->r[3];
|
|
/* 02855230 */ cpu->r[3] = cpu->r[30];
|
|
/* 02855234 */ cpu->r[4] = cpu->r[26];
|
|
/* 02855238 */ Gambit_fn_02C68508(cpu);
|
|
/* 0285523C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02855240 */ cpu->r[0] = cpu->r[3];
|
|
/* 02855244 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855244 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02855244 */ if (_t11) goto L_028552AC; else goto L_02855248;
|
|
L_02855248: ; // 0x2855248
|
|
/* 02855248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285524C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285524C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285524C */ if (_t13) goto L_028552AC; else goto L_02855250;
|
|
L_02855250: ; // 0x2855250
|
|
/* 02855250 */ cpu->r[11] = cpu->r[31] + 0x0000003Fu;
|
|
/* 02855254 */ cpu->r[28] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x00000019u);
|
|
/* 02855258 */ cpu->r[31] = cpu->r[28] + cpu->r[27];
|
|
/* 0285525C */ cpu->r[5] = cpu->r[30];
|
|
/* 02855260 */ cpu->r[12] = cpu->r[31] + 0x000000FFu;
|
|
/* 02855264 */ cpu->r[6] = cpu->r[26];
|
|
/* 02855268 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 0285526C */ cpu->r[3] = cpu->r[28];
|
|
/* 02855270 */ cpu->r[31] = cpu->r[4] + cpu->r[0];
|
|
/* 02855274 */ Gambit_fn_02C68798(cpu);
|
|
/* 02855278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285527C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285527C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285527C */ if (_t15) goto L_028552AC; else goto L_02855280;
|
|
L_02855280: ; // 0x2855280
|
|
/* 02855280 */ _t16 = cpu->r[28] + 0x000000A4u;
|
|
/* 02855280 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02855284 */ cpu->r[3] = 0x00000040u;
|
|
/* 02855288 */ _t17 = cpu->r[28] + 0x000000A8u;
|
|
/* 02855288 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285528C */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02855290 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02855290 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
/* 02855294 */ cpu->r[3] = cpu->r[31];
|
|
/* 02855298 */ /* nop */
|
|
/* 0285529C */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 0285529C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028552A0 */ cpu->lr = cpu->r[0];
|
|
/* 028552A4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028552A8 */ return;
|
|
L_028552AC: ; // 0x28552ac
|
|
/* 028552AC */ /* nop */
|
|
/* 028552B0 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 028552B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028552B4 */ cpu->lr = cpu->r[0];
|
|
/* 028552B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028552BC */ cpu->r[3] = 0x00000000u;
|
|
/* 028552C0 */ return;
|
|
}
|
|
|
|
// fn_028552C4 @ 0x28552c4
|
|
void Gambit_fn_028552C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337;
|
|
|
|
L_028552C4: ; // 0x28552c4
|
|
/* 028552C4 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 028552C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028552C4 */ cpu->r[1] = _t0;
|
|
/* 028552C8 */ /* nop */
|
|
/* 028552CC */ cpu->r[0] = cpu->lr;
|
|
/* 028552D0 */ cpu->r[30] = cpu->r[3];
|
|
/* 028552D4 */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 028552D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028552D8 */ _t2 = cpu->r[30] + 0x00000028u;
|
|
/* 028552D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 028552DC */ cpu->r[4] = 0x00000000u;
|
|
/* 028552E0 */ cpu->r[27] = cpu->r[5];
|
|
/* 028552E4 */ cpu->r[5] = cpu->r[4];
|
|
/* 028552E8 */ cpu->r[28] = cpu->r[6];
|
|
/* 028552EC */ cpu->r[3] = 0x00000003u;
|
|
/* 028552F0 */ rbrew_dispatch(cpu, 0x02d05860u);
|
|
/* 028552F4 */ _t3 = cpu->r[30] + 0x00000028u;
|
|
/* 028552F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028552F8 */ cpu->r[29] = cpu->r[3];
|
|
/* 028552FC */ _t4 = cpu->r[28] + 0x00000000u;
|
|
/* 028552FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02855300 */ cpu->r[31] = cpu->r[12] + cpu->r[29];
|
|
/* 02855304 */ Gambit_fn_02C683E0(cpu);
|
|
/* 02855308 */ _t5 = cpu->r[28] + 0x00000000u;
|
|
/* 02855308 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285530C */ cpu->r[3] = cpu->r[30];
|
|
/* 02855310 */ cpu->r[4] = cpu->r[30];
|
|
/* 02855314 */ cpu->r[5] = cpu->r[27];
|
|
/* 02855318 */ cpu->r[7] = cpu->r[31];
|
|
/* 0285531C */ Gambit_fn_028550F4(cpu);
|
|
/* 02855320 */ cpu->r[31] = cpu->r[3];
|
|
/* 02855324 */ _t6 = cpu->r[28] + 0x00000000u;
|
|
/* 02855324 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02855328 */ Gambit_fn_02C683EC(cpu);
|
|
/* 0285532C */ _t7 = cpu->r[28] + 0x00000000u;
|
|
/* 0285532C */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02855330 */ cpu->r[3] = cpu->r[30];
|
|
/* 02855334 */ cpu->r[4] = cpu->r[30] + 0x00000004u;
|
|
/* 02855338 */ cpu->r[5] = cpu->r[27];
|
|
/* 0285533C */ cpu->r[7] = cpu->r[31];
|
|
/* 02855340 */ Gambit_fn_028551DC(cpu);
|
|
/* 02855344 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02855344 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02855348 */ _t9 = cpu->r[12] + 0x000000E4u;
|
|
/* 02855348 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285534C */ cpu->r[28] = 0x00000000u;
|
|
/* 02855350 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[10]);
|
|
/* 02855354 */ cpu->r[31] = cpu->r[3];
|
|
/* 02855358 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855358 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02855358 */ if (_t11) goto L_0285535C; else goto L_028553D4;
|
|
L_0285535C: ; // 0x285535c
|
|
/* 0285535C */ _t12 = cpu->r[12] + 0x000000E8u;
|
|
/* 0285535C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02855360 */ cpu->r[12] = 0x10130000u;
|
|
/* 02855364 */ cpu->r[3] = 0x00000000u;
|
|
/* 02855368 */ cpu->r[12] = cpu->r[12] + 0x00001990u;
|
|
L_0285536C: ; // 0x285536c
|
|
/* 0285536C */ _t13 = cpu->r[9] + cpu->r[3];
|
|
/* 0285536C */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02855370 */ cpu->r[5] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02855374 */ cpu->r[11] = cpu->r[9] + cpu->r[3];
|
|
/* 02855378 */ cpu->r[4] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0285537C: ; // 0x285537c
|
|
/* 0285537C */ _t14 = cpu->r[4] + 0x00000001u;
|
|
/* 0285537C */ cpu->r[6] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0285537C */ cpu->r[4] = _t14;
|
|
/* 02855380 */ _t15 = cpu->r[5] + 0x00000001u;
|
|
/* 02855380 */ cpu->r[7] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02855380 */ cpu->r[5] = _t15;
|
|
/* 02855384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 02855388 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855388 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02855388 */ if (_t17) goto L_0285538C; else goto L_02855394;
|
|
L_0285538C: ; // 0x285538c
|
|
/* 0285538C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000000u);
|
|
/* 02855390 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855390 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02855390 */ if (_t19) goto L_02855394; else goto L_0285537C;
|
|
L_02855394: ; // 0x2855394
|
|
/* 02855394 */ cpu->r[0] = cpu->r[6] - cpu->r[7];
|
|
/* 02855394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02855398 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855398 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02855398 */ if (_t21) goto L_028553CC; else goto L_0285539C;
|
|
L_0285539C: ; // 0x285539c
|
|
/* 0285539C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 028553A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[10]);
|
|
/* 028553A4 */ cpu->r[3] = cpu->r[3] + 0x00000014u;
|
|
/* 028553A8 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028553A8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028553A8 */ if (_t23) goto L_0285536C; else goto L_028553AC;
|
|
L_028553AC: ; // 0x28553ac
|
|
/* 028553AC */ _t24 = cpu->r[30] + 0x00000000u;
|
|
/* 028553AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028553B0 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 028553B4 */ _t25 = cpu->r[30] + 0x000000A8u;
|
|
/* 028553B4 */ rbrew_write32(cpu->mem, _t25, cpu->r[5]);
|
|
/* 028553B8 */ _t26 = cpu->r[10] + 0x00000104u;
|
|
/* 028553B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028553BC */ cpu->r[28] = 0x00000000u;
|
|
/* 028553C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 028553C4 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028553C4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 028553C4 */ if (_t28) goto L_028553C8; else goto L_02855488;
|
|
L_028553C8: ; // 0x28553c8
|
|
/* 028553C8 */ goto L_02855410;
|
|
L_028553CC: ; // 0x28553cc
|
|
/* 028553CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 028553D0 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028553D0 */ _t30 = _t29 & 0x00000001u;
|
|
/* 028553D0 */ if (_t30) goto L_028553D4; else goto L_028553F4;
|
|
L_028553D4: ; // 0x28553d4
|
|
/* 028553D4 */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 028553D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028553D8 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 028553DC */ _t32 = cpu->r[30] + 0x000000A8u;
|
|
/* 028553DC */ rbrew_write32(cpu->mem, _t32, cpu->r[5]);
|
|
/* 028553E0 */ _t33 = cpu->r[10] + 0x00000104u;
|
|
/* 028553E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028553E4 */ cpu->r[28] = 0x00000000u;
|
|
/* 028553E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 028553EC */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028553EC */ _t35 = _t34 & 0x00000001u;
|
|
/* 028553EC */ if (_t35) goto L_028553F0; else goto L_02855488;
|
|
L_028553F0: ; // 0x28553f0
|
|
/* 028553F0 */ goto L_02855410;
|
|
L_028553F4: ; // 0x28553f4
|
|
/* 028553F4 */ _t36 = cpu->r[11] + 0x0000000Cu;
|
|
/* 028553F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 028553F8 */ _t37 = cpu->r[30] + 0x00000000u;
|
|
/* 028553F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028553FC */ _t38 = cpu->r[30] + 0x000000A8u;
|
|
/* 028553FC */ rbrew_write32(cpu->mem, _t38, cpu->r[5]);
|
|
/* 02855400 */ _t39 = cpu->r[10] + 0x00000104u;
|
|
/* 02855400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02855404 */ cpu->r[28] = 0x00000000u;
|
|
/* 02855408 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 0285540C */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285540C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0285540C */ if (_t41) goto L_02855410; else goto L_02855488;
|
|
L_02855410: ; // 0x2855410
|
|
/* 02855410 */ cpu->r[9] = 0x10130000u;
|
|
/* 02855414 */ _t42 = cpu->r[10] + 0x00000108u;
|
|
/* 02855414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02855418 */ cpu->r[9] = cpu->r[9] + 0x00001988u;
|
|
/* 0285541C */ cpu->r[3] = 0x00000000u;
|
|
L_02855420: ; // 0x2855420
|
|
/* 02855420 */ _t43 = cpu->r[8] + cpu->r[3];
|
|
/* 02855420 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02855424 */ cpu->r[11] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02855428 */ cpu->r[12] = cpu->r[8] + cpu->r[3];
|
|
/* 0285542C */ cpu->r[10] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02855430: ; // 0x2855430
|
|
/* 02855430 */ _t44 = cpu->r[10] + 0x00000001u;
|
|
/* 02855430 */ cpu->r[4] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02855430 */ cpu->r[10] = _t44;
|
|
/* 02855434 */ _t45 = cpu->r[11] + 0x00000001u;
|
|
/* 02855434 */ cpu->r[5] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02855434 */ cpu->r[11] = _t45;
|
|
/* 02855438 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[5]);
|
|
/* 0285543C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285543C */ _t47 = _t46 & 0x00000001u;
|
|
/* 0285543C */ if (_t47) goto L_02855440; else goto L_02855448;
|
|
L_02855440: ; // 0x2855440
|
|
/* 02855440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000000u);
|
|
/* 02855444 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855444 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02855444 */ if (_t49) goto L_02855448; else goto L_02855430;
|
|
L_02855448: ; // 0x2855448
|
|
/* 02855448 */ cpu->r[7] = cpu->r[4] - cpu->r[5];
|
|
/* 02855448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285544C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285544C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0285544C */ if (_t51) goto L_02855480; else goto L_02855450;
|
|
L_02855450: ; // 0x2855450
|
|
/* 02855450 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02855454 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02855458 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 0285545C */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285545C */ _t53 = _t52 & 0x00000001u;
|
|
/* 0285545C */ if (_t53) goto L_02855420; else goto L_02855460;
|
|
L_02855460: ; // 0x2855460
|
|
/* 02855460 */ _t54 = cpu->r[30] + 0x00000000u;
|
|
/* 02855460 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02855464 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02855468 */ _t55 = cpu->r[30] + 0x00000030u;
|
|
/* 02855468 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 0285546C */ _t56 = cpu->r[8] + 0x00000104u;
|
|
/* 0285546C */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02855470 */ cpu->r[28] = 0x00000000u;
|
|
/* 02855474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[6]);
|
|
/* 02855478 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855478 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02855478 */ if (_t58) goto L_0285547C; else goto L_0285553C;
|
|
L_0285547C: ; // 0x285547c
|
|
/* 0285547C */ goto L_028554C4;
|
|
L_02855480: ; // 0x2855480
|
|
/* 02855480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02855484 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855484 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02855484 */ if (_t60) goto L_02855488; else goto L_028554A8;
|
|
L_02855488: ; // 0x2855488
|
|
/* 02855488 */ _t61 = cpu->r[30] + 0x00000000u;
|
|
/* 02855488 */ cpu->r[8] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0285548C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02855490 */ _t62 = cpu->r[30] + 0x00000030u;
|
|
/* 02855490 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 02855494 */ _t63 = cpu->r[8] + 0x00000104u;
|
|
/* 02855494 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02855498 */ cpu->r[28] = 0x00000000u;
|
|
/* 0285549C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[6]);
|
|
/* 028554A0 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028554A0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 028554A0 */ if (_t65) goto L_028554A4; else goto L_0285553C;
|
|
L_028554A4: ; // 0x28554a4
|
|
/* 028554A4 */ goto L_028554C4;
|
|
L_028554A8: ; // 0x28554a8
|
|
/* 028554A8 */ _t66 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028554A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 028554AC */ _t67 = cpu->r[30] + 0x00000000u;
|
|
/* 028554AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t67);
|
|
/* 028554B0 */ _t68 = cpu->r[30] + 0x00000030u;
|
|
/* 028554B0 */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
|
|
/* 028554B4 */ _t69 = cpu->r[8] + 0x00000104u;
|
|
/* 028554B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t69);
|
|
/* 028554B8 */ cpu->r[28] = 0x00000000u;
|
|
/* 028554BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[6]);
|
|
/* 028554C0 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028554C0 */ _t71 = _t70 & 0x00000001u;
|
|
/* 028554C0 */ if (_t71) goto L_028554C4; else goto L_0285553C;
|
|
L_028554C4: ; // 0x28554c4
|
|
/* 028554C4 */ cpu->r[7] = 0x10130000u;
|
|
/* 028554C8 */ _t72 = cpu->r[8] + 0x00000108u;
|
|
/* 028554C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t72);
|
|
/* 028554CC */ cpu->r[7] = cpu->r[7] + 0x00001998u;
|
|
/* 028554D0 */ cpu->r[3] = 0x00000000u;
|
|
L_028554D4: ; // 0x28554d4
|
|
/* 028554D4 */ _t73 = cpu->r[5] + cpu->r[3];
|
|
/* 028554D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 028554D8 */ cpu->r[9] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 028554DC */ cpu->r[4] = cpu->r[5] + cpu->r[3];
|
|
/* 028554E0 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_028554E4: ; // 0x28554e4
|
|
/* 028554E4 */ _t74 = cpu->r[8] + 0x00000001u;
|
|
/* 028554E4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t74);
|
|
/* 028554E4 */ cpu->r[8] = _t74;
|
|
/* 028554E8 */ _t75 = cpu->r[9] + 0x00000001u;
|
|
/* 028554E8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t75);
|
|
/* 028554E8 */ cpu->r[9] = _t75;
|
|
/* 028554EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 028554F0 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028554F0 */ _t77 = _t76 & 0x00000001u;
|
|
/* 028554F0 */ if (_t77) goto L_028554F4; else goto L_028554FC;
|
|
L_028554F4: ; // 0x28554f4
|
|
/* 028554F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000000u);
|
|
/* 028554F8 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028554F8 */ _t79 = _t78 & 0x00000001u;
|
|
/* 028554F8 */ if (_t79) goto L_028554FC; else goto L_028554E4;
|
|
L_028554FC: ; // 0x28554fc
|
|
/* 028554FC */ cpu->r[0] = cpu->r[10] - cpu->r[11];
|
|
/* 028554FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02855500 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855500 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02855500 */ if (_t81) goto L_02855534; else goto L_02855504;
|
|
L_02855504: ; // 0x2855504
|
|
/* 02855504 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02855508 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[6]);
|
|
/* 0285550C */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02855510 */ _t82 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855510 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02855510 */ if (_t83) goto L_028554D4; else goto L_02855514;
|
|
L_02855514: ; // 0x2855514
|
|
/* 02855514 */ _t84 = cpu->r[30] + 0x00000000u;
|
|
/* 02855514 */ cpu->r[6] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02855518 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 0285551C */ _t85 = cpu->r[30] + 0x00000034u;
|
|
/* 0285551C */ rbrew_write32(cpu->mem, _t85, cpu->r[10]);
|
|
/* 02855520 */ _t86 = cpu->r[6] + 0x00000104u;
|
|
/* 02855520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02855524 */ cpu->r[28] = 0x00000000u;
|
|
/* 02855528 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 0285552C */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285552C */ _t88 = _t87 & 0x00000001u;
|
|
/* 0285552C */ if (_t88) goto L_02855530; else goto L_028555F0;
|
|
L_02855530: ; // 0x2855530
|
|
/* 02855530 */ goto L_02855578;
|
|
L_02855534: ; // 0x2855534
|
|
/* 02855534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02855538 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855538 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02855538 */ if (_t90) goto L_0285553C; else goto L_0285555C;
|
|
L_0285553C: ; // 0x285553c
|
|
/* 0285553C */ _t91 = cpu->r[30] + 0x00000000u;
|
|
/* 0285553C */ cpu->r[6] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02855540 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02855544 */ _t92 = cpu->r[30] + 0x00000034u;
|
|
/* 02855544 */ rbrew_write32(cpu->mem, _t92, cpu->r[10]);
|
|
/* 02855548 */ _t93 = cpu->r[6] + 0x00000104u;
|
|
/* 02855548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0285554C */ cpu->r[28] = 0x00000000u;
|
|
/* 02855550 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02855554 */ _t94 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855554 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02855554 */ if (_t95) goto L_02855558; else goto L_028555F0;
|
|
L_02855558: ; // 0x2855558
|
|
/* 02855558 */ goto L_02855578;
|
|
L_0285555C: ; // 0x285555c
|
|
/* 0285555C */ _t96 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0285555C */ cpu->r[10] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02855560 */ _t97 = cpu->r[30] + 0x00000000u;
|
|
/* 02855560 */ cpu->r[6] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02855564 */ _t98 = cpu->r[30] + 0x00000034u;
|
|
/* 02855564 */ rbrew_write32(cpu->mem, _t98, cpu->r[10]);
|
|
/* 02855568 */ _t99 = cpu->r[6] + 0x00000104u;
|
|
/* 02855568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0285556C */ cpu->r[28] = 0x00000000u;
|
|
/* 02855570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02855574 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855574 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02855574 */ if (_t101) goto L_02855578; else goto L_028555F0;
|
|
L_02855578: ; // 0x2855578
|
|
/* 02855578 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285557C */ _t102 = cpu->r[6] + 0x00000108u;
|
|
/* 0285557C */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02855580 */ cpu->r[12] = cpu->r[12] + 0x000019D8u;
|
|
/* 02855584 */ cpu->r[3] = 0x00000000u;
|
|
L_02855588: ; // 0x2855588
|
|
/* 02855588 */ _t103 = cpu->r[11] + cpu->r[3];
|
|
/* 02855588 */ cpu->r[9] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0285558C */ cpu->r[5] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02855590 */ cpu->r[6] = cpu->r[11] + cpu->r[3];
|
|
/* 02855594 */ cpu->r[4] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02855598: ; // 0x2855598
|
|
/* 02855598 */ _t104 = cpu->r[4] + 0x00000001u;
|
|
/* 02855598 */ cpu->r[7] = rbrew_read8(cpu->mem, _t104);
|
|
/* 02855598 */ cpu->r[4] = _t104;
|
|
/* 0285559C */ _t105 = cpu->r[5] + 0x00000001u;
|
|
/* 0285559C */ cpu->r[8] = rbrew_read8(cpu->mem, _t105);
|
|
/* 0285559C */ cpu->r[5] = _t105;
|
|
/* 028555A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 028555A4 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028555A4 */ _t107 = _t106 & 0x00000001u;
|
|
/* 028555A4 */ if (_t107) goto L_028555A8; else goto L_028555B0;
|
|
L_028555A8: ; // 0x28555a8
|
|
/* 028555A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000000u);
|
|
/* 028555AC */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028555AC */ _t109 = _t108 & 0x00000001u;
|
|
/* 028555AC */ if (_t109) goto L_028555B0; else goto L_02855598;
|
|
L_028555B0: ; // 0x28555b0
|
|
/* 028555B0 */ cpu->r[10] = cpu->r[7] - cpu->r[8];
|
|
/* 028555B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 028555B4 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028555B4 */ _t111 = _t110 & 0x00000001u;
|
|
/* 028555B4 */ if (_t111) goto L_028555E8; else goto L_028555B8;
|
|
L_028555B8: ; // 0x28555b8
|
|
/* 028555B8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 028555BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 028555C0 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 028555C4 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028555C4 */ _t113 = _t112 & 0x00000001u;
|
|
/* 028555C4 */ if (_t113) goto L_02855588; else goto L_028555C8;
|
|
L_028555C8: ; // 0x28555c8
|
|
/* 028555C8 */ _t114 = cpu->r[30] + 0x00000004u;
|
|
/* 028555C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t114);
|
|
/* 028555CC */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 028555D0 */ _t115 = cpu->r[30] + 0x00000038u;
|
|
/* 028555D0 */ rbrew_write32(cpu->mem, _t115, cpu->r[8]);
|
|
/* 028555D4 */ _t116 = cpu->r[4] + 0x000000D0u;
|
|
/* 028555D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t116);
|
|
/* 028555D8 */ cpu->r[28] = 0x00000000u;
|
|
/* 028555DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]);
|
|
/* 028555E0 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028555E0 */ _t118 = _t117 & 0x00000001u;
|
|
/* 028555E0 */ if (_t118) goto L_028555E4; else goto L_028556A4;
|
|
L_028555E4: ; // 0x28555e4
|
|
/* 028555E4 */ goto L_0285562C;
|
|
L_028555E8: ; // 0x28555e8
|
|
/* 028555E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 028555EC */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028555EC */ _t120 = _t119 & 0x00000001u;
|
|
/* 028555EC */ if (_t120) goto L_028555F0; else goto L_02855610;
|
|
L_028555F0: ; // 0x28555f0
|
|
/* 028555F0 */ _t121 = cpu->r[30] + 0x00000004u;
|
|
/* 028555F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t121);
|
|
/* 028555F4 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 028555F8 */ _t122 = cpu->r[30] + 0x00000038u;
|
|
/* 028555F8 */ rbrew_write32(cpu->mem, _t122, cpu->r[8]);
|
|
/* 028555FC */ _t123 = cpu->r[4] + 0x000000D0u;
|
|
/* 028555FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02855600 */ cpu->r[28] = 0x00000000u;
|
|
/* 02855604 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]);
|
|
/* 02855608 */ _t124 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855608 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02855608 */ if (_t125) goto L_0285560C; else goto L_028556A4;
|
|
L_0285560C: ; // 0x285560c
|
|
/* 0285560C */ goto L_0285562C;
|
|
L_02855610: ; // 0x2855610
|
|
/* 02855610 */ _t126 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02855610 */ cpu->r[8] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02855614 */ _t127 = cpu->r[30] + 0x00000004u;
|
|
/* 02855614 */ cpu->r[4] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02855618 */ _t128 = cpu->r[30] + 0x00000038u;
|
|
/* 02855618 */ rbrew_write32(cpu->mem, _t128, cpu->r[8]);
|
|
/* 0285561C */ _t129 = cpu->r[4] + 0x000000D0u;
|
|
/* 0285561C */ cpu->r[9] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02855620 */ cpu->r[28] = 0x00000000u;
|
|
/* 02855624 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]);
|
|
/* 02855628 */ _t130 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855628 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02855628 */ if (_t131) goto L_0285562C; else goto L_028556A4;
|
|
L_0285562C: ; // 0x285562c
|
|
/* 0285562C */ cpu->r[10] = 0x10130000u;
|
|
/* 02855630 */ _t132 = cpu->r[4] + 0x000000D4u;
|
|
/* 02855630 */ cpu->r[8] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02855634 */ cpu->r[10] = cpu->r[10] + 0x000019B8u;
|
|
/* 02855638 */ cpu->r[3] = 0x00000000u;
|
|
L_0285563C: ; // 0x285563c
|
|
/* 0285563C */ _t133 = cpu->r[8] + cpu->r[3];
|
|
/* 0285563C */ cpu->r[6] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02855640 */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02855644 */ cpu->r[5] = cpu->r[8] + cpu->r[3];
|
|
/* 02855648 */ cpu->r[11] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0285564C: ; // 0x285564c
|
|
/* 0285564C */ _t134 = cpu->r[11] + 0x00000001u;
|
|
/* 0285564C */ cpu->r[0] = rbrew_read8(cpu->mem, _t134);
|
|
/* 0285564C */ cpu->r[11] = _t134;
|
|
/* 02855650 */ _t135 = cpu->r[12] + 0x00000001u;
|
|
/* 02855650 */ cpu->r[4] = rbrew_read8(cpu->mem, _t135);
|
|
/* 02855650 */ cpu->r[12] = _t135;
|
|
/* 02855654 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02855658 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855658 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02855658 */ if (_t137) goto L_0285565C; else goto L_02855664;
|
|
L_0285565C: ; // 0x285565c
|
|
/* 0285565C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
|
|
/* 02855660 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855660 */ _t139 = _t138 & 0x00000001u;
|
|
/* 02855660 */ if (_t139) goto L_02855664; else goto L_0285564C;
|
|
L_02855664: ; // 0x2855664
|
|
/* 02855664 */ cpu->r[7] = cpu->r[0] - cpu->r[4];
|
|
/* 02855664 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02855668 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855668 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02855668 */ if (_t141) goto L_0285569C; else goto L_0285566C;
|
|
L_0285566C: ; // 0x285566c
|
|
/* 0285566C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02855670 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]);
|
|
/* 02855674 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02855678 */ _t142 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855678 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02855678 */ if (_t143) goto L_0285563C; else goto L_0285567C;
|
|
L_0285567C: ; // 0x285567c
|
|
/* 0285567C */ _t144 = cpu->r[30] + 0x00000004u;
|
|
/* 0285567C */ cpu->r[11] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02855680 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02855684 */ _t145 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02855684 */ rbrew_write32(cpu->mem, _t145, cpu->r[0]);
|
|
/* 02855688 */ _t146 = cpu->r[11] + 0x000000B8u;
|
|
/* 02855688 */ cpu->r[5] = rbrew_read32(cpu->mem, _t146);
|
|
/* 0285568C */ cpu->r[28] = 0x00000000u;
|
|
/* 02855690 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[5]);
|
|
/* 02855694 */ _t147 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855694 */ _t148 = _t147 & 0x00000001u;
|
|
/* 02855694 */ if (_t148) goto L_02855698; else goto L_02855758;
|
|
L_02855698: ; // 0x2855698
|
|
/* 02855698 */ goto L_028556E0;
|
|
L_0285569C: ; // 0x285569c
|
|
/* 0285569C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 028556A0 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028556A0 */ _t150 = _t149 & 0x00000001u;
|
|
/* 028556A0 */ if (_t150) goto L_028556A4; else goto L_028556C4;
|
|
L_028556A4: ; // 0x28556a4
|
|
/* 028556A4 */ _t151 = cpu->r[30] + 0x00000004u;
|
|
/* 028556A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t151);
|
|
/* 028556A8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 028556AC */ _t152 = cpu->r[30] + 0x0000002Cu;
|
|
/* 028556AC */ rbrew_write32(cpu->mem, _t152, cpu->r[0]);
|
|
/* 028556B0 */ _t153 = cpu->r[11] + 0x000000B8u;
|
|
/* 028556B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t153);
|
|
/* 028556B4 */ cpu->r[28] = 0x00000000u;
|
|
/* 028556B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[5]);
|
|
/* 028556BC */ _t154 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028556BC */ _t155 = _t154 & 0x00000001u;
|
|
/* 028556BC */ if (_t155) goto L_028556C0; else goto L_02855758;
|
|
L_028556C0: ; // 0x28556c0
|
|
/* 028556C0 */ goto L_028556E0;
|
|
L_028556C4: ; // 0x28556c4
|
|
/* 028556C4 */ _t156 = cpu->r[5] + 0x00000008u;
|
|
/* 028556C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t156);
|
|
/* 028556C8 */ _t157 = cpu->r[30] + 0x00000004u;
|
|
/* 028556C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t157);
|
|
/* 028556CC */ _t158 = cpu->r[30] + 0x0000002Cu;
|
|
/* 028556CC */ rbrew_write32(cpu->mem, _t158, cpu->r[0]);
|
|
/* 028556D0 */ _t159 = cpu->r[11] + 0x000000B8u;
|
|
/* 028556D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t159);
|
|
/* 028556D4 */ cpu->r[28] = 0x00000000u;
|
|
/* 028556D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[5]);
|
|
/* 028556DC */ _t160 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028556DC */ _t161 = _t160 & 0x00000001u;
|
|
/* 028556DC */ if (_t161) goto L_028556E0; else goto L_02855758;
|
|
L_028556E0: ; // 0x28556e0
|
|
/* 028556E0 */ cpu->r[6] = 0x10130000u;
|
|
/* 028556E4 */ _t162 = cpu->r[11] + 0x000000BCu;
|
|
/* 028556E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t162);
|
|
/* 028556E8 */ cpu->r[6] = cpu->r[6] + 0x000019E4u;
|
|
/* 028556EC */ cpu->r[3] = 0x00000000u;
|
|
L_028556F0: ; // 0x28556f0
|
|
/* 028556F0 */ _t163 = cpu->r[4] + cpu->r[3];
|
|
/* 028556F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t163);
|
|
/* 028556F4 */ cpu->r[9] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 028556F8 */ cpu->r[7] = cpu->r[4] + cpu->r[3];
|
|
/* 028556FC */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02855700: ; // 0x2855700
|
|
/* 02855700 */ _t164 = cpu->r[8] + 0x00000001u;
|
|
/* 02855700 */ cpu->r[10] = rbrew_read8(cpu->mem, _t164);
|
|
/* 02855700 */ cpu->r[8] = _t164;
|
|
/* 02855704 */ _t165 = cpu->r[9] + 0x00000001u;
|
|
/* 02855704 */ cpu->r[11] = rbrew_read8(cpu->mem, _t165);
|
|
/* 02855704 */ cpu->r[9] = _t165;
|
|
/* 02855708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 0285570C */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285570C */ _t167 = _t166 & 0x00000001u;
|
|
/* 0285570C */ if (_t167) goto L_02855710; else goto L_02855718;
|
|
L_02855710: ; // 0x2855710
|
|
/* 02855710 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000000u);
|
|
/* 02855714 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855714 */ _t169 = _t168 & 0x00000001u;
|
|
/* 02855714 */ if (_t169) goto L_02855718; else goto L_02855700;
|
|
L_02855718: ; // 0x2855718
|
|
/* 02855718 */ cpu->r[0] = cpu->r[10] - cpu->r[11];
|
|
/* 02855718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285571C */ _t170 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285571C */ _t171 = _t170 & 0x00000001u;
|
|
/* 0285571C */ if (_t171) goto L_02855750; else goto L_02855720;
|
|
L_02855720: ; // 0x2855720
|
|
/* 02855720 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02855724 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[5]);
|
|
/* 02855728 */ cpu->r[3] = cpu->r[3] + 0x00000014u;
|
|
/* 0285572C */ _t172 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285572C */ _t173 = _t172 & 0x00000001u;
|
|
/* 0285572C */ if (_t173) goto L_028556F0; else goto L_02855730;
|
|
L_02855730: ; // 0x2855730
|
|
/* 02855730 */ _t174 = cpu->r[30] + 0x00000004u;
|
|
/* 02855730 */ cpu->r[4] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02855734 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02855738 */ _t175 = cpu->r[30] + 0x000000ACu;
|
|
/* 02855738 */ rbrew_write32(cpu->mem, _t175, cpu->r[9]);
|
|
/* 0285573C */ _t176 = cpu->r[4] + 0x000000B8u;
|
|
/* 0285573C */ cpu->r[0] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02855740 */ cpu->r[28] = 0x00000000u;
|
|
/* 02855744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02855748 */ _t177 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855748 */ _t178 = _t177 & 0x00000001u;
|
|
/* 02855748 */ if (_t178) goto L_0285574C; else goto L_0285580C;
|
|
L_0285574C: ; // 0x285574c
|
|
/* 0285574C */ goto L_02855794;
|
|
L_02855750: ; // 0x2855750
|
|
/* 02855750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02855754 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855754 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02855754 */ if (_t180) goto L_02855758; else goto L_02855778;
|
|
L_02855758: ; // 0x2855758
|
|
/* 02855758 */ _t181 = cpu->r[30] + 0x00000004u;
|
|
/* 02855758 */ cpu->r[4] = rbrew_read32(cpu->mem, _t181);
|
|
/* 0285575C */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02855760 */ _t182 = cpu->r[30] + 0x000000ACu;
|
|
/* 02855760 */ rbrew_write32(cpu->mem, _t182, cpu->r[9]);
|
|
/* 02855764 */ _t183 = cpu->r[4] + 0x000000B8u;
|
|
/* 02855764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02855768 */ cpu->r[28] = 0x00000000u;
|
|
/* 0285576C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02855770 */ _t184 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855770 */ _t185 = _t184 & 0x00000001u;
|
|
/* 02855770 */ if (_t185) goto L_02855774; else goto L_0285580C;
|
|
L_02855774: ; // 0x2855774
|
|
/* 02855774 */ goto L_02855794;
|
|
L_02855778: ; // 0x2855778
|
|
/* 02855778 */ _t186 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02855778 */ cpu->r[9] = rbrew_read32(cpu->mem, _t186);
|
|
/* 0285577C */ _t187 = cpu->r[30] + 0x00000004u;
|
|
/* 0285577C */ cpu->r[4] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02855780 */ _t188 = cpu->r[30] + 0x000000ACu;
|
|
/* 02855780 */ rbrew_write32(cpu->mem, _t188, cpu->r[9]);
|
|
/* 02855784 */ _t189 = cpu->r[4] + 0x000000B8u;
|
|
/* 02855784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02855788 */ cpu->r[28] = 0x00000000u;
|
|
/* 0285578C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02855790 */ _t190 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855790 */ _t191 = _t190 & 0x00000001u;
|
|
/* 02855790 */ if (_t191) goto L_02855794; else goto L_0285580C;
|
|
L_02855794: ; // 0x2855794
|
|
/* 02855794 */ cpu->r[12] = 0x10130000u;
|
|
/* 02855798 */ _t192 = cpu->r[4] + 0x000000BCu;
|
|
/* 02855798 */ cpu->r[11] = rbrew_read32(cpu->mem, _t192);
|
|
/* 0285579C */ cpu->r[12] = cpu->r[12] + 0x000019C4u;
|
|
/* 028557A0 */ cpu->r[3] = 0x00000000u;
|
|
L_028557A4: ; // 0x28557a4
|
|
/* 028557A4 */ _t193 = cpu->r[11] + cpu->r[3];
|
|
/* 028557A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t193);
|
|
/* 028557A8 */ cpu->r[5] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 028557AC */ cpu->r[8] = cpu->r[11] + cpu->r[3];
|
|
/* 028557B0 */ cpu->r[4] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_028557B4: ; // 0x28557b4
|
|
/* 028557B4 */ _t194 = cpu->r[4] + 0x00000001u;
|
|
/* 028557B4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t194);
|
|
/* 028557B4 */ cpu->r[4] = _t194;
|
|
/* 028557B8 */ _t195 = cpu->r[5] + 0x00000001u;
|
|
/* 028557B8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t195);
|
|
/* 028557B8 */ cpu->r[5] = _t195;
|
|
/* 028557BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 028557C0 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028557C0 */ _t197 = _t196 & 0x00000001u;
|
|
/* 028557C0 */ if (_t197) goto L_028557C4; else goto L_028557CC;
|
|
L_028557C4: ; // 0x28557c4
|
|
/* 028557C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000000u);
|
|
/* 028557C8 */ _t198 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028557C8 */ _t199 = _t198 & 0x00000001u;
|
|
/* 028557C8 */ if (_t199) goto L_028557CC; else goto L_028557B4;
|
|
L_028557CC: ; // 0x28557cc
|
|
/* 028557CC */ cpu->r[10] = cpu->r[6] - cpu->r[7];
|
|
/* 028557CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 028557D0 */ _t200 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028557D0 */ _t201 = _t200 & 0x00000001u;
|
|
/* 028557D0 */ if (_t201) goto L_02855804; else goto L_028557D4;
|
|
L_028557D4: ; // 0x28557d4
|
|
/* 028557D4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 028557D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 028557DC */ cpu->r[3] = cpu->r[3] + 0x00000014u;
|
|
/* 028557E0 */ _t202 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028557E0 */ _t203 = _t202 & 0x00000001u;
|
|
/* 028557E0 */ if (_t203) goto L_028557A4; else goto L_028557E4;
|
|
L_028557E4: ; // 0x28557e4
|
|
/* 028557E4 */ _t204 = cpu->r[30] + 0x00000004u;
|
|
/* 028557E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t204);
|
|
/* 028557E8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 028557EC */ _t205 = cpu->r[30] + 0x000000B0u;
|
|
/* 028557EC */ rbrew_write32(cpu->mem, _t205, cpu->r[0]);
|
|
/* 028557F0 */ _t206 = cpu->r[7] + 0x000000B8u;
|
|
/* 028557F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t206);
|
|
/* 028557F4 */ cpu->r[28] = 0x00000000u;
|
|
/* 028557F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]);
|
|
/* 028557FC */ _t207 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028557FC */ _t208 = _t207 & 0x00000001u;
|
|
/* 028557FC */ if (_t208) goto L_02855800; else goto L_028558C0;
|
|
L_02855800: ; // 0x2855800
|
|
/* 02855800 */ goto L_02855848;
|
|
L_02855804: ; // 0x2855804
|
|
/* 02855804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02855808 */ _t209 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855808 */ _t210 = _t209 & 0x00000001u;
|
|
/* 02855808 */ if (_t210) goto L_0285580C; else goto L_0285582C;
|
|
L_0285580C: ; // 0x285580c
|
|
/* 0285580C */ _t211 = cpu->r[30] + 0x00000004u;
|
|
/* 0285580C */ cpu->r[7] = rbrew_read32(cpu->mem, _t211);
|
|
/* 02855810 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02855814 */ _t212 = cpu->r[30] + 0x000000B0u;
|
|
/* 02855814 */ rbrew_write32(cpu->mem, _t212, cpu->r[0]);
|
|
/* 02855818 */ _t213 = cpu->r[7] + 0x000000B8u;
|
|
/* 02855818 */ cpu->r[8] = rbrew_read32(cpu->mem, _t213);
|
|
/* 0285581C */ cpu->r[28] = 0x00000000u;
|
|
/* 02855820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]);
|
|
/* 02855824 */ _t214 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855824 */ _t215 = _t214 & 0x00000001u;
|
|
/* 02855824 */ if (_t215) goto L_02855828; else goto L_028558C0;
|
|
L_02855828: ; // 0x2855828
|
|
/* 02855828 */ goto L_02855848;
|
|
L_0285582C: ; // 0x285582c
|
|
/* 0285582C */ _t216 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0285582C */ cpu->r[0] = rbrew_read32(cpu->mem, _t216);
|
|
/* 02855830 */ _t217 = cpu->r[30] + 0x00000004u;
|
|
/* 02855830 */ cpu->r[7] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02855834 */ _t218 = cpu->r[30] + 0x000000B0u;
|
|
/* 02855834 */ rbrew_write32(cpu->mem, _t218, cpu->r[0]);
|
|
/* 02855838 */ _t219 = cpu->r[7] + 0x000000B8u;
|
|
/* 02855838 */ cpu->r[8] = rbrew_read32(cpu->mem, _t219);
|
|
/* 0285583C */ cpu->r[28] = 0x00000000u;
|
|
/* 02855840 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]);
|
|
/* 02855844 */ _t220 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855844 */ _t221 = _t220 & 0x00000001u;
|
|
/* 02855844 */ if (_t221) goto L_02855848; else goto L_028558C0;
|
|
L_02855848: ; // 0x2855848
|
|
/* 02855848 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285584C */ _t222 = cpu->r[7] + 0x000000BCu;
|
|
/* 0285584C */ cpu->r[7] = rbrew_read32(cpu->mem, _t222);
|
|
/* 02855850 */ cpu->r[10] = cpu->r[10] + 0x000019F8u;
|
|
/* 02855854 */ cpu->r[3] = 0x00000000u;
|
|
L_02855858: ; // 0x2855858
|
|
/* 02855858 */ _t223 = cpu->r[7] + cpu->r[3];
|
|
/* 02855858 */ cpu->r[5] = rbrew_read32(cpu->mem, _t223);
|
|
/* 0285585C */ cpu->r[12] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02855860 */ cpu->r[9] = cpu->r[7] + cpu->r[3];
|
|
/* 02855864 */ cpu->r[11] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02855868: ; // 0x2855868
|
|
/* 02855868 */ _t224 = cpu->r[11] + 0x00000001u;
|
|
/* 02855868 */ cpu->r[0] = rbrew_read8(cpu->mem, _t224);
|
|
/* 02855868 */ cpu->r[11] = _t224;
|
|
/* 0285586C */ _t225 = cpu->r[12] + 0x00000001u;
|
|
/* 0285586C */ cpu->r[4] = rbrew_read8(cpu->mem, _t225);
|
|
/* 0285586C */ cpu->r[12] = _t225;
|
|
/* 02855870 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02855874 */ _t226 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855874 */ _t227 = _t226 & 0x00000001u;
|
|
/* 02855874 */ if (_t227) goto L_02855878; else goto L_02855880;
|
|
L_02855878: ; // 0x2855878
|
|
/* 02855878 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
|
|
/* 0285587C */ _t228 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285587C */ _t229 = _t228 & 0x00000001u;
|
|
/* 0285587C */ if (_t229) goto L_02855880; else goto L_02855868;
|
|
L_02855880: ; // 0x2855880
|
|
/* 02855880 */ cpu->r[6] = cpu->r[0] - cpu->r[4];
|
|
/* 02855880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02855884 */ _t230 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855884 */ _t231 = _t230 & 0x00000001u;
|
|
/* 02855884 */ if (_t231) goto L_028558B8; else goto L_02855888;
|
|
L_02855888: ; // 0x2855888
|
|
/* 02855888 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0285588C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]);
|
|
/* 02855890 */ cpu->r[3] = cpu->r[3] + 0x00000014u;
|
|
/* 02855894 */ _t232 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855894 */ _t233 = _t232 & 0x00000001u;
|
|
/* 02855894 */ if (_t233) goto L_02855858; else goto L_02855898;
|
|
L_02855898: ; // 0x2855898
|
|
/* 02855898 */ _t234 = cpu->r[30] + 0x00000004u;
|
|
/* 02855898 */ cpu->r[9] = rbrew_read32(cpu->mem, _t234);
|
|
/* 0285589C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 028558A0 */ _t235 = cpu->r[30] + 0x000000B4u;
|
|
/* 028558A0 */ rbrew_write32(cpu->mem, _t235, cpu->r[0]);
|
|
/* 028558A4 */ _t236 = cpu->r[9] + 0x000000B8u;
|
|
/* 028558A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t236);
|
|
/* 028558A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 028558AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 028558B0 */ _t237 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028558B0 */ _t238 = _t237 & 0x00000001u;
|
|
/* 028558B0 */ if (_t238) goto L_028558B4; else goto L_0285597C;
|
|
L_028558B4: ; // 0x28558b4
|
|
/* 028558B4 */ goto L_028558FC;
|
|
L_028558B8: ; // 0x28558b8
|
|
/* 028558B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 028558BC */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028558BC */ _t240 = _t239 & 0x00000001u;
|
|
/* 028558BC */ if (_t240) goto L_028558C0; else goto L_028558E0;
|
|
L_028558C0: ; // 0x28558c0
|
|
/* 028558C0 */ _t241 = cpu->r[30] + 0x00000004u;
|
|
/* 028558C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t241);
|
|
/* 028558C4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 028558C8 */ _t242 = cpu->r[30] + 0x000000B4u;
|
|
/* 028558C8 */ rbrew_write32(cpu->mem, _t242, cpu->r[0]);
|
|
/* 028558CC */ _t243 = cpu->r[9] + 0x000000B8u;
|
|
/* 028558CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t243);
|
|
/* 028558D0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028558D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 028558D8 */ _t244 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028558D8 */ _t245 = _t244 & 0x00000001u;
|
|
/* 028558D8 */ if (_t245) goto L_028558DC; else goto L_0285597C;
|
|
L_028558DC: ; // 0x28558dc
|
|
/* 028558DC */ goto L_028558FC;
|
|
L_028558E0: ; // 0x28558e0
|
|
/* 028558E0 */ _t246 = cpu->r[9] + 0x0000000Cu;
|
|
/* 028558E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t246);
|
|
/* 028558E4 */ _t247 = cpu->r[30] + 0x00000004u;
|
|
/* 028558E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t247);
|
|
/* 028558E8 */ _t248 = cpu->r[30] + 0x000000B4u;
|
|
/* 028558E8 */ rbrew_write32(cpu->mem, _t248, cpu->r[0]);
|
|
/* 028558EC */ _t249 = cpu->r[9] + 0x000000B8u;
|
|
/* 028558EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t249);
|
|
/* 028558F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028558F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 028558F8 */ _t250 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028558F8 */ _t251 = _t250 & 0x00000001u;
|
|
/* 028558F8 */ if (_t251) goto L_028558FC; else goto L_0285597C;
|
|
L_028558FC: ; // 0x28558fc
|
|
/* 028558FC */ cpu->r[6] = 0x10130000u;
|
|
/* 02855900 */ _t252 = cpu->r[9] + 0x000000BCu;
|
|
/* 02855900 */ cpu->r[5] = rbrew_read32(cpu->mem, _t252);
|
|
/* 02855904 */ cpu->r[6] = cpu->r[6] + 0x000019A0u;
|
|
/* 02855908 */ cpu->r[4] = 0x00000000u;
|
|
L_0285590C: ; // 0x285590c
|
|
/* 0285590C */ _t253 = cpu->r[5] + cpu->r[4];
|
|
/* 0285590C */ cpu->r[12] = rbrew_read32(cpu->mem, _t253);
|
|
/* 02855910 */ cpu->r[8] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02855914 */ cpu->r[10] = cpu->r[5] + cpu->r[4];
|
|
/* 02855918 */ cpu->r[7] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0285591C: ; // 0x285591c
|
|
/* 0285591C */ _t254 = cpu->r[7] + 0x00000001u;
|
|
/* 0285591C */ cpu->r[9] = rbrew_read8(cpu->mem, _t254);
|
|
/* 0285591C */ cpu->r[7] = _t254;
|
|
/* 02855920 */ _t255 = cpu->r[8] + 0x00000001u;
|
|
/* 02855920 */ cpu->r[0] = rbrew_read8(cpu->mem, _t255);
|
|
/* 02855920 */ cpu->r[8] = _t255;
|
|
/* 02855924 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02855928 */ _t256 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855928 */ _t257 = _t256 & 0x00000001u;
|
|
/* 02855928 */ if (_t257) goto L_0285592C; else goto L_02855934;
|
|
L_0285592C: ; // 0x285592c
|
|
/* 0285592C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000000u);
|
|
/* 02855930 */ _t258 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855930 */ _t259 = _t258 & 0x00000001u;
|
|
/* 02855930 */ if (_t259) goto L_02855934; else goto L_0285591C;
|
|
L_02855934: ; // 0x2855934
|
|
/* 02855934 */ cpu->r[0] = cpu->r[9] - cpu->r[0];
|
|
/* 02855934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02855938 */ _t260 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855938 */ _t261 = _t260 & 0x00000001u;
|
|
/* 02855938 */ if (_t261) goto L_02855974; else goto L_0285593C;
|
|
L_0285593C: ; // 0x285593c
|
|
/* 0285593C */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 02855940 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 02855944 */ cpu->r[4] = cpu->r[4] + 0x00000014u;
|
|
/* 02855948 */ _t262 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855948 */ _t263 = _t262 & 0x00000001u;
|
|
/* 02855948 */ if (_t263) goto L_0285590C; else goto L_0285594C;
|
|
L_0285594C: ; // 0x285594c
|
|
/* 0285594C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02855950 */ cpu->r[10] = 0x10130000u;
|
|
/* 02855954 */ cpu->r[9] = 0x00000005u;
|
|
/* 02855958 */ _t264 = cpu->r[30] + 0x000000B8u;
|
|
/* 02855958 */ rbrew_write32(cpu->mem, _t264, cpu->r[0]);
|
|
/* 0285595C */ cpu->r[10] = cpu->r[10] + 0x00001938u;
|
|
/* 02855960 */ cpu->r[8] = cpu->r[1] + 0x00000004u;
|
|
/* 02855964 */ _t265 = cpu->r[30] + 0x00000030u;
|
|
/* 02855964 */ cpu->r[11] = rbrew_read32(cpu->mem, _t265);
|
|
/* 02855968 */ cpu->r[7] = cpu->r[10] + 0xFFFFFFFCu;
|
|
/* 0285596C */ cpu->ctr = cpu->r[9];
|
|
/* 02855970 */ goto L_028559C8;
|
|
L_02855974: ; // 0x2855974
|
|
/* 02855974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02855978 */ _t266 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855978 */ _t267 = _t266 & 0x00000001u;
|
|
/* 02855978 */ if (_t267) goto L_0285597C; else goto L_028559A4;
|
|
L_0285597C: ; // 0x285597c
|
|
/* 0285597C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02855980 */ cpu->r[10] = 0x10130000u;
|
|
/* 02855984 */ cpu->r[9] = 0x00000005u;
|
|
/* 02855988 */ _t268 = cpu->r[30] + 0x000000B8u;
|
|
/* 02855988 */ rbrew_write32(cpu->mem, _t268, cpu->r[0]);
|
|
/* 0285598C */ cpu->r[10] = cpu->r[10] + 0x00001938u;
|
|
/* 02855990 */ cpu->r[8] = cpu->r[1] + 0x00000004u;
|
|
/* 02855994 */ _t269 = cpu->r[30] + 0x00000030u;
|
|
/* 02855994 */ cpu->r[11] = rbrew_read32(cpu->mem, _t269);
|
|
/* 02855998 */ cpu->r[7] = cpu->r[10] + 0xFFFFFFFCu;
|
|
/* 0285599C */ cpu->ctr = cpu->r[9];
|
|
/* 028559A0 */ goto L_028559C8;
|
|
L_028559A4: ; // 0x28559a4
|
|
/* 028559A4 */ _t270 = cpu->r[10] + 0x0000000Cu;
|
|
/* 028559A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t270);
|
|
/* 028559A8 */ cpu->r[10] = 0x10130000u;
|
|
/* 028559AC */ cpu->r[9] = 0x00000005u;
|
|
/* 028559B0 */ _t271 = cpu->r[30] + 0x00000030u;
|
|
/* 028559B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t271);
|
|
/* 028559B4 */ cpu->r[10] = cpu->r[10] + 0x00001938u;
|
|
/* 028559B8 */ cpu->r[8] = cpu->r[1] + 0x00000004u;
|
|
/* 028559BC */ cpu->ctr = cpu->r[9];
|
|
/* 028559C0 */ cpu->r[7] = cpu->r[10] + 0xFFFFFFFCu;
|
|
/* 028559C4 */ _t272 = cpu->r[30] + 0x000000B8u;
|
|
/* 028559C4 */ rbrew_write32(cpu->mem, _t272, cpu->r[0]);
|
|
L_028559C8: ; // 0x28559c8
|
|
/* 028559C8 */ _t273 = cpu->r[7] + 0x00000004u;
|
|
/* 028559C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t273);
|
|
/* 028559CC */ _t274 = cpu->r[8] + 0x00000004u;
|
|
/* 028559CC */ rbrew_write32(cpu->mem, _t274, cpu->r[12]);
|
|
/* 028559D0 */ _t275 = cpu->r[7] + 0x00000008u;
|
|
/* 028559D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t275);
|
|
/* 028559D4 */ _t276 = cpu->r[8] + 0x00000008u;
|
|
/* 028559D4 */ rbrew_write32(cpu->mem, _t276, cpu->r[0]);
|
|
/* 028559D8 */ _t277 = cpu->r[7] + 0x0000000Cu;
|
|
/* 028559D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t277);
|
|
/* 028559DC */ _t278 = cpu->r[8] + 0x0000000Cu;
|
|
/* 028559DC */ rbrew_write32(cpu->mem, _t278, cpu->r[4]);
|
|
/* 028559E0 */ _t279 = cpu->r[7] + 0x00000010u;
|
|
/* 028559E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t279);
|
|
/* 028559E0 */ cpu->r[7] = _t279;
|
|
/* 028559E4 */ _t280 = cpu->r[8] + 0x00000010u;
|
|
/* 028559E4 */ rbrew_write32(cpu->mem, _t280, cpu->r[5]);
|
|
/* 028559E4 */ cpu->r[8] = _t280;
|
|
/* 028559E8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028559E8 */ _t281 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028559E8 */ _t282 = _t281 >> (0x00000002u & 31u);
|
|
/* 028559E8 */ _t283 = _t282 & 0x00000001u;
|
|
/* 028559E8 */ if (_t283) goto L_028559C8; else goto L_028559EC;
|
|
L_028559EC: ; // 0x28559ec
|
|
/* 028559EC */ _t284 = cpu->r[30] + 0x0000003Cu;
|
|
/* 028559EC */ rbrew_write32(cpu->mem, _t284, cpu->r[11]);
|
|
/* 028559F0 */ cpu->r[6] = 0x00000000u;
|
|
/* 028559F4 */ _t285 = cpu->r[1] + 0x0000004Cu;
|
|
/* 028559F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t285);
|
|
/* 028559F8 */ cpu->r[8] = 0x00000811u;
|
|
/* 028559FC */ _t286 = cpu->r[30] + 0x0000004Cu;
|
|
/* 028559FC */ rbrew_write32(cpu->mem, _t286, cpu->r[6]);
|
|
/* 02855A00 */ cpu->r[0] = 0x00000003u;
|
|
/* 02855A04 */ _t287 = cpu->r[30] + 0x00000048u;
|
|
/* 02855A04 */ rbrew_write32(cpu->mem, _t287, cpu->r[8]);
|
|
/* 02855A08 */ _t288 = cpu->r[30] + 0x00000058u;
|
|
/* 02855A08 */ rbrew_write32(cpu->mem, _t288, cpu->r[0]);
|
|
/* 02855A0C */ _t289 = cpu->r[30] + 0x00000050u;
|
|
/* 02855A0C */ rbrew_write32(cpu->mem, _t289, cpu->r[6]);
|
|
/* 02855A10 */ _t290 = cpu->r[30] + 0x00000054u;
|
|
/* 02855A10 */ rbrew_write32(cpu->mem, _t290, cpu->r[9]);
|
|
/* 02855A14 */ _t291 = cpu->r[30] + 0x00000044u;
|
|
/* 02855A14 */ rbrew_write32(cpu->mem, _t291, cpu->r[6]);
|
|
/* 02855A18 */ _t292 = cpu->r[30] + 0x00000040u;
|
|
/* 02855A18 */ rbrew_write32(cpu->mem, _t292, cpu->r[6]);
|
|
/* 02855A1C */ cpu->r[11] = 0x00000005u;
|
|
/* 02855A20 */ cpu->r[9] = cpu->r[1] + 0x00000004u;
|
|
/* 02855A24 */ _t293 = cpu->r[30] + 0x00000034u;
|
|
/* 02855A24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t293);
|
|
/* 02855A28 */ cpu->ctr = cpu->r[11];
|
|
/* 02855A2C */ cpu->r[8] = cpu->r[10] + 0xFFFFFFFCu;
|
|
L_02855A30: ; // 0x2855a30
|
|
/* 02855A30 */ _t294 = cpu->r[8] + 0x00000004u;
|
|
/* 02855A30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t294);
|
|
/* 02855A34 */ _t295 = cpu->r[9] + 0x00000004u;
|
|
/* 02855A34 */ rbrew_write32(cpu->mem, _t295, cpu->r[4]);
|
|
/* 02855A38 */ _t296 = cpu->r[8] + 0x00000008u;
|
|
/* 02855A38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t296);
|
|
/* 02855A3C */ _t297 = cpu->r[9] + 0x00000008u;
|
|
/* 02855A3C */ rbrew_write32(cpu->mem, _t297, cpu->r[0]);
|
|
/* 02855A40 */ _t298 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02855A40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t298);
|
|
/* 02855A44 */ _t299 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02855A44 */ rbrew_write32(cpu->mem, _t299, cpu->r[6]);
|
|
/* 02855A48 */ _t300 = cpu->r[8] + 0x00000010u;
|
|
/* 02855A48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t300);
|
|
/* 02855A48 */ cpu->r[8] = _t300;
|
|
/* 02855A4C */ _t301 = cpu->r[9] + 0x00000010u;
|
|
/* 02855A4C */ rbrew_write32(cpu->mem, _t301, cpu->r[7]);
|
|
/* 02855A4C */ cpu->r[9] = _t301;
|
|
/* 02855A50 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02855A50 */ _t302 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02855A50 */ _t303 = _t302 >> (0x00000002u & 31u);
|
|
/* 02855A50 */ _t304 = _t303 & 0x00000001u;
|
|
/* 02855A50 */ if (_t304) goto L_02855A30; else goto L_02855A54;
|
|
L_02855A54: ; // 0x2855a54
|
|
/* 02855A54 */ _t305 = cpu->r[1] + 0x00000030u;
|
|
/* 02855A54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t305);
|
|
/* 02855A58 */ cpu->r[0] = 0x00000003u;
|
|
/* 02855A5C */ _t306 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02855A5C */ rbrew_write32(cpu->mem, _t306, cpu->r[12]);
|
|
/* 02855A60 */ cpu->r[9] = 0x00000000u;
|
|
/* 02855A64 */ _t307 = cpu->r[30] + 0x00000078u;
|
|
/* 02855A64 */ rbrew_write32(cpu->mem, _t307, cpu->r[0]);
|
|
/* 02855A68 */ cpu->r[0] = 0x0000000Cu;
|
|
/* 02855A6C */ _t308 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02855A6C */ rbrew_write32(cpu->mem, _t308, cpu->r[9]);
|
|
/* 02855A70 */ cpu->r[12] = 0x0000000Au;
|
|
/* 02855A74 */ _t309 = cpu->r[30] + 0x00000074u;
|
|
/* 02855A74 */ rbrew_write32(cpu->mem, _t309, cpu->r[4]);
|
|
/* 02855A78 */ _t310 = cpu->r[30] + 0x00000064u;
|
|
/* 02855A78 */ rbrew_write32(cpu->mem, _t310, cpu->r[0]);
|
|
/* 02855A7C */ _t311 = cpu->r[30] + 0x00000068u;
|
|
/* 02855A7C */ rbrew_write32(cpu->mem, _t311, cpu->r[12]);
|
|
/* 02855A80 */ _t312 = cpu->r[30] + 0x00000070u;
|
|
/* 02855A80 */ rbrew_write32(cpu->mem, _t312, cpu->r[9]);
|
|
/* 02855A84 */ _t313 = cpu->r[30] + 0x00000060u;
|
|
/* 02855A84 */ rbrew_write32(cpu->mem, _t313, cpu->r[9]);
|
|
/* 02855A88 */ cpu->r[12] = 0x00000005u;
|
|
/* 02855A8C */ cpu->r[11] = cpu->r[1] + 0x00000004u;
|
|
/* 02855A90 */ _t314 = cpu->r[30] + 0x00000038u;
|
|
/* 02855A90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t314);
|
|
/* 02855A94 */ cpu->ctr = cpu->r[12];
|
|
/* 02855A98 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFCu;
|
|
L_02855A9C: ; // 0x2855a9c
|
|
/* 02855A9C */ _t315 = cpu->r[10] + 0x00000004u;
|
|
/* 02855A9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t315);
|
|
/* 02855AA0 */ _t316 = cpu->r[11] + 0x00000004u;
|
|
/* 02855AA0 */ rbrew_write32(cpu->mem, _t316, cpu->r[5]);
|
|
/* 02855AA4 */ _t317 = cpu->r[10] + 0x00000008u;
|
|
/* 02855AA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t317);
|
|
/* 02855AA8 */ _t318 = cpu->r[11] + 0x00000008u;
|
|
/* 02855AA8 */ rbrew_write32(cpu->mem, _t318, cpu->r[7]);
|
|
/* 02855AAC */ _t319 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02855AAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t319);
|
|
/* 02855AB0 */ _t320 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02855AB0 */ rbrew_write32(cpu->mem, _t320, cpu->r[8]);
|
|
/* 02855AB4 */ _t321 = cpu->r[10] + 0x00000010u;
|
|
/* 02855AB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t321);
|
|
/* 02855AB4 */ cpu->r[10] = _t321;
|
|
/* 02855AB8 */ _t322 = cpu->r[11] + 0x00000010u;
|
|
/* 02855AB8 */ rbrew_write32(cpu->mem, _t322, cpu->r[9]);
|
|
/* 02855AB8 */ cpu->r[11] = _t322;
|
|
/* 02855ABC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02855ABC */ _t323 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02855ABC */ _t324 = _t323 >> (0x00000002u & 31u);
|
|
/* 02855ABC */ _t325 = _t324 & 0x00000001u;
|
|
/* 02855ABC */ if (_t325) goto L_02855A9C; else goto L_02855AC0;
|
|
L_02855AC0: ; // 0x2855ac0
|
|
/* 02855AC0 */ _t326 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02855AC0 */ rbrew_write32(cpu->mem, _t326, cpu->r[0]);
|
|
/* 02855AC4 */ cpu->r[5] = 0x00000003u;
|
|
/* 02855AC8 */ _t327 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02855AC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t327);
|
|
/* 02855ACC */ cpu->r[7] = 0x00000000u;
|
|
/* 02855AD0 */ _t328 = cpu->r[30] + 0x00000080u;
|
|
/* 02855AD0 */ rbrew_write32(cpu->mem, _t328, cpu->r[7]);
|
|
/* 02855AD4 */ cpu->r[0] = 0x00000811u;
|
|
/* 02855AD8 */ _t329 = cpu->r[30] + 0x00000098u;
|
|
/* 02855AD8 */ rbrew_write32(cpu->mem, _t329, cpu->r[5]);
|
|
/* 02855ADC */ cpu->r[12] = 0x00000010u;
|
|
/* 02855AE0 */ _t330 = cpu->r[30] + 0x00000028u;
|
|
/* 02855AE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t330);
|
|
/* 02855AE4 */ _t331 = cpu->r[30] + 0x00000088u;
|
|
/* 02855AE4 */ rbrew_write32(cpu->mem, _t331, cpu->r[0]);
|
|
/* 02855AE8 */ _t332 = cpu->r[30] + 0x00000094u;
|
|
/* 02855AE8 */ rbrew_write32(cpu->mem, _t332, cpu->r[11]);
|
|
/* 02855AEC */ cpu->r[8] = cpu->r[7];
|
|
/* 02855AF0 */ _t333 = cpu->r[30] + 0x00000084u;
|
|
/* 02855AF0 */ rbrew_write32(cpu->mem, _t333, cpu->r[12]);
|
|
/* 02855AF4 */ cpu->r[6] = cpu->r[30] + 0x0000003Cu;
|
|
/* 02855AF8 */ _t334 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02855AF8 */ rbrew_write32(cpu->mem, _t334, cpu->r[7]);
|
|
/* 02855AFC */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02855B00 */ _t335 = cpu->r[30] + 0x00000090u;
|
|
/* 02855B00 */ rbrew_write32(cpu->mem, _t335, cpu->r[7]);
|
|
/* 02855B04 */ rbrew_dispatch(cpu, 0x02d05be0u);
|
|
/* 02855B08 */ cpu->r[3] = 0x00000040u;
|
|
/* 02855B0C */ _t336 = cpu->r[30] + 0x00000028u;
|
|
/* 02855B0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t336);
|
|
/* 02855B10 */ cpu->r[5] = cpu->r[29];
|
|
/* 02855B14 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02855B18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02855B1C */ /* nop */
|
|
/* 02855B20 */ _t337 = cpu->r[1] + 0x00000074u;
|
|
/* 02855B20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t337);
|
|
/* 02855B24 */ cpu->lr = cpu->r[0];
|
|
/* 02855B28 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02855B2C */ return;
|
|
}
|
|
|
|
// fn_02855B30 @ 0x2855b30
|
|
void Gambit_fn_02855B30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02855B30: ; // 0x2855b30
|
|
/* 02855B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02855B34 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855B34 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02855B34 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02855B34 */ goto L_02855B38;
|
|
L_02855B38: ; // 0x2855b38
|
|
/* 02855B38 */ cpu->ctr = cpu->r[4];
|
|
/* 02855B3C */ cpu->r[12] = 0x00000000u;
|
|
/* 02855B40 */ cpu->r[6] = cpu->r[3] + 0x00000002u;
|
|
/* 02855B44 */ cpu->r[8] = cpu->r[3] + 0x00000004u;
|
|
/* 02855B48 */ cpu->r[10] = cpu->r[3] + 0x00000006u;
|
|
L_02855B4C: ; // 0x2855b4c
|
|
/* 02855B4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02855B50 */ cpu->r[7] = cpu->r[12] + 0x00000002u;
|
|
/* 02855B54 */ _t2 = cpu->r[3] + cpu->r[0];
|
|
/* 02855B54 */ rbrew_write16(cpu->mem, _t2, (uint16_t)cpu->r[12]);
|
|
/* 02855B58 */ cpu->r[9] = cpu->r[12] + 0x00000003u;
|
|
/* 02855B5C */ _t3 = cpu->r[6] + cpu->r[0];
|
|
/* 02855B5C */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[7]);
|
|
/* 02855B60 */ cpu->r[11] = cpu->r[12] + 0x00000001u;
|
|
/* 02855B64 */ _t4 = cpu->r[8] + cpu->r[0];
|
|
/* 02855B64 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[9]);
|
|
/* 02855B68 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 02855B6C */ _t5 = cpu->r[10] + cpu->r[0];
|
|
/* 02855B6C */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[11]);
|
|
/* 02855B70 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02855B70 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02855B70 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 02855B70 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02855B70 */ if (_t8) goto L_02855B4C; else goto L_02855B74;
|
|
L_02855B74: ; // 0x2855b74
|
|
/* 02855B74 */ return;
|
|
}
|
|
|
|
// fn_02855B78 @ 0x2855b78
|
|
void Gambit_fn_02855B78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02855B78: ; // 0x2855b78
|
|
/* 02855B78 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02855B78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02855B78 */ cpu->r[1] = _t0;
|
|
/* 02855B7C */ /* nop */
|
|
/* 02855B80 */ cpu->r[0] = cpu->lr;
|
|
/* 02855B84 */ cpu->r[28] = cpu->r[5];
|
|
/* 02855B88 */ cpu->r[27] = cpu->r[3];
|
|
/* 02855B8C */ cpu->r[31] = cpu->r[4];
|
|
/* 02855B90 */ cpu->r[5] = 0x00000001u;
|
|
/* 02855B94 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02855B94 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02855B98 */ cpu->r[29] = cpu->r[6];
|
|
/* 02855B9C */ cpu->r[4] = 0x00000000u;
|
|
/* 02855BA0 */ _t2 = cpu->r[27] + 0x00000244u;
|
|
/* 02855BA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02855BA4 */ cpu->r[3] = cpu->r[27] + 0x00000238u;
|
|
/* 02855BA8 */ _t3 = cpu->r[27] + 0x00000000u;
|
|
/* 02855BA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02855BAC */ rbrew_dispatch(cpu, 0x02d05c20u);
|
|
/* 02855BB0 */ cpu->r[3] = cpu->r[27] + 0x00000238u;
|
|
/* 02855BB4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02855BB8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02855BBC */ rbrew_dispatch(cpu, 0x02d05c68u);
|
|
/* 02855BC0 */ cpu->r[26] = rbrew_rlwinm(cpu->r[28], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02855BC4 */ cpu->r[30] = cpu->r[27] + 0x00000004u;
|
|
/* 02855BC8 */ cpu->r[7] = cpu->r[31] + cpu->r[26];
|
|
/* 02855BCC */ cpu->r[23] = 0x00000003u;
|
|
/* 02855BD0 */ cpu->r[8] = cpu->r[7] + 0x000000FFu;
|
|
/* 02855BD4 */ cpu->r[24] = 0x00000200u;
|
|
/* 02855BD8 */ cpu->r[25] = 0x00000000u;
|
|
/* 02855BDC */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
L_02855BE0: ; // 0x2855be0
|
|
/* 02855BE0 */ cpu->r[6] = cpu->r[29];
|
|
/* 02855BE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02855BE8 */ cpu->r[5] = cpu->r[25];
|
|
/* 02855BEC */ Gambit_fn_028552C4(cpu);
|
|
/* 02855BF0 */ cpu->r[0] = cpu->r[3] + 0x0000001Fu;
|
|
/* 02855BF4 */ _t4 = cpu->r[30] + 0x000000A0u;
|
|
/* 02855BF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[24]);
|
|
/* 02855BF8 */ cpu->r[22] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Au);
|
|
/* 02855BFC */ cpu->r[5] = 0x00000200u;
|
|
/* 02855C00 */ cpu->r[3] = 0x00000040u;
|
|
/* 02855C04 */ cpu->r[4] = cpu->r[22];
|
|
/* 02855C08 */ _t5 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02855C08 */ rbrew_write32(cpu->mem, _t5, cpu->r[22]);
|
|
/* 02855C0C */ cpu->r[31] = cpu->r[30] + 0x0000009Cu;
|
|
/* 02855C10 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02855C14 */ _t6 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02855C14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02855C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02855C1C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855C1C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02855C1C */ if (_t8) goto L_02855C2C; else goto L_02855C20;
|
|
L_02855C20: ; // 0x2855c20
|
|
/* 02855C20 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 02855C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02855C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02855C28 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855C28 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02855C28 */ if (_t11) goto L_02855C2C; else goto L_02855C88;
|
|
L_02855C2C: ; // 0x2855c2c
|
|
/* 02855C2C */ cpu->r[12] = cpu->r[31];
|
|
/* 02855C30 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 02855C30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02855C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02855C38 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855C38 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02855C38 */ if (_t14) goto L_02855C48; else goto L_02855C3C;
|
|
L_02855C3C: ; // 0x2855c3c
|
|
/* 02855C3C */ _t15 = cpu->r[12] + 0x00000004u;
|
|
/* 02855C3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02855C40 */ cpu->r[5] = 0x00000001u;
|
|
/* 02855C44 */ rbrew_dispatch(cpu, 0x02d05838u);
|
|
L_02855C48: ; // 0x2855c48
|
|
/* 02855C48 */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 02855C48 */ cpu->r[20] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02855C4C */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02855C50 */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 02855C50 */ cpu->r[21] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02855C54 */ rbrew_dispatch(cpu, 0x02d060b0u);
|
|
/* 02855C58 */ cpu->r[3] = cpu->r[20];
|
|
/* 02855C5C */ rbrew_dispatch(cpu, 0x02d06290u);
|
|
/* 02855C60 */ cpu->r[3] = cpu->r[21];
|
|
/* 02855C64 */ rbrew_dispatch(cpu, 0x02d06148u);
|
|
/* 02855C68 */ _t18 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02855C68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02855C6C */ cpu->r[3] = cpu->r[27] + 0x00000238u;
|
|
/* 02855C70 */ rbrew_dispatch(cpu, 0x02d06138u);
|
|
/* 02855C74 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02855C74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02855C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02855C7C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855C7C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02855C7C */ if (_t21) goto L_02855C88; else goto L_02855C80;
|
|
L_02855C80: ; // 0x2855c80
|
|
/* 02855C80 */ rbrew_dispatch(cpu, 0x02d05950u);
|
|
/* 02855C84 */ _t22 = cpu->r[31] + 0x00000008u;
|
|
/* 02855C84 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
L_02855C88: ; // 0x2855c88
|
|
/* 02855C88 */ cpu->r[30] = cpu->r[30] + 0x000000BCu;
|
|
/* 02855C8C */ cpu->r[0] = cpu->r[22] + 0x000002FFu;
|
|
/* 02855C90 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 02855C90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02855C94 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02855C98 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000017u);
|
|
/* 02855C9C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855C9C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02855C9C */ if (_t24) goto L_02855CA0; else goto L_02855BE0;
|
|
L_02855CA0: ; // 0x2855ca0
|
|
/* 02855CA0 */ _t25 = cpu->r[27] + 0x00000244u;
|
|
/* 02855CA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02855CA4 */ cpu->r[4] = cpu->r[28];
|
|
/* 02855CA8 */ Gambit_fn_02855B30(cpu);
|
|
/* 02855CAC */ _t26 = cpu->r[27] + 0x00000244u;
|
|
/* 02855CAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02855CB0 */ cpu->r[3] = 0x00000040u;
|
|
/* 02855CB4 */ cpu->r[5] = cpu->r[26];
|
|
/* 02855CB8 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02855CBC */ /* nop */
|
|
/* 02855CC0 */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02855CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02855CC4 */ cpu->lr = cpu->r[0];
|
|
/* 02855CC8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02855CCC */ return;
|
|
}
|
|
|
|
// fn_02855CD0 @ 0x2855cd0
|
|
void Gambit_fn_02855CD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02855CD0: ; // 0x2855cd0
|
|
/* 02855CD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02855CD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02855CD0 */ cpu->r[1] = _t0;
|
|
/* 02855CD4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02855CD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02855CD8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02855CD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02855CDC */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 02855CDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02855CE0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02855CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02855CE8 */ cpu->r[31] = cpu->r[4] + 0x00000020u;
|
|
/* 02855CEC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855CEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02855CEC */ if (_t5) goto L_02855DAC; else goto L_02855CF0;
|
|
L_02855CF0: ; // 0x2855cf0
|
|
/* 02855CF0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02855CF4 */ cpu->r[11] = cpu->r[31];
|
|
/* 02855CF8 */ cpu->r[8] = cpu->r[6];
|
|
/* 02855CFC */ cpu->r[7] = 0x00000001u;
|
|
L_02855D00: ; // 0x2855d00
|
|
/* 02855D00 */ _t6 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02855D00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02855D04 */ cpu->r[9] = cpu->r[10] + cpu->r[6];
|
|
/* 02855D08 */ _t7 = cpu->r[9] + 0x00000028u;
|
|
/* 02855D08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02855D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02855D10 */ cpu->r[30] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 02855D14 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855D14 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02855D14 */ if (_t9) goto L_02855D50; else goto L_02855D18;
|
|
L_02855D18: ; // 0x2855d18
|
|
/* 02855D18 */ cpu->ctr = cpu->r[12];
|
|
/* 02855D1C */ cpu->r[9] = cpu->r[31];
|
|
L_02855D20: ; // 0x2855d20
|
|
/* 02855D20 */ _t10 = cpu->r[9] + 0x00000000u;
|
|
/* 02855D20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02855D24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 02855D28 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855D28 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02855D28 */ if (_t12) goto L_02855D2C; else goto L_02855D48;
|
|
L_02855D2C: ; // 0x2855d2c
|
|
/* 02855D2C */ _t13 = cpu->r[9] + 0x00000008u;
|
|
/* 02855D2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02855D30 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02855D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02855D34 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02855D38 */ cpu->r[6] = cpu->r[6] + 0x00000030u;
|
|
/* 02855D3C */ _t14 = cpu->r[9] + 0x00000008u;
|
|
/* 02855D3C */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02855D40 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855D40 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02855D40 */ if (_t16) goto L_02855D44; else goto L_02855D00;
|
|
L_02855D44: ; // 0x2855d44
|
|
/* 02855D44 */ goto L_02855DAC;
|
|
L_02855D48: ; // 0x2855d48
|
|
/* 02855D48 */ cpu->r[9] = cpu->r[9] + 0x00000010u;
|
|
/* 02855D4C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02855D4C */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02855D4C */ _t18 = _t17 >> (0x00000002u & 31u);
|
|
/* 02855D4C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02855D4C */ if (_t19) goto L_02855D20; else goto L_02855D50;
|
|
L_02855D50: ; // 0x2855d50
|
|
/* 02855D50 */ _t20 = cpu->r[11] + 0x00000000u;
|
|
/* 02855D50 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02855D54 */ cpu->r[9] = cpu->r[8];
|
|
/* 02855D58 */ _t21 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02855D58 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02855D5C */ _t22 = cpu->r[11] + 0x00000008u;
|
|
/* 02855D5C */ rbrew_write32(cpu->mem, _t22, cpu->r[7]);
|
|
/* 02855D60 */ _t23 = cpu->r[30] + 0x0000000Eu;
|
|
/* 02855D60 */ cpu->r[10] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02855D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02855D68 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855D68 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02855D68 */ if (_t25) goto L_02855D74; else goto L_02855D6C;
|
|
L_02855D6C: ; // 0x2855d6c
|
|
/* 02855D6C */ cpu->r[9] = cpu->r[7];
|
|
/* 02855D70 */ _t26 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02855D70 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
L_02855D74: ; // 0x2855d74
|
|
/* 02855D74 */ _t27 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02855D74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02855D78 */ cpu->r[30] = cpu->r[10] + cpu->r[6];
|
|
/* 02855D7C */ _t28 = cpu->r[30] + 0x00000028u;
|
|
/* 02855D7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02855D80 */ cpu->r[30] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02855D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02855D84 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855D84 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02855D84 */ if (_t30) goto L_02855D90; else goto L_02855D88;
|
|
L_02855D88: ; // 0x2855d88
|
|
/* 02855D88 */ cpu->r[10] = cpu->r[9] | 0x00000002u;
|
|
/* 02855D8C */ _t31 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02855D8C */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
L_02855D90: ; // 0x2855d90
|
|
/* 02855D90 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02855D94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000008u);
|
|
/* 02855D98 */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
/* 02855D9C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855D9C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02855D9C */ if (_t33) goto L_02855DA0; else goto L_02855DAC;
|
|
L_02855DA0: ; // 0x2855da0
|
|
/* 02855DA0 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02855DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02855DA4 */ cpu->r[6] = cpu->r[6] + 0x00000030u;
|
|
/* 02855DA8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855DA8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02855DA8 */ if (_t35) goto L_02855DAC; else goto L_02855D00;
|
|
L_02855DAC: ; // 0x2855dac
|
|
/* 02855DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02855DB0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855DB0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02855DB0 */ if (_t37) goto L_02855E70; else goto L_02855DB4;
|
|
L_02855DB4: ; // 0x2855db4
|
|
/* 02855DB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 02855DB8 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02855DB8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02855DB8 */ if (_t39) goto L_02855DBC; else goto L_02855E4C;
|
|
L_02855DBC: ; // 0x2855dbc
|
|
/* 02855DBC */ cpu->r[11] = cpu->r[12];
|
|
/* 02855DC0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02855DC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000008u);
|
|
/* 02855DC8 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02855DC8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02855DC8 */ if (_t41) goto L_02855DCC; else goto L_02855DD0;
|
|
L_02855DCC: ; // 0x2855dcc
|
|
/* 02855DCC */ cpu->r[12] = 0x00000008u;
|
|
L_02855DD0: ; // 0x2855dd0
|
|
/* 02855DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02855DD4 */ cpu->r[8] = 0x00000000u;
|
|
/* 02855DD8 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02855DD8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02855DD8 */ if (_t43) goto L_02855DDC; else goto L_02855DFC;
|
|
L_02855DDC: ; // 0x2855ddc
|
|
/* 02855DDC */ cpu->ctr = cpu->r[11];
|
|
/* 02855DE0 */ cpu->r[10] = cpu->r[31] + 0xFFFFFFF0u;
|
|
L_02855DE4: ; // 0x2855de4
|
|
/* 02855DE4 */ _t44 = cpu->r[10] + 0x00000018u;
|
|
/* 02855DE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02855DE8 */ _t45 = cpu->r[10] + 0x00000014u;
|
|
/* 02855DE8 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 02855DEC */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02855DF0 */ cpu->r[10] = cpu->r[10] + 0x00000010u;
|
|
/* 02855DF4 */ cpu->r[8] = cpu->r[8] + cpu->r[7];
|
|
/* 02855DF8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02855DF8 */ _t46 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02855DF8 */ _t47 = _t46 >> (0x00000002u & 31u);
|
|
/* 02855DF8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02855DF8 */ if (_t48) goto L_02855DE4; else goto L_02855DFC;
|
|
L_02855DFC: ; // 0x2855dfc
|
|
/* 02855DFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02855E00 */ cpu->r[9] = cpu->r[12] - cpu->r[11];
|
|
/* 02855E04 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02855E04 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02855E04 */ if (_t50) goto L_02855E08; else goto L_02855E9C;
|
|
L_02855E08: ; // 0x2855e08
|
|
/* 02855E08 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02855E0C */ cpu->ctr = cpu->r[9];
|
|
/* 02855E10 */ cpu->r[10] = cpu->r[31] + cpu->r[7];
|
|
/* 02855E14 */ cpu->r[11] = cpu->r[31] + 0xFFFFFFF0u;
|
|
/* 02855E18 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFF0u;
|
|
L_02855E1C: ; // 0x2855e1c
|
|
/* 02855E1C */ _t51 = cpu->r[10] + 0x00000014u;
|
|
/* 02855E1C */ rbrew_write32(cpu->mem, _t51, cpu->r[8]);
|
|
/* 02855E20 */ _t52 = cpu->r[11] + 0x00000010u;
|
|
/* 02855E20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02855E20 */ cpu->r[11] = _t52;
|
|
/* 02855E24 */ _t53 = cpu->r[10] + 0x00000010u;
|
|
/* 02855E24 */ rbrew_write32(cpu->mem, _t53, cpu->r[9]);
|
|
/* 02855E24 */ cpu->r[10] = _t53;
|
|
/* 02855E28 */ _t54 = cpu->r[11] + 0x00000008u;
|
|
/* 02855E28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02855E2C */ _t55 = cpu->r[10] + 0x00000008u;
|
|
/* 02855E2C */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
/* 02855E30 */ _t56 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02855E30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02855E34 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02855E38 */ cpu->r[8] = cpu->r[8] + cpu->r[9];
|
|
/* 02855E3C */ _t57 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02855E3C */ rbrew_write32(cpu->mem, _t57, cpu->r[7]);
|
|
/* 02855E40 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02855E40 */ _t58 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02855E40 */ _t59 = _t58 >> (0x00000002u & 31u);
|
|
/* 02855E40 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02855E40 */ if (_t60) goto L_02855E1C; else goto L_02855E44;
|
|
L_02855E44: ; // 0x2855e44
|
|
/* 02855E44 */ _t61 = cpu->r[4] + 0x00000008u;
|
|
/* 02855E44 */ rbrew_write32(cpu->mem, _t61, cpu->r[12]);
|
|
/* 02855E48 */ goto L_02855EA0;
|
|
L_02855E4C: ; // 0x2855e4c
|
|
/* 02855E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02855E50 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855E50 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02855E50 */ if (_t63) goto L_02855E9C; else goto L_02855E54;
|
|
L_02855E54: ; // 0x2855e54
|
|
/* 02855E54 */ _t64 = cpu->r[31] + 0x00000008u;
|
|
/* 02855E54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02855E58 */ cpu->r[11] = 0x00000000u;
|
|
/* 02855E5C */ _t65 = cpu->r[31] + 0x00000004u;
|
|
/* 02855E5C */ rbrew_write32(cpu->mem, _t65, cpu->r[11]);
|
|
/* 02855E60 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02855E64 */ _t66 = cpu->r[31] + 0x00000008u;
|
|
/* 02855E64 */ rbrew_write32(cpu->mem, _t66, cpu->r[10]);
|
|
/* 02855E68 */ _t67 = cpu->r[4] + 0x00000008u;
|
|
/* 02855E68 */ rbrew_write32(cpu->mem, _t67, cpu->r[12]);
|
|
/* 02855E6C */ goto L_02855EA0;
|
|
L_02855E70: ; // 0x2855e70
|
|
/* 02855E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02855E74 */ cpu->r[10] = 0x00000000u;
|
|
/* 02855E78 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855E78 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02855E78 */ if (_t69) goto L_02855E9C; else goto L_02855E7C;
|
|
L_02855E7C: ; // 0x2855e7c
|
|
/* 02855E7C */ cpu->ctr = cpu->r[12];
|
|
/* 02855E80 */ cpu->r[11] = cpu->r[31] + 0xFFFFFFF0u;
|
|
L_02855E84: ; // 0x2855e84
|
|
/* 02855E84 */ _t70 = cpu->r[11] + 0x00000018u;
|
|
/* 02855E84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02855E88 */ _t71 = cpu->r[11] + 0x00000014u;
|
|
/* 02855E88 */ rbrew_write32(cpu->mem, _t71, cpu->r[10]);
|
|
/* 02855E8C */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02855E90 */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
/* 02855E94 */ cpu->r[10] = cpu->r[10] + cpu->r[8];
|
|
/* 02855E98 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02855E98 */ _t72 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02855E98 */ _t73 = _t72 >> (0x00000002u & 31u);
|
|
/* 02855E98 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02855E98 */ if (_t74) goto L_02855E84; else goto L_02855E9C;
|
|
L_02855E9C: ; // 0x2855e9c
|
|
/* 02855E9C */ _t75 = cpu->r[4] + 0x00000008u;
|
|
/* 02855E9C */ rbrew_write32(cpu->mem, _t75, cpu->r[12]);
|
|
L_02855EA0: ; // 0x2855ea0
|
|
/* 02855EA0 */ _t76 = cpu->r[1] + 0x00000008u;
|
|
/* 02855EA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02855EA4 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02855EA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02855EA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02855EAC */ return;
|
|
}
|
|
|
|
// fn_02855EB0 @ 0x2855eb0
|
|
void Gambit_fn_02855EB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
|
|
L_02855EB0: ; // 0x2855eb0
|
|
/* 02855EB0 */ _t0 = cpu->r[1] + 0xFFFFFE88u;
|
|
/* 02855EB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02855EB0 */ cpu->r[1] = _t0;
|
|
/* 02855EB4 */ _t1 = cpu->r[1] + 0x00000088u;
|
|
/* 02855EB4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[17]);
|
|
/* 02855EB8 */ _t2 = cpu->r[1] + 0x00000098u;
|
|
/* 02855EB8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[18]);
|
|
/* 02855EBC */ _t3 = cpu->r[1] + 0x000000A8u;
|
|
/* 02855EBC */ rbrew_write_f64(cpu->mem, _t3, cpu->f[19]);
|
|
/* 02855EC0 */ /* nop */
|
|
/* 02855EC4 */ _t4 = cpu->r[1] + 0x000000B8u;
|
|
/* 02855EC4 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[20]);
|
|
/* 02855EC8 */ /* nop */
|
|
/* 02855ECC */ _t5 = cpu->r[1] + 0x000000C8u;
|
|
/* 02855ECC */ rbrew_write_f64(cpu->mem, _t5, cpu->f[21]);
|
|
/* 02855ED0 */ /* nop */
|
|
/* 02855ED4 */ _t6 = cpu->r[1] + 0x000000D8u;
|
|
/* 02855ED4 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[22]);
|
|
/* 02855ED8 */ /* nop */
|
|
/* 02855EDC */ _t7 = cpu->r[1] + 0x000000E8u;
|
|
/* 02855EDC */ rbrew_write_f64(cpu->mem, _t7, cpu->f[23]);
|
|
/* 02855EE0 */ /* nop */
|
|
/* 02855EE4 */ _t8 = cpu->r[1] + 0x000000F8u;
|
|
/* 02855EE4 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[24]);
|
|
/* 02855EE8 */ /* nop */
|
|
/* 02855EEC */ _t9 = cpu->r[1] + 0x00000108u;
|
|
/* 02855EEC */ rbrew_write_f64(cpu->mem, _t9, cpu->f[25]);
|
|
/* 02855EF0 */ /* nop */
|
|
/* 02855EF4 */ _t10 = cpu->r[1] + 0x00000118u;
|
|
/* 02855EF4 */ rbrew_write_f64(cpu->mem, _t10, cpu->f[26]);
|
|
/* 02855EF8 */ /* nop */
|
|
/* 02855EFC */ _t11 = cpu->r[1] + 0x00000090u;
|
|
/* 02855EFC */ rbrew_write_f32(cpu->mem, _t11, cpu->f[17]);
|
|
/* 02855F00 */ _t12 = cpu->r[1] + 0x000000A0u;
|
|
/* 02855F00 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[18]);
|
|
/* 02855F04 */ _t13 = cpu->r[1] + 0x000000B0u;
|
|
/* 02855F04 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[19]);
|
|
/* 02855F08 */ /* nop */
|
|
/* 02855F0C */ _t14 = cpu->r[1] + 0x000000C0u;
|
|
/* 02855F0C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[20]);
|
|
/* 02855F10 */ _t15 = cpu->r[1] + 0x000000D0u;
|
|
/* 02855F10 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[21]);
|
|
/* 02855F14 */ _t16 = cpu->r[1] + 0x000000E0u;
|
|
/* 02855F14 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[22]);
|
|
/* 02855F18 */ /* nop */
|
|
/* 02855F1C */ _t17 = cpu->r[1] + 0x000000F0u;
|
|
/* 02855F1C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[23]);
|
|
/* 02855F20 */ _t18 = cpu->r[1] + 0x00000100u;
|
|
/* 02855F20 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[24]);
|
|
/* 02855F24 */ _t19 = cpu->r[1] + 0x00000110u;
|
|
/* 02855F24 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[25]);
|
|
/* 02855F28 */ cpu->r[0] = cpu->lr;
|
|
/* 02855F2C */ _t20 = cpu->r[1] + 0x00000120u;
|
|
/* 02855F2C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[26]);
|
|
/* 02855F30 */ _t21 = cpu->r[1] + 0x00000128u;
|
|
/* 02855F30 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[27]);
|
|
/* 02855F34 */ /* nop */
|
|
/* 02855F38 */ _t22 = cpu->r[1] + 0x00000130u;
|
|
/* 02855F38 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[27]);
|
|
/* 02855F3C */ _t23 = cpu->r[1] + 0x00000138u;
|
|
/* 02855F3C */ rbrew_write_f64(cpu->mem, _t23, cpu->f[28]);
|
|
/* 02855F40 */ /* nop */
|
|
/* 02855F44 */ _t24 = cpu->r[1] + 0x00000140u;
|
|
/* 02855F44 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[28]);
|
|
/* 02855F48 */ _t25 = cpu->r[1] + 0x00000148u;
|
|
/* 02855F48 */ rbrew_write_f64(cpu->mem, _t25, cpu->f[29]);
|
|
/* 02855F4C */ /* nop */
|
|
/* 02855F50 */ _t26 = cpu->r[1] + 0x00000150u;
|
|
/* 02855F50 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[29]);
|
|
/* 02855F54 */ _t27 = cpu->r[1] + 0x00000158u;
|
|
/* 02855F54 */ rbrew_write_f64(cpu->mem, _t27, cpu->f[30]);
|
|
/* 02855F58 */ /* nop */
|
|
/* 02855F5C */ _t28 = cpu->r[1] + 0x00000160u;
|
|
/* 02855F5C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[30]);
|
|
/* 02855F60 */ _t29 = cpu->r[1] + 0x00000168u;
|
|
/* 02855F60 */ rbrew_write_f64(cpu->mem, _t29, cpu->f[31]);
|
|
/* 02855F64 */ /* nop */
|
|
/* 02855F68 */ /* nop */
|
|
/* 02855F6C */ _t30 = cpu->r[1] + 0x0000017Cu;
|
|
/* 02855F6C */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02855F70 */ _t31 = cpu->r[1] + 0x00000170u;
|
|
/* 02855F70 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]);
|
|
/* 02855F74 */ cpu->r[29] = cpu->r[6];
|
|
/* 02855F78 */ cpu->r[27] = cpu->r[4];
|
|
/* 02855F7C */ _t32 = cpu->r[27] + 0x00000004u;
|
|
/* 02855F7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02855F80 */ cpu->r[23] = cpu->r[5];
|
|
/* 02855F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02855F88 */ cpu->r[28] = cpu->r[7];
|
|
/* 02855F8C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02855F8C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02855F8C */ if (_t34) goto L_02855F90; else goto L_02856030;
|
|
L_02855F90: ; // 0x2855f90
|
|
/* 02855F90 */ cpu->r[0] = 0x00000001u;
|
|
/* 02855F94 */ cpu->r[11] = 0x00000000u;
|
|
/* 02855F98 */ _t35 = cpu->r[27] + 0x00000011u;
|
|
/* 02855F98 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[0]);
|
|
/* 02855F9C */ _t36 = cpu->r[27] + 0x00000008u;
|
|
/* 02855F9C */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 02855FA0 */ /* nop */
|
|
/* 02855FA4 */ _t37 = cpu->r[1] + 0x000000D0u;
|
|
/* 02855FA4 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02855FA8 */ _t38 = cpu->r[1] + 0x000000B0u;
|
|
/* 02855FA8 */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02855FAC */ _t39 = cpu->r[1] + 0x000000C8u;
|
|
/* 02855FAC */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t39);
|
|
/* 02855FB0 */ _t40 = cpu->r[1] + 0x000000F0u;
|
|
/* 02855FB0 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02855FB4 */ _t41 = cpu->r[1] + 0x000000A8u;
|
|
/* 02855FB4 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 02855FB8 */ _t42 = cpu->r[1] + 0x000000E8u;
|
|
/* 02855FB8 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t42);
|
|
/* 02855FBC */ _t43 = cpu->r[1] + 0x000000C0u;
|
|
/* 02855FBC */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02855FC0 */ _t44 = cpu->r[1] + 0x00000110u;
|
|
/* 02855FC0 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02855FC4 */ _t45 = cpu->r[1] + 0x000000B8u;
|
|
/* 02855FC4 */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t45);
|
|
/* 02855FC8 */ _t46 = cpu->r[1] + 0x00000108u;
|
|
/* 02855FC8 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 02855FCC */ _t47 = cpu->r[1] + 0x000000E0u;
|
|
/* 02855FCC */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02855FD0 */ _t48 = cpu->r[1] + 0x00000150u;
|
|
/* 02855FD0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02855FD4 */ _t49 = cpu->r[1] + 0x00000120u;
|
|
/* 02855FD4 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02855FD8 */ _t50 = cpu->r[1] + 0x00000148u;
|
|
/* 02855FD8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 02855FDC */ _t51 = cpu->r[1] + 0x000000A0u;
|
|
/* 02855FDC */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02855FE0 */ _t52 = cpu->r[1] + 0x00000118u;
|
|
/* 02855FE0 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 02855FE4 */ _t53 = cpu->r[1] + 0x00000098u;
|
|
/* 02855FE4 */ cpu->f[18] = rbrew_read_f64(cpu->mem, _t53);
|
|
/* 02855FE8 */ _t54 = cpu->r[1] + 0x00000140u;
|
|
/* 02855FE8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02855FEC */ _t55 = cpu->r[1] + 0x00000090u;
|
|
/* 02855FEC */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02855FF0 */ _t56 = cpu->r[1] + 0x00000138u;
|
|
/* 02855FF0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t56);
|
|
/* 02855FF4 */ _t57 = cpu->r[1] + 0x00000088u;
|
|
/* 02855FF4 */ cpu->f[17] = rbrew_read_f64(cpu->mem, _t57);
|
|
/* 02855FF8 */ _t58 = cpu->r[1] + 0x00000160u;
|
|
/* 02855FF8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02855FFC */ _t59 = cpu->r[1] + 0x00000170u;
|
|
/* 02855FFC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02856000 */ _t60 = cpu->r[1] + 0x00000158u;
|
|
/* 02856000 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t60);
|
|
/* 02856004 */ _t61 = cpu->r[1] + 0x00000168u;
|
|
/* 02856004 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 02856008 */ _t62 = cpu->r[1] + 0x000000D8u;
|
|
/* 02856008 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t62);
|
|
/* 0285600C */ _t63 = cpu->r[1] + 0x00000100u;
|
|
/* 0285600C */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02856010 */ _t64 = cpu->r[1] + 0x00000130u;
|
|
/* 02856010 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 02856014 */ _t65 = cpu->r[1] + 0x000000F8u;
|
|
/* 02856014 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 02856018 */ _t66 = cpu->r[1] + 0x00000128u;
|
|
/* 02856018 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t66);
|
|
/* 0285601C */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285601C */ _t68 = _t67 & 0x00000001u;
|
|
/* 0285601C */ if (_t68) goto L_02856020; // else: addr-0 trap, fall-through
|
|
L_02856020: ; // 0x2856020
|
|
/* 02856020 */ _t69 = cpu->r[1] + 0x0000017Cu;
|
|
/* 02856020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02856024 */ cpu->lr = cpu->r[0];
|
|
/* 02856028 */ cpu->r[1] = cpu->r[1] + 0x00000178u;
|
|
/* 0285602C */ return;
|
|
L_02856030: ; // 0x2856030
|
|
/* 02856030 */ _t70 = cpu->r[3] + 0x00000000u;
|
|
/* 02856030 */ cpu->r[11] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02856034 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02856038 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02856038 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02856038 */ if (_t72) goto L_02856F28; else goto L_0285603C;
|
|
L_0285603C: ; // 0x285603c
|
|
/* 0285603C */ _t73 = cpu->r[27] + 0x00000000u;
|
|
/* 0285603C */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02856040 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02856044 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02856044 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02856044 */ if (_t75) goto L_02856F28; else goto L_02856048;
|
|
L_02856048: ; // 0x2856048
|
|
/* 02856048 */ cpu->r[0] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 0285604C */ cpu->r[5] = cpu->r[23] - cpu->r[0];
|
|
/* 02856050 */ cpu->r[4] = cpu->r[27];
|
|
/* 02856054 */ Gambit_fn_02855CD0(cpu);
|
|
/* 02856058 */ _t76 = cpu->r[27] + 0x0000001Cu;
|
|
/* 02856058 */ cpu->r[10] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0285605C */ cpu->r[26] = cpu->r[27] + 0x00000014u;
|
|
/* 02856060 */ cpu->r[0] = cpu->r[10] + 0x00000001u;
|
|
/* 02856064 */ cpu->r[25] = cpu->r[27] + 0x00000020u;
|
|
/* 02856068 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0285606C */ _t77 = cpu->r[27] + 0x00000008u;
|
|
/* 0285606C */ cpu->r[30] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02856070 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02856070 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02856070 */ if (_t79) goto L_02856078; else goto L_02856074;
|
|
L_02856074: ; // 0x2856074
|
|
/* 02856074 */ cpu->r[0] = 0x00000000u;
|
|
L_02856078: ; // 0x2856078
|
|
/* 02856078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0285607C */ cpu->r[9] = 0x00000001u;
|
|
/* 02856080 */ _t80 = cpu->r[26] + 0x00000008u;
|
|
/* 02856080 */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
|
|
/* 02856084 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856084 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02856084 */ if (_t82) goto L_0285608C; else goto L_02856088;
|
|
L_02856088: ; // 0x2856088
|
|
/* 02856088 */ cpu->r[9] = 0x00000002u;
|
|
L_0285608C: ; // 0x285608c
|
|
/* 0285608C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[9]);
|
|
/* 02856090 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02856094 */ _t83 = cpu->r[11] + cpu->r[26];
|
|
/* 02856094 */ cpu->r[10] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02856098 */ cpu->r[24] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000070u);
|
|
/* 0285609C */ cpu->r[0] = cpu->r[10] + 0x0000001Fu;
|
|
/* 028560A0 */ cpu->r[11] = 0x00040000u;
|
|
/* 028560A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[11]);
|
|
/* 028560A8 */ _t84 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028560A8 */ _t85 = _t84 & 0x00000001u;
|
|
/* 028560A8 */ if (_t85) goto L_028560AC; else goto L_028560B0;
|
|
L_028560AC: ; // 0x28560ac
|
|
/* 028560AC */ cpu->r[11] = cpu->r[24];
|
|
L_028560B0: ; // 0x28560b0
|
|
/* 028560B0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Au);
|
|
/* 028560B4 */ cpu->r[6] = cpu->r[11] + cpu->r[10];
|
|
/* 028560B8 */ cpu->r[7] = cpu->r[6] - cpu->r[3];
|
|
/* 028560BC */ cpu->r[4] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000001Au);
|
|
/* 028560C0 */ rbrew_dispatch(cpu, 0x02d09350u);
|
|
/* 028560C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028560C8 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028560C8 */ _t87 = _t86 & 0x00000001u;
|
|
/* 028560C8 */ if (_t87) goto L_028560E4; else goto L_028560CC;
|
|
L_028560CC: ; // 0x28560cc
|
|
/* 028560CC */ cpu->ctr = cpu->r[30];
|
|
/* 028560D0 */ cpu->r[6] = 0x00000000u;
|
|
/* 028560D4 */ cpu->r[11] = cpu->r[25] + 0xFFFFFFF0u;
|
|
L_028560D8: ; // 0x28560d8
|
|
/* 028560D8 */ _t88 = cpu->r[11] + 0x00000018u;
|
|
/* 028560D8 */ rbrew_write32(cpu->mem, _t88, cpu->r[6]);
|
|
/* 028560DC */ cpu->r[11] = cpu->r[11] + 0x00000010u;
|
|
/* 028560E0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028560E0 */ _t89 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028560E0 */ _t90 = _t89 >> (0x00000002u & 31u);
|
|
/* 028560E0 */ _t91 = _t90 & 0x00000001u;
|
|
/* 028560E0 */ if (_t91) goto L_028560D8; else goto L_028560E4;
|
|
L_028560E4: ; // 0x28560e4
|
|
/* 028560E4 */ cpu->r[11] = 0x10130000u;
|
|
/* 028560E8 */ cpu->r[10] = 0x10130000u;
|
|
/* 028560EC */ _t92 = cpu->r[11] + 0x00001A14u;
|
|
/* 028560EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 028560F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 028560F4 */ _t93 = cpu->r[10] + 0x00001A1Cu;
|
|
/* 028560F4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 028560F8 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028560F8 */ _t95 = _t94 & 0x00000001u;
|
|
/* 028560F8 */ if (_t95) goto L_028567FC; else goto L_028560FC;
|
|
L_028560FC: ; // 0x28560fc
|
|
/* 028560FC */ cpu->r[7] = 0x10130000u;
|
|
/* 02856100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02856104 */ _t96 = cpu->r[7] + 0x00001A20u;
|
|
/* 02856104 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 02856108 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856108 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02856108 */ if (_t98) goto L_0285610C; else goto L_028563C8;
|
|
L_0285610C: ; // 0x285610c
|
|
/* 0285610C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02856110 */ cpu->r[6] = cpu->r[31];
|
|
/* 02856114 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856114 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02856114 */ if (_t100) goto L_02856804; else goto L_02856118;
|
|
L_02856118: ; // 0x2856118
|
|
/* 02856118 */ cpu->f[5] = cpu->f[13];
|
|
/* 0285611C */ cpu->r[10] = 0x00000000u;
|
|
L_02856120: ; // 0x2856120
|
|
/* 02856120 */ _t101 = cpu->r[26] + 0x00000008u;
|
|
/* 02856120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02856124 */ _t102 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02856124 */ cpu->r[7] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02856128 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285612C */ cpu->r[12] = cpu->r[7] + cpu->r[10];
|
|
/* 02856130 */ _t103 = cpu->r[12] + 0x00000028u;
|
|
/* 02856130 */ cpu->r[8] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02856134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02856138 */ _t104 = cpu->r[11] + cpu->r[26];
|
|
/* 02856138 */ cpu->r[9] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0285613C */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 02856140 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856140 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02856140 */ if (_t106) goto L_02856184; else goto L_02856144;
|
|
L_02856144: ; // 0x2856144
|
|
/* 02856144 */ cpu->ctr = cpu->r[30];
|
|
/* 02856148 */ cpu->r[3] = cpu->r[25];
|
|
L_0285614C: ; // 0x285614c
|
|
/* 0285614C */ _t107 = cpu->r[3] + 0x00000000u;
|
|
/* 0285614C */ cpu->r[5] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02856150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[5]);
|
|
/* 02856154 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856154 */ _t109 = _t108 & 0x00000001u;
|
|
/* 02856154 */ if (_t109) goto L_02856158; else goto L_0285617C;
|
|
L_02856158: ; // 0x2856158
|
|
/* 02856158 */ _t110 = cpu->r[3] + 0x00000008u;
|
|
/* 02856158 */ cpu->r[8] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0285615C */ _t111 = cpu->r[3] + 0x00000004u;
|
|
/* 0285615C */ cpu->r[11] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02856160 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02856164 */ cpu->r[0] = cpu->r[11] + cpu->r[7];
|
|
/* 02856168 */ cpu->r[7] = cpu->r[8] + 0x00000001u;
|
|
/* 0285616C */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu);
|
|
/* 02856170 */ _t112 = cpu->r[3] + 0x00000008u;
|
|
/* 02856170 */ rbrew_write32(cpu->mem, _t112, cpu->r[7]);
|
|
/* 02856174 */ cpu->r[9] = cpu->r[9] + cpu->r[5];
|
|
/* 02856178 */ goto L_02856184;
|
|
L_0285617C: ; // 0x285617c
|
|
/* 0285617C */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02856180 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02856180 */ _t113 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02856180 */ _t114 = _t113 >> (0x00000002u & 31u);
|
|
/* 02856180 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02856180 */ if (_t115) goto L_0285614C; else goto L_02856184;
|
|
L_02856184: ; // 0x2856184
|
|
/* 02856184 */ _t116 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02856184 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02856188 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 0285618C */ _t117 = cpu->r[12] + 0x00000000u;
|
|
/* 0285618C */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02856190 */ _t118 = cpu->r[12] + 0x00000008u;
|
|
/* 02856190 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02856194 */ _t119 = cpu->r[23] + 0x00000008u;
|
|
/* 02856194 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 02856198 */ _t120 = cpu->r[12] + 0x00000004u;
|
|
/* 02856198 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t120);
|
|
/* 0285619C */ _t121 = cpu->r[23] + 0x00000014u;
|
|
/* 0285619C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 028561A0 */ _t122 = cpu->r[23] + 0x0000000Cu;
|
|
/* 028561A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t122);
|
|
/* 028561A4 */ /* nop */
|
|
/* 028561A8 */ _t123 = cpu->r[23] + 0x00000010u;
|
|
/* 028561A8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t123);
|
|
/* 028561AC */ /* nop */
|
|
/* 028561B0 */ _t124 = cpu->r[12] + 0x0000002Fu;
|
|
/* 028561B0 */ cpu->r[3] = rbrew_read8(cpu->mem, _t124);
|
|
/* 028561B4 */ _t125 = cpu->r[23] + 0x00000003u;
|
|
/* 028561B4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t125);
|
|
/* 028561B8 */ cpu->f[4] = cpu->f[6] * cpu->f[8];
|
|
/* 028561BC */ cpu->r[4] = 0x80810000u;
|
|
/* 028561C0 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[3]);
|
|
/* 028561C4 */ _t126 = cpu->r[1] + 0x00000018u;
|
|
/* 028561C4 */ cpu->r[22] = rbrew_read32(cpu->mem, _t126);
|
|
/* 028561C8 */ cpu->f[8] = cpu->f[6] - cpu->f[4];
|
|
/* 028561CC */ cpu->r[4] = cpu->r[4] + 0xFFFF8081u;
|
|
/* 028561D0 */ cpu->f[6] = cpu->f[7] - cpu->f[10];
|
|
/* 028561D4 */ cpu->r[8] = (uint32_t)(((int64_t)(int32_t)cpu->r[4] * (int64_t)(int32_t)cpu->r[11]) >> 32);
|
|
/* 028561D8 */ cpu->f[2] = cpu->f[9] + cpu->f[11];
|
|
/* 028561DC */ cpu->r[8] = cpu->r[11] + cpu->r[8];
|
|
/* 028561E0 */ cpu->r[5] = cpu->r[23] + 0x00000004u;
|
|
/* 028561E4 */ /* nop */
|
|
/* 028561E8 */ /* nop */
|
|
/* 028561EC */ cpu->r[7] = cpu->r[1] + 0x0000001Cu;
|
|
/* 028561F0 */ /* nop */
|
|
/* 028561F4 */ /* nop */
|
|
/* 028561F8 */ _t127 = cpu->r[23] + 0x00000007u;
|
|
/* 028561F8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t127);
|
|
/* 028561FC */ cpu->r[7] = 0x43300000u;
|
|
/* 02856200 */ _t128 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02856200 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t128);
|
|
/* 02856204 */ cpu->r[8] = cpu->r[8] - cpu->r[11];
|
|
/* 02856208 */ _t129 = cpu->r[12] + 0x00000018u;
|
|
/* 02856208 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 0285620C */ cpu->r[11] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02856210 */ _t130 = cpu->r[1] + 0x00000008u;
|
|
/* 02856210 */ rbrew_write32(cpu->mem, _t130, cpu->r[7]);
|
|
/* 02856214 */ _t131 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02856214 */ rbrew_write32(cpu->mem, _t131, cpu->r[11]);
|
|
/* 02856218 */ _t132 = cpu->r[12] + 0x0000002Eu;
|
|
/* 02856218 */ cpu->r[11] = rbrew_read8(cpu->mem, _t132);
|
|
/* 0285621C */ cpu->f[30] = cpu->f[6] + cpu->f[8];
|
|
/* 02856220 */ _t133 = cpu->r[1] + 0x00000008u;
|
|
/* 02856220 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t133);
|
|
/* 02856224 */ cpu->r[7] = 0x10130000u;
|
|
/* 02856228 */ _t134 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02856228 */ rbrew_write32(cpu->mem, _t134, cpu->r[11]);
|
|
/* 0285622C */ _t135 = cpu->r[7] + 0x00001A28u;
|
|
/* 0285622C */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t135);
|
|
/* 02856230 */ cpu->r[11] = 0x10130000u;
|
|
/* 02856234 */ _t136 = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02856234 */ _t137 = cpu->r[22] & 0xFFFFFF00u;
|
|
/* 02856234 */ cpu->r[22] = _t137 | _t136;
|
|
/* 02856238 */ _t138 = cpu->r[1] + 0x00000008u;
|
|
/* 02856238 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t138);
|
|
/* 0285623C */ cpu->f[7] = cpu->f[10] - cpu->f[6];
|
|
/* 02856240 */ _t139 = cpu->r[23] + 0x00000018u;
|
|
/* 02856240 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 02856244 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[3]);
|
|
/* 02856248 */ _t140 = cpu->r[11] + 0x00001A30u;
|
|
/* 02856248 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t140);
|
|
/* 0285624C */ cpu->f[9] = (double)(float)cpu->f[7];
|
|
/* 02856250 */ _t141 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02856250 */ cpu->r[3] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02856254 */ cpu->f[6] = cpu->f[11] - cpu->f[8];
|
|
/* 02856258 */ cpu->r[0] = (uint32_t)(((int64_t)(int32_t)cpu->r[4] * (int64_t)(int32_t)cpu->r[8]) >> 32);
|
|
/* 0285625C */ cpu->f[21] = fma(cpu->f[10], cpu->f[31], cpu->f[9]);
|
|
/* 02856260 */ /* nop */
|
|
/* 02856264 */ cpu->f[7] = (double)(float)cpu->f[6];
|
|
/* 02856268 */ _t142 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02856268 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t142);
|
|
/* 0285626C */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02856270 */ cpu->f[11] = cpu->f[2] + cpu->f[21];
|
|
/* 02856274 */ _t143 = cpu->r[9] + 0x00000004u;
|
|
/* 02856274 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[30]);
|
|
/* 02856278 */ cpu->r[0] = cpu->r[8] + cpu->r[0];
|
|
/* 0285627C */ _t144 = cpu->r[9] + 0x00000008u;
|
|
/* 0285627C */ rbrew_write_f32(cpu->mem, _t144, cpu->f[5]);
|
|
/* 02856280 */ /* nop */
|
|
/* 02856284 */ _t145 = cpu->r[9] + 0x00000000u;
|
|
/* 02856284 */ rbrew_write_f32(cpu->mem, _t145, cpu->f[11]);
|
|
/* 02856288 */ cpu->r[0] = cpu->r[0] - cpu->r[7];
|
|
/* 0285628C */ _t146 = cpu->r[1] + 0x00000020u;
|
|
/* 0285628C */ rbrew_write32(cpu->mem, _t146, cpu->r[22]);
|
|
/* 02856290 */ _t147 = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02856290 */ _t148 = cpu->r[3] & 0xFFFFFF00u;
|
|
/* 02856290 */ cpu->r[3] = _t148 | _t147;
|
|
/* 02856294 */ /* nop */
|
|
/* 02856298 */ cpu->r[8] = cpu->r[9] + 0x0000000Cu;
|
|
/* 0285629C */ cpu->f[9] = -cpu->f[7];
|
|
/* 028562A0 */ /* nop */
|
|
/* 028562A4 */ _t149 = cpu->r[9] + 0x00000010u;
|
|
/* 028562A4 */ rbrew_write_f32(cpu->mem, _t149, cpu->f[1]);
|
|
/* 028562A8 */ cpu->f[10] = cpu->f[9] - cpu->f[0];
|
|
/* 028562AC */ _t150 = cpu->r[9] + 0x00000014u;
|
|
/* 028562AC */ rbrew_write_f32(cpu->mem, _t150, cpu->f[6]);
|
|
/* 028562B0 */ _t151 = cpu->r[9] + 0x00000018u;
|
|
/* 028562B0 */ rbrew_write_f32(cpu->mem, _t151, cpu->f[10]);
|
|
/* 028562B4 */ _t152 = cpu->r[12] + 0x0000002Eu;
|
|
/* 028562B4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t152);
|
|
/* 028562B8 */ cpu->f[31] = fma(cpu->f[3], cpu->f[31], cpu->f[2]);
|
|
/* 028562BC */ _t153 = cpu->r[12] + 0x00000020u;
|
|
/* 028562BC */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t153);
|
|
/* 028562C0 */ _t154 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028562C0 */ rbrew_write32(cpu->mem, _t154, cpu->r[4]);
|
|
/* 028562C4 */ _t155 = cpu->r[1] + 0x00000008u;
|
|
/* 028562C4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t155);
|
|
/* 028562C8 */ cpu->f[6] = cpu->f[31] + cpu->f[21];
|
|
/* 028562CC */ _t156 = cpu->r[12] + 0x0000001Cu;
|
|
/* 028562CC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t156);
|
|
/* 028562D0 */ cpu->f[10] = cpu->f[9] - cpu->f[8];
|
|
/* 028562D4 */ _t157 = cpu->r[9] + 0x00000020u;
|
|
/* 028562D4 */ rbrew_write_f32(cpu->mem, _t157, cpu->f[30]);
|
|
/* 028562D8 */ _t158 = cpu->r[9] + 0x0000001Cu;
|
|
/* 028562D8 */ rbrew_write_f32(cpu->mem, _t158, cpu->f[6]);
|
|
/* 028562DC */ cpu->f[6] = (double)(float)cpu->f[10];
|
|
/* 028562E0 */ _t159 = cpu->r[9] + 0x00000024u;
|
|
/* 028562E0 */ rbrew_write_f32(cpu->mem, _t159, cpu->f[5]);
|
|
/* 028562E4 */ cpu->r[7] = cpu->r[1] + 0x00000024u;
|
|
/* 028562E8 */ _t160 = cpu->r[1] + 0x00000024u;
|
|
/* 028562E8 */ rbrew_write32(cpu->mem, _t160, cpu->r[22]);
|
|
/* 028562EC */ /* nop */
|
|
/* 028562F0 */ cpu->f[11] = -cpu->f[6];
|
|
/* 028562F4 */ cpu->r[8] = cpu->r[9] + 0x00000028u;
|
|
/* 028562F8 */ /* nop */
|
|
/* 028562FC */ cpu->f[6] = cpu->f[11] - cpu->f[0];
|
|
/* 02856300 */ _t161 = cpu->r[9] + 0x00000030u;
|
|
/* 02856300 */ rbrew_write_f32(cpu->mem, _t161, cpu->f[7]);
|
|
/* 02856304 */ _t162 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02856304 */ rbrew_write_f32(cpu->mem, _t162, cpu->f[3]);
|
|
/* 02856308 */ _t163 = cpu->r[9] + 0x00000034u;
|
|
/* 02856308 */ rbrew_write_f32(cpu->mem, _t163, cpu->f[6]);
|
|
/* 0285630C */ _t164 = cpu->r[12] + 0x0000002Eu;
|
|
/* 0285630C */ cpu->r[4] = rbrew_read8(cpu->mem, _t164);
|
|
/* 02856310 */ _t165 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02856310 */ rbrew_write32(cpu->mem, _t165, cpu->r[4]);
|
|
/* 02856314 */ _t166 = cpu->r[1] + 0x00000008u;
|
|
/* 02856314 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t166);
|
|
/* 02856318 */ _t167 = cpu->r[12] + 0x00000018u;
|
|
/* 02856318 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t167);
|
|
/* 0285631C */ cpu->f[10] = cpu->f[9] - cpu->f[8];
|
|
/* 02856320 */ _t168 = cpu->r[12] + 0x00000024u;
|
|
/* 02856320 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t168);
|
|
/* 02856324 */ cpu->f[4] = cpu->f[30] + cpu->f[4];
|
|
/* 02856328 */ _t169 = cpu->r[9] + 0x00000038u;
|
|
/* 02856328 */ rbrew_write_f32(cpu->mem, _t169, cpu->f[2]);
|
|
/* 0285632C */ cpu->f[6] = (double)(float)cpu->f[10];
|
|
/* 02856330 */ _t170 = cpu->r[9] + 0x00000040u;
|
|
/* 02856330 */ rbrew_write_f32(cpu->mem, _t170, cpu->f[5]);
|
|
/* 02856334 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02856338 */ _t171 = cpu->r[9] + 0x0000003Cu;
|
|
/* 02856338 */ rbrew_write_f32(cpu->mem, _t171, cpu->f[4]);
|
|
/* 0285633C */ cpu->f[11] = -cpu->f[6];
|
|
/* 02856340 */ _t172 = cpu->r[1] + 0x00000028u;
|
|
/* 02856340 */ rbrew_write32(cpu->mem, _t172, cpu->r[3]);
|
|
/* 02856344 */ /* nop */
|
|
/* 02856348 */ cpu->r[5] = cpu->r[9] + 0x00000044u;
|
|
/* 0285634C */ cpu->f[7] = cpu->f[11] - cpu->f[0];
|
|
/* 02856350 */ /* nop */
|
|
/* 02856354 */ _t173 = cpu->r[9] + 0x0000004Cu;
|
|
/* 02856354 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[9]);
|
|
/* 02856358 */ _t174 = cpu->r[9] + 0x00000050u;
|
|
/* 02856358 */ rbrew_write_f32(cpu->mem, _t174, cpu->f[7]);
|
|
/* 0285635C */ _t175 = cpu->r[9] + 0x00000048u;
|
|
/* 0285635C */ rbrew_write_f32(cpu->mem, _t175, cpu->f[3]);
|
|
/* 02856360 */ _t176 = cpu->r[12] + 0x0000002Eu;
|
|
/* 02856360 */ cpu->r[0] = rbrew_read8(cpu->mem, _t176);
|
|
/* 02856364 */ _t177 = cpu->r[12] + 0x00000020u;
|
|
/* 02856364 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t177);
|
|
/* 02856368 */ _t178 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02856368 */ rbrew_write32(cpu->mem, _t178, cpu->r[0]);
|
|
/* 0285636C */ _t179 = cpu->r[1] + 0x00000008u;
|
|
/* 0285636C */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t179);
|
|
/* 02856370 */ _t180 = cpu->r[12] + 0x00000024u;
|
|
/* 02856370 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t180);
|
|
/* 02856374 */ cpu->f[8] = cpu->f[7] - cpu->f[8];
|
|
/* 02856378 */ _t181 = cpu->r[9] + 0x0000005Cu;
|
|
/* 02856378 */ rbrew_write_f32(cpu->mem, _t181, cpu->f[5]);
|
|
/* 0285637C */ _t182 = cpu->r[9] + 0x00000058u;
|
|
/* 0285637C */ rbrew_write_f32(cpu->mem, _t182, cpu->f[4]);
|
|
/* 02856380 */ cpu->f[6] = (double)(float)cpu->f[8];
|
|
/* 02856384 */ _t183 = cpu->r[9] + 0x00000054u;
|
|
/* 02856384 */ rbrew_write_f32(cpu->mem, _t183, cpu->f[31]);
|
|
/* 02856388 */ cpu->r[7] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285638C */ _t184 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285638C */ rbrew_write32(cpu->mem, _t184, cpu->r[3]);
|
|
/* 02856390 */ /* nop */
|
|
/* 02856394 */ cpu->f[9] = -cpu->f[6];
|
|
/* 02856398 */ cpu->r[11] = cpu->r[9] + 0x00000060u;
|
|
/* 0285639C */ /* nop */
|
|
/* 028563A0 */ cpu->f[7] = cpu->f[9] - cpu->f[0];
|
|
/* 028563A4 */ _t185 = cpu->r[9] + 0x00000068u;
|
|
/* 028563A4 */ rbrew_write_f32(cpu->mem, _t185, cpu->f[11]);
|
|
/* 028563A8 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 028563A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 028563AC */ _t186 = cpu->r[9] + 0x00000064u;
|
|
/* 028563AC */ rbrew_write_f32(cpu->mem, _t186, cpu->f[10]);
|
|
/* 028563B0 */ cpu->r[10] = cpu->r[10] + 0x00000030u;
|
|
/* 028563B4 */ _t187 = cpu->r[9] + 0x0000006Cu;
|
|
/* 028563B4 */ rbrew_write_f32(cpu->mem, _t187, cpu->f[7]);
|
|
/* 028563B8 */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028563B8 */ _t189 = _t188 & 0x00000001u;
|
|
/* 028563B8 */ if (_t189) goto L_028563BC; else goto L_02856120;
|
|
L_028563BC: ; // 0x28563bc
|
|
/* 028563BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028563C0 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028563C0 */ _t191 = _t190 & 0x00000001u;
|
|
/* 028563C0 */ if (_t191) goto L_028563C4; else goto L_02856A08;
|
|
L_028563C4: ; // 0x28563c4
|
|
/* 028563C4 */ goto L_02856804;
|
|
L_028563C8: ; // 0x28563c8
|
|
/* 028563C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028563CC */ cpu->r[11] = cpu->r[31];
|
|
/* 028563D0 */ _t192 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028563D0 */ _t193 = _t192 & 0x00000001u;
|
|
/* 028563D0 */ if (_t193) goto L_02856A08; else goto L_028563D4;
|
|
L_028563D4: ; // 0x28563d4
|
|
/* 028563D4 */ cpu->f[1] = cpu->f[12];
|
|
/* 028563D8 */ cpu->r[5] = cpu->r[29];
|
|
/* 028563DC */ cpu->f[3] = cpu->f[13];
|
|
/* 028563E0 */ cpu->r[7] = 0x00000000u;
|
|
L_028563E4: ; // 0x28563e4
|
|
/* 028563E4 */ _t194 = cpu->r[26] + 0x00000008u;
|
|
/* 028563E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t194);
|
|
/* 028563E8 */ _t195 = cpu->r[27] + 0x0000000Cu;
|
|
/* 028563E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t195);
|
|
/* 028563EC */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028563F0 */ cpu->r[12] = cpu->r[10] + cpu->r[7];
|
|
/* 028563F4 */ _t196 = cpu->r[12] + 0x00000028u;
|
|
/* 028563F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t196);
|
|
/* 028563F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028563FC */ _t197 = cpu->r[8] + cpu->r[26];
|
|
/* 028563FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t197);
|
|
/* 02856400 */ cpu->r[4] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 02856404 */ _t198 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856404 */ _t199 = _t198 & 0x00000001u;
|
|
/* 02856404 */ if (_t199) goto L_02856448; else goto L_02856408;
|
|
L_02856408: ; // 0x2856408
|
|
/* 02856408 */ cpu->ctr = cpu->r[30];
|
|
/* 0285640C */ cpu->r[10] = cpu->r[25];
|
|
L_02856410: ; // 0x2856410
|
|
/* 02856410 */ _t200 = cpu->r[10] + 0x00000000u;
|
|
/* 02856410 */ cpu->r[8] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02856414 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 02856418 */ _t201 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856418 */ _t202 = _t201 & 0x00000001u;
|
|
/* 02856418 */ if (_t202) goto L_0285641C; else goto L_02856440;
|
|
L_0285641C: ; // 0x285641c
|
|
/* 0285641C */ _t203 = cpu->r[10] + 0x00000008u;
|
|
/* 0285641C */ cpu->r[8] = rbrew_read32(cpu->mem, _t203);
|
|
/* 02856420 */ _t204 = cpu->r[10] + 0x00000004u;
|
|
/* 02856420 */ cpu->r[4] = rbrew_read32(cpu->mem, _t204);
|
|
/* 02856424 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02856428 */ cpu->r[0] = cpu->r[4] + cpu->r[6];
|
|
/* 0285642C */ cpu->r[4] = cpu->r[8] + 0x00000001u;
|
|
/* 02856430 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu);
|
|
/* 02856434 */ _t205 = cpu->r[10] + 0x00000008u;
|
|
/* 02856434 */ rbrew_write32(cpu->mem, _t205, cpu->r[4]);
|
|
/* 02856438 */ cpu->r[9] = cpu->r[9] + cpu->r[0];
|
|
/* 0285643C */ goto L_02856448;
|
|
L_02856440: ; // 0x2856440
|
|
/* 02856440 */ cpu->r[10] = cpu->r[10] + 0x00000010u;
|
|
/* 02856444 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02856444 */ _t206 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02856444 */ _t207 = _t206 >> (0x00000002u & 31u);
|
|
/* 02856444 */ _t208 = _t207 & 0x00000001u;
|
|
/* 02856444 */ if (_t208) goto L_02856410; else goto L_02856448;
|
|
L_02856448: ; // 0x2856448
|
|
/* 02856448 */ _t209 = cpu->r[23] + 0x00000014u;
|
|
/* 02856448 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t209);
|
|
/* 0285644C */ _t210 = cpu->r[12] + 0x00000004u;
|
|
/* 0285644C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t210);
|
|
/* 02856450 */ /* nop */
|
|
/* 02856454 */ _t211 = cpu->r[12] + 0x00000000u;
|
|
/* 02856454 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t211);
|
|
/* 02856458 */ cpu->f[4] = cpu->f[6] * cpu->f[11];
|
|
/* 0285645C */ _t212 = cpu->r[23] + 0x0000000Cu;
|
|
/* 0285645C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t212);
|
|
/* 02856460 */ _t213 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02856460 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t213);
|
|
/* 02856464 */ _t214 = cpu->r[23] + 0x00000010u;
|
|
/* 02856464 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t214);
|
|
/* 02856468 */ cpu->f[10] = cpu->f[6] - cpu->f[4];
|
|
/* 0285646C */ _t215 = cpu->r[12] + 0x00000008u;
|
|
/* 0285646C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t215);
|
|
/* 02856470 */ cpu->r[6] = cpu->r[1] + 0x00000030u;
|
|
/* 02856474 */ _t216 = cpu->r[23] + 0x00000008u;
|
|
/* 02856474 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t216);
|
|
/* 02856478 */ /* nop */
|
|
/* 0285647C */ _t217 = cpu->r[12] + 0x0000002Fu;
|
|
/* 0285647C */ cpu->r[3] = rbrew_read8(cpu->mem, _t217);
|
|
/* 02856480 */ _t218 = cpu->r[23] + 0x00000003u;
|
|
/* 02856480 */ cpu->r[0] = rbrew_read8(cpu->mem, _t218);
|
|
/* 02856484 */ cpu->f[20] = cpu->f[8] * cpu->f[31];
|
|
/* 02856488 */ cpu->r[21] = 0x80810000u;
|
|
/* 0285648C */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[3]);
|
|
/* 02856490 */ cpu->r[21] = cpu->r[21] + 0xFFFF8081u;
|
|
/* 02856494 */ cpu->f[9] = cpu->f[11] - cpu->f[9];
|
|
/* 02856498 */ cpu->r[6] = cpu->r[23] + 0x00000004u;
|
|
/* 0285649C */ cpu->r[8] = cpu->r[1] + 0x00000034u;
|
|
/* 028564A0 */ _t219 = cpu->r[1] + 0x00000030u;
|
|
/* 028564A0 */ cpu->r[22] = rbrew_read32(cpu->mem, _t219);
|
|
/* 028564A4 */ cpu->r[10] = (uint32_t)(((int64_t)(int32_t)cpu->r[21] * (int64_t)(int32_t)cpu->r[4]) >> 32);
|
|
/* 028564A8 */ /* nop */
|
|
/* 028564AC */ cpu->f[30] = cpu->f[9] + cpu->f[10];
|
|
/* 028564B0 */ cpu->r[6] = 0x43300000u;
|
|
/* 028564B4 */ /* nop */
|
|
/* 028564B8 */ _t220 = cpu->r[12] + 0x0000002Cu;
|
|
/* 028564B8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t220);
|
|
/* 028564BC */ cpu->f[2] = cpu->f[6] + cpu->f[7];
|
|
/* 028564C0 */ cpu->r[10] = cpu->r[4] + cpu->r[10];
|
|
/* 028564C4 */ /* nop */
|
|
/* 028564C8 */ _t221 = cpu->r[1] + 0x00000008u;
|
|
/* 028564C8 */ rbrew_write32(cpu->mem, _t221, cpu->r[6]);
|
|
/* 028564CC */ /* nop */
|
|
/* 028564D0 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 028564D4 */ cpu->r[10] = cpu->r[10] - cpu->r[4];
|
|
/* 028564D8 */ _t222 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028564D8 */ rbrew_write32(cpu->mem, _t222, cpu->r[0]);
|
|
/* 028564DC */ cpu->r[4] = 0x10130000u;
|
|
/* 028564E0 */ _t223 = cpu->r[1] + 0x00000008u;
|
|
/* 028564E0 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t223);
|
|
/* 028564E4 */ _t224 = cpu->r[4] + 0x00001A28u;
|
|
/* 028564E4 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t224);
|
|
/* 028564E8 */ cpu->f[6] = cpu->f[2] + cpu->f[2];
|
|
/* 028564EC */ _t225 = cpu->r[23] + 0x00000007u;
|
|
/* 028564EC */ cpu->r[4] = rbrew_read8(cpu->mem, _t225);
|
|
/* 028564F0 */ cpu->f[10] = cpu->f[9] - cpu->f[11];
|
|
/* 028564F4 */ _t226 = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 028564F4 */ _t227 = cpu->r[22] & 0xFFFFFF00u;
|
|
/* 028564F4 */ cpu->r[22] = _t227 | _t226;
|
|
/* 028564F8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)cpu->r[3]);
|
|
/* 028564FC */ cpu->f[8] = cpu->f[6] + cpu->f[20];
|
|
/* 02856500 */ cpu->f[11] = (double)(float)cpu->f[10];
|
|
/* 02856504 */ _t228 = cpu->r[23] + 0x00000018u;
|
|
/* 02856504 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t228);
|
|
/* 02856508 */ cpu->r[8] = (uint32_t)(((int64_t)(int32_t)cpu->r[21] * (int64_t)(int32_t)cpu->r[10]) >> 32);
|
|
/* 0285650C */ cpu->f[21] = fma(cpu->f[10], cpu->f[31], cpu->f[11]);
|
|
/* 02856510 */ cpu->f[11] = cpu->f[8] + cpu->f[21];
|
|
/* 02856514 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000001u);
|
|
/* 02856518 */ cpu->r[8] = cpu->r[10] + cpu->r[8];
|
|
/* 0285651C */ /* nop */
|
|
/* 02856520 */ /* nop */
|
|
/* 02856524 */ _t229 = cpu->r[1] + 0x00000034u;
|
|
/* 02856524 */ cpu->r[3] = rbrew_read32(cpu->mem, _t229);
|
|
/* 02856528 */ cpu->r[8] = cpu->r[8] - cpu->r[6];
|
|
/* 0285652C */ cpu->f[27] = cpu->f[11] * cpu->f[1];
|
|
/* 02856530 */ _t230 = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02856530 */ _t231 = cpu->r[3] & 0xFFFFFF00u;
|
|
/* 02856530 */ cpu->r[3] = _t231 | _t230;
|
|
/* 02856534 */ _t232 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02856534 */ _t233 = _t232 & 0x00000001u;
|
|
/* 02856534 */ if (_t233) goto L_02856548; else goto L_02856538;
|
|
L_02856538: ; // 0x2856538
|
|
/* 02856538 */ _t234 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856538 */ _t235 = _t234 & 0x00000001u;
|
|
/* 02856538 */ if (_t235) goto L_0285655C; else goto L_0285653C;
|
|
L_0285653C: ; // 0x285653c
|
|
/* 0285653C */ cpu->f[28] = cpu->f[3];
|
|
/* 02856540 */ cpu->f[4] = cpu->f[30] + cpu->f[4];
|
|
/* 02856544 */ goto L_02856564;
|
|
L_02856548: ; // 0x2856548
|
|
/* 02856548 */ cpu->f[6] = cpu->f[30] + cpu->f[30];
|
|
/* 0285654C */ cpu->f[7] = cpu->f[6] + cpu->f[4];
|
|
/* 02856550 */ cpu->f[4] = cpu->f[30] + cpu->f[4];
|
|
/* 02856554 */ cpu->f[28] = cpu->f[7] * cpu->f[1];
|
|
/* 02856558 */ goto L_02856564;
|
|
L_0285655C: ; // 0x285655c
|
|
/* 0285655C */ cpu->f[4] = cpu->f[30] + cpu->f[4];
|
|
/* 02856560 */ cpu->f[28] = cpu->f[4];
|
|
L_02856564: ; // 0x2856564
|
|
/* 02856564 */ _t236 = cpu->r[5] + 0x00000004u;
|
|
/* 02856564 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t236);
|
|
/* 02856568 */ cpu->f[5] = cpu->f[30] - cpu->f[28];
|
|
/* 0285656C */ _t237 = cpu->r[5] + 0x00000014u;
|
|
/* 0285656C */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t237);
|
|
/* 02856570 */ cpu->f[6] = cpu->f[2] + cpu->f[21];
|
|
/* 02856574 */ _t238 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02856574 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t238);
|
|
/* 02856578 */ cpu->f[8] = cpu->f[31] * cpu->f[17];
|
|
/* 0285657C */ _t239 = cpu->r[5] + 0x00000010u;
|
|
/* 0285657C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t239);
|
|
/* 02856580 */ _t240 = cpu->r[5] + 0x00000000u;
|
|
/* 02856580 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t240);
|
|
/* 02856584 */ cpu->f[30] = cpu->f[7] * cpu->f[11];
|
|
/* 02856588 */ cpu->f[29] = -cpu->f[8];
|
|
/* 0285658C */ cpu->f[23] = cpu->f[22] * cpu->f[11];
|
|
/* 02856590 */ _t241 = cpu->r[5] + 0x00000008u;
|
|
/* 02856590 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t241);
|
|
/* 02856594 */ cpu->f[19] = cpu->f[29] * cpu->f[5];
|
|
/* 02856598 */ cpu->f[8] = cpu->f[23] * cpu->f[24];
|
|
/* 0285659C */ cpu->f[9] = cpu->f[22] * cpu->f[17];
|
|
/* 028565A0 */ cpu->f[26] = fma(cpu->f[7], cpu->f[17], -(cpu->f[8]));
|
|
/* 028565A4 */ cpu->f[10] = cpu->f[7] * cpu->f[24];
|
|
/* 028565A8 */ cpu->f[7] = cpu->f[6] - cpu->f[27];
|
|
/* 028565AC */ cpu->f[25] = cpu->f[31] * cpu->f[24];
|
|
/* 028565B0 */ cpu->f[11] = cpu->f[30] * cpu->f[17];
|
|
/* 028565B4 */ cpu->f[8] = fma(cpu->f[25], cpu->f[7], cpu->f[19]);
|
|
/* 028565B8 */ cpu->f[22] = fma(cpu->f[22], cpu->f[24], -(cpu->f[11]));
|
|
/* 028565BC */ cpu->f[24] = fma(cpu->f[30], cpu->f[24], cpu->f[9]);
|
|
/* 028565C0 */ cpu->f[30] = cpu->f[22] * cpu->f[5];
|
|
/* 028565C4 */ cpu->r[0] = 0x43300000u;
|
|
/* 028565C8 */ _t242 = cpu->r[12] + 0x0000002Eu;
|
|
/* 028565C8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t242);
|
|
/* 028565CC */ cpu->f[23] = fma(cpu->f[23], cpu->f[17], cpu->f[10]);
|
|
/* 028565D0 */ _t243 = cpu->r[1] + 0x00000008u;
|
|
/* 028565D0 */ rbrew_write32(cpu->mem, _t243, cpu->r[0]);
|
|
/* 028565D4 */ cpu->f[9] = fma(cpu->f[24], cpu->f[7], cpu->f[30]);
|
|
/* 028565D8 */ _t244 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028565D8 */ rbrew_write32(cpu->mem, _t244, cpu->r[8]);
|
|
/* 028565DC */ cpu->r[10] = 0x10130000u;
|
|
/* 028565E0 */ cpu->f[18] = cpu->f[8] + cpu->f[27];
|
|
/* 028565E4 */ _t245 = cpu->r[10] + 0x00001A30u;
|
|
/* 028565E4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t245);
|
|
/* 028565E8 */ cpu->f[31] = cpu->f[9] + cpu->f[28];
|
|
/* 028565EC */ _t246 = cpu->r[1] + 0x00000008u;
|
|
/* 028565EC */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t246);
|
|
/* 028565F0 */ cpu->f[5] = cpu->f[23] * cpu->f[5];
|
|
/* 028565F4 */ _t247 = cpu->r[5] + 0x00000018u;
|
|
/* 028565F4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t247);
|
|
/* 028565F8 */ cpu->f[6] = cpu->f[9] - cpu->f[10];
|
|
/* 028565FC */ _t248 = cpu->r[5] + 0x0000001Cu;
|
|
/* 028565FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t248);
|
|
/* 02856600 */ cpu->f[7] = fma(cpu->f[26], cpu->f[7], cpu->f[5]);
|
|
/* 02856604 */ cpu->f[18] = cpu->f[18] + cpu->f[8];
|
|
/* 02856608 */ cpu->f[9] = cpu->f[31] + cpu->f[11];
|
|
/* 0285660C */ _t249 = cpu->r[5] + 0x00000020u;
|
|
/* 0285660C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t249);
|
|
/* 02856610 */ cpu->f[11] = (double)(float)cpu->f[6];
|
|
/* 02856614 */ _t250 = cpu->r[12] + 0x00000018u;
|
|
/* 02856614 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t250);
|
|
/* 02856618 */ cpu->f[8] = cpu->f[7] + cpu->f[8];
|
|
/* 0285661C */ _t251 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0285661C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t251);
|
|
/* 02856620 */ _t252 = cpu->r[9] + 0x00000004u;
|
|
/* 02856620 */ rbrew_write_f32(cpu->mem, _t252, cpu->f[9]);
|
|
/* 02856624 */ cpu->f[9] = -cpu->f[11];
|
|
/* 02856628 */ _t253 = cpu->r[9] + 0x00000000u;
|
|
/* 02856628 */ rbrew_write_f32(cpu->mem, _t253, cpu->f[18]);
|
|
/* 0285662C */ cpu->f[31] = cpu->f[2] + cpu->f[20];
|
|
/* 02856630 */ cpu->r[10] = cpu->r[1] + 0x00000038u;
|
|
/* 02856634 */ _t254 = cpu->r[9] + 0x00000008u;
|
|
/* 02856634 */ rbrew_write_f32(cpu->mem, _t254, cpu->f[8]);
|
|
/* 02856638 */ cpu->f[8] = cpu->f[9] - cpu->f[0];
|
|
/* 0285663C */ _t255 = cpu->r[1] + 0x00000038u;
|
|
/* 0285663C */ rbrew_write32(cpu->mem, _t255, cpu->r[22]);
|
|
/* 02856640 */ cpu->f[9] = cpu->f[31] + cpu->f[21];
|
|
/* 02856644 */ /* nop */
|
|
/* 02856648 */ cpu->r[4] = cpu->r[9] + 0x0000000Cu;
|
|
/* 0285664C */ /* nop */
|
|
/* 02856650 */ cpu->f[9] = cpu->f[9] - cpu->f[27];
|
|
/* 02856654 */ _t256 = cpu->r[9] + 0x00000010u;
|
|
/* 02856654 */ rbrew_write_f32(cpu->mem, _t256, cpu->f[6]);
|
|
/* 02856658 */ _t257 = cpu->r[9] + 0x00000014u;
|
|
/* 02856658 */ rbrew_write_f32(cpu->mem, _t257, cpu->f[7]);
|
|
/* 0285665C */ cpu->f[11] = fma(cpu->f[25], cpu->f[9], cpu->f[19]);
|
|
/* 02856660 */ _t258 = cpu->r[9] + 0x00000018u;
|
|
/* 02856660 */ rbrew_write_f32(cpu->mem, _t258, cpu->f[8]);
|
|
/* 02856664 */ _t259 = cpu->r[12] + 0x0000002Eu;
|
|
/* 02856664 */ cpu->r[4] = rbrew_read8(cpu->mem, _t259);
|
|
/* 02856668 */ cpu->f[7] = fma(cpu->f[24], cpu->f[9], cpu->f[30]);
|
|
/* 0285666C */ _t260 = cpu->r[5] + 0x0000001Cu;
|
|
/* 0285666C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t260);
|
|
/* 02856670 */ cpu->f[30] = cpu->f[11] + cpu->f[27];
|
|
/* 02856674 */ _t261 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02856674 */ rbrew_write32(cpu->mem, _t261, cpu->r[4]);
|
|
/* 02856678 */ cpu->f[6] = fma(cpu->f[26], cpu->f[9], cpu->f[5]);
|
|
/* 0285667C */ _t262 = cpu->r[1] + 0x00000008u;
|
|
/* 0285667C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t262);
|
|
/* 02856680 */ cpu->f[5] = cpu->f[7] + cpu->f[28];
|
|
/* 02856684 */ cpu->f[11] = cpu->f[9] - cpu->f[10];
|
|
/* 02856688 */ _t263 = cpu->r[5] + 0x00000018u;
|
|
/* 02856688 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t263);
|
|
/* 0285668C */ cpu->f[9] = cpu->f[5] + cpu->f[8];
|
|
/* 02856690 */ _t264 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02856690 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t264);
|
|
/* 02856694 */ cpu->f[8] = (double)(float)cpu->f[11];
|
|
/* 02856698 */ _t265 = cpu->r[12] + 0x00000020u;
|
|
/* 02856698 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t265);
|
|
/* 0285669C */ cpu->f[30] = cpu->f[30] + cpu->f[7];
|
|
/* 028566A0 */ _t266 = cpu->r[5] + 0x00000020u;
|
|
/* 028566A0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t266);
|
|
/* 028566A4 */ cpu->f[8] = -cpu->f[8];
|
|
/* 028566A8 */ _t267 = cpu->r[9] + 0x00000020u;
|
|
/* 028566A8 */ rbrew_write_f32(cpu->mem, _t267, cpu->f[9]);
|
|
/* 028566AC */ cpu->f[6] = cpu->f[6] + cpu->f[7];
|
|
/* 028566B0 */ _t268 = cpu->r[9] + 0x0000001Cu;
|
|
/* 028566B0 */ rbrew_write_f32(cpu->mem, _t268, cpu->f[30]);
|
|
/* 028566B4 */ cpu->f[9] = cpu->f[8] - cpu->f[0];
|
|
/* 028566B8 */ cpu->r[8] = cpu->r[1] + 0x0000003Cu;
|
|
/* 028566BC */ _t269 = cpu->r[9] + 0x00000024u;
|
|
/* 028566BC */ rbrew_write_f32(cpu->mem, _t269, cpu->f[6]);
|
|
/* 028566C0 */ cpu->f[8] = cpu->f[4] - cpu->f[28];
|
|
/* 028566C4 */ _t270 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028566C4 */ rbrew_write32(cpu->mem, _t270, cpu->r[22]);
|
|
/* 028566C8 */ /* nop */
|
|
/* 028566CC */ cpu->r[10] = cpu->r[9] + 0x00000028u;
|
|
/* 028566D0 */ cpu->f[4] = cpu->f[22] * cpu->f[8];
|
|
/* 028566D4 */ /* nop */
|
|
/* 028566D8 */ _t271 = cpu->r[9] + 0x00000034u;
|
|
/* 028566D8 */ rbrew_write_f32(cpu->mem, _t271, cpu->f[9]);
|
|
/* 028566DC */ cpu->f[11] = cpu->f[2] - cpu->f[27];
|
|
/* 028566E0 */ _t272 = cpu->r[9] + 0x0000002Cu;
|
|
/* 028566E0 */ rbrew_write_f32(cpu->mem, _t272, cpu->f[5]);
|
|
/* 028566E4 */ cpu->f[5] = cpu->f[23] * cpu->f[8];
|
|
/* 028566E8 */ _t273 = cpu->r[9] + 0x00000030u;
|
|
/* 028566E8 */ rbrew_write_f32(cpu->mem, _t273, cpu->f[21]);
|
|
/* 028566EC */ _t274 = cpu->r[12] + 0x0000002Eu;
|
|
/* 028566EC */ cpu->r[6] = rbrew_read8(cpu->mem, _t274);
|
|
/* 028566F0 */ cpu->f[29] = cpu->f[29] * cpu->f[8];
|
|
/* 028566F4 */ cpu->f[7] = fma(cpu->f[26], cpu->f[11], cpu->f[5]);
|
|
/* 028566F8 */ cpu->f[2] = fma(cpu->f[25], cpu->f[11], cpu->f[29]);
|
|
/* 028566FC */ _t275 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028566FC */ rbrew_write32(cpu->mem, _t275, cpu->r[6]);
|
|
/* 02856700 */ cpu->f[6] = fma(cpu->f[24], cpu->f[11], cpu->f[4]);
|
|
/* 02856704 */ _t276 = cpu->r[1] + 0x00000008u;
|
|
/* 02856704 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t276);
|
|
/* 02856708 */ cpu->f[30] = cpu->f[2] + cpu->f[27];
|
|
/* 0285670C */ _t277 = cpu->r[5] + 0x00000018u;
|
|
/* 0285670C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t277);
|
|
/* 02856710 */ cpu->f[11] = cpu->f[9] - cpu->f[10];
|
|
/* 02856714 */ _t278 = cpu->r[5] + 0x00000020u;
|
|
/* 02856714 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t278);
|
|
/* 02856718 */ cpu->f[23] = cpu->f[30] + cpu->f[2];
|
|
/* 0285671C */ cpu->f[9] = (double)(float)cpu->f[11];
|
|
/* 02856720 */ _t279 = cpu->r[12] + 0x00000018u;
|
|
/* 02856720 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t279);
|
|
/* 02856724 */ cpu->f[11] = cpu->f[6] + cpu->f[28];
|
|
/* 02856728 */ _t280 = cpu->r[5] + 0x0000001Cu;
|
|
/* 02856728 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t280);
|
|
/* 0285672C */ cpu->f[7] = cpu->f[7] + cpu->f[8];
|
|
/* 02856730 */ _t281 = cpu->r[12] + 0x00000024u;
|
|
/* 02856730 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t281);
|
|
/* 02856734 */ cpu->f[8] = cpu->f[11] + cpu->f[6];
|
|
/* 02856738 */ _t282 = cpu->r[9] + 0x00000038u;
|
|
/* 02856738 */ rbrew_write_f32(cpu->mem, _t282, cpu->f[23]);
|
|
/* 0285673C */ _t283 = cpu->r[9] + 0x00000040u;
|
|
/* 0285673C */ rbrew_write_f32(cpu->mem, _t283, cpu->f[7]);
|
|
/* 02856740 */ cpu->f[9] = -cpu->f[9];
|
|
/* 02856744 */ _t284 = cpu->r[9] + 0x0000003Cu;
|
|
/* 02856744 */ rbrew_write_f32(cpu->mem, _t284, cpu->f[8]);
|
|
/* 02856748 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 0285674C */ _t285 = cpu->r[1] + 0x00000040u;
|
|
/* 0285674C */ rbrew_write32(cpu->mem, _t285, cpu->r[3]);
|
|
/* 02856750 */ /* nop */
|
|
/* 02856754 */ cpu->f[11] = cpu->f[9] - cpu->f[0];
|
|
/* 02856758 */ cpu->r[8] = cpu->r[9] + 0x00000044u;
|
|
/* 0285675C */ /* nop */
|
|
/* 02856760 */ _t286 = cpu->r[9] + 0x00000048u;
|
|
/* 02856760 */ rbrew_write_f32(cpu->mem, _t286, cpu->f[30]);
|
|
/* 02856764 */ cpu->f[7] = cpu->f[31] - cpu->f[27];
|
|
/* 02856768 */ _t287 = cpu->r[9] + 0x00000050u;
|
|
/* 02856768 */ rbrew_write_f32(cpu->mem, _t287, cpu->f[11]);
|
|
/* 0285676C */ _t288 = cpu->r[9] + 0x0000004Cu;
|
|
/* 0285676C */ rbrew_write_f32(cpu->mem, _t288, cpu->f[2]);
|
|
/* 02856770 */ cpu->f[6] = fma(cpu->f[25], cpu->f[7], cpu->f[29]);
|
|
/* 02856774 */ _t289 = cpu->r[12] + 0x0000002Eu;
|
|
/* 02856774 */ cpu->r[6] = rbrew_read8(cpu->mem, _t289);
|
|
/* 02856778 */ cpu->f[9] = fma(cpu->f[24], cpu->f[7], cpu->f[4]);
|
|
/* 0285677C */ _t290 = cpu->r[5] + 0x00000020u;
|
|
/* 0285677C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t290);
|
|
/* 02856780 */ cpu->f[7] = fma(cpu->f[26], cpu->f[7], cpu->f[5]);
|
|
/* 02856784 */ _t291 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02856784 */ rbrew_write32(cpu->mem, _t291, cpu->r[6]);
|
|
/* 02856788 */ cpu->f[11] = cpu->f[9] + cpu->f[28];
|
|
/* 0285678C */ _t292 = cpu->r[1] + 0x00000008u;
|
|
/* 0285678C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t292);
|
|
/* 02856790 */ cpu->f[8] = cpu->f[7] + cpu->f[8];
|
|
/* 02856794 */ cpu->f[10] = cpu->f[9] - cpu->f[10];
|
|
/* 02856798 */ _t293 = cpu->r[12] + 0x00000024u;
|
|
/* 02856798 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t293);
|
|
/* 0285679C */ cpu->f[5] = cpu->f[6] + cpu->f[27];
|
|
/* 028567A0 */ _t294 = cpu->r[5] + 0x0000001Cu;
|
|
/* 028567A0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t294);
|
|
/* 028567A4 */ cpu->f[9] = (double)(float)cpu->f[10];
|
|
/* 028567A8 */ _t295 = cpu->r[5] + 0x00000018u;
|
|
/* 028567A8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t295);
|
|
/* 028567AC */ cpu->f[4] = cpu->f[11] + cpu->f[6];
|
|
/* 028567B0 */ _t296 = cpu->r[12] + 0x00000020u;
|
|
/* 028567B0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t296);
|
|
/* 028567B4 */ cpu->f[10] = cpu->f[5] + cpu->f[10];
|
|
/* 028567B8 */ _t297 = cpu->r[9] + 0x0000005Cu;
|
|
/* 028567B8 */ rbrew_write_f32(cpu->mem, _t297, cpu->f[8]);
|
|
/* 028567BC */ _t298 = cpu->r[9] + 0x00000058u;
|
|
/* 028567BC */ rbrew_write_f32(cpu->mem, _t298, cpu->f[4]);
|
|
/* 028567C0 */ cpu->f[11] = -cpu->f[9];
|
|
/* 028567C4 */ _t299 = cpu->r[9] + 0x00000054u;
|
|
/* 028567C4 */ rbrew_write_f32(cpu->mem, _t299, cpu->f[10]);
|
|
/* 028567C8 */ cpu->r[8] = cpu->r[1] + 0x00000044u;
|
|
/* 028567CC */ _t300 = cpu->r[1] + 0x00000044u;
|
|
/* 028567CC */ rbrew_write32(cpu->mem, _t300, cpu->r[3]);
|
|
/* 028567D0 */ /* nop */
|
|
/* 028567D4 */ cpu->f[8] = cpu->f[11] - cpu->f[0];
|
|
/* 028567D8 */ cpu->r[10] = cpu->r[9] + 0x00000060u;
|
|
/* 028567DC */ /* nop */
|
|
/* 028567E0 */ cpu->r[7] = cpu->r[7] + 0x00000030u;
|
|
/* 028567E4 */ _t301 = cpu->r[9] + 0x00000064u;
|
|
/* 028567E4 */ rbrew_write_f32(cpu->mem, _t301, cpu->f[6]);
|
|
/* 028567E8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 028567E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 028567EC */ _t302 = cpu->r[9] + 0x0000006Cu;
|
|
/* 028567EC */ rbrew_write_f32(cpu->mem, _t302, cpu->f[8]);
|
|
/* 028567F0 */ cpu->r[5] = cpu->r[5] + 0x0000002Cu;
|
|
/* 028567F4 */ _t303 = cpu->r[9] + 0x00000068u;
|
|
/* 028567F4 */ rbrew_write_f32(cpu->mem, _t303, cpu->f[7]);
|
|
/* 028567F8 */ _t304 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028567F8 */ _t305 = _t304 & 0x00000001u;
|
|
/* 028567F8 */ if (_t305) goto L_028567FC; else goto L_028563E4;
|
|
L_028567FC: ; // 0x28567fc
|
|
/* 028567FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02856800 */ _t306 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856800 */ _t307 = _t306 & 0x00000001u;
|
|
/* 02856800 */ if (_t307) goto L_02856804; else goto L_02856A08;
|
|
L_02856804: ; // 0x2856804
|
|
/* 02856804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02856808 */ _t308 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856808 */ _t309 = _t308 & 0x00000001u;
|
|
/* 02856808 */ if (_t309) goto L_02856F08; else goto L_0285680C;
|
|
L_0285680C: ; // 0x285680c
|
|
/* 0285680C */ cpu->r[6] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02856810 */ cpu->r[9] = 0x00000000u;
|
|
L_02856814: ; // 0x2856814
|
|
/* 02856814 */ _t310 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02856814 */ cpu->r[7] = rbrew_read32(cpu->mem, _t310);
|
|
/* 02856818 */ _t311 = cpu->r[26] + 0x00000008u;
|
|
/* 02856818 */ cpu->r[8] = rbrew_read32(cpu->mem, _t311);
|
|
/* 0285681C */ cpu->r[7] = cpu->r[7] + cpu->r[9];
|
|
/* 02856820 */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02856824 */ _t312 = cpu->r[7] + 0x00000028u;
|
|
/* 02856824 */ cpu->r[11] = rbrew_read32(cpu->mem, _t312);
|
|
/* 02856828 */ cpu->r[0] = cpu->r[6] + 0x00000001u;
|
|
/* 0285682C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02856830 */ _t313 = cpu->r[5] + cpu->r[26];
|
|
/* 02856830 */ cpu->r[10] = rbrew_read32(cpu->mem, _t313);
|
|
/* 02856834 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 02856838 */ _t314 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02856838 */ _t315 = _t314 & 0x00000001u;
|
|
/* 02856838 */ if (_t315) goto L_02856880; else goto L_0285683C;
|
|
L_0285683C: ; // 0x285683c
|
|
/* 0285683C */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02856840 */ cpu->ctr = cpu->r[0];
|
|
/* 02856844 */ cpu->r[4] = cpu->r[25] + cpu->r[11];
|
|
L_02856848: ; // 0x2856848
|
|
/* 02856848 */ _t316 = cpu->r[4] + 0x00000000u;
|
|
/* 02856848 */ cpu->r[5] = rbrew_read32(cpu->mem, _t316);
|
|
/* 0285684C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 02856850 */ _t317 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856850 */ _t318 = _t317 & 0x00000001u;
|
|
/* 02856850 */ if (_t318) goto L_02856854; else goto L_02856878;
|
|
L_02856854: ; // 0x2856854
|
|
/* 02856854 */ _t319 = cpu->r[4] + 0x00000008u;
|
|
/* 02856854 */ cpu->r[12] = rbrew_read32(cpu->mem, _t319);
|
|
/* 02856858 */ _t320 = cpu->r[4] + 0x00000004u;
|
|
/* 02856858 */ cpu->r[5] = rbrew_read32(cpu->mem, _t320);
|
|
/* 0285685C */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02856860 */ cpu->r[11] = cpu->r[5] + cpu->r[8];
|
|
/* 02856864 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 02856868 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Cu);
|
|
/* 0285686C */ _t321 = cpu->r[4] + 0x00000008u;
|
|
/* 0285686C */ rbrew_write32(cpu->mem, _t321, cpu->r[0]);
|
|
/* 02856870 */ cpu->r[10] = cpu->r[10] + cpu->r[8];
|
|
/* 02856874 */ goto L_02856880;
|
|
L_02856878: ; // 0x2856878
|
|
/* 02856878 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFF0u;
|
|
/* 0285687C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285687C */ _t322 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285687C */ _t323 = _t322 >> (0x00000002u & 31u);
|
|
/* 0285687C */ _t324 = _t323 & 0x00000001u;
|
|
/* 0285687C */ if (_t324) goto L_02856848; else goto L_02856880;
|
|
L_02856880: ; // 0x2856880
|
|
/* 02856880 */ _t325 = cpu->r[7] + 0x0000002Cu;
|
|
/* 02856880 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t325);
|
|
/* 02856884 */ cpu->r[5] = 0x43300000u;
|
|
/* 02856888 */ _t326 = cpu->r[7] + 0x0000002Eu;
|
|
/* 02856888 */ cpu->r[0] = rbrew_read8(cpu->mem, _t326);
|
|
/* 0285688C */ cpu->r[8] = cpu->r[4] ^ 0x80000000u;
|
|
/* 02856890 */ _t327 = cpu->r[1] + 0x00000008u;
|
|
/* 02856890 */ rbrew_write32(cpu->mem, _t327, cpu->r[5]);
|
|
/* 02856894 */ _t328 = cpu->r[7] + 0x00000004u;
|
|
/* 02856894 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t328);
|
|
/* 02856898 */ _t329 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02856898 */ rbrew_write32(cpu->mem, _t329, cpu->r[8]);
|
|
/* 0285689C */ cpu->r[5] = 0x10130000u;
|
|
/* 028568A0 */ _t330 = cpu->r[1] + 0x00000008u;
|
|
/* 028568A0 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t330);
|
|
/* 028568A4 */ _t331 = cpu->r[5] + 0x00001A28u;
|
|
/* 028568A4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t331);
|
|
/* 028568A8 */ _t332 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028568A8 */ rbrew_write32(cpu->mem, _t332, cpu->r[0]);
|
|
/* 028568AC */ _t333 = cpu->r[1] + 0x00000008u;
|
|
/* 028568AC */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t333);
|
|
/* 028568B0 */ cpu->f[0] = cpu->f[9] - cpu->f[10];
|
|
/* 028568B4 */ _t334 = cpu->r[7] + 0x0000001Cu;
|
|
/* 028568B4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t334);
|
|
/* 028568B8 */ _t335 = cpu->r[7] + 0x00000018u;
|
|
/* 028568B8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t335);
|
|
/* 028568BC */ cpu->f[25] = (double)(float)cpu->f[0];
|
|
/* 028568C0 */ _t336 = cpu->r[7] + 0x00000008u;
|
|
/* 028568C0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t336);
|
|
/* 028568C4 */ cpu->r[5] = 0x10130000u;
|
|
/* 028568C8 */ _t337 = cpu->r[7] + 0x0000000Cu;
|
|
/* 028568C8 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t337);
|
|
/* 028568CC */ cpu->f[8] = cpu->f[30] + cpu->f[25];
|
|
/* 028568D0 */ _t338 = cpu->r[5] + 0x00001A30u;
|
|
/* 028568D0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t338);
|
|
/* 028568D4 */ _t339 = cpu->r[7] + 0x00000000u;
|
|
/* 028568D4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t339);
|
|
/* 028568D8 */ _t340 = cpu->r[10] + 0x00000004u;
|
|
/* 028568D8 */ rbrew_write_f32(cpu->mem, _t340, cpu->f[3]);
|
|
/* 028568DC */ cpu->r[11] = cpu->r[7] + 0x00000010u;
|
|
/* 028568E0 */ _t341 = cpu->r[10] + 0x00000008u;
|
|
/* 028568E0 */ rbrew_write_f32(cpu->mem, _t341, cpu->f[13]);
|
|
/* 028568E4 */ cpu->f[10] = cpu->f[7] - cpu->f[11];
|
|
/* 028568E8 */ _t342 = cpu->r[10] + 0x00000000u;
|
|
/* 028568E8 */ rbrew_write_f32(cpu->mem, _t342, cpu->f[8]);
|
|
/* 028568EC */ /* nop */
|
|
/* 028568F0 */ cpu->r[5] = cpu->r[10] + 0x0000000Cu;
|
|
/* 028568F4 */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 028568F8 */ /* nop */
|
|
/* 028568FC */ _t343 = cpu->r[10] + 0x00000010u;
|
|
/* 028568FC */ rbrew_write_f32(cpu->mem, _t343, cpu->f[9]);
|
|
/* 02856900 */ _t344 = cpu->r[10] + 0x00000014u;
|
|
/* 02856900 */ rbrew_write_f32(cpu->mem, _t344, cpu->f[12]);
|
|
/* 02856904 */ cpu->f[2] = cpu->f[30] + cpu->f[2];
|
|
/* 02856908 */ _t345 = cpu->r[10] + 0x00000018u;
|
|
/* 02856908 */ rbrew_write_f32(cpu->mem, _t345, cpu->f[0]);
|
|
/* 0285690C */ _t346 = cpu->r[7] + 0x0000002Eu;
|
|
/* 0285690C */ cpu->r[0] = rbrew_read8(cpu->mem, _t346);
|
|
/* 02856910 */ _t347 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02856910 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t347);
|
|
/* 02856914 */ cpu->f[9] = cpu->f[2] + cpu->f[25];
|
|
/* 02856918 */ _t348 = cpu->r[7] + 0x00000020u;
|
|
/* 02856918 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t348);
|
|
/* 0285691C */ _t349 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285691C */ rbrew_write32(cpu->mem, _t349, cpu->r[0]);
|
|
/* 02856920 */ _t350 = cpu->r[1] + 0x00000008u;
|
|
/* 02856920 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t350);
|
|
/* 02856924 */ _t351 = cpu->r[10] + 0x00000020u;
|
|
/* 02856924 */ rbrew_write_f32(cpu->mem, _t351, cpu->f[3]);
|
|
/* 02856928 */ cpu->f[8] = cpu->f[7] - cpu->f[11];
|
|
/* 0285692C */ _t352 = cpu->r[10] + 0x0000001Cu;
|
|
/* 0285692C */ rbrew_write_f32(cpu->mem, _t352, cpu->f[9]);
|
|
/* 02856930 */ _t353 = cpu->r[10] + 0x00000024u;
|
|
/* 02856930 */ rbrew_write_f32(cpu->mem, _t353, cpu->f[13]);
|
|
/* 02856934 */ /* nop */
|
|
/* 02856938 */ cpu->r[5] = cpu->r[10] + 0x00000028u;
|
|
/* 0285693C */ cpu->f[9] = (double)(float)cpu->f[8];
|
|
/* 02856940 */ /* nop */
|
|
/* 02856944 */ _t354 = cpu->r[10] + 0x00000030u;
|
|
/* 02856944 */ rbrew_write_f32(cpu->mem, _t354, cpu->f[6]);
|
|
/* 02856948 */ _t355 = cpu->r[10] + 0x00000034u;
|
|
/* 02856948 */ rbrew_write_f32(cpu->mem, _t355, cpu->f[9]);
|
|
/* 0285694C */ _t356 = cpu->r[10] + 0x0000002Cu;
|
|
/* 0285694C */ rbrew_write_f32(cpu->mem, _t356, cpu->f[10]);
|
|
/* 02856950 */ _t357 = cpu->r[7] + 0x00000018u;
|
|
/* 02856950 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t357);
|
|
/* 02856954 */ cpu->f[29] = cpu->f[3] + cpu->f[1];
|
|
/* 02856958 */ _t358 = cpu->r[7] + 0x0000002Eu;
|
|
/* 02856958 */ cpu->r[5] = rbrew_read8(cpu->mem, _t358);
|
|
/* 0285695C */ _t359 = cpu->r[7] + 0x00000024u;
|
|
/* 0285695C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t359);
|
|
/* 02856960 */ _t360 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02856960 */ rbrew_write_f32(cpu->mem, _t360, cpu->f[29]);
|
|
/* 02856964 */ _t361 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02856964 */ rbrew_write32(cpu->mem, _t361, cpu->r[5]);
|
|
/* 02856968 */ _t362 = cpu->r[1] + 0x00000008u;
|
|
/* 02856968 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t362);
|
|
/* 0285696C */ _t363 = cpu->r[10] + 0x00000038u;
|
|
/* 0285696C */ rbrew_write_f32(cpu->mem, _t363, cpu->f[30]);
|
|
/* 02856970 */ cpu->r[4] = cpu->r[7] + 0x00000014u;
|
|
/* 02856974 */ cpu->f[8] = cpu->f[7] - cpu->f[11];
|
|
/* 02856978 */ _t364 = cpu->r[10] + 0x00000040u;
|
|
/* 02856978 */ rbrew_write_f32(cpu->mem, _t364, cpu->f[13]);
|
|
/* 0285697C */ /* nop */
|
|
/* 02856980 */ cpu->r[5] = cpu->r[10] + 0x00000044u;
|
|
/* 02856984 */ cpu->f[8] = (double)(float)cpu->f[8];
|
|
/* 02856988 */ /* nop */
|
|
/* 0285698C */ _t365 = cpu->r[10] + 0x00000048u;
|
|
/* 0285698C */ rbrew_write_f32(cpu->mem, _t365, cpu->f[0]);
|
|
/* 02856990 */ _t366 = cpu->r[10] + 0x00000050u;
|
|
/* 02856990 */ rbrew_write_f32(cpu->mem, _t366, cpu->f[8]);
|
|
/* 02856994 */ _t367 = cpu->r[10] + 0x0000004Cu;
|
|
/* 02856994 */ rbrew_write_f32(cpu->mem, _t367, cpu->f[6]);
|
|
/* 02856998 */ _t368 = cpu->r[7] + 0x0000002Eu;
|
|
/* 02856998 */ cpu->r[0] = rbrew_read8(cpu->mem, _t368);
|
|
/* 0285699C */ _t369 = cpu->r[7] + 0x00000020u;
|
|
/* 0285699C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t369);
|
|
/* 028569A0 */ _t370 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028569A0 */ rbrew_write32(cpu->mem, _t370, cpu->r[0]);
|
|
/* 028569A4 */ _t371 = cpu->r[7] + 0x00000024u;
|
|
/* 028569A4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t371);
|
|
/* 028569A8 */ _t372 = cpu->r[1] + 0x00000008u;
|
|
/* 028569A8 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t372);
|
|
/* 028569AC */ _t373 = cpu->r[10] + 0x00000058u;
|
|
/* 028569AC */ rbrew_write_f32(cpu->mem, _t373, cpu->f[29]);
|
|
/* 028569B0 */ _t374 = cpu->r[10] + 0x0000005Cu;
|
|
/* 028569B0 */ rbrew_write_f32(cpu->mem, _t374, cpu->f[13]);
|
|
/* 028569B4 */ cpu->f[0] = cpu->f[12] - cpu->f[11];
|
|
/* 028569B8 */ _t375 = cpu->r[10] + 0x00000054u;
|
|
/* 028569B8 */ rbrew_write_f32(cpu->mem, _t375, cpu->f[2]);
|
|
/* 028569BC */ /* nop */
|
|
/* 028569C0 */ cpu->r[11] = cpu->r[10] + 0x00000060u;
|
|
/* 028569C4 */ /* nop */
|
|
/* 028569C8 */ cpu->f[10] = (double)(float)cpu->f[0];
|
|
/* 028569CC */ _t376 = cpu->r[10] + 0x00000064u;
|
|
/* 028569CC */ rbrew_write_f32(cpu->mem, _t376, cpu->f[8]);
|
|
/* 028569D0 */ cpu->r[9] = cpu->r[9] + 0x00000030u;
|
|
/* 028569D4 */ _t377 = cpu->r[10] + 0x00000068u;
|
|
/* 028569D4 */ rbrew_write_f32(cpu->mem, _t377, cpu->f[9]);
|
|
/* 028569D8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 028569D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028569DC */ _t378 = cpu->r[10] + 0x0000006Cu;
|
|
/* 028569DC */ rbrew_write_f32(cpu->mem, _t378, cpu->f[10]);
|
|
/* 028569E0 */ _t379 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028569E0 */ _t380 = _t379 & 0x00000001u;
|
|
/* 028569E0 */ if (_t380) goto L_028569E4; else goto L_02856814;
|
|
L_028569E4: ; // 0x28569e4
|
|
/* 028569E4 */ cpu->r[4] = 0x00000001u;
|
|
/* 028569E8 */ _t381 = cpu->r[27] + 0x00000011u;
|
|
/* 028569E8 */ rbrew_write8(cpu->mem, _t381, (uint8_t)cpu->r[4]);
|
|
/* 028569EC */ _t382 = cpu->r[26] + 0x00000008u;
|
|
/* 028569EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t382);
|
|
/* 028569F0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028569F4 */ cpu->r[3] = 0x00000040u;
|
|
/* 028569F8 */ _t383 = cpu->r[10] + cpu->r[26];
|
|
/* 028569F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t383);
|
|
/* 028569FC */ cpu->r[5] = cpu->r[24];
|
|
/* 02856A00 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02856A04 */ goto L_02856F28;
|
|
L_02856A08: ; // 0x2856a08
|
|
/* 02856A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02856A0C */ _t384 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856A0C */ _t385 = _t384 & 0x00000001u;
|
|
/* 02856A0C */ if (_t385) goto L_02856F08; else goto L_02856A10;
|
|
L_02856A10: ; // 0x2856a10
|
|
/* 02856A10 */ cpu->r[6] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02856A14 */ cpu->r[11] = 0x00000000u;
|
|
L_02856A18: ; // 0x2856a18
|
|
/* 02856A18 */ _t386 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02856A18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t386);
|
|
/* 02856A1C */ _t387 = cpu->r[26] + 0x00000008u;
|
|
/* 02856A1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t387);
|
|
/* 02856A20 */ cpu->r[7] = cpu->r[7] + cpu->r[11];
|
|
/* 02856A24 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02856A28 */ _t388 = cpu->r[7] + 0x00000028u;
|
|
/* 02856A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t388);
|
|
/* 02856A2C */ cpu->r[9] = cpu->r[6] + 0x00000001u;
|
|
/* 02856A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02856A34 */ _t389 = cpu->r[10] + cpu->r[26];
|
|
/* 02856A34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t389);
|
|
/* 02856A38 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 02856A3C */ _t390 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02856A3C */ _t391 = _t390 & 0x00000001u;
|
|
/* 02856A3C */ if (_t391) goto L_02856AE8; else goto L_02856A40;
|
|
L_02856A40: ; // 0x2856a40
|
|
/* 02856A40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02856A44 */ cpu->ctr = cpu->r[9];
|
|
/* 02856A48 */ cpu->r[12] = cpu->r[25] + cpu->r[0];
|
|
L_02856A4C: ; // 0x2856a4c
|
|
/* 02856A4C */ _t392 = cpu->r[12] + 0x00000000u;
|
|
/* 02856A4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t392);
|
|
/* 02856A50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 02856A54 */ _t393 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856A54 */ _t394 = _t393 & 0x00000001u;
|
|
/* 02856A54 */ if (_t394) goto L_02856A58; else goto L_02856AE0;
|
|
L_02856A58: ; // 0x2856a58
|
|
/* 02856A58 */ _t395 = cpu->r[12] + 0x00000008u;
|
|
/* 02856A58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t395);
|
|
/* 02856A5C */ _t396 = cpu->r[12] + 0x00000004u;
|
|
/* 02856A5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t396);
|
|
/* 02856A60 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02856A64 */ cpu->r[0] = cpu->r[4] + cpu->r[8];
|
|
/* 02856A68 */ cpu->r[4] = cpu->r[9] + 0x00000001u;
|
|
/* 02856A6C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu);
|
|
/* 02856A70 */ _t397 = cpu->r[12] + 0x00000008u;
|
|
/* 02856A70 */ rbrew_write32(cpu->mem, _t397, cpu->r[4]);
|
|
/* 02856A74 */ _t398 = cpu->r[7] + 0x0000002Cu;
|
|
/* 02856A74 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t398);
|
|
/* 02856A78 */ cpu->r[5] = 0x43300000u;
|
|
/* 02856A7C */ _t399 = cpu->r[7] + 0x00000008u;
|
|
/* 02856A7C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t399);
|
|
/* 02856A80 */ cpu->r[10] = cpu->r[10] + cpu->r[9];
|
|
/* 02856A84 */ cpu->r[9] = 0x10130000u;
|
|
/* 02856A88 */ _t400 = cpu->r[1] + 0x00000008u;
|
|
/* 02856A88 */ rbrew_write32(cpu->mem, _t400, cpu->r[5]);
|
|
/* 02856A8C */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02856A90 */ _t401 = cpu->r[9] + 0x00001A28u;
|
|
/* 02856A90 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t401);
|
|
/* 02856A94 */ _t402 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02856A94 */ rbrew_write32(cpu->mem, _t402, cpu->r[0]);
|
|
/* 02856A98 */ _t403 = cpu->r[1] + 0x00000008u;
|
|
/* 02856A98 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t403);
|
|
/* 02856A9C */ cpu->f[7] = cpu->f[30] + cpu->f[30];
|
|
/* 02856AA0 */ _t404 = cpu->r[7] + 0x00000000u;
|
|
/* 02856AA0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t404);
|
|
/* 02856AA4 */ cpu->f[6] = cpu->f[0] - cpu->f[9];
|
|
/* 02856AA8 */ _t405 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02856AA8 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t405);
|
|
/* 02856AAC */ cpu->f[10] = cpu->f[7] + cpu->f[2];
|
|
/* 02856AB0 */ cpu->f[25] = (double)(float)cpu->f[6];
|
|
/* 02856AB4 */ cpu->r[8] = cpu->r[7] + 0x00000010u;
|
|
/* 02856AB8 */ cpu->r[3] = cpu->r[7] + 0x00000014u;
|
|
/* 02856ABC */ cpu->f[0] = cpu->f[10] + cpu->f[25];
|
|
/* 02856AC0 */ _t406 = cpu->r[7] + 0x00000004u;
|
|
/* 02856AC0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t406);
|
|
/* 02856AC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000001u);
|
|
/* 02856AC8 */ cpu->f[4] = cpu->f[0] * cpu->f[12];
|
|
/* 02856ACC */ _t407 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02856ACC */ _t408 = _t407 & 0x00000001u;
|
|
/* 02856ACC */ if (_t408) goto L_02856B50; else goto L_02856AD0;
|
|
L_02856AD0: ; // 0x2856ad0
|
|
/* 02856AD0 */ _t409 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856AD0 */ _t410 = _t409 & 0x00000001u;
|
|
/* 02856AD0 */ if (_t410) goto L_02856AD4; else goto L_02856B44;
|
|
L_02856AD4: ; // 0x2856ad4
|
|
/* 02856AD4 */ cpu->f[29] = cpu->f[3] + cpu->f[1];
|
|
/* 02856AD8 */ cpu->f[5] = cpu->f[29];
|
|
/* 02856ADC */ goto L_02856B60;
|
|
L_02856AE0: ; // 0x2856ae0
|
|
/* 02856AE0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFF0u;
|
|
/* 02856AE4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02856AE4 */ _t411 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02856AE4 */ _t412 = _t411 >> (0x00000002u & 31u);
|
|
/* 02856AE4 */ _t413 = _t412 & 0x00000001u;
|
|
/* 02856AE4 */ if (_t413) goto L_02856A4C; else goto L_02856AE8;
|
|
L_02856AE8: ; // 0x2856ae8
|
|
/* 02856AE8 */ _t414 = cpu->r[7] + 0x0000002Cu;
|
|
/* 02856AE8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t414);
|
|
/* 02856AEC */ cpu->r[9] = 0x10130000u;
|
|
/* 02856AF0 */ _t415 = cpu->r[7] + 0x00000008u;
|
|
/* 02856AF0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t415);
|
|
/* 02856AF4 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02856AF8 */ _t416 = cpu->r[9] + 0x00001A28u;
|
|
/* 02856AF8 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t416);
|
|
/* 02856AFC */ cpu->r[5] = 0x43300000u;
|
|
/* 02856B00 */ _t417 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02856B00 */ rbrew_write32(cpu->mem, _t417, cpu->r[0]);
|
|
/* 02856B04 */ _t418 = cpu->r[1] + 0x00000008u;
|
|
/* 02856B04 */ rbrew_write32(cpu->mem, _t418, cpu->r[5]);
|
|
/* 02856B08 */ _t419 = cpu->r[1] + 0x00000008u;
|
|
/* 02856B08 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t419);
|
|
/* 02856B0C */ cpu->f[7] = cpu->f[30] + cpu->f[30];
|
|
/* 02856B10 */ _t420 = cpu->r[7] + 0x00000000u;
|
|
/* 02856B10 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t420);
|
|
/* 02856B14 */ cpu->f[6] = cpu->f[0] - cpu->f[9];
|
|
/* 02856B18 */ _t421 = cpu->r[7] + 0x00000004u;
|
|
/* 02856B18 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t421);
|
|
/* 02856B1C */ cpu->f[10] = cpu->f[7] + cpu->f[2];
|
|
/* 02856B20 */ cpu->f[25] = (double)(float)cpu->f[6];
|
|
/* 02856B24 */ cpu->r[3] = cpu->r[7] + 0x00000014u;
|
|
/* 02856B28 */ cpu->r[8] = cpu->r[7] + 0x00000010u;
|
|
/* 02856B2C */ cpu->f[0] = cpu->f[10] + cpu->f[25];
|
|
/* 02856B30 */ _t422 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02856B30 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t422);
|
|
/* 02856B34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000001u);
|
|
/* 02856B38 */ cpu->f[4] = cpu->f[0] * cpu->f[12];
|
|
/* 02856B3C */ _t423 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02856B3C */ _t424 = _t423 & 0x00000001u;
|
|
/* 02856B3C */ if (_t424) goto L_02856B50; else goto L_02856B40;
|
|
L_02856B40: ; // 0x2856b40
|
|
/* 02856B40 */ _t425 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856B40 */ _t426 = _t425 & 0x00000001u;
|
|
/* 02856B40 */ if (_t426) goto L_02856AD4; else goto L_02856B44;
|
|
L_02856B44: ; // 0x2856b44
|
|
/* 02856B44 */ cpu->f[5] = cpu->f[13];
|
|
/* 02856B48 */ cpu->f[29] = cpu->f[3] + cpu->f[1];
|
|
/* 02856B4C */ goto L_02856B60;
|
|
L_02856B50: ; // 0x2856b50
|
|
/* 02856B50 */ cpu->f[8] = cpu->f[3] + cpu->f[3];
|
|
/* 02856B54 */ cpu->f[10] = cpu->f[8] + cpu->f[1];
|
|
/* 02856B58 */ cpu->f[29] = cpu->f[3] + cpu->f[1];
|
|
/* 02856B5C */ cpu->f[5] = cpu->f[10] * cpu->f[12];
|
|
L_02856B60: ; // 0x2856b60
|
|
/* 02856B60 */ _t427 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02856B60 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t427);
|
|
/* 02856B64 */ cpu->f[10] = cpu->f[30] + cpu->f[25];
|
|
/* 02856B68 */ _t428 = cpu->r[29] + 0x00000004u;
|
|
/* 02856B68 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t428);
|
|
/* 02856B6C */ cpu->f[9] = cpu->f[3] - cpu->f[5];
|
|
/* 02856B70 */ _t429 = cpu->r[29] + 0x00000010u;
|
|
/* 02856B70 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t429);
|
|
/* 02856B74 */ cpu->f[10] = cpu->f[10] - cpu->f[4];
|
|
/* 02856B78 */ _t430 = cpu->r[29] + 0x00000026u;
|
|
/* 02856B78 */ cpu->r[5] = rbrew_read8(cpu->mem, _t430);
|
|
/* 02856B7C */ cpu->f[8] = cpu->f[6] * cpu->f[11];
|
|
/* 02856B80 */ _t431 = cpu->r[29] + 0x00000000u;
|
|
/* 02856B80 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t431);
|
|
/* 02856B84 */ _t432 = cpu->r[29] + 0x00000014u;
|
|
/* 02856B84 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t432);
|
|
/* 02856B88 */ cpu->f[7] = cpu->f[28] * cpu->f[11];
|
|
/* 02856B8C */ _t433 = cpu->r[29] + 0x00000008u;
|
|
/* 02856B8C */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t433);
|
|
/* 02856B90 */ _t434 = cpu->r[29] + 0x00000024u;
|
|
/* 02856B90 */ cpu->r[0] = rbrew_read8(cpu->mem, _t434);
|
|
/* 02856B94 */ cpu->f[3] = cpu->f[28] * cpu->f[23];
|
|
/* 02856B98 */ _t435 = cpu->r[8] + 0x00000000u;
|
|
/* 02856B98 */ cpu->r[9] = rbrew_read8(cpu->mem, _t435);
|
|
/* 02856B9C */ cpu->r[30] = 0x80810000u;
|
|
/* 02856BA0 */ cpu->f[1] = cpu->f[0] * cpu->f[24];
|
|
/* 02856BA4 */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[0]);
|
|
/* 02856BA8 */ cpu->f[31] = fma(cpu->f[8], cpu->f[24], cpu->f[3]);
|
|
/* 02856BAC */ cpu->r[30] = cpu->r[30] + 0xFFFF8081u;
|
|
/* 02856BB0 */ cpu->f[0] = cpu->f[0] * cpu->f[23];
|
|
/* 02856BB4 */ cpu->r[12] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[23]) >> 32);
|
|
/* 02856BB8 */ _t436 = cpu->r[29] + 0x00000025u;
|
|
/* 02856BB8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t436);
|
|
/* 02856BBC */ cpu->f[26] = -cpu->f[0];
|
|
/* 02856BC0 */ _t437 = cpu->r[8] + 0x00000001u;
|
|
/* 02856BC0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t437);
|
|
/* 02856BC4 */ cpu->f[0] = cpu->f[7] * cpu->f[24];
|
|
/* 02856BC8 */ /* nop */
|
|
/* 02856BCC */ cpu->r[21] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[4]);
|
|
/* 02856BD0 */ cpu->f[11] = cpu->f[8] * cpu->f[23];
|
|
/* 02856BD4 */ _t438 = cpu->r[8] + 0x00000002u;
|
|
/* 02856BD4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t438);
|
|
/* 02856BD8 */ cpu->r[12] = cpu->r[23] + cpu->r[12];
|
|
/* 02856BDC */ cpu->r[4] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[21]) >> 32);
|
|
/* 02856BE0 */ /* nop */
|
|
/* 02856BE4 */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[5]);
|
|
/* 02856BE8 */ cpu->r[4] = cpu->r[21] + cpu->r[4];
|
|
/* 02856BEC */ /* nop */
|
|
/* 02856BF0 */ /* nop */
|
|
/* 02856BF4 */ _t439 = cpu->r[29] + 0x00000027u;
|
|
/* 02856BF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t439);
|
|
/* 02856BF8 */ cpu->r[5] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[23]) >> 32);
|
|
/* 02856BFC */ _t440 = cpu->r[8] + 0x00000003u;
|
|
/* 02856BFC */ cpu->r[8] = rbrew_read8(cpu->mem, _t440);
|
|
/* 02856C00 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]);
|
|
/* 02856C04 */ cpu->r[5] = cpu->r[23] + cpu->r[5];
|
|
/* 02856C08 */ /* nop */
|
|
/* 02856C0C */ /* nop */
|
|
/* 02856C10 */ cpu->r[4] = cpu->r[4] - cpu->r[22];
|
|
/* 02856C14 */ cpu->r[0] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[8]) >> 32);
|
|
/* 02856C18 */ _t441 = cpu->r[1] + 0x00000011u;
|
|
/* 02856C18 */ rbrew_write8(cpu->mem, _t441, (uint8_t)cpu->r[4]);
|
|
/* 02856C1C */ cpu->r[5] = cpu->r[5] - cpu->r[9];
|
|
/* 02856C20 */ cpu->r[12] = cpu->r[12] - cpu->r[20];
|
|
/* 02856C24 */ _t442 = cpu->r[1] + 0x00000010u;
|
|
/* 02856C24 */ rbrew_write8(cpu->mem, _t442, (uint8_t)cpu->r[12]);
|
|
/* 02856C28 */ cpu->f[8] = cpu->f[6] * cpu->f[24];
|
|
/* 02856C2C */ cpu->r[0] = cpu->r[8] + cpu->r[0];
|
|
/* 02856C30 */ /* nop */
|
|
/* 02856C34 */ /* nop */
|
|
/* 02856C38 */ _t443 = cpu->r[1] + 0x00000012u;
|
|
/* 02856C38 */ rbrew_write8(cpu->mem, _t443, (uint8_t)cpu->r[5]);
|
|
/* 02856C3C */ cpu->r[0] = cpu->r[0] - cpu->r[9];
|
|
/* 02856C40 */ _t444 = cpu->r[1] + 0x00000013u;
|
|
/* 02856C40 */ rbrew_write8(cpu->mem, _t444, (uint8_t)cpu->r[0]);
|
|
/* 02856C44 */ _t445 = cpu->r[29] + 0x00000028u;
|
|
/* 02856C44 */ cpu->r[5] = rbrew_read8(cpu->mem, _t445);
|
|
/* 02856C48 */ cpu->f[3] = fma(cpu->f[6], cpu->f[23], -(cpu->f[0]));
|
|
/* 02856C4C */ _t446 = cpu->r[3] + 0x00000000u;
|
|
/* 02856C4C */ cpu->r[0] = rbrew_read8(cpu->mem, _t446);
|
|
/* 02856C50 */ cpu->f[27] = fma(cpu->f[28], cpu->f[24], -(cpu->f[11]));
|
|
/* 02856C54 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[5]);
|
|
/* 02856C58 */ cpu->f[28] = fma(cpu->f[7], cpu->f[23], cpu->f[8]);
|
|
/* 02856C5C */ cpu->r[12] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[5]) >> 32);
|
|
/* 02856C60 */ _t447 = cpu->r[29] + 0x00000029u;
|
|
/* 02856C60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t447);
|
|
/* 02856C64 */ _t448 = cpu->r[3] + 0x00000001u;
|
|
/* 02856C64 */ cpu->r[9] = rbrew_read8(cpu->mem, _t448);
|
|
/* 02856C68 */ cpu->r[23] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[0]);
|
|
/* 02856C6C */ cpu->r[12] = cpu->r[5] + cpu->r[12];
|
|
/* 02856C70 */ /* nop */
|
|
/* 02856C74 */ /* nop */
|
|
/* 02856C78 */ _t449 = cpu->r[3] + 0x00000002u;
|
|
/* 02856C78 */ cpu->r[5] = rbrew_read8(cpu->mem, _t449);
|
|
/* 02856C7C */ cpu->r[0] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[23]) >> 32);
|
|
/* 02856C80 */ _t450 = cpu->r[29] + 0x0000002Au;
|
|
/* 02856C80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t450);
|
|
/* 02856C84 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[8]);
|
|
/* 02856C88 */ cpu->r[0] = cpu->r[23] + cpu->r[0];
|
|
/* 02856C8C */ /* nop */
|
|
/* 02856C90 */ cpu->r[5] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[4]) >> 32);
|
|
/* 02856C94 */ _t451 = cpu->r[3] + 0x00000003u;
|
|
/* 02856C94 */ cpu->r[8] = rbrew_read8(cpu->mem, _t451);
|
|
/* 02856C98 */ cpu->r[12] = cpu->r[12] - cpu->r[22];
|
|
/* 02856C9C */ /* nop */
|
|
/* 02856CA0 */ _t452 = cpu->r[29] + 0x0000002Bu;
|
|
/* 02856CA0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t452);
|
|
/* 02856CA4 */ cpu->f[24] = cpu->f[27] * cpu->f[9];
|
|
/* 02856CA8 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[9]);
|
|
/* 02856CAC */ cpu->f[23] = cpu->f[28] * cpu->f[9];
|
|
/* 02856CB0 */ /* nop */
|
|
/* 02856CB4 */ cpu->r[5] = cpu->r[4] + cpu->r[5];
|
|
/* 02856CB8 */ cpu->r[4] = (uint32_t)(((int64_t)(int32_t)cpu->r[30] * (int64_t)(int32_t)cpu->r[8]) >> 32);
|
|
/* 02856CBC */ cpu->r[0] = cpu->r[0] - cpu->r[23];
|
|
/* 02856CC0 */ /* nop */
|
|
/* 02856CC4 */ cpu->f[22] = cpu->f[26] * cpu->f[9];
|
|
/* 02856CC8 */ cpu->r[5] = cpu->r[5] - cpu->r[3];
|
|
/* 02856CCC */ _t453 = cpu->r[1] + 0x00000015u;
|
|
/* 02856CCC */ rbrew_write8(cpu->mem, _t453, (uint8_t)cpu->r[0]);
|
|
/* 02856CD0 */ /* nop */
|
|
/* 02856CD4 */ cpu->r[4] = cpu->r[8] + cpu->r[4];
|
|
/* 02856CD8 */ _t454 = cpu->r[1] + 0x00000016u;
|
|
/* 02856CD8 */ rbrew_write8(cpu->mem, _t454, (uint8_t)cpu->r[5]);
|
|
/* 02856CDC */ /* nop */
|
|
/* 02856CE0 */ cpu->f[8] = fma(cpu->f[31], cpu->f[10], cpu->f[24]);
|
|
/* 02856CE4 */ _t455 = cpu->r[1] + 0x00000014u;
|
|
/* 02856CE4 */ rbrew_write8(cpu->mem, _t455, (uint8_t)cpu->r[12]);
|
|
/* 02856CE8 */ cpu->r[4] = cpu->r[4] - cpu->r[9];
|
|
/* 02856CEC */ cpu->f[0] = fma(cpu->f[1], cpu->f[10], cpu->f[22]);
|
|
/* 02856CF0 */ _t456 = cpu->r[1] + 0x00000017u;
|
|
/* 02856CF0 */ rbrew_write8(cpu->mem, _t456, (uint8_t)cpu->r[4]);
|
|
/* 02856CF4 */ cpu->f[20] = cpu->f[8] + cpu->f[5];
|
|
/* 02856CF8 */ _t457 = cpu->r[7] + 0x0000002Eu;
|
|
/* 02856CF8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t457);
|
|
/* 02856CFC */ cpu->f[8] = cpu->f[0] + cpu->f[4];
|
|
/* 02856D00 */ _t458 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02856D00 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t458);
|
|
/* 02856D04 */ cpu->r[0] = 0x43300000u;
|
|
/* 02856D08 */ _t459 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02856D08 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t459);
|
|
/* 02856D0C */ _t460 = cpu->r[1] + 0x00000008u;
|
|
/* 02856D0C */ rbrew_write32(cpu->mem, _t460, cpu->r[0]);
|
|
/* 02856D10 */ _t461 = cpu->r[29] + 0x00000018u;
|
|
/* 02856D10 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t461);
|
|
/* 02856D14 */ cpu->f[21] = fma(cpu->f[3], cpu->f[10], cpu->f[23]);
|
|
/* 02856D18 */ _t462 = cpu->r[7] + 0x00000018u;
|
|
/* 02856D18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t462);
|
|
/* 02856D1C */ cpu->f[9] = cpu->f[8] + cpu->f[9];
|
|
/* 02856D20 */ _t463 = cpu->r[29] + 0x00000020u;
|
|
/* 02856D20 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t463);
|
|
/* 02856D24 */ cpu->r[9] = 0x10130000u;
|
|
/* 02856D28 */ _t464 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02856D28 */ rbrew_write32(cpu->mem, _t464, cpu->r[5]);
|
|
/* 02856D2C */ cpu->f[10] = cpu->f[20] + cpu->f[7];
|
|
/* 02856D30 */ _t465 = cpu->r[1] + 0x00000008u;
|
|
/* 02856D30 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t465);
|
|
/* 02856D34 */ cpu->f[11] = cpu->f[21] + cpu->f[11];
|
|
/* 02856D38 */ _t466 = cpu->r[10] + 0x00000000u;
|
|
/* 02856D38 */ rbrew_write_f32(cpu->mem, _t466, cpu->f[9]);
|
|
/* 02856D3C */ cpu->f[2] = cpu->f[30] + cpu->f[2];
|
|
/* 02856D40 */ _t467 = cpu->r[10] + 0x00000004u;
|
|
/* 02856D40 */ rbrew_write_f32(cpu->mem, _t467, cpu->f[10]);
|
|
/* 02856D44 */ _t468 = cpu->r[10] + 0x00000008u;
|
|
/* 02856D44 */ rbrew_write_f32(cpu->mem, _t468, cpu->f[11]);
|
|
/* 02856D48 */ _t469 = cpu->r[1] + 0x00000010u;
|
|
/* 02856D48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t469);
|
|
/* 02856D4C */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 02856D50 */ _t470 = cpu->r[9] + 0x00001A30u;
|
|
/* 02856D50 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t470);
|
|
/* 02856D54 */ cpu->f[11] = cpu->f[2] + cpu->f[25];
|
|
/* 02856D58 */ _t471 = cpu->r[1] + 0x00000048u;
|
|
/* 02856D58 */ rbrew_write32(cpu->mem, _t471, cpu->r[8]);
|
|
/* 02856D5C */ /* nop */
|
|
/* 02856D60 */ cpu->f[9] = cpu->f[8] - cpu->f[7];
|
|
/* 02856D64 */ cpu->r[5] = cpu->r[10] + 0x0000000Cu;
|
|
/* 02856D68 */ cpu->f[11] = cpu->f[11] - cpu->f[4];
|
|
/* 02856D6C */ /* nop */
|
|
/* 02856D70 */ cpu->f[8] = (double)(float)cpu->f[9];
|
|
/* 02856D74 */ _t472 = cpu->r[10] + 0x00000010u;
|
|
/* 02856D74 */ rbrew_write_f32(cpu->mem, _t472, cpu->f[0]);
|
|
/* 02856D78 */ cpu->f[10] = fma(cpu->f[3], cpu->f[11], cpu->f[23]);
|
|
/* 02856D7C */ _t473 = cpu->r[10] + 0x00000014u;
|
|
/* 02856D7C */ rbrew_write_f32(cpu->mem, _t473, cpu->f[6]);
|
|
/* 02856D80 */ cpu->f[6] = fma(cpu->f[31], cpu->f[11], cpu->f[24]);
|
|
/* 02856D84 */ _t474 = cpu->r[10] + 0x00000018u;
|
|
/* 02856D84 */ rbrew_write_f32(cpu->mem, _t474, cpu->f[8]);
|
|
/* 02856D88 */ _t475 = cpu->r[7] + 0x0000002Eu;
|
|
/* 02856D88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t475);
|
|
/* 02856D8C */ cpu->f[0] = fma(cpu->f[1], cpu->f[11], cpu->f[22]);
|
|
/* 02856D90 */ cpu->f[25] = cpu->f[6] + cpu->f[5];
|
|
/* 02856D94 */ _t476 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02856D94 */ rbrew_write32(cpu->mem, _t476, cpu->r[0]);
|
|
/* 02856D98 */ _t477 = cpu->r[29] + 0x00000020u;
|
|
/* 02856D98 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t477);
|
|
/* 02856D9C */ cpu->f[24] = cpu->f[0] + cpu->f[4];
|
|
/* 02856DA0 */ _t478 = cpu->r[29] + 0x00000018u;
|
|
/* 02856DA0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t478);
|
|
/* 02856DA4 */ _t479 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02856DA4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t479);
|
|
/* 02856DA8 */ cpu->f[0] = cpu->f[10] + cpu->f[11];
|
|
/* 02856DAC */ _t480 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02856DAC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t480);
|
|
/* 02856DB0 */ cpu->f[10] = cpu->f[24] + cpu->f[6];
|
|
/* 02856DB4 */ _t481 = cpu->r[7] + 0x00000020u;
|
|
/* 02856DB4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t481);
|
|
/* 02856DB8 */ cpu->f[11] = cpu->f[25] + cpu->f[11];
|
|
/* 02856DBC */ _t482 = cpu->r[1] + 0x00000008u;
|
|
/* 02856DBC */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t482);
|
|
/* 02856DC0 */ _t483 = cpu->r[10] + 0x00000024u;
|
|
/* 02856DC0 */ rbrew_write_f32(cpu->mem, _t483, cpu->f[0]);
|
|
/* 02856DC4 */ cpu->f[0] = cpu->f[9] - cpu->f[7];
|
|
/* 02856DC8 */ _t484 = cpu->r[10] + 0x00000020u;
|
|
/* 02856DC8 */ rbrew_write_f32(cpu->mem, _t484, cpu->f[11]);
|
|
/* 02856DCC */ cpu->f[11] = cpu->f[29] - cpu->f[5];
|
|
/* 02856DD0 */ _t485 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02856DD0 */ rbrew_write_f32(cpu->mem, _t485, cpu->f[10]);
|
|
/* 02856DD4 */ cpu->r[9] = cpu->r[1] + 0x0000004Cu;
|
|
/* 02856DD8 */ cpu->f[9] = (double)(float)cpu->f[0];
|
|
/* 02856DDC */ _t486 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02856DDC */ rbrew_write32(cpu->mem, _t486, cpu->r[8]);
|
|
/* 02856DE0 */ /* nop */
|
|
/* 02856DE4 */ cpu->f[29] = cpu->f[28] * cpu->f[11];
|
|
/* 02856DE8 */ cpu->r[4] = cpu->r[10] + 0x00000028u;
|
|
/* 02856DEC */ /* nop */
|
|
/* 02856DF0 */ cpu->f[0] = cpu->f[30] - cpu->f[4];
|
|
/* 02856DF4 */ _t487 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02856DF4 */ rbrew_write_f32(cpu->mem, _t487, cpu->f[6]);
|
|
/* 02856DF8 */ cpu->f[26] = cpu->f[26] * cpu->f[11];
|
|
/* 02856DFC */ _t488 = cpu->r[10] + 0x00000030u;
|
|
/* 02856DFC */ rbrew_write_f32(cpu->mem, _t488, cpu->f[8]);
|
|
/* 02856E00 */ _t489 = cpu->r[10] + 0x00000034u;
|
|
/* 02856E00 */ rbrew_write_f32(cpu->mem, _t489, cpu->f[9]);
|
|
/* 02856E04 */ cpu->f[8] = fma(cpu->f[1], cpu->f[0], cpu->f[26]);
|
|
/* 02856E08 */ _t490 = cpu->r[7] + 0x0000002Eu;
|
|
/* 02856E08 */ cpu->r[4] = rbrew_read8(cpu->mem, _t490);
|
|
/* 02856E0C */ cpu->f[28] = cpu->f[27] * cpu->f[11];
|
|
/* 02856E10 */ _t491 = cpu->r[29] + 0x00000018u;
|
|
/* 02856E10 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t491);
|
|
/* 02856E14 */ cpu->f[9] = cpu->f[8] + cpu->f[4];
|
|
/* 02856E18 */ _t492 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02856E18 */ rbrew_write32(cpu->mem, _t492, cpu->r[4]);
|
|
/* 02856E1C */ cpu->f[11] = fma(cpu->f[31], cpu->f[0], cpu->f[28]);
|
|
/* 02856E20 */ _t493 = cpu->r[1] + 0x00000008u;
|
|
/* 02856E20 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t493);
|
|
/* 02856E24 */ cpu->f[8] = cpu->f[9] + cpu->f[6];
|
|
/* 02856E28 */ _t494 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02856E28 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t494);
|
|
/* 02856E2C */ cpu->f[30] = fma(cpu->f[3], cpu->f[0], cpu->f[29]);
|
|
/* 02856E30 */ _t495 = cpu->r[29] + 0x00000020u;
|
|
/* 02856E30 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t495);
|
|
/* 02856E34 */ cpu->f[9] = cpu->f[11] + cpu->f[5];
|
|
/* 02856E38 */ cpu->f[0] = cpu->f[30] + cpu->f[0];
|
|
/* 02856E3C */ _t496 = cpu->r[7] + 0x00000018u;
|
|
/* 02856E3C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t496);
|
|
/* 02856E40 */ cpu->f[9] = cpu->f[9] + cpu->f[6];
|
|
/* 02856E44 */ _t497 = cpu->r[7] + 0x00000024u;
|
|
/* 02856E44 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t497);
|
|
/* 02856E48 */ _t498 = cpu->r[10] + 0x00000040u;
|
|
/* 02856E48 */ rbrew_write_f32(cpu->mem, _t498, cpu->f[0]);
|
|
/* 02856E4C */ cpu->f[10] = cpu->f[10] - cpu->f[7];
|
|
/* 02856E50 */ _t499 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02856E50 */ rbrew_write_f32(cpu->mem, _t499, cpu->f[9]);
|
|
/* 02856E54 */ _t500 = cpu->r[10] + 0x00000038u;
|
|
/* 02856E54 */ rbrew_write_f32(cpu->mem, _t500, cpu->f[8]);
|
|
/* 02856E58 */ _t501 = cpu->r[1] + 0x00000014u;
|
|
/* 02856E58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t501);
|
|
/* 02856E5C */ cpu->f[8] = (double)(float)cpu->f[10];
|
|
/* 02856E60 */ cpu->r[8] = cpu->r[1] + 0x00000050u;
|
|
/* 02856E64 */ cpu->r[9] = cpu->r[10] + 0x00000044u;
|
|
/* 02856E68 */ _t502 = cpu->r[1] + 0x00000050u;
|
|
/* 02856E68 */ rbrew_write32(cpu->mem, _t502, cpu->r[5]);
|
|
/* 02856E6C */ /* nop */
|
|
/* 02856E70 */ cpu->f[0] = cpu->f[2] - cpu->f[4];
|
|
/* 02856E74 */ /* nop */
|
|
/* 02856E78 */ cpu->f[9] = fma(cpu->f[1], cpu->f[0], cpu->f[26]);
|
|
/* 02856E7C */ _t503 = cpu->r[10] + 0x00000050u;
|
|
/* 02856E7C */ rbrew_write_f32(cpu->mem, _t503, cpu->f[8]);
|
|
/* 02856E80 */ _t504 = cpu->r[10] + 0x00000048u;
|
|
/* 02856E80 */ rbrew_write_f32(cpu->mem, _t504, cpu->f[11]);
|
|
/* 02856E84 */ cpu->f[10] = fma(cpu->f[31], cpu->f[0], cpu->f[28]);
|
|
/* 02856E88 */ _t505 = cpu->r[10] + 0x0000004Cu;
|
|
/* 02856E88 */ rbrew_write_f32(cpu->mem, _t505, cpu->f[6]);
|
|
/* 02856E8C */ _t506 = cpu->r[7] + 0x0000002Eu;
|
|
/* 02856E8C */ cpu->r[4] = rbrew_read8(cpu->mem, _t506);
|
|
/* 02856E90 */ cpu->f[0] = fma(cpu->f[3], cpu->f[0], cpu->f[29]);
|
|
/* 02856E94 */ _t507 = cpu->r[29] + 0x00000020u;
|
|
/* 02856E94 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t507);
|
|
/* 02856E98 */ cpu->f[9] = cpu->f[9] + cpu->f[4];
|
|
/* 02856E9C */ _t508 = cpu->r[7] + 0x00000020u;
|
|
/* 02856E9C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t508);
|
|
/* 02856EA0 */ cpu->f[5] = cpu->f[10] + cpu->f[5];
|
|
/* 02856EA4 */ _t509 = cpu->r[29] + 0x00000018u;
|
|
/* 02856EA4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t509);
|
|
/* 02856EA8 */ cpu->f[0] = cpu->f[0] + cpu->f[6];
|
|
/* 02856EAC */ _t510 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02856EAC */ rbrew_write32(cpu->mem, _t510, cpu->r[4]);
|
|
/* 02856EB0 */ _t511 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02856EB0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t511);
|
|
/* 02856EB4 */ _t512 = cpu->r[1] + 0x00000008u;
|
|
/* 02856EB4 */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t512);
|
|
/* 02856EB8 */ cpu->f[9] = cpu->f[9] + cpu->f[11];
|
|
/* 02856EBC */ _t513 = cpu->r[7] + 0x00000024u;
|
|
/* 02856EBC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t513);
|
|
/* 02856EC0 */ cpu->f[10] = cpu->f[5] + cpu->f[10];
|
|
/* 02856EC4 */ _t514 = cpu->r[10] + 0x0000005Cu;
|
|
/* 02856EC4 */ rbrew_write_f32(cpu->mem, _t514, cpu->f[0]);
|
|
/* 02856EC8 */ cpu->r[9] = cpu->r[1] + 0x00000054u;
|
|
/* 02856ECC */ _t515 = cpu->r[10] + 0x00000054u;
|
|
/* 02856ECC */ rbrew_write_f32(cpu->mem, _t515, cpu->f[9]);
|
|
/* 02856ED0 */ cpu->f[7] = cpu->f[6] - cpu->f[7];
|
|
/* 02856ED4 */ _t516 = cpu->r[10] + 0x00000058u;
|
|
/* 02856ED4 */ rbrew_write_f32(cpu->mem, _t516, cpu->f[10]);
|
|
/* 02856ED8 */ cpu->r[4] = cpu->r[10] + 0x00000060u;
|
|
/* 02856EDC */ _t517 = cpu->r[1] + 0x00000054u;
|
|
/* 02856EDC */ rbrew_write32(cpu->mem, _t517, cpu->r[5]);
|
|
/* 02856EE0 */ /* nop */
|
|
/* 02856EE4 */ cpu->f[0] = (double)(float)cpu->f[7];
|
|
/* 02856EE8 */ /* nop */
|
|
/* 02856EEC */ _t518 = cpu->r[10] + 0x0000006Cu;
|
|
/* 02856EEC */ rbrew_write_f32(cpu->mem, _t518, cpu->f[0]);
|
|
/* 02856EF0 */ cpu->r[11] = cpu->r[11] + 0x00000030u;
|
|
/* 02856EF4 */ _t519 = cpu->r[10] + 0x00000064u;
|
|
/* 02856EF4 */ rbrew_write_f32(cpu->mem, _t519, cpu->f[8]);
|
|
/* 02856EF8 */ cpu->r[29] = cpu->r[29] + 0x0000002Cu;
|
|
/* 02856EFC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02856EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02856F00 */ _t520 = cpu->r[10] + 0x00000068u;
|
|
/* 02856F00 */ rbrew_write_f32(cpu->mem, _t520, cpu->f[11]);
|
|
/* 02856F04 */ _t521 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856F04 */ _t522 = _t521 & 0x00000001u;
|
|
/* 02856F04 */ if (_t522) goto L_02856F08; else goto L_02856A18;
|
|
L_02856F08: ; // 0x2856f08
|
|
/* 02856F08 */ cpu->r[4] = 0x00000001u;
|
|
/* 02856F0C */ _t523 = cpu->r[27] + 0x00000011u;
|
|
/* 02856F0C */ rbrew_write8(cpu->mem, _t523, (uint8_t)cpu->r[4]);
|
|
/* 02856F10 */ _t524 = cpu->r[26] + 0x00000008u;
|
|
/* 02856F10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t524);
|
|
/* 02856F14 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02856F18 */ cpu->r[3] = 0x00000040u;
|
|
/* 02856F1C */ _t525 = cpu->r[10] + cpu->r[26];
|
|
/* 02856F1C */ cpu->r[4] = rbrew_read32(cpu->mem, _t525);
|
|
/* 02856F20 */ cpu->r[5] = cpu->r[24];
|
|
/* 02856F24 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
L_02856F28: ; // 0x2856f28
|
|
/* 02856F28 */ /* nop */
|
|
/* 02856F2C */ _t526 = cpu->r[1] + 0x000000E0u;
|
|
/* 02856F2C */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t526);
|
|
/* 02856F30 */ _t527 = cpu->r[1] + 0x000000C0u;
|
|
/* 02856F30 */ cpu->f[20] = rbrew_read_f32(cpu->mem, _t527);
|
|
/* 02856F34 */ _t528 = cpu->r[1] + 0x000000D8u;
|
|
/* 02856F34 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t528);
|
|
/* 02856F38 */ _t529 = cpu->r[1] + 0x000000B0u;
|
|
/* 02856F38 */ cpu->f[19] = rbrew_read_f32(cpu->mem, _t529);
|
|
/* 02856F3C */ _t530 = cpu->r[1] + 0x000000B8u;
|
|
/* 02856F3C */ cpu->f[20] = rbrew_read_f64(cpu->mem, _t530);
|
|
/* 02856F40 */ _t531 = cpu->r[1] + 0x000000A8u;
|
|
/* 02856F40 */ cpu->f[19] = rbrew_read_f64(cpu->mem, _t531);
|
|
/* 02856F44 */ _t532 = cpu->r[1] + 0x00000100u;
|
|
/* 02856F44 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t532);
|
|
/* 02856F48 */ _t533 = cpu->r[1] + 0x000000D0u;
|
|
/* 02856F48 */ cpu->f[21] = rbrew_read_f32(cpu->mem, _t533);
|
|
/* 02856F4C */ _t534 = cpu->r[1] + 0x000000F8u;
|
|
/* 02856F4C */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t534);
|
|
/* 02856F50 */ _t535 = cpu->r[1] + 0x000000C8u;
|
|
/* 02856F50 */ cpu->f[21] = rbrew_read_f64(cpu->mem, _t535);
|
|
/* 02856F54 */ _t536 = cpu->r[1] + 0x00000120u;
|
|
/* 02856F54 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t536);
|
|
/* 02856F58 */ _t537 = cpu->r[1] + 0x000000F0u;
|
|
/* 02856F58 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t537);
|
|
/* 02856F5C */ _t538 = cpu->r[1] + 0x00000118u;
|
|
/* 02856F5C */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t538);
|
|
/* 02856F60 */ _t539 = cpu->r[1] + 0x000000E8u;
|
|
/* 02856F60 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t539);
|
|
/* 02856F64 */ _t540 = cpu->r[1] + 0x00000140u;
|
|
/* 02856F64 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t540);
|
|
/* 02856F68 */ _t541 = cpu->r[1] + 0x00000130u;
|
|
/* 02856F68 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t541);
|
|
/* 02856F6C */ _t542 = cpu->r[1] + 0x000000A0u;
|
|
/* 02856F6C */ cpu->f[18] = rbrew_read_f32(cpu->mem, _t542);
|
|
/* 02856F70 */ _t543 = cpu->r[1] + 0x00000128u;
|
|
/* 02856F70 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t543);
|
|
/* 02856F74 */ _t544 = cpu->r[1] + 0x00000150u;
|
|
/* 02856F74 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t544);
|
|
/* 02856F78 */ _t545 = cpu->r[1] + 0x00000098u;
|
|
/* 02856F78 */ cpu->f[18] = rbrew_read_f64(cpu->mem, _t545);
|
|
/* 02856F7C */ _t546 = cpu->r[1] + 0x00000148u;
|
|
/* 02856F7C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t546);
|
|
/* 02856F80 */ _t547 = cpu->r[1] + 0x00000090u;
|
|
/* 02856F80 */ cpu->f[17] = rbrew_read_f32(cpu->mem, _t547);
|
|
/* 02856F84 */ _t548 = cpu->r[1] + 0x00000170u;
|
|
/* 02856F84 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t548);
|
|
/* 02856F88 */ _t549 = cpu->r[1] + 0x00000088u;
|
|
/* 02856F88 */ cpu->f[17] = rbrew_read_f64(cpu->mem, _t549);
|
|
/* 02856F8C */ _t550 = cpu->r[1] + 0x00000168u;
|
|
/* 02856F8C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t550);
|
|
/* 02856F90 */ _t551 = cpu->r[1] + 0x00000138u;
|
|
/* 02856F90 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t551);
|
|
/* 02856F94 */ _t552 = cpu->r[1] + 0x00000160u;
|
|
/* 02856F94 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t552);
|
|
/* 02856F98 */ _t553 = cpu->r[1] + 0x00000110u;
|
|
/* 02856F98 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t553);
|
|
/* 02856F9C */ _t554 = cpu->r[1] + 0x00000158u;
|
|
/* 02856F9C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t554);
|
|
/* 02856FA0 */ _t555 = cpu->r[1] + 0x00000108u;
|
|
/* 02856FA0 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t555);
|
|
/* 02856FA4 */ _t556 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02856FA4 */ _t557 = _t556 & 0x00000001u;
|
|
/* 02856FA4 */ if (_t557) goto L_02856FA8; // else: addr-0 trap, fall-through
|
|
L_02856FA8: ; // 0x2856fa8
|
|
/* 02856FA8 */ _t558 = cpu->r[1] + 0x0000017Cu;
|
|
/* 02856FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t558);
|
|
/* 02856FAC */ cpu->lr = cpu->r[0];
|
|
/* 02856FB0 */ cpu->r[1] = cpu->r[1] + 0x00000178u;
|
|
/* 02856FB4 */ return;
|
|
}
|
|
|
|
// fn_02856FB8 @ 0x2856fb8
|
|
void Gambit_fn_02856FB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02856FB8: ; // 0x2856fb8
|
|
/* 02856FB8 */ _t0 = cpu->r[3] + 0x000000A4u;
|
|
/* 02856FB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02856FBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02856FC0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02856FC0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02856FC0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02856FC0 */ goto L_02856FC4;
|
|
L_02856FC4: ; // 0x2856fc4
|
|
/* 02856FC4 */ _t3 = cpu->r[3] + 0x0000009Cu;
|
|
/* 02856FC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02856FC8 */ rbrew_dispatch(cpu, 0x02d05888u); return;
|
|
}
|
|
|
|
// fn_02856FCC @ 0x2856fcc
|
|
void Gambit_fn_02856FCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02856FCC: ; // 0x2856fcc
|
|
/* 02856FCC */ _t0 = cpu->r[1] + 0xFFFFFE80u;
|
|
/* 02856FCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02856FCC */ cpu->r[1] = _t0;
|
|
/* 02856FD0 */ /* nop */
|
|
/* 02856FD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02856FD8 */ _t1 = cpu->r[1] + 0x00000140u;
|
|
/* 02856FD8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 02856FDC */ /* nop */
|
|
/* 02856FE0 */ _t2 = cpu->r[1] + 0x00000148u;
|
|
/* 02856FE0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[28]);
|
|
/* 02856FE4 */ _t3 = cpu->r[1] + 0x00000130u;
|
|
/* 02856FE4 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[27]);
|
|
/* 02856FE8 */ _t4 = cpu->r[1] + 0x00000160u;
|
|
/* 02856FE8 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02856FEC */ /* nop */
|
|
/* 02856FF0 */ _t5 = cpu->r[1] + 0x00000138u;
|
|
/* 02856FF0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[27]);
|
|
/* 02856FF4 */ /* nop */
|
|
/* 02856FF8 */ _t6 = cpu->r[1] + 0x00000168u;
|
|
/* 02856FF8 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 02856FFC */ _t7 = cpu->r[1] + 0x00000150u;
|
|
/* 02856FFC */ rbrew_write_f64(cpu->mem, _t7, cpu->f[29]);
|
|
/* 02857000 */ _t8 = cpu->r[1] + 0x00000170u;
|
|
/* 02857000 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02857004 */ /* nop */
|
|
/* 02857008 */ _t9 = cpu->r[1] + 0x00000158u;
|
|
/* 02857008 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
|
|
/* 0285700C */ /* nop */
|
|
/* 02857010 */ _t10 = cpu->r[1] + 0x00000184u;
|
|
/* 02857010 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02857014 */ cpu->r[30] = cpu->r[4];
|
|
/* 02857018 */ _t11 = cpu->r[1] + 0x00000178u;
|
|
/* 02857018 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]);
|
|
/* 0285701C */ cpu->r[29] = cpu->r[3];
|
|
/* 02857020 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 02857020 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02857024 */ cpu->r[8] = cpu->r[1] + 0x00000038u;
|
|
/* 02857028 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 0285702C */ _t13 = cpu->r[30] + 0x00000004u;
|
|
/* 0285702C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02857030 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857030 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02857030 */ if (_t15) goto L_02857068; else goto L_02857034;
|
|
L_02857034: ; // 0x2857034
|
|
/* 02857034 */ cpu->r[5] = 0x00000003u;
|
|
/* 02857038 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 0285703C */ cpu->ctr = cpu->r[5];
|
|
/* 02857040 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
|
|
L_02857044: ; // 0x2857044
|
|
/* 02857044 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02857044 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02857048 */ _t17 = cpu->r[4] + 0x00000004u;
|
|
/* 02857048 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 0285704C */ _t18 = cpu->r[11] + 0x00000008u;
|
|
/* 0285704C */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02857050 */ _t19 = cpu->r[4] + 0x00000008u;
|
|
/* 02857050 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02857054 */ _t20 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02857054 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02857058 */ _t21 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02857058 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 0285705C */ _t22 = cpu->r[11] + 0x00000010u;
|
|
/* 0285705C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285705C */ cpu->r[11] = _t22;
|
|
/* 02857060 */ _t23 = cpu->r[4] + 0x00000010u;
|
|
/* 02857060 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02857060 */ cpu->r[4] = _t23;
|
|
/* 02857064 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02857064 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02857064 */ _t25 = _t24 >> (0x00000002u & 31u);
|
|
/* 02857064 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02857064 */ if (_t26) goto L_02857044; else goto L_02857068;
|
|
L_02857068: ; // 0x2857068
|
|
/* 02857068 */ cpu->r[6] = 0x10130000u;
|
|
/* 0285706C */ cpu->r[5] = 0x10130000u;
|
|
/* 02857070 */ _t27 = cpu->r[6] + 0x00001A14u;
|
|
/* 02857070 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02857074 */ _t28 = cpu->r[5] + 0x00001A20u;
|
|
/* 02857074 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02857078 */ _t29 = cpu->r[1] + 0x00000070u;
|
|
/* 02857078 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[30]);
|
|
/* 0285707C */ _t30 = cpu->r[1] + 0x00000074u;
|
|
/* 0285707C */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]);
|
|
/* 02857080 */ _t31 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02857080 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[30]);
|
|
/* 02857084 */ _t32 = cpu->r[1] + 0x00000068u;
|
|
/* 02857084 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[30]);
|
|
/* 02857088 */ /* nop */
|
|
/* 0285708C */ cpu->r[11] = cpu->r[1] + 0x00000038u;
|
|
/* 02857090 */ /* nop */
|
|
/* 02857094 */ /* nop */
|
|
/* 02857098 */ cpu->r[5] = cpu->r[1] + 0x00000088u;
|
|
/* 0285709C */ /* nop */
|
|
/* 028570A0 */ /* nop */
|
|
/* 028570A4 */ /* nop */
|
|
/* 028570A8 */ /* nop */
|
|
/* 028570AC */ /* nop */
|
|
/* 028570B0 */ /* nop */
|
|
/* 028570B4 */ /* nop */
|
|
/* 028570B8 */ /* nop */
|
|
/* 028570BC */ /* nop */
|
|
/* 028570C0 */ /* nop */
|
|
/* 028570C4 */ /* nop */
|
|
/* 028570C8 */ /* nop */
|
|
/* 028570CC */ /* nop */
|
|
/* 028570D0 */ /* nop */
|
|
/* 028570D4 */ /* nop */
|
|
/* 028570D8 */ /* nop */
|
|
/* 028570DC */ /* nop */
|
|
/* 028570E0 */ /* nop */
|
|
/* 028570E4 */ /* nop */
|
|
/* 028570E8 */ /* nop */
|
|
/* 028570EC */ /* nop */
|
|
/* 028570F0 */ /* nop */
|
|
/* 028570F4 */ /* nop */
|
|
/* 028570F8 */ /* nop */
|
|
/* 028570FC */ /* nop */
|
|
/* 02857100 */ /* nop */
|
|
/* 02857104 */ /* nop */
|
|
/* 02857108 */ /* nop */
|
|
/* 0285710C */ /* nop */
|
|
/* 02857110 */ /* nop */
|
|
/* 02857114 */ /* nop */
|
|
/* 02857118 */ /* nop */
|
|
/* 0285711C */ /* nop */
|
|
/* 02857120 */ /* nop */
|
|
/* 02857124 */ /* nop */
|
|
/* 02857128 */ /* nop */
|
|
/* 0285712C */ /* nop */
|
|
/* 02857130 */ /* nop */
|
|
/* 02857134 */ /* nop */
|
|
/* 02857138 */ /* nop */
|
|
/* 0285713C */ /* nop */
|
|
/* 02857140 */ /* nop */
|
|
/* 02857144 */ /* nop */
|
|
/* 02857148 */ /* nop */
|
|
/* 0285714C */ /* nop */
|
|
/* 02857150 */ /* nop */
|
|
/* 02857154 */ /* nop */
|
|
/* 02857158 */ /* nop */
|
|
/* 0285715C */ /* nop */
|
|
/* 02857160 */ /* nop */
|
|
/* 02857164 */ /* nop */
|
|
/* 02857168 */ /* nop */
|
|
/* 0285716C */ /* nop */
|
|
/* 02857170 */ _t33 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02857170 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02857174 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02857178 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857178 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02857178 */ if (_t35) goto L_028571B0; else goto L_0285717C;
|
|
L_0285717C: ; // 0x285717c
|
|
/* 0285717C */ cpu->r[7] = 0x00000003u;
|
|
/* 02857180 */ cpu->r[5] = cpu->r[10] + 0xFFFFFFFCu;
|
|
/* 02857184 */ cpu->ctr = cpu->r[7];
|
|
/* 02857188 */ cpu->r[6] = cpu->r[1] + 0x00000034u;
|
|
L_0285718C: ; // 0x285718c
|
|
/* 0285718C */ _t36 = cpu->r[5] + 0x00000004u;
|
|
/* 0285718C */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02857190 */ _t37 = cpu->r[6] + 0x00000004u;
|
|
/* 02857190 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 02857194 */ _t38 = cpu->r[5] + 0x00000008u;
|
|
/* 02857194 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02857198 */ _t39 = cpu->r[6] + 0x00000008u;
|
|
/* 02857198 */ rbrew_write32(cpu->mem, _t39, cpu->r[9]);
|
|
/* 0285719C */ _t40 = cpu->r[5] + 0x0000000Cu;
|
|
/* 0285719C */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 028571A0 */ _t41 = cpu->r[6] + 0x0000000Cu;
|
|
/* 028571A0 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 028571A4 */ _t42 = cpu->r[5] + 0x00000010u;
|
|
/* 028571A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 028571A4 */ cpu->r[5] = _t42;
|
|
/* 028571A8 */ _t43 = cpu->r[6] + 0x00000010u;
|
|
/* 028571A8 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 028571A8 */ cpu->r[6] = _t43;
|
|
/* 028571AC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028571AC */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028571AC */ _t45 = _t44 >> (0x00000002u & 31u);
|
|
/* 028571AC */ _t46 = _t45 & 0x00000001u;
|
|
/* 028571AC */ if (_t46) goto L_0285718C; else goto L_028571B0;
|
|
L_028571B0: ; // 0x28571b0
|
|
/* 028571B0 */ _t47 = cpu->r[1] + 0x0000006Cu;
|
|
/* 028571B0 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[30]);
|
|
/* 028571B4 */ cpu->r[11] = cpu->r[1] + 0x00000088u;
|
|
/* 028571B8 */ _t48 = cpu->r[1] + 0x00000068u;
|
|
/* 028571B8 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[30]);
|
|
/* 028571BC */ cpu->r[5] = cpu->r[1] + 0x00000038u;
|
|
/* 028571C0 */ _t49 = cpu->r[1] + 0x00000074u;
|
|
/* 028571C0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[31]);
|
|
/* 028571C4 */ _t50 = cpu->r[1] + 0x00000070u;
|
|
/* 028571C4 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[30]);
|
|
/* 028571C8 */ /* nop */
|
|
/* 028571CC */ /* nop */
|
|
/* 028571D0 */ /* nop */
|
|
/* 028571D4 */ /* nop */
|
|
/* 028571D8 */ /* nop */
|
|
/* 028571DC */ /* nop */
|
|
/* 028571E0 */ /* nop */
|
|
/* 028571E4 */ /* nop */
|
|
/* 028571E8 */ /* nop */
|
|
/* 028571EC */ /* nop */
|
|
/* 028571F0 */ /* nop */
|
|
/* 028571F4 */ /* nop */
|
|
/* 028571F8 */ /* nop */
|
|
/* 028571FC */ /* nop */
|
|
/* 02857200 */ /* nop */
|
|
/* 02857204 */ /* nop */
|
|
/* 02857208 */ /* nop */
|
|
/* 0285720C */ cpu->r[4] = cpu->r[1] + 0x000000C8u;
|
|
/* 02857210 */ /* nop */
|
|
/* 02857214 */ /* nop */
|
|
/* 02857218 */ /* nop */
|
|
/* 0285721C */ /* nop */
|
|
/* 02857220 */ /* nop */
|
|
/* 02857224 */ /* nop */
|
|
/* 02857228 */ /* nop */
|
|
/* 0285722C */ /* nop */
|
|
/* 02857230 */ /* nop */
|
|
/* 02857234 */ /* nop */
|
|
/* 02857238 */ /* nop */
|
|
/* 0285723C */ /* nop */
|
|
/* 02857240 */ /* nop */
|
|
/* 02857244 */ /* nop */
|
|
/* 02857248 */ /* nop */
|
|
/* 0285724C */ /* nop */
|
|
/* 02857250 */ /* nop */
|
|
/* 02857254 */ /* nop */
|
|
/* 02857258 */ /* nop */
|
|
/* 0285725C */ /* nop */
|
|
/* 02857260 */ /* nop */
|
|
/* 02857264 */ /* nop */
|
|
/* 02857268 */ /* nop */
|
|
/* 0285726C */ /* nop */
|
|
/* 02857270 */ /* nop */
|
|
/* 02857274 */ /* nop */
|
|
/* 02857278 */ /* nop */
|
|
/* 0285727C */ /* nop */
|
|
/* 02857280 */ /* nop */
|
|
/* 02857284 */ /* nop */
|
|
/* 02857288 */ /* nop */
|
|
/* 0285728C */ /* nop */
|
|
/* 02857290 */ /* nop */
|
|
/* 02857294 */ /* nop */
|
|
/* 02857298 */ /* nop */
|
|
/* 0285729C */ /* nop */
|
|
/* 028572A0 */ /* nop */
|
|
/* 028572A4 */ /* nop */
|
|
/* 028572A8 */ /* nop */
|
|
/* 028572AC */ _t51 = cpu->r[30] + 0x00000040u;
|
|
/* 028572AC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 028572B0 */ _t52 = cpu->r[30] + 0x00000030u;
|
|
/* 028572B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 028572B4 */ _t53 = cpu->r[30] + 0x00000010u;
|
|
/* 028572B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 028572B8 */ cpu->f[0] = cpu->f[7] - cpu->f[9];
|
|
/* 028572BC */ _t54 = cpu->r[30] + 0x00000048u;
|
|
/* 028572BC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 028572C0 */ _t55 = cpu->r[30] + 0x00000038u;
|
|
/* 028572C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 028572C4 */ _t56 = cpu->r[30] + 0x00000020u;
|
|
/* 028572C4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 028572C8 */ _t57 = cpu->r[1] + 0x00000078u;
|
|
/* 028572C8 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[0]);
|
|
/* 028572CC */ _t58 = cpu->r[30] + 0x0000002Cu;
|
|
/* 028572CC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 028572D0 */ cpu->f[9] = cpu->f[9] - cpu->f[13];
|
|
/* 028572D4 */ _t59 = cpu->r[30] + 0x00000044u;
|
|
/* 028572D4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 028572D8 */ _t60 = cpu->r[30] + 0x00000014u;
|
|
/* 028572D8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 028572DC */ _t61 = cpu->r[1] + 0x00000080u;
|
|
/* 028572DC */ rbrew_write_f32(cpu->mem, _t61, cpu->f[9]);
|
|
/* 028572E0 */ _t62 = cpu->r[30] + 0x00000034u;
|
|
/* 028572E0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 028572E4 */ cpu->f[0] = cpu->f[8] - cpu->f[10];
|
|
/* 028572E8 */ _t63 = cpu->r[30] + 0x0000004Cu;
|
|
/* 028572E8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 028572EC */ _t64 = cpu->r[30] + 0x00000028u;
|
|
/* 028572EC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 028572F0 */ cpu->f[7] = cpu->f[11] - cpu->f[7];
|
|
/* 028572F4 */ _t65 = cpu->r[1] + 0x00000028u;
|
|
/* 028572F4 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[0]);
|
|
/* 028572F8 */ _t66 = cpu->r[30] + 0x00000018u;
|
|
/* 028572F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 028572FC */ _t67 = cpu->r[30] + 0x00000024u;
|
|
/* 028572FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02857300 */ _t68 = cpu->r[1] + 0x00000034u;
|
|
/* 02857300 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[12]);
|
|
/* 02857304 */ _t69 = cpu->r[1] + 0x00000084u;
|
|
/* 02857304 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[10]);
|
|
/* 02857308 */ cpu->f[10] = cpu->f[9] - cpu->f[13];
|
|
/* 0285730C */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 0285730C */ cpu->r[12] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02857310 */ cpu->f[8] = cpu->f[11] - cpu->f[6];
|
|
/* 02857314 */ _t71 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02857314 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[7]);
|
|
/* 02857318 */ _t72 = cpu->r[1] + 0x00000030u;
|
|
/* 02857318 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[10]);
|
|
/* 0285731C */ _t73 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285731C */ rbrew_write_f32(cpu->mem, _t73, cpu->f[8]);
|
|
/* 02857320 */ _t74 = cpu->r[12] + 0x00000008u;
|
|
/* 02857320 */ cpu->r[26] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02857324 */ cpu->r[25] = 0x00000000u;
|
|
/* 02857328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0285732C */ cpu->r[31] = cpu->r[12] + 0x00000020u;
|
|
/* 02857330 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857330 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02857330 */ if (_t76) goto L_02857510; else goto L_02857334;
|
|
L_02857334: ; // 0x2857334
|
|
/* 02857334 */ cpu->r[28] = cpu->r[1] + 0x00000078u;
|
|
/* 02857338 */ cpu->r[27] = cpu->r[1] + 0x00000028u;
|
|
/* 0285733C */ cpu->r[24] = cpu->r[1] + 0x00000008u;
|
|
/* 02857340 */ cpu->r[23] = cpu->r[1] + 0x00000018u;
|
|
L_02857344: ; // 0x2857344
|
|
/* 02857344 */ _t77 = cpu->r[31] + 0x00000008u;
|
|
/* 02857344 */ cpu->r[7] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02857348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285734C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285734C */ _t79 = _t78 & 0x00000001u;
|
|
/* 0285734C */ if (_t79) goto L_02857504; else goto L_02857350;
|
|
L_02857350: ; // 0x2857350
|
|
/* 02857350 */ _t80 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02857350 */ cpu->r[10] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02857354 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02857354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02857358 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857358 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02857358 */ if (_t82) goto L_02857388; else goto L_0285735C;
|
|
L_0285735C: ; // 0x285735c
|
|
/* 0285735C */ _t83 = cpu->r[30] + 0x00000050u;
|
|
/* 0285735C */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02857360 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02857360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02857364 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857364 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02857364 */ if (_t85) goto L_02857378; else goto L_02857368;
|
|
L_02857368: ; // 0x2857368
|
|
/* 02857368 */ cpu->r[22] = cpu->r[29] + 0x0000017Cu;
|
|
/* 0285736C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[25]);
|
|
/* 02857370 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857370 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02857370 */ if (_t87) goto L_028573D4; else goto L_02857374;
|
|
L_02857374: ; // 0x2857374
|
|
/* 02857374 */ goto L_02857394;
|
|
L_02857378: ; // 0x2857378
|
|
/* 02857378 */ cpu->r[22] = cpu->r[29] + 0x000000C0u;
|
|
/* 0285737C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[25]);
|
|
/* 02857380 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857380 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02857380 */ if (_t89) goto L_028573D4; else goto L_02857384;
|
|
L_02857384: ; // 0x2857384
|
|
/* 02857384 */ goto L_02857394;
|
|
L_02857388: ; // 0x2857388
|
|
/* 02857388 */ cpu->r[22] = cpu->r[29] + 0x00000004u;
|
|
/* 0285738C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[25]);
|
|
/* 02857390 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857390 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02857390 */ if (_t91) goto L_028573D4; else goto L_02857394;
|
|
L_02857394: ; // 0x2857394
|
|
/* 02857394 */ cpu->r[3] = cpu->r[22];
|
|
/* 02857398 */ Gambit_fn_02856FB8(cpu);
|
|
/* 0285739C */ _t92 = cpu->r[22] + 0x000000A8u;
|
|
/* 0285739C */ cpu->r[3] = rbrew_read32(cpu->mem, _t92);
|
|
/* 028573A0 */ cpu->r[4] = 0x00000010u;
|
|
/* 028573A4 */ cpu->r[5] = cpu->r[1] + 0x000000C8u;
|
|
/* 028573A8 */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
/* 028573AC */ _t93 = cpu->r[22] + 0x000000B4u;
|
|
/* 028573AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t93);
|
|
/* 028573B0 */ cpu->r[4] = 0x00000004u;
|
|
/* 028573B4 */ cpu->r[5] = cpu->r[30] + 0x00000030u;
|
|
/* 028573B8 */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
/* 028573BC */ _t94 = cpu->r[22] + 0x000000B8u;
|
|
/* 028573BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t94);
|
|
/* 028573C0 */ cpu->r[4] = 0x00000004u;
|
|
/* 028573C4 */ cpu->r[5] = cpu->r[28];
|
|
/* 028573C8 */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
/* 028573CC */ _t95 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028573CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t95);
|
|
/* 028573D0 */ cpu->r[25] = cpu->r[22];
|
|
L_028573D4: ; // 0x28573d4
|
|
/* 028573D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028573D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028573D8 */ cpu->r[4] = 0x00000004u;
|
|
/* 028573DC */ _t96 = cpu->r[22] + 0x000000ACu;
|
|
/* 028573DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t96);
|
|
/* 028573E0 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028573E0 */ _t98 = _t97 & 0x00000001u;
|
|
/* 028573E0 */ if (_t98) goto L_02857464; else goto L_028573E4;
|
|
L_028573E4: ; // 0x28573e4
|
|
/* 028573E4 */ cpu->r[5] = cpu->r[30] + 0x00000010u;
|
|
/* 028573E8 */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
/* 028573EC */ _t99 = cpu->r[22] + 0x000000B0u;
|
|
/* 028573EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 028573F0 */ cpu->r[5] = cpu->r[27];
|
|
/* 028573F4 */ cpu->r[4] = 0x00000004u;
|
|
/* 028573F8 */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
/* 028573FC */ _t100 = cpu->r[31] + 0x00000008u;
|
|
/* 028573FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02857400 */ _t101 = cpu->r[30] + 0x00000000u;
|
|
/* 02857400 */ cpu->r[9] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02857404 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000070u);
|
|
/* 02857408 */ _t102 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02857408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0285740C */ _t103 = cpu->r[31] + 0x00000004u;
|
|
/* 0285740C */ cpu->r[5] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02857410 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02857414 */ cpu->r[11] = cpu->r[9] + cpu->r[7];
|
|
/* 02857418 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000001Cu);
|
|
/* 0285741C */ _t104 = cpu->r[11] + 0x00000014u;
|
|
/* 0285741C */ cpu->r[6] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02857420 */ cpu->r[5] = 0x0000001Cu;
|
|
/* 02857424 */ cpu->r[3] = 0x00000000u;
|
|
/* 02857428 */ cpu->r[6] = cpu->r[6] + cpu->r[0];
|
|
/* 0285742C */ rbrew_dispatch(cpu, 0x02d05fb0u);
|
|
/* 02857430 */ _t105 = cpu->r[31] + 0x00000000u;
|
|
/* 02857430 */ cpu->r[11] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02857434 */ _t106 = cpu->r[22] + 0x0000002Cu;
|
|
/* 02857434 */ cpu->r[4] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02857438 */ cpu->r[3] = cpu->r[11] + 0x00000010u;
|
|
/* 0285743C */ rbrew_dispatch(cpu, 0x02d06150u);
|
|
/* 02857440 */ _t107 = cpu->r[31] + 0x00000008u;
|
|
/* 02857440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02857444 */ cpu->r[7] = 0x00000000u;
|
|
/* 02857448 */ cpu->r[8] = 0x00000001u;
|
|
/* 0285744C */ _t108 = cpu->r[29] + 0x00000244u;
|
|
/* 0285744C */ cpu->r[6] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02857450 */ cpu->r[3] = 0x00000013u;
|
|
/* 02857454 */ cpu->r[5] = 0x00000004u;
|
|
/* 02857458 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285745C */ rbrew_dispatch(cpu, 0x02d05930u);
|
|
/* 02857460 */ goto L_02857504;
|
|
L_02857464: ; // 0x2857464
|
|
/* 02857464 */ _t109 = cpu->r[1] + 0x00000014u;
|
|
/* 02857464 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[30]);
|
|
/* 02857468 */ cpu->r[5] = cpu->r[24];
|
|
/* 0285746C */ _t110 = cpu->r[1] + 0x00000010u;
|
|
/* 0285746C */ rbrew_write_f32(cpu->mem, _t110, cpu->f[30]);
|
|
/* 02857470 */ _t111 = cpu->r[24] + 0x00000000u;
|
|
/* 02857470 */ rbrew_write_f32(cpu->mem, _t111, cpu->f[30]);
|
|
/* 02857474 */ _t112 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857474 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[30]);
|
|
/* 02857478 */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
/* 0285747C */ _t113 = cpu->r[22] + 0x000000B0u;
|
|
/* 0285747C */ cpu->r[3] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02857480 */ _t114 = cpu->r[23] + 0x00000000u;
|
|
/* 02857480 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[31]);
|
|
/* 02857484 */ _t115 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857484 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[31]);
|
|
/* 02857488 */ _t116 = cpu->r[1] + 0x00000034u;
|
|
/* 02857488 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 0285748C */ _t117 = cpu->r[1] + 0x00000020u;
|
|
/* 0285748C */ rbrew_write_f32(cpu->mem, _t117, cpu->f[31]);
|
|
/* 02857490 */ cpu->r[5] = cpu->r[23];
|
|
/* 02857494 */ cpu->r[4] = 0x00000004u;
|
|
/* 02857498 */ _t118 = cpu->r[1] + 0x00000024u;
|
|
/* 02857498 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[9]);
|
|
/* 0285749C */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
/* 028574A0 */ _t119 = cpu->r[31] + 0x00000008u;
|
|
/* 028574A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t119);
|
|
/* 028574A4 */ _t120 = cpu->r[30] + 0x00000000u;
|
|
/* 028574A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t120);
|
|
/* 028574A8 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000070u);
|
|
/* 028574AC */ _t121 = cpu->r[9] + 0x0000001Cu;
|
|
/* 028574AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 028574B0 */ _t122 = cpu->r[31] + 0x00000004u;
|
|
/* 028574B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t122);
|
|
/* 028574B4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028574B8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000001Cu);
|
|
/* 028574BC */ cpu->r[11] = cpu->r[9] + cpu->r[7];
|
|
/* 028574C0 */ _t123 = cpu->r[11] + 0x00000014u;
|
|
/* 028574C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t123);
|
|
/* 028574C4 */ cpu->r[5] = 0x0000001Cu;
|
|
/* 028574C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 028574CC */ cpu->r[6] = cpu->r[6] + cpu->r[0];
|
|
/* 028574D0 */ rbrew_dispatch(cpu, 0x02d05fb0u);
|
|
/* 028574D4 */ _t124 = cpu->r[31] + 0x00000000u;
|
|
/* 028574D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t124);
|
|
/* 028574D8 */ _t125 = cpu->r[22] + 0x0000002Cu;
|
|
/* 028574D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t125);
|
|
/* 028574DC */ cpu->r[3] = cpu->r[11] + 0x00000010u;
|
|
/* 028574E0 */ rbrew_dispatch(cpu, 0x02d06150u);
|
|
/* 028574E4 */ _t126 = cpu->r[31] + 0x00000008u;
|
|
/* 028574E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 028574E8 */ cpu->r[7] = 0x00000000u;
|
|
/* 028574EC */ cpu->r[8] = 0x00000001u;
|
|
/* 028574F0 */ _t127 = cpu->r[29] + 0x00000244u;
|
|
/* 028574F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t127);
|
|
/* 028574F4 */ cpu->r[3] = 0x00000013u;
|
|
/* 028574F8 */ cpu->r[5] = 0x00000004u;
|
|
/* 028574FC */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02857500 */ rbrew_dispatch(cpu, 0x02d05930u);
|
|
L_02857504: ; // 0x2857504
|
|
/* 02857504 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 02857504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02857508 */ cpu->r[31] = cpu->r[31] + 0x00000010u;
|
|
/* 0285750C */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285750C */ _t129 = _t128 & 0x00000001u;
|
|
/* 0285750C */ if (_t129) goto L_02857510; else goto L_02857344;
|
|
L_02857510: ; // 0x2857510
|
|
/* 02857510 */ /* nop */
|
|
/* 02857514 */ _t130 = cpu->r[1] + 0x00000148u;
|
|
/* 02857514 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 02857518 */ _t131 = cpu->r[1] + 0x00000168u;
|
|
/* 02857518 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 0285751C */ _t132 = cpu->r[1] + 0x00000140u;
|
|
/* 0285751C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t132);
|
|
/* 02857520 */ _t133 = cpu->r[1] + 0x00000158u;
|
|
/* 02857520 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 02857524 */ _t134 = cpu->r[1] + 0x00000160u;
|
|
/* 02857524 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t134);
|
|
/* 02857528 */ _t135 = cpu->r[1] + 0x00000150u;
|
|
/* 02857528 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t135);
|
|
/* 0285752C */ _t136 = cpu->r[1] + 0x00000138u;
|
|
/* 0285752C */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 02857530 */ _t137 = cpu->r[1] + 0x00000178u;
|
|
/* 02857530 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 02857534 */ _t138 = cpu->r[1] + 0x00000130u;
|
|
/* 02857534 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t138);
|
|
/* 02857538 */ _t139 = cpu->r[1] + 0x00000170u;
|
|
/* 02857538 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t139);
|
|
/* 0285753C */ _t140 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285753C */ _t141 = _t140 & 0x00000001u;
|
|
/* 0285753C */ if (_t141) goto L_02857540; // else: addr-0 trap, fall-through
|
|
L_02857540: ; // 0x2857540
|
|
/* 02857540 */ _t142 = cpu->r[1] + 0x00000184u;
|
|
/* 02857540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02857544 */ cpu->lr = cpu->r[0];
|
|
/* 02857548 */ cpu->r[1] = cpu->r[1] + 0x00000180u;
|
|
/* 0285754C */ return;
|
|
}
|
|
|
|
// fn_02857550 @ 0x2857550
|
|
void Gambit_fn_02857550(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02857550: ; // 0x2857550
|
|
/* 02857550 */ cpu->r[0] = cpu->lr;
|
|
/* 02857554 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02857554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857554 */ cpu->r[1] = _t0;
|
|
/* 02857558 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857558 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285755C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285755C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02857560 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02857560 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02857564 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857564 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02857564 */ if (_t4) goto L_02857568; else goto L_02857578;
|
|
L_02857568: ; // 0x2857568
|
|
/* 02857568 */ cpu->r[3] = 0x000000C4u;
|
|
/* 0285756C */ Gambit_fn_02801A78(cpu);
|
|
/* 02857570 */ cpu->r[31] = cpu->r[3];
|
|
/* 02857570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02857574 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857574 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02857574 */ if (_t6) goto L_0285758C; else goto L_02857578;
|
|
L_02857578: ; // 0x2857578
|
|
/* 02857578 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285757C */ Gambit_fn_02857B50(cpu);
|
|
/* 02857580 */ cpu->r[0] = 0x10130000u;
|
|
/* 02857584 */ cpu->r[0] = cpu->r[0] + 0x00001A50u;
|
|
/* 02857588 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02857588 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_0285758C: ; // 0x285758c
|
|
/* 0285758C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285758C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02857590 */ cpu->r[3] = cpu->r[31];
|
|
/* 02857594 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02857598 */ cpu->lr = cpu->r[0];
|
|
/* 0285759C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028575A0 */ return;
|
|
}
|
|
|
|
// fn_02857554 @ 0x2857554
|
|
void Gambit_fn_02857554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02857554: ; // 0x2857554
|
|
/* 02857554 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02857554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857554 */ cpu->r[1] = _t0;
|
|
/* 02857558 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857558 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285755C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285755C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02857560 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02857560 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02857564 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857564 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02857564 */ if (_t4) goto L_02857568; else goto L_02857578;
|
|
L_02857568: ; // 0x2857568
|
|
/* 02857568 */ cpu->r[3] = 0x000000C4u;
|
|
/* 0285756C */ Gambit_fn_02801A78(cpu);
|
|
/* 02857570 */ cpu->r[31] = cpu->r[3];
|
|
/* 02857570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02857574 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857574 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02857574 */ if (_t6) goto L_0285758C; else goto L_02857578;
|
|
L_02857578: ; // 0x2857578
|
|
/* 02857578 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285757C */ Gambit_fn_02857B50(cpu);
|
|
/* 02857580 */ cpu->r[0] = 0x10130000u;
|
|
/* 02857584 */ cpu->r[0] = cpu->r[0] + 0x00001A50u;
|
|
/* 02857588 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02857588 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_0285758C: ; // 0x285758c
|
|
/* 0285758C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285758C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02857590 */ cpu->r[3] = cpu->r[31];
|
|
/* 02857594 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02857598 */ cpu->lr = cpu->r[0];
|
|
/* 0285759C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028575A0 */ return;
|
|
}
|
|
|
|
// fn_028575A4 @ 0x28575a4
|
|
void Gambit_fn_028575A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_028575A4: ; // 0x28575a4
|
|
/* 028575A4 */ cpu->r[0] = cpu->lr;
|
|
/* 028575A8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 028575A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 028575AC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 028575AC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 028575AC */ cpu->r[1] = _t1;
|
|
/* 028575B0 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 028575B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028575B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028575B8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028575B8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028575B8 */ if (_t4) goto L_028575C4; else goto L_028575BC;
|
|
L_028575BC: ; // 0x28575bc
|
|
/* 028575BC */ Gambit_fn_02858178(cpu);
|
|
/* 028575C0 */ cpu->r[0] = cpu->r[3];
|
|
L_028575C4: ; // 0x28575c4
|
|
/* 028575C4 */ cpu->r[3] = cpu->r[0];
|
|
/* 028575C8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028575C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028575CC */ cpu->lr = cpu->r[0];
|
|
/* 028575D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028575D4 */ return;
|
|
}
|
|
|
|
// fn_028575AC @ 0x28575ac
|
|
void Gambit_fn_028575AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_028575AC: ; // 0x28575ac
|
|
/* 028575AC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 028575AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028575AC */ cpu->r[1] = _t0;
|
|
/* 028575B0 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 028575B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028575B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028575B8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028575B8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 028575B8 */ if (_t3) goto L_028575C4; else goto L_028575BC;
|
|
L_028575BC: ; // 0x28575bc
|
|
/* 028575BC */ Gambit_fn_02858178(cpu);
|
|
/* 028575C0 */ cpu->r[0] = cpu->r[3];
|
|
L_028575C4: ; // 0x28575c4
|
|
/* 028575C4 */ cpu->r[3] = cpu->r[0];
|
|
/* 028575C8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028575C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028575CC */ cpu->lr = cpu->r[0];
|
|
/* 028575D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028575D4 */ return;
|
|
}
|
|
|
|
// fn_028575D8 @ 0x28575d8
|
|
void Gambit_fn_028575D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_028575D8: ; // 0x28575d8
|
|
/* 028575D8 */ cpu->r[0] = cpu->lr;
|
|
/* 028575DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028575DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028575DC */ cpu->r[1] = _t0;
|
|
/* 028575E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028575E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028575E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028575E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028575E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028575E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028575EC */ cpu->r[31] = cpu->r[4];
|
|
/* 028575F0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028575F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028575F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028575F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028575F4 */ if (_t5) goto L_02857634; else goto L_028575F8;
|
|
L_028575F8: ; // 0x28575f8
|
|
/* 028575F8 */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 028575F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028575FC */ cpu->r[0] = 0x10130000u;
|
|
/* 02857600 */ cpu->r[0] = cpu->r[0] + 0x00001A50u;
|
|
/* 02857604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02857608 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02857608 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0285760C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285760C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285760C */ if (_t9) goto L_02857618; else goto L_02857610;
|
|
L_02857610: ; // 0x2857610
|
|
/* 02857610 */ cpu->r[3] = cpu->r[30];
|
|
/* 02857614 */ Gambit_fn_028575A4(cpu);
|
|
L_02857618: ; // 0x2857618
|
|
/* 02857618 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285761C */ cpu->r[4] = 0x00000000u;
|
|
/* 02857620 */ Gambit_fn_02857C14(cpu);
|
|
/* 02857624 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02857624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02857628 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857628 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02857628 */ if (_t11) goto L_02857634; else goto L_0285762C;
|
|
L_0285762C: ; // 0x285762c
|
|
/* 0285762C */ cpu->r[3] = cpu->r[30];
|
|
/* 02857630 */ Gambit_fn_02801BB0(cpu);
|
|
L_02857634: ; // 0x2857634
|
|
/* 02857634 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02857634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02857638 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02857638 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285763C */ cpu->lr = cpu->r[0];
|
|
/* 02857640 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857640 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02857644 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02857648 */ return;
|
|
}
|
|
|
|
// fn_028575DC @ 0x28575dc
|
|
void Gambit_fn_028575DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_028575DC: ; // 0x28575dc
|
|
/* 028575DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028575DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028575DC */ cpu->r[1] = _t0;
|
|
/* 028575E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028575E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028575E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028575E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028575E8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028575E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028575EC */ cpu->r[31] = cpu->r[4];
|
|
/* 028575F0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028575F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028575F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028575F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028575F4 */ if (_t5) goto L_02857634; else goto L_028575F8;
|
|
L_028575F8: ; // 0x28575f8
|
|
/* 028575F8 */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 028575F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028575FC */ cpu->r[0] = 0x10130000u;
|
|
/* 02857600 */ cpu->r[0] = cpu->r[0] + 0x00001A50u;
|
|
/* 02857604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02857608 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02857608 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0285760C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285760C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285760C */ if (_t9) goto L_02857618; else goto L_02857610;
|
|
L_02857610: ; // 0x2857610
|
|
/* 02857610 */ cpu->r[3] = cpu->r[30];
|
|
/* 02857614 */ Gambit_fn_028575A4(cpu);
|
|
L_02857618: ; // 0x2857618
|
|
/* 02857618 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285761C */ cpu->r[4] = 0x00000000u;
|
|
/* 02857620 */ Gambit_fn_02857C14(cpu);
|
|
/* 02857624 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02857624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02857628 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857628 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02857628 */ if (_t11) goto L_02857634; else goto L_0285762C;
|
|
L_0285762C: ; // 0x285762c
|
|
/* 0285762C */ cpu->r[3] = cpu->r[30];
|
|
/* 02857630 */ Gambit_fn_02801BB0(cpu);
|
|
L_02857634: ; // 0x2857634
|
|
/* 02857634 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02857634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02857638 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02857638 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285763C */ cpu->lr = cpu->r[0];
|
|
/* 02857640 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857640 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02857644 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02857648 */ return;
|
|
}
|
|
|
|
// fn_0285764C @ 0x285764c
|
|
void Gambit_fn_0285764C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285764C: ; // 0x285764c
|
|
/* 0285764C */ _t0 = cpu->r[3] + 0x00000010u;
|
|
/* 0285764C */ cpu->r[0] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02857650 */ _t1 = cpu->r[3] + 0x00000006u;
|
|
/* 02857650 */ cpu->r[9] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02857654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02857658 */ cpu->r[10] = cpu->r[3] + cpu->r[9];
|
|
/* 0285765C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285765C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285765C */ if (_t3) goto L_02857684; else goto L_02857660;
|
|
L_02857660: ; // 0x2857660
|
|
/* 02857660 */ cpu->ctr = cpu->r[0];
|
|
L_02857664: ; // 0x2857664
|
|
/* 02857664 */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02857664 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02857668 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[4]);
|
|
/* 0285766C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285766C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285766C */ if (_t6) goto L_02857670; else goto L_02857678;
|
|
L_02857670: ; // 0x2857670
|
|
/* 02857670 */ cpu->r[3] = cpu->r[10] + 0x00000008u;
|
|
/* 02857674 */ return;
|
|
L_02857678: ; // 0x2857678
|
|
/* 02857678 */ _t7 = cpu->r[10] + 0x00000004u;
|
|
/* 02857678 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285767C */ cpu->r[10] = cpu->r[10] + cpu->r[12];
|
|
/* 02857680 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02857680 */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02857680 */ _t9 = _t8 >> (0x00000002u & 31u);
|
|
/* 02857680 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02857680 */ if (_t10) goto L_02857664; else goto L_02857684;
|
|
L_02857684: ; // 0x2857684
|
|
/* 02857684 */ cpu->r[3] = 0x00000000u;
|
|
/* 02857688 */ return;
|
|
}
|
|
|
|
// fn_0285768C @ 0x285768c
|
|
void Gambit_fn_0285768C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50;
|
|
|
|
L_0285768C: ; // 0x285768c
|
|
/* 0285768C */ cpu->r[10] = 0x00000000u;
|
|
/* 02857690 */ _t0 = cpu->r[3] + 0x00000010u;
|
|
/* 02857690 */ cpu->r[9] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02857694 */ cpu->r[12] = cpu->r[10];
|
|
/* 02857698 */ _t1 = cpu->r[3] + 0x00000006u;
|
|
/* 02857698 */ cpu->r[0] = rbrew_read16(cpu->mem, _t1);
|
|
/* 0285769C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[9]);
|
|
/* 028576A0 */ cpu->r[11] = cpu->r[3] + cpu->r[0];
|
|
/* 028576A4 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028576A4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 028576A4 */ if (_t3) goto L_028576A8; else goto L_028577E0;
|
|
L_028576A8: ; // 0x28576a8
|
|
/* 028576A8 */ cpu->r[7] = 0x474C0000u;
|
|
/* 028576AC */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 028576AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028576B0 */ cpu->r[7] = cpu->r[7] + 0x00004752u;
|
|
/* 028576B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 028576B8 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028576B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028576B8 */ if (_t6) goto L_028576BC; else goto L_028576F4;
|
|
L_028576BC: ; // 0x28576bc
|
|
/* 028576BC */ cpu->r[8] = 0x434D0000u;
|
|
/* 028576C0 */ cpu->r[8] = cpu->r[8] + 0x00004150u;
|
|
/* 028576C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 028576C8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028576C8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028576C8 */ if (_t8) goto L_028577AC; else goto L_028576CC;
|
|
L_028576CC: ; // 0x28576cc
|
|
/* 028576CC */ cpu->r[0] = 0x43570000u;
|
|
/* 028576D0 */ cpu->r[0] = cpu->r[0] | 0x00004448u;
|
|
/* 028576D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 028576D8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028576D8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028576D8 */ if (_t10) goto L_02857788; else goto L_028576DC;
|
|
L_028576DC: ; // 0x28576dc
|
|
/* 028576DC */ cpu->r[0] = 0x46490000u;
|
|
/* 028576E0 */ cpu->r[0] = cpu->r[0] | 0x00004E46u;
|
|
/* 028576E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 028576E8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028576E8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028576E8 */ if (_t12) goto L_0285772C; else goto L_028576EC;
|
|
L_028576EC: ; // 0x28576ec
|
|
/* 028576EC */ cpu->r[3] = 0x00000000u;
|
|
/* 028576F0 */ return;
|
|
L_028576F4: ; // 0x28576f4
|
|
/* 028576F4 */ cpu->r[7] = 0x474C0000u;
|
|
/* 028576F8 */ cpu->r[7] = cpu->r[7] + 0x00004752u;
|
|
/* 028576FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 02857700 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857700 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02857700 */ if (_t14) goto L_028577CC; else goto L_02857704;
|
|
L_02857704: ; // 0x2857704
|
|
/* 02857704 */ cpu->r[8] = 0x4B520000u;
|
|
/* 02857708 */ cpu->r[8] = cpu->r[8] + 0x00004E47u;
|
|
/* 0285770C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 02857710 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857710 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02857710 */ if (_t16) goto L_028577CC; else goto L_02857714;
|
|
L_02857714: ; // 0x2857714
|
|
/* 02857714 */ cpu->r[0] = 0x54470000u;
|
|
/* 02857718 */ cpu->r[0] = cpu->r[0] | 0x00004C50u;
|
|
/* 0285771C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02857720 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857720 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02857720 */ if (_t18) goto L_02857774; else goto L_02857724;
|
|
L_02857724: ; // 0x2857724
|
|
/* 02857724 */ cpu->r[3] = 0x00000000u;
|
|
/* 02857728 */ return;
|
|
L_0285772C: ; // 0x285772c
|
|
/* 0285772C */ _t19 = cpu->r[11] + 0x00000014u;
|
|
/* 0285772C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02857730 */ _t20 = cpu->r[11] + 0x00000018u;
|
|
/* 02857730 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02857734 */ cpu->r[7] = cpu->r[3] + cpu->r[8];
|
|
/* 02857738 */ cpu->r[10] = cpu->r[11] + 0x00000008u;
|
|
/* 0285773C */ _t21 = cpu->r[11] + 0x00000014u;
|
|
/* 0285773C */ rbrew_write32(cpu->mem, _t21, cpu->r[7]);
|
|
/* 02857740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02857744 */ _t22 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02857744 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02857748 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857748 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02857748 */ if (_t24) goto L_02857758; else goto L_0285774C;
|
|
L_0285774C: ; // 0x285774c
|
|
/* 0285774C */ _t25 = cpu->r[10] + 0x00000010u;
|
|
/* 0285774C */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02857750 */ cpu->r[0] = cpu->r[3] + cpu->r[6];
|
|
/* 02857754 */ _t26 = cpu->r[10] + 0x00000010u;
|
|
/* 02857754 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
L_02857758: ; // 0x2857758
|
|
/* 02857758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285775C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285775C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0285775C */ if (_t28) goto L_028577C8; else goto L_02857760;
|
|
L_02857760: ; // 0x2857760
|
|
/* 02857760 */ _t29 = cpu->r[10] + 0x00000014u;
|
|
/* 02857760 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02857764 */ cpu->r[0] = cpu->r[3] + cpu->r[6];
|
|
/* 02857768 */ _t30 = cpu->r[10] + 0x00000014u;
|
|
/* 02857768 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 0285776C */ _t31 = cpu->r[3] + 0x00000010u;
|
|
/* 0285776C */ cpu->r[9] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02857770 */ goto L_028577CC;
|
|
L_02857774: ; // 0x2857774
|
|
/* 02857774 */ _t32 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02857774 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02857778 */ cpu->r[8] = cpu->r[3] + cpu->r[9];
|
|
/* 0285777C */ _t33 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0285777C */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 02857780 */ _t34 = cpu->r[3] + 0x00000010u;
|
|
/* 02857780 */ cpu->r[9] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02857784 */ goto L_028577CC;
|
|
L_02857788: ; // 0x2857788
|
|
/* 02857788 */ _t35 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02857788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0285778C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02857790 */ cpu->r[8] = cpu->r[11] + 0x00000008u;
|
|
/* 02857794 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857794 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02857794 */ if (_t37) goto L_028577CC; else goto L_02857798;
|
|
L_02857798: ; // 0x2857798
|
|
/* 02857798 */ _t38 = cpu->r[8] + 0x00000004u;
|
|
/* 02857798 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0285779C */ cpu->r[6] = cpu->r[3] + cpu->r[7];
|
|
/* 028577A0 */ _t39 = cpu->r[8] + 0x00000004u;
|
|
/* 028577A0 */ rbrew_write32(cpu->mem, _t39, cpu->r[6]);
|
|
/* 028577A4 */ _t40 = cpu->r[3] + 0x00000010u;
|
|
/* 028577A4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t40);
|
|
/* 028577A8 */ goto L_028577CC;
|
|
L_028577AC: ; // 0x28577ac
|
|
/* 028577AC */ _t41 = cpu->r[11] + 0x00000010u;
|
|
/* 028577AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 028577B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 028577B4 */ cpu->r[7] = cpu->r[11] + 0x00000008u;
|
|
/* 028577B8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028577B8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 028577B8 */ if (_t43) goto L_028577CC; else goto L_028577BC;
|
|
L_028577BC: ; // 0x28577bc
|
|
/* 028577BC */ _t44 = cpu->r[7] + 0x00000008u;
|
|
/* 028577BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 028577C0 */ cpu->r[0] = cpu->r[3] + cpu->r[6];
|
|
/* 028577C4 */ _t45 = cpu->r[7] + 0x00000008u;
|
|
/* 028577C4 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
L_028577C8: ; // 0x28577c8
|
|
/* 028577C8 */ _t46 = cpu->r[3] + 0x00000010u;
|
|
/* 028577C8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t46);
|
|
L_028577CC: ; // 0x28577cc
|
|
/* 028577CC */ _t47 = cpu->r[11] + 0x00000004u;
|
|
/* 028577CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 028577D0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028577D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[9]);
|
|
/* 028577D8 */ cpu->r[11] = cpu->r[11] + cpu->r[7];
|
|
/* 028577DC */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028577DC */ _t49 = _t48 & 0x00000001u;
|
|
/* 028577DC */ if (_t49) goto L_028576A8; else goto L_028577E0;
|
|
L_028577E0: ; // 0x28577e0
|
|
/* 028577E0 */ cpu->r[8] = 0x46460000u;
|
|
/* 028577E4 */ cpu->r[8] = cpu->r[8] + 0x00004E55u;
|
|
/* 028577E8 */ _t50 = cpu->r[3] + 0x00000000u;
|
|
/* 028577E8 */ rbrew_write32(cpu->mem, _t50, cpu->r[8]);
|
|
/* 028577EC */ cpu->r[3] = cpu->r[10];
|
|
/* 028577F0 */ return;
|
|
}
|
|
|
|
// fn_028577F4 @ 0x28577f4
|
|
void Gambit_fn_028577F4(CPUState* cpu) {
|
|
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_028577F4: ; // 0x28577f4
|
|
/* 028577F4 */ cpu->r[0] = cpu->lr;
|
|
/* 028577F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028577F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028577F8 */ cpu->r[1] = _t0;
|
|
/* 028577FC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028577FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02857800 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857800 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02857804 */ cpu->r[30] = cpu->r[3];
|
|
/* 02857808 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02857808 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285780C */ _t4 = cpu->r[30] + 0x00000008u;
|
|
/* 0285780C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02857810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02857814 */ cpu->r[31] = cpu->r[4];
|
|
/* 02857818 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857818 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02857818 */ if (_t6) goto L_0285781C; else goto L_028578B8;
|
|
L_0285781C: ; // 0x285781c
|
|
/* 0285781C */ cpu->r[0] = 0x46460000u;
|
|
/* 02857820 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02857820 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02857824 */ cpu->r[0] = cpu->r[0] | 0x00004E55u;
|
|
/* 02857828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0285782C */ cpu->r[3] = cpu->r[31];
|
|
/* 02857830 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857830 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02857830 */ if (_t9) goto L_02857834; else goto L_0285788C;
|
|
L_02857834: ; // 0x2857834
|
|
/* 02857834 */ cpu->r[4] = 0x46490000u;
|
|
/* 02857838 */ cpu->r[4] = cpu->r[4] + 0x00004E46u;
|
|
/* 0285783C */ Gambit_fn_0285764C(cpu);
|
|
/* 02857840 */ cpu->r[5] = cpu->r[3];
|
|
/* 02857840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02857844 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857844 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02857844 */ if (_t11) goto L_028578B8; else goto L_02857848;
|
|
L_02857848: ; // 0x2857848
|
|
/* 02857848 */ cpu->r[4] = 0x4B520000u;
|
|
/* 0285784C */ cpu->r[3] = cpu->r[31];
|
|
/* 02857850 */ cpu->r[4] = cpu->r[4] + 0x00004E47u;
|
|
/* 02857854 */ Gambit_fn_0285764C(cpu);
|
|
/* 02857858 */ cpu->r[6] = cpu->r[3];
|
|
/* 0285785C */ cpu->r[3] = cpu->r[30];
|
|
/* 02857860 */ cpu->r[4] = cpu->r[31];
|
|
/* 02857864 */ Gambit_fn_02858168(cpu);
|
|
/* 02857868 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285786C */ Gambit_fn_02857A88(cpu);
|
|
/* 02857870 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02857870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02857874 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02857874 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02857878 */ cpu->lr = cpu->r[0];
|
|
/* 0285787C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285787C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02857880 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02857884 */ cpu->r[3] = 0x00000001u;
|
|
/* 02857888 */ return;
|
|
L_0285788C: ; // 0x285788c
|
|
/* 0285788C */ cpu->r[4] = 0x46460000u;
|
|
/* 02857890 */ cpu->r[5] = 0x03000000u;
|
|
/* 02857894 */ cpu->r[6] = 0x00000002u;
|
|
/* 02857898 */ cpu->r[4] = cpu->r[4] + 0x00004E54u;
|
|
/* 0285789C */ Gambit_fn_0285A050(cpu);
|
|
/* 028578A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028578A4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028578A4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 028578A4 */ if (_t16) goto L_028578B8; else goto L_028578A8;
|
|
L_028578A8: ; // 0x28578a8
|
|
/* 028578A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028578AC */ Gambit_fn_0285768C(cpu);
|
|
/* 028578B0 */ cpu->r[5] = cpu->r[3];
|
|
/* 028578B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 028578B4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028578B4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028578B4 */ if (_t18) goto L_028578B8; else goto L_02857848;
|
|
L_028578B8: ; // 0x28578b8
|
|
/* 028578B8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 028578B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028578BC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 028578BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028578C0 */ cpu->lr = cpu->r[0];
|
|
/* 028578C4 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028578C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028578C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028578CC */ cpu->r[3] = 0x00000000u;
|
|
/* 028578D0 */ return;
|
|
}
|
|
|
|
// fn_028577F8 @ 0x28577f8
|
|
void Gambit_fn_028577F8(CPUState* cpu) {
|
|
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_028577F8: ; // 0x28577f8
|
|
/* 028577F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028577F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028577F8 */ cpu->r[1] = _t0;
|
|
/* 028577FC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028577FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02857800 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857800 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02857804 */ cpu->r[30] = cpu->r[3];
|
|
/* 02857808 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02857808 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285780C */ _t4 = cpu->r[30] + 0x00000008u;
|
|
/* 0285780C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02857810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02857814 */ cpu->r[31] = cpu->r[4];
|
|
/* 02857818 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857818 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02857818 */ if (_t6) goto L_0285781C; else goto L_028578B8;
|
|
L_0285781C: ; // 0x285781c
|
|
/* 0285781C */ cpu->r[0] = 0x46460000u;
|
|
/* 02857820 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02857820 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02857824 */ cpu->r[0] = cpu->r[0] | 0x00004E55u;
|
|
/* 02857828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0285782C */ cpu->r[3] = cpu->r[31];
|
|
/* 02857830 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857830 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02857830 */ if (_t9) goto L_02857834; else goto L_0285788C;
|
|
L_02857834: ; // 0x2857834
|
|
/* 02857834 */ cpu->r[4] = 0x46490000u;
|
|
/* 02857838 */ cpu->r[4] = cpu->r[4] + 0x00004E46u;
|
|
/* 0285783C */ Gambit_fn_0285764C(cpu);
|
|
/* 02857840 */ cpu->r[5] = cpu->r[3];
|
|
/* 02857840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02857844 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857844 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02857844 */ if (_t11) goto L_028578B8; else goto L_02857848;
|
|
L_02857848: ; // 0x2857848
|
|
/* 02857848 */ cpu->r[4] = 0x4B520000u;
|
|
/* 0285784C */ cpu->r[3] = cpu->r[31];
|
|
/* 02857850 */ cpu->r[4] = cpu->r[4] + 0x00004E47u;
|
|
/* 02857854 */ Gambit_fn_0285764C(cpu);
|
|
/* 02857858 */ cpu->r[6] = cpu->r[3];
|
|
/* 0285785C */ cpu->r[3] = cpu->r[30];
|
|
/* 02857860 */ cpu->r[4] = cpu->r[31];
|
|
/* 02857864 */ Gambit_fn_02858168(cpu);
|
|
/* 02857868 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285786C */ Gambit_fn_02857A88(cpu);
|
|
/* 02857870 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02857870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02857874 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02857874 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02857878 */ cpu->lr = cpu->r[0];
|
|
/* 0285787C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285787C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02857880 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02857884 */ cpu->r[3] = 0x00000001u;
|
|
/* 02857888 */ return;
|
|
L_0285788C: ; // 0x285788c
|
|
/* 0285788C */ cpu->r[4] = 0x46460000u;
|
|
/* 02857890 */ cpu->r[5] = 0x03000000u;
|
|
/* 02857894 */ cpu->r[6] = 0x00000002u;
|
|
/* 02857898 */ cpu->r[4] = cpu->r[4] + 0x00004E54u;
|
|
/* 0285789C */ Gambit_fn_0285A050(cpu);
|
|
/* 028578A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028578A4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028578A4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 028578A4 */ if (_t16) goto L_028578B8; else goto L_028578A8;
|
|
L_028578A8: ; // 0x28578a8
|
|
/* 028578A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028578AC */ Gambit_fn_0285768C(cpu);
|
|
/* 028578B0 */ cpu->r[5] = cpu->r[3];
|
|
/* 028578B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 028578B4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028578B4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028578B4 */ if (_t18) goto L_028578B8; else goto L_02857848;
|
|
L_028578B8: ; // 0x28578b8
|
|
/* 028578B8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 028578B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028578BC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 028578BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028578C0 */ cpu->lr = cpu->r[0];
|
|
/* 028578C4 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028578C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028578C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028578CC */ cpu->r[3] = 0x00000000u;
|
|
/* 028578D0 */ return;
|
|
}
|
|
|
|
// fn_028578D4 @ 0x28578d4
|
|
void Gambit_fn_028578D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_028578D4: ; // 0x28578d4
|
|
/* 028578D4 */ cpu->r[9] = 0x101D0000u;
|
|
/* 028578D8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 028578DC */ _t0 = cpu->r[9] + 0x00000F18u;
|
|
/* 028578DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028578E0 */ cpu->r[3] = cpu->r[3] + 0x00001710u;
|
|
/* 028578E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 028578E8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028578E8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 028578E8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 028578E8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028578E8 */ goto L_028578EC;
|
|
L_028578EC: ; // 0x28578ec
|
|
/* 028578EC */ cpu->r[11] = 0x101D0000u;
|
|
/* 028578F0 */ _t4 = cpu->r[11] + 0x00000F14u;
|
|
/* 028578F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028578F4 */ cpu->r[10] = 0x00000001u;
|
|
/* 028578F8 */ cpu->r[8] = 0x101D0000u;
|
|
/* 028578FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02857900 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02857904 */ cpu->r[8] = cpu->r[8] + 0x00001714u;
|
|
/* 02857908 */ _t5 = cpu->r[11] + 0x00000F18u;
|
|
/* 02857908 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 0285790C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285790C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285790C */ if (_t7) goto L_02857910; else goto L_02857948;
|
|
L_02857910: ; // 0x2857910
|
|
/* 02857910 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02857914 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02857918 */ _t8 = cpu->r[12] + 0xFFFFD7E4u;
|
|
/* 02857918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02857918 */ cpu->r[12] = _t8;
|
|
/* 0285791C */ cpu->r[10] = cpu->r[10] + 0x00000F78u;
|
|
/* 02857920 */ cpu->r[11] = 0x00000001u;
|
|
/* 02857924 */ cpu->r[7] = 0x101D0000u;
|
|
/* 02857928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285792C */ _t9 = cpu->r[7] + 0x00000F14u;
|
|
/* 0285792C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02857930 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857930 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02857930 */ if (_t11) goto L_02857934; else goto L_02857944;
|
|
L_02857934: ; // 0x2857934
|
|
/* 02857934 */ cpu->r[9] = 0x00000001u;
|
|
/* 02857938 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285793C */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 0285793C */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02857940 */ _t13 = cpu->r[10] + 0x00000000u;
|
|
/* 02857940 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02857944: ; // 0x2857944
|
|
/* 02857944 */ _t14 = cpu->r[8] + 0x00000000u;
|
|
/* 02857944 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
L_02857948: ; // 0x2857948
|
|
/* 02857948 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 02857948 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 0285794C */ return;
|
|
}
|
|
|
|
// fn_02857950 @ 0x2857950
|
|
void Gambit_fn_02857950(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02857950: ; // 0x2857950
|
|
/* 02857950 */ _t0 = cpu->r[3] + 0x00000010u;
|
|
/* 02857950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02857954 */ cpu->r[12] = cpu->r[3] + 0x00000010u;
|
|
/* 02857958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285795C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285795C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285795C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285795C */ goto L_02857960;
|
|
L_02857960: ; // 0x2857960
|
|
/* 02857960 */ cpu->r[0] = 0x00000000u;
|
|
/* 02857964 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 02857964 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02857968 */ return;
|
|
}
|
|
|
|
// fn_0285796C @ 0x285796c
|
|
void Gambit_fn_0285796C(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_0285796C: ; // 0x285796c
|
|
/* 0285796C */ cpu->r[0] = cpu->lr;
|
|
/* 02857970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02857970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857970 */ cpu->r[1] = _t0;
|
|
/* 02857974 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02857978 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02857978 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285797C */ cpu->r[0] = 0x00000000u;
|
|
/* 02857980 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02857980 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02857984 */ cpu->r[9] = 0x00000001u;
|
|
/* 02857988 */ _t4 = cpu->r[3] + 0x00000018u;
|
|
/* 02857988 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285798C */ _t5 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0285798C */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02857990 */ _t6 = cpu->r[3] + 0x00000084u;
|
|
/* 02857990 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02857994 */ _t7 = cpu->r[3] + 0x00000030u;
|
|
/* 02857994 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02857998 */ _t8 = cpu->r[3] + 0x00000078u;
|
|
/* 02857998 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 0285799C */ _t9 = cpu->r[3] + 0x00000034u;
|
|
/* 0285799C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028579A0 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 028579A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 028579A4 */ _t11 = cpu->r[3] + 0x00000074u;
|
|
/* 028579A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 028579A8 */ _t12 = cpu->r[3] + 0x00000014u;
|
|
/* 028579A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 028579AC */ _t13 = cpu->r[3] + 0x0000007Cu;
|
|
/* 028579AC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 028579B0 */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 028579B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[5]);
|
|
/* 028579B4 */ _t15 = cpu->r[3] + 0x00000010u;
|
|
/* 028579B4 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 028579B8 */ _t16 = cpu->r[3] + 0x00000080u;
|
|
/* 028579B8 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 028579BC */ cpu->r[31] = cpu->r[3];
|
|
/* 028579C0 */ _t17 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028579C0 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 028579C4 */ rbrew_dispatch(cpu, 0x02d05878u);
|
|
/* 028579C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028579CC */ rbrew_dispatch(cpu, 0x02d05c88u);
|
|
/* 028579D0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 028579D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028579D4 */ cpu->lr = cpu->r[0];
|
|
/* 028579D8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028579D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028579DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028579E0 */ return;
|
|
}
|
|
|
|
// fn_02857970 @ 0x2857970
|
|
void Gambit_fn_02857970(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_02857970: ; // 0x2857970
|
|
/* 02857970 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02857970 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857970 */ cpu->r[1] = _t0;
|
|
/* 02857974 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857974 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02857978 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02857978 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285797C */ cpu->r[0] = 0x00000000u;
|
|
/* 02857980 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02857980 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02857984 */ cpu->r[9] = 0x00000001u;
|
|
/* 02857988 */ _t4 = cpu->r[3] + 0x00000018u;
|
|
/* 02857988 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285798C */ _t5 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0285798C */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02857990 */ _t6 = cpu->r[3] + 0x00000084u;
|
|
/* 02857990 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02857994 */ _t7 = cpu->r[3] + 0x00000030u;
|
|
/* 02857994 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02857998 */ _t8 = cpu->r[3] + 0x00000078u;
|
|
/* 02857998 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 0285799C */ _t9 = cpu->r[3] + 0x00000034u;
|
|
/* 0285799C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028579A0 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 028579A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 028579A4 */ _t11 = cpu->r[3] + 0x00000074u;
|
|
/* 028579A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 028579A8 */ _t12 = cpu->r[3] + 0x00000014u;
|
|
/* 028579A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 028579AC */ _t13 = cpu->r[3] + 0x0000007Cu;
|
|
/* 028579AC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 028579B0 */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 028579B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[5]);
|
|
/* 028579B4 */ _t15 = cpu->r[3] + 0x00000010u;
|
|
/* 028579B4 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 028579B8 */ _t16 = cpu->r[3] + 0x00000080u;
|
|
/* 028579B8 */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 028579BC */ cpu->r[31] = cpu->r[3];
|
|
/* 028579C0 */ _t17 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028579C0 */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 028579C4 */ rbrew_dispatch(cpu, 0x02d05878u);
|
|
/* 028579C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028579CC */ rbrew_dispatch(cpu, 0x02d05c88u);
|
|
/* 028579D0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 028579D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028579D4 */ cpu->lr = cpu->r[0];
|
|
/* 028579D8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028579D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028579DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028579E0 */ return;
|
|
}
|
|
|
|
// fn_028579E4 @ 0x28579e4
|
|
void Gambit_fn_028579E4(CPUState* cpu) {
|
|
uint32_t _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_028579E4: ; // 0x28579e4
|
|
/* 028579E4 */ cpu->r[0] = cpu->lr;
|
|
/* 028579E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028579E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028579E8 */ cpu->r[1] = _t0;
|
|
/* 028579EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028579EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028579F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028579F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028579F4 */ cpu->r[30] = cpu->r[4];
|
|
/* 028579F8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028579F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028579FC */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 028579FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02857A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02857A04 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857A04 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02857A04 */ if (_t6) goto L_02857A08; else goto L_02857A70;
|
|
L_02857A08: ; // 0x2857a08
|
|
/* 02857A08 */ _t7 = cpu->r[30] + 0x0000000Au;
|
|
/* 02857A08 */ cpu->r[4] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02857A0C */ cpu->r[11] = 0x10130000u;
|
|
/* 02857A10 */ _t8 = cpu->r[30] + 0x00000008u;
|
|
/* 02857A10 */ cpu->r[5] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02857A14 */ cpu->r[7] = 0x00000001u;
|
|
/* 02857A18 */ cpu->r[12] = 0x10130000u;
|
|
/* 02857A1C */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02857A1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02857A20 */ cpu->r[11] = cpu->r[11] + 0x00001B50u;
|
|
/* 02857A24 */ cpu->r[12] = cpu->r[12] + 0x00001B98u;
|
|
/* 02857A28 */ _t10 = cpu->r[30] + 0x0000000Du;
|
|
/* 02857A28 */ cpu->r[6] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02857A2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02857A30 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02857A30 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 02857A34 */ _t12 = cpu->r[12] + cpu->r[0];
|
|
/* 02857A34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02857A38 */ cpu->r[31] = cpu->r[30] + 0x00000010u;
|
|
/* 02857A3C */ _t13 = cpu->r[11] + cpu->r[0];
|
|
/* 02857A3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02857A40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02857A44 */ cpu->r[9] = 0x00000005u;
|
|
/* 02857A48 */ Gambit_fn_0285796C(cpu);
|
|
/* 02857A4C */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 02857A4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02857A50 */ _t15 = cpu->r[30] + 0x00000020u;
|
|
/* 02857A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02857A54 */ _t16 = cpu->r[30] + 0x00000034u;
|
|
/* 02857A54 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02857A58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02857A5C */ cpu->r[9] = 0x00000000u;
|
|
/* 02857A60 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02857A60 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02857A60 */ if (_t18) goto L_02857A64; else goto L_02857A6C;
|
|
L_02857A64: ; // 0x2857a64
|
|
/* 02857A64 */ _t19 = cpu->r[31] + 0x00000040u;
|
|
/* 02857A64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02857A68 */ cpu->r[9] = cpu->r[10] + cpu->r[8];
|
|
L_02857A6C: ; // 0x2857a6c
|
|
/* 02857A6C */ _t20 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02857A6C */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
L_02857A70: ; // 0x2857a70
|
|
/* 02857A70 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02857A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02857A74 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02857A74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02857A78 */ cpu->lr = cpu->r[0];
|
|
/* 02857A7C */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857A7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02857A80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02857A84 */ return;
|
|
}
|
|
|
|
// fn_028579E8 @ 0x28579e8
|
|
void Gambit_fn_028579E8(CPUState* cpu) {
|
|
uint32_t _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_028579E8: ; // 0x28579e8
|
|
/* 028579E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028579E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028579E8 */ cpu->r[1] = _t0;
|
|
/* 028579EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028579EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028579F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028579F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028579F4 */ cpu->r[30] = cpu->r[4];
|
|
/* 028579F8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028579F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028579FC */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 028579FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02857A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02857A04 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857A04 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02857A04 */ if (_t6) goto L_02857A08; else goto L_02857A70;
|
|
L_02857A08: ; // 0x2857a08
|
|
/* 02857A08 */ _t7 = cpu->r[30] + 0x0000000Au;
|
|
/* 02857A08 */ cpu->r[4] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02857A0C */ cpu->r[11] = 0x10130000u;
|
|
/* 02857A10 */ _t8 = cpu->r[30] + 0x00000008u;
|
|
/* 02857A10 */ cpu->r[5] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02857A14 */ cpu->r[7] = 0x00000001u;
|
|
/* 02857A18 */ cpu->r[12] = 0x10130000u;
|
|
/* 02857A1C */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02857A1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02857A20 */ cpu->r[11] = cpu->r[11] + 0x00001B50u;
|
|
/* 02857A24 */ cpu->r[12] = cpu->r[12] + 0x00001B98u;
|
|
/* 02857A28 */ _t10 = cpu->r[30] + 0x0000000Du;
|
|
/* 02857A28 */ cpu->r[6] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02857A2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02857A30 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02857A30 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 02857A34 */ _t12 = cpu->r[12] + cpu->r[0];
|
|
/* 02857A34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02857A38 */ cpu->r[31] = cpu->r[30] + 0x00000010u;
|
|
/* 02857A3C */ _t13 = cpu->r[11] + cpu->r[0];
|
|
/* 02857A3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02857A40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02857A44 */ cpu->r[9] = 0x00000005u;
|
|
/* 02857A48 */ Gambit_fn_0285796C(cpu);
|
|
/* 02857A4C */ _t14 = cpu->r[30] + 0x00000004u;
|
|
/* 02857A4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02857A50 */ _t15 = cpu->r[30] + 0x00000020u;
|
|
/* 02857A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02857A54 */ _t16 = cpu->r[30] + 0x00000034u;
|
|
/* 02857A54 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02857A58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02857A5C */ cpu->r[9] = 0x00000000u;
|
|
/* 02857A60 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02857A60 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02857A60 */ if (_t18) goto L_02857A64; else goto L_02857A6C;
|
|
L_02857A64: ; // 0x2857a64
|
|
/* 02857A64 */ _t19 = cpu->r[31] + 0x00000040u;
|
|
/* 02857A64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02857A68 */ cpu->r[9] = cpu->r[10] + cpu->r[8];
|
|
L_02857A6C: ; // 0x2857a6c
|
|
/* 02857A6C */ _t20 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02857A6C */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
L_02857A70: ; // 0x2857a70
|
|
/* 02857A70 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02857A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02857A74 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02857A74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02857A78 */ cpu->lr = cpu->r[0];
|
|
/* 02857A7C */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857A7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02857A80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02857A84 */ return;
|
|
}
|
|
|
|
// fn_02857A88 @ 0x2857a88
|
|
void Gambit_fn_02857A88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02857A88: ; // 0x2857a88
|
|
/* 02857A88 */ cpu->r[0] = cpu->lr;
|
|
/* 02857A8C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02857A8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857A8C */ cpu->r[1] = _t0;
|
|
/* 02857A90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857A90 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02857A94 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02857A94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02857A98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02857A98 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02857A9C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857A9C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02857AA0 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02857AA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02857AA4 */ _t6 = cpu->r[12] + 0x000000FCu;
|
|
/* 02857AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02857AA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02857AAC */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02857AAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02857AB0 */ cpu->r[29] = cpu->r[3] + 0x00000010u;
|
|
/* 02857AB4 */ _t8 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02857AB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02857AB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02857ABC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02857AC0 */ _t9 = cpu->r[31] + 0x00000014u;
|
|
/* 02857AC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02857AC4 */ cpu->r[9] = cpu->r[3];
|
|
/* 02857AC8 */ _t10 = cpu->r[31] + 0x00000012u;
|
|
/* 02857AC8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02857ACC */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02857AD0 */ _t11 = cpu->r[31] + 0x0000000Au;
|
|
/* 02857AD0 */ cpu->r[6] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02857AD4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02857AD8 */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 02857AD8 */ cpu->r[7] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02857ADC */ cpu->r[4] = 0x00000000u;
|
|
/* 02857AE0 */ cpu->r[10] = 0x00000001u;
|
|
/* 02857AE4 */ Gambit_fn_02854E58(cpu);
|
|
/* 02857AE8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02857AEC */ cpu->r[3] = cpu->r[30];
|
|
/* 02857AF0 */ Gambit_fn_028579E4(cpu);
|
|
/* 02857AF4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857AF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02857AF8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02857AFC */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02857AFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02857B00 */ cpu->lr = cpu->r[0];
|
|
/* 02857B04 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02857B04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02857B08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02857B0C */ return;
|
|
}
|
|
|
|
// fn_02857A8C @ 0x2857a8c
|
|
void Gambit_fn_02857A8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02857A8C: ; // 0x2857a8c
|
|
/* 02857A8C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02857A8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857A8C */ cpu->r[1] = _t0;
|
|
/* 02857A90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857A90 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02857A94 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02857A94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02857A98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02857A98 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02857A9C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857A9C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02857AA0 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02857AA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02857AA4 */ _t6 = cpu->r[12] + 0x000000FCu;
|
|
/* 02857AA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02857AA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02857AAC */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02857AAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02857AB0 */ cpu->r[29] = cpu->r[3] + 0x00000010u;
|
|
/* 02857AB4 */ _t8 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02857AB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02857AB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02857ABC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02857AC0 */ _t9 = cpu->r[31] + 0x00000014u;
|
|
/* 02857AC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02857AC4 */ cpu->r[9] = cpu->r[3];
|
|
/* 02857AC8 */ _t10 = cpu->r[31] + 0x00000012u;
|
|
/* 02857AC8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02857ACC */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02857AD0 */ _t11 = cpu->r[31] + 0x0000000Au;
|
|
/* 02857AD0 */ cpu->r[6] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02857AD4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02857AD8 */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 02857AD8 */ cpu->r[7] = rbrew_read16(cpu->mem, _t12);
|
|
/* 02857ADC */ cpu->r[4] = 0x00000000u;
|
|
/* 02857AE0 */ cpu->r[10] = 0x00000001u;
|
|
/* 02857AE4 */ Gambit_fn_02854E58(cpu);
|
|
/* 02857AE8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02857AEC */ cpu->r[3] = cpu->r[30];
|
|
/* 02857AF0 */ Gambit_fn_028579E4(cpu);
|
|
/* 02857AF4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857AF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02857AF8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02857AFC */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02857AFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02857B00 */ cpu->lr = cpu->r[0];
|
|
/* 02857B04 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02857B04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02857B08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02857B0C */ return;
|
|
}
|
|
|
|
// fn_02857B10 @ 0x2857b10
|
|
void Gambit_fn_02857B10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02857B10: ; // 0x2857b10
|
|
/* 02857B10 */ cpu->r[0] = cpu->lr;
|
|
/* 02857B14 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02857B18 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02857B18 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02857B1C */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02857B20 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02857B20 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02857B20 */ cpu->r[1] = _t1;
|
|
/* 02857B24 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 02857B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02857B28 */ cpu->r[12] = cpu->r[10] | cpu->r[11];
|
|
/* 02857B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02857B30 */ _t3 = cpu->r[3] + 0x000000BCu;
|
|
/* 02857B30 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02857B34 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857B34 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02857B34 */ if (_t5) goto L_02857B40; else goto L_02857B38;
|
|
L_02857B38: ; // 0x2857b38
|
|
/* 02857B38 */ Gambit_fn_02857950(cpu);
|
|
/* 02857B3C */ Gambit_fn_02857A88(cpu);
|
|
L_02857B40: ; // 0x2857b40
|
|
/* 02857B40 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857B40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02857B44 */ cpu->lr = cpu->r[0];
|
|
/* 02857B48 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02857B4C */ return;
|
|
}
|
|
|
|
// fn_02857B20 @ 0x2857b20
|
|
void Gambit_fn_02857B20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02857B20: ; // 0x2857b20
|
|
/* 02857B20 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02857B20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857B20 */ cpu->r[1] = _t0;
|
|
/* 02857B24 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02857B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02857B28 */ cpu->r[12] = cpu->r[10] | cpu->r[11];
|
|
/* 02857B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02857B30 */ _t2 = cpu->r[3] + 0x000000BCu;
|
|
/* 02857B30 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02857B34 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857B34 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02857B34 */ if (_t4) goto L_02857B40; else goto L_02857B38;
|
|
L_02857B38: ; // 0x2857b38
|
|
/* 02857B38 */ Gambit_fn_02857950(cpu);
|
|
/* 02857B3C */ Gambit_fn_02857A88(cpu);
|
|
L_02857B40: ; // 0x2857b40
|
|
/* 02857B40 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857B40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02857B44 */ cpu->lr = cpu->r[0];
|
|
/* 02857B48 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02857B4C */ return;
|
|
}
|
|
|
|
// fn_02857B50 @ 0x2857b50
|
|
void Gambit_fn_02857B50(CPUState* cpu) {
|
|
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_02857B50: ; // 0x2857b50
|
|
/* 02857B50 */ cpu->r[0] = cpu->lr;
|
|
/* 02857B54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02857B54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857B54 */ cpu->r[1] = _t0;
|
|
/* 02857B58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857B58 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02857B5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02857B5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02857B60 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02857B60 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02857B64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02857B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02857B68 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857B68 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02857B6C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857B6C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02857B6C */ if (_t6) goto L_02857B70; else goto L_02857B80;
|
|
L_02857B70: ; // 0x2857b70
|
|
/* 02857B70 */ cpu->r[3] = 0x000000C4u;
|
|
/* 02857B74 */ Gambit_fn_02801A78(cpu);
|
|
/* 02857B78 */ cpu->r[31] = cpu->r[3];
|
|
/* 02857B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02857B7C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857B7C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02857B7C */ if (_t8) goto L_02857BF4; else goto L_02857B80;
|
|
L_02857B80: ; // 0x2857b80
|
|
/* 02857B80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02857B84 */ Gambit_fn_02854D3C(cpu);
|
|
/* 02857B88 */ cpu->r[29] = 0x00000000u;
|
|
/* 02857B8C */ cpu->r[0] = 0x10130000u;
|
|
/* 02857B90 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 02857B90 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 02857B94 */ cpu->r[0] = cpu->r[0] + 0x00001BE0u;
|
|
/* 02857B98 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02857B98 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 02857B9C */ cpu->r[30] = cpu->r[31] + 0x00000010u;
|
|
/* 02857B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02857BA0 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02857BA0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02857BA4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857BA4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02857BA4 */ if (_t13) goto L_02857BA8; else goto L_02857BB8;
|
|
L_02857BA8: ; // 0x2857ba8
|
|
/* 02857BA8 */ cpu->r[3] = 0x000000ACu;
|
|
/* 02857BAC */ Gambit_fn_02801A78(cpu);
|
|
/* 02857BB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02857BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02857BB4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857BB4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02857BB4 */ if (_t15) goto L_02857BE0; else goto L_02857BB8;
|
|
L_02857BB8: ; // 0x2857bb8
|
|
/* 02857BB8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02857BBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02857BC0 */ cpu->r[10] = 0x00000001u;
|
|
/* 02857BC4 */ cpu->r[7] = cpu->r[4];
|
|
/* 02857BC8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02857BCC */ cpu->r[6] = 0x0000000Cu;
|
|
/* 02857BD0 */ cpu->r[8] = cpu->r[7];
|
|
/* 02857BD4 */ cpu->r[9] = cpu->r[7];
|
|
/* 02857BD8 */ Gambit_fn_02854E58(cpu);
|
|
/* 02857BDC */ _t16 = cpu->r[30] + 0x00000034u;
|
|
/* 02857BDC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_02857BE0: ; // 0x2857be0
|
|
/* 02857BE0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02857BE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02857BE8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02857BEC */ _t17 = cpu->r[31] + 0x000000C0u;
|
|
/* 02857BEC */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02857BF0 */ Gambit_fn_02857B10(cpu);
|
|
L_02857BF4: ; // 0x2857bf4
|
|
/* 02857BF4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857BF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02857BF8 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02857BFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02857C00 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02857C00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02857C04 */ cpu->lr = cpu->r[0];
|
|
/* 02857C08 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02857C08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02857C0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02857C10 */ return;
|
|
}
|
|
|
|
// fn_02857B54 @ 0x2857b54
|
|
void Gambit_fn_02857B54(CPUState* cpu) {
|
|
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_02857B54: ; // 0x2857b54
|
|
/* 02857B54 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02857B54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857B54 */ cpu->r[1] = _t0;
|
|
/* 02857B58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857B58 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02857B5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02857B5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02857B60 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02857B60 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02857B64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02857B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02857B68 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857B68 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02857B6C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857B6C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02857B6C */ if (_t6) goto L_02857B70; else goto L_02857B80;
|
|
L_02857B70: ; // 0x2857b70
|
|
/* 02857B70 */ cpu->r[3] = 0x000000C4u;
|
|
/* 02857B74 */ Gambit_fn_02801A78(cpu);
|
|
/* 02857B78 */ cpu->r[31] = cpu->r[3];
|
|
/* 02857B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02857B7C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857B7C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02857B7C */ if (_t8) goto L_02857BF4; else goto L_02857B80;
|
|
L_02857B80: ; // 0x2857b80
|
|
/* 02857B80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02857B84 */ Gambit_fn_02854D3C(cpu);
|
|
/* 02857B88 */ cpu->r[29] = 0x00000000u;
|
|
/* 02857B8C */ cpu->r[0] = 0x10130000u;
|
|
/* 02857B90 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 02857B90 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 02857B94 */ cpu->r[0] = cpu->r[0] + 0x00001BE0u;
|
|
/* 02857B98 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02857B98 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 02857B9C */ cpu->r[30] = cpu->r[31] + 0x00000010u;
|
|
/* 02857B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02857BA0 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02857BA0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02857BA4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857BA4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02857BA4 */ if (_t13) goto L_02857BA8; else goto L_02857BB8;
|
|
L_02857BA8: ; // 0x2857ba8
|
|
/* 02857BA8 */ cpu->r[3] = 0x000000ACu;
|
|
/* 02857BAC */ Gambit_fn_02801A78(cpu);
|
|
/* 02857BB0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02857BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02857BB4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857BB4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02857BB4 */ if (_t15) goto L_02857BE0; else goto L_02857BB8;
|
|
L_02857BB8: ; // 0x2857bb8
|
|
/* 02857BB8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02857BBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02857BC0 */ cpu->r[10] = 0x00000001u;
|
|
/* 02857BC4 */ cpu->r[7] = cpu->r[4];
|
|
/* 02857BC8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02857BCC */ cpu->r[6] = 0x0000000Cu;
|
|
/* 02857BD0 */ cpu->r[8] = cpu->r[7];
|
|
/* 02857BD4 */ cpu->r[9] = cpu->r[7];
|
|
/* 02857BD8 */ Gambit_fn_02854E58(cpu);
|
|
/* 02857BDC */ _t16 = cpu->r[30] + 0x00000034u;
|
|
/* 02857BDC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_02857BE0: ; // 0x2857be0
|
|
/* 02857BE0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02857BE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02857BE8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02857BEC */ _t17 = cpu->r[31] + 0x000000C0u;
|
|
/* 02857BEC */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02857BF0 */ Gambit_fn_02857B10(cpu);
|
|
L_02857BF4: ; // 0x2857bf4
|
|
/* 02857BF4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857BF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02857BF8 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02857BFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02857C00 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02857C00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02857C04 */ cpu->lr = cpu->r[0];
|
|
/* 02857C08 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02857C08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02857C0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02857C10 */ return;
|
|
}
|
|
|
|
// fn_02857C14 @ 0x2857c14
|
|
void Gambit_fn_02857C14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02857C14: ; // 0x2857c14
|
|
/* 02857C14 */ cpu->r[0] = cpu->lr;
|
|
/* 02857C18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02857C18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857C18 */ cpu->r[1] = _t0;
|
|
/* 02857C1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857C1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02857C20 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02857C20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02857C24 */ cpu->r[30] = cpu->r[3];
|
|
/* 02857C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02857C28 */ cpu->r[31] = cpu->r[4];
|
|
/* 02857C2C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02857C2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02857C30 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857C30 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02857C30 */ if (_t5) goto L_02857C74; else goto L_02857C34;
|
|
L_02857C34: ; // 0x2857c34
|
|
/* 02857C34 */ cpu->r[4] = 0x00000000u;
|
|
/* 02857C38 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02857C3C */ cpu->r[10] = 0x00000001u;
|
|
/* 02857C40 */ cpu->r[7] = cpu->r[4];
|
|
/* 02857C44 */ cpu->r[5] = cpu->r[4];
|
|
/* 02857C48 */ cpu->r[6] = 0x0000000Cu;
|
|
/* 02857C4C */ cpu->r[8] = cpu->r[7];
|
|
/* 02857C50 */ cpu->r[9] = cpu->r[7];
|
|
/* 02857C54 */ Gambit_fn_02854E58(cpu);
|
|
/* 02857C58 */ cpu->r[3] = cpu->r[30];
|
|
/* 02857C5C */ cpu->r[4] = 0x00000000u;
|
|
/* 02857C60 */ Gambit_fn_02854DA4(cpu);
|
|
/* 02857C64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02857C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02857C68 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857C68 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02857C68 */ if (_t7) goto L_02857C74; else goto L_02857C6C;
|
|
L_02857C6C: ; // 0x2857c6c
|
|
/* 02857C6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02857C70 */ Gambit_fn_02801BB0(cpu);
|
|
L_02857C74: ; // 0x2857c74
|
|
/* 02857C74 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02857C74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02857C78 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02857C78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02857C7C */ cpu->lr = cpu->r[0];
|
|
/* 02857C80 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857C80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02857C84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02857C88 */ return;
|
|
}
|
|
|
|
// fn_02857C18 @ 0x2857c18
|
|
void Gambit_fn_02857C18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02857C18: ; // 0x2857c18
|
|
/* 02857C18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02857C18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857C18 */ cpu->r[1] = _t0;
|
|
/* 02857C1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857C1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02857C20 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02857C20 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02857C24 */ cpu->r[30] = cpu->r[3];
|
|
/* 02857C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02857C28 */ cpu->r[31] = cpu->r[4];
|
|
/* 02857C2C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02857C2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02857C30 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857C30 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02857C30 */ if (_t5) goto L_02857C74; else goto L_02857C34;
|
|
L_02857C34: ; // 0x2857c34
|
|
/* 02857C34 */ cpu->r[4] = 0x00000000u;
|
|
/* 02857C38 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02857C3C */ cpu->r[10] = 0x00000001u;
|
|
/* 02857C40 */ cpu->r[7] = cpu->r[4];
|
|
/* 02857C44 */ cpu->r[5] = cpu->r[4];
|
|
/* 02857C48 */ cpu->r[6] = 0x0000000Cu;
|
|
/* 02857C4C */ cpu->r[8] = cpu->r[7];
|
|
/* 02857C50 */ cpu->r[9] = cpu->r[7];
|
|
/* 02857C54 */ Gambit_fn_02854E58(cpu);
|
|
/* 02857C58 */ cpu->r[3] = cpu->r[30];
|
|
/* 02857C5C */ cpu->r[4] = 0x00000000u;
|
|
/* 02857C60 */ Gambit_fn_02854DA4(cpu);
|
|
/* 02857C64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02857C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02857C68 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857C68 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02857C68 */ if (_t7) goto L_02857C74; else goto L_02857C6C;
|
|
L_02857C6C: ; // 0x2857c6c
|
|
/* 02857C6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02857C70 */ Gambit_fn_02801BB0(cpu);
|
|
L_02857C74: ; // 0x2857c74
|
|
/* 02857C74 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02857C74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02857C78 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02857C78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02857C7C */ cpu->lr = cpu->r[0];
|
|
/* 02857C80 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857C80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02857C84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02857C88 */ return;
|
|
}
|
|
|
|
// fn_02857C8C @ 0x2857c8c
|
|
void Gambit_fn_02857C8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02857C8C: ; // 0x2857c8c
|
|
/* 02857C8C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02857C8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02857C90 */ _t1 = cpu->r[12] + 0x00000002u;
|
|
/* 02857C90 */ cpu->r[3] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02857C94 */ return;
|
|
}
|
|
|
|
// fn_02857C98 @ 0x2857c98
|
|
void Gambit_fn_02857C98(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02857C98: ; // 0x2857c98
|
|
/* 02857C98 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02857C98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02857C9C */ _t1 = cpu->r[12] + 0x00000001u;
|
|
/* 02857C9C */ cpu->r[3] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02857CA0 */ return;
|
|
}
|
|
|
|
// fn_02857CA4 @ 0x2857ca4
|
|
void Gambit_fn_02857CA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02857CA4: ; // 0x2857ca4
|
|
/* 02857CA4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02857CA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02857CA8 */ _t1 = cpu->r[12] + 0x00000003u;
|
|
/* 02857CA8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02857CAC */ return;
|
|
}
|
|
|
|
// fn_02857CB0 @ 0x2857cb0
|
|
void Gambit_fn_02857CB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02857CB0: ; // 0x2857cb0
|
|
/* 02857CB0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02857CB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02857CB4 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02857CB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02857CB8 */ _t2 = cpu->r[12] + 0x0000000Au;
|
|
/* 02857CB8 */ cpu->r[3] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02857CBC */ return;
|
|
}
|
|
|
|
// fn_02857CC0 @ 0x2857cc0
|
|
void Gambit_fn_02857CC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02857CC0: ; // 0x2857cc0
|
|
/* 02857CC0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02857CC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02857CC4 */ _t1 = cpu->r[12] + 0x00000004u;
|
|
/* 02857CC4 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t1);
|
|
/* 02857CC8 */ return;
|
|
}
|
|
|
|
// fn_02857D8C @ 0x2857d8c
|
|
void Gambit_fn_02857D8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02857CCC: ; // 0x2857ccc
|
|
/* 02857CCC */ _t0 = cpu->r[4] + 0x00000004u;
|
|
/* 02857CCC */ cpu->r[0] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02857CD0 */ cpu->r[3] = 0x00010000u;
|
|
/* 02857CD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02857CD8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02857CDC */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02857CDC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02857CDC */ if (_t2) goto L_02857CF0; else goto L_02857CE0;
|
|
L_02857CE0: ; // 0x2857ce0
|
|
/* 02857CE0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857CE0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02857CE0 */ if (_t4) goto L_02857D08; else goto L_02857CE4;
|
|
L_02857CE4: ; // 0x2857ce4
|
|
/* 02857CE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02857CE8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857CE8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02857CE8 */ if (_t6) goto L_02857D20; else goto L_02857CEC;
|
|
L_02857CEC: ; // 0x2857cec
|
|
/* 02857CEC */ return;
|
|
L_02857CF0: ; // 0x2857cf0
|
|
/* 02857CF0 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02857CF0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02857CF4 */ _t8 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02857CF4 */ cpu->r[8] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02857CF8 */ cpu->r[6] = cpu->r[5] - cpu->r[7];
|
|
/* 02857CFC */ cpu->r[3] = cpu->r[6] + cpu->r[8];
|
|
/* 02857D00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02857D04 */ return;
|
|
L_02857D08: ; // 0x2857d08
|
|
/* 02857D08 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02857D08 */ cpu->r[10] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02857D0C */ cpu->r[9] = cpu->r[5] - cpu->r[10];
|
|
/* 02857D10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02857D14 */ cpu->r[12] = cpu->r[4] + cpu->r[0];
|
|
/* 02857D18 */ _t10 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02857D18 */ cpu->r[3] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02857D1C */ return;
|
|
L_02857D20: ; // 0x2857d20
|
|
/* 02857D20 */ _t11 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02857D20 */ cpu->r[11] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02857D24 */ cpu->r[9] = cpu->r[4] + 0x0000000Au;
|
|
/* 02857D28 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02857D2C */ cpu->r[6] = cpu->r[4] + 0x0000000Eu;
|
|
/* 02857D30 */ cpu->r[7] = cpu->r[9] + cpu->r[10];
|
|
/* 02857D34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 02857D38 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02857D38 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02857D38 */ if (_t13) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02857D38 */ goto L_02857D3C;
|
|
L_02857D3C: ; // 0x2857d3c
|
|
/* 02857D3C */ cpu->r[12] = cpu->r[7] - cpu->r[6];
|
|
/* 02857D40 */ /* nop */
|
|
/* 02857D44 */ /* nop */
|
|
/* 02857D48 */ cpu->r[9] = cpu->r[10];
|
|
/* 02857D4C */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02857D50 */ _t14 = cpu->r[6] + cpu->r[11];
|
|
/* 02857D50 */ cpu->r[12] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02857D54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]);
|
|
/* 02857D58 */ cpu->r[8] = cpu->r[6] + cpu->r[11];
|
|
/* 02857D5C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02857D5C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02857D5C */ if (_t16) goto L_02857D74; else goto L_02857D60;
|
|
L_02857D60: ; // 0x2857d60
|
|
/* 02857D60 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02857D60 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02857D60 */ if (_t18) goto L_02857D64; else goto L_02857D84;
|
|
L_02857D64: ; // 0x2857d64
|
|
/* 02857D64 */ cpu->r[6] = cpu->r[8] + 0x00000004u;
|
|
/* 02857D68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 02857D6C */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02857D6C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02857D6C */ if (_t20) goto L_02857D70; else goto L_02857D3C;
|
|
L_02857D70: ; // 0x2857d70
|
|
/* 02857D70 */ return;
|
|
L_02857D74: ; // 0x2857d74
|
|
/* 02857D74 */ cpu->r[7] = cpu->r[8] + 0xFFFFFFFCu;
|
|
/* 02857D78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 02857D7C */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02857D7C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02857D7C */ if (_t22) goto L_02857D80; else goto L_02857D3C;
|
|
L_02857D80: ; // 0x2857d80
|
|
/* 02857D80 */ return;
|
|
L_02857D84: ; // 0x2857d84
|
|
/* 02857D84 */ _t23 = cpu->r[8] + 0x00000002u;
|
|
/* 02857D84 */ cpu->r[3] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02857D88 */ return;
|
|
L_02857D8C: ; // 0x2857d8c
|
|
/* 02857D8C */ _t24 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02857D8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02857D90 */ cpu->r[5] = cpu->r[4];
|
|
/* 02857D94 */ _t25 = cpu->r[12] + 0x00000014u;
|
|
/* 02857D94 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02857D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02857D9C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857D9C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02857D9C */ if (_t27) goto L_02857DC8; else goto L_02857DA0;
|
|
L_02857DA0: ; // 0x2857da0
|
|
/* 02857DA0 */ _t28 = cpu->r[4] + 0x00000000u;
|
|
/* 02857DA0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t28);
|
|
/* 02857DA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]);
|
|
/* 02857DA8 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02857DA8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02857DA8 */ if (_t30) goto L_02857DBC; else goto L_02857DAC;
|
|
L_02857DAC: ; // 0x2857dac
|
|
/* 02857DAC */ _t31 = cpu->r[4] + 0x00000002u;
|
|
/* 02857DAC */ cpu->r[0] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02857DB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02857DB4 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02857DB4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02857DB4 */ if (_t33) goto L_02857DBC; else goto L_02857DB8;
|
|
L_02857DB8: ; // 0x2857db8
|
|
/* 02857DB8 */ goto L_02857CCC;
|
|
L_02857DBC: ; // 0x2857dbc
|
|
/* 02857DBC */ _t34 = cpu->r[4] + 0x00000008u;
|
|
/* 02857DBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02857DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02857DC4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857DC4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02857DC4 */ if (_t36) goto L_02857DC8; else goto L_02857DA0;
|
|
L_02857DC8: ; // 0x2857dc8
|
|
/* 02857DC8 */ cpu->r[11] = 0x00010000u;
|
|
/* 02857DCC */ cpu->r[3] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02857DD0 */ return;
|
|
}
|
|
|
|
// fn_02857DD4 @ 0x2857dd4
|
|
void Gambit_fn_02857DD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02857DD4: ; // 0x2857dd4
|
|
/* 02857DD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02857DD8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02857DD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02857DDC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02857DDC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02857DDC */ cpu->r[1] = _t1;
|
|
/* 02857DE0 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 02857DE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02857DE4 */ _t3 = cpu->r[11] + 0x00000084u;
|
|
/* 02857DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02857DE8 */ cpu->ctr = cpu->r[0];
|
|
/* 02857DEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02857DF0 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857DF4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857DF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02857DF8 */ /* nop */
|
|
/* 02857DFC */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02857E00 */ /* nop */
|
|
/* 02857E04 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02857E04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02857E08 */ cpu->lr = cpu->r[0];
|
|
/* 02857E0C */ _t6 = cpu->r[1] + 0x0000000Au;
|
|
/* 02857E0C */ cpu->r[3] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02857E10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02857E14 */ return;
|
|
}
|
|
|
|
// fn_02857DDC @ 0x2857ddc
|
|
void Gambit_fn_02857DDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02857DDC: ; // 0x2857ddc
|
|
/* 02857DDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02857DDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857DDC */ cpu->r[1] = _t0;
|
|
/* 02857DE0 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02857DE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02857DE4 */ _t2 = cpu->r[11] + 0x00000084u;
|
|
/* 02857DE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02857DE8 */ cpu->ctr = cpu->r[0];
|
|
/* 02857DEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02857DF0 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857DF4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857DF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02857DF8 */ /* nop */
|
|
/* 02857DFC */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02857E00 */ /* nop */
|
|
/* 02857E04 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02857E04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02857E08 */ cpu->lr = cpu->r[0];
|
|
/* 02857E0C */ _t5 = cpu->r[1] + 0x0000000Au;
|
|
/* 02857E0C */ cpu->r[3] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02857E10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02857E14 */ return;
|
|
}
|
|
|
|
// fn_02857E18 @ 0x2857e18
|
|
void Gambit_fn_02857E18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02857E18: ; // 0x2857e18
|
|
/* 02857E18 */ cpu->r[0] = cpu->lr;
|
|
/* 02857E1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02857E1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857E1C */ cpu->r[1] = _t0;
|
|
/* 02857E20 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857E20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02857E24 */ cpu->r[31] = cpu->r[3];
|
|
/* 02857E28 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02857E28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02857E2C */ Gambit_fn_02857D8C(cpu);
|
|
/* 02857E30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000FFFFu);
|
|
/* 02857E34 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857E34 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02857E34 */ if (_t4) goto L_02857E38; else goto L_02857E40;
|
|
L_02857E38: ; // 0x2857e38
|
|
/* 02857E38 */ _t5 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02857E38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02857E3C */ _t6 = cpu->r[12] + 0x00000006u;
|
|
/* 02857E3C */ cpu->r[3] = rbrew_read16(cpu->mem, _t6);
|
|
L_02857E40: ; // 0x2857e40
|
|
/* 02857E40 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02857E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02857E44 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857E44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02857E48 */ cpu->lr = cpu->r[0];
|
|
/* 02857E4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02857E50 */ return;
|
|
}
|
|
|
|
// fn_02857E1C @ 0x2857e1c
|
|
void Gambit_fn_02857E1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02857E1C: ; // 0x2857e1c
|
|
/* 02857E1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02857E1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857E1C */ cpu->r[1] = _t0;
|
|
/* 02857E20 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857E20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02857E24 */ cpu->r[31] = cpu->r[3];
|
|
/* 02857E28 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02857E28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02857E2C */ Gambit_fn_02857D8C(cpu);
|
|
/* 02857E30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000FFFFu);
|
|
/* 02857E34 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857E34 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02857E34 */ if (_t4) goto L_02857E38; else goto L_02857E40;
|
|
L_02857E38: ; // 0x2857e38
|
|
/* 02857E38 */ _t5 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02857E38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02857E3C */ _t6 = cpu->r[12] + 0x00000006u;
|
|
/* 02857E3C */ cpu->r[3] = rbrew_read16(cpu->mem, _t6);
|
|
L_02857E40: ; // 0x2857e40
|
|
/* 02857E40 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02857E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02857E44 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857E44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02857E48 */ cpu->lr = cpu->r[0];
|
|
/* 02857E4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02857E50 */ return;
|
|
}
|
|
|
|
// fn_02857E6C @ 0x2857e6c
|
|
void Gambit_fn_02857E6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02857E54: ; // 0x2857e54
|
|
/* 02857E54 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02857E54 */ cpu->r[0] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02857E58 */ cpu->r[0] = cpu->r[5] - cpu->r[0];
|
|
/* 02857E5C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000003u);
|
|
/* 02857E60 */ cpu->r[12] = cpu->r[4] + 0x00000008u;
|
|
/* 02857E64 */ cpu->r[3] = cpu->r[12] + cpu->r[11];
|
|
/* 02857E68 */ return;
|
|
L_02857E6C: ; // 0x2857e6c
|
|
/* 02857E6C */ _t1 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02857E6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02857E70 */ cpu->r[5] = cpu->r[4];
|
|
/* 02857E74 */ _t2 = cpu->r[10] + 0x00000010u;
|
|
/* 02857E74 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02857E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02857E7C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857E7C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02857E7C */ if (_t4) goto L_02857EA8; else goto L_02857E80;
|
|
L_02857E80: ; // 0x2857e80
|
|
/* 02857E80 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02857E80 */ cpu->r[11] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02857E84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[5]);
|
|
/* 02857E88 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02857E88 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02857E88 */ if (_t7) goto L_02857E9C; else goto L_02857E8C;
|
|
L_02857E8C: ; // 0x2857e8c
|
|
/* 02857E8C */ _t8 = cpu->r[4] + 0x00000002u;
|
|
/* 02857E8C */ cpu->r[0] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02857E90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02857E94 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02857E94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02857E94 */ if (_t10) goto L_02857E9C; else goto L_02857E98;
|
|
L_02857E98: ; // 0x2857e98
|
|
/* 02857E98 */ goto L_02857E54;
|
|
L_02857E9C: ; // 0x2857e9c
|
|
/* 02857E9C */ _t11 = cpu->r[4] + 0x00000004u;
|
|
/* 02857E9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02857EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02857EA4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02857EA4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02857EA4 */ if (_t13) goto L_02857EA8; else goto L_02857E80;
|
|
L_02857EA8: ; // 0x2857ea8
|
|
/* 02857EA8 */ cpu->r[3] = cpu->r[10] + 0x00000008u;
|
|
/* 02857EAC */ return;
|
|
}
|
|
|
|
// fn_02857EB0 @ 0x2857eb0
|
|
void Gambit_fn_02857EB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02857EB0: ; // 0x2857eb0
|
|
/* 02857EB0 */ cpu->r[0] = cpu->lr;
|
|
/* 02857EB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02857EB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857EB4 */ cpu->r[1] = _t0;
|
|
/* 02857EB8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02857EB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02857EBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02857EC0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857EC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02857EC4 */ Gambit_fn_02857E18(cpu);
|
|
/* 02857EC8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02857ECC */ cpu->r[3] = cpu->r[31];
|
|
/* 02857ED0 */ Gambit_fn_02857E6C(cpu);
|
|
/* 02857ED4 */ /* nop */
|
|
/* 02857ED8 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02857EDC */ /* nop */
|
|
/* 02857EE0 */ /* nop */
|
|
/* 02857EE4 */ cpu->r[12] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857EE8 */ /* nop */
|
|
/* 02857EEC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02857EF0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02857EF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02857EF4 */ cpu->lr = cpu->r[0];
|
|
/* 02857EF8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857EF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02857EFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02857F00 */ return;
|
|
}
|
|
|
|
// fn_02857EB4 @ 0x2857eb4
|
|
void Gambit_fn_02857EB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02857EB4: ; // 0x2857eb4
|
|
/* 02857EB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02857EB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857EB4 */ cpu->r[1] = _t0;
|
|
/* 02857EB8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02857EB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02857EBC */ cpu->r[31] = cpu->r[3];
|
|
/* 02857EC0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857EC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02857EC4 */ Gambit_fn_02857E18(cpu);
|
|
/* 02857EC8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02857ECC */ cpu->r[3] = cpu->r[31];
|
|
/* 02857ED0 */ Gambit_fn_02857E6C(cpu);
|
|
/* 02857ED4 */ /* nop */
|
|
/* 02857ED8 */ cpu->r[11] = cpu->r[1] + 0x00000008u;
|
|
/* 02857EDC */ /* nop */
|
|
/* 02857EE0 */ /* nop */
|
|
/* 02857EE4 */ cpu->r[12] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857EE8 */ /* nop */
|
|
/* 02857EEC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02857EF0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02857EF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02857EF4 */ cpu->lr = cpu->r[0];
|
|
/* 02857EF8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857EF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02857EFC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02857F00 */ return;
|
|
}
|
|
|
|
// fn_02857F04 @ 0x2857f04
|
|
void Gambit_fn_02857F04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02857F04: ; // 0x2857f04
|
|
/* 02857F04 */ _t0 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02857F04 */ cpu->r[11] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02857F08 */ _t1 = cpu->r[5] + 0x0000000Eu;
|
|
/* 02857F08 */ cpu->r[0] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02857F0C */ _t2 = cpu->r[5] + 0x00000000u;
|
|
/* 02857F0C */ cpu->r[6] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02857F10 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)cpu->r[0]);
|
|
/* 02857F14 */ _t3 = cpu->r[5] + 0x00000001u;
|
|
/* 02857F14 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02857F18 */ cpu->r[7] = cpu->r[4] / cpu->r[9];
|
|
/* 02857F1C */ _t4 = cpu->r[3] + 0x00000007u;
|
|
/* 02857F1C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 02857F20 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[9]);
|
|
/* 02857F24 */ _t5 = cpu->r[5] + 0x0000000Au;
|
|
/* 02857F24 */ cpu->r[9] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02857F28 */ cpu->r[10] = cpu->r[4] - cpu->r[7];
|
|
/* 02857F2C */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 02857F2C */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[9]);
|
|
/* 02857F30 */ cpu->r[7] = cpu->r[10] / cpu->r[11];
|
|
/* 02857F34 */ _t7 = cpu->r[5] + 0x00000010u;
|
|
/* 02857F34 */ cpu->r[0] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02857F38 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[11]);
|
|
/* 02857F3C */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02857F3C */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[0]);
|
|
/* 02857F40 */ cpu->r[8] = cpu->r[12] + 0x00000001u;
|
|
/* 02857F44 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[8]);
|
|
/* 02857F48 */ cpu->r[8] = cpu->r[10] - cpu->r[9];
|
|
/* 02857F4C */ _t9 = cpu->r[5] + 0x00000012u;
|
|
/* 02857F4C */ cpu->r[9] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02857F50 */ cpu->r[0] = cpu->r[6] + 0x00000001u;
|
|
/* 02857F54 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]);
|
|
/* 02857F58 */ cpu->r[0] = cpu->r[7] + 0x00000001u;
|
|
/* 02857F5C */ _t10 = cpu->r[3] + 0x0000000Au;
|
|
/* 02857F5C */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[9]);
|
|
/* 02857F60 */ _t11 = cpu->r[3] + 0x0000000Eu;
|
|
/* 02857F60 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[0]);
|
|
/* 02857F64 */ cpu->r[9] = cpu->r[6] + 0x00000001u;
|
|
/* 02857F68 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02857F68 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[9]);
|
|
/* 02857F6C */ return;
|
|
}
|
|
|
|
// fn_02857F70 @ 0x2857f70
|
|
void Gambit_fn_02857F70(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_02857F70: ; // 0x2857f70
|
|
/* 02857F70 */ cpu->r[0] = cpu->lr;
|
|
/* 02857F74 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02857F74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857F74 */ cpu->r[1] = _t0;
|
|
/* 02857F78 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02857F78 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02857F7C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857F7C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02857F80 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02857F80 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02857F84 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02857F84 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02857F88 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857F88 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02857F8C */ cpu->r[29] = cpu->r[4];
|
|
/* 02857F90 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02857F90 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02857F94 */ _t7 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02857F94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02857F98 */ _t8 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02857F98 */ cpu->r[6] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02857F9C */ _t9 = cpu->r[30] + 0x0000000Eu;
|
|
/* 02857F9C */ cpu->r[8] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02857FA0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)cpu->r[8]);
|
|
/* 02857FA4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02857FA8 */ cpu->r[8] = cpu->r[31] / cpu->r[0];
|
|
/* 02857FAC */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02857FAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02857FB0 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]);
|
|
/* 02857FB4 */ _t11 = cpu->r[30] + 0x00000014u;
|
|
/* 02857FB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02857FB8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02857FBC */ cpu->r[7] = cpu->r[11] + cpu->r[9];
|
|
/* 02857FC0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02857FC4 */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 02857FC4 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 02857FC8 */ Gambit_fn_02857E6C(cpu);
|
|
/* 02857FCC */ cpu->r[12] = cpu->r[29] + 0x00000004u;
|
|
/* 02857FD0 */ /* nop */
|
|
/* 02857FD4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02857FD8 */ cpu->r[0] = cpu->r[28] + 0x00000010u;
|
|
/* 02857FDC */ /* nop */
|
|
/* 02857FE0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02857FE4 */ _t13 = cpu->r[29] + 0x00000013u;
|
|
/* 02857FE4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[8]);
|
|
/* 02857FE8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02857FEC */ _t14 = cpu->r[29] + 0x00000014u;
|
|
/* 02857FEC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02857FF0 */ Gambit_fn_02857F04(cpu);
|
|
/* 02857FF4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02857FF4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02857FF8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857FF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02857FFC */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857FFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02858000 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02858000 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02858004 */ cpu->lr = cpu->r[0];
|
|
/* 02858008 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02858008 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285800C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02858010 */ return;
|
|
}
|
|
|
|
// fn_02857F74 @ 0x2857f74
|
|
void Gambit_fn_02857F74(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_02857F74: ; // 0x2857f74
|
|
/* 02857F74 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02857F74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02857F74 */ cpu->r[1] = _t0;
|
|
/* 02857F78 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02857F78 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02857F7C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857F7C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02857F80 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02857F80 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02857F84 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02857F84 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02857F88 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857F88 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02857F8C */ cpu->r[29] = cpu->r[4];
|
|
/* 02857F90 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02857F90 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02857F94 */ _t7 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02857F94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02857F98 */ _t8 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02857F98 */ cpu->r[6] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02857F9C */ _t9 = cpu->r[30] + 0x0000000Eu;
|
|
/* 02857F9C */ cpu->r[8] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02857FA0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)cpu->r[8]);
|
|
/* 02857FA4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02857FA8 */ cpu->r[8] = cpu->r[31] / cpu->r[0];
|
|
/* 02857FAC */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02857FAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02857FB0 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)cpu->r[0]);
|
|
/* 02857FB4 */ _t11 = cpu->r[30] + 0x00000014u;
|
|
/* 02857FB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02857FB8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02857FBC */ cpu->r[7] = cpu->r[11] + cpu->r[9];
|
|
/* 02857FC0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02857FC4 */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 02857FC4 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 02857FC8 */ Gambit_fn_02857E6C(cpu);
|
|
/* 02857FCC */ cpu->r[12] = cpu->r[29] + 0x00000004u;
|
|
/* 02857FD0 */ /* nop */
|
|
/* 02857FD4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02857FD8 */ cpu->r[0] = cpu->r[28] + 0x00000010u;
|
|
/* 02857FDC */ /* nop */
|
|
/* 02857FE0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02857FE4 */ _t13 = cpu->r[29] + 0x00000013u;
|
|
/* 02857FE4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[8]);
|
|
/* 02857FE8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02857FEC */ _t14 = cpu->r[29] + 0x00000014u;
|
|
/* 02857FEC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02857FF0 */ Gambit_fn_02857F04(cpu);
|
|
/* 02857FF4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02857FF4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02857FF8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02857FF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02857FFC */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02857FFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02858000 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02858000 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02858004 */ cpu->lr = cpu->r[0];
|
|
/* 02858008 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02858008 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285800C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02858010 */ return;
|
|
}
|
|
|
|
// fn_02858014 @ 0x2858014
|
|
void Gambit_fn_02858014(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02858014: ; // 0x2858014
|
|
/* 02858014 */ cpu->r[0] = cpu->lr;
|
|
/* 02858018 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02858018 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858018 */ cpu->r[1] = _t0;
|
|
/* 0285801C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285801C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02858020 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858020 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02858024 */ cpu->r[31] = cpu->r[4];
|
|
/* 02858028 */ cpu->r[4] = cpu->r[5];
|
|
/* 0285802C */ cpu->r[30] = cpu->r[3];
|
|
/* 02858030 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02858030 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02858034 */ Gambit_fn_02857E18(cpu);
|
|
/* 02858038 */ cpu->r[5] = cpu->r[3];
|
|
/* 0285803C */ cpu->r[4] = cpu->r[31];
|
|
/* 02858040 */ cpu->r[3] = cpu->r[30];
|
|
/* 02858044 */ Gambit_fn_02857F70(cpu);
|
|
/* 02858048 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02858048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285804C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285804C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02858050 */ cpu->lr = cpu->r[0];
|
|
/* 02858054 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02858054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02858058 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285805C */ return;
|
|
}
|
|
|
|
// fn_02858018 @ 0x2858018
|
|
void Gambit_fn_02858018(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02858018: ; // 0x2858018
|
|
/* 02858018 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02858018 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858018 */ cpu->r[1] = _t0;
|
|
/* 0285801C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285801C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02858020 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858020 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02858024 */ cpu->r[31] = cpu->r[4];
|
|
/* 02858028 */ cpu->r[4] = cpu->r[5];
|
|
/* 0285802C */ cpu->r[30] = cpu->r[3];
|
|
/* 02858030 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02858030 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02858034 */ Gambit_fn_02857E18(cpu);
|
|
/* 02858038 */ cpu->r[5] = cpu->r[3];
|
|
/* 0285803C */ cpu->r[4] = cpu->r[31];
|
|
/* 02858040 */ cpu->r[3] = cpu->r[30];
|
|
/* 02858044 */ Gambit_fn_02857F70(cpu);
|
|
/* 02858048 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02858048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285804C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285804C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02858050 */ cpu->lr = cpu->r[0];
|
|
/* 02858054 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02858054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02858058 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285805C */ return;
|
|
}
|
|
|
|
// fn_02858060 @ 0x2858060
|
|
void Gambit_fn_02858060(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02858060: ; // 0x2858060
|
|
/* 02858060 */ _t0 = cpu->r[3] + 0x000000C0u;
|
|
/* 02858060 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02858064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02858068 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858068 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02858068 */ if (_t2) goto L_0285811C; else goto L_0285806C;
|
|
L_0285806C: ; // 0x285806c
|
|
/* 0285806C */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0285806C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02858070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02858074 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858074 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02858074 */ if (_t5) goto L_0285811C; else goto L_02858078;
|
|
L_02858078: ; // 0x2858078
|
|
/* 02858078 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02858078 */ cpu->r[12] = rbrew_read16(cpu->mem, _t6);
|
|
/* 0285807C */ cpu->r[9] = cpu->r[11] + 0x00000002u;
|
|
/* 02858080 */ cpu->r[10] = 0x00000000u;
|
|
L_02858084: ; // 0x2858084
|
|
/* 02858084 */ cpu->r[8] = cpu->r[10] + cpu->r[12];
|
|
/* 02858088 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Du);
|
|
/* 0285808C */ _t7 = cpu->r[9] + cpu->r[0];
|
|
/* 0285808C */ cpu->r[6] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02858090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[4]);
|
|
/* 02858094 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02858098 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02858098 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02858098 */ if (_t9) goto L_028580B0; else goto L_0285809C;
|
|
L_0285809C: ; // 0x285809c
|
|
/* 0285809C */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285809C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285809C */ if (_t11) goto L_028580A0; else goto L_028580C0;
|
|
L_028580A0: ; // 0x28580a0
|
|
/* 028580A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[8]);
|
|
/* 028580A4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028580A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028580A4 */ if (_t13) goto L_0285811C; else goto L_028580A8;
|
|
L_028580A8: ; // 0x28580a8
|
|
/* 028580A8 */ cpu->r[10] = cpu->r[8];
|
|
/* 028580AC */ goto L_02858084;
|
|
L_028580B0: ; // 0x28580b0
|
|
/* 028580B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 028580B4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028580B4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 028580B4 */ if (_t15) goto L_0285811C; else goto L_028580B8;
|
|
L_028580B8: ; // 0x28580b8
|
|
/* 028580B8 */ cpu->r[12] = cpu->r[8];
|
|
/* 028580BC */ goto L_02858084;
|
|
L_028580C0: ; // 0x28580c0
|
|
/* 028580C0 */ cpu->r[10] = cpu->r[9] + cpu->r[0];
|
|
/* 028580C4 */ _t16 = cpu->r[10] + 0x00000002u;
|
|
/* 028580C4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t16);
|
|
/* 028580C8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 028580CC */ cpu->r[12] = cpu->r[11] + cpu->r[7];
|
|
/* 028580D0 */ cpu->r[8] = 0x00000000u;
|
|
/* 028580D4 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 028580D4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t17);
|
|
/* 028580D8 */ cpu->r[6] = cpu->r[12] + 0x00000002u;
|
|
L_028580DC: ; // 0x28580dc
|
|
/* 028580DC */ cpu->r[7] = cpu->r[8] + cpu->r[9];
|
|
/* 028580E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Du);
|
|
/* 028580E4 */ _t18 = cpu->r[6] + cpu->r[0];
|
|
/* 028580E4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t18);
|
|
/* 028580E8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 028580EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]);
|
|
/* 028580F0 */ cpu->r[12] = cpu->r[6] + cpu->r[0];
|
|
/* 028580F4 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028580F4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028580F4 */ if (_t20) goto L_02858114; else goto L_028580F8;
|
|
L_028580F8: ; // 0x28580f8
|
|
/* 028580F8 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028580F8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 028580F8 */ if (_t22) goto L_02858104; else goto L_028580FC;
|
|
L_028580FC: ; // 0x28580fc
|
|
/* 028580FC */ _t23 = cpu->r[12] + 0x00000002u;
|
|
/* 028580FC */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t23);
|
|
/* 02858100 */ return;
|
|
L_02858104: ; // 0x2858104
|
|
/* 02858104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02858108 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858108 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02858108 */ if (_t25) goto L_0285811C; else goto L_0285810C;
|
|
L_0285810C: ; // 0x285810c
|
|
/* 0285810C */ cpu->r[8] = cpu->r[7];
|
|
/* 02858110 */ goto L_028580DC;
|
|
L_02858114: ; // 0x2858114
|
|
/* 02858114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
|
|
/* 02858118 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858118 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02858118 */ if (_t27) goto L_0285811C; else goto L_02858124;
|
|
L_0285811C: ; // 0x285811c
|
|
/* 0285811C */ cpu->r[3] = 0x00000000u;
|
|
/* 02858120 */ return;
|
|
L_02858124: ; // 0x2858124
|
|
/* 02858124 */ cpu->r[9] = cpu->r[7];
|
|
/* 02858128 */ goto L_028580DC;
|
|
}
|
|
|
|
// fn_0285812C @ 0x285812c
|
|
void Gambit_fn_0285812C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0285812C: ; // 0x285812c
|
|
/* 0285812C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285812C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02858130 */ _t1 = cpu->r[12] + 0x0000000Bu;
|
|
/* 02858130 */ cpu->r[3] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02858134 */ return;
|
|
}
|
|
|
|
// fn_02858138 @ 0x2858138
|
|
void Gambit_fn_02858138(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02858138: ; // 0x2858138
|
|
/* 02858138 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02858138 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285813C */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0285813C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02858140 */ _t2 = cpu->r[12] + 0x00000008u;
|
|
/* 02858140 */ cpu->r[3] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t2);
|
|
/* 02858144 */ return;
|
|
}
|
|
|
|
// fn_02858148 @ 0x2858148
|
|
void Gambit_fn_02858148(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02858148: ; // 0x2858148
|
|
/* 02858148 */ _t0 = cpu->r[3] + 0x0000001Eu;
|
|
/* 02858148 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 0285814C */ return;
|
|
}
|
|
|
|
// fn_02858150 @ 0x2858150
|
|
void Gambit_fn_02858150(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02858150: ; // 0x2858150
|
|
/* 02858150 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02858150 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02858154 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 02858154 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02858158 */ cpu->r[0] = cpu->r[0] ^ 0x00000002u;
|
|
/* 0285815C */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02858160 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02858164 */ return;
|
|
}
|
|
|
|
// fn_02858168 @ 0x2858168
|
|
void Gambit_fn_02858168(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02858168: ; // 0x2858168
|
|
/* 02858168 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02858168 */ rbrew_write32(cpu->mem, _t0, cpu->r[5]);
|
|
/* 0285816C */ _t1 = cpu->r[3] + 0x000000C0u;
|
|
/* 0285816C */ rbrew_write32(cpu->mem, _t1, cpu->r[6]);
|
|
/* 02858170 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 02858170 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 02858174 */ return;
|
|
}
|
|
|
|
// fn_02858178 @ 0x2858178
|
|
void Gambit_fn_02858178(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02858178: ; // 0x2858178
|
|
/* 02858178 */ cpu->r[0] = cpu->lr;
|
|
/* 0285817C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285817C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02858180 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02858180 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02858180 */ cpu->r[1] = _t1;
|
|
/* 02858184 */ Gambit_fn_02857950(cpu);
|
|
/* 02858188 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 02858188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0285818C */ cpu->r[12] = 0x00000000u;
|
|
/* 02858190 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02858190 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02858194 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02858194 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02858198 */ _t5 = cpu->r[3] + 0x000000C0u;
|
|
/* 02858198 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0285819C */ cpu->r[3] = cpu->r[0];
|
|
/* 028581A0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028581A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028581A4 */ cpu->lr = cpu->r[0];
|
|
/* 028581A8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028581AC */ return;
|
|
}
|
|
|
|
// fn_02858180 @ 0x2858180
|
|
void Gambit_fn_02858180(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02858180: ; // 0x2858180
|
|
/* 02858180 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02858180 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858180 */ cpu->r[1] = _t0;
|
|
/* 02858184 */ Gambit_fn_02857950(cpu);
|
|
/* 02858188 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02858188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0285818C */ cpu->r[12] = 0x00000000u;
|
|
/* 02858190 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 02858190 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02858194 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02858194 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02858198 */ _t4 = cpu->r[3] + 0x000000C0u;
|
|
/* 02858198 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 0285819C */ cpu->r[3] = cpu->r[0];
|
|
/* 028581A0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028581A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028581A4 */ cpu->lr = cpu->r[0];
|
|
/* 028581A8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028581AC */ return;
|
|
}
|
|
|
|
// fn_028581B0 @ 0x28581b0
|
|
void Gambit_fn_028581B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_028581B0: ; // 0x28581b0
|
|
/* 028581B0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028581B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028581B4 */ _t1 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028581B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028581B8 */ _t2 = cpu->r[12] + 0x00000002u;
|
|
/* 028581B8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t2);
|
|
/* 028581BC */ return;
|
|
}
|
|
|
|
// fn_028581C0 @ 0x28581c0
|
|
void Gambit_fn_028581C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028581C0: ; // 0x28581c0
|
|
/* 028581C0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 028581C4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 028581C8 */ _t0 = cpu->r[11] + 0x00000F14u;
|
|
/* 028581C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028581C8 */ cpu->r[11] = _t0;
|
|
/* 028581CC */ cpu->r[3] = cpu->r[3] + 0x00001714u;
|
|
/* 028581D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 028581D4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028581D4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 028581D4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 028581D4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028581D4 */ goto L_028581D8;
|
|
L_028581D8: ; // 0x28581d8
|
|
/* 028581D8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 028581DC */ cpu->r[12] = 0x101D0000u;
|
|
/* 028581E0 */ _t4 = cpu->r[10] + 0xFFFFD7E4u;
|
|
/* 028581E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028581E0 */ cpu->r[10] = _t4;
|
|
/* 028581E4 */ cpu->r[0] = 0x00000001u;
|
|
/* 028581E8 */ cpu->r[12] = cpu->r[12] + 0x00000F78u;
|
|
/* 028581EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 028581F0 */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 028581F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028581F4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028581F4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028581F4 */ if (_t7) goto L_028581F8; else goto L_02858208;
|
|
L_028581F8: ; // 0x28581f8
|
|
/* 028581F8 */ cpu->r[7] = 0x00000001u;
|
|
/* 028581FC */ cpu->r[8] = 0x00000000u;
|
|
/* 02858200 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 02858200 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 02858204 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 02858204 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
L_02858208: ; // 0x2858208
|
|
/* 02858208 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02858208 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0285820C */ return;
|
|
}
|
|
|
|
// fn_02858210 @ 0x2858210
|
|
void Gambit_fn_02858210(CPUState* cpu) {
|
|
L_02858210: ; // 0x2858210
|
|
/* 02858210 */ cpu->r[3] = 0x00000001u;
|
|
/* 02858214 */ return;
|
|
}
|
|
|
|
// fn_02858218 @ 0x2858218
|
|
void Gambit_fn_02858218(CPUState* cpu) {
|
|
L_02858218: ; // 0x2858218
|
|
/* 02858218 */ return;
|
|
}
|
|
|
|
// fn_0285821C @ 0x285821c
|
|
void Gambit_fn_0285821C(CPUState* cpu) {
|
|
L_0285821C: ; // 0x285821c
|
|
/* 0285821C */ return;
|
|
}
|
|
|
|
// fn_02858220 @ 0x2858220
|
|
void Gambit_fn_02858220(CPUState* cpu) {
|
|
L_02858220: ; // 0x2858220
|
|
/* 02858220 */ return;
|
|
}
|
|
|
|
// fn_02858224 @ 0x2858224
|
|
void Gambit_fn_02858224(CPUState* cpu) {
|
|
L_02858224: ; // 0x2858224
|
|
/* 02858224 */ return;
|
|
}
|
|
|
|
// fn_02858228 @ 0x2858228
|
|
void Gambit_fn_02858228(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02858228: ; // 0x2858228
|
|
/* 02858228 */ cpu->r[0] = cpu->lr;
|
|
/* 0285822C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285822C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02858230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02858234 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02858234 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02858234 */ cpu->r[1] = _t1;
|
|
/* 02858238 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858238 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02858238 */ if (_t3) goto L_0285823C; else goto L_0285824C;
|
|
L_0285823C: ; // 0x285823c
|
|
/* 0285823C */ cpu->r[3] = 0x00000004u;
|
|
/* 02858240 */ Gambit_fn_02801A78(cpu);
|
|
/* 02858244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02858248 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858248 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02858248 */ if (_t5) goto L_02858258; else goto L_0285824C;
|
|
L_0285824C: ; // 0x285824c
|
|
/* 0285824C */ cpu->r[0] = 0x10130000u;
|
|
/* 02858250 */ cpu->r[0] = cpu->r[0] + 0x00001CECu;
|
|
/* 02858254 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02858254 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02858258: ; // 0x2858258
|
|
/* 02858258 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285825C */ cpu->lr = cpu->r[0];
|
|
/* 02858260 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02858264 */ return;
|
|
}
|
|
|
|
// fn_02858234 @ 0x2858234
|
|
void Gambit_fn_02858234(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02858234: ; // 0x2858234
|
|
/* 02858234 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02858234 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858234 */ cpu->r[1] = _t0;
|
|
/* 02858238 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858238 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02858238 */ if (_t2) goto L_0285823C; else goto L_0285824C;
|
|
L_0285823C: ; // 0x285823c
|
|
/* 0285823C */ cpu->r[3] = 0x00000004u;
|
|
/* 02858240 */ Gambit_fn_02801A78(cpu);
|
|
/* 02858244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02858248 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858248 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02858248 */ if (_t4) goto L_02858258; else goto L_0285824C;
|
|
L_0285824C: ; // 0x285824c
|
|
/* 0285824C */ cpu->r[0] = 0x10130000u;
|
|
/* 02858250 */ cpu->r[0] = cpu->r[0] + 0x00001CECu;
|
|
/* 02858254 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02858254 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_02858258: ; // 0x2858258
|
|
/* 02858258 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285825C */ cpu->lr = cpu->r[0];
|
|
/* 02858260 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02858264 */ return;
|
|
}
|
|
|
|
// fn_02858268 @ 0x2858268
|
|
void Gambit_fn_02858268(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_02858268: ; // 0x2858268
|
|
/* 02858268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285826C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285826C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285826C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285826C */ goto L_02858270;
|
|
L_02858270: ; // 0x2858270
|
|
/* 02858270 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02858270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02858274 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858274 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02858274 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02858274 */ goto L_02858278;
|
|
L_02858278: ; // 0x2858278
|
|
/* 02858278 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0285827C @ 0x285827c
|
|
void Gambit_fn_0285827C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0285827C: ; // 0x285827c
|
|
/* 0285827C */ cpu->r[0] = cpu->lr;
|
|
/* 02858280 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02858280 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02858284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02858288 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02858288 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02858288 */ cpu->r[1] = _t1;
|
|
/* 0285828C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285828C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285828C */ if (_t3) goto L_02858290; else goto L_028582A0;
|
|
L_02858290: ; // 0x2858290
|
|
/* 02858290 */ cpu->r[3] = 0x00000004u;
|
|
/* 02858294 */ Gambit_fn_02801A78(cpu);
|
|
/* 02858298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285829C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285829C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285829C */ if (_t5) goto L_028582AC; else goto L_028582A0;
|
|
L_028582A0: ; // 0x28582a0
|
|
/* 028582A0 */ cpu->r[0] = 0x10130000u;
|
|
/* 028582A4 */ cpu->r[0] = cpu->r[0] + 0x00001D34u;
|
|
/* 028582A8 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 028582A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_028582AC: ; // 0x28582ac
|
|
/* 028582AC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028582AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028582B0 */ cpu->lr = cpu->r[0];
|
|
/* 028582B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028582B8 */ return;
|
|
}
|
|
|
|
// fn_02858288 @ 0x2858288
|
|
void Gambit_fn_02858288(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02858288: ; // 0x2858288
|
|
/* 02858288 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02858288 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858288 */ cpu->r[1] = _t0;
|
|
/* 0285828C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285828C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285828C */ if (_t2) goto L_02858290; else goto L_028582A0;
|
|
L_02858290: ; // 0x2858290
|
|
/* 02858290 */ cpu->r[3] = 0x00000004u;
|
|
/* 02858294 */ Gambit_fn_02801A78(cpu);
|
|
/* 02858298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285829C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285829C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285829C */ if (_t4) goto L_028582AC; else goto L_028582A0;
|
|
L_028582A0: ; // 0x28582a0
|
|
/* 028582A0 */ cpu->r[0] = 0x10130000u;
|
|
/* 028582A4 */ cpu->r[0] = cpu->r[0] + 0x00001D34u;
|
|
/* 028582A8 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 028582A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_028582AC: ; // 0x28582ac
|
|
/* 028582AC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028582AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028582B0 */ cpu->lr = cpu->r[0];
|
|
/* 028582B4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028582B8 */ return;
|
|
}
|
|
|
|
// fn_028582BC @ 0x28582bc
|
|
void Gambit_fn_028582BC(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_028582BC: ; // 0x28582bc
|
|
/* 028582BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028582C0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028582C0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028582C0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028582C0 */ goto L_028582C4;
|
|
L_028582C4: ; // 0x28582c4
|
|
/* 028582C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028582C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028582C8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028582C8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028582C8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028582C8 */ goto L_028582CC;
|
|
L_028582CC: ; // 0x28582cc
|
|
/* 028582CC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028582D0 @ 0x28582d0
|
|
void Gambit_fn_028582D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_028582D0: ; // 0x28582d0
|
|
/* 028582D0 */ cpu->r[0] = cpu->lr;
|
|
/* 028582D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028582D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028582D4 */ cpu->r[1] = _t0;
|
|
/* 028582D8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 028582D8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 028582DC */ /* nop */
|
|
/* 028582E0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 028582E0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 028582E4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028582E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028582E8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 028582E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028582EC */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 028582EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028582F0 */ _t6 = cpu->r[4] + 0x0000000Cu;
|
|
/* 028582F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 028582F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028582F8 */ Gambit_fn_028587AC(cpu);
|
|
/* 028582FC */ _t7 = cpu->r[31] + 0x00000018u;
|
|
/* 028582FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02858300 */ cpu->f[0] = cpu->f[0] + cpu->f[1];
|
|
/* 02858304 */ _t8 = cpu->r[31] + 0x00000014u;
|
|
/* 02858304 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02858308 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02858308 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 0285830C */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 0285830C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02858310 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858310 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02858314 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02858314 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 02858318 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02858318 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02858318 */ if (_t14) goto L_0285831C; // else: addr-0 trap, fall-through
|
|
L_0285831C: ; // 0x285831c
|
|
/* 0285831C */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 0285831C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02858320 */ cpu->lr = cpu->r[0];
|
|
/* 02858324 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02858328 */ return;
|
|
}
|
|
|
|
// fn_028582D4 @ 0x28582d4
|
|
void Gambit_fn_028582D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_028582D4: ; // 0x28582d4
|
|
/* 028582D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028582D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028582D4 */ cpu->r[1] = _t0;
|
|
/* 028582D8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 028582D8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 028582DC */ /* nop */
|
|
/* 028582E0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 028582E0 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 028582E4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028582E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028582E8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 028582E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028582EC */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 028582EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028582F0 */ _t6 = cpu->r[4] + 0x0000000Cu;
|
|
/* 028582F0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 028582F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028582F8 */ Gambit_fn_028587AC(cpu);
|
|
/* 028582FC */ _t7 = cpu->r[31] + 0x00000018u;
|
|
/* 028582FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02858300 */ cpu->f[0] = cpu->f[0] + cpu->f[1];
|
|
/* 02858304 */ _t8 = cpu->r[31] + 0x00000014u;
|
|
/* 02858304 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02858308 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02858308 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 0285830C */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 0285830C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02858310 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858310 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02858314 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02858314 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 02858318 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02858318 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02858318 */ if (_t14) goto L_0285831C; // else: addr-0 trap, fall-through
|
|
L_0285831C: ; // 0x285831c
|
|
/* 0285831C */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 0285831C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02858320 */ cpu->lr = cpu->r[0];
|
|
/* 02858324 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02858328 */ return;
|
|
}
|
|
|
|
// fn_0285832C @ 0x285832c
|
|
void Gambit_fn_0285832C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_0285832C: ; // 0x285832c
|
|
/* 0285832C */ cpu->r[0] = cpu->lr;
|
|
/* 02858330 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02858330 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858330 */ cpu->r[1] = _t0;
|
|
/* 02858334 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02858334 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02858338 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02858338 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285833C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285833C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02858340 */ cpu->r[31] = cpu->r[4];
|
|
/* 02858344 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02858344 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02858348 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 02858348 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285834C */ _t6 = cpu->r[29] + 0x00000040u;
|
|
/* 0285834C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02858350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02858354 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02858354 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02858354 */ if (_t8) goto L_02858358; else goto L_0285844C;
|
|
L_02858358: ; // 0x2858358
|
|
/* 02858358 */ _t9 = cpu->r[29] + 0x00000030u;
|
|
/* 02858358 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0285835C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02858360 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858360 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02858360 */ if (_t11) goto L_028583D8; else goto L_02858364;
|
|
L_02858364: ; // 0x2858364
|
|
/* 02858364 */ cpu->r[0] = cpu->r[30] ^ 0x80000000u;
|
|
/* 02858368 */ _t12 = cpu->r[29] + 0x00000020u;
|
|
/* 02858368 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0285836C */ cpu->r[11] = 0x43300000u;
|
|
/* 02858370 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858370 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02858374 */ cpu->r[12] = 0x10130000u;
|
|
/* 02858378 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02858378 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0285837C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0285837C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02858380 */ _t16 = cpu->r[12] + 0x00001CE0u;
|
|
/* 02858380 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02858384 */ _t17 = cpu->r[29] + 0x00000014u;
|
|
/* 02858384 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02858388 */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 0285838C */ _t18 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285838C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02858390 */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 02858394 */ cpu->f[13] = cpu->f[13] - cpu->f[10];
|
|
/* 02858398 */ cpu->f[12] = cpu->f[12] * cpu->f[1];
|
|
/* 0285839C */ cpu->f[11] = cpu->f[13] / cpu->f[12];
|
|
/* 028583A0 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 028583A4 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 028583A8 */ /* nop */
|
|
/* 028583AC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 028583AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028583B0 */ cpu->r[12] = cpu->r[10] + 0x00000001u;
|
|
/* 028583B4 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 028583B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 028583B8 */ cpu->r[10] = cpu->r[12] ^ 0x80000000u;
|
|
/* 028583BC */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028583BC */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 028583C0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 028583C0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 028583C4 */ cpu->f[13] = cpu->f[11] - cpu->f[0];
|
|
/* 028583C8 */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 028583CC */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[10]);
|
|
/* 028583D0 */ _t23 = cpu->r[29] + 0x00000014u;
|
|
/* 028583D0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 028583D4 */ goto L_0285844C;
|
|
L_028583D8: ; // 0x28583d8
|
|
/* 028583D8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028583DC */ Gambit_fn_028544B0(cpu);
|
|
/* 028583E0 */ cpu->r[12] = 0x10130000u;
|
|
/* 028583E4 */ cpu->r[0] = cpu->r[30] ^ 0x80000000u;
|
|
/* 028583E8 */ _t24 = cpu->r[12] + 0x00001CE0u;
|
|
/* 028583E8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 028583EC */ cpu->r[11] = 0x43300000u;
|
|
/* 028583F0 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028583F0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 028583F4 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 028583F4 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]);
|
|
/* 028583F8 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 028583F8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 028583FC */ _t28 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028583FC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02858400 */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 02858404 */ _t29 = cpu->r[29] + 0x00000014u;
|
|
/* 02858404 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02858408 */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 0285840C */ cpu->f[13] = cpu->f[13] - cpu->f[10];
|
|
/* 02858410 */ cpu->f[12] = cpu->f[12] * cpu->f[1];
|
|
/* 02858414 */ cpu->f[11] = cpu->f[13] / cpu->f[12];
|
|
/* 02858418 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 0285841C */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02858420 */ /* nop */
|
|
/* 02858424 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02858424 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02858428 */ cpu->r[12] = cpu->r[10] + 0x00000001u;
|
|
/* 0285842C */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0285842C */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
/* 02858430 */ cpu->r[10] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02858434 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858434 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 02858438 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02858438 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 0285843C */ cpu->f[13] = cpu->f[11] - cpu->f[0];
|
|
/* 02858440 */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 02858444 */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[10]);
|
|
/* 02858448 */ _t34 = cpu->r[29] + 0x00000014u;
|
|
/* 02858448 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]);
|
|
L_0285844C: ; // 0x285844c
|
|
/* 0285844C */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 0285844C */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02858450 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02858450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02858454 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02858454 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02858458 */ cpu->lr = cpu->r[0];
|
|
/* 0285845C */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285845C */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02858460 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02858464 */ return;
|
|
}
|
|
|
|
// fn_02858330 @ 0x2858330
|
|
void Gambit_fn_02858330(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_02858330: ; // 0x2858330
|
|
/* 02858330 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02858330 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858330 */ cpu->r[1] = _t0;
|
|
/* 02858334 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02858334 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02858338 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02858338 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285833C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285833C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02858340 */ cpu->r[31] = cpu->r[4];
|
|
/* 02858344 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02858344 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02858348 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 02858348 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285834C */ _t6 = cpu->r[29] + 0x00000040u;
|
|
/* 0285834C */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02858350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02858354 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02858354 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02858354 */ if (_t8) goto L_02858358; else goto L_0285844C;
|
|
L_02858358: ; // 0x2858358
|
|
/* 02858358 */ _t9 = cpu->r[29] + 0x00000030u;
|
|
/* 02858358 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0285835C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02858360 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858360 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02858360 */ if (_t11) goto L_028583D8; else goto L_02858364;
|
|
L_02858364: ; // 0x2858364
|
|
/* 02858364 */ cpu->r[0] = cpu->r[30] ^ 0x80000000u;
|
|
/* 02858368 */ _t12 = cpu->r[29] + 0x00000020u;
|
|
/* 02858368 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0285836C */ cpu->r[11] = 0x43300000u;
|
|
/* 02858370 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858370 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02858374 */ cpu->r[12] = 0x10130000u;
|
|
/* 02858378 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02858378 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 0285837C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0285837C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02858380 */ _t16 = cpu->r[12] + 0x00001CE0u;
|
|
/* 02858380 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02858384 */ _t17 = cpu->r[29] + 0x00000014u;
|
|
/* 02858384 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02858388 */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 0285838C */ _t18 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285838C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02858390 */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 02858394 */ cpu->f[13] = cpu->f[13] - cpu->f[10];
|
|
/* 02858398 */ cpu->f[12] = cpu->f[12] * cpu->f[1];
|
|
/* 0285839C */ cpu->f[11] = cpu->f[13] / cpu->f[12];
|
|
/* 028583A0 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 028583A4 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 028583A8 */ /* nop */
|
|
/* 028583AC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 028583AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028583B0 */ cpu->r[12] = cpu->r[10] + 0x00000001u;
|
|
/* 028583B4 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 028583B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 028583B8 */ cpu->r[10] = cpu->r[12] ^ 0x80000000u;
|
|
/* 028583BC */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028583BC */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 028583C0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 028583C0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t22);
|
|
/* 028583C4 */ cpu->f[13] = cpu->f[11] - cpu->f[0];
|
|
/* 028583C8 */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 028583CC */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[10]);
|
|
/* 028583D0 */ _t23 = cpu->r[29] + 0x00000014u;
|
|
/* 028583D0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 028583D4 */ goto L_0285844C;
|
|
L_028583D8: ; // 0x28583d8
|
|
/* 028583D8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028583DC */ Gambit_fn_028544B0(cpu);
|
|
/* 028583E0 */ cpu->r[12] = 0x10130000u;
|
|
/* 028583E4 */ cpu->r[0] = cpu->r[30] ^ 0x80000000u;
|
|
/* 028583E8 */ _t24 = cpu->r[12] + 0x00001CE0u;
|
|
/* 028583E8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 028583EC */ cpu->r[11] = 0x43300000u;
|
|
/* 028583F0 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028583F0 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 028583F4 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 028583F4 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]);
|
|
/* 028583F8 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 028583F8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 028583FC */ _t28 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028583FC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02858400 */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 02858404 */ _t29 = cpu->r[29] + 0x00000014u;
|
|
/* 02858404 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02858408 */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 0285840C */ cpu->f[13] = cpu->f[13] - cpu->f[10];
|
|
/* 02858410 */ cpu->f[12] = cpu->f[12] * cpu->f[1];
|
|
/* 02858414 */ cpu->f[11] = cpu->f[13] / cpu->f[12];
|
|
/* 02858418 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 0285841C */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02858420 */ /* nop */
|
|
/* 02858424 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02858424 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02858428 */ cpu->r[12] = cpu->r[10] + 0x00000001u;
|
|
/* 0285842C */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0285842C */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
/* 02858430 */ cpu->r[10] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02858434 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858434 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 02858438 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02858438 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 0285843C */ cpu->f[13] = cpu->f[11] - cpu->f[0];
|
|
/* 02858440 */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 02858444 */ cpu->f[12] = fma(cpu->f[12], cpu->f[11], cpu->f[10]);
|
|
/* 02858448 */ _t34 = cpu->r[29] + 0x00000014u;
|
|
/* 02858448 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]);
|
|
L_0285844C: ; // 0x285844c
|
|
/* 0285844C */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 0285844C */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02858450 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02858450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02858454 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02858454 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02858458 */ cpu->lr = cpu->r[0];
|
|
/* 0285845C */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285845C */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02858460 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02858464 */ return;
|
|
}
|
|
|
|
// fn_02858468 @ 0x2858468
|
|
void Gambit_fn_02858468(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02858468: ; // 0x2858468
|
|
/* 02858468 */ cpu->r[0] = cpu->lr;
|
|
/* 0285846C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285846C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02858470 */ cpu->r[0] = cpu->r[4];
|
|
/* 02858474 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02858474 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02858474 */ cpu->r[1] = _t1;
|
|
/* 02858478 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000009u);
|
|
/* 0285847C */ cpu->r[4] = cpu->r[5];
|
|
/* 02858480 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858480 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02858480 */ if (_t3) goto L_028584A4; else goto L_02858484;
|
|
L_02858484: ; // 0x2858484
|
|
/* 02858484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Au);
|
|
/* 02858488 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858488 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02858488 */ if (_t5) goto L_0285848C; else goto L_028584BC;
|
|
L_0285848C: ; // 0x285848c
|
|
/* 0285848C */ Gambit_fn_028582D0(cpu);
|
|
/* 02858490 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02858494 */ cpu->lr = cpu->r[0];
|
|
/* 02858498 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285849C */ cpu->r[3] = 0x00000003u;
|
|
/* 028584A0 */ return;
|
|
L_028584A4: ; // 0x28584a4
|
|
/* 028584A4 */ Gambit_fn_0285832C(cpu);
|
|
/* 028584A8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028584A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028584AC */ cpu->lr = cpu->r[0];
|
|
/* 028584B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028584B4 */ cpu->r[3] = 0x00000001u;
|
|
/* 028584B8 */ return;
|
|
L_028584BC: ; // 0x28584bc
|
|
/* 028584BC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028584BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028584C0 */ cpu->lr = cpu->r[0];
|
|
/* 028584C4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028584C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 028584CC */ return;
|
|
}
|
|
|
|
// fn_02858474 @ 0x2858474
|
|
void Gambit_fn_02858474(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02858474: ; // 0x2858474
|
|
/* 02858474 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02858474 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858474 */ cpu->r[1] = _t0;
|
|
/* 02858478 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000009u);
|
|
/* 0285847C */ cpu->r[4] = cpu->r[5];
|
|
/* 02858480 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858480 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02858480 */ if (_t2) goto L_028584A4; else goto L_02858484;
|
|
L_02858484: ; // 0x2858484
|
|
/* 02858484 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Au);
|
|
/* 02858488 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858488 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02858488 */ if (_t4) goto L_0285848C; else goto L_028584BC;
|
|
L_0285848C: ; // 0x285848c
|
|
/* 0285848C */ Gambit_fn_028582D0(cpu);
|
|
/* 02858490 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02858494 */ cpu->lr = cpu->r[0];
|
|
/* 02858498 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285849C */ cpu->r[3] = 0x00000003u;
|
|
/* 028584A0 */ return;
|
|
L_028584A4: ; // 0x28584a4
|
|
/* 028584A4 */ Gambit_fn_0285832C(cpu);
|
|
/* 028584A8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028584A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028584AC */ cpu->lr = cpu->r[0];
|
|
/* 028584B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028584B4 */ cpu->r[3] = 0x00000001u;
|
|
/* 028584B8 */ return;
|
|
L_028584BC: ; // 0x28584bc
|
|
/* 028584BC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028584BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028584C0 */ cpu->lr = cpu->r[0];
|
|
/* 028584C4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028584C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 028584CC */ return;
|
|
}
|
|
|
|
// fn_028584D0 @ 0x28584d0
|
|
void Gambit_fn_028584D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
|
|
L_028584D0: ; // 0x28584d0
|
|
/* 028584D0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 028584D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028584D0 */ cpu->r[1] = _t0;
|
|
/* 028584D4 */ cpu->r[0] = cpu->lr;
|
|
/* 028584D8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 028584D8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 028584DC */ /* nop */
|
|
/* 028584E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000009u);
|
|
/* 028584E4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028584E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028584E8 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 028584E8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 028584EC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028584EC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028584F0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028584F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 028584F4 */ cpu->r[30] = cpu->r[4];
|
|
/* 028584F8 */ cpu->r[31] = cpu->r[6];
|
|
/* 028584FC */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028584FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02858500 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858500 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02858500 */ if (_t8) goto L_028585A0; else goto L_02858504;
|
|
L_02858504: ; // 0x2858504
|
|
/* 02858504 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x0000000Au);
|
|
/* 02858508 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858508 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02858508 */ if (_t10) goto L_0285850C; else goto L_02858630;
|
|
L_0285850C: ; // 0x285850c
|
|
/* 0285850C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0285850C */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02858510 */ _t12 = cpu->r[29] + 0x00000014u;
|
|
/* 02858510 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02858514 */ _t13 = cpu->r[30] + 0x00000008u;
|
|
/* 02858514 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[8]);
|
|
/* 02858518 */ _t14 = cpu->r[29] + 0x00000018u;
|
|
/* 02858518 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0285851C */ cpu->r[4] = cpu->r[31];
|
|
/* 02858520 */ _t15 = cpu->r[30] + 0x00000004u;
|
|
/* 02858520 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[9]);
|
|
/* 02858524 */ Gambit_fn_028582D0(cpu);
|
|
/* 02858528 */ _t16 = cpu->r[29] + 0x00000014u;
|
|
/* 02858528 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0285852C */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 0285852C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[8]);
|
|
/* 02858530 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 02858530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02858534 */ Gambit_fn_02854518(cpu);
|
|
/* 02858538 */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02858538 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0285853C */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 0285853C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02858540 */ _t21 = cpu->r[29] + 0x00000018u;
|
|
/* 02858540 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02858544 */ cpu->f[13] = cpu->f[10] - cpu->f[12];
|
|
/* 02858548 */ cpu->f[0] = cpu->f[11] + cpu->f[1];
|
|
/* 0285854C */ _t22 = cpu->r[30] + 0x00000004u;
|
|
/* 0285854C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02858550 */ /* nop */
|
|
/* 02858554 */ cpu->f[9] = cpu->f[0] - cpu->f[8];
|
|
/* 02858558 */ /* nop */
|
|
/* 0285855C */ /* nop */
|
|
/* 02858560 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 02858560 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[11]);
|
|
/* 02858564 */ /* nop */
|
|
/* 02858568 */ _t24 = cpu->r[30] + 0x00000008u;
|
|
/* 02858568 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[12]);
|
|
/* 0285856C */ _t25 = cpu->r[30] + 0x00000004u;
|
|
/* 0285856C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[13]);
|
|
/* 02858570 */ _t26 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02858570 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 02858574 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858574 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02858578 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 02858578 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0285857C */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 0285857C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02858580 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02858580 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 02858584 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02858584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02858588 */ cpu->r[3] = 0x00000003u;
|
|
/* 0285858C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285858C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0285858C */ if (_t33) goto L_02858590; // else: addr-0 trap, fall-through
|
|
L_02858590: ; // 0x2858590
|
|
/* 02858590 */ _t34 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02858590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02858594 */ cpu->lr = cpu->r[0];
|
|
/* 02858598 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285859C */ return;
|
|
L_028585A0: ; // 0x28585a0
|
|
/* 028585A0 */ _t35 = cpu->r[31] + 0x00000000u;
|
|
/* 028585A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 028585A4 */ _t36 = cpu->r[29] + 0x00000014u;
|
|
/* 028585A4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 028585A8 */ cpu->r[4] = cpu->r[31];
|
|
/* 028585AC */ _t37 = cpu->r[30] + 0x00000000u;
|
|
/* 028585AC */ rbrew_write_f32(cpu->mem, _t37, cpu->f[10]);
|
|
/* 028585B0 */ Gambit_fn_0285832C(cpu);
|
|
/* 028585B4 */ _t38 = cpu->r[29] + 0x00000014u;
|
|
/* 028585B4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 028585B8 */ _t39 = cpu->r[30] + 0x00000008u;
|
|
/* 028585B8 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[11]);
|
|
/* 028585BC */ _t40 = cpu->r[29] + 0x00000018u;
|
|
/* 028585BC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 028585C0 */ cpu->r[3] = cpu->r[29];
|
|
/* 028585C4 */ _t41 = cpu->r[30] + 0x00000004u;
|
|
/* 028585C4 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[31]);
|
|
/* 028585C8 */ Gambit_fn_02854518(cpu);
|
|
/* 028585CC */ _t42 = cpu->r[30] + 0x00000008u;
|
|
/* 028585CC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 028585D0 */ _t43 = cpu->r[30] + 0x00000000u;
|
|
/* 028585D0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 028585D4 */ cpu->f[0] = cpu->f[31] + cpu->f[1];
|
|
/* 028585D8 */ _t44 = cpu->r[30] + 0x00000004u;
|
|
/* 028585D8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 028585DC */ cpu->f[12] = cpu->f[11] - cpu->f[10];
|
|
/* 028585E0 */ cpu->f[13] = cpu->f[0] - cpu->f[8];
|
|
/* 028585E4 */ /* nop */
|
|
/* 028585E8 */ /* nop */
|
|
/* 028585EC */ /* nop */
|
|
/* 028585F0 */ _t45 = cpu->r[30] + 0x00000000u;
|
|
/* 028585F0 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[9]);
|
|
/* 028585F4 */ /* nop */
|
|
/* 028585F8 */ _t46 = cpu->r[30] + 0x00000008u;
|
|
/* 028585F8 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[10]);
|
|
/* 028585FC */ _t47 = cpu->r[30] + 0x00000004u;
|
|
/* 028585FC */ rbrew_write_f32(cpu->mem, _t47, cpu->f[12]);
|
|
/* 02858600 */ _t48 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02858600 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[8]);
|
|
/* 02858604 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858604 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02858608 */ _t50 = cpu->r[1] + 0x00000020u;
|
|
/* 02858608 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 0285860C */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 0285860C */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02858610 */ _t52 = cpu->r[1] + 0x00000018u;
|
|
/* 02858610 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 02858614 */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 02858614 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02858618 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285861C */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285861C */ _t55 = _t54 & 0x00000001u;
|
|
/* 0285861C */ if (_t55) goto L_02858620; // else: addr-0 trap, fall-through
|
|
L_02858620: ; // 0x2858620
|
|
/* 02858620 */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02858620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02858624 */ cpu->lr = cpu->r[0];
|
|
/* 02858628 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285862C */ return;
|
|
L_02858630: ; // 0x2858630
|
|
/* 02858630 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858630 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02858634 */ _t58 = cpu->r[1] + 0x00000020u;
|
|
/* 02858634 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02858638 */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 02858638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0285863C */ _t60 = cpu->r[1] + 0x00000018u;
|
|
/* 0285863C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t60);
|
|
/* 02858640 */ _t61 = cpu->r[1] + 0x00000010u;
|
|
/* 02858640 */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02858644 */ cpu->r[3] = 0x00000000u;
|
|
/* 02858648 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02858648 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02858648 */ if (_t63) goto L_0285864C; // else: addr-0 trap, fall-through
|
|
L_0285864C: ; // 0x285864c
|
|
/* 0285864C */ _t64 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285864C */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02858650 */ cpu->lr = cpu->r[0];
|
|
/* 02858654 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02858658 */ return;
|
|
}
|
|
|
|
// fn_0285865C @ 0x285865c
|
|
void Gambit_fn_0285865C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285865C: ; // 0x285865c
|
|
/* 0285865C */ cpu->r[0] = cpu->lr;
|
|
/* 02858660 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02858660 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02858664 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02858668 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02858668 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02858668 */ cpu->r[1] = _t1;
|
|
/* 0285866C */ _t2 = cpu->r[12] + 0x00001720u;
|
|
/* 0285866C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0285866C */ cpu->r[12] = _t2;
|
|
/* 02858670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02858674 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858674 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02858674 */ if (_t4) goto L_02858678; else goto L_02858698;
|
|
L_02858678: ; // 0x2858678
|
|
/* 02858678 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0285867C */ cpu->r[0] = 0x00000001u;
|
|
/* 02858680 */ cpu->r[3] = cpu->r[3] + 0x00006F34u;
|
|
/* 02858684 */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 02858684 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02858688 */ Gambit_fn_02858228(cpu);
|
|
/* 0285868C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02858690 */ cpu->r[3] = cpu->r[3] + 0xFFFF9A40u;
|
|
/* 02858694 */ Gambit_fn_02C83090(cpu);
|
|
L_02858698: ; // 0x2858698
|
|
/* 02858698 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0285869C */ _t6 = cpu->r[12] + 0x00001724u;
|
|
/* 0285869C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285869C */ cpu->r[12] = _t6;
|
|
/* 028586A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028586A4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028586A4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028586A4 */ if (_t8) goto L_028586A8; else goto L_028586C8;
|
|
L_028586A8: ; // 0x28586a8
|
|
/* 028586A8 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028586AC */ cpu->r[0] = 0x00000001u;
|
|
/* 028586B0 */ cpu->r[3] = cpu->r[3] + 0x00006F38u;
|
|
/* 028586B4 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 028586B4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028586B8 */ Gambit_fn_0285827C(cpu);
|
|
/* 028586BC */ cpu->r[3] = 0x101D0000u;
|
|
/* 028586C0 */ cpu->r[3] = cpu->r[3] + 0xFFFF9A4Cu;
|
|
/* 028586C4 */ Gambit_fn_02C83090(cpu);
|
|
L_028586C8: ; // 0x28586c8
|
|
/* 028586C8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028586C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028586CC */ cpu->lr = cpu->r[0];
|
|
/* 028586D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028586D4 */ return;
|
|
}
|
|
|
|
// fn_02858668 @ 0x2858668
|
|
void Gambit_fn_02858668(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02858668: ; // 0x2858668
|
|
/* 02858668 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02858668 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858668 */ cpu->r[1] = _t0;
|
|
/* 0285866C */ _t1 = cpu->r[12] + 0x00001720u;
|
|
/* 0285866C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0285866C */ cpu->r[12] = _t1;
|
|
/* 02858670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02858674 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858674 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02858674 */ if (_t3) goto L_02858678; else goto L_02858698;
|
|
L_02858678: ; // 0x2858678
|
|
/* 02858678 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0285867C */ cpu->r[0] = 0x00000001u;
|
|
/* 02858680 */ cpu->r[3] = cpu->r[3] + 0x00006F34u;
|
|
/* 02858684 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02858684 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02858688 */ Gambit_fn_02858228(cpu);
|
|
/* 0285868C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02858690 */ cpu->r[3] = cpu->r[3] + 0xFFFF9A40u;
|
|
/* 02858694 */ Gambit_fn_02C83090(cpu);
|
|
L_02858698: ; // 0x2858698
|
|
/* 02858698 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0285869C */ _t5 = cpu->r[12] + 0x00001724u;
|
|
/* 0285869C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285869C */ cpu->r[12] = _t5;
|
|
/* 028586A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028586A4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028586A4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028586A4 */ if (_t7) goto L_028586A8; else goto L_028586C8;
|
|
L_028586A8: ; // 0x28586a8
|
|
/* 028586A8 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028586AC */ cpu->r[0] = 0x00000001u;
|
|
/* 028586B0 */ cpu->r[3] = cpu->r[3] + 0x00006F38u;
|
|
/* 028586B4 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 028586B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 028586B8 */ Gambit_fn_0285827C(cpu);
|
|
/* 028586BC */ cpu->r[3] = 0x101D0000u;
|
|
/* 028586C0 */ cpu->r[3] = cpu->r[3] + 0xFFFF9A4Cu;
|
|
/* 028586C4 */ Gambit_fn_02C83090(cpu);
|
|
L_028586C8: ; // 0x28586c8
|
|
/* 028586C8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028586C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028586CC */ cpu->lr = cpu->r[0];
|
|
/* 028586D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028586D4 */ return;
|
|
}
|
|
|
|
// fn_028586D8 @ 0x28586d8
|
|
void Gambit_fn_028586D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_028586D8: ; // 0x28586d8
|
|
/* 028586D8 */ cpu->r[0] = cpu->lr;
|
|
/* 028586DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028586DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028586DC */ cpu->r[1] = _t0;
|
|
/* 028586E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028586E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028586E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028586E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028586E8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028586E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028586EC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028586EC */ _t4 = _t3 & 0x00000001u;
|
|
/* 028586EC */ if (_t4) goto L_028586F0; else goto L_02858700;
|
|
L_028586F0: ; // 0x28586f0
|
|
/* 028586F0 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 028586F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028586F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028586F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028586FC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028586FC */ _t6 = _t5 & 0x00000001u;
|
|
/* 028586FC */ if (_t6) goto L_02858740; else goto L_02858700;
|
|
L_02858700: ; // 0x2858700
|
|
/* 02858700 */ cpu->r[3] = cpu->r[31];
|
|
/* 02858704 */ Gambit_fn_028542F0(cpu);
|
|
/* 02858708 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285870C */ cpu->r[11] = 0x10130000u;
|
|
/* 02858710 */ _t7 = cpu->r[12] + 0x00001D80u;
|
|
/* 02858710 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02858714 */ cpu->r[12] = 0x00000004u;
|
|
/* 02858718 */ _t8 = cpu->r[11] + 0x00001D84u;
|
|
/* 02858718 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0285871C */ cpu->r[0] = 0x101F0000u;
|
|
/* 02858720 */ _t9 = cpu->r[31] + 0x00000040u;
|
|
/* 02858720 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02858724 */ _t10 = cpu->r[31] + 0x00000038u;
|
|
/* 02858724 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02858728 */ cpu->r[0] = cpu->r[0] + 0x00006F38u;
|
|
/* 0285872C */ _t11 = cpu->r[31] + 0x00000034u;
|
|
/* 0285872C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 02858730 */ cpu->r[11] = 0x00000000u;
|
|
/* 02858734 */ _t12 = cpu->r[31] + 0x00000048u;
|
|
/* 02858734 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02858738 */ _t13 = cpu->r[31] + 0x00000044u;
|
|
/* 02858738 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0285873C */ _t14 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0285873C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
L_02858740: ; // 0x2858740
|
|
/* 02858740 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02858740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02858744 */ cpu->r[3] = cpu->r[31];
|
|
/* 02858748 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858748 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285874C */ cpu->lr = cpu->r[0];
|
|
/* 02858750 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02858754 */ return;
|
|
}
|
|
|
|
// fn_028586DC @ 0x28586dc
|
|
void Gambit_fn_028586DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_028586DC: ; // 0x28586dc
|
|
/* 028586DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028586DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028586DC */ cpu->r[1] = _t0;
|
|
/* 028586E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028586E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028586E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028586E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028586E8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028586E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028586EC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028586EC */ _t4 = _t3 & 0x00000001u;
|
|
/* 028586EC */ if (_t4) goto L_028586F0; else goto L_02858700;
|
|
L_028586F0: ; // 0x28586f0
|
|
/* 028586F0 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 028586F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028586F8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028586F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028586FC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028586FC */ _t6 = _t5 & 0x00000001u;
|
|
/* 028586FC */ if (_t6) goto L_02858740; else goto L_02858700;
|
|
L_02858700: ; // 0x2858700
|
|
/* 02858700 */ cpu->r[3] = cpu->r[31];
|
|
/* 02858704 */ Gambit_fn_028542F0(cpu);
|
|
/* 02858708 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285870C */ cpu->r[11] = 0x10130000u;
|
|
/* 02858710 */ _t7 = cpu->r[12] + 0x00001D80u;
|
|
/* 02858710 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02858714 */ cpu->r[12] = 0x00000004u;
|
|
/* 02858718 */ _t8 = cpu->r[11] + 0x00001D84u;
|
|
/* 02858718 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0285871C */ cpu->r[0] = 0x101F0000u;
|
|
/* 02858720 */ _t9 = cpu->r[31] + 0x00000040u;
|
|
/* 02858720 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02858724 */ _t10 = cpu->r[31] + 0x00000038u;
|
|
/* 02858724 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02858728 */ cpu->r[0] = cpu->r[0] + 0x00006F38u;
|
|
/* 0285872C */ _t11 = cpu->r[31] + 0x00000034u;
|
|
/* 0285872C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 02858730 */ cpu->r[11] = 0x00000000u;
|
|
/* 02858734 */ _t12 = cpu->r[31] + 0x00000048u;
|
|
/* 02858734 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02858738 */ _t13 = cpu->r[31] + 0x00000044u;
|
|
/* 02858738 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 0285873C */ _t14 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0285873C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
L_02858740: ; // 0x2858740
|
|
/* 02858740 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02858740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02858744 */ cpu->r[3] = cpu->r[31];
|
|
/* 02858748 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858748 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285874C */ cpu->lr = cpu->r[0];
|
|
/* 02858750 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02858754 */ return;
|
|
}
|
|
|
|
// fn_02858758 @ 0x2858758
|
|
void Gambit_fn_02858758(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02858758: ; // 0x2858758
|
|
/* 02858758 */ cpu->r[0] = cpu->lr;
|
|
/* 0285875C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285875C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285875C */ cpu->r[1] = _t0;
|
|
/* 02858760 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02858760 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02858764 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858764 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02858768 */ cpu->r[31] = cpu->r[3];
|
|
/* 02858768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285876C */ cpu->r[30] = cpu->r[4];
|
|
/* 02858770 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02858770 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02858774 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858774 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02858774 */ if (_t5) goto L_02858794; else goto L_02858778;
|
|
L_02858778: ; // 0x2858778
|
|
/* 02858778 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285877C */ cpu->r[4] = 0x00000000u;
|
|
/* 02858780 */ Gambit_fn_028543BC(cpu);
|
|
/* 02858784 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02858784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02858788 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858788 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02858788 */ if (_t7) goto L_02858794; else goto L_0285878C;
|
|
L_0285878C: ; // 0x285878c
|
|
/* 0285878C */ cpu->r[3] = cpu->r[31];
|
|
/* 02858790 */ Gambit_fn_02801BB0(cpu);
|
|
L_02858794: ; // 0x2858794
|
|
/* 02858794 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02858794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02858798 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02858798 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285879C */ cpu->lr = cpu->r[0];
|
|
/* 028587A0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028587A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028587A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028587A8 */ return;
|
|
}
|
|
|
|
// fn_0285875C @ 0x285875c
|
|
void Gambit_fn_0285875C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285875C: ; // 0x285875c
|
|
/* 0285875C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285875C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285875C */ cpu->r[1] = _t0;
|
|
/* 02858760 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02858760 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02858764 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858764 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02858768 */ cpu->r[31] = cpu->r[3];
|
|
/* 02858768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285876C */ cpu->r[30] = cpu->r[4];
|
|
/* 02858770 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02858770 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02858774 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858774 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02858774 */ if (_t5) goto L_02858794; else goto L_02858778;
|
|
L_02858778: ; // 0x2858778
|
|
/* 02858778 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285877C */ cpu->r[4] = 0x00000000u;
|
|
/* 02858780 */ Gambit_fn_028543BC(cpu);
|
|
/* 02858784 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02858784 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02858788 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858788 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02858788 */ if (_t7) goto L_02858794; else goto L_0285878C;
|
|
L_0285878C: ; // 0x285878c
|
|
/* 0285878C */ cpu->r[3] = cpu->r[31];
|
|
/* 02858790 */ Gambit_fn_02801BB0(cpu);
|
|
L_02858794: ; // 0x2858794
|
|
/* 02858794 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02858794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02858798 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02858798 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285879C */ cpu->lr = cpu->r[0];
|
|
/* 028587A0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028587A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028587A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028587A8 */ return;
|
|
}
|
|
|
|
// fn_028587AC @ 0x28587ac
|
|
void Gambit_fn_028587AC(CPUState* cpu) {
|
|
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_028587AC: ; // 0x28587ac
|
|
/* 028587AC */ cpu->r[0] = cpu->lr;
|
|
/* 028587B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028587B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028587B0 */ cpu->r[1] = _t0;
|
|
/* 028587B4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028587B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028587B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028587BC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028587BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028587C0 */ _t3 = cpu->r[31] + 0x00000028u;
|
|
/* 028587C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028587C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028587C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028587C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028587C8 */ if (_t5) goto L_02858810; else goto L_028587CC;
|
|
L_028587CC: ; // 0x28587cc
|
|
/* 028587CC */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 028587CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028587D0 */ _t7 = cpu->r[9] + 0x00000054u;
|
|
/* 028587D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028587D4 */ cpu->ctr = cpu->r[0];
|
|
/* 028587D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028587DC */ cpu->r[10] = 0x10130000u;
|
|
/* 028587E0 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 028587E4 */ _t8 = cpu->r[10] + 0x00001D88u;
|
|
/* 028587E4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 028587E8 */ cpu->r[12] = 0x43300000u;
|
|
/* 028587EC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028587EC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028587F0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 028587F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 028587F4 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 028587F4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 028587F8 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 028587FC */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 028587FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02858800 */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 02858804 */ _t13 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02858804 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02858808 */ cpu->f[1] = fma(cpu->f[12], cpu->f[0], cpu->f[13]);
|
|
/* 0285880C */ goto L_02858840;
|
|
L_02858810: ; // 0x2858810
|
|
/* 02858810 */ cpu->r[10] = 0x10130000u;
|
|
/* 02858814 */ cpu->r[0] = 0x80000000u;
|
|
/* 02858818 */ _t14 = cpu->r[10] + 0x00001D88u;
|
|
/* 02858818 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 0285881C */ cpu->r[12] = 0x43300000u;
|
|
/* 02858820 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858820 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02858824 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02858824 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02858828 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02858828 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 0285882C */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 02858830 */ _t18 = cpu->r[31] + 0x00000010u;
|
|
/* 02858830 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02858834 */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 02858838 */ _t19 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02858838 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0285883C */ cpu->f[1] = fma(cpu->f[12], cpu->f[0], cpu->f[13]);
|
|
L_02858840: ; // 0x2858840
|
|
/* 02858840 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02858840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02858844 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02858844 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02858848 */ cpu->lr = cpu->r[0];
|
|
/* 0285884C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02858850 */ return;
|
|
}
|
|
|
|
// fn_028587B0 @ 0x28587b0
|
|
void Gambit_fn_028587B0(CPUState* cpu) {
|
|
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_028587B0: ; // 0x28587b0
|
|
/* 028587B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028587B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028587B0 */ cpu->r[1] = _t0;
|
|
/* 028587B4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028587B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028587B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028587BC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028587BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028587C0 */ _t3 = cpu->r[31] + 0x00000028u;
|
|
/* 028587C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028587C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028587C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028587C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028587C8 */ if (_t5) goto L_02858810; else goto L_028587CC;
|
|
L_028587CC: ; // 0x28587cc
|
|
/* 028587CC */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 028587CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028587D0 */ _t7 = cpu->r[9] + 0x00000054u;
|
|
/* 028587D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028587D4 */ cpu->ctr = cpu->r[0];
|
|
/* 028587D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028587DC */ cpu->r[10] = 0x10130000u;
|
|
/* 028587E0 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 028587E4 */ _t8 = cpu->r[10] + 0x00001D88u;
|
|
/* 028587E4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 028587E8 */ cpu->r[12] = 0x43300000u;
|
|
/* 028587EC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028587EC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028587F0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 028587F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 028587F4 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 028587F4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 028587F8 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 028587FC */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 028587FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02858800 */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 02858804 */ _t13 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02858804 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02858808 */ cpu->f[1] = fma(cpu->f[12], cpu->f[0], cpu->f[13]);
|
|
/* 0285880C */ goto L_02858840;
|
|
L_02858810: ; // 0x2858810
|
|
/* 02858810 */ cpu->r[10] = 0x10130000u;
|
|
/* 02858814 */ cpu->r[0] = 0x80000000u;
|
|
/* 02858818 */ _t14 = cpu->r[10] + 0x00001D88u;
|
|
/* 02858818 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 0285881C */ cpu->r[12] = 0x43300000u;
|
|
/* 02858820 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858820 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02858824 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02858824 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02858828 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02858828 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 0285882C */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 02858830 */ _t18 = cpu->r[31] + 0x00000010u;
|
|
/* 02858830 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02858834 */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 02858838 */ _t19 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02858838 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0285883C */ cpu->f[1] = fma(cpu->f[12], cpu->f[0], cpu->f[13]);
|
|
L_02858840: ; // 0x2858840
|
|
/* 02858840 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02858840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02858844 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02858844 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02858848 */ cpu->lr = cpu->r[0];
|
|
/* 0285884C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02858850 */ return;
|
|
}
|
|
|
|
// fn_02858854 @ 0x2858854
|
|
void Gambit_fn_02858854(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
|
|
L_02858854: ; // 0x2858854
|
|
/* 02858854 */ _t0 = cpu->r[1] + 0xFFFFFED0u;
|
|
/* 02858854 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858854 */ cpu->r[1] = _t0;
|
|
/* 02858858 */ /* nop */
|
|
/* 0285885C */ _t1 = cpu->r[1] + 0x00000100u;
|
|
/* 0285885C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[29]);
|
|
/* 02858860 */ _t2 = cpu->r[1] + 0x00000110u;
|
|
/* 02858860 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02858864 */ cpu->r[0] = cpu->lr;
|
|
/* 02858868 */ _t3 = cpu->r[1] + 0x00000120u;
|
|
/* 02858868 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0285886C */ /* nop */
|
|
/* 02858870 */ cpu->r[9] = 0x10130000u;
|
|
/* 02858874 */ _t4 = cpu->r[9] + 0x00001D80u;
|
|
/* 02858874 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02858878 */ /* nop */
|
|
/* 0285887C */ _t5 = cpu->r[1] + 0x00000134u;
|
|
/* 0285887C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02858880 */ /* nop */
|
|
/* 02858884 */ _t6 = cpu->r[1] + 0x00000108u;
|
|
/* 02858884 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 02858888 */ _t7 = cpu->r[1] + 0x00000118u;
|
|
/* 02858888 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 0285888C */ _t8 = cpu->r[1] + 0x00000128u;
|
|
/* 0285888C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02858890 */ cpu->r[7] = 0x10130000u;
|
|
/* 02858894 */ _t9 = cpu->r[7] + 0x00001D84u;
|
|
/* 02858894 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02858898 */ cpu->r[26] = cpu->r[3];
|
|
/* 0285889C */ cpu->r[24] = 0x00000000u;
|
|
/* 028588A0 */ _t10 = cpu->r[26] + 0x00000034u;
|
|
/* 028588A0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 028588A4 */ cpu->r[29] = cpu->r[24];
|
|
/* 028588A8 */ cpu->r[28] = cpu->r[5];
|
|
/* 028588AC */ _t11 = cpu->r[26] + 0x00000010u;
|
|
/* 028588AC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 028588B0 */ cpu->r[21] = rbrew_rlwinm(cpu->r[6], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 028588B4 */ _t12 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028588B4 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
|
|
/* 028588B8 */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 028588B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028588BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 028588C0 */ _t14 = cpu->r[1] + 0x0000004Cu;
|
|
/* 028588C0 */ rbrew_write32(cpu->mem, _t14, cpu->r[24]);
|
|
/* 028588C4 */ cpu->r[22] = cpu->r[30] + cpu->r[21];
|
|
/* 028588C8 */ _t15 = cpu->r[26] + 0x00000028u;
|
|
/* 028588C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028588CC */ cpu->r[27] = cpu->r[4];
|
|
/* 028588D0 */ _t16 = cpu->r[26] + 0x0000000Cu;
|
|
/* 028588D0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 028588D4 */ /* nop */
|
|
/* 028588D8 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 028588D8 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 028588DC */ cpu->r[23] = cpu->r[1] + 0x000000C4u;
|
|
/* 028588E0 */ _t18 = cpu->r[1] + 0x00000044u;
|
|
/* 028588E0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[10]);
|
|
/* 028588E4 */ _t19 = cpu->r[1] + 0x00000050u;
|
|
/* 028588E4 */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[24]);
|
|
/* 028588E8 */ cpu->r[5] = cpu->r[24];
|
|
/* 028588EC */ _t20 = cpu->r[1] + 0x00000040u;
|
|
/* 028588EC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[31]);
|
|
/* 028588F0 */ cpu->r[31] = cpu->r[29];
|
|
/* 028588F4 */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 028588F4 */ rbrew_write32(cpu->mem, _t21, cpu->r[26]);
|
|
/* 028588F8 */ cpu->r[25] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028588FC */ cpu->r[4] = cpu->r[23];
|
|
/* 02858900 */ _t22 = cpu->r[1] + 0x00000038u;
|
|
/* 02858900 */ rbrew_write32(cpu->mem, _t22, cpu->r[22]);
|
|
/* 02858904 */ cpu->f[29] = cpu->f[31];
|
|
/* 02858908 */ _t23 = cpu->r[1] + 0x00000048u;
|
|
/* 02858908 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[11]);
|
|
/* 0285890C */ Gambit_fn_02854DB8(cpu);
|
|
/* 02858910 */ cpu->r[3] = cpu->r[26];
|
|
/* 02858914 */ Gambit_fn_028587AC(cpu);
|
|
/* 02858918 */ _t24 = cpu->r[26] + 0x0000003Cu;
|
|
/* 02858918 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0285891C */ cpu->f[7] = cpu->f[1] - cpu->f[7];
|
|
/* 02858920 */ _t25 = cpu->r[27] + 0x00000008u;
|
|
/* 02858920 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[31]);
|
|
/* 02858924 */ /* nop */
|
|
/* 02858928 */ _t26 = cpu->r[27] + 0x00000000u;
|
|
/* 02858928 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[31]);
|
|
/* 0285892C */ /* nop */
|
|
/* 02858930 */ _t27 = cpu->r[27] + 0x00000004u;
|
|
/* 02858930 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[10]);
|
|
/* 02858934 */ _t28 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02858934 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[13]);
|
|
/* 02858938 */ _t29 = cpu->r[26] + 0x00000048u;
|
|
/* 02858938 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0285893C */ _t30 = cpu->r[1] + 0x000000C4u;
|
|
/* 0285893C */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02858940 */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02858940 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02858944 */ _t32 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02858944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02858948 */ cpu->ctr = cpu->r[0];
|
|
/* 0285894C */ cpu->r[30] = cpu->r[29];
|
|
/* 02858950 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02858954 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02858958 */ _t33 = cpu->r[1] + 0x000000CAu;
|
|
/* 02858958 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t33);
|
|
/* 0285895C */ _t34 = cpu->r[1] + 0x000000C8u;
|
|
/* 0285895C */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t34);
|
|
/* 02858960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02858964 */ cpu->r[3] = cpu->r[23] + cpu->r[6];
|
|
/* 02858968 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02858968 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02858968 */ if (_t36) goto L_0285896C; else goto L_0285898C;
|
|
L_0285896C: ; // 0x285896c
|
|
/* 0285896C */ _t37 = cpu->r[23] + 0x00000008u;
|
|
/* 0285896C */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02858970 */ cpu->ctr = cpu->r[8];
|
|
/* 02858974 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02858978 */ _t38 = cpu->r[23] + 0x00000000u;
|
|
/* 02858978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0285897C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]);
|
|
/* 02858980 */ cpu->r[20] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02858984 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02858984 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02858984 */ if (_t40) goto L_02858DBC; else goto L_02858988;
|
|
L_02858988: ; // 0x2858988
|
|
/* 02858988 */ goto L_028589B8;
|
|
L_0285898C: ; // 0x285898c
|
|
/* 0285898C */ _t41 = cpu->r[23] + 0x0000000Au;
|
|
/* 0285898C */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t41);
|
|
/* 02858990 */ _t42 = cpu->r[3] + cpu->r[7];
|
|
/* 02858990 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02858994 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02858998 */ cpu->r[6] = cpu->r[10] + cpu->r[8];
|
|
/* 0285899C */ _t43 = cpu->r[6] + 0x00000004u;
|
|
/* 0285899C */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 028589A0 */ cpu->ctr = cpu->r[8];
|
|
/* 028589A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028589A8 */ _t44 = cpu->r[23] + 0x00000000u;
|
|
/* 028589A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 028589AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]);
|
|
/* 028589B0 */ cpu->r[20] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 028589B4 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028589B4 */ _t46 = _t45 & 0x00000001u;
|
|
/* 028589B4 */ if (_t46) goto L_02858DBC; else goto L_028589B8;
|
|
L_028589B8: ; // 0x28589b8
|
|
/* 028589B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], 0x00000020u);
|
|
/* 028589BC */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028589BC */ _t48 = _t47 & 0x00000001u;
|
|
/* 028589BC */ if (_t48) goto L_028589C0; else goto L_02858BE8;
|
|
L_028589C0: ; // 0x28589c0
|
|
/* 028589C0 */ _t49 = cpu->r[1] + 0x00000010u;
|
|
/* 028589C0 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[29]);
|
|
/* 028589C4 */ cpu->r[12] = cpu->r[29] ^ 0x00000001u;
|
|
/* 028589C8 */ _t50 = cpu->r[1] + 0x00000034u;
|
|
/* 028589C8 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 028589CC */ _t51 = cpu->r[1] + 0x0000004Cu;
|
|
/* 028589CC */ rbrew_write32(cpu->mem, _t51, cpu->r[12]);
|
|
/* 028589D0 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028589D0 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[31]);
|
|
/* 028589D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 028589D8 */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 028589D8 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[31]);
|
|
/* 028589DC */ _t54 = cpu->r[26] + 0x00000014u;
|
|
/* 028589DC */ rbrew_write_f32(cpu->mem, _t54, cpu->f[29]);
|
|
/* 028589E0 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 028589E0 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[31]);
|
|
/* 028589E4 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028589E4 */ _t57 = _t56 & 0x00000001u;
|
|
/* 028589E4 */ if (_t57) goto L_02858ADC; else goto L_028589E8;
|
|
L_028589E8: ; // 0x28589e8
|
|
/* 028589E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x0000000Au);
|
|
/* 028589EC */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028589EC */ _t59 = _t58 & 0x00000001u;
|
|
/* 028589EC */ if (_t59) goto L_02858ADC; else goto L_028589F0;
|
|
L_028589F0: ; // 0x28589f0
|
|
/* 028589F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028589F4 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028589F4 */ _t61 = _t60 & 0x00000001u;
|
|
/* 028589F4 */ if (_t61) goto L_02858ADC; else goto L_028589F8;
|
|
L_028589F8: ; // 0x28589f8
|
|
/* 028589F8 */ cpu->r[6] = 0x00000003u;
|
|
/* 028589FC */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02858A00 */ cpu->ctr = cpu->r[6];
|
|
/* 02858A04 */ cpu->r[5] = cpu->r[1] + 0x00000050u;
|
|
L_02858A08: ; // 0x2858a08
|
|
/* 02858A08 */ _t62 = cpu->r[4] + 0x00000004u;
|
|
/* 02858A08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02858A0C */ _t63 = cpu->r[5] + 0x00000004u;
|
|
/* 02858A0C */ rbrew_write32(cpu->mem, _t63, cpu->r[8]);
|
|
/* 02858A10 */ _t64 = cpu->r[4] + 0x00000008u;
|
|
/* 02858A10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02858A14 */ _t65 = cpu->r[5] + 0x00000008u;
|
|
/* 02858A14 */ rbrew_write32(cpu->mem, _t65, cpu->r[10]);
|
|
/* 02858A18 */ _t66 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02858A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02858A18 */ cpu->r[4] = _t66;
|
|
/* 02858A1C */ _t67 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02858A1C */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 02858A1C */ cpu->r[5] = _t67;
|
|
/* 02858A20 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02858A20 */ _t68 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02858A20 */ _t69 = _t68 >> (0x00000002u & 31u);
|
|
/* 02858A20 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02858A20 */ if (_t70) goto L_02858A08; else goto L_02858A24;
|
|
L_02858A24: ; // 0x2858a24
|
|
/* 02858A24 */ cpu->r[0] = 0x00000013u;
|
|
/* 02858A28 */ cpu->r[6] = cpu->r[26] + 0xFFFFFFFCu;
|
|
/* 02858A2C */ cpu->ctr = cpu->r[0];
|
|
/* 02858A30 */ cpu->r[8] = cpu->r[1] + 0x00000074u;
|
|
L_02858A34: ; // 0x2858a34
|
|
/* 02858A34 */ _t71 = cpu->r[6] + 0x00000004u;
|
|
/* 02858A34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02858A34 */ cpu->r[6] = _t71;
|
|
/* 02858A38 */ _t72 = cpu->r[8] + 0x00000004u;
|
|
/* 02858A38 */ rbrew_write32(cpu->mem, _t72, cpu->r[4]);
|
|
/* 02858A38 */ cpu->r[8] = _t72;
|
|
/* 02858A3C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02858A3C */ _t73 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02858A3C */ _t74 = _t73 >> (0x00000002u & 31u);
|
|
/* 02858A3C */ _t75 = _t74 & 0x00000001u;
|
|
/* 02858A3C */ if (_t75) goto L_02858A34; else goto L_02858A40;
|
|
L_02858A40: ; // 0x2858a40
|
|
/* 02858A40 */ _t76 = cpu->r[1] + 0x00000028u;
|
|
/* 02858A40 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[31]);
|
|
/* 02858A44 */ cpu->r[0] = cpu->r[1] + 0x00000078u;
|
|
/* 02858A48 */ _t77 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02858A48 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[31]);
|
|
/* 02858A4C */ _t78 = cpu->r[1] + 0x00000020u;
|
|
/* 02858A4C */ rbrew_write_f32(cpu->mem, _t78, cpu->f[31]);
|
|
/* 02858A50 */ _t79 = cpu->r[26] + 0x00000048u;
|
|
/* 02858A50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02858A54 */ _t80 = cpu->r[1] + 0x00000054u;
|
|
/* 02858A54 */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
|
|
/* 02858A58 */ _t81 = cpu->r[1] + 0x00000024u;
|
|
/* 02858A58 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[31]);
|
|
/* 02858A5C */ _t82 = cpu->r[3] + 0x00000000u;
|
|
/* 02858A5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02858A60 */ _t83 = cpu->r[8] + 0x00000024u;
|
|
/* 02858A60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02858A64 */ cpu->ctr = cpu->r[12];
|
|
/* 02858A68 */ cpu->r[6] = cpu->r[1] + 0x00000054u;
|
|
/* 02858A6C */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02858A70 */ cpu->r[5] = cpu->r[20];
|
|
/* 02858A74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02858A78 */ _t84 = cpu->r[1] + 0x00000020u;
|
|
/* 02858A78 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 02858A7C */ _t85 = cpu->r[1] + 0x00000028u;
|
|
/* 02858A7C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02858A80 */ cpu->f[11] = cpu->f[12] - cpu->f[13];
|
|
/* 02858A84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[31]);
|
|
/* 02858A88 */ _t86 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02858A88 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02858A88 */ if (_t87) goto L_02858A8C; else goto L_02858AD0;
|
|
L_02858A8C: ; // 0x2858a8c
|
|
/* 02858A8C */ _t88 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02858A8C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 02858A90 */ _t89 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02858A90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 02858A94 */ cpu->f[12] = cpu->f[13] - cpu->f[0];
|
|
/* 02858A98 */ _t90 = cpu->r[26] + 0x00000034u;
|
|
/* 02858A98 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 02858A9C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[6]);
|
|
/* 02858AA0 */ _t91 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02858AA0 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02858AA0 */ if (_t92) goto L_02858AA4; else goto L_02858AD0;
|
|
L_02858AA4: ; // 0x2858aa4
|
|
/* 02858AA4 */ cpu->r[31] = 0x00000001u;
|
|
/* 02858AA8 */ _t93 = cpu->r[1] + 0x00000050u;
|
|
/* 02858AA8 */ rbrew_write16(cpu->mem, _t93, (uint16_t)cpu->r[24]);
|
|
/* 02858AAC */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 02858AB0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02858AB4 */ _t94 = cpu->r[23] + 0x00000000u;
|
|
/* 02858AB4 */ rbrew_write32(cpu->mem, _t94, cpu->r[30]);
|
|
/* 02858AB8 */ cpu->r[20] = 0x0000000Au;
|
|
/* 02858ABC */ Gambit_fn_02858758(cpu);
|
|
/* 02858AC0 */ _t95 = cpu->r[23] + 0x00000000u;
|
|
/* 02858AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02858AC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]);
|
|
/* 02858AC8 */ _t96 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02858AC8 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02858AC8 */ if (_t97) goto L_02858ACC; else goto L_028589B8;
|
|
L_02858ACC: ; // 0x2858acc
|
|
/* 02858ACC */ goto L_02858DBC;
|
|
L_02858AD0: ; // 0x2858ad0
|
|
/* 02858AD0 */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 02858AD4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02858AD8 */ Gambit_fn_02858758(cpu);
|
|
L_02858ADC: ; // 0x2858adc
|
|
/* 02858ADC */ _t98 = cpu->r[26] + 0x00000048u;
|
|
/* 02858ADC */ cpu->r[3] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02858AE0 */ _t99 = cpu->r[3] + 0x00000000u;
|
|
/* 02858AE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02858AE4 */ _t100 = cpu->r[9] + 0x00000024u;
|
|
/* 02858AE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02858AE8 */ cpu->ctr = cpu->r[10];
|
|
/* 02858AEC */ cpu->r[5] = cpu->r[20];
|
|
/* 02858AF0 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02858AF4 */ cpu->r[6] = cpu->r[1] + 0x00000030u;
|
|
/* 02858AF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02858AFC */ _t101 = cpu->r[27] + 0x00000000u;
|
|
/* 02858AFC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02858B00 */ _t102 = cpu->r[1] + 0x00000010u;
|
|
/* 02858B00 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 02858B04 */ cpu->f[7] = cpu->f[9] - cpu->f[12];
|
|
/* 02858B08 */ /* nop */
|
|
/* 02858B0C */ _t103 = cpu->r[27] + 0x00000004u;
|
|
/* 02858B0C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02858B10 */ _t104 = cpu->r[1] + 0x00000014u;
|
|
/* 02858B10 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 02858B14 */ cpu->f[10] = cpu->f[12] - cpu->f[9];
|
|
/* 02858B18 */ /* nop */
|
|
/* 02858B1C */ _t105 = cpu->r[1] + 0x00000018u;
|
|
/* 02858B1C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02858B20 */ _t106 = cpu->r[27] + 0x00000008u;
|
|
/* 02858B20 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 02858B24 */ _t107 = cpu->r[27] + 0x00000004u;
|
|
/* 02858B24 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[11]);
|
|
/* 02858B28 */ cpu->f[13] = cpu->f[12] - cpu->f[9];
|
|
/* 02858B2C */ _t108 = cpu->r[1] + 0x00000034u;
|
|
/* 02858B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02858B30 */ /* nop */
|
|
/* 02858B34 */ _t109 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02858B34 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 02858B38 */ _t110 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02858B38 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 02858B3C */ _t111 = cpu->r[23] + 0x00000000u;
|
|
/* 02858B3C */ rbrew_write32(cpu->mem, _t111, cpu->r[0]);
|
|
/* 02858B40 */ cpu->f[6] = cpu->f[12] - cpu->f[9];
|
|
/* 02858B44 */ _t112 = cpu->r[27] + 0x00000000u;
|
|
/* 02858B44 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[8]);
|
|
/* 02858B48 */ /* nop */
|
|
/* 02858B4C */ _t113 = cpu->r[27] + 0x00000008u;
|
|
/* 02858B4C */ rbrew_write_f32(cpu->mem, _t113, cpu->f[0]);
|
|
/* 02858B50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02858B54 */ _t114 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02858B54 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[8]);
|
|
/* 02858B58 */ _t115 = cpu->r[26] + 0x00000014u;
|
|
/* 02858B58 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 02858B5C */ _t116 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02858B5C */ _t117 = _t116 & 0x00000001u;
|
|
/* 02858B5C */ if (_t117) goto L_02858D58; else goto L_02858B60;
|
|
L_02858B60: ; // 0x2858b60
|
|
/* 02858B60 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858B60 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02858B60 */ if (_t119) goto L_02858BB8; else goto L_02858B64;
|
|
L_02858B64: ; // 0x2858b64
|
|
/* 02858B64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000003u);
|
|
/* 02858B68 */ _t120 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02858B68 */ _t121 = _t120 & 0x00000001u;
|
|
/* 02858B68 */ if (_t121) goto L_02858BD0; else goto L_02858B6C;
|
|
L_02858B6C: ; // 0x2858b6c
|
|
/* 02858B6C */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858B6C */ _t123 = _t122 & 0x00000001u;
|
|
/* 02858B6C */ if (_t123) goto L_02858DBC; else goto L_02858B70;
|
|
L_02858B70: ; // 0x2858b70
|
|
/* 02858B70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u);
|
|
/* 02858B74 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858B74 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02858B74 */ if (_t125) goto L_02858B78; else goto L_02858D58;
|
|
L_02858B78: ; // 0x2858b78
|
|
/* 02858B78 */ _t126 = cpu->r[28] + 0x00000000u;
|
|
/* 02858B78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02858B7C */ cpu->r[12] = cpu->r[12] + cpu->r[21];
|
|
/* 02858B80 */ _t127 = cpu->r[28] + 0x00000000u;
|
|
/* 02858B80 */ rbrew_write32(cpu->mem, _t127, cpu->r[12]);
|
|
/* 02858B84 */ /* nop */
|
|
/* 02858B88 */ _t128 = cpu->r[1] + 0x00000108u;
|
|
/* 02858B88 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 02858B8C */ _t129 = cpu->r[1] + 0x00000118u;
|
|
/* 02858B8C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 02858B90 */ _t130 = cpu->r[1] + 0x00000100u;
|
|
/* 02858B90 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 02858B94 */ _t131 = cpu->r[1] + 0x00000128u;
|
|
/* 02858B94 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 02858B98 */ _t132 = cpu->r[1] + 0x00000110u;
|
|
/* 02858B98 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t132);
|
|
/* 02858B9C */ _t133 = cpu->r[1] + 0x00000120u;
|
|
/* 02858B9C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t133);
|
|
/* 02858BA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02858BA4 */ _t134 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02858BA4 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02858BA4 */ if (_t135) goto L_02858BA8; // else: addr-0 trap, fall-through
|
|
L_02858BA8: ; // 0x2858ba8
|
|
/* 02858BA8 */ _t136 = cpu->r[1] + 0x00000134u;
|
|
/* 02858BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02858BAC */ cpu->lr = cpu->r[0];
|
|
/* 02858BB0 */ cpu->r[1] = cpu->r[1] + 0x00000130u;
|
|
/* 02858BB4 */ return;
|
|
L_02858BB8: ; // 0x2858bb8
|
|
/* 02858BB8 */ cpu->r[29] = 0x00000000u;
|
|
/* 02858BBC */ _t137 = cpu->r[23] + 0x00000004u;
|
|
/* 02858BBC */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t137);
|
|
/* 02858BC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02858BC4 */ _t138 = cpu->r[23] + 0x00000006u;
|
|
/* 02858BC4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t138);
|
|
/* 02858BC8 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858BC8 */ _t140 = _t139 & 0x00000001u;
|
|
/* 02858BC8 */ if (_t140) goto L_02858D6C; else goto L_02858BCC;
|
|
L_02858BCC: ; // 0x2858bcc
|
|
/* 02858BCC */ goto L_02858D68;
|
|
L_02858BD0: ; // 0x2858bd0
|
|
/* 02858BD0 */ cpu->r[29] = 0x00000001u;
|
|
/* 02858BD4 */ _t141 = cpu->r[23] + 0x00000004u;
|
|
/* 02858BD4 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t141);
|
|
/* 02858BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02858BDC */ _t142 = cpu->r[23] + 0x00000006u;
|
|
/* 02858BDC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t142);
|
|
/* 02858BE0 */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858BE0 */ _t144 = _t143 & 0x00000001u;
|
|
/* 02858BE0 */ if (_t144) goto L_02858D6C; else goto L_02858BE4;
|
|
L_02858BE4: ; // 0x2858be4
|
|
/* 02858BE4 */ goto L_02858D68;
|
|
L_02858BE8: ; // 0x2858be8
|
|
/* 02858BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02858BEC */ cpu->f[30] = cpu->f[29];
|
|
/* 02858BF0 */ _t145 = cpu->r[26] + 0x00000030u;
|
|
/* 02858BF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t145);
|
|
/* 02858BF4 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858BF4 */ _t147 = _t146 & 0x00000001u;
|
|
/* 02858BF4 */ if (_t147) goto L_02858C00; else goto L_02858BF8;
|
|
L_02858BF8: ; // 0x2858bf8
|
|
/* 02858BF8 */ _t148 = cpu->r[26] + 0x00000038u;
|
|
/* 02858BF8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t148);
|
|
/* 02858BFC */ cpu->f[30] = cpu->f[30] + cpu->f[9];
|
|
L_02858C00: ; // 0x2858c00
|
|
/* 02858C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02858C04 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858C04 */ _t150 = _t149 & 0x00000001u;
|
|
/* 02858C04 */ if (_t150) goto L_02858C64; else goto L_02858C08;
|
|
L_02858C08: ; // 0x2858c08
|
|
/* 02858C08 */ _t151 = cpu->r[26] + 0x00000028u;
|
|
/* 02858C08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02858C0C */ _t152 = cpu->r[3] + 0x00000004u;
|
|
/* 02858C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02858C10 */ _t153 = cpu->r[12] + 0x0000009Cu;
|
|
/* 02858C10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02858C14 */ _t154 = cpu->r[26] + 0x00000020u;
|
|
/* 02858C14 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t154);
|
|
/* 02858C18 */ cpu->ctr = cpu->r[4];
|
|
/* 02858C1C */ _t155 = cpu->r[1] + 0x00000050u;
|
|
/* 02858C1C */ cpu->r[4] = rbrew_read16(cpu->mem, _t155);
|
|
/* 02858C20 */ cpu->f[30] = cpu->f[30] + cpu->f[12];
|
|
/* 02858C24 */ cpu->r[5] = cpu->r[20];
|
|
/* 02858C28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02858C2C */ cpu->r[7] = 0x10130000u;
|
|
/* 02858C30 */ cpu->r[9] = 0x43300000u;
|
|
/* 02858C34 */ _t156 = cpu->r[7] + 0x00001D88u;
|
|
/* 02858C34 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t156);
|
|
/* 02858C38 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 02858C3C */ _t157 = cpu->r[1] + 0x00000008u;
|
|
/* 02858C3C */ rbrew_write32(cpu->mem, _t157, cpu->r[9]);
|
|
/* 02858C40 */ _t158 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858C40 */ rbrew_write32(cpu->mem, _t158, cpu->r[0]);
|
|
/* 02858C44 */ _t159 = cpu->r[1] + 0x00000008u;
|
|
/* 02858C44 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t159);
|
|
/* 02858C48 */ cpu->f[10] = cpu->f[9] - cpu->f[12];
|
|
/* 02858C4C */ cpu->f[7] = (double)(float)cpu->f[10];
|
|
/* 02858C50 */ _t160 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02858C50 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t160);
|
|
/* 02858C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02858C58 */ cpu->f[30] = fma(cpu->f[7], cpu->f[11], cpu->f[30]);
|
|
/* 02858C5C */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858C5C */ _t162 = _t161 & 0x00000001u;
|
|
/* 02858C5C */ if (_t162) goto L_02858D2C; else goto L_02858C60;
|
|
L_02858C60: ; // 0x2858c60
|
|
/* 02858C60 */ goto L_02858CF8;
|
|
L_02858C64: ; // 0x2858c64
|
|
/* 02858C64 */ _t163 = cpu->r[26] + 0x00000028u;
|
|
/* 02858C64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02858C68 */ _t164 = cpu->r[3] + 0x00000004u;
|
|
/* 02858C68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02858C6C */ _t165 = cpu->r[4] + 0x0000007Cu;
|
|
/* 02858C6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02858C70 */ cpu->ctr = cpu->r[5];
|
|
/* 02858C74 */ cpu->r[4] = cpu->r[20];
|
|
/* 02858C78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02858C7C */ cpu->r[9] = cpu->r[3] ^ 0x80000000u;
|
|
/* 02858C80 */ cpu->r[7] = 0x43300000u;
|
|
/* 02858C84 */ _t166 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858C84 */ rbrew_write32(cpu->mem, _t166, cpu->r[9]);
|
|
/* 02858C88 */ cpu->r[5] = 0x10130000u;
|
|
/* 02858C8C */ _t167 = cpu->r[1] + 0x00000008u;
|
|
/* 02858C8C */ rbrew_write32(cpu->mem, _t167, cpu->r[7]);
|
|
/* 02858C90 */ _t168 = cpu->r[1] + 0x00000008u;
|
|
/* 02858C90 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t168);
|
|
/* 02858C94 */ _t169 = cpu->r[5] + 0x00001D88u;
|
|
/* 02858C94 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t169);
|
|
/* 02858C98 */ _t170 = cpu->r[26] + 0x00000028u;
|
|
/* 02858C98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02858C9C */ cpu->f[0] = cpu->f[11] - cpu->f[10];
|
|
/* 02858CA0 */ _t171 = cpu->r[3] + 0x00000004u;
|
|
/* 02858CA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02858CA4 */ _t172 = cpu->r[12] + 0x0000009Cu;
|
|
/* 02858CA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02858CA8 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 02858CAC */ cpu->ctr = cpu->r[4];
|
|
/* 02858CB0 */ _t173 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02858CB0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t173);
|
|
/* 02858CB4 */ cpu->f[30] = fma(cpu->f[13], cpu->f[6], cpu->f[30]);
|
|
/* 02858CB8 */ _t174 = cpu->r[1] + 0x00000050u;
|
|
/* 02858CB8 */ cpu->r[4] = rbrew_read16(cpu->mem, _t174);
|
|
/* 02858CBC */ cpu->r[5] = cpu->r[20];
|
|
/* 02858CC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02858CC4 */ cpu->r[7] = 0x10130000u;
|
|
/* 02858CC8 */ cpu->r[9] = 0x43300000u;
|
|
/* 02858CCC */ _t175 = cpu->r[7] + 0x00001D88u;
|
|
/* 02858CCC */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t175);
|
|
/* 02858CD0 */ cpu->r[0] = cpu->r[3] ^ 0x80000000u;
|
|
/* 02858CD4 */ _t176 = cpu->r[1] + 0x00000008u;
|
|
/* 02858CD4 */ rbrew_write32(cpu->mem, _t176, cpu->r[9]);
|
|
/* 02858CD8 */ _t177 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858CD8 */ rbrew_write32(cpu->mem, _t177, cpu->r[0]);
|
|
/* 02858CDC */ _t178 = cpu->r[1] + 0x00000008u;
|
|
/* 02858CDC */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t178);
|
|
/* 02858CE0 */ cpu->f[10] = cpu->f[9] - cpu->f[12];
|
|
/* 02858CE4 */ cpu->f[7] = (double)(float)cpu->f[10];
|
|
/* 02858CE8 */ _t179 = cpu->r[26] + 0x0000000Cu;
|
|
/* 02858CE8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t179);
|
|
/* 02858CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02858CF0 */ cpu->f[30] = fma(cpu->f[7], cpu->f[11], cpu->f[30]);
|
|
/* 02858CF4 */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858CF4 */ _t181 = _t180 & 0x00000001u;
|
|
/* 02858CF4 */ if (_t181) goto L_02858D2C; else goto L_02858CF8;
|
|
L_02858CF8: ; // 0x2858cf8
|
|
/* 02858CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02858CFC */ _t182 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858CFC */ _t183 = _t182 & 0x00000001u;
|
|
/* 02858CFC */ if (_t183) goto L_02858D2C; else goto L_02858D00;
|
|
L_02858D00: ; // 0x2858d00
|
|
/* 02858D00 */ _t184 = cpu->r[26] + 0x00000034u;
|
|
/* 02858D00 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t184);
|
|
/* 02858D04 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[13]);
|
|
/* 02858D08 */ _t185 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02858D08 */ _t186 = _t185 & 0x00000001u;
|
|
/* 02858D08 */ if (_t186) goto L_02858D0C; else goto L_02858D2C;
|
|
L_02858D0C: ; // 0x2858d0c
|
|
/* 02858D0C */ cpu->r[0] = cpu->r[30];
|
|
/* 02858D10 */ cpu->r[31] = 0x00000001u;
|
|
/* 02858D14 */ _t187 = cpu->r[1] + 0x00000050u;
|
|
/* 02858D14 */ rbrew_write16(cpu->mem, _t187, (uint16_t)cpu->r[24]);
|
|
/* 02858D18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]);
|
|
/* 02858D1C */ cpu->r[20] = 0x0000000Au;
|
|
/* 02858D20 */ _t188 = cpu->r[23] + 0x00000000u;
|
|
/* 02858D20 */ rbrew_write32(cpu->mem, _t188, cpu->r[0]);
|
|
/* 02858D24 */ _t189 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02858D24 */ _t190 = _t189 & 0x00000001u;
|
|
/* 02858D24 */ if (_t190) goto L_02858D28; else goto L_028589B8;
|
|
L_02858D28: ; // 0x2858d28
|
|
/* 02858D28 */ goto L_02858DBC;
|
|
L_02858D2C: ; // 0x2858d2c
|
|
/* 02858D2C */ _t191 = cpu->r[27] + 0x00000000u;
|
|
/* 02858D2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t191);
|
|
/* 02858D30 */ cpu->f[6] = cpu->f[0] - cpu->f[30];
|
|
/* 02858D34 */ /* nop */
|
|
/* 02858D38 */ _t192 = cpu->r[27] + 0x00000008u;
|
|
/* 02858D38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t192);
|
|
/* 02858D3C */ _t193 = cpu->r[1] + 0x00000050u;
|
|
/* 02858D3C */ rbrew_write16(cpu->mem, _t193, (uint16_t)cpu->r[20]);
|
|
/* 02858D40 */ cpu->f[8] = cpu->f[0] - cpu->f[30];
|
|
/* 02858D44 */ _t194 = cpu->r[27] + 0x00000000u;
|
|
/* 02858D44 */ rbrew_write_f32(cpu->mem, _t194, cpu->f[7]);
|
|
/* 02858D48 */ cpu->r[29] = 0x00000001u;
|
|
/* 02858D4C */ /* nop */
|
|
/* 02858D50 */ cpu->f[29] = cpu->f[30];
|
|
/* 02858D54 */ _t195 = cpu->r[27] + 0x00000008u;
|
|
/* 02858D54 */ rbrew_write_f32(cpu->mem, _t195, cpu->f[9]);
|
|
L_02858D58: ; // 0x2858d58
|
|
/* 02858D58 */ _t196 = cpu->r[23] + 0x00000006u;
|
|
/* 02858D58 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t196);
|
|
/* 02858D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02858D60 */ _t197 = cpu->r[23] + 0x00000004u;
|
|
/* 02858D60 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t197);
|
|
/* 02858D64 */ _t198 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858D64 */ _t199 = _t198 & 0x00000001u;
|
|
/* 02858D64 */ if (_t199) goto L_02858D6C; else goto L_02858D68;
|
|
L_02858D68: ; // 0x2858d68
|
|
/* 02858D68 */ _t200 = cpu->r[23] + 0x00000000u;
|
|
/* 02858D68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t200);
|
|
L_02858D6C: ; // 0x2858d6c
|
|
/* 02858D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02858D70 */ cpu->r[3] = cpu->r[23] + cpu->r[4];
|
|
/* 02858D74 */ _t201 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02858D74 */ _t202 = _t201 & 0x00000001u;
|
|
/* 02858D74 */ if (_t202) goto L_02858D78; else goto L_02858D90;
|
|
L_02858D78: ; // 0x2858d78
|
|
/* 02858D78 */ _t203 = cpu->r[23] + 0x00000008u;
|
|
/* 02858D78 */ cpu->r[9] = rbrew_read32(cpu->mem, _t203);
|
|
/* 02858D7C */ cpu->ctr = cpu->r[9];
|
|
/* 02858D80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02858D84 */ _t204 = cpu->r[23] + 0x00000000u;
|
|
/* 02858D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t204);
|
|
/* 02858D88 */ cpu->r[20] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02858D8C */ goto L_02858DB4;
|
|
L_02858D90: ; // 0x2858d90
|
|
/* 02858D90 */ _t205 = cpu->r[23] + 0x0000000Au;
|
|
/* 02858D90 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t205);
|
|
/* 02858D94 */ _t206 = cpu->r[3] + cpu->r[0];
|
|
/* 02858D94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t206);
|
|
/* 02858D98 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02858D9C */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
/* 02858DA0 */ _t207 = cpu->r[12] + 0x00000004u;
|
|
/* 02858DA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02858DA4 */ cpu->ctr = cpu->r[9];
|
|
/* 02858DA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02858DAC */ _t208 = cpu->r[23] + 0x00000000u;
|
|
/* 02858DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t208);
|
|
/* 02858DB0 */ cpu->r[20] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
L_02858DB4: ; // 0x2858db4
|
|
/* 02858DB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]);
|
|
/* 02858DB8 */ _t209 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02858DB8 */ _t210 = _t209 & 0x00000001u;
|
|
/* 02858DB8 */ if (_t210) goto L_02858DBC; else goto L_028589B8;
|
|
L_02858DBC: ; // 0x2858dbc
|
|
/* 02858DBC */ _t211 = cpu->r[28] + 0x00000000u;
|
|
/* 02858DBC */ rbrew_write32(cpu->mem, _t211, cpu->r[0]);
|
|
/* 02858DC0 */ _t212 = cpu->r[26] + 0x00000048u;
|
|
/* 02858DC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t212);
|
|
/* 02858DC4 */ _t213 = cpu->r[3] + 0x00000000u;
|
|
/* 02858DC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t213);
|
|
/* 02858DC8 */ _t214 = cpu->r[10] + 0x00000044u;
|
|
/* 02858DC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t214);
|
|
/* 02858DCC */ cpu->ctr = cpu->r[11];
|
|
/* 02858DD0 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02858DD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02858DD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02858DDC */ /* nop */
|
|
/* 02858DE0 */ _t215 = cpu->r[1] + 0x00000108u;
|
|
/* 02858DE0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t215);
|
|
/* 02858DE4 */ _t216 = cpu->r[1] + 0x00000118u;
|
|
/* 02858DE4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t216);
|
|
/* 02858DE8 */ _t217 = cpu->r[1] + 0x00000100u;
|
|
/* 02858DE8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t217);
|
|
/* 02858DEC */ _t218 = cpu->r[1] + 0x00000128u;
|
|
/* 02858DEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t218);
|
|
/* 02858DF0 */ _t219 = cpu->r[1] + 0x00000110u;
|
|
/* 02858DF0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t219);
|
|
/* 02858DF4 */ _t220 = cpu->r[1] + 0x00000120u;
|
|
/* 02858DF4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t220);
|
|
/* 02858DF8 */ _t221 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02858DF8 */ _t222 = _t221 & 0x00000001u;
|
|
/* 02858DF8 */ if (_t222) goto L_02858DFC; // else: addr-0 trap, fall-through
|
|
L_02858DFC: ; // 0x2858dfc
|
|
/* 02858DFC */ _t223 = cpu->r[1] + 0x00000134u;
|
|
/* 02858DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t223);
|
|
/* 02858E00 */ cpu->lr = cpu->r[0];
|
|
/* 02858E04 */ cpu->r[1] = cpu->r[1] + 0x00000130u;
|
|
/* 02858E08 */ return;
|
|
}
|
|
|
|
// fn_02858E0C @ 0x2858e0c
|
|
void Gambit_fn_02858E0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02858E0C: ; // 0x2858e0c
|
|
/* 02858E0C */ cpu->r[0] = cpu->lr;
|
|
/* 02858E10 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02858E10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858E10 */ cpu->r[1] = _t0;
|
|
/* 02858E14 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02858E14 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02858E18 */ /* nop */
|
|
/* 02858E1C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02858E1C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02858E20 */ cpu->r[12] = 0x10130000u;
|
|
/* 02858E24 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02858E24 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02858E28 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 02858E28 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02858E2C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02858E2C */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 02858E30 */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02858E30 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02858E34 */ _t7 = cpu->r[12] + 0x00001D84u;
|
|
/* 02858E34 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02858E38 */ cpu->r[31] = cpu->r[4];
|
|
/* 02858E3C */ _t8 = cpu->r[1] + 0x00000020u;
|
|
/* 02858E3C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02858E40 */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02858E40 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
|
|
/* 02858E44 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02858E44 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]);
|
|
/* 02858E48 */ cpu->r[30] = cpu->r[3];
|
|
/* 02858E4C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02858E4C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]);
|
|
/* 02858E50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02858E54 */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 02858E54 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
|
|
/* 02858E58 */ cpu->r[29] = cpu->r[5] + cpu->r[0];
|
|
/* 02858E5C */ _t13 = cpu->r[30] + 0x00000014u;
|
|
/* 02858E5C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[31]);
|
|
/* 02858E60 */ _t14 = cpu->r[30] + 0x00000018u;
|
|
/* 02858E60 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]);
|
|
L_02858E64: ; // 0x2858e64
|
|
/* 02858E64 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02858E64 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]);
|
|
/* 02858E68 */ cpu->r[3] = cpu->r[30];
|
|
/* 02858E6C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858E6C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[31]);
|
|
/* 02858E70 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02858E74 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02858E74 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
|
|
/* 02858E78 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02858E7C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02858E7C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[31]);
|
|
/* 02858E80 */ Gambit_fn_02858854(cpu);
|
|
/* 02858E84 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02858E84 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02858E88 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02858E88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02858E8C */ cpu->f[12] = cpu->f[0] - cpu->f[9];
|
|
/* 02858E90 */ /* nop */
|
|
/* 02858E94 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858E94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02858E98 */ _t22 = cpu->r[31] + 0x00000004u;
|
|
/* 02858E98 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02858E9C */ cpu->f[13] = cpu->f[9] - cpu->f[0];
|
|
/* 02858EA0 */ /* nop */
|
|
/* 02858EA4 */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 02858EA4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02858EA8 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02858EA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02858EAC */ cpu->f[10] = cpu->f[9] - cpu->f[0];
|
|
/* 02858EB0 */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 02858EB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02858EB4 */ /* nop */
|
|
/* 02858EB8 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02858EB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02858EBC */ _t27 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02858EBC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02858EC0 */ _t28 = cpu->r[31] + 0x00000004u;
|
|
/* 02858EC0 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[8]);
|
|
/* 02858EC4 */ cpu->f[12] = cpu->f[9] - cpu->f[0];
|
|
/* 02858EC8 */ _t29 = cpu->r[31] + 0x00000000u;
|
|
/* 02858EC8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[7]);
|
|
/* 02858ECC */ cpu->r[9] = cpu->r[29] - cpu->r[10];
|
|
/* 02858ED0 */ /* nop */
|
|
/* 02858ED4 */ _t30 = cpu->r[31] + 0x00000008u;
|
|
/* 02858ED4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[11]);
|
|
/* 02858ED8 */ /* nop */
|
|
/* 02858EDC */ _t31 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02858EDC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]);
|
|
/* 02858EE0 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02858EE0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02858EE0 */ if (_t33) goto L_02858E64; else goto L_02858EE4;
|
|
L_02858EE4: ; // 0x2858ee4
|
|
/* 02858EE4 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02858EE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02858EE8 */ _t35 = cpu->r[1] + 0x00000030u;
|
|
/* 02858EE8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02858EEC */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02858EEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02858EF0 */ _t37 = cpu->r[1] + 0x00000028u;
|
|
/* 02858EF0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 02858EF4 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02858EF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02858EF8 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02858EF8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02858EF8 */ if (_t40) goto L_02858EFC; // else: addr-0 trap, fall-through
|
|
L_02858EFC: ; // 0x2858efc
|
|
/* 02858EFC */ _t41 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02858EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02858F00 */ cpu->lr = cpu->r[0];
|
|
/* 02858F04 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02858F08 */ return;
|
|
}
|
|
|
|
// fn_02858E10 @ 0x2858e10
|
|
void Gambit_fn_02858E10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02858E10: ; // 0x2858e10
|
|
/* 02858E10 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02858E10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858E10 */ cpu->r[1] = _t0;
|
|
/* 02858E14 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02858E14 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02858E18 */ /* nop */
|
|
/* 02858E1C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02858E1C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02858E20 */ cpu->r[12] = 0x10130000u;
|
|
/* 02858E24 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02858E24 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02858E28 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 02858E28 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02858E2C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02858E2C */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 02858E30 */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02858E30 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02858E34 */ _t7 = cpu->r[12] + 0x00001D84u;
|
|
/* 02858E34 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02858E38 */ cpu->r[31] = cpu->r[4];
|
|
/* 02858E3C */ _t8 = cpu->r[1] + 0x00000020u;
|
|
/* 02858E3C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02858E40 */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02858E40 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
|
|
/* 02858E44 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02858E44 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[31]);
|
|
/* 02858E48 */ cpu->r[30] = cpu->r[3];
|
|
/* 02858E4C */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02858E4C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]);
|
|
/* 02858E50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02858E54 */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 02858E54 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
|
|
/* 02858E58 */ cpu->r[29] = cpu->r[5] + cpu->r[0];
|
|
/* 02858E5C */ _t13 = cpu->r[30] + 0x00000014u;
|
|
/* 02858E5C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[31]);
|
|
/* 02858E60 */ _t14 = cpu->r[30] + 0x00000018u;
|
|
/* 02858E60 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]);
|
|
L_02858E64: ; // 0x2858e64
|
|
/* 02858E64 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02858E64 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]);
|
|
/* 02858E68 */ cpu->r[3] = cpu->r[30];
|
|
/* 02858E6C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858E6C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[31]);
|
|
/* 02858E70 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02858E74 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02858E74 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
|
|
/* 02858E78 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02858E7C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02858E7C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[31]);
|
|
/* 02858E80 */ Gambit_fn_02858854(cpu);
|
|
/* 02858E84 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02858E84 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02858E88 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02858E88 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02858E8C */ cpu->f[12] = cpu->f[0] - cpu->f[9];
|
|
/* 02858E90 */ /* nop */
|
|
/* 02858E94 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858E94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02858E98 */ _t22 = cpu->r[31] + 0x00000004u;
|
|
/* 02858E98 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02858E9C */ cpu->f[13] = cpu->f[9] - cpu->f[0];
|
|
/* 02858EA0 */ /* nop */
|
|
/* 02858EA4 */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 02858EA4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02858EA8 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02858EA8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02858EAC */ cpu->f[10] = cpu->f[9] - cpu->f[0];
|
|
/* 02858EB0 */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 02858EB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02858EB4 */ /* nop */
|
|
/* 02858EB8 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02858EB8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02858EBC */ _t27 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02858EBC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02858EC0 */ _t28 = cpu->r[31] + 0x00000004u;
|
|
/* 02858EC0 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[8]);
|
|
/* 02858EC4 */ cpu->f[12] = cpu->f[9] - cpu->f[0];
|
|
/* 02858EC8 */ _t29 = cpu->r[31] + 0x00000000u;
|
|
/* 02858EC8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[7]);
|
|
/* 02858ECC */ cpu->r[9] = cpu->r[29] - cpu->r[10];
|
|
/* 02858ED0 */ /* nop */
|
|
/* 02858ED4 */ _t30 = cpu->r[31] + 0x00000008u;
|
|
/* 02858ED4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[11]);
|
|
/* 02858ED8 */ /* nop */
|
|
/* 02858EDC */ _t31 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02858EDC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]);
|
|
/* 02858EE0 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02858EE0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02858EE0 */ if (_t33) goto L_02858E64; else goto L_02858EE4;
|
|
L_02858EE4: ; // 0x2858ee4
|
|
/* 02858EE4 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02858EE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02858EE8 */ _t35 = cpu->r[1] + 0x00000030u;
|
|
/* 02858EE8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02858EEC */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02858EEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02858EF0 */ _t37 = cpu->r[1] + 0x00000028u;
|
|
/* 02858EF0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 02858EF4 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02858EF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02858EF8 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02858EF8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02858EF8 */ if (_t40) goto L_02858EFC; // else: addr-0 trap, fall-through
|
|
L_02858EFC: ; // 0x2858efc
|
|
/* 02858EFC */ _t41 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02858EFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02858F00 */ cpu->lr = cpu->r[0];
|
|
/* 02858F04 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02858F08 */ return;
|
|
}
|
|
|
|
// fn_02858F0C @ 0x2858f0c
|
|
void Gambit_fn_02858F0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02858F0C: ; // 0x2858f0c
|
|
/* 02858F0C */ cpu->r[0] = cpu->lr;
|
|
/* 02858F10 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02858F10 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02858F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02858F18 */ _t1 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02858F18 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02858F18 */ cpu->r[1] = _t1;
|
|
/* 02858F1C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858F1C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02858F1C */ if (_t3) goto L_02858F20; else goto L_02858F48;
|
|
L_02858F20: ; // 0x2858f20
|
|
/* 02858F20 */ cpu->r[12] = 0x10130000u;
|
|
/* 02858F24 */ _t4 = cpu->r[12] + 0x00001D84u;
|
|
/* 02858F24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02858F28 */ _t5 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02858F28 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02858F2C */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 02858F2C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 02858F30 */ _t7 = cpu->r[4] + 0x00000008u;
|
|
/* 02858F30 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02858F34 */ _t8 = cpu->r[4] + 0x00000004u;
|
|
/* 02858F34 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02858F38 */ _t9 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02858F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02858F3C */ cpu->lr = cpu->r[0];
|
|
/* 02858F40 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02858F44 */ return;
|
|
L_02858F48: ; // 0x2858f48
|
|
/* 02858F48 */ cpu->r[0] = 0x00000013u;
|
|
/* 02858F4C */ cpu->r[9] = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 02858F50 */ cpu->ctr = cpu->r[0];
|
|
/* 02858F54 */ cpu->r[10] = cpu->r[1] + 0x00000004u;
|
|
L_02858F58: ; // 0x2858f58
|
|
/* 02858F58 */ _t10 = cpu->r[9] + 0x00000004u;
|
|
/* 02858F58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02858F58 */ cpu->r[9] = _t10;
|
|
/* 02858F5C */ _t11 = cpu->r[10] + 0x00000004u;
|
|
/* 02858F5C */ rbrew_write32(cpu->mem, _t11, cpu->r[8]);
|
|
/* 02858F5C */ cpu->r[10] = _t11;
|
|
/* 02858F60 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02858F60 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02858F60 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02858F60 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02858F60 */ if (_t14) goto L_02858F58; else goto L_02858F64;
|
|
L_02858F64: ; // 0x2858f64
|
|
/* 02858F64 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02858F68 */ Gambit_fn_02858E0C(cpu);
|
|
/* 02858F6C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02858F70 */ cpu->r[4] = 0x00000002u;
|
|
/* 02858F74 */ Gambit_fn_02858758(cpu);
|
|
/* 02858F78 */ _t15 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02858F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02858F7C */ cpu->lr = cpu->r[0];
|
|
/* 02858F80 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02858F84 */ return;
|
|
}
|
|
|
|
// fn_02858F18 @ 0x2858f18
|
|
void Gambit_fn_02858F18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02858F18: ; // 0x2858f18
|
|
/* 02858F18 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02858F18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858F18 */ cpu->r[1] = _t0;
|
|
/* 02858F1C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02858F1C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02858F1C */ if (_t2) goto L_02858F20; else goto L_02858F48;
|
|
L_02858F20: ; // 0x2858f20
|
|
/* 02858F20 */ cpu->r[12] = 0x10130000u;
|
|
/* 02858F24 */ _t3 = cpu->r[12] + 0x00001D84u;
|
|
/* 02858F24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02858F28 */ _t4 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02858F28 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
|
|
/* 02858F2C */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02858F2C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02858F30 */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02858F30 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 02858F34 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02858F34 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02858F38 */ _t8 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02858F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02858F3C */ cpu->lr = cpu->r[0];
|
|
/* 02858F40 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02858F44 */ return;
|
|
L_02858F48: ; // 0x2858f48
|
|
/* 02858F48 */ cpu->r[0] = 0x00000013u;
|
|
/* 02858F4C */ cpu->r[9] = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 02858F50 */ cpu->ctr = cpu->r[0];
|
|
/* 02858F54 */ cpu->r[10] = cpu->r[1] + 0x00000004u;
|
|
L_02858F58: ; // 0x2858f58
|
|
/* 02858F58 */ _t9 = cpu->r[9] + 0x00000004u;
|
|
/* 02858F58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02858F58 */ cpu->r[9] = _t9;
|
|
/* 02858F5C */ _t10 = cpu->r[10] + 0x00000004u;
|
|
/* 02858F5C */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02858F5C */ cpu->r[10] = _t10;
|
|
/* 02858F60 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02858F60 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02858F60 */ _t12 = _t11 >> (0x00000002u & 31u);
|
|
/* 02858F60 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02858F60 */ if (_t13) goto L_02858F58; else goto L_02858F64;
|
|
L_02858F64: ; // 0x2858f64
|
|
/* 02858F64 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02858F68 */ Gambit_fn_02858E0C(cpu);
|
|
/* 02858F6C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02858F70 */ cpu->r[4] = 0x00000002u;
|
|
/* 02858F74 */ Gambit_fn_02858758(cpu);
|
|
/* 02858F78 */ _t14 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02858F78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02858F7C */ cpu->lr = cpu->r[0];
|
|
/* 02858F80 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02858F84 */ return;
|
|
}
|
|
|
|
// fn_02858F88 @ 0x2858f88
|
|
void Gambit_fn_02858F88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02858F88: ; // 0x2858f88
|
|
/* 02858F88 */ cpu->r[0] = cpu->lr;
|
|
/* 02858F8C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02858F8C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02858F90 */ cpu->r[12] = 0x10130000u;
|
|
/* 02858F94 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02858F94 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02858F94 */ cpu->r[1] = _t1;
|
|
/* 02858F98 */ _t2 = cpu->r[12] + 0x00001D84u;
|
|
/* 02858F98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02858F9C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02858F9C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 02858FA0 */ cpu->r[6] = cpu->r[5];
|
|
/* 02858FA4 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02858FA4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
|
|
/* 02858FA8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02858FAC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858FAC */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02858FB0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02858FB4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02858FB4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 02858FB8 */ Gambit_fn_02858F0C(cpu);
|
|
/* 02858FBC */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02858FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02858FC0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02858FC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02858FC4 */ cpu->lr = cpu->r[0];
|
|
/* 02858FC8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02858FC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02858FCC */ cpu->f[1] = cpu->f[13] - cpu->f[0];
|
|
/* 02858FD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02858FD4 */ return;
|
|
}
|
|
|
|
// fn_02858F94 @ 0x2858f94
|
|
void Gambit_fn_02858F94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02858F94: ; // 0x2858f94
|
|
/* 02858F94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02858F94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858F94 */ cpu->r[1] = _t0;
|
|
/* 02858F98 */ _t1 = cpu->r[12] + 0x00001D84u;
|
|
/* 02858F98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02858F9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02858F9C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[0]);
|
|
/* 02858FA0 */ cpu->r[6] = cpu->r[5];
|
|
/* 02858FA4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02858FA4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 02858FA8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02858FAC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858FAC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
|
|
/* 02858FB0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02858FB4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02858FB4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02858FB8 */ Gambit_fn_02858F0C(cpu);
|
|
/* 02858FBC */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02858FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02858FC0 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02858FC0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02858FC4 */ cpu->lr = cpu->r[0];
|
|
/* 02858FC8 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02858FC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02858FCC */ cpu->f[1] = cpu->f[13] - cpu->f[0];
|
|
/* 02858FD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02858FD4 */ return;
|
|
}
|
|
|
|
// fn_02858FD8 @ 0x2858fd8
|
|
void Gambit_fn_02858FD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02858FD8: ; // 0x2858fd8
|
|
/* 02858FD8 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02858FD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02858FD8 */ cpu->r[1] = _t0;
|
|
/* 02858FDC */ cpu->r[0] = cpu->lr;
|
|
/* 02858FE0 */ cpu->r[11] = 0x10130000u;
|
|
/* 02858FE4 */ _t1 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02858FE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02858FE8 */ _t2 = cpu->r[11] + 0x00001D84u;
|
|
/* 02858FE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02858FEC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02858FEC */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02858FF0 */ cpu->r[6] = cpu->r[5];
|
|
/* 02858FF4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02858FF4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
|
|
/* 02858FF8 */ cpu->r[10] = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 02858FFC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02858FFC */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02859000 */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02859004 */ _t6 = cpu->r[1] + 0x00000074u;
|
|
/* 02859004 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02859008 */ cpu->r[0] = 0x00000013u;
|
|
/* 0285900C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0285900C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02859010 */ cpu->ctr = cpu->r[0];
|
|
/* 02859014 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02859014 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
L_02859018: ; // 0x2859018
|
|
/* 02859018 */ _t9 = cpu->r[10] + 0x00000004u;
|
|
/* 02859018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02859018 */ cpu->r[10] = _t9;
|
|
/* 0285901C */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 0285901C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0285901C */ cpu->r[12] = _t10;
|
|
/* 02859020 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02859020 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02859020 */ _t12 = _t11 >> (0x00000002u & 31u);
|
|
/* 02859020 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02859020 */ if (_t13) goto L_02859018; else goto L_02859024;
|
|
L_02859024: ; // 0x2859024
|
|
/* 02859024 */ _t14 = cpu->r[1] + 0x00000030u;
|
|
/* 02859024 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02859028 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285902C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02859030 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02859034 */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 02859034 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02859038 */ Gambit_fn_02858854(cpu);
|
|
/* 0285903C */ cpu->r[4] = 0x00000002u;
|
|
/* 02859040 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02859040 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02859044 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02859048 */ Gambit_fn_02858758(cpu);
|
|
/* 0285904C */ _t17 = cpu->r[1] + 0x00000074u;
|
|
/* 0285904C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02859050 */ cpu->r[3] = cpu->r[31];
|
|
/* 02859054 */ _t18 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02859054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02859058 */ cpu->lr = cpu->r[0];
|
|
/* 0285905C */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02859060 */ return;
|
|
}
|
|
|
|
// fn_02859064 @ 0x2859064
|
|
void Gambit_fn_02859064(CPUState* cpu) {
|
|
uint32_t _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_02859064: ; // 0x2859064
|
|
/* 02859064 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02859064 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02859064 */ cpu->r[1] = _t0;
|
|
/* 02859068 */ cpu->r[11] = 0x10130000u;
|
|
/* 0285906C */ _t1 = cpu->r[1] + 0x00000068u;
|
|
/* 0285906C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02859070 */ cpu->r[0] = cpu->lr;
|
|
/* 02859074 */ _t2 = cpu->r[11] + 0x00001D84u;
|
|
/* 02859074 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02859078 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02859078 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 0285907C */ /* nop */
|
|
/* 02859080 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02859080 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
|
|
/* 02859084 */ _t5 = cpu->r[1] + 0x00000070u;
|
|
/* 02859084 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[31]);
|
|
/* 02859088 */ cpu->r[6] = cpu->r[5];
|
|
/* 0285908C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285908C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 02859090 */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02859094 */ cpu->r[10] = cpu->r[3] + 0xFFFFFFFCu;
|
|
/* 02859098 */ _t7 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02859098 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0285909C */ cpu->r[0] = 0x00000013u;
|
|
/* 028590A0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 028590A0 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 028590A4 */ cpu->ctr = cpu->r[0];
|
|
/* 028590A8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 028590A8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
L_028590AC: ; // 0x28590ac
|
|
/* 028590AC */ _t10 = cpu->r[10] + 0x00000004u;
|
|
/* 028590AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028590AC */ cpu->r[10] = _t10;
|
|
/* 028590B0 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 028590B0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 028590B0 */ cpu->r[12] = _t11;
|
|
/* 028590B4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028590B4 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028590B4 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 028590B4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028590B4 */ if (_t14) goto L_028590AC; else goto L_028590B8;
|
|
L_028590B8: ; // 0x28590b8
|
|
/* 028590B8 */ _t15 = cpu->r[1] + 0x00000030u;
|
|
/* 028590B8 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 028590BC */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 028590C0 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 028590C4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028590C8 */ _t16 = cpu->r[1] + 0x00000034u;
|
|
/* 028590C8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 028590CC */ Gambit_fn_02858854(cpu);
|
|
/* 028590D0 */ cpu->r[4] = 0x00000002u;
|
|
/* 028590D4 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 028590D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 028590D8 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 028590D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 028590DC */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 028590E0 */ cpu->f[31] = cpu->f[13] - cpu->f[0];
|
|
/* 028590E4 */ Gambit_fn_02858758(cpu);
|
|
/* 028590E8 */ cpu->f[1] = cpu->f[31];
|
|
/* 028590EC */ _t19 = cpu->r[1] + 0x00000070u;
|
|
/* 028590EC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 028590F0 */ _t20 = cpu->r[1] + 0x00000068u;
|
|
/* 028590F0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 028590F4 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028590F4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 028590F4 */ if (_t22) goto L_028590F8; // else: addr-0 trap, fall-through
|
|
L_028590F8: ; // 0x28590f8
|
|
/* 028590F8 */ _t23 = cpu->r[1] + 0x0000007Cu;
|
|
/* 028590F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028590FC */ cpu->lr = cpu->r[0];
|
|
/* 02859100 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02859104 */ return;
|
|
}
|
|
|
|
// fn_02859108 @ 0x2859108
|
|
void Gambit_fn_02859108(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
|
|
L_02859108: ; // 0x2859108
|
|
/* 02859108 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02859108 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02859108 */ cpu->r[1] = _t0;
|
|
/* 0285910C */ /* nop */
|
|
/* 02859110 */ cpu->r[0] = cpu->lr;
|
|
/* 02859114 */ _t1 = cpu->r[1] + 0x00000060u;
|
|
/* 02859114 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02859118 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 02859118 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 0285911C */ /* nop */
|
|
/* 02859120 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02859120 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[28]);
|
|
/* 02859124 */ /* nop */
|
|
/* 02859128 */ _t4 = cpu->r[1] + 0x00000068u;
|
|
/* 02859128 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0285912C */ _t5 = cpu->r[1] + 0x00000040u;
|
|
/* 0285912C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[29]);
|
|
/* 02859130 */ _t6 = cpu->r[1] + 0x00000074u;
|
|
/* 02859130 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02859134 */ /* nop */
|
|
/* 02859138 */ _t7 = cpu->r[1] + 0x00000058u;
|
|
/* 02859138 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 0285913C */ /* nop */
|
|
/* 02859140 */ _t8 = cpu->r[1] + 0x00000048u;
|
|
/* 02859140 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[29]);
|
|
/* 02859144 */ cpu->r[12] = 0x10130000u;
|
|
/* 02859148 */ _t9 = cpu->r[1] + 0x00000038u;
|
|
/* 02859148 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[28]);
|
|
/* 0285914C */ cpu->r[29] = cpu->r[4];
|
|
/* 02859150 */ cpu->r[28] = cpu->r[3];
|
|
/* 02859154 */ _t10 = cpu->r[12] + 0x00001D84u;
|
|
/* 02859154 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02859158 */ _t11 = cpu->r[28] + 0x00000044u;
|
|
/* 02859158 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285915C */ cpu->r[30] = cpu->r[5];
|
|
/* 02859160 */ cpu->r[27] = cpu->r[7];
|
|
/* 02859164 */ cpu->r[31] = cpu->r[6];
|
|
/* 02859168 */ cpu->r[6] = cpu->r[12] & 0x00000333u;
|
|
/* 02859168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0285916C */ cpu->f[30] = cpu->f[0];
|
|
/* 02859170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000300u);
|
|
/* 02859174 */ cpu->f[29] = cpu->f[0];
|
|
/* 02859178 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859178 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02859178 */ if (_t13) goto L_028591C4; else goto L_0285917C;
|
|
L_0285917C: ; // 0x285917c
|
|
/* 0285917C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02859180 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859180 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02859180 */ if (_t15) goto L_028591C4; else goto L_02859184;
|
|
L_02859184: ; // 0x2859184
|
|
/* 02859184 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02859184 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[0]);
|
|
/* 02859188 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285918C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285918C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 02859190 */ cpu->r[5] = cpu->r[31];
|
|
/* 02859194 */ cpu->r[6] = cpu->r[27];
|
|
/* 02859198 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02859198 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 0285919C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028591A0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 028591A0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 028591A4 */ Gambit_fn_02858F0C(cpu);
|
|
/* 028591A8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 028591A8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 028591AC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 028591AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 028591B0 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 028591B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 028591B4 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028591B4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 028591B8 */ cpu->f[30] = cpu->f[0] + cpu->f[12];
|
|
/* 028591BC */ cpu->f[29] = cpu->f[13] + cpu->f[11];
|
|
/* 028591C0 */ _t24 = cpu->r[28] + 0x00000044u;
|
|
/* 028591C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
L_028591C4: ; // 0x28591c4
|
|
/* 028591C4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Au, 0x0000001Bu);
|
|
/* 028591C8 */ cpu->r[11] = 0x10130000u;
|
|
/* 028591CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000010u);
|
|
/* 028591D0 */ _t25 = cpu->r[11] + 0x00001D90u;
|
|
/* 028591D0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 028591D4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028591D4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 028591D4 */ if (_t27) goto L_028591D8; else goto L_028591F4;
|
|
L_028591D8: ; // 0x28591d8
|
|
/* 028591D8 */ cpu->f[1] = cpu->f[30] * cpu->f[31];
|
|
/* 028591DC */ Gambit_fn_02C88498(cpu);
|
|
/* 028591E0 */ _t28 = cpu->r[29] + 0x00000000u;
|
|
/* 028591E0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 028591E4 */ cpu->f[12] = cpu->f[12] - cpu->f[1];
|
|
/* 028591E8 */ _t29 = cpu->r[29] + 0x00000000u;
|
|
/* 028591E8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[12]);
|
|
/* 028591EC */ _t30 = cpu->r[28] + 0x00000044u;
|
|
/* 028591EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028591F0 */ goto L_0285920C;
|
|
L_028591F4: ; // 0x28591f4
|
|
/* 028591F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000020u);
|
|
/* 028591F8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028591F8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 028591F8 */ if (_t32) goto L_028591FC; else goto L_0285920C;
|
|
L_028591FC: ; // 0x28591fc
|
|
/* 028591FC */ _t33 = cpu->r[29] + 0x00000000u;
|
|
/* 028591FC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02859200 */ cpu->f[12] = cpu->f[12] - cpu->f[30];
|
|
/* 02859204 */ _t34 = cpu->r[29] + 0x00000000u;
|
|
/* 02859204 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]);
|
|
/* 02859208 */ _t35 = cpu->r[28] + 0x00000044u;
|
|
/* 02859208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
L_0285920C: ; // 0x285920c
|
|
/* 0285920C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000016u, 0x00000017u);
|
|
/* 02859210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000100u);
|
|
/* 02859214 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859214 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02859214 */ if (_t37) goto L_02859218; else goto L_02859234;
|
|
L_02859218: ; // 0x2859218
|
|
/* 02859218 */ cpu->f[1] = cpu->f[29] * cpu->f[31];
|
|
/* 0285921C */ Gambit_fn_02C88498(cpu);
|
|
/* 02859220 */ _t38 = cpu->r[30] + 0x00000000u;
|
|
/* 02859220 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02859224 */ cpu->f[13] = cpu->f[13] - cpu->f[1];
|
|
/* 02859228 */ _t39 = cpu->r[30] + 0x00000000u;
|
|
/* 02859228 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[13]);
|
|
/* 0285922C */ _t40 = cpu->r[28] + 0x00000044u;
|
|
/* 0285922C */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02859230 */ goto L_0285924C;
|
|
L_02859234: ; // 0x2859234
|
|
/* 02859234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000200u);
|
|
/* 02859238 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859238 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02859238 */ if (_t42) goto L_0285923C; else goto L_0285924C;
|
|
L_0285923C: ; // 0x285923c
|
|
/* 0285923C */ _t43 = cpu->r[30] + 0x00000000u;
|
|
/* 0285923C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02859240 */ cpu->f[13] = cpu->f[13] - cpu->f[29];
|
|
/* 02859244 */ _t44 = cpu->r[30] + 0x00000000u;
|
|
/* 02859244 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[13]);
|
|
/* 02859248 */ _t45 = cpu->r[28] + 0x00000044u;
|
|
/* 02859248 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
L_0285924C: ; // 0x285924c
|
|
/* 0285924C */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02859250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02859254 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859254 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02859254 */ if (_t47) goto L_02859258; else goto L_028592BC;
|
|
L_02859258: ; // 0x2859258
|
|
/* 02859258 */ cpu->r[5] = cpu->r[27];
|
|
/* 0285925C */ cpu->r[4] = cpu->r[31];
|
|
/* 02859260 */ cpu->r[3] = cpu->r[28];
|
|
/* 02859264 */ Gambit_fn_02859064(cpu);
|
|
/* 02859268 */ cpu->f[28] = cpu->f[1];
|
|
/* 0285926C */ cpu->f[1] = cpu->f[30] * cpu->f[31];
|
|
/* 02859270 */ Gambit_fn_02C88498(cpu);
|
|
/* 02859274 */ cpu->f[29] = cpu->f[1];
|
|
/* 02859278 */ cpu->f[1] = cpu->f[28] * cpu->f[31];
|
|
/* 0285927C */ Gambit_fn_02C88498(cpu);
|
|
/* 02859280 */ cpu->f[12] = cpu->f[29] - cpu->f[1];
|
|
/* 02859284 */ _t48 = cpu->r[29] + 0x00000000u;
|
|
/* 02859284 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02859288 */ _t49 = cpu->r[28] + 0x00000044u;
|
|
/* 02859288 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0285928C */ cpu->f[0] = cpu->f[13] + cpu->f[12];
|
|
/* 02859290 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000016u, 0x00000017u);
|
|
/* 02859294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000300u);
|
|
/* 02859298 */ _t50 = cpu->r[28] + 0x00000014u;
|
|
/* 02859298 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[0]);
|
|
/* 0285929C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285929C */ _t52 = _t51 & 0x00000001u;
|
|
/* 0285929C */ if (_t52) goto L_02859310; else goto L_028592A0;
|
|
L_028592A0: ; // 0x28592a0
|
|
/* 028592A0 */ cpu->r[3] = cpu->r[28];
|
|
/* 028592A4 */ Gambit_fn_02854580(cpu);
|
|
/* 028592A8 */ _t53 = cpu->r[30] + 0x00000000u;
|
|
/* 028592A8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 028592AC */ cpu->f[12] = cpu->f[0] + cpu->f[1];
|
|
/* 028592B0 */ cpu->f[1] = cpu->f[30];
|
|
/* 028592B4 */ _t54 = cpu->r[28] + 0x00000018u;
|
|
/* 028592B4 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[12]);
|
|
/* 028592B8 */ goto L_0285931C;
|
|
L_028592BC: ; // 0x28592bc
|
|
/* 028592BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 028592C0 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028592C0 */ _t56 = _t55 & 0x00000001u;
|
|
/* 028592C0 */ if (_t56) goto L_028592C4; else goto L_028592F8;
|
|
L_028592C4: ; // 0x28592c4
|
|
/* 028592C4 */ cpu->r[5] = cpu->r[27];
|
|
/* 028592C8 */ cpu->r[4] = cpu->r[31];
|
|
/* 028592CC */ cpu->r[3] = cpu->r[28];
|
|
/* 028592D0 */ Gambit_fn_02859064(cpu);
|
|
/* 028592D4 */ cpu->f[11] = cpu->f[30] - cpu->f[1];
|
|
/* 028592D8 */ _t57 = cpu->r[29] + 0x00000000u;
|
|
/* 028592D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 028592DC */ _t58 = cpu->r[28] + 0x00000044u;
|
|
/* 028592DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t58);
|
|
/* 028592E0 */ cpu->f[0] = cpu->f[13] + cpu->f[11];
|
|
/* 028592E4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000016u, 0x00000017u);
|
|
/* 028592E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000300u);
|
|
/* 028592EC */ _t59 = cpu->r[28] + 0x00000014u;
|
|
/* 028592EC */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 028592F0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028592F0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 028592F0 */ if (_t61) goto L_028592F4; else goto L_028592A0;
|
|
L_028592F4: ; // 0x28592f4
|
|
/* 028592F4 */ goto L_02859310;
|
|
L_028592F8: ; // 0x28592f8
|
|
/* 028592F8 */ _t62 = cpu->r[28] + 0x00000044u;
|
|
/* 028592F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
|
|
/* 028592FC */ _t63 = cpu->r[29] + 0x00000000u;
|
|
/* 028592FC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02859300 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000016u, 0x00000017u);
|
|
/* 02859304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000300u);
|
|
/* 02859308 */ _t64 = cpu->r[28] + 0x00000014u;
|
|
/* 02859308 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
/* 0285930C */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285930C */ _t66 = _t65 & 0x00000001u;
|
|
/* 0285930C */ if (_t66) goto L_02859310; else goto L_028592A0;
|
|
L_02859310: ; // 0x2859310
|
|
/* 02859310 */ _t67 = cpu->r[30] + 0x00000000u;
|
|
/* 02859310 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02859314 */ cpu->f[1] = cpu->f[30];
|
|
/* 02859318 */ _t68 = cpu->r[28] + 0x00000018u;
|
|
/* 02859318 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[12]);
|
|
L_0285931C: ; // 0x285931c
|
|
/* 0285931C */ /* nop */
|
|
/* 02859320 */ _t69 = cpu->r[1] + 0x00000048u;
|
|
/* 02859320 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02859324 */ _t70 = cpu->r[1] + 0x00000058u;
|
|
/* 02859324 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 02859328 */ _t71 = cpu->r[1] + 0x00000040u;
|
|
/* 02859328 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t71);
|
|
/* 0285932C */ _t72 = cpu->r[1] + 0x00000050u;
|
|
/* 0285932C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 02859330 */ _t73 = cpu->r[1] + 0x00000038u;
|
|
/* 02859330 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 02859334 */ _t74 = cpu->r[1] + 0x00000068u;
|
|
/* 02859334 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 02859338 */ _t75 = cpu->r[1] + 0x00000030u;
|
|
/* 02859338 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t75);
|
|
/* 0285933C */ _t76 = cpu->r[1] + 0x00000060u;
|
|
/* 0285933C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t76);
|
|
/* 02859340 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859340 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02859340 */ if (_t78) goto L_02859344; // else: addr-0 trap, fall-through
|
|
L_02859344: ; // 0x2859344
|
|
/* 02859344 */ _t79 = cpu->r[1] + 0x00000074u;
|
|
/* 02859344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02859348 */ cpu->lr = cpu->r[0];
|
|
/* 0285934C */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02859350 */ return;
|
|
}
|
|
|
|
// fn_02859354 @ 0x2859354
|
|
void Gambit_fn_02859354(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
|
|
L_02859354: ; // 0x2859354
|
|
/* 02859354 */ _t0 = cpu->r[1] + 0xFFFFFE78u;
|
|
/* 02859354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02859354 */ cpu->r[1] = _t0;
|
|
/* 02859358 */ _t1 = cpu->r[1] + 0x00000108u;
|
|
/* 02859358 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[24]);
|
|
/* 0285935C */ _t2 = cpu->r[1] + 0x00000118u;
|
|
/* 0285935C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[25]);
|
|
/* 02859360 */ cpu->r[0] = cpu->lr;
|
|
/* 02859364 */ _t3 = cpu->r[1] + 0x00000128u;
|
|
/* 02859364 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[26]);
|
|
/* 02859368 */ _t4 = cpu->r[1] + 0x00000138u;
|
|
/* 02859368 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[27]);
|
|
/* 0285936C */ _t5 = cpu->r[1] + 0x00000148u;
|
|
/* 0285936C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[28]);
|
|
/* 02859370 */ _t6 = cpu->r[1] + 0x00000158u;
|
|
/* 02859370 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[29]);
|
|
/* 02859374 */ _t7 = cpu->r[1] + 0x00000168u;
|
|
/* 02859374 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[30]);
|
|
/* 02859378 */ /* nop */
|
|
/* 0285937C */ _t8 = cpu->r[1] + 0x00000178u;
|
|
/* 0285937C */ rbrew_write_f64(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02859380 */ /* nop */
|
|
/* 02859384 */ _t9 = cpu->r[1] + 0x0000018Cu;
|
|
/* 02859384 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02859388 */ /* nop */
|
|
/* 0285938C */ _t10 = cpu->r[1] + 0x00000110u;
|
|
/* 0285938C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[24]);
|
|
/* 02859390 */ /* nop */
|
|
/* 02859394 */ _t11 = cpu->r[1] + 0x00000120u;
|
|
/* 02859394 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[25]);
|
|
/* 02859398 */ /* nop */
|
|
/* 0285939C */ _t12 = cpu->r[1] + 0x00000130u;
|
|
/* 0285939C */ rbrew_write_f32(cpu->mem, _t12, cpu->f[26]);
|
|
/* 028593A0 */ /* nop */
|
|
/* 028593A4 */ _t13 = cpu->r[1] + 0x00000140u;
|
|
/* 028593A4 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[27]);
|
|
/* 028593A8 */ /* nop */
|
|
/* 028593AC */ _t14 = cpu->r[1] + 0x00000150u;
|
|
/* 028593AC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[28]);
|
|
/* 028593B0 */ /* nop */
|
|
/* 028593B4 */ _t15 = cpu->r[1] + 0x00000160u;
|
|
/* 028593B4 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[29]);
|
|
/* 028593B8 */ /* nop */
|
|
/* 028593BC */ _t16 = cpu->r[1] + 0x00000170u;
|
|
/* 028593BC */ rbrew_write_f32(cpu->mem, _t16, cpu->f[30]);
|
|
/* 028593C0 */ cpu->r[28] = 0x00000000u;
|
|
/* 028593C4 */ cpu->r[6] = 0x10130000u;
|
|
/* 028593C8 */ _t17 = cpu->r[1] + 0x00000180u;
|
|
/* 028593C8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
|
|
/* 028593CC */ cpu->r[30] = cpu->r[4];
|
|
/* 028593D0 */ cpu->r[31] = cpu->r[5];
|
|
/* 028593D4 */ _t18 = cpu->r[6] + 0x00001D80u;
|
|
/* 028593D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 028593D8 */ cpu->r[12] = 0x10130000u;
|
|
/* 028593DC */ cpu->r[23] = cpu->r[28];
|
|
/* 028593E0 */ cpu->r[5] = cpu->r[1] + 0x00000060u;
|
|
/* 028593E4 */ cpu->r[25] = cpu->r[30];
|
|
/* 028593E8 */ _t19 = cpu->r[3] + 0x00000034u;
|
|
/* 028593E8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 028593EC */ cpu->r[6] = cpu->r[30];
|
|
/* 028593F0 */ _t20 = cpu->r[3] + 0x00000014u;
|
|
/* 028593F0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 028593F4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 028593F8 */ _t21 = cpu->r[3] + 0x00000018u;
|
|
/* 028593F8 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 028593FC */ cpu->r[29] = cpu->r[3];
|
|
/* 02859400 */ cpu->r[26] = cpu->r[30];
|
|
/* 02859404 */ _t22 = cpu->r[12] + 0x00001D84u;
|
|
/* 02859404 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02859408 */ /* nop */
|
|
/* 0285940C */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 02859410 */ _t23 = cpu->r[1] + 0x00000060u;
|
|
/* 02859410 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[27]);
|
|
/* 02859414 */ cpu->f[25] = cpu->f[30];
|
|
/* 02859418 */ cpu->r[7] = cpu->r[31];
|
|
/* 0285941C */ _t24 = cpu->r[1] + 0x00000044u;
|
|
/* 0285941C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[11]);
|
|
/* 02859420 */ cpu->r[24] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02859424 */ Gambit_fn_02859108(cpu);
|
|
/* 02859428 */ _t25 = cpu->r[1] + 0x00000044u;
|
|
/* 02859428 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0285942C */ _t26 = cpu->r[29] + 0x00000018u;
|
|
/* 0285942C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02859430 */ _t27 = cpu->r[29] + 0x00000010u;
|
|
/* 02859430 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02859434 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02859438 */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02859438 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[9]);
|
|
/* 0285943C */ cpu->f[24] = cpu->f[27] - cpu->f[6];
|
|
/* 02859440 */ _t29 = cpu->r[1] + 0x00000038u;
|
|
/* 02859440 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 02859444 */ cpu->r[27] = cpu->r[1] + 0x000000D4u;
|
|
/* 02859448 */ _t30 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02859448 */ rbrew_write32(cpu->mem, _t30, cpu->r[28]);
|
|
/* 0285944C */ cpu->r[4] = cpu->r[27];
|
|
/* 02859450 */ _t31 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02859450 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02859454 */ cpu->r[6] = cpu->r[30] + cpu->r[0];
|
|
/* 02859458 */ _t32 = cpu->r[1] + 0x00000040u;
|
|
/* 02859458 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[28]);
|
|
/* 0285945C */ _t33 = cpu->r[29] + 0x00000028u;
|
|
/* 0285945C */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02859460 */ _t34 = cpu->r[1] + 0x00000028u;
|
|
/* 02859460 */ rbrew_write32(cpu->mem, _t34, cpu->r[6]);
|
|
/* 02859464 */ _t35 = cpu->r[1] + 0x00000034u;
|
|
/* 02859464 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[12]);
|
|
/* 02859468 */ cpu->r[5] = cpu->r[23];
|
|
/* 0285946C */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 0285946C */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
|
|
/* 02859470 */ cpu->f[31] = cpu->f[1];
|
|
/* 02859474 */ _t37 = cpu->r[1] + 0x00000060u;
|
|
/* 02859474 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02859478 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02859478 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
/* 0285947C */ _t39 = cpu->r[1] + 0x00000030u;
|
|
/* 0285947C */ rbrew_write_f32(cpu->mem, _t39, cpu->f[11]);
|
|
/* 02859480 */ Gambit_fn_02854DB8(cpu);
|
|
/* 02859484 */ _t40 = cpu->r[29] + 0x00000048u;
|
|
/* 02859484 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02859488 */ _t41 = cpu->r[1] + 0x000000D4u;
|
|
/* 02859488 */ rbrew_write32(cpu->mem, _t41, cpu->r[30]);
|
|
/* 0285948C */ _t42 = cpu->r[3] + 0x00000000u;
|
|
/* 0285948C */ cpu->r[5] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02859490 */ _t43 = cpu->r[5] + 0x0000002Cu;
|
|
/* 02859490 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02859494 */ cpu->ctr = cpu->r[6];
|
|
/* 02859498 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0285949C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028594A0 */ _t44 = cpu->r[1] + 0x000000DAu;
|
|
/* 028594A0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t44);
|
|
/* 028594A4 */ _t45 = cpu->r[1] + 0x000000D8u;
|
|
/* 028594A4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t45);
|
|
/* 028594A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028594AC */ cpu->r[3] = cpu->r[27] + cpu->r[8];
|
|
/* 028594B0 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028594B0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 028594B0 */ if (_t47) goto L_028594B4; else goto L_028594DC;
|
|
L_028594B4: ; // 0x28594b4
|
|
/* 028594B4 */ _t48 = cpu->r[27] + 0x00000008u;
|
|
/* 028594B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 028594B8 */ cpu->ctr = cpu->r[0];
|
|
/* 028594BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028594C0 */ _t49 = cpu->r[27] + 0x00000000u;
|
|
/* 028594C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 028594C4 */ cpu->r[9] = cpu->r[6] - cpu->r[30];
|
|
/* 028594C8 */ /* nop */
|
|
/* 028594CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]);
|
|
/* 028594D0 */ cpu->r[22] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 028594D4 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028594D4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 028594D4 */ if (_t51) goto L_02859994; else goto L_028594D8;
|
|
L_028594D8: ; // 0x28594d8
|
|
/* 028594D8 */ goto L_02859510;
|
|
L_028594DC: ; // 0x28594dc
|
|
/* 028594DC */ _t52 = cpu->r[27] + 0x0000000Au;
|
|
/* 028594DC */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t52);
|
|
/* 028594E0 */ _t53 = cpu->r[3] + cpu->r[9];
|
|
/* 028594E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 028594E4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 028594E8 */ cpu->r[11] = cpu->r[12] + cpu->r[10];
|
|
/* 028594EC */ _t54 = cpu->r[11] + 0x00000004u;
|
|
/* 028594EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 028594F0 */ cpu->ctr = cpu->r[0];
|
|
/* 028594F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028594F8 */ _t55 = cpu->r[27] + 0x00000000u;
|
|
/* 028594F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 028594FC */ cpu->r[9] = cpu->r[6] - cpu->r[30];
|
|
/* 02859500 */ /* nop */
|
|
/* 02859504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]);
|
|
/* 02859508 */ cpu->r[22] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0285950C */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285950C */ _t57 = _t56 & 0x00000001u;
|
|
/* 0285950C */ if (_t57) goto L_02859994; else goto L_02859510;
|
|
L_02859510: ; // 0x2859510
|
|
/* 02859510 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000020u);
|
|
/* 02859514 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859514 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02859514 */ if (_t59) goto L_02859518; else goto L_0285978C;
|
|
L_02859518: ; // 0x2859518
|
|
/* 02859518 */ _t60 = cpu->r[1] + 0x00000024u;
|
|
/* 02859518 */ rbrew_write32(cpu->mem, _t60, cpu->r[6]);
|
|
/* 0285951C */ cpu->r[0] = cpu->r[23] ^ 0x00000001u;
|
|
/* 02859520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02859524 */ _t61 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02859524 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 02859528 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859528 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02859528 */ if (_t63) goto L_02859624; else goto L_0285952C;
|
|
L_0285952C: ; // 0x285952c
|
|
/* 0285952C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x0000000Au);
|
|
/* 02859530 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859530 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02859530 */ if (_t65) goto L_02859624; else goto L_02859534;
|
|
L_02859534: ; // 0x2859534
|
|
/* 02859534 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[26]);
|
|
/* 02859538 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859538 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02859538 */ if (_t67) goto L_02859624; else goto L_0285953C;
|
|
L_0285953C: ; // 0x285953c
|
|
/* 0285953C */ cpu->r[6] = 0x00000003u;
|
|
/* 02859540 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02859544 */ cpu->ctr = cpu->r[6];
|
|
/* 02859548 */ cpu->r[5] = cpu->r[1] + 0x00000060u;
|
|
L_0285954C: ; // 0x285954c
|
|
/* 0285954C */ _t68 = cpu->r[4] + 0x00000004u;
|
|
/* 0285954C */ cpu->r[7] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02859550 */ _t69 = cpu->r[5] + 0x00000004u;
|
|
/* 02859550 */ rbrew_write32(cpu->mem, _t69, cpu->r[7]);
|
|
/* 02859554 */ _t70 = cpu->r[4] + 0x00000008u;
|
|
/* 02859554 */ cpu->r[8] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02859558 */ _t71 = cpu->r[5] + 0x00000008u;
|
|
/* 02859558 */ rbrew_write32(cpu->mem, _t71, cpu->r[8]);
|
|
/* 0285955C */ _t72 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0285955C */ cpu->r[9] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0285955C */ cpu->r[4] = _t72;
|
|
/* 02859560 */ _t73 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02859560 */ rbrew_write32(cpu->mem, _t73, cpu->r[9]);
|
|
/* 02859560 */ cpu->r[5] = _t73;
|
|
/* 02859564 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02859564 */ _t74 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02859564 */ _t75 = _t74 >> (0x00000002u & 31u);
|
|
/* 02859564 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02859564 */ if (_t76) goto L_0285954C; else goto L_02859568;
|
|
L_02859568: ; // 0x2859568
|
|
/* 02859568 */ cpu->r[12] = 0x00000013u;
|
|
/* 0285956C */ cpu->r[10] = cpu->r[29] + 0xFFFFFFFCu;
|
|
/* 02859570 */ cpu->ctr = cpu->r[12];
|
|
/* 02859574 */ cpu->r[11] = cpu->r[1] + 0x00000084u;
|
|
L_02859578: ; // 0x2859578
|
|
/* 02859578 */ _t77 = cpu->r[10] + 0x00000004u;
|
|
/* 02859578 */ cpu->r[4] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02859578 */ cpu->r[10] = _t77;
|
|
/* 0285957C */ _t78 = cpu->r[11] + 0x00000004u;
|
|
/* 0285957C */ rbrew_write32(cpu->mem, _t78, cpu->r[4]);
|
|
/* 0285957C */ cpu->r[11] = _t78;
|
|
/* 02859580 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02859580 */ _t79 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02859580 */ _t80 = _t79 >> (0x00000002u & 31u);
|
|
/* 02859580 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02859580 */ if (_t81) goto L_02859578; else goto L_02859584;
|
|
L_02859584: ; // 0x2859584
|
|
/* 02859584 */ _t82 = cpu->r[1] + 0x00000010u;
|
|
/* 02859584 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[30]);
|
|
/* 02859588 */ cpu->r[5] = cpu->r[1] + 0x00000088u;
|
|
/* 0285958C */ _t83 = cpu->r[29] + 0x00000048u;
|
|
/* 0285958C */ cpu->r[3] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02859590 */ _t84 = cpu->r[1] + 0x00000064u;
|
|
/* 02859590 */ rbrew_write32(cpu->mem, _t84, cpu->r[5]);
|
|
/* 02859594 */ _t85 = cpu->r[1] + 0x00000018u;
|
|
/* 02859594 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[30]);
|
|
/* 02859598 */ _t86 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02859598 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[30]);
|
|
/* 0285959C */ _t87 = cpu->r[1] + 0x00000014u;
|
|
/* 0285959C */ rbrew_write_f32(cpu->mem, _t87, cpu->f[30]);
|
|
/* 028595A0 */ _t88 = cpu->r[3] + 0x00000000u;
|
|
/* 028595A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t88);
|
|
/* 028595A4 */ _t89 = cpu->r[7] + 0x00000024u;
|
|
/* 028595A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t89);
|
|
/* 028595A8 */ cpu->ctr = cpu->r[10];
|
|
/* 028595AC */ cpu->r[5] = cpu->r[22];
|
|
/* 028595B0 */ cpu->r[6] = cpu->r[1] + 0x00000064u;
|
|
/* 028595B4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 028595B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028595BC */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 028595BC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 028595C0 */ _t91 = cpu->r[1] + 0x00000018u;
|
|
/* 028595C0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 028595C4 */ cpu->f[6] = cpu->f[8] - cpu->f[10];
|
|
/* 028595C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[30]);
|
|
/* 028595CC */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028595CC */ _t93 = _t92 & 0x00000001u;
|
|
/* 028595CC */ if (_t93) goto L_028595D0; else goto L_02859618;
|
|
L_028595D0: ; // 0x28595d0
|
|
/* 028595D0 */ _t94 = cpu->r[1] + 0x0000009Cu;
|
|
/* 028595D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 028595D4 */ _t95 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028595D4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 028595D8 */ cpu->f[12] = cpu->f[0] - cpu->f[7];
|
|
/* 028595DC */ _t96 = cpu->r[29] + 0x00000034u;
|
|
/* 028595DC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 028595E0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[8]);
|
|
/* 028595E4 */ _t97 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028595E4 */ _t98 = _t97 & 0x00000001u;
|
|
/* 028595E4 */ if (_t98) goto L_028595E8; else goto L_02859618;
|
|
L_028595E8: ; // 0x28595e8
|
|
/* 028595E8 */ _t99 = cpu->r[1] + 0x00000040u;
|
|
/* 028595E8 */ rbrew_write16(cpu->mem, _t99, (uint16_t)cpu->r[28]);
|
|
/* 028595EC */ cpu->r[3] = cpu->r[1] + 0x00000088u;
|
|
/* 028595F0 */ cpu->r[4] = 0x00000002u;
|
|
/* 028595F4 */ _t100 = cpu->r[27] + 0x00000000u;
|
|
/* 028595F4 */ rbrew_write32(cpu->mem, _t100, cpu->r[25]);
|
|
/* 028595F8 */ cpu->r[22] = 0x0000000Au;
|
|
/* 028595FC */ Gambit_fn_02858758(cpu);
|
|
/* 02859600 */ _t101 = cpu->r[27] + 0x00000000u;
|
|
/* 02859600 */ cpu->r[6] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02859604 */ cpu->r[9] = cpu->r[6] - cpu->r[30];
|
|
/* 02859608 */ /* nop */
|
|
/* 0285960C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]);
|
|
/* 02859610 */ _t102 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02859610 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02859610 */ if (_t103) goto L_02859614; else goto L_02859510;
|
|
L_02859614: ; // 0x2859614
|
|
/* 02859614 */ goto L_02859994;
|
|
L_02859618: ; // 0x2859618
|
|
/* 02859618 */ cpu->r[3] = cpu->r[1] + 0x00000088u;
|
|
/* 0285961C */ cpu->r[4] = 0x00000002u;
|
|
/* 02859620 */ Gambit_fn_02858758(cpu);
|
|
L_02859624: ; // 0x2859624
|
|
/* 02859624 */ _t104 = cpu->r[29] + 0x00000048u;
|
|
/* 02859624 */ cpu->r[3] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02859628 */ _t105 = cpu->r[3] + 0x00000000u;
|
|
/* 02859628 */ cpu->r[5] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0285962C */ _t106 = cpu->r[5] + 0x0000001Cu;
|
|
/* 0285962C */ cpu->r[0] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02859630 */ cpu->ctr = cpu->r[0];
|
|
/* 02859634 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02859638 */ cpu->r[4] = cpu->r[22];
|
|
/* 0285963C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02859640 */ _t107 = cpu->r[1] + 0x00000044u;
|
|
/* 02859640 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 02859644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02859648 */ _t108 = cpu->r[29] + 0x00000014u;
|
|
/* 02859648 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 0285964C */ cpu->f[25] = cpu->f[7] - cpu->f[10];
|
|
/* 02859650 */ _t109 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859650 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02859650 */ if (_t110) goto L_02859770; else goto L_02859654;
|
|
L_02859654: ; // 0x2859654
|
|
/* 02859654 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859654 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02859654 */ if (_t112) goto L_0285974C; else goto L_02859658;
|
|
L_02859658: ; // 0x2859658
|
|
/* 02859658 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000003u);
|
|
/* 0285965C */ _t113 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285965C */ _t114 = _t113 & 0x00000001u;
|
|
/* 0285965C */ if (_t114) goto L_0285976C; else goto L_02859660;
|
|
L_02859660: ; // 0x2859660
|
|
/* 02859660 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859660 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02859660 */ if (_t116) goto L_02859688; else goto L_02859664;
|
|
L_02859664: ; // 0x2859664
|
|
/* 02859664 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u);
|
|
/* 02859668 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859668 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02859668 */ if (_t118) goto L_02859998; else goto L_0285966C;
|
|
L_0285966C: ; // 0x285966c
|
|
/* 0285966C */ _t119 = cpu->r[1] + 0x00000024u;
|
|
/* 0285966C */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02859670 */ _t120 = cpu->r[27] + 0x00000004u;
|
|
/* 02859670 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t120);
|
|
/* 02859674 */ _t121 = cpu->r[27] + 0x00000000u;
|
|
/* 02859674 */ rbrew_write32(cpu->mem, _t121, cpu->r[0]);
|
|
/* 02859678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0285967C */ _t122 = cpu->r[27] + 0x00000006u;
|
|
/* 0285967C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t122);
|
|
/* 02859680 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859680 */ _t124 = _t123 & 0x00000001u;
|
|
/* 02859680 */ if (_t124) goto L_0285993C; else goto L_02859684;
|
|
L_02859684: ; // 0x2859684
|
|
/* 02859684 */ goto L_02859938;
|
|
L_02859688: ; // 0x2859688
|
|
/* 02859688 */ _t125 = cpu->r[29] + 0x00000044u;
|
|
/* 02859688 */ cpu->r[8] = rbrew_read32(cpu->mem, _t125);
|
|
/* 0285968C */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02859690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02859694 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859694 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02859694 */ if (_t127) goto L_02859698; else goto L_028596EC;
|
|
L_02859698: ; // 0x2859698
|
|
/* 02859698 */ _t128 = cpu->r[1] + 0x00000024u;
|
|
/* 02859698 */ cpu->r[4] = rbrew_read32(cpu->mem, _t128);
|
|
/* 0285969C */ cpu->r[10] = cpu->r[4] - cpu->r[30];
|
|
/* 028596A0 */ /* nop */
|
|
/* 028596A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 028596A8 */ cpu->r[5] = cpu->r[31] - cpu->r[11];
|
|
/* 028596AC */ Gambit_fn_02859064(cpu);
|
|
/* 028596B0 */ cpu->r[9] = 0x10130000u;
|
|
/* 028596B4 */ _t129 = cpu->r[9] + 0x00001D90u;
|
|
/* 028596B4 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 028596B8 */ cpu->f[29] = cpu->f[1];
|
|
/* 028596BC */ cpu->f[1] = cpu->f[31] * cpu->f[26];
|
|
/* 028596C0 */ Gambit_fn_02C88498(cpu);
|
|
/* 028596C4 */ cpu->f[28] = cpu->f[1];
|
|
/* 028596C8 */ cpu->f[1] = cpu->f[29] * cpu->f[26];
|
|
/* 028596CC */ Gambit_fn_02C88498(cpu);
|
|
/* 028596D0 */ cpu->f[7] = cpu->f[28] - cpu->f[1];
|
|
/* 028596D4 */ _t130 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028596D4 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 028596D8 */ cpu->f[11] = cpu->f[8] + cpu->f[7];
|
|
/* 028596DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 028596E0 */ _t131 = cpu->r[29] + 0x00000014u;
|
|
/* 028596E0 */ rbrew_write_f32(cpu->mem, _t131, cpu->f[11]);
|
|
/* 028596E4 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028596E4 */ _t133 = _t132 & 0x00000001u;
|
|
/* 028596E4 */ if (_t133) goto L_0285974C; else goto L_028596E8;
|
|
L_028596E8: ; // 0x28596e8
|
|
/* 028596E8 */ goto L_02859748;
|
|
L_028596EC: ; // 0x28596ec
|
|
/* 028596EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 028596F0 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028596F0 */ _t135 = _t134 & 0x00000001u;
|
|
/* 028596F0 */ if (_t135) goto L_028596F4; else goto L_02859728;
|
|
L_028596F4: ; // 0x28596f4
|
|
/* 028596F4 */ _t136 = cpu->r[1] + 0x00000024u;
|
|
/* 028596F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t136);
|
|
/* 028596F8 */ cpu->r[5] = cpu->r[4] - cpu->r[30];
|
|
/* 028596FC */ /* nop */
|
|
/* 02859700 */ cpu->r[3] = cpu->r[29];
|
|
/* 02859704 */ cpu->r[5] = cpu->r[31] - cpu->r[7];
|
|
/* 02859708 */ Gambit_fn_02859064(cpu);
|
|
/* 0285970C */ cpu->f[9] = cpu->f[31] - cpu->f[1];
|
|
/* 02859710 */ _t137 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02859710 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 02859714 */ cpu->f[11] = cpu->f[10] + cpu->f[9];
|
|
/* 02859718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0285971C */ _t138 = cpu->r[29] + 0x00000014u;
|
|
/* 0285971C */ rbrew_write_f32(cpu->mem, _t138, cpu->f[11]);
|
|
/* 02859720 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859720 */ _t140 = _t139 & 0x00000001u;
|
|
/* 02859720 */ if (_t140) goto L_0285974C; else goto L_02859724;
|
|
L_02859724: ; // 0x2859724
|
|
/* 02859724 */ goto L_02859748;
|
|
L_02859728: ; // 0x2859728
|
|
/* 02859728 */ _t141 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02859728 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t141);
|
|
/* 0285972C */ cpu->f[12] = cpu->f[7] - cpu->f[11];
|
|
/* 02859730 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[12]);
|
|
/* 02859734 */ _t142 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859734 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02859734 */ if (_t143) goto L_02859738; else goto L_0285973C;
|
|
L_02859738: ; // 0x2859738
|
|
/* 02859738 */ cpu->f[31] = cpu->f[12];
|
|
L_0285973C: ; // 0x285973c
|
|
/* 0285973C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02859740 */ _t144 = cpu->r[29] + 0x00000014u;
|
|
/* 02859740 */ rbrew_write_f32(cpu->mem, _t144, cpu->f[11]);
|
|
/* 02859744 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859744 */ _t146 = _t145 & 0x00000001u;
|
|
/* 02859744 */ if (_t146) goto L_0285974C; else goto L_02859748;
|
|
L_02859748: ; // 0x2859748
|
|
/* 02859748 */ _t147 = cpu->r[27] + 0x00000000u;
|
|
/* 02859748 */ cpu->r[26] = rbrew_read32(cpu->mem, _t147);
|
|
L_0285974C: ; // 0x285974c
|
|
/* 0285974C */ _t148 = cpu->r[1] + 0x00000024u;
|
|
/* 0285974C */ cpu->r[0] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02859750 */ _t149 = cpu->r[27] + 0x00000004u;
|
|
/* 02859750 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t149);
|
|
/* 02859754 */ cpu->r[23] = 0x00000000u;
|
|
/* 02859758 */ _t150 = cpu->r[27] + 0x00000000u;
|
|
/* 02859758 */ rbrew_write32(cpu->mem, _t150, cpu->r[0]);
|
|
/* 0285975C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02859760 */ _t151 = cpu->r[27] + 0x00000006u;
|
|
/* 02859760 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t151);
|
|
/* 02859764 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859764 */ _t153 = _t152 & 0x00000001u;
|
|
/* 02859764 */ if (_t153) goto L_0285993C; else goto L_02859768;
|
|
L_02859768: ; // 0x2859768
|
|
/* 02859768 */ goto L_02859938;
|
|
L_0285976C: ; // 0x285976c
|
|
/* 0285976C */ cpu->r[23] = 0x00000001u;
|
|
L_02859770: ; // 0x2859770
|
|
/* 02859770 */ _t154 = cpu->r[1] + 0x00000024u;
|
|
/* 02859770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02859774 */ _t155 = cpu->r[27] + 0x00000004u;
|
|
/* 02859774 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t155);
|
|
/* 02859778 */ _t156 = cpu->r[27] + 0x00000000u;
|
|
/* 02859778 */ rbrew_write32(cpu->mem, _t156, cpu->r[0]);
|
|
/* 0285977C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02859780 */ _t157 = cpu->r[27] + 0x00000006u;
|
|
/* 02859780 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t157);
|
|
/* 02859784 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859784 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02859784 */ if (_t159) goto L_0285993C; else goto L_02859788;
|
|
L_02859788: ; // 0x2859788
|
|
/* 02859788 */ goto L_02859938;
|
|
L_0285978C: ; // 0x285978c
|
|
/* 0285978C */ _t160 = cpu->r[29] + 0x00000028u;
|
|
/* 0285978C */ cpu->r[3] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02859790 */ _t161 = cpu->r[3] + 0x00000004u;
|
|
/* 02859790 */ cpu->r[9] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02859794 */ _t162 = cpu->r[9] + 0x0000009Cu;
|
|
/* 02859794 */ cpu->r[10] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02859798 */ _t163 = cpu->r[29] + 0x00000018u;
|
|
/* 02859798 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t163);
|
|
/* 0285979C */ cpu->ctr = cpu->r[10];
|
|
/* 028597A0 */ _t164 = cpu->r[1] + 0x00000040u;
|
|
/* 028597A0 */ cpu->r[4] = rbrew_read16(cpu->mem, _t164);
|
|
/* 028597A4 */ cpu->f[28] = cpu->f[25];
|
|
/* 028597A8 */ cpu->r[5] = cpu->r[22];
|
|
/* 028597AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028597B0 */ cpu->r[7] = 0x10130000u;
|
|
/* 028597B4 */ cpu->r[11] = 0x43300000u;
|
|
/* 028597B8 */ _t165 = cpu->r[7] + 0x00001D88u;
|
|
/* 028597B8 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t165);
|
|
/* 028597BC */ cpu->r[12] = cpu->r[3] ^ 0x80000000u;
|
|
/* 028597C0 */ _t166 = cpu->r[1] + 0x00000008u;
|
|
/* 028597C0 */ rbrew_write32(cpu->mem, _t166, cpu->r[11]);
|
|
/* 028597C4 */ _t167 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028597C4 */ rbrew_write32(cpu->mem, _t167, cpu->r[12]);
|
|
/* 028597C8 */ _t168 = cpu->r[1] + 0x00000008u;
|
|
/* 028597C8 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t168);
|
|
/* 028597CC */ cpu->f[9] = cpu->f[8] - cpu->f[9];
|
|
/* 028597D0 */ cpu->f[13] = (double)(float)cpu->f[9];
|
|
/* 028597D4 */ _t169 = cpu->r[29] + 0x0000000Cu;
|
|
/* 028597D4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t169);
|
|
/* 028597D8 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 028597DC */ cpu->f[29] = cpu->f[13] * cpu->f[10];
|
|
/* 028597E0 */ Gambit_fn_02854D00(cpu);
|
|
/* 028597E4 */ _t170 = cpu->r[29] + 0x00000028u;
|
|
/* 028597E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t170);
|
|
/* 028597E8 */ _t171 = cpu->r[3] + 0x00000004u;
|
|
/* 028597E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t171);
|
|
/* 028597EC */ _t172 = cpu->r[12] + 0x0000008Cu;
|
|
/* 028597EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t172);
|
|
/* 028597F0 */ cpu->ctr = cpu->r[0];
|
|
/* 028597F4 */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 028597F8 */ cpu->r[5] = cpu->r[22];
|
|
/* 028597FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02859800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02859804 */ _t173 = cpu->r[29] + 0x00000030u;
|
|
/* 02859804 */ cpu->r[4] = rbrew_read8(cpu->mem, _t173);
|
|
/* 02859808 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859808 */ _t175 = _t174 & 0x00000001u;
|
|
/* 02859808 */ if (_t175) goto L_02859814; else goto L_0285980C;
|
|
L_0285980C: ; // 0x285980c
|
|
/* 0285980C */ _t176 = cpu->r[29] + 0x00000038u;
|
|
/* 0285980C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t176);
|
|
/* 02859810 */ cpu->f[28] = cpu->f[28] + cpu->f[10];
|
|
L_02859814: ; // 0x2859814
|
|
/* 02859814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02859818 */ _t177 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859818 */ _t178 = _t177 & 0x00000001u;
|
|
/* 02859818 */ if (_t178) goto L_02859834; else goto L_0285981C;
|
|
L_0285981C: ; // 0x285981c
|
|
/* 0285981C */ _t179 = cpu->r[29] + 0x00000020u;
|
|
/* 0285981C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t179);
|
|
/* 02859820 */ cpu->f[28] = cpu->f[28] + cpu->f[12];
|
|
/* 02859824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02859828 */ cpu->f[28] = cpu->f[28] + cpu->f[29];
|
|
/* 0285982C */ _t180 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285982C */ _t181 = _t180 & 0x00000001u;
|
|
/* 0285982C */ if (_t181) goto L_028598A4; else goto L_02859830;
|
|
L_02859830: ; // 0x2859830
|
|
/* 02859830 */ goto L_0285986C;
|
|
L_02859834: ; // 0x2859834
|
|
/* 02859834 */ _t182 = cpu->r[1] + 0x0000004Eu;
|
|
/* 02859834 */ cpu->r[0] = rbrew_read8(cpu->mem, _t182);
|
|
/* 02859838 */ cpu->r[5] = 0x43300000u;
|
|
/* 0285983C */ _t183 = cpu->r[1] + 0x00000008u;
|
|
/* 0285983C */ rbrew_write32(cpu->mem, _t183, cpu->r[5]);
|
|
/* 02859840 */ cpu->r[4] = 0x10130000u;
|
|
/* 02859844 */ _t184 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02859844 */ rbrew_write32(cpu->mem, _t184, cpu->r[0]);
|
|
/* 02859848 */ _t185 = cpu->r[1] + 0x00000008u;
|
|
/* 02859848 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t185);
|
|
/* 0285984C */ _t186 = cpu->r[4] + 0x00001D98u;
|
|
/* 0285984C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t186);
|
|
/* 02859850 */ cpu->f[6] = cpu->f[0] - cpu->f[13];
|
|
/* 02859854 */ cpu->f[13] = (double)(float)cpu->f[6];
|
|
/* 02859858 */ _t187 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02859858 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t187);
|
|
/* 0285985C */ cpu->f[28] = fma(cpu->f[13], cpu->f[7], cpu->f[28]);
|
|
/* 02859860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02859864 */ cpu->f[28] = cpu->f[28] + cpu->f[29];
|
|
/* 02859868 */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859868 */ _t189 = _t188 & 0x00000001u;
|
|
/* 02859868 */ if (_t189) goto L_028598A4; else goto L_0285986C;
|
|
L_0285986C: ; // 0x285986c
|
|
/* 0285986C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[26]);
|
|
/* 02859870 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859870 */ _t191 = _t190 & 0x00000001u;
|
|
/* 02859870 */ if (_t191) goto L_028598A4; else goto L_02859874;
|
|
L_02859874: ; // 0x2859874
|
|
/* 02859874 */ _t192 = cpu->r[29] + 0x00000034u;
|
|
/* 02859874 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t192);
|
|
/* 02859878 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[28], cpu->f[8]);
|
|
/* 0285987C */ _t193 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285987C */ _t194 = _t193 & 0x00000001u;
|
|
/* 0285987C */ if (_t194) goto L_02859880; else goto L_028598A4;
|
|
L_02859880: ; // 0x2859880
|
|
/* 02859880 */ cpu->r[6] = cpu->r[25];
|
|
/* 02859884 */ cpu->r[9] = cpu->r[6] - cpu->r[30];
|
|
/* 02859888 */ _t195 = cpu->r[1] + 0x00000040u;
|
|
/* 02859888 */ rbrew_write16(cpu->mem, _t195, (uint16_t)cpu->r[28]);
|
|
/* 0285988C */ /* nop */
|
|
/* 02859890 */ cpu->r[22] = 0x0000000Au;
|
|
/* 02859894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]);
|
|
/* 02859898 */ _t196 = cpu->r[27] + 0x00000000u;
|
|
/* 02859898 */ rbrew_write32(cpu->mem, _t196, cpu->r[6]);
|
|
/* 0285989C */ _t197 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285989C */ _t198 = _t197 & 0x00000001u;
|
|
/* 0285989C */ if (_t198) goto L_028598A0; else goto L_02859510;
|
|
L_028598A0: ; // 0x28598a0
|
|
/* 028598A0 */ goto L_02859994;
|
|
L_028598A4: ; // 0x28598a4
|
|
/* 028598A4 */ _t199 = cpu->r[29] + 0x00000014u;
|
|
/* 028598A4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t199);
|
|
/* 028598A8 */ cpu->f[25] = cpu->f[28];
|
|
/* 028598AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 028598B0 */ _t200 = cpu->r[29] + 0x00000028u;
|
|
/* 028598B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t200);
|
|
/* 028598B4 */ _t201 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028598B4 */ _t202 = _t201 & 0x00000001u;
|
|
/* 028598B4 */ if (_t202) goto L_028598C0; else goto L_028598B8;
|
|
L_028598B8: ; // 0x28598b8
|
|
/* 028598B8 */ _t203 = cpu->r[29] + 0x00000038u;
|
|
/* 028598B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t203);
|
|
/* 028598BC */ cpu->f[7] = cpu->f[7] + cpu->f[0];
|
|
L_028598C0: ; // 0x28598c0
|
|
/* 028598C0 */ cpu->f[10] = cpu->f[7] + cpu->f[29];
|
|
/* 028598C4 */ _t204 = cpu->r[29] + 0x00000014u;
|
|
/* 028598C4 */ rbrew_write_f32(cpu->mem, _t204, cpu->f[10]);
|
|
/* 028598C8 */ _t205 = cpu->r[3] + 0x00000004u;
|
|
/* 028598C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t205);
|
|
/* 028598CC */ _t206 = cpu->r[7] + 0x000000ACu;
|
|
/* 028598CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t206);
|
|
/* 028598D0 */ cpu->ctr = cpu->r[8];
|
|
/* 028598D4 */ cpu->r[23] = 0x00000001u;
|
|
/* 028598D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028598DC */ cpu->r[12] = 0x10130000u;
|
|
/* 028598E0 */ cpu->r[9] = (uint32_t)(-(int32_t)cpu->r[3]);
|
|
/* 028598E4 */ cpu->r[10] = 0x43300000u;
|
|
/* 028598E8 */ _t207 = cpu->r[12] + 0x00001D88u;
|
|
/* 028598E8 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t207);
|
|
/* 028598EC */ cpu->r[12] = cpu->r[9] ^ 0x80000000u;
|
|
/* 028598F0 */ _t208 = cpu->r[1] + 0x00000008u;
|
|
/* 028598F0 */ rbrew_write32(cpu->mem, _t208, cpu->r[10]);
|
|
/* 028598F4 */ _t209 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028598F4 */ rbrew_write32(cpu->mem, _t209, cpu->r[12]);
|
|
/* 028598F8 */ _t210 = cpu->r[1] + 0x00000008u;
|
|
/* 028598F8 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t210);
|
|
/* 028598FC */ cpu->f[11] = cpu->f[9] - cpu->f[12];
|
|
/* 02859900 */ _t211 = cpu->r[29] + 0x00000010u;
|
|
/* 02859900 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t211);
|
|
/* 02859904 */ cpu->f[0] = (double)(float)cpu->f[11];
|
|
/* 02859908 */ _t212 = cpu->r[29] + 0x00000018u;
|
|
/* 02859908 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t212);
|
|
/* 0285990C */ cpu->f[6] = fma(cpu->f[0], cpu->f[13], cpu->f[6]);
|
|
/* 02859910 */ cpu->r[3] = cpu->r[29];
|
|
/* 02859914 */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 02859918 */ _t213 = cpu->r[29] + 0x00000018u;
|
|
/* 02859918 */ rbrew_write_f32(cpu->mem, _t213, cpu->f[6]);
|
|
/* 0285991C */ Gambit_fn_0285499C(cpu);
|
|
/* 02859920 */ _t214 = cpu->r[27] + 0x00000004u;
|
|
/* 02859920 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t214);
|
|
/* 02859924 */ _t215 = cpu->r[1] + 0x00000040u;
|
|
/* 02859924 */ rbrew_write16(cpu->mem, _t215, (uint16_t)cpu->r[22]);
|
|
/* 02859928 */ _t216 = cpu->r[29] + 0x00000018u;
|
|
/* 02859928 */ rbrew_write_f32(cpu->mem, _t216, cpu->f[26]);
|
|
/* 0285992C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02859930 */ _t217 = cpu->r[27] + 0x00000006u;
|
|
/* 02859930 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t217);
|
|
/* 02859934 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859934 */ _t219 = _t218 & 0x00000001u;
|
|
/* 02859934 */ if (_t219) goto L_0285993C; else goto L_02859938;
|
|
L_02859938: ; // 0x2859938
|
|
/* 02859938 */ _t220 = cpu->r[27] + 0x00000000u;
|
|
/* 02859938 */ cpu->r[25] = rbrew_read32(cpu->mem, _t220);
|
|
L_0285993C: ; // 0x285993c
|
|
/* 0285993C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02859940 */ cpu->r[3] = cpu->r[27] + cpu->r[4];
|
|
/* 02859944 */ _t221 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859944 */ _t222 = _t221 & 0x00000001u;
|
|
/* 02859944 */ if (_t222) goto L_02859948; else goto L_02859960;
|
|
L_02859948: ; // 0x2859948
|
|
/* 02859948 */ _t223 = cpu->r[27] + 0x00000008u;
|
|
/* 02859948 */ cpu->r[11] = rbrew_read32(cpu->mem, _t223);
|
|
/* 0285994C */ cpu->ctr = cpu->r[11];
|
|
/* 02859950 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02859954 */ _t224 = cpu->r[27] + 0x00000000u;
|
|
/* 02859954 */ cpu->r[6] = rbrew_read32(cpu->mem, _t224);
|
|
/* 02859958 */ cpu->r[22] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0285995C */ goto L_02859984;
|
|
L_02859960: ; // 0x2859960
|
|
/* 02859960 */ _t225 = cpu->r[27] + 0x0000000Au;
|
|
/* 02859960 */ cpu->r[5] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t225);
|
|
/* 02859964 */ _t226 = cpu->r[3] + cpu->r[5];
|
|
/* 02859964 */ cpu->r[7] = rbrew_read32(cpu->mem, _t226);
|
|
/* 02859968 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285996C */ cpu->r[7] = cpu->r[7] + cpu->r[6];
|
|
/* 02859970 */ _t227 = cpu->r[7] + 0x00000004u;
|
|
/* 02859970 */ cpu->r[11] = rbrew_read32(cpu->mem, _t227);
|
|
/* 02859974 */ cpu->ctr = cpu->r[11];
|
|
/* 02859978 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285997C */ _t228 = cpu->r[27] + 0x00000000u;
|
|
/* 0285997C */ cpu->r[6] = rbrew_read32(cpu->mem, _t228);
|
|
/* 02859980 */ cpu->r[22] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
L_02859984: ; // 0x2859984
|
|
/* 02859984 */ cpu->r[9] = cpu->r[6] - cpu->r[30];
|
|
/* 02859988 */ /* nop */
|
|
/* 0285998C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[31]);
|
|
/* 02859990 */ _t229 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02859990 */ _t230 = _t229 & 0x00000001u;
|
|
/* 02859990 */ if (_t230) goto L_02859994; else goto L_02859510;
|
|
L_02859994: ; // 0x2859994
|
|
/* 02859994 */ _t231 = cpu->r[29] + 0x00000014u;
|
|
/* 02859994 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t231);
|
|
L_02859998: ; // 0x2859998
|
|
/* 02859998 */ _t232 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02859998 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t232);
|
|
/* 0285999C */ cpu->f[11] = cpu->f[7] - cpu->f[0];
|
|
/* 028599A0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[11]);
|
|
/* 028599A4 */ _t233 = cpu->r[29] + 0x00000044u;
|
|
/* 028599A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t233);
|
|
/* 028599A8 */ _t234 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028599A8 */ _t235 = _t234 & 0x00000001u;
|
|
/* 028599A8 */ if (_t235) goto L_028599AC; else goto L_028599B0;
|
|
L_028599AC: ; // 0x28599ac
|
|
/* 028599AC */ cpu->f[31] = cpu->f[11];
|
|
L_028599B0: ; // 0x28599b0
|
|
/* 028599B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000016u, 0x00000017u);
|
|
/* 028599B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000100u);
|
|
/* 028599B8 */ _t236 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028599B8 */ _t237 = _t236 & 0x00000001u;
|
|
/* 028599B8 */ if (_t237) goto L_028599CC; else goto L_028599BC;
|
|
L_028599BC: ; // 0x28599bc
|
|
/* 028599BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000200u);
|
|
/* 028599C0 */ _t238 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028599C0 */ _t239 = _t238 & 0x00000001u;
|
|
/* 028599C0 */ if (_t239) goto L_028599CC; else goto L_028599C4;
|
|
L_028599C4: ; // 0x28599c4
|
|
/* 028599C4 */ _t240 = cpu->r[29] + 0x00000018u;
|
|
/* 028599C4 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t240);
|
|
/* 028599C8 */ cpu->f[27] = cpu->f[6] + cpu->f[24];
|
|
L_028599CC: ; // 0x28599cc
|
|
/* 028599CC */ _t241 = cpu->r[29] + 0x00000048u;
|
|
/* 028599CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t241);
|
|
/* 028599D0 */ _t242 = cpu->r[29] + 0x00000018u;
|
|
/* 028599D0 */ rbrew_write_f32(cpu->mem, _t242, cpu->f[27]);
|
|
/* 028599D4 */ _t243 = cpu->r[3] + 0x00000000u;
|
|
/* 028599D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t243);
|
|
/* 028599D8 */ _t244 = cpu->r[11] + 0x00000034u;
|
|
/* 028599D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t244);
|
|
/* 028599DC */ cpu->ctr = cpu->r[12];
|
|
/* 028599E0 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 028599E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028599E8 */ /* nop */
|
|
/* 028599EC */ _t245 = cpu->r[1] + 0x00000130u;
|
|
/* 028599EC */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t245);
|
|
/* 028599F0 */ _t246 = cpu->r[1] + 0x00000140u;
|
|
/* 028599F0 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t246);
|
|
/* 028599F4 */ _t247 = cpu->r[1] + 0x00000128u;
|
|
/* 028599F4 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t247);
|
|
/* 028599F8 */ _t248 = cpu->r[1] + 0x00000138u;
|
|
/* 028599F8 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t248);
|
|
/* 028599FC */ _t249 = cpu->r[1] + 0x00000150u;
|
|
/* 028599FC */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t249);
|
|
/* 02859A00 */ _t250 = cpu->r[1] + 0x00000160u;
|
|
/* 02859A00 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t250);
|
|
/* 02859A04 */ _t251 = cpu->r[1] + 0x00000148u;
|
|
/* 02859A04 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t251);
|
|
/* 02859A08 */ _t252 = cpu->r[1] + 0x00000158u;
|
|
/* 02859A08 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t252);
|
|
/* 02859A0C */ _t253 = cpu->r[1] + 0x00000170u;
|
|
/* 02859A0C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t253);
|
|
/* 02859A10 */ _t254 = cpu->r[1] + 0x00000120u;
|
|
/* 02859A10 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t254);
|
|
/* 02859A14 */ _t255 = cpu->r[1] + 0x00000168u;
|
|
/* 02859A14 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t255);
|
|
/* 02859A18 */ _t256 = cpu->r[1] + 0x00000118u;
|
|
/* 02859A18 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t256);
|
|
/* 02859A1C */ _t257 = cpu->r[1] + 0x00000110u;
|
|
/* 02859A1C */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t257);
|
|
/* 02859A20 */ cpu->f[1] = cpu->f[31];
|
|
/* 02859A24 */ _t258 = cpu->r[1] + 0x00000180u;
|
|
/* 02859A24 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t258);
|
|
/* 02859A28 */ _t259 = cpu->r[1] + 0x00000108u;
|
|
/* 02859A28 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t259);
|
|
/* 02859A2C */ _t260 = cpu->r[1] + 0x00000178u;
|
|
/* 02859A2C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t260);
|
|
/* 02859A30 */ _t261 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859A30 */ _t262 = _t261 & 0x00000001u;
|
|
/* 02859A30 */ if (_t262) goto L_02859A34; // else: addr-0 trap, fall-through
|
|
L_02859A34: ; // 0x2859a34
|
|
/* 02859A34 */ _t263 = cpu->r[1] + 0x0000018Cu;
|
|
/* 02859A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t263);
|
|
/* 02859A38 */ cpu->lr = cpu->r[0];
|
|
/* 02859A3C */ cpu->r[1] = cpu->r[1] + 0x00000188u;
|
|
/* 02859A40 */ return;
|
|
}
|
|
|
|
// fn_02859A44 @ 0x2859a44
|
|
void Gambit_fn_02859A44(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_02859A44: ; // 0x2859a44
|
|
/* 02859A44 */ cpu->r[0] = cpu->lr;
|
|
/* 02859A48 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02859A48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02859A48 */ cpu->r[1] = _t0;
|
|
/* 02859A4C */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 02859A4C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02859A50 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02859A50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02859A54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02859A58 */ /* nop */
|
|
/* 02859A5C */ cpu->r[12] = cpu->r[1] + 0x00000004u;
|
|
/* 02859A60 */ _t3 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02859A60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02859A64 */ cpu->r[0] = 0x00000013u;
|
|
/* 02859A68 */ cpu->r[11] = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 02859A6C */ cpu->ctr = cpu->r[0];
|
|
/* 02859A70 */ _t4 = cpu->r[1] + 0x00000060u;
|
|
/* 02859A70 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
L_02859A74: ; // 0x2859a74
|
|
/* 02859A74 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02859A74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02859A74 */ cpu->r[11] = _t5;
|
|
/* 02859A78 */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 02859A78 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02859A78 */ cpu->r[12] = _t6;
|
|
/* 02859A7C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02859A7C */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02859A7C */ _t8 = _t7 >> (0x00000002u & 31u);
|
|
/* 02859A7C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02859A7C */ if (_t9) goto L_02859A74; else goto L_02859A80;
|
|
L_02859A80: ; // 0x2859a80
|
|
/* 02859A80 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02859A84 */ Gambit_fn_02859354(cpu);
|
|
/* 02859A88 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02859A88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02859A8C */ cpu->f[31] = cpu->f[1];
|
|
/* 02859A90 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02859A90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02859A94 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02859A98 */ _t12 = cpu->r[31] + 0x00000014u;
|
|
/* 02859A98 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
/* 02859A9C */ cpu->r[4] = 0x00000002u;
|
|
/* 02859AA0 */ _t13 = cpu->r[31] + 0x00000018u;
|
|
/* 02859AA0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02859AA4 */ Gambit_fn_02858758(cpu);
|
|
/* 02859AA8 */ cpu->f[1] = cpu->f[31];
|
|
/* 02859AAC */ _t14 = cpu->r[1] + 0x00000060u;
|
|
/* 02859AAC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02859AB0 */ _t15 = cpu->r[1] + 0x00000054u;
|
|
/* 02859AB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02859AB4 */ _t16 = cpu->r[1] + 0x00000058u;
|
|
/* 02859AB4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02859AB8 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859AB8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02859AB8 */ if (_t18) goto L_02859ABC; // else: addr-0 trap, fall-through
|
|
L_02859ABC: ; // 0x2859abc
|
|
/* 02859ABC */ _t19 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02859ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02859AC0 */ cpu->lr = cpu->r[0];
|
|
/* 02859AC4 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02859AC8 */ return;
|
|
}
|
|
|
|
// fn_02859A48 @ 0x2859a48
|
|
void Gambit_fn_02859A48(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_02859A48: ; // 0x2859a48
|
|
/* 02859A48 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02859A48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02859A48 */ cpu->r[1] = _t0;
|
|
/* 02859A4C */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 02859A4C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02859A50 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02859A50 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02859A54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02859A58 */ /* nop */
|
|
/* 02859A5C */ cpu->r[12] = cpu->r[1] + 0x00000004u;
|
|
/* 02859A60 */ _t3 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02859A60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02859A64 */ cpu->r[0] = 0x00000013u;
|
|
/* 02859A68 */ cpu->r[11] = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 02859A6C */ cpu->ctr = cpu->r[0];
|
|
/* 02859A70 */ _t4 = cpu->r[1] + 0x00000060u;
|
|
/* 02859A70 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
L_02859A74: ; // 0x2859a74
|
|
/* 02859A74 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02859A74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02859A74 */ cpu->r[11] = _t5;
|
|
/* 02859A78 */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 02859A78 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02859A78 */ cpu->r[12] = _t6;
|
|
/* 02859A7C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02859A7C */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02859A7C */ _t8 = _t7 >> (0x00000002u & 31u);
|
|
/* 02859A7C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02859A7C */ if (_t9) goto L_02859A74; else goto L_02859A80;
|
|
L_02859A80: ; // 0x2859a80
|
|
/* 02859A80 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02859A84 */ Gambit_fn_02859354(cpu);
|
|
/* 02859A88 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02859A88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02859A8C */ cpu->f[31] = cpu->f[1];
|
|
/* 02859A90 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02859A90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02859A94 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02859A98 */ _t12 = cpu->r[31] + 0x00000014u;
|
|
/* 02859A98 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[13]);
|
|
/* 02859A9C */ cpu->r[4] = 0x00000002u;
|
|
/* 02859AA0 */ _t13 = cpu->r[31] + 0x00000018u;
|
|
/* 02859AA0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02859AA4 */ Gambit_fn_02858758(cpu);
|
|
/* 02859AA8 */ cpu->f[1] = cpu->f[31];
|
|
/* 02859AAC */ _t14 = cpu->r[1] + 0x00000060u;
|
|
/* 02859AAC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02859AB0 */ _t15 = cpu->r[1] + 0x00000054u;
|
|
/* 02859AB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02859AB4 */ _t16 = cpu->r[1] + 0x00000058u;
|
|
/* 02859AB4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02859AB8 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859AB8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02859AB8 */ if (_t18) goto L_02859ABC; // else: addr-0 trap, fall-through
|
|
L_02859ABC: ; // 0x2859abc
|
|
/* 02859ABC */ _t19 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02859ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02859AC0 */ cpu->lr = cpu->r[0];
|
|
/* 02859AC4 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02859AC8 */ return;
|
|
}
|
|
|
|
// fn_02859ACC @ 0x2859acc
|
|
void Gambit_fn_02859ACC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02859ACC: ; // 0x2859acc
|
|
/* 02859ACC */ cpu->r[11] = 0x10130000u;
|
|
/* 02859AD0 */ cpu->r[8] = 0x000007C2u;
|
|
/* 02859AD4 */ cpu->r[11] = cpu->r[11] + 0x00001DA0u;
|
|
/* 02859AD8 */ cpu->r[12] = 0x00000000u;
|
|
L_02859ADC: ; // 0x2859adc
|
|
/* 02859ADC */ cpu->r[0] = cpu->r[8] - cpu->r[12];
|
|
/* 02859AE0 */ /* nop */
|
|
/* 02859AE4 */ cpu->r[9] = cpu->r[6];
|
|
/* 02859AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02859AE8 */ cpu->r[10] = cpu->r[12] + cpu->r[9];
|
|
/* 02859AEC */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02859AF0 */ cpu->r[5] = cpu->r[11] + cpu->r[7];
|
|
/* 02859AF4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859AF4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02859AF4 */ if (_t1) goto L_02859AF8; else goto L_02859B14;
|
|
L_02859AF8: ; // 0x2859af8
|
|
/* 02859AF8 */ _t2 = cpu->r[5] + 0x00000000u;
|
|
/* 02859AF8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02859AFC */ _t3 = cpu->r[5] + 0x00000002u;
|
|
/* 02859AFC */ cpu->r[10] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02859B00 */ cpu->r[8] = cpu->r[9] + cpu->r[10];
|
|
/* 02859B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[8]);
|
|
/* 02859B08 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02859B08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02859B08 */ if (_t5) goto L_02859B3C; else goto L_02859B0C;
|
|
L_02859B0C: ; // 0x2859b0c
|
|
/* 02859B0C */ _t6 = cpu->r[5] + 0x00000003u;
|
|
/* 02859B0C */ cpu->r[3] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02859B10 */ return;
|
|
L_02859B14: ; // 0x2859b14
|
|
/* 02859B14 */ _t7 = cpu->r[5] + 0x00000000u;
|
|
/* 02859B14 */ cpu->r[0] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02859B18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02859B1C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859B1C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02859B1C */ if (_t9) goto L_02859B20; else goto L_02859B30;
|
|
L_02859B20: ; // 0x2859b20
|
|
/* 02859B20 */ cpu->r[8] = cpu->r[10];
|
|
/* 02859B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[8]);
|
|
/* 02859B28 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859B28 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02859B28 */ if (_t11) goto L_02859ADC; else goto L_02859B2C;
|
|
L_02859B2C: ; // 0x2859b2c
|
|
/* 02859B2C */ goto L_02859B3C;
|
|
L_02859B30: ; // 0x2859b30
|
|
/* 02859B30 */ cpu->r[12] = cpu->r[10];
|
|
/* 02859B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[8]);
|
|
/* 02859B38 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859B38 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02859B38 */ if (_t13) goto L_02859ADC; else goto L_02859B3C;
|
|
L_02859B3C: ; // 0x2859b3c
|
|
/* 02859B3C */ cpu->r[3] = 0x0000000Eu;
|
|
/* 02859B40 */ return;
|
|
}
|
|
|
|
// fn_02859B44 @ 0x2859b44
|
|
void Gambit_fn_02859B44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02859B44: ; // 0x2859b44
|
|
/* 02859B44 */ cpu->r[0] = cpu->lr;
|
|
/* 02859B48 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02859B48 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02859B4C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02859B4C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02859B4C */ cpu->r[1] = _t1;
|
|
/* 02859B50 */ Gambit_fn_02859ACC(cpu);
|
|
/* 02859B54 */ cpu->r[0] = cpu->r[3];
|
|
/* 02859B58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000001Du);
|
|
/* 02859B5C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859B5C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02859B5C */ if (_t3) goto L_02859B74; else goto L_02859B60;
|
|
L_02859B60: ; // 0x2859b60
|
|
/* 02859B60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000001Fu);
|
|
/* 02859B64 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859B64 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02859B64 */ if (_t5) goto L_02859B88; else goto L_02859B68;
|
|
L_02859B68: ; // 0x2859b68
|
|
/* 02859B68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000025u);
|
|
/* 02859B6C */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02859B6C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02859B6C */ if (_t7) goto L_02859B70; else goto L_02859B7C;
|
|
L_02859B70: ; // 0x2859b70
|
|
/* 02859B70 */ goto L_02859B88;
|
|
L_02859B74: ; // 0x2859b74
|
|
/* 02859B74 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02859B78 */ goto L_02859B88;
|
|
L_02859B7C: ; // 0x2859b7c
|
|
/* 02859B7C */ cpu->r[12] = 0x10130000u;
|
|
/* 02859B80 */ cpu->r[12] = cpu->r[12] + 0x000049ADu;
|
|
/* 02859B84 */ _t8 = cpu->r[12] + cpu->r[0];
|
|
/* 02859B84 */ cpu->r[3] = rbrew_read8(cpu->mem, _t8);
|
|
L_02859B88: ; // 0x2859b88
|
|
/* 02859B88 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02859B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02859B8C */ cpu->lr = cpu->r[0];
|
|
/* 02859B90 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02859B94 */ return;
|
|
}
|
|
|
|
// fn_02859B4C @ 0x2859b4c
|
|
void Gambit_fn_02859B4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02859B4C: ; // 0x2859b4c
|
|
/* 02859B4C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02859B4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02859B4C */ cpu->r[1] = _t0;
|
|
/* 02859B50 */ Gambit_fn_02859ACC(cpu);
|
|
/* 02859B54 */ cpu->r[0] = cpu->r[3];
|
|
/* 02859B58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000001Du);
|
|
/* 02859B5C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859B5C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02859B5C */ if (_t2) goto L_02859B74; else goto L_02859B60;
|
|
L_02859B60: ; // 0x2859b60
|
|
/* 02859B60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000001Fu);
|
|
/* 02859B64 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859B64 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02859B64 */ if (_t4) goto L_02859B88; else goto L_02859B68;
|
|
L_02859B68: ; // 0x2859b68
|
|
/* 02859B68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000025u);
|
|
/* 02859B6C */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02859B6C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02859B6C */ if (_t6) goto L_02859B70; else goto L_02859B7C;
|
|
L_02859B70: ; // 0x2859b70
|
|
/* 02859B70 */ goto L_02859B88;
|
|
L_02859B74: ; // 0x2859b74
|
|
/* 02859B74 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02859B78 */ goto L_02859B88;
|
|
L_02859B7C: ; // 0x2859b7c
|
|
/* 02859B7C */ cpu->r[12] = 0x10130000u;
|
|
/* 02859B80 */ cpu->r[12] = cpu->r[12] + 0x000049ADu;
|
|
/* 02859B84 */ _t7 = cpu->r[12] + cpu->r[0];
|
|
/* 02859B84 */ cpu->r[3] = rbrew_read8(cpu->mem, _t7);
|
|
L_02859B88: ; // 0x2859b88
|
|
/* 02859B88 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02859B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02859B8C */ cpu->lr = cpu->r[0];
|
|
/* 02859B90 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02859B94 */ return;
|
|
}
|
|
|
|
// fn_02859B98 @ 0x2859b98
|
|
void Gambit_fn_02859B98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72;
|
|
|
|
L_02859B98: ; // 0x2859b98
|
|
/* 02859B98 */ cpu->r[0] = cpu->lr;
|
|
/* 02859B9C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02859B9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02859B9C */ cpu->r[1] = _t0;
|
|
/* 02859BA0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02859BA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02859BA4 */ /* nop */
|
|
/* 02859BA8 */ cpu->r[25] = cpu->r[4];
|
|
/* 02859BAC */ cpu->r[29] = cpu->r[3];
|
|
/* 02859BB0 */ cpu->r[31] = cpu->r[5];
|
|
/* 02859BB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[25]);
|
|
/* 02859BB8 */ cpu->r[26] = cpu->r[6];
|
|
/* 02859BBC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859BBC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02859BBC */ if (_t3) goto L_02859C28; else goto L_02859BC0;
|
|
L_02859BC0: ; // 0x2859bc0
|
|
/* 02859BC0 */ _t4 = cpu->r[29] + 0x00000000u;
|
|
/* 02859BC0 */ cpu->r[3] = rbrew_read16(cpu->mem, _t4);
|
|
/* 02859BC4 */ cpu->r[4] = cpu->r[26];
|
|
/* 02859BC8 */ cpu->r[27] = cpu->r[25];
|
|
/* 02859BCC */ Gambit_fn_02859B44(cpu);
|
|
/* 02859BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000026u);
|
|
/* 02859BD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859BD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02859BD4 */ if (_t6) goto L_02859BD8; else goto L_02859C20;
|
|
L_02859BD8: ; // 0x2859bd8
|
|
/* 02859BD8 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02859BD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02859BDC */ _t8 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02859BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02859BE0 */ cpu->ctr = cpu->r[0];
|
|
/* 02859BE4 */ cpu->r[24] = 0x00000000u;
|
|
/* 02859BE8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02859BEC */ cpu->r[5] = cpu->r[25];
|
|
/* 02859BF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02859BF4 */ cpu->r[28] = cpu->r[29] + 0x00000002u;
|
|
/* 02859BF8 */ cpu->r[23] = 0x00000016u;
|
|
/* 02859BFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02859C00 */ cpu->r[30] = cpu->r[3] + 0xFFFFFFFEu;
|
|
/* 02859C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 02859C08 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02859C08 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02859C08 */ if (_t10) goto L_02859C0C; else goto L_02859C10;
|
|
L_02859C0C: ; // 0x2859c0c
|
|
/* 02859C0C */ cpu->r[30] = cpu->r[29];
|
|
L_02859C10: ; // 0x2859c10
|
|
/* 02859C10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]);
|
|
/* 02859C14 */ cpu->r[31] = cpu->r[30] + 0x00000002u;
|
|
/* 02859C18 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859C18 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02859C18 */ if (_t12) goto L_02859C84; else goto L_02859C1C;
|
|
L_02859C1C: ; // 0x2859c1c
|
|
/* 02859C1C */ goto L_02859C90;
|
|
L_02859C20: ; // 0x2859c20
|
|
/* 02859C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000001Eu);
|
|
/* 02859C24 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859C24 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02859C24 */ if (_t14) goto L_02859C28; else goto L_02859C40;
|
|
L_02859C28: ; // 0x2859c28
|
|
/* 02859C28 */ cpu->r[3] = cpu->r[29];
|
|
/* 02859C2C */ /* nop */
|
|
/* 02859C30 */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 02859C30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02859C34 */ cpu->lr = cpu->r[0];
|
|
/* 02859C38 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02859C3C */ return;
|
|
L_02859C40: ; // 0x2859c40
|
|
/* 02859C40 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02859C40 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02859C44 */ _t17 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02859C44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02859C48 */ cpu->r[23] = cpu->r[3];
|
|
/* 02859C4C */ cpu->ctr = cpu->r[0];
|
|
/* 02859C50 */ cpu->r[24] = 0x00000000u;
|
|
/* 02859C54 */ cpu->r[4] = cpu->r[29];
|
|
/* 02859C58 */ cpu->r[5] = cpu->r[25];
|
|
/* 02859C5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02859C60 */ cpu->r[28] = cpu->r[29] + 0x00000002u;
|
|
/* 02859C64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02859C68 */ cpu->r[30] = cpu->r[3] + 0xFFFFFFFEu;
|
|
/* 02859C6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 02859C70 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02859C70 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02859C70 */ if (_t19) goto L_02859C74; else goto L_02859C78;
|
|
L_02859C74: ; // 0x2859c74
|
|
/* 02859C74 */ cpu->r[30] = cpu->r[29];
|
|
L_02859C78: ; // 0x2859c78
|
|
/* 02859C78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]);
|
|
/* 02859C7C */ cpu->r[31] = cpu->r[30] + 0x00000002u;
|
|
/* 02859C80 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859C80 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02859C80 */ if (_t21) goto L_02859C84; else goto L_02859C90;
|
|
L_02859C84: ; // 0x2859c84
|
|
/* 02859C84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[25]);
|
|
/* 02859C88 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859C88 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02859C88 */ if (_t23) goto L_02859C8C; else goto L_02859E44;
|
|
L_02859C8C: ; // 0x2859c8c
|
|
/* 02859C8C */ goto L_02859E1C;
|
|
L_02859C90: ; // 0x2859c90
|
|
/* 02859C90 */ _t24 = cpu->r[28] + 0x00000000u;
|
|
/* 02859C90 */ cpu->r[3] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02859C94 */ cpu->r[4] = cpu->r[26];
|
|
/* 02859C98 */ Gambit_fn_02859B44(cpu);
|
|
/* 02859C9C */ cpu->r[6] = 0x00000000u;
|
|
/* 02859CA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000001Eu);
|
|
/* 02859CA4 */ cpu->r[8] = cpu->r[6];
|
|
/* 02859CA8 */ cpu->r[7] = cpu->r[6];
|
|
/* 02859CAC */ cpu->r[9] = cpu->r[8];
|
|
/* 02859CB0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859CB0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02859CB0 */ if (_t26) goto L_02859CE0; else goto L_02859CB4;
|
|
L_02859CB4: ; // 0x2859cb4
|
|
/* 02859CB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000026u);
|
|
/* 02859CB8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859CB8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02859CB8 */ if (_t28) goto L_02859CBC; else goto L_02859D00;
|
|
L_02859CBC: ; // 0x2859cbc
|
|
/* 02859CBC */ cpu->r[12] = cpu->r[31] - cpu->r[28];
|
|
/* 02859CC0 */ cpu->r[29] = cpu->r[28];
|
|
/* 02859CC4 */ cpu->r[0] = cpu->r[12] - cpu->r[12];
|
|
/* 02859CC8 */ cpu->r[28] = cpu->r[28] + 0x00000002u;
|
|
/* 02859CCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]);
|
|
/* 02859CD0 */ cpu->r[24] = 0x00000001u;
|
|
/* 02859CD4 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]);
|
|
/* 02859CD8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859CD8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02859CD8 */ if (_t30) goto L_02859CDC; else goto L_02859C90;
|
|
L_02859CDC: ; // 0x2859cdc
|
|
/* 02859CDC */ goto L_02859E14;
|
|
L_02859CE0: ; // 0x2859ce0
|
|
/* 02859CE0 */ cpu->r[12] = cpu->r[31] - cpu->r[28];
|
|
/* 02859CE4 */ cpu->r[7] = 0x00000001u;
|
|
/* 02859CE8 */ cpu->r[0] = cpu->r[12] - cpu->r[12];
|
|
/* 02859CEC */ cpu->r[8] = cpu->r[7];
|
|
/* 02859CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02859CF4 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]);
|
|
/* 02859CF8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859CF8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02859CF8 */ if (_t32) goto L_02859DB0; else goto L_02859CFC;
|
|
L_02859CFC: ; // 0x2859cfc
|
|
/* 02859CFC */ goto L_02859D98;
|
|
L_02859D00: ; // 0x2859d00
|
|
/* 02859D00 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[23] * (int32_t)0x0000001Du);
|
|
/* 02859D04 */ cpu->r[5] = cpu->r[12] + cpu->r[3];
|
|
/* 02859D08 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02859D0C */ cpu->r[11] = cpu->r[10] + 0x10130000u;
|
|
/* 02859D10 */ _t33 = cpu->r[11] + 0x00003CA8u;
|
|
/* 02859D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02859D14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
|
|
/* 02859D18 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859D18 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02859D18 */ if (_t35) goto L_02859D44; else goto L_02859D1C;
|
|
L_02859D1C: ; // 0x2859d1c
|
|
/* 02859D1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02859D20 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02859D20 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02859D20 */ if (_t37) goto L_02859D24; else goto L_02859D64;
|
|
L_02859D24: ; // 0x2859d24
|
|
/* 02859D24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02859D28 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02859D28 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02859D28 */ if (_t39) goto L_02859D2C; else goto L_02859D80;
|
|
L_02859D2C: ; // 0x2859d2c
|
|
/* 02859D2C */ cpu->r[12] = cpu->r[31] - cpu->r[28];
|
|
/* 02859D30 */ cpu->r[0] = cpu->r[12] - cpu->r[12];
|
|
/* 02859D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02859D38 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]);
|
|
/* 02859D3C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859D3C */ _t41 = _t40 & 0x00000001u;
|
|
/* 02859D3C */ if (_t41) goto L_02859DB0; else goto L_02859D40;
|
|
L_02859D40: ; // 0x2859d40
|
|
/* 02859D40 */ goto L_02859D98;
|
|
L_02859D44: ; // 0x2859d44
|
|
/* 02859D44 */ cpu->r[12] = cpu->r[31] - cpu->r[28];
|
|
/* 02859D48 */ cpu->r[8] = 0x00000001u;
|
|
/* 02859D4C */ cpu->r[0] = cpu->r[12] - cpu->r[12];
|
|
/* 02859D50 */ cpu->r[9] = cpu->r[8];
|
|
/* 02859D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02859D58 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]);
|
|
/* 02859D5C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859D5C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02859D5C */ if (_t43) goto L_02859DB0; else goto L_02859D60;
|
|
L_02859D60: ; // 0x2859d60
|
|
/* 02859D60 */ goto L_02859D98;
|
|
L_02859D64: ; // 0x2859d64
|
|
/* 02859D64 */ cpu->r[12] = cpu->r[31] - cpu->r[28];
|
|
/* 02859D68 */ cpu->r[0] = cpu->r[12] - cpu->r[12];
|
|
/* 02859D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02859D70 */ cpu->r[8] = cpu->r[24];
|
|
/* 02859D74 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]);
|
|
/* 02859D78 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859D78 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02859D78 */ if (_t45) goto L_02859DB0; else goto L_02859D7C;
|
|
L_02859D7C: ; // 0x2859d7c
|
|
/* 02859D7C */ goto L_02859D98;
|
|
L_02859D80: ; // 0x2859d80
|
|
/* 02859D80 */ cpu->r[12] = cpu->r[31] - cpu->r[28];
|
|
/* 02859D84 */ cpu->r[0] = cpu->r[12] - cpu->r[12];
|
|
/* 02859D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02859D8C */ cpu->r[8] = 0x00000000u;
|
|
/* 02859D90 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]);
|
|
/* 02859D94 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859D94 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02859D94 */ if (_t47) goto L_02859DB0; else goto L_02859D98;
|
|
L_02859D98: ; // 0x2859d98
|
|
/* 02859D98 */ cpu->r[29] = cpu->r[28];
|
|
/* 02859D9C */ cpu->r[28] = cpu->r[28] + 0x00000002u;
|
|
/* 02859DA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]);
|
|
/* 02859DA4 */ cpu->r[24] = 0x00000001u;
|
|
/* 02859DA8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859DA8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02859DA8 */ if (_t49) goto L_02859DAC; else goto L_02859C90;
|
|
L_02859DAC: ; // 0x2859dac
|
|
/* 02859DAC */ goto L_02859E14;
|
|
L_02859DB0: ; // 0x2859db0
|
|
/* 02859DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02859DB4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859DB4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02859DB4 */ if (_t51) goto L_02859DEC; else goto L_02859DB8;
|
|
L_02859DB8: ; // 0x2859db8
|
|
/* 02859DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02859DBC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859DBC */ _t53 = _t52 & 0x00000001u;
|
|
/* 02859DBC */ if (_t53) goto L_02859DE8; else goto L_02859DC0;
|
|
L_02859DC0: ; // 0x2859dc0
|
|
/* 02859DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02859DC4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859DC4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02859DC4 */ if (_t55) goto L_02859E24; else goto L_02859DC8;
|
|
L_02859DC8: ; // 0x2859dc8
|
|
/* 02859DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02859DCC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859DCC */ _t57 = _t56 & 0x00000001u;
|
|
/* 02859DCC */ if (_t57) goto L_02859E24; else goto L_02859DD0;
|
|
L_02859DD0: ; // 0x2859dd0
|
|
/* 02859DD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02859DD4 */ /* nop */
|
|
/* 02859DD8 */ _t58 = cpu->r[1] + 0x00000034u;
|
|
/* 02859DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02859DDC */ cpu->lr = cpu->r[0];
|
|
/* 02859DE0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02859DE4 */ return;
|
|
L_02859DE8: ; // 0x2859de8
|
|
/* 02859DE8 */ cpu->r[27] = cpu->r[29];
|
|
L_02859DEC: ; // 0x2859dec
|
|
/* 02859DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02859DF0 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859DF0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02859DF0 */ if (_t60) goto L_02859DF4; else goto L_02859E48;
|
|
L_02859DF4: ; // 0x2859df4
|
|
/* 02859DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02859DF8 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859DF8 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02859DF8 */ if (_t62) goto L_02859DFC; else goto L_02859E24;
|
|
L_02859DFC: ; // 0x2859dfc
|
|
/* 02859DFC */ cpu->r[29] = cpu->r[28];
|
|
/* 02859E00 */ cpu->r[28] = cpu->r[28] + 0x00000002u;
|
|
/* 02859E04 */ cpu->r[24] = 0x00000000u;
|
|
/* 02859E08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]);
|
|
/* 02859E0C */ cpu->r[23] = cpu->r[3];
|
|
/* 02859E10 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859E10 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02859E10 */ if (_t64) goto L_02859E14; else goto L_02859C90;
|
|
L_02859E14: ; // 0x2859e14
|
|
/* 02859E14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[25]);
|
|
/* 02859E18 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859E18 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02859E18 */ if (_t66) goto L_02859E1C; else goto L_02859E44;
|
|
L_02859E1C: ; // 0x2859e1c
|
|
/* 02859E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02859E20 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859E20 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02859E20 */ if (_t68) goto L_02859E24; else goto L_02859DD0;
|
|
L_02859E24: ; // 0x2859e24
|
|
/* 02859E24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[25]);
|
|
/* 02859E28 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859E28 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02859E28 */ if (_t70) goto L_02859DD0; else goto L_02859E2C;
|
|
L_02859E2C: ; // 0x2859e2c
|
|
/* 02859E2C */ cpu->r[3] = cpu->r[27];
|
|
/* 02859E30 */ /* nop */
|
|
/* 02859E34 */ _t71 = cpu->r[1] + 0x00000034u;
|
|
/* 02859E34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02859E38 */ cpu->lr = cpu->r[0];
|
|
/* 02859E3C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02859E40 */ return;
|
|
L_02859E44: ; // 0x2859e44
|
|
/* 02859E44 */ cpu->r[28] = cpu->r[29];
|
|
L_02859E48: ; // 0x2859e48
|
|
/* 02859E48 */ cpu->r[3] = cpu->r[28];
|
|
/* 02859E4C */ /* nop */
|
|
/* 02859E50 */ _t72 = cpu->r[1] + 0x00000034u;
|
|
/* 02859E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02859E54 */ cpu->lr = cpu->r[0];
|
|
/* 02859E58 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02859E5C */ return;
|
|
}
|
|
|
|
// fn_02859B9C @ 0x2859b9c
|
|
void Gambit_fn_02859B9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72;
|
|
|
|
L_02859B9C: ; // 0x2859b9c
|
|
/* 02859B9C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02859B9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02859B9C */ cpu->r[1] = _t0;
|
|
/* 02859BA0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02859BA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02859BA4 */ /* nop */
|
|
/* 02859BA8 */ cpu->r[25] = cpu->r[4];
|
|
/* 02859BAC */ cpu->r[29] = cpu->r[3];
|
|
/* 02859BB0 */ cpu->r[31] = cpu->r[5];
|
|
/* 02859BB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[25]);
|
|
/* 02859BB8 */ cpu->r[26] = cpu->r[6];
|
|
/* 02859BBC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859BBC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02859BBC */ if (_t3) goto L_02859C28; else goto L_02859BC0;
|
|
L_02859BC0: ; // 0x2859bc0
|
|
/* 02859BC0 */ _t4 = cpu->r[29] + 0x00000000u;
|
|
/* 02859BC0 */ cpu->r[3] = rbrew_read16(cpu->mem, _t4);
|
|
/* 02859BC4 */ cpu->r[4] = cpu->r[26];
|
|
/* 02859BC8 */ cpu->r[27] = cpu->r[25];
|
|
/* 02859BCC */ Gambit_fn_02859B44(cpu);
|
|
/* 02859BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000026u);
|
|
/* 02859BD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859BD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02859BD4 */ if (_t6) goto L_02859BD8; else goto L_02859C20;
|
|
L_02859BD8: ; // 0x2859bd8
|
|
/* 02859BD8 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02859BD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02859BDC */ _t8 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02859BDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02859BE0 */ cpu->ctr = cpu->r[0];
|
|
/* 02859BE4 */ cpu->r[24] = 0x00000000u;
|
|
/* 02859BE8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02859BEC */ cpu->r[5] = cpu->r[25];
|
|
/* 02859BF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02859BF4 */ cpu->r[28] = cpu->r[29] + 0x00000002u;
|
|
/* 02859BF8 */ cpu->r[23] = 0x00000016u;
|
|
/* 02859BFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02859C00 */ cpu->r[30] = cpu->r[3] + 0xFFFFFFFEu;
|
|
/* 02859C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 02859C08 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02859C08 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02859C08 */ if (_t10) goto L_02859C0C; else goto L_02859C10;
|
|
L_02859C0C: ; // 0x2859c0c
|
|
/* 02859C0C */ cpu->r[30] = cpu->r[29];
|
|
L_02859C10: ; // 0x2859c10
|
|
/* 02859C10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]);
|
|
/* 02859C14 */ cpu->r[31] = cpu->r[30] + 0x00000002u;
|
|
/* 02859C18 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859C18 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02859C18 */ if (_t12) goto L_02859C84; else goto L_02859C1C;
|
|
L_02859C1C: ; // 0x2859c1c
|
|
/* 02859C1C */ goto L_02859C90;
|
|
L_02859C20: ; // 0x2859c20
|
|
/* 02859C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000001Eu);
|
|
/* 02859C24 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859C24 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02859C24 */ if (_t14) goto L_02859C28; else goto L_02859C40;
|
|
L_02859C28: ; // 0x2859c28
|
|
/* 02859C28 */ cpu->r[3] = cpu->r[29];
|
|
/* 02859C2C */ /* nop */
|
|
/* 02859C30 */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 02859C30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02859C34 */ cpu->lr = cpu->r[0];
|
|
/* 02859C38 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02859C3C */ return;
|
|
L_02859C40: ; // 0x2859c40
|
|
/* 02859C40 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02859C40 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02859C44 */ _t17 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02859C44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02859C48 */ cpu->r[23] = cpu->r[3];
|
|
/* 02859C4C */ cpu->ctr = cpu->r[0];
|
|
/* 02859C50 */ cpu->r[24] = 0x00000000u;
|
|
/* 02859C54 */ cpu->r[4] = cpu->r[29];
|
|
/* 02859C58 */ cpu->r[5] = cpu->r[25];
|
|
/* 02859C5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02859C60 */ cpu->r[28] = cpu->r[29] + 0x00000002u;
|
|
/* 02859C64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02859C68 */ cpu->r[30] = cpu->r[3] + 0xFFFFFFFEu;
|
|
/* 02859C6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 02859C70 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02859C70 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02859C70 */ if (_t19) goto L_02859C74; else goto L_02859C78;
|
|
L_02859C74: ; // 0x2859c74
|
|
/* 02859C74 */ cpu->r[30] = cpu->r[29];
|
|
L_02859C78: ; // 0x2859c78
|
|
/* 02859C78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]);
|
|
/* 02859C7C */ cpu->r[31] = cpu->r[30] + 0x00000002u;
|
|
/* 02859C80 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859C80 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02859C80 */ if (_t21) goto L_02859C84; else goto L_02859C90;
|
|
L_02859C84: ; // 0x2859c84
|
|
/* 02859C84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[25]);
|
|
/* 02859C88 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859C88 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02859C88 */ if (_t23) goto L_02859C8C; else goto L_02859E44;
|
|
L_02859C8C: ; // 0x2859c8c
|
|
/* 02859C8C */ goto L_02859E1C;
|
|
L_02859C90: ; // 0x2859c90
|
|
/* 02859C90 */ _t24 = cpu->r[28] + 0x00000000u;
|
|
/* 02859C90 */ cpu->r[3] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02859C94 */ cpu->r[4] = cpu->r[26];
|
|
/* 02859C98 */ Gambit_fn_02859B44(cpu);
|
|
/* 02859C9C */ cpu->r[6] = 0x00000000u;
|
|
/* 02859CA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000001Eu);
|
|
/* 02859CA4 */ cpu->r[8] = cpu->r[6];
|
|
/* 02859CA8 */ cpu->r[7] = cpu->r[6];
|
|
/* 02859CAC */ cpu->r[9] = cpu->r[8];
|
|
/* 02859CB0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859CB0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02859CB0 */ if (_t26) goto L_02859CE0; else goto L_02859CB4;
|
|
L_02859CB4: ; // 0x2859cb4
|
|
/* 02859CB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000026u);
|
|
/* 02859CB8 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859CB8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02859CB8 */ if (_t28) goto L_02859CBC; else goto L_02859D00;
|
|
L_02859CBC: ; // 0x2859cbc
|
|
/* 02859CBC */ cpu->r[12] = cpu->r[31] - cpu->r[28];
|
|
/* 02859CC0 */ cpu->r[29] = cpu->r[28];
|
|
/* 02859CC4 */ cpu->r[0] = cpu->r[12] - cpu->r[12];
|
|
/* 02859CC8 */ cpu->r[28] = cpu->r[28] + 0x00000002u;
|
|
/* 02859CCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]);
|
|
/* 02859CD0 */ cpu->r[24] = 0x00000001u;
|
|
/* 02859CD4 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]);
|
|
/* 02859CD8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859CD8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02859CD8 */ if (_t30) goto L_02859CDC; else goto L_02859C90;
|
|
L_02859CDC: ; // 0x2859cdc
|
|
/* 02859CDC */ goto L_02859E14;
|
|
L_02859CE0: ; // 0x2859ce0
|
|
/* 02859CE0 */ cpu->r[12] = cpu->r[31] - cpu->r[28];
|
|
/* 02859CE4 */ cpu->r[7] = 0x00000001u;
|
|
/* 02859CE8 */ cpu->r[0] = cpu->r[12] - cpu->r[12];
|
|
/* 02859CEC */ cpu->r[8] = cpu->r[7];
|
|
/* 02859CF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02859CF4 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]);
|
|
/* 02859CF8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859CF8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02859CF8 */ if (_t32) goto L_02859DB0; else goto L_02859CFC;
|
|
L_02859CFC: ; // 0x2859cfc
|
|
/* 02859CFC */ goto L_02859D98;
|
|
L_02859D00: ; // 0x2859d00
|
|
/* 02859D00 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[23] * (int32_t)0x0000001Du);
|
|
/* 02859D04 */ cpu->r[5] = cpu->r[12] + cpu->r[3];
|
|
/* 02859D08 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02859D0C */ cpu->r[11] = cpu->r[10] + 0x10130000u;
|
|
/* 02859D10 */ _t33 = cpu->r[11] + 0x00003CA8u;
|
|
/* 02859D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02859D14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000000u);
|
|
/* 02859D18 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859D18 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02859D18 */ if (_t35) goto L_02859D44; else goto L_02859D1C;
|
|
L_02859D1C: ; // 0x2859d1c
|
|
/* 02859D1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02859D20 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02859D20 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02859D20 */ if (_t37) goto L_02859D24; else goto L_02859D64;
|
|
L_02859D24: ; // 0x2859d24
|
|
/* 02859D24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 02859D28 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02859D28 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02859D28 */ if (_t39) goto L_02859D2C; else goto L_02859D80;
|
|
L_02859D2C: ; // 0x2859d2c
|
|
/* 02859D2C */ cpu->r[12] = cpu->r[31] - cpu->r[28];
|
|
/* 02859D30 */ cpu->r[0] = cpu->r[12] - cpu->r[12];
|
|
/* 02859D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02859D38 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]);
|
|
/* 02859D3C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859D3C */ _t41 = _t40 & 0x00000001u;
|
|
/* 02859D3C */ if (_t41) goto L_02859DB0; else goto L_02859D40;
|
|
L_02859D40: ; // 0x2859d40
|
|
/* 02859D40 */ goto L_02859D98;
|
|
L_02859D44: ; // 0x2859d44
|
|
/* 02859D44 */ cpu->r[12] = cpu->r[31] - cpu->r[28];
|
|
/* 02859D48 */ cpu->r[8] = 0x00000001u;
|
|
/* 02859D4C */ cpu->r[0] = cpu->r[12] - cpu->r[12];
|
|
/* 02859D50 */ cpu->r[9] = cpu->r[8];
|
|
/* 02859D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02859D58 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]);
|
|
/* 02859D5C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859D5C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02859D5C */ if (_t43) goto L_02859DB0; else goto L_02859D60;
|
|
L_02859D60: ; // 0x2859d60
|
|
/* 02859D60 */ goto L_02859D98;
|
|
L_02859D64: ; // 0x2859d64
|
|
/* 02859D64 */ cpu->r[12] = cpu->r[31] - cpu->r[28];
|
|
/* 02859D68 */ cpu->r[0] = cpu->r[12] - cpu->r[12];
|
|
/* 02859D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02859D70 */ cpu->r[8] = cpu->r[24];
|
|
/* 02859D74 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]);
|
|
/* 02859D78 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859D78 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02859D78 */ if (_t45) goto L_02859DB0; else goto L_02859D7C;
|
|
L_02859D7C: ; // 0x2859d7c
|
|
/* 02859D7C */ goto L_02859D98;
|
|
L_02859D80: ; // 0x2859d80
|
|
/* 02859D80 */ cpu->r[12] = cpu->r[31] - cpu->r[28];
|
|
/* 02859D84 */ cpu->r[0] = cpu->r[12] - cpu->r[12];
|
|
/* 02859D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02859D8C */ cpu->r[8] = 0x00000000u;
|
|
/* 02859D90 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[0]);
|
|
/* 02859D94 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859D94 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02859D94 */ if (_t47) goto L_02859DB0; else goto L_02859D98;
|
|
L_02859D98: ; // 0x2859d98
|
|
/* 02859D98 */ cpu->r[29] = cpu->r[28];
|
|
/* 02859D9C */ cpu->r[28] = cpu->r[28] + 0x00000002u;
|
|
/* 02859DA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]);
|
|
/* 02859DA4 */ cpu->r[24] = 0x00000001u;
|
|
/* 02859DA8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859DA8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02859DA8 */ if (_t49) goto L_02859DAC; else goto L_02859C90;
|
|
L_02859DAC: ; // 0x2859dac
|
|
/* 02859DAC */ goto L_02859E14;
|
|
L_02859DB0: ; // 0x2859db0
|
|
/* 02859DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02859DB4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859DB4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02859DB4 */ if (_t51) goto L_02859DEC; else goto L_02859DB8;
|
|
L_02859DB8: ; // 0x2859db8
|
|
/* 02859DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02859DBC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859DBC */ _t53 = _t52 & 0x00000001u;
|
|
/* 02859DBC */ if (_t53) goto L_02859DE8; else goto L_02859DC0;
|
|
L_02859DC0: ; // 0x2859dc0
|
|
/* 02859DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02859DC4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859DC4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02859DC4 */ if (_t55) goto L_02859E24; else goto L_02859DC8;
|
|
L_02859DC8: ; // 0x2859dc8
|
|
/* 02859DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02859DCC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859DCC */ _t57 = _t56 & 0x00000001u;
|
|
/* 02859DCC */ if (_t57) goto L_02859E24; else goto L_02859DD0;
|
|
L_02859DD0: ; // 0x2859dd0
|
|
/* 02859DD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02859DD4 */ /* nop */
|
|
/* 02859DD8 */ _t58 = cpu->r[1] + 0x00000034u;
|
|
/* 02859DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02859DDC */ cpu->lr = cpu->r[0];
|
|
/* 02859DE0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02859DE4 */ return;
|
|
L_02859DE8: ; // 0x2859de8
|
|
/* 02859DE8 */ cpu->r[27] = cpu->r[29];
|
|
L_02859DEC: ; // 0x2859dec
|
|
/* 02859DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02859DF0 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859DF0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02859DF0 */ if (_t60) goto L_02859DF4; else goto L_02859E48;
|
|
L_02859DF4: ; // 0x2859df4
|
|
/* 02859DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02859DF8 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859DF8 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02859DF8 */ if (_t62) goto L_02859DFC; else goto L_02859E24;
|
|
L_02859DFC: ; // 0x2859dfc
|
|
/* 02859DFC */ cpu->r[29] = cpu->r[28];
|
|
/* 02859E00 */ cpu->r[28] = cpu->r[28] + 0x00000002u;
|
|
/* 02859E04 */ cpu->r[24] = 0x00000000u;
|
|
/* 02859E08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]);
|
|
/* 02859E0C */ cpu->r[23] = cpu->r[3];
|
|
/* 02859E10 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859E10 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02859E10 */ if (_t64) goto L_02859E14; else goto L_02859C90;
|
|
L_02859E14: ; // 0x2859e14
|
|
/* 02859E14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[25]);
|
|
/* 02859E18 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859E18 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02859E18 */ if (_t66) goto L_02859E1C; else goto L_02859E44;
|
|
L_02859E1C: ; // 0x2859e1c
|
|
/* 02859E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02859E20 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859E20 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02859E20 */ if (_t68) goto L_02859E24; else goto L_02859DD0;
|
|
L_02859E24: ; // 0x2859e24
|
|
/* 02859E24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[25]);
|
|
/* 02859E28 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859E28 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02859E28 */ if (_t70) goto L_02859DD0; else goto L_02859E2C;
|
|
L_02859E2C: ; // 0x2859e2c
|
|
/* 02859E2C */ cpu->r[3] = cpu->r[27];
|
|
/* 02859E30 */ /* nop */
|
|
/* 02859E34 */ _t71 = cpu->r[1] + 0x00000034u;
|
|
/* 02859E34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02859E38 */ cpu->lr = cpu->r[0];
|
|
/* 02859E3C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02859E40 */ return;
|
|
L_02859E44: ; // 0x2859e44
|
|
/* 02859E44 */ cpu->r[28] = cpu->r[29];
|
|
L_02859E48: ; // 0x2859e48
|
|
/* 02859E48 */ cpu->r[3] = cpu->r[28];
|
|
/* 02859E4C */ /* nop */
|
|
/* 02859E50 */ _t72 = cpu->r[1] + 0x00000034u;
|
|
/* 02859E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02859E54 */ cpu->lr = cpu->r[0];
|
|
/* 02859E58 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02859E5C */ return;
|
|
}
|
|
|
|
// fn_02859E60 @ 0x2859e60
|
|
void Gambit_fn_02859E60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62;
|
|
|
|
L_02859E60: ; // 0x2859e60
|
|
/* 02859E60 */ cpu->r[0] = cpu->lr;
|
|
/* 02859E64 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02859E64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02859E64 */ cpu->r[1] = _t0;
|
|
/* 02859E68 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02859E68 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02859E6C */ /* nop */
|
|
/* 02859E70 */ cpu->r[26] = cpu->r[3];
|
|
/* 02859E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02859E74 */ cpu->r[27] = cpu->r[4];
|
|
/* 02859E78 */ cpu->r[28] = cpu->r[5];
|
|
/* 02859E7C */ cpu->r[31] = cpu->r[6];
|
|
/* 02859E80 */ cpu->r[21] = cpu->r[8];
|
|
/* 02859E84 */ cpu->r[22] = cpu->r[9];
|
|
/* 02859E88 */ cpu->r[25] = 0x00000000u;
|
|
/* 02859E8C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859E8C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02859E8C */ if (_t3) goto L_02859E94; else goto L_02859E90;
|
|
L_02859E90: ; // 0x2859e90
|
|
/* 02859E90 */ _t4 = cpu->r[26] + 0x00000000u;
|
|
/* 02859E90 */ rbrew_write32(cpu->mem, _t4, cpu->r[25]);
|
|
L_02859E94: ; // 0x2859e94
|
|
/* 02859E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02859E98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859E98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02859E98 */ if (_t6) goto L_02859EAC; else goto L_02859E9C;
|
|
L_02859E9C: ; // 0x2859e9c
|
|
/* 02859E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02859EA0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859EA0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02859EA0 */ if (_t8) goto L_02859EAC; else goto L_02859EA4;
|
|
L_02859EA4: ; // 0x2859ea4
|
|
/* 02859EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02859EA8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859EA8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02859EA8 */ if (_t10) goto L_02859EAC; else goto L_02859EC4;
|
|
L_02859EAC: ; // 0x2859eac
|
|
/* 02859EAC */ /* nop */
|
|
/* 02859EB0 */ _t11 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02859EB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02859EB4 */ cpu->lr = cpu->r[0];
|
|
/* 02859EB8 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02859EBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02859EC0 */ return;
|
|
L_02859EC4: ; // 0x2859ec4
|
|
/* 02859EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02859EC8 */ _t12 = cpu->r[27] + 0x00000000u;
|
|
/* 02859EC8 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[25]);
|
|
/* 02859ECC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859ECC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02859ECC */ if (_t14) goto L_0285A038; else goto L_02859ED0;
|
|
L_02859ED0: ; // 0x2859ed0
|
|
/* 02859ED0 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02859ED0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02859ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02859ED8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859ED8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02859ED8 */ if (_t17) goto L_0285A038; else goto L_02859EDC;
|
|
L_02859EDC: ; // 0x2859edc
|
|
/* 02859EDC */ cpu->r[23] = 0x00000000u;
|
|
/* 02859EE0 */ _t18 = cpu->r[22] + 0x00000000u;
|
|
/* 02859EE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02859EE4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02859EE8 */ cpu->r[30] = cpu->r[23];
|
|
/* 02859EEC */ cpu->r[24] = 0x0000000Au;
|
|
/* 02859EF0 */ cpu->r[8] = (uint32_t)(-(int32_t)cpu->r[6]);
|
|
/* 02859EF4 */ cpu->r[19] = cpu->r[31] + cpu->r[5];
|
|
/* 02859EF8 */ _t19 = ~cpu->r[6];
|
|
/* 02859EF8 */ cpu->r[9] = cpu->r[8] & _t19;
|
|
/* 02859EFC */ cpu->r[25] = cpu->r[23];
|
|
/* 02859F00 */ cpu->r[20] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
L_02859F04: ; // 0x2859f04
|
|
/* 02859F04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02859F08 */ cpu->r[4] = cpu->r[19];
|
|
/* 02859F0C */ cpu->r[5] = cpu->r[21];
|
|
/* 02859F10 */ cpu->r[6] = cpu->r[22];
|
|
/* 02859F14 */ Gambit_fn_02859B98(cpu);
|
|
/* 02859F18 */ cpu->r[18] = cpu->r[3];
|
|
/* 02859F1C */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02859F20 */ cpu->r[0] = cpu->r[18] - cpu->r[31];
|
|
/* 02859F24 */ cpu->r[12] = cpu->r[28] - cpu->r[30];
|
|
/* 02859F28 */ /* nop */
|
|
/* 02859F2C */ cpu->r[29] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02859F30 */ cpu->r[17] = cpu->r[11] + 0x00000001u;
|
|
/* 02859F34 */ cpu->r[3] = cpu->r[27] + cpu->r[5];
|
|
/* 02859F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], cpu->r[29]);
|
|
/* 02859F3C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859F3C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02859F3C */ if (_t21) goto L_02859F40; else goto L_02859F44;
|
|
L_02859F40: ; // 0x2859f40
|
|
/* 02859F40 */ cpu->r[29] = cpu->r[17];
|
|
L_02859F44: ; // 0x2859f44
|
|
/* 02859F44 */ cpu->r[4] = cpu->r[31];
|
|
/* 02859F48 */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02859F4C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02859F50 */ cpu->r[0] = cpu->r[30] + cpu->r[29];
|
|
/* 02859F54 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02859F58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[29]);
|
|
/* 02859F5C */ _t22 = cpu->r[7] + cpu->r[27];
|
|
/* 02859F5C */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[25]);
|
|
/* 02859F60 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859F60 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02859F60 */ if (_t24) goto L_02859F78; else goto L_02859F64;
|
|
L_02859F64: ; // 0x2859f64
|
|
/* 02859F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02859F68 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859F68 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02859F68 */ if (_t26) goto L_02859EAC; else goto L_02859F6C;
|
|
L_02859F6C: ; // 0x2859f6c
|
|
/* 02859F6C */ cpu->r[30] = cpu->r[30] + cpu->r[29];
|
|
/* 02859F70 */ _t27 = cpu->r[26] + 0x00000000u;
|
|
/* 02859F70 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02859F74 */ goto L_02859EAC;
|
|
L_02859F78: ; // 0x2859f78
|
|
/* 02859F78 */ cpu->r[31] = cpu->r[18] + 0x00000002u;
|
|
/* 02859F7C */ cpu->r[30] = cpu->r[30] + cpu->r[29];
|
|
/* 02859F80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[19]);
|
|
/* 02859F84 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02859F88 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859F88 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02859F88 */ if (_t29) goto L_02859F8C; else goto L_02859F98;
|
|
L_02859F8C: ; // 0x2859f8c
|
|
/* 02859F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02859F90 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859F90 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02859F90 */ if (_t31) goto L_0285A038; else goto L_02859F94;
|
|
L_02859F94: ; // 0x2859f94
|
|
/* 02859F94 */ goto L_0285A034;
|
|
L_02859F98: ; // 0x2859f98
|
|
/* 02859F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02859F9C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859F9C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02859F9C */ if (_t33) goto L_02859FAC; else goto L_02859FA0;
|
|
L_02859FA0: ; // 0x2859fa0
|
|
/* 02859FA0 */ _t34 = cpu->r[22] + 0x00000000u;
|
|
/* 02859FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02859FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[0]);
|
|
/* 02859FA8 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859FA8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02859FA8 */ if (_t36) goto L_02859FAC; else goto L_02859FE8;
|
|
L_02859FAC: ; // 0x2859fac
|
|
/* 02859FAC */ _t37 = cpu->r[18] + 0x00000000u;
|
|
/* 02859FAC */ cpu->r[0] = rbrew_read16(cpu->mem, _t37);
|
|
/* 02859FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Au);
|
|
/* 02859FB4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859FB4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02859FB4 */ if (_t39) goto L_02859FF8; else goto L_02859FB8;
|
|
L_02859FB8: ; // 0x2859fb8
|
|
/* 02859FB8 */ cpu->r[10] = cpu->r[30] + 0x00000001u;
|
|
/* 02859FBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
|
|
/* 02859FC0 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859FC0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02859FC0 */ if (_t41) goto L_02859FC4; else goto L_02859FE8;
|
|
L_02859FC4: ; // 0x2859fc4
|
|
/* 02859FC4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02859FC8 */ _t42 = cpu->r[27] + cpu->r[8];
|
|
/* 02859FC8 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[24]);
|
|
/* 02859FCC */ cpu->r[12] = cpu->r[27] + cpu->r[8];
|
|
/* 02859FD0 */ _t43 = cpu->r[12] + 0x00000002u;
|
|
/* 02859FD0 */ rbrew_write16(cpu->mem, _t43, (uint16_t)cpu->r[25]);
|
|
/* 02859FD4 */ _t44 = cpu->r[22] + 0x00000004u;
|
|
/* 02859FD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02859FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02859FDC */ cpu->r[30] = cpu->r[10];
|
|
/* 02859FE0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859FE0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02859FE0 */ if (_t46) goto L_02859F04; else goto L_02859FE4;
|
|
L_02859FE4: ; // 0x2859fe4
|
|
/* 02859FE4 */ goto L_0285A004;
|
|
L_02859FE8: ; // 0x2859fe8
|
|
/* 02859FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02859FEC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859FEC */ _t48 = _t47 & 0x00000001u;
|
|
/* 02859FEC */ if (_t48) goto L_02859EAC; else goto L_02859FF0;
|
|
L_02859FF0: ; // 0x2859ff0
|
|
/* 02859FF0 */ _t49 = cpu->r[26] + 0x00000000u;
|
|
/* 02859FF0 */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
|
|
/* 02859FF4 */ goto L_02859EAC;
|
|
L_02859FF8: ; // 0x2859ff8
|
|
/* 02859FF8 */ _t50 = cpu->r[22] + 0x00000004u;
|
|
/* 02859FF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02859FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285A000 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A000 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0285A000 */ if (_t52) goto L_02859F04; else goto L_0285A004;
|
|
L_0285A004: ; // 0x285a004
|
|
/* 0285A004 */ _t53 = cpu->r[31] + 0x00000000u;
|
|
/* 0285A004 */ cpu->r[3] = rbrew_read16(cpu->mem, _t53);
|
|
/* 0285A008 */ Gambit_fn_02859ACC(cpu);
|
|
/* 0285A00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000026u);
|
|
/* 0285A010 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A010 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0285A010 */ if (_t55) goto L_0285A014; else goto L_02859F04;
|
|
L_0285A014: ; // 0x285a014
|
|
/* 0285A014 */ cpu->r[31] = cpu->r[31] + 0x00000002u;
|
|
/* 0285A018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[19]);
|
|
/* 0285A01C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A01C */ _t57 = _t56 & 0x00000001u;
|
|
/* 0285A01C */ if (_t57) goto L_0285A020; else goto L_0285A004;
|
|
L_0285A020: ; // 0x285a020
|
|
/* 0285A020 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0285A024 */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0285A028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0285A02C */ _t58 = cpu->r[12] + cpu->r[27];
|
|
/* 0285A02C */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[25]);
|
|
/* 0285A030 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A030 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0285A030 */ if (_t60) goto L_0285A038; else goto L_0285A034;
|
|
L_0285A034: ; // 0x285a034
|
|
/* 0285A034 */ _t61 = cpu->r[26] + 0x00000000u;
|
|
/* 0285A034 */ rbrew_write32(cpu->mem, _t61, cpu->r[30]);
|
|
L_0285A038: ; // 0x285a038
|
|
/* 0285A038 */ /* nop */
|
|
/* 0285A03C */ _t62 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0285A03C */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0285A040 */ cpu->lr = cpu->r[0];
|
|
/* 0285A044 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 0285A048 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285A04C */ return;
|
|
}
|
|
|
|
// fn_02859E64 @ 0x2859e64
|
|
void Gambit_fn_02859E64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62;
|
|
|
|
L_02859E64: ; // 0x2859e64
|
|
/* 02859E64 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02859E64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02859E64 */ cpu->r[1] = _t0;
|
|
/* 02859E68 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02859E68 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02859E6C */ /* nop */
|
|
/* 02859E70 */ cpu->r[26] = cpu->r[3];
|
|
/* 02859E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02859E74 */ cpu->r[27] = cpu->r[4];
|
|
/* 02859E78 */ cpu->r[28] = cpu->r[5];
|
|
/* 02859E7C */ cpu->r[31] = cpu->r[6];
|
|
/* 02859E80 */ cpu->r[21] = cpu->r[8];
|
|
/* 02859E84 */ cpu->r[22] = cpu->r[9];
|
|
/* 02859E88 */ cpu->r[25] = 0x00000000u;
|
|
/* 02859E8C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859E8C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02859E8C */ if (_t3) goto L_02859E94; else goto L_02859E90;
|
|
L_02859E90: ; // 0x2859e90
|
|
/* 02859E90 */ _t4 = cpu->r[26] + 0x00000000u;
|
|
/* 02859E90 */ rbrew_write32(cpu->mem, _t4, cpu->r[25]);
|
|
L_02859E94: ; // 0x2859e94
|
|
/* 02859E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02859E98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859E98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02859E98 */ if (_t6) goto L_02859EAC; else goto L_02859E9C;
|
|
L_02859E9C: ; // 0x2859e9c
|
|
/* 02859E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02859EA0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859EA0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02859EA0 */ if (_t8) goto L_02859EAC; else goto L_02859EA4;
|
|
L_02859EA4: ; // 0x2859ea4
|
|
/* 02859EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02859EA8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859EA8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02859EA8 */ if (_t10) goto L_02859EAC; else goto L_02859EC4;
|
|
L_02859EAC: ; // 0x2859eac
|
|
/* 02859EAC */ /* nop */
|
|
/* 02859EB0 */ _t11 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02859EB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02859EB4 */ cpu->lr = cpu->r[0];
|
|
/* 02859EB8 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02859EBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02859EC0 */ return;
|
|
L_02859EC4: ; // 0x2859ec4
|
|
/* 02859EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02859EC8 */ _t12 = cpu->r[27] + 0x00000000u;
|
|
/* 02859EC8 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[25]);
|
|
/* 02859ECC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859ECC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02859ECC */ if (_t14) goto L_0285A038; else goto L_02859ED0;
|
|
L_02859ED0: ; // 0x2859ed0
|
|
/* 02859ED0 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02859ED0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02859ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02859ED8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859ED8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02859ED8 */ if (_t17) goto L_0285A038; else goto L_02859EDC;
|
|
L_02859EDC: ; // 0x2859edc
|
|
/* 02859EDC */ cpu->r[23] = 0x00000000u;
|
|
/* 02859EE0 */ _t18 = cpu->r[22] + 0x00000000u;
|
|
/* 02859EE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02859EE4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02859EE8 */ cpu->r[30] = cpu->r[23];
|
|
/* 02859EEC */ cpu->r[24] = 0x0000000Au;
|
|
/* 02859EF0 */ cpu->r[8] = (uint32_t)(-(int32_t)cpu->r[6]);
|
|
/* 02859EF4 */ cpu->r[19] = cpu->r[31] + cpu->r[5];
|
|
/* 02859EF8 */ _t19 = ~cpu->r[6];
|
|
/* 02859EF8 */ cpu->r[9] = cpu->r[8] & _t19;
|
|
/* 02859EFC */ cpu->r[25] = cpu->r[23];
|
|
/* 02859F00 */ cpu->r[20] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
L_02859F04: ; // 0x2859f04
|
|
/* 02859F04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02859F08 */ cpu->r[4] = cpu->r[19];
|
|
/* 02859F0C */ cpu->r[5] = cpu->r[21];
|
|
/* 02859F10 */ cpu->r[6] = cpu->r[22];
|
|
/* 02859F14 */ Gambit_fn_02859B98(cpu);
|
|
/* 02859F18 */ cpu->r[18] = cpu->r[3];
|
|
/* 02859F1C */ cpu->r[5] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02859F20 */ cpu->r[0] = cpu->r[18] - cpu->r[31];
|
|
/* 02859F24 */ cpu->r[12] = cpu->r[28] - cpu->r[30];
|
|
/* 02859F28 */ /* nop */
|
|
/* 02859F2C */ cpu->r[29] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02859F30 */ cpu->r[17] = cpu->r[11] + 0x00000001u;
|
|
/* 02859F34 */ cpu->r[3] = cpu->r[27] + cpu->r[5];
|
|
/* 02859F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], cpu->r[29]);
|
|
/* 02859F3C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859F3C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02859F3C */ if (_t21) goto L_02859F40; else goto L_02859F44;
|
|
L_02859F40: ; // 0x2859f40
|
|
/* 02859F40 */ cpu->r[29] = cpu->r[17];
|
|
L_02859F44: ; // 0x2859f44
|
|
/* 02859F44 */ cpu->r[4] = cpu->r[31];
|
|
/* 02859F48 */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02859F4C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02859F50 */ cpu->r[0] = cpu->r[30] + cpu->r[29];
|
|
/* 02859F54 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02859F58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[29]);
|
|
/* 02859F5C */ _t22 = cpu->r[7] + cpu->r[27];
|
|
/* 02859F5C */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[25]);
|
|
/* 02859F60 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859F60 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02859F60 */ if (_t24) goto L_02859F78; else goto L_02859F64;
|
|
L_02859F64: ; // 0x2859f64
|
|
/* 02859F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02859F68 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859F68 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02859F68 */ if (_t26) goto L_02859EAC; else goto L_02859F6C;
|
|
L_02859F6C: ; // 0x2859f6c
|
|
/* 02859F6C */ cpu->r[30] = cpu->r[30] + cpu->r[29];
|
|
/* 02859F70 */ _t27 = cpu->r[26] + 0x00000000u;
|
|
/* 02859F70 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02859F74 */ goto L_02859EAC;
|
|
L_02859F78: ; // 0x2859f78
|
|
/* 02859F78 */ cpu->r[31] = cpu->r[18] + 0x00000002u;
|
|
/* 02859F7C */ cpu->r[30] = cpu->r[30] + cpu->r[29];
|
|
/* 02859F80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[19]);
|
|
/* 02859F84 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02859F88 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859F88 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02859F88 */ if (_t29) goto L_02859F8C; else goto L_02859F98;
|
|
L_02859F8C: ; // 0x2859f8c
|
|
/* 02859F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02859F90 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859F90 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02859F90 */ if (_t31) goto L_0285A038; else goto L_02859F94;
|
|
L_02859F94: ; // 0x2859f94
|
|
/* 02859F94 */ goto L_0285A034;
|
|
L_02859F98: ; // 0x2859f98
|
|
/* 02859F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02859F9C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859F9C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02859F9C */ if (_t33) goto L_02859FAC; else goto L_02859FA0;
|
|
L_02859FA0: ; // 0x2859fa0
|
|
/* 02859FA0 */ _t34 = cpu->r[22] + 0x00000000u;
|
|
/* 02859FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02859FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[0]);
|
|
/* 02859FA8 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859FA8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02859FA8 */ if (_t36) goto L_02859FAC; else goto L_02859FE8;
|
|
L_02859FAC: ; // 0x2859fac
|
|
/* 02859FAC */ _t37 = cpu->r[18] + 0x00000000u;
|
|
/* 02859FAC */ cpu->r[0] = rbrew_read16(cpu->mem, _t37);
|
|
/* 02859FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Au);
|
|
/* 02859FB4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859FB4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02859FB4 */ if (_t39) goto L_02859FF8; else goto L_02859FB8;
|
|
L_02859FB8: ; // 0x2859fb8
|
|
/* 02859FB8 */ cpu->r[10] = cpu->r[30] + 0x00000001u;
|
|
/* 02859FBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
|
|
/* 02859FC0 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02859FC0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02859FC0 */ if (_t41) goto L_02859FC4; else goto L_02859FE8;
|
|
L_02859FC4: ; // 0x2859fc4
|
|
/* 02859FC4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02859FC8 */ _t42 = cpu->r[27] + cpu->r[8];
|
|
/* 02859FC8 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[24]);
|
|
/* 02859FCC */ cpu->r[12] = cpu->r[27] + cpu->r[8];
|
|
/* 02859FD0 */ _t43 = cpu->r[12] + 0x00000002u;
|
|
/* 02859FD0 */ rbrew_write16(cpu->mem, _t43, (uint16_t)cpu->r[25]);
|
|
/* 02859FD4 */ _t44 = cpu->r[22] + 0x00000004u;
|
|
/* 02859FD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02859FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02859FDC */ cpu->r[30] = cpu->r[10];
|
|
/* 02859FE0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859FE0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02859FE0 */ if (_t46) goto L_02859F04; else goto L_02859FE4;
|
|
L_02859FE4: ; // 0x2859fe4
|
|
/* 02859FE4 */ goto L_0285A004;
|
|
L_02859FE8: ; // 0x2859fe8
|
|
/* 02859FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02859FEC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02859FEC */ _t48 = _t47 & 0x00000001u;
|
|
/* 02859FEC */ if (_t48) goto L_02859EAC; else goto L_02859FF0;
|
|
L_02859FF0: ; // 0x2859ff0
|
|
/* 02859FF0 */ _t49 = cpu->r[26] + 0x00000000u;
|
|
/* 02859FF0 */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
|
|
/* 02859FF4 */ goto L_02859EAC;
|
|
L_02859FF8: ; // 0x2859ff8
|
|
/* 02859FF8 */ _t50 = cpu->r[22] + 0x00000004u;
|
|
/* 02859FF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02859FFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285A000 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A000 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0285A000 */ if (_t52) goto L_02859F04; else goto L_0285A004;
|
|
L_0285A004: ; // 0x285a004
|
|
/* 0285A004 */ _t53 = cpu->r[31] + 0x00000000u;
|
|
/* 0285A004 */ cpu->r[3] = rbrew_read16(cpu->mem, _t53);
|
|
/* 0285A008 */ Gambit_fn_02859ACC(cpu);
|
|
/* 0285A00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000026u);
|
|
/* 0285A010 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A010 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0285A010 */ if (_t55) goto L_0285A014; else goto L_02859F04;
|
|
L_0285A014: ; // 0x285a014
|
|
/* 0285A014 */ cpu->r[31] = cpu->r[31] + 0x00000002u;
|
|
/* 0285A018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[19]);
|
|
/* 0285A01C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A01C */ _t57 = _t56 & 0x00000001u;
|
|
/* 0285A01C */ if (_t57) goto L_0285A020; else goto L_0285A004;
|
|
L_0285A020: ; // 0x285a020
|
|
/* 0285A020 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0285A024 */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0285A028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0285A02C */ _t58 = cpu->r[12] + cpu->r[27];
|
|
/* 0285A02C */ rbrew_write16(cpu->mem, _t58, (uint16_t)cpu->r[25]);
|
|
/* 0285A030 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A030 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0285A030 */ if (_t60) goto L_0285A038; else goto L_0285A034;
|
|
L_0285A034: ; // 0x285a034
|
|
/* 0285A034 */ _t61 = cpu->r[26] + 0x00000000u;
|
|
/* 0285A034 */ rbrew_write32(cpu->mem, _t61, cpu->r[30]);
|
|
L_0285A038: ; // 0x285a038
|
|
/* 0285A038 */ /* nop */
|
|
/* 0285A03C */ _t62 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0285A03C */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0285A040 */ cpu->lr = cpu->r[0];
|
|
/* 0285A044 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 0285A048 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285A04C */ return;
|
|
}
|
|
|
|
// fn_0285A050 @ 0x285a050
|
|
void Gambit_fn_0285A050(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_0285A050: ; // 0x285a050
|
|
/* 0285A050 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0285A050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285A054 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 0285A058 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A058 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285A058 */ if (_t2) goto L_0285A05C; else goto L_0285A0B8;
|
|
L_0285A05C: ; // 0x285a05c
|
|
/* 0285A05C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0285A05C */ cpu->r[8] = rbrew_read16(cpu->mem, _t3);
|
|
/* 0285A060 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000FEFFu);
|
|
/* 0285A064 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A064 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285A064 */ if (_t5) goto L_0285A068; else goto L_0285A0B8;
|
|
L_0285A068: ; // 0x285a068
|
|
/* 0285A068 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 0285A068 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285A06C */ cpu->r[9] = cpu->r[5] ^ cpu->r[8];
|
|
/* 0285A070 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285A074 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A074 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285A074 */ if (_t8) goto L_0285A078; else goto L_0285A0B8;
|
|
L_0285A078: ; // 0x285a078
|
|
/* 0285A078 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A07C */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A080 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 0285A084 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A084 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285A084 */ if (_t10) goto L_0285A0B8; else goto L_0285A088;
|
|
L_0285A088: ; // 0x285a088
|
|
/* 0285A088 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A08C */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A090 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 0285A094 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285A094 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285A094 */ if (_t12) goto L_0285A0B8; else goto L_0285A098;
|
|
L_0285A098: ; // 0x285a098
|
|
/* 0285A098 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285A09C */ _t13 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285A09C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285A0A0 */ cpu->r[11] = cpu->r[10] + 0x00000014u;
|
|
/* 0285A0A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0285A0A8 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A0A8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285A0A8 */ if (_t15) goto L_0285A0B8; else goto L_0285A0AC;
|
|
L_0285A0AC: ; // 0x285a0ac
|
|
/* 0285A0AC */ _t16 = cpu->r[3] + 0x00000010u;
|
|
/* 0285A0AC */ cpu->r[0] = rbrew_read16(cpu->mem, _t16);
|
|
/* 0285A0B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 0285A0B4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A0B4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285A0B4 */ if (_t18) goto L_0285A0B8; else goto L_0285A0C0;
|
|
L_0285A0B8: ; // 0x285a0b8
|
|
/* 0285A0B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285A0BC */ return;
|
|
L_0285A0C0: ; // 0x285a0c0
|
|
/* 0285A0C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285A0C4 */ return;
|
|
}
|
|
|
|
// fn_0285A0C8 @ 0x285a0c8
|
|
void Gambit_fn_0285A0C8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0285A0C8: ; // 0x285a0c8
|
|
/* 0285A0C8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 0285A0C8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t0);
|
|
/* 0285A0CC */ cpu->r[12] = cpu->r[0] ^ 0x0000FEFFu;
|
|
/* 0285A0D0 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0285A0D4 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0285A0D8 */ return;
|
|
}
|
|
|
|
// fn_0285A0DC @ 0x285a0dc
|
|
void Gambit_fn_0285A0DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50;
|
|
|
|
L_0285A0DC: ; // 0x285a0dc
|
|
/* 0285A0DC */ cpu->r[0] = cpu->lr;
|
|
/* 0285A0E0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285A0E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0285A0E4 */ cpu->r[9] = cpu->r[3];
|
|
/* 0285A0E8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285A0E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0285A0E8 */ cpu->r[1] = _t1;
|
|
/* 0285A0EC */ Gambit_fn_0285A0C8(cpu);
|
|
/* 0285A0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A0F4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A0F4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285A0F4 */ if (_t3) goto L_0285A0F8; else goto L_0285A144;
|
|
L_0285A0F8: ; // 0x285a0f8
|
|
/* 0285A0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285A0FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A0FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285A0FC */ if (_t5) goto L_0285A100; else goto L_0285A128;
|
|
L_0285A100: ; // 0x285a100
|
|
/* 0285A100 */ _t6 = cpu->r[9] + 0x00000010u;
|
|
/* 0285A100 */ cpu->r[11] = rbrew_read16(cpu->mem, _t6);
|
|
/* 0285A104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285A108 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A108 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285A108 */ if (_t8) goto L_0285A1C8; else goto L_0285A10C;
|
|
L_0285A10C: ; // 0x285a10c
|
|
/* 0285A10C */ _t9 = cpu->r[9] + 0x00000006u;
|
|
/* 0285A10C */ cpu->r[12] = rbrew_read16(cpu->mem, _t9);
|
|
/* 0285A110 */ _t10 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0285A110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285A114 */ cpu->r[3] = cpu->r[9] + cpu->r[12];
|
|
/* 0285A118 */ cpu->r[12] = cpu->r[9] + cpu->r[0];
|
|
/* 0285A11C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 0285A120 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A120 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285A120 */ if (_t12) goto L_0285A124; else goto L_0285A1C8;
|
|
L_0285A124: ; // 0x285a124
|
|
/* 0285A124 */ goto L_0285A1CC;
|
|
L_0285A128: ; // 0x285a128
|
|
/* 0285A128 */ _t13 = cpu->r[4] + 0x00000004u;
|
|
/* 0285A128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285A12C */ cpu->r[3] = cpu->r[4] + cpu->r[0];
|
|
/* 0285A130 */ _t14 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0285A130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285A134 */ cpu->r[12] = cpu->r[9] + cpu->r[0];
|
|
/* 0285A138 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 0285A13C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A13C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285A13C */ if (_t16) goto L_0285A1CC; else goto L_0285A140;
|
|
L_0285A140: ; // 0x285a140
|
|
/* 0285A140 */ goto L_0285A1C8;
|
|
L_0285A144: ; // 0x285a144
|
|
/* 0285A144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285A148 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A148 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285A148 */ if (_t18) goto L_0285A14C; else goto L_0285A190;
|
|
L_0285A14C: ; // 0x285a14c
|
|
/* 0285A14C */ _t19 = cpu->r[9] + 0x00000010u;
|
|
/* 0285A14C */ cpu->r[10] = rbrew_read16(cpu->mem, _t19);
|
|
/* 0285A150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285A154 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A154 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0285A154 */ if (_t21) goto L_0285A1C8; else goto L_0285A158;
|
|
L_0285A158: ; // 0x285a158
|
|
/* 0285A158 */ _t22 = cpu->r[9] + 0x00000006u;
|
|
/* 0285A158 */ cpu->r[12] = rbrew_read16(cpu->mem, _t22);
|
|
/* 0285A15C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000008u, 0x00000010u, 0x00000017u);
|
|
/* 0285A160 */ _t23 = rbrew_rlwinm(cpu->r[12], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A160 */ _t24 = cpu->r[0] & 0xFFFFFF00u;
|
|
/* 0285A160 */ cpu->r[0] = _t24 | _t23;
|
|
/* 0285A164 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0285A168 */ cpu->r[3] = cpu->r[9] + cpu->r[0];
|
|
/* 0285A16C */ _t25 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0285A16C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285A170 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 0285A174 */ _t26 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000008u, 0x0000000Fu);
|
|
/* 0285A174 */ _t27 = cpu->r[10] & 0xFF00FFFFu;
|
|
/* 0285A174 */ cpu->r[10] = _t27 | _t26;
|
|
/* 0285A178 */ _t28 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 0285A178 */ _t29 = cpu->r[10] & 0xFFFF00FFu;
|
|
/* 0285A178 */ cpu->r[10] = _t29 | _t28;
|
|
/* 0285A17C */ _t30 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A17C */ _t31 = cpu->r[10] & 0xFFFFFF00u;
|
|
/* 0285A17C */ cpu->r[10] = _t31 | _t30;
|
|
/* 0285A180 */ cpu->r[11] = cpu->r[9] + cpu->r[10];
|
|
/* 0285A184 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 0285A188 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A188 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0285A188 */ if (_t33) goto L_0285A1CC; else goto L_0285A18C;
|
|
L_0285A18C: ; // 0x285a18c
|
|
/* 0285A18C */ goto L_0285A1C8;
|
|
L_0285A190: ; // 0x285a190
|
|
/* 0285A190 */ _t34 = cpu->r[4] + 0x00000004u;
|
|
/* 0285A190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0285A194 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 0285A198 */ _t35 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000008u, 0x0000000Fu);
|
|
/* 0285A198 */ _t36 = cpu->r[11] & 0xFF00FFFFu;
|
|
/* 0285A198 */ cpu->r[11] = _t36 | _t35;
|
|
/* 0285A19C */ _t37 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 0285A19C */ _t38 = cpu->r[11] & 0xFFFF00FFu;
|
|
/* 0285A19C */ cpu->r[11] = _t38 | _t37;
|
|
/* 0285A1A0 */ _t39 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A1A0 */ _t40 = cpu->r[11] & 0xFFFFFF00u;
|
|
/* 0285A1A0 */ cpu->r[11] = _t40 | _t39;
|
|
/* 0285A1A4 */ _t41 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0285A1A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0285A1A8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 0285A1AC */ _t42 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000008u, 0x0000000Fu);
|
|
/* 0285A1AC */ _t43 = cpu->r[10] & 0xFF00FFFFu;
|
|
/* 0285A1AC */ cpu->r[10] = _t43 | _t42;
|
|
/* 0285A1B0 */ _t44 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 0285A1B0 */ _t45 = cpu->r[10] & 0xFFFF00FFu;
|
|
/* 0285A1B0 */ cpu->r[10] = _t45 | _t44;
|
|
/* 0285A1B4 */ _t46 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A1B4 */ _t47 = cpu->r[10] & 0xFFFFFF00u;
|
|
/* 0285A1B4 */ cpu->r[10] = _t47 | _t46;
|
|
/* 0285A1B8 */ cpu->r[3] = cpu->r[4] + cpu->r[11];
|
|
/* 0285A1BC */ cpu->r[11] = cpu->r[9] + cpu->r[10];
|
|
/* 0285A1C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 0285A1C4 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A1C4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0285A1C4 */ if (_t49) goto L_0285A1CC; else goto L_0285A1C8;
|
|
L_0285A1C8: ; // 0x285a1c8
|
|
/* 0285A1C8 */ cpu->r[3] = 0x00000000u;
|
|
L_0285A1CC: ; // 0x285a1cc
|
|
/* 0285A1CC */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A1CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0285A1D0 */ cpu->lr = cpu->r[0];
|
|
/* 0285A1D4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285A1D8 */ return;
|
|
}
|
|
|
|
// fn_0285A0E8 @ 0x285a0e8
|
|
void Gambit_fn_0285A0E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_0285A0E8: ; // 0x285a0e8
|
|
/* 0285A0E8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285A0E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285A0E8 */ cpu->r[1] = _t0;
|
|
/* 0285A0EC */ Gambit_fn_0285A0C8(cpu);
|
|
/* 0285A0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A0F4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A0F4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285A0F4 */ if (_t2) goto L_0285A0F8; else goto L_0285A144;
|
|
L_0285A0F8: ; // 0x285a0f8
|
|
/* 0285A0F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285A0FC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A0FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285A0FC */ if (_t4) goto L_0285A100; else goto L_0285A128;
|
|
L_0285A100: ; // 0x285a100
|
|
/* 0285A100 */ _t5 = cpu->r[9] + 0x00000010u;
|
|
/* 0285A100 */ cpu->r[11] = rbrew_read16(cpu->mem, _t5);
|
|
/* 0285A104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285A108 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A108 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285A108 */ if (_t7) goto L_0285A1C8; else goto L_0285A10C;
|
|
L_0285A10C: ; // 0x285a10c
|
|
/* 0285A10C */ _t8 = cpu->r[9] + 0x00000006u;
|
|
/* 0285A10C */ cpu->r[12] = rbrew_read16(cpu->mem, _t8);
|
|
/* 0285A110 */ _t9 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0285A110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285A114 */ cpu->r[3] = cpu->r[9] + cpu->r[12];
|
|
/* 0285A118 */ cpu->r[12] = cpu->r[9] + cpu->r[0];
|
|
/* 0285A11C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 0285A120 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A120 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285A120 */ if (_t11) goto L_0285A124; else goto L_0285A1C8;
|
|
L_0285A124: ; // 0x285a124
|
|
/* 0285A124 */ goto L_0285A1CC;
|
|
L_0285A128: ; // 0x285a128
|
|
/* 0285A128 */ _t12 = cpu->r[4] + 0x00000004u;
|
|
/* 0285A128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285A12C */ cpu->r[3] = cpu->r[4] + cpu->r[0];
|
|
/* 0285A130 */ _t13 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0285A130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285A134 */ cpu->r[12] = cpu->r[9] + cpu->r[0];
|
|
/* 0285A138 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 0285A13C */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A13C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285A13C */ if (_t15) goto L_0285A1CC; else goto L_0285A140;
|
|
L_0285A140: ; // 0x285a140
|
|
/* 0285A140 */ goto L_0285A1C8;
|
|
L_0285A144: ; // 0x285a144
|
|
/* 0285A144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285A148 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A148 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285A148 */ if (_t17) goto L_0285A14C; else goto L_0285A190;
|
|
L_0285A14C: ; // 0x285a14c
|
|
/* 0285A14C */ _t18 = cpu->r[9] + 0x00000010u;
|
|
/* 0285A14C */ cpu->r[10] = rbrew_read16(cpu->mem, _t18);
|
|
/* 0285A150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285A154 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A154 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285A154 */ if (_t20) goto L_0285A1C8; else goto L_0285A158;
|
|
L_0285A158: ; // 0x285a158
|
|
/* 0285A158 */ _t21 = cpu->r[9] + 0x00000006u;
|
|
/* 0285A158 */ cpu->r[12] = rbrew_read16(cpu->mem, _t21);
|
|
/* 0285A15C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000008u, 0x00000010u, 0x00000017u);
|
|
/* 0285A160 */ _t22 = rbrew_rlwinm(cpu->r[12], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A160 */ _t23 = cpu->r[0] & 0xFFFFFF00u;
|
|
/* 0285A160 */ cpu->r[0] = _t23 | _t22;
|
|
/* 0285A164 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0285A168 */ cpu->r[3] = cpu->r[9] + cpu->r[0];
|
|
/* 0285A16C */ _t24 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0285A16C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285A170 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 0285A174 */ _t25 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000008u, 0x0000000Fu);
|
|
/* 0285A174 */ _t26 = cpu->r[10] & 0xFF00FFFFu;
|
|
/* 0285A174 */ cpu->r[10] = _t26 | _t25;
|
|
/* 0285A178 */ _t27 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 0285A178 */ _t28 = cpu->r[10] & 0xFFFF00FFu;
|
|
/* 0285A178 */ cpu->r[10] = _t28 | _t27;
|
|
/* 0285A17C */ _t29 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A17C */ _t30 = cpu->r[10] & 0xFFFFFF00u;
|
|
/* 0285A17C */ cpu->r[10] = _t30 | _t29;
|
|
/* 0285A180 */ cpu->r[11] = cpu->r[9] + cpu->r[10];
|
|
/* 0285A184 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 0285A188 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A188 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0285A188 */ if (_t32) goto L_0285A1CC; else goto L_0285A18C;
|
|
L_0285A18C: ; // 0x285a18c
|
|
/* 0285A18C */ goto L_0285A1C8;
|
|
L_0285A190: ; // 0x285a190
|
|
/* 0285A190 */ _t33 = cpu->r[4] + 0x00000004u;
|
|
/* 0285A190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0285A194 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 0285A198 */ _t34 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000008u, 0x0000000Fu);
|
|
/* 0285A198 */ _t35 = cpu->r[11] & 0xFF00FFFFu;
|
|
/* 0285A198 */ cpu->r[11] = _t35 | _t34;
|
|
/* 0285A19C */ _t36 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 0285A19C */ _t37 = cpu->r[11] & 0xFFFF00FFu;
|
|
/* 0285A19C */ cpu->r[11] = _t37 | _t36;
|
|
/* 0285A1A0 */ _t38 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A1A0 */ _t39 = cpu->r[11] & 0xFFFFFF00u;
|
|
/* 0285A1A0 */ cpu->r[11] = _t39 | _t38;
|
|
/* 0285A1A4 */ _t40 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0285A1A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0285A1A8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 0285A1AC */ _t41 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000008u, 0x0000000Fu);
|
|
/* 0285A1AC */ _t42 = cpu->r[10] & 0xFF00FFFFu;
|
|
/* 0285A1AC */ cpu->r[10] = _t42 | _t41;
|
|
/* 0285A1B0 */ _t43 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 0285A1B0 */ _t44 = cpu->r[10] & 0xFFFF00FFu;
|
|
/* 0285A1B0 */ cpu->r[10] = _t44 | _t43;
|
|
/* 0285A1B4 */ _t45 = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A1B4 */ _t46 = cpu->r[10] & 0xFFFFFF00u;
|
|
/* 0285A1B4 */ cpu->r[10] = _t46 | _t45;
|
|
/* 0285A1B8 */ cpu->r[3] = cpu->r[4] + cpu->r[11];
|
|
/* 0285A1BC */ cpu->r[11] = cpu->r[9] + cpu->r[10];
|
|
/* 0285A1C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 0285A1C4 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A1C4 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0285A1C4 */ if (_t48) goto L_0285A1CC; else goto L_0285A1C8;
|
|
L_0285A1C8: ; // 0x285a1c8
|
|
/* 0285A1C8 */ cpu->r[3] = 0x00000000u;
|
|
L_0285A1CC: ; // 0x285a1cc
|
|
/* 0285A1CC */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A1CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0285A1D0 */ cpu->lr = cpu->r[0];
|
|
/* 0285A1D4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285A1D8 */ return;
|
|
}
|
|
|
|
// fn_0285A1F4 @ 0x285a1f4
|
|
void Gambit_fn_0285A1F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0285A1F4: ; // 0x285a1f4
|
|
/* 0285A1F4 */ cpu->r[0] = cpu->lr;
|
|
/* 0285A1F8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285A1F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0285A1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A200 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285A200 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0285A200 */ cpu->r[1] = _t1;
|
|
/* 0285A204 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A204 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285A204 */ if (_t3) goto L_0285A208; else goto L_0285A218;
|
|
L_0285A208: ; // 0x285a208
|
|
/* 0285A208 */ cpu->r[3] = 0x00000018u;
|
|
/* 0285A20C */ Gambit_fn_02801A78(cpu);
|
|
/* 0285A210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A214 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A214 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285A214 */ if (_t5) goto L_0285A248; else goto L_0285A218;
|
|
L_0285A218: ; // 0x285a218
|
|
/* 0285A218 */ cpu->r[11] = 0x00000000u;
|
|
/* 0285A21C */ cpu->r[12] = 0x10130000u;
|
|
/* 0285A220 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 0285A220 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0285A224 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285A228 */ _t7 = cpu->r[12] + 0x000049D4u;
|
|
/* 0285A228 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0285A22C */ cpu->r[12] = 0x00000001u;
|
|
/* 0285A230 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0285A230 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0285A234 */ cpu->r[0] = cpu->r[0] + 0x000049ECu;
|
|
/* 0285A238 */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 0285A238 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 0285A23C */ _t10 = cpu->r[3] + 0x00000010u;
|
|
/* 0285A23C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]);
|
|
/* 0285A240 */ _t11 = cpu->r[3] + 0x00000014u;
|
|
/* 0285A240 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0285A244 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285A244 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
L_0285A248: ; // 0x285a248
|
|
/* 0285A248 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285A24C */ cpu->lr = cpu->r[0];
|
|
/* 0285A250 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285A254 */ return;
|
|
}
|
|
|
|
// fn_0285A200 @ 0x285a200
|
|
void Gambit_fn_0285A200(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0285A200: ; // 0x285a200
|
|
/* 0285A200 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285A200 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285A200 */ cpu->r[1] = _t0;
|
|
/* 0285A204 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A204 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285A204 */ if (_t2) goto L_0285A208; else goto L_0285A218;
|
|
L_0285A208: ; // 0x285a208
|
|
/* 0285A208 */ cpu->r[3] = 0x00000018u;
|
|
/* 0285A20C */ Gambit_fn_02801A78(cpu);
|
|
/* 0285A210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A214 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A214 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285A214 */ if (_t4) goto L_0285A248; else goto L_0285A218;
|
|
L_0285A218: ; // 0x285a218
|
|
/* 0285A218 */ cpu->r[11] = 0x00000000u;
|
|
/* 0285A21C */ cpu->r[12] = 0x10130000u;
|
|
/* 0285A220 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0285A220 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0285A224 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285A228 */ _t6 = cpu->r[12] + 0x000049D4u;
|
|
/* 0285A228 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0285A22C */ cpu->r[12] = 0x00000001u;
|
|
/* 0285A230 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0285A230 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0285A234 */ cpu->r[0] = cpu->r[0] + 0x000049ECu;
|
|
/* 0285A238 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 0285A238 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 0285A23C */ _t9 = cpu->r[3] + 0x00000010u;
|
|
/* 0285A23C */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[12]);
|
|
/* 0285A240 */ _t10 = cpu->r[3] + 0x00000014u;
|
|
/* 0285A240 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0285A244 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285A244 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
L_0285A248: ; // 0x285a248
|
|
/* 0285A248 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285A24C */ cpu->lr = cpu->r[0];
|
|
/* 0285A250 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285A254 */ return;
|
|
}
|
|
|
|
// fn_0285A258 @ 0x285a258
|
|
void Gambit_fn_0285A258(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_0285A258: ; // 0x285a258
|
|
/* 0285A258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A25C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A25C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285A25C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285A25C */ goto L_0285A260;
|
|
L_0285A260: ; // 0x285a260
|
|
/* 0285A260 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285A260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285A264 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A264 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285A264 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285A264 */ goto L_0285A268;
|
|
L_0285A268: ; // 0x285a268
|
|
/* 0285A268 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0285A26C @ 0x285a26c
|
|
void Gambit_fn_0285A26C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0285A26C: ; // 0x285a26c
|
|
/* 0285A26C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0285A26C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285A270 */ _t1 = cpu->r[12] + 0x00000008u;
|
|
/* 0285A270 */ cpu->r[3] = rbrew_read16(cpu->mem, _t1);
|
|
/* 0285A274 */ return;
|
|
}
|
|
|
|
// fn_0285A278 @ 0x285a278
|
|
void Gambit_fn_0285A278(CPUState* cpu) {
|
|
L_0285A278: ; // 0x285a278
|
|
/* 0285A278 */ return;
|
|
}
|
|
|
|
// fn_0285A27C @ 0x285a27c
|
|
void Gambit_fn_0285A27C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0285A27C: ; // 0x285a27c
|
|
/* 0285A27C */ _t0 = cpu->r[3] + 0x00000010u;
|
|
/* 0285A27C */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 0285A280 */ return;
|
|
}
|
|
|
|
// fn_0285A284 @ 0x285a284
|
|
void Gambit_fn_0285A284(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0285A284: ; // 0x285a284
|
|
/* 0285A284 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0285A284 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285A288 */ _t1 = cpu->r[12] + 0x00000008u;
|
|
/* 0285A288 */ cpu->r[0] = rbrew_read16(cpu->mem, _t1);
|
|
/* 0285A28C */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 0285A290 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285A294 */ return;
|
|
}
|
|
|
|
// fn_0285A298 @ 0x285a298
|
|
void Gambit_fn_0285A298(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0285A298: ; // 0x285a298
|
|
/* 0285A298 */ cpu->r[0] = cpu->lr;
|
|
/* 0285A29C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285A29C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285A29C */ cpu->r[1] = _t0;
|
|
/* 0285A2A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A2A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285A2A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285A2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285A2A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285A2A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285A2AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A2AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285A2AC */ if (_t4) goto L_0285A2B0; else goto L_0285A2C0;
|
|
L_0285A2B0: ; // 0x285a2b0
|
|
/* 0285A2B0 */ cpu->r[3] = 0x00000024u;
|
|
/* 0285A2B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285A2B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285A2B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285A2BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A2BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285A2BC */ if (_t6) goto L_0285A2E8; else goto L_0285A2C0;
|
|
L_0285A2C0: ; // 0x285a2c0
|
|
/* 0285A2C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285A2C4 */ Gambit_fn_0285A1F4(cpu);
|
|
/* 0285A2C8 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285A2CC */ cpu->r[0] = 0x00000000u;
|
|
/* 0285A2D0 */ cpu->r[12] = cpu->r[12] + 0x00004A7Cu;
|
|
/* 0285A2D4 */ _t7 = cpu->r[31] + 0x00000018u;
|
|
/* 0285A2D4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0285A2D8 */ _t8 = cpu->r[31] + 0x00000014u;
|
|
/* 0285A2D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 0285A2DC */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 0285A2DC */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[0]);
|
|
/* 0285A2E0 */ _t10 = cpu->r[31] + 0x00000022u;
|
|
/* 0285A2E0 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]);
|
|
/* 0285A2E4 */ _t11 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285A2E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0285A2E8: ; // 0x285a2e8
|
|
/* 0285A2E8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0285A2E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285A2EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285A2F0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A2F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285A2F4 */ cpu->lr = cpu->r[0];
|
|
/* 0285A2F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285A2FC */ return;
|
|
}
|
|
|
|
// fn_0285A29C @ 0x285a29c
|
|
void Gambit_fn_0285A29C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0285A29C: ; // 0x285a29c
|
|
/* 0285A29C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285A29C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285A29C */ cpu->r[1] = _t0;
|
|
/* 0285A2A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A2A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285A2A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285A2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285A2A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285A2A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285A2AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A2AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285A2AC */ if (_t4) goto L_0285A2B0; else goto L_0285A2C0;
|
|
L_0285A2B0: ; // 0x285a2b0
|
|
/* 0285A2B0 */ cpu->r[3] = 0x00000024u;
|
|
/* 0285A2B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285A2B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285A2B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285A2BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A2BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285A2BC */ if (_t6) goto L_0285A2E8; else goto L_0285A2C0;
|
|
L_0285A2C0: ; // 0x285a2c0
|
|
/* 0285A2C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285A2C4 */ Gambit_fn_0285A1F4(cpu);
|
|
/* 0285A2C8 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285A2CC */ cpu->r[0] = 0x00000000u;
|
|
/* 0285A2D0 */ cpu->r[12] = cpu->r[12] + 0x00004A7Cu;
|
|
/* 0285A2D4 */ _t7 = cpu->r[31] + 0x00000018u;
|
|
/* 0285A2D4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0285A2D8 */ _t8 = cpu->r[31] + 0x00000014u;
|
|
/* 0285A2D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 0285A2DC */ _t9 = cpu->r[31] + 0x00000020u;
|
|
/* 0285A2DC */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[0]);
|
|
/* 0285A2E0 */ _t10 = cpu->r[31] + 0x00000022u;
|
|
/* 0285A2E0 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]);
|
|
/* 0285A2E4 */ _t11 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285A2E4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0285A2E8: ; // 0x285a2e8
|
|
/* 0285A2E8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0285A2E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285A2EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285A2F0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A2F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285A2F4 */ cpu->lr = cpu->r[0];
|
|
/* 0285A2F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285A2FC */ return;
|
|
}
|
|
|
|
// fn_0285A300 @ 0x285a300
|
|
void Gambit_fn_0285A300(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0285A300: ; // 0x285a300
|
|
/* 0285A300 */ cpu->r[0] = cpu->lr;
|
|
/* 0285A304 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285A304 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285A304 */ cpu->r[1] = _t0;
|
|
/* 0285A308 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285A308 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285A30C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A30C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285A310 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285A310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285A314 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285A318 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285A318 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285A31C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A31C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285A31C */ if (_t5) goto L_0285A35C; else goto L_0285A320;
|
|
L_0285A320: ; // 0x285a320
|
|
/* 0285A320 */ _t6 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285A320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285A324 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285A328 */ cpu->r[0] = cpu->r[0] + 0x00004A7Cu;
|
|
/* 0285A32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A330 */ _t7 = cpu->r[31] + 0x00000014u;
|
|
/* 0285A330 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0285A334 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A334 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285A334 */ if (_t9) goto L_0285A33C; else goto L_0285A338;
|
|
L_0285A338: ; // 0x285a338
|
|
/* 0285A338 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285A33C: ; // 0x285a33c
|
|
/* 0285A33C */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 0285A33C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285A340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A344 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A344 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285A344 */ if (_t12) goto L_0285A34C; else goto L_0285A348;
|
|
L_0285A348: ; // 0x285a348
|
|
/* 0285A348 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285A34C: ; // 0x285a34c
|
|
/* 0285A34C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285A34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285A350 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A350 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285A350 */ if (_t14) goto L_0285A35C; else goto L_0285A354;
|
|
L_0285A354: ; // 0x285a354
|
|
/* 0285A354 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285A358 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285A35C: ; // 0x285a35c
|
|
/* 0285A35C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0285A35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285A360 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0285A360 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285A364 */ cpu->lr = cpu->r[0];
|
|
/* 0285A368 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285A36C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285A370 */ return;
|
|
}
|
|
|
|
// fn_0285A304 @ 0x285a304
|
|
void Gambit_fn_0285A304(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0285A304: ; // 0x285a304
|
|
/* 0285A304 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285A304 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285A304 */ cpu->r[1] = _t0;
|
|
/* 0285A308 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285A308 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285A30C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A30C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285A310 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285A310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285A314 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285A318 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285A318 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285A31C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A31C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285A31C */ if (_t5) goto L_0285A35C; else goto L_0285A320;
|
|
L_0285A320: ; // 0x285a320
|
|
/* 0285A320 */ _t6 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285A320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285A324 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285A328 */ cpu->r[0] = cpu->r[0] + 0x00004A7Cu;
|
|
/* 0285A32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A330 */ _t7 = cpu->r[31] + 0x00000014u;
|
|
/* 0285A330 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0285A334 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A334 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285A334 */ if (_t9) goto L_0285A33C; else goto L_0285A338;
|
|
L_0285A338: ; // 0x285a338
|
|
/* 0285A338 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285A33C: ; // 0x285a33c
|
|
/* 0285A33C */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 0285A33C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285A340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A344 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A344 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285A344 */ if (_t12) goto L_0285A34C; else goto L_0285A348;
|
|
L_0285A348: ; // 0x285a348
|
|
/* 0285A348 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285A34C: ; // 0x285a34c
|
|
/* 0285A34C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285A34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285A350 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A350 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285A350 */ if (_t14) goto L_0285A35C; else goto L_0285A354;
|
|
L_0285A354: ; // 0x285a354
|
|
/* 0285A354 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285A358 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285A35C: ; // 0x285a35c
|
|
/* 0285A35C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0285A35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285A360 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0285A360 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285A364 */ cpu->lr = cpu->r[0];
|
|
/* 0285A368 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285A36C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285A370 */ return;
|
|
}
|
|
|
|
// fn_0285A374 @ 0x285a374
|
|
void Gambit_fn_0285A374(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0285A374: ; // 0x285a374
|
|
/* 0285A374 */ cpu->r[0] = cpu->lr;
|
|
/* 0285A378 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285A378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285A378 */ cpu->r[1] = _t0;
|
|
/* 0285A37C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A37C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0285A380 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285A380 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285A384 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0285A384 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0285A388 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285A38C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285A38C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285A390 */ _t5 = cpu->r[31] + 0x00000010u;
|
|
/* 0285A390 */ cpu->r[7] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0285A394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285A398 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A398 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285A398 */ if (_t7) goto L_0285A404; else goto L_0285A39C;
|
|
L_0285A39C: ; // 0x285a39c
|
|
/* 0285A39C */ _t8 = cpu->r[31] + 0x00000020u;
|
|
/* 0285A39C */ cpu->r[29] = rbrew_read16(cpu->mem, _t8);
|
|
/* 0285A3A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285A3A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A3A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285A3A4 */ if (_t10) goto L_0285A404; else goto L_0285A3A8;
|
|
L_0285A3A8: ; // 0x285a3a8
|
|
/* 0285A3A8 */ cpu->r[30] = 0x00000000u;
|
|
L_0285A3AC: ; // 0x285a3ac
|
|
/* 0285A3AC */ _t11 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285A3AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285A3B0 */ cpu->r[8] = cpu->r[9] + cpu->r[30];
|
|
/* 0285A3B4 */ _t12 = cpu->r[8] + 0x00000004u;
|
|
/* 0285A3B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285A3B8 */ _t13 = cpu->r[5] + 0x0000001Du;
|
|
/* 0285A3B8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0285A3BC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285A3C0 */ _t14 = cpu->r[31] + 0x00000014u;
|
|
/* 0285A3C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285A3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285A3C8 */ _t15 = cpu->r[8] + 0x00000000u;
|
|
/* 0285A3C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285A3CC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A3CC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285A3CC */ if (_t17) goto L_0285A3D0; else goto L_0285A3EC;
|
|
L_0285A3D0: ; // 0x285a3d0
|
|
/* 0285A3D0 */ _t18 = cpu->r[12] + 0x00000094u;
|
|
/* 0285A3D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285A3D4 */ cpu->ctr = cpu->r[0];
|
|
/* 0285A3D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285A3DC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0285A3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285A3E0 */ cpu->r[30] = cpu->r[30] + 0x00000008u;
|
|
/* 0285A3E4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A3E4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285A3E4 */ if (_t20) goto L_0285A3E8; else goto L_0285A3AC;
|
|
L_0285A3E8: ; // 0x285a3e8
|
|
/* 0285A3E8 */ goto L_0285A404;
|
|
L_0285A3EC: ; // 0x285a3ec
|
|
/* 0285A3EC */ _t21 = cpu->r[12] + 0x0000009Cu;
|
|
/* 0285A3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285A3F0 */ cpu->ctr = cpu->r[0];
|
|
/* 0285A3F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285A3F8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0285A3F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285A3FC */ cpu->r[30] = cpu->r[30] + 0x00000008u;
|
|
/* 0285A400 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A400 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0285A400 */ if (_t23) goto L_0285A404; else goto L_0285A3AC;
|
|
L_0285A404: ; // 0x285a404
|
|
/* 0285A404 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A404 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285A408 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285A408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285A40C */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 0285A40C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285A410 */ cpu->lr = cpu->r[0];
|
|
/* 0285A414 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0285A414 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285A418 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285A41C */ return;
|
|
}
|
|
|
|
// fn_0285A378 @ 0x285a378
|
|
void Gambit_fn_0285A378(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0285A378: ; // 0x285a378
|
|
/* 0285A378 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285A378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285A378 */ cpu->r[1] = _t0;
|
|
/* 0285A37C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A37C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0285A380 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285A380 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285A384 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0285A384 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0285A388 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285A38C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285A38C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285A390 */ _t5 = cpu->r[31] + 0x00000010u;
|
|
/* 0285A390 */ cpu->r[7] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0285A394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285A398 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A398 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285A398 */ if (_t7) goto L_0285A404; else goto L_0285A39C;
|
|
L_0285A39C: ; // 0x285a39c
|
|
/* 0285A39C */ _t8 = cpu->r[31] + 0x00000020u;
|
|
/* 0285A39C */ cpu->r[29] = rbrew_read16(cpu->mem, _t8);
|
|
/* 0285A3A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285A3A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A3A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285A3A4 */ if (_t10) goto L_0285A404; else goto L_0285A3A8;
|
|
L_0285A3A8: ; // 0x285a3a8
|
|
/* 0285A3A8 */ cpu->r[30] = 0x00000000u;
|
|
L_0285A3AC: ; // 0x285a3ac
|
|
/* 0285A3AC */ _t11 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285A3AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285A3B0 */ cpu->r[8] = cpu->r[9] + cpu->r[30];
|
|
/* 0285A3B4 */ _t12 = cpu->r[8] + 0x00000004u;
|
|
/* 0285A3B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285A3B8 */ _t13 = cpu->r[5] + 0x0000001Du;
|
|
/* 0285A3B8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0285A3BC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285A3C0 */ _t14 = cpu->r[31] + 0x00000014u;
|
|
/* 0285A3C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285A3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285A3C8 */ _t15 = cpu->r[8] + 0x00000000u;
|
|
/* 0285A3C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285A3CC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A3CC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285A3CC */ if (_t17) goto L_0285A3D0; else goto L_0285A3EC;
|
|
L_0285A3D0: ; // 0x285a3d0
|
|
/* 0285A3D0 */ _t18 = cpu->r[12] + 0x00000094u;
|
|
/* 0285A3D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285A3D4 */ cpu->ctr = cpu->r[0];
|
|
/* 0285A3D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285A3DC */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0285A3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285A3E0 */ cpu->r[30] = cpu->r[30] + 0x00000008u;
|
|
/* 0285A3E4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A3E4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285A3E4 */ if (_t20) goto L_0285A3E8; else goto L_0285A3AC;
|
|
L_0285A3E8: ; // 0x285a3e8
|
|
/* 0285A3E8 */ goto L_0285A404;
|
|
L_0285A3EC: ; // 0x285a3ec
|
|
/* 0285A3EC */ _t21 = cpu->r[12] + 0x0000009Cu;
|
|
/* 0285A3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285A3F0 */ cpu->ctr = cpu->r[0];
|
|
/* 0285A3F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285A3F8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0285A3F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285A3FC */ cpu->r[30] = cpu->r[30] + 0x00000008u;
|
|
/* 0285A400 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A400 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0285A400 */ if (_t23) goto L_0285A404; else goto L_0285A3AC;
|
|
L_0285A404: ; // 0x285a404
|
|
/* 0285A404 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285A404 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285A408 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285A408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285A40C */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 0285A40C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285A410 */ cpu->lr = cpu->r[0];
|
|
/* 0285A414 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 0285A414 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285A418 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285A41C */ return;
|
|
}
|
|
|
|
// fn_0285A420 @ 0x285a420
|
|
void Gambit_fn_0285A420(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0285A420: ; // 0x285a420
|
|
/* 0285A420 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 0285A420 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285A424 */ _t1 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0285A424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0285A428 */ cpu->ctr = cpu->r[0];
|
|
/* 0285A42C */ _t2 = cpu->r[4] + 0x0000000Eu;
|
|
/* 0285A42C */ cpu->r[6] = rbrew_read16(cpu->mem, _t2);
|
|
/* 0285A430 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0285A434 @ 0x285a434
|
|
void Gambit_fn_0285A434(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51;
|
|
|
|
L_0285A434: ; // 0x285a434
|
|
/* 0285A434 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0285A434 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285A434 */ cpu->r[1] = _t0;
|
|
/* 0285A438 */ /* nop */
|
|
/* 0285A43C */ cpu->r[0] = cpu->lr;
|
|
/* 0285A440 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285A440 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285A444 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285A448 */ cpu->r[27] = cpu->r[4];
|
|
/* 0285A44C */ _t2 = cpu->r[29] + 0x00000008u;
|
|
/* 0285A44C */ rbrew_write32(cpu->mem, _t2, cpu->r[27]);
|
|
/* 0285A450 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285A454 */ _t3 = cpu->r[29] + 0x00000018u;
|
|
/* 0285A454 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285A458 */ _t4 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0285A458 */ cpu->r[31] = rbrew_read16(cpu->mem, _t4);
|
|
/* 0285A45C */ cpu->r[28] = cpu->r[5];
|
|
/* 0285A460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285A464 */ cpu->r[30] = cpu->r[6];
|
|
/* 0285A468 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A468 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285A468 */ if (_t6) goto L_0285A528; else goto L_0285A46C;
|
|
L_0285A46C: ; // 0x285a46c
|
|
/* 0285A46C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285A470 */ cpu->r[4] = 0x00000004u;
|
|
/* 0285A474 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0285A478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A47C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A47C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285A47C */ if (_t8) goto L_0285A480; else goto L_0285A4A4;
|
|
L_0285A480: ; // 0x285a480
|
|
/* 0285A480 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285A484 */ cpu->r[31] = cpu->r[30];
|
|
/* 0285A488 */ cpu->r[4] = 0x00000004u;
|
|
/* 0285A48C */ _t9 = cpu->r[29] + 0x00000018u;
|
|
/* 0285A48C */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 0285A490 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285A494 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0285A498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A49C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A49C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285A49C */ if (_t11) goto L_0285A4A0; else goto L_0285A55C;
|
|
L_0285A4A0: ; // 0x285a4a0
|
|
/* 0285A4A0 */ goto L_0285A540;
|
|
L_0285A4A4: ; // 0x285a4a4
|
|
/* 0285A4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285A4A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A4A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285A4A8 */ if (_t13) goto L_0285A4CC; else goto L_0285A4AC;
|
|
L_0285A4AC: ; // 0x285a4ac
|
|
/* 0285A4AC */ cpu->ctr = cpu->r[31];
|
|
/* 0285A4B0 */ cpu->r[12] = cpu->r[3];
|
|
/* 0285A4B4 */ cpu->r[0] = 0x00000000u;
|
|
L_0285A4B8: ; // 0x285a4b8
|
|
/* 0285A4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285A4BC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A4BC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285A4BC */ if (_t15) goto L_0285A4C4; else goto L_0285A4C0;
|
|
L_0285A4C0: ; // 0x285a4c0
|
|
/* 0285A4C0 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 0285A4C0 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
L_0285A4C4: ; // 0x285a4c4
|
|
/* 0285A4C4 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 0285A4C8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285A4C8 */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285A4C8 */ _t18 = _t17 >> (0x00000002u & 31u);
|
|
/* 0285A4C8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285A4C8 */ if (_t19) goto L_0285A4B8; else goto L_0285A4CC;
|
|
L_0285A4CC: ; // 0x285a4cc
|
|
/* 0285A4CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A4D0 */ _t20 = cpu->r[29] + 0x00000018u;
|
|
/* 0285A4D0 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 0285A4D4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A4D4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0285A4D4 */ if (_t22) goto L_0285A528; else goto L_0285A4D8;
|
|
L_0285A4D8: ; // 0x285a4d8
|
|
/* 0285A4D8 */ _t23 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0285A4D8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t23);
|
|
/* 0285A4DC */ cpu->r[31] = 0x00000000u;
|
|
/* 0285A4E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 0285A4E4 */ cpu->r[26] = cpu->r[27] + 0x00000014u;
|
|
/* 0285A4E8 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A4E8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285A4E8 */ if (_t25) goto L_0285A4EC; else goto L_0285A528;
|
|
L_0285A4EC: ; // 0x285a4ec
|
|
/* 0285A4EC */ cpu->r[24] = 0x00000000u;
|
|
L_0285A4F0: ; // 0x285a4f0
|
|
/* 0285A4F0 */ _t26 = cpu->r[26] + cpu->r[24];
|
|
/* 0285A4F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285A4F4 */ _t27 = cpu->r[28] + 0x00000000u;
|
|
/* 0285A4F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285A4F8 */ cpu->r[4] = cpu->r[26] + cpu->r[0];
|
|
/* 0285A4FC */ _t28 = cpu->r[6] + 0x0000002Cu;
|
|
/* 0285A4FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0285A500 */ cpu->ctr = cpu->r[0];
|
|
/* 0285A504 */ _t29 = cpu->r[29] + 0x00000018u;
|
|
/* 0285A504 */ cpu->r[25] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0285A508 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285A50C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285A510 */ _t30 = cpu->r[25] + cpu->r[24];
|
|
/* 0285A510 */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
/* 0285A514 */ _t31 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0285A514 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31);
|
|
/* 0285A518 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0285A51C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0285A520 */ cpu->r[24] = cpu->r[24] + 0x00000004u;
|
|
/* 0285A524 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A524 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0285A524 */ if (_t33) goto L_0285A4F0; else goto L_0285A528;
|
|
L_0285A528: ; // 0x285a528
|
|
/* 0285A528 */ cpu->r[31] = cpu->r[30];
|
|
/* 0285A52C */ cpu->r[4] = 0x00000004u;
|
|
/* 0285A530 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285A534 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0285A538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A53C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A53C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0285A53C */ if (_t35) goto L_0285A540; else goto L_0285A55C;
|
|
L_0285A540: ; // 0x285a540
|
|
/* 0285A540 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285A544 */ _t36 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0285A544 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 0285A548 */ /* nop */
|
|
/* 0285A54C */ _t37 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285A54C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0285A550 */ cpu->lr = cpu->r[0];
|
|
/* 0285A554 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285A558 */ return;
|
|
L_0285A55C: ; // 0x285a55c
|
|
/* 0285A55C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285A560 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A560 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0285A560 */ if (_t39) goto L_0285A588; else goto L_0285A564;
|
|
L_0285A564: ; // 0x285a564
|
|
/* 0285A564 */ cpu->ctr = cpu->r[31];
|
|
/* 0285A568 */ cpu->r[11] = cpu->r[3];
|
|
/* 0285A56C */ cpu->r[0] = 0x00000000u;
|
|
L_0285A570: ; // 0x285a570
|
|
/* 0285A570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285A574 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A574 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0285A574 */ if (_t41) goto L_0285A580; else goto L_0285A578;
|
|
L_0285A578: ; // 0x285a578
|
|
/* 0285A578 */ _t42 = cpu->r[11] + 0x00000004u;
|
|
/* 0285A578 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 0285A57C */ _t43 = cpu->r[11] + 0x00000000u;
|
|
/* 0285A57C */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
L_0285A580: ; // 0x285a580
|
|
/* 0285A580 */ cpu->r[11] = cpu->r[11] + 0x00000008u;
|
|
/* 0285A584 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285A584 */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285A584 */ _t45 = _t44 >> (0x00000002u & 31u);
|
|
/* 0285A584 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0285A584 */ if (_t46) goto L_0285A570; else goto L_0285A588;
|
|
L_0285A588: ; // 0x285a588
|
|
/* 0285A588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A58C */ _t47 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0285A58C */ rbrew_write32(cpu->mem, _t47, cpu->r[3]);
|
|
/* 0285A590 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A590 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0285A590 */ if (_t49) goto L_0285A598; else goto L_0285A594;
|
|
L_0285A594: ; // 0x285a594
|
|
/* 0285A594 */ _t50 = cpu->r[29] + 0x00000022u;
|
|
/* 0285A594 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[30]);
|
|
L_0285A598: ; // 0x285a598
|
|
/* 0285A598 */ /* nop */
|
|
/* 0285A59C */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285A59C */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0285A5A0 */ cpu->lr = cpu->r[0];
|
|
/* 0285A5A4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285A5A8 */ return;
|
|
}
|
|
|
|
// fn_0285A5AC @ 0x285a5ac
|
|
void Gambit_fn_0285A5AC(CPUState* cpu) {
|
|
L_0285A5AC: ; // 0x285a5ac
|
|
/* 0285A5AC */ cpu->r[3] = 0x00000000u;
|
|
/* 0285A5B0 */ return;
|
|
}
|
|
|
|
// fn_0285A5B4 @ 0x285a5b4
|
|
void Gambit_fn_0285A5B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0285A5B4: ; // 0x285a5b4
|
|
/* 0285A5B4 */ _t0 = cpu->r[3] + 0x00000020u;
|
|
/* 0285A5B4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t0);
|
|
/* 0285A5B8 */ _t1 = cpu->r[3] + 0x00000022u;
|
|
/* 0285A5B8 */ cpu->r[8] = rbrew_read16(cpu->mem, _t1);
|
|
/* 0285A5BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]);
|
|
/* 0285A5C0 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A5C0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285A5C0 */ if (_t3) goto L_0285A5CC; else goto L_0285A5C4;
|
|
L_0285A5C4: ; // 0x285a5c4
|
|
/* 0285A5C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285A5C8 */ return;
|
|
L_0285A5CC: ; // 0x285a5cc
|
|
/* 0285A5CC */ _t4 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0285A5CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285A5D0 */ cpu->r[0] = cpu->r[11] + 0x00000001u;
|
|
/* 0285A5D4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285A5D8 */ _t5 = cpu->r[3] + 0x00000020u;
|
|
/* 0285A5D8 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[0]);
|
|
/* 0285A5DC */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 0285A5E0 */ _t6 = cpu->r[12] + cpu->r[10];
|
|
/* 0285A5E0 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 0285A5E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285A5E8 */ _t7 = cpu->r[9] + 0x00000004u;
|
|
/* 0285A5E8 */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 0285A5EC */ return;
|
|
}
|
|
|
|
// fn_0285A5F0 @ 0x285a5f0
|
|
void Gambit_fn_0285A5F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102;
|
|
|
|
L_0285A5F0: ; // 0x285a5f0
|
|
/* 0285A5F0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285A5F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285A5F0 */ cpu->r[1] = _t0;
|
|
/* 0285A5F4 */ /* nop */
|
|
/* 0285A5F8 */ _t1 = cpu->r[3] + 0x00000022u;
|
|
/* 0285A5F8 */ cpu->r[12] = rbrew_read16(cpu->mem, _t1);
|
|
/* 0285A5FC */ _t2 = cpu->r[3] + 0x00000020u;
|
|
/* 0285A5FC */ cpu->r[9] = rbrew_read16(cpu->mem, _t2);
|
|
/* 0285A600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0285A604 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A604 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285A604 */ if (_t4) goto L_0285A618; else goto L_0285A608;
|
|
L_0285A608: ; // 0x285a608
|
|
/* 0285A608 */ /* nop */
|
|
/* 0285A60C */ cpu->r[3] = 0x00000000u;
|
|
/* 0285A610 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285A614 */ return;
|
|
L_0285A618: ; // 0x285a618
|
|
/* 0285A618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285A61C */ cpu->r[29] = 0x00000001u;
|
|
/* 0285A620 */ cpu->r[12] = cpu->r[5] + 0x00000020u;
|
|
/* 0285A624 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A624 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285A624 */ if (_t6) goto L_0285A834; else goto L_0285A628;
|
|
L_0285A628: ; // 0x285a628
|
|
/* 0285A628 */ _t7 = cpu->r[5] + 0x0000001Cu;
|
|
/* 0285A628 */ cpu->r[6] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0285A62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0285A630 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A630 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285A630 */ if (_t9) goto L_0285A834; else goto L_0285A634;
|
|
L_0285A634: ; // 0x285a634
|
|
/* 0285A634 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFCu;
|
|
L_0285A638: ; // 0x285a638
|
|
/* 0285A638 */ _t10 = cpu->r[8] + 0x00000004u;
|
|
/* 0285A638 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285A638 */ cpu->r[8] = _t10;
|
|
/* 0285A63C */ cpu->r[30] = cpu->r[5] + cpu->r[12];
|
|
/* 0285A640 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 0285A640 */ cpu->r[31] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0285A644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285A648 */ cpu->r[11] = cpu->r[30] + 0x00000008u;
|
|
/* 0285A64C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A64C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285A64C */ if (_t13) goto L_0285A824; else goto L_0285A650;
|
|
L_0285A650: ; // 0x285a650
|
|
/* 0285A650 */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 0285A650 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285A654 */ cpu->r[7] = cpu->r[11] + 0xFFFFFFFCu;
|
|
L_0285A658: ; // 0x285a658
|
|
/* 0285A658 */ cpu->r[11] = 0x464C0000u;
|
|
/* 0285A65C */ _t15 = cpu->r[7] + 0x00000004u;
|
|
/* 0285A65C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285A65C */ cpu->r[7] = _t15;
|
|
/* 0285A660 */ cpu->r[11] = cpu->r[11] + 0x00004D43u;
|
|
/* 0285A664 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0285A668 */ cpu->r[27] = cpu->r[30] + cpu->r[10];
|
|
/* 0285A66C */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A66C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285A66C */ if (_t17) goto L_0285A670; else goto L_0285A6AC;
|
|
L_0285A670: ; // 0x285a670
|
|
/* 0285A670 */ cpu->r[11] = 0x464C0000u;
|
|
/* 0285A674 */ cpu->r[11] = cpu->r[11] + 0x00004143u;
|
|
/* 0285A678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0285A67C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A67C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285A67C */ if (_t19) goto L_0285A7CC; else goto L_0285A680;
|
|
L_0285A680: ; // 0x285a680
|
|
/* 0285A680 */ cpu->r[11] = 0x464C0000u;
|
|
/* 0285A684 */ cpu->r[11] = cpu->r[11] + 0x00004653u;
|
|
/* 0285A688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0285A68C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A68C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0285A68C */ if (_t21) goto L_0285A7EC; else goto L_0285A690;
|
|
L_0285A690: ; // 0x285a690
|
|
/* 0285A690 */ cpu->r[11] = 0x464C0000u;
|
|
/* 0285A694 */ cpu->r[11] = cpu->r[11] + 0x0000494Du;
|
|
/* 0285A698 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0285A69C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A69C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0285A69C */ if (_t23) goto L_0285A7AC; else goto L_0285A6A0;
|
|
L_0285A6A0: ; // 0x285a6a0
|
|
/* 0285A6A0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0285A6A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285A6A4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A6A4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285A6A4 */ if (_t25) goto L_0285A6A8; else goto L_0285A658;
|
|
L_0285A6A8: ; // 0x285a6a8
|
|
/* 0285A6A8 */ goto L_0285A824;
|
|
L_0285A6AC: ; // 0x285a6ac
|
|
/* 0285A6AC */ cpu->r[11] = 0x464C0000u;
|
|
/* 0285A6B0 */ cpu->r[11] = cpu->r[11] + 0x00004D43u;
|
|
/* 0285A6B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0285A6B8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A6B8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0285A6B8 */ if (_t27) goto L_0285A6E8; else goto L_0285A6BC;
|
|
L_0285A6BC: ; // 0x285a6bc
|
|
/* 0285A6BC */ cpu->r[11] = 0x464C0000u;
|
|
/* 0285A6C0 */ cpu->r[11] = cpu->r[11] + 0x00005450u;
|
|
/* 0285A6C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0285A6C8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A6C8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0285A6C8 */ if (_t29) goto L_0285A72C; else goto L_0285A6CC;
|
|
L_0285A6CC: ; // 0x285a6cc
|
|
/* 0285A6CC */ cpu->r[11] = 0x464C0000u;
|
|
/* 0285A6D0 */ cpu->r[11] = cpu->r[11] + 0x00005453u;
|
|
/* 0285A6D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0285A6D8 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A6D8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0285A6D8 */ if (_t31) goto L_0285A6F8; else goto L_0285A6DC;
|
|
L_0285A6DC: ; // 0x285a6dc
|
|
/* 0285A6DC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0285A6DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285A6E0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A6E0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0285A6E0 */ if (_t33) goto L_0285A6E4; else goto L_0285A658;
|
|
L_0285A6E4: ; // 0x285a6e4
|
|
/* 0285A6E4 */ goto L_0285A824;
|
|
L_0285A6E8: ; // 0x285a6e8
|
|
/* 0285A6E8 */ _t34 = cpu->r[27] + 0x00000001u;
|
|
/* 0285A6E8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t34);
|
|
/* 0285A6EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000008u);
|
|
/* 0285A6F0 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A6F0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0285A6F0 */ if (_t36) goto L_0285A80C; else goto L_0285A6F4;
|
|
L_0285A6F4: ; // 0x285a6f4
|
|
/* 0285A6F4 */ goto L_0285A808;
|
|
L_0285A6F8: ; // 0x285a6f8
|
|
/* 0285A6F8 */ _t37 = cpu->r[27] + 0x00000000u;
|
|
/* 0285A6F8 */ cpu->r[28] = rbrew_read8(cpu->mem, _t37);
|
|
/* 0285A6FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 0285A700 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A700 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0285A700 */ if (_t39) goto L_0285A708; else goto L_0285A704;
|
|
L_0285A704: ; // 0x285a704
|
|
/* 0285A704 */ cpu->r[29] = 0x00000000u;
|
|
L_0285A708: ; // 0x285a708
|
|
/* 0285A708 */ _t40 = cpu->r[4] + 0x00000008u;
|
|
/* 0285A708 */ cpu->r[11] = rbrew_read16(cpu->mem, _t40);
|
|
/* 0285A70C */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000014u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285A710 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
|
|
/* 0285A714 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285A714 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0285A714 */ if (_t42) goto L_0285A71C; else goto L_0285A718;
|
|
L_0285A718: ; // 0x285a718
|
|
/* 0285A718 */ cpu->r[29] = 0x00000000u;
|
|
L_0285A71C: ; // 0x285a71c
|
|
/* 0285A71C */ _t43 = cpu->r[27] + 0x00000001u;
|
|
/* 0285A71C */ cpu->r[11] = rbrew_read8(cpu->mem, _t43);
|
|
/* 0285A720 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000005u);
|
|
/* 0285A724 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A724 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0285A724 */ if (_t45) goto L_0285A80C; else goto L_0285A728;
|
|
L_0285A728: ; // 0x285a728
|
|
/* 0285A728 */ goto L_0285A808;
|
|
L_0285A72C: ; // 0x285a72c
|
|
/* 0285A72C */ _t46 = cpu->r[3] + 0x00000018u;
|
|
/* 0285A72C */ cpu->r[28] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0285A730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0285A734 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A734 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0285A734 */ if (_t48) goto L_0285A738; else goto L_0285A73C;
|
|
L_0285A738: ; // 0x285a738
|
|
/* 0285A738 */ cpu->r[29] = 0x00000000u;
|
|
L_0285A73C: ; // 0x285a73c
|
|
/* 0285A73C */ _t49 = cpu->r[4] + 0x0000000Au;
|
|
/* 0285A73C */ cpu->r[10] = rbrew_read16(cpu->mem, _t49);
|
|
/* 0285A740 */ _t50 = cpu->r[27] + 0x00000000u;
|
|
/* 0285A740 */ cpu->r[11] = rbrew_read8(cpu->mem, _t50);
|
|
/* 0285A744 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000012u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285A748 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 0285A74C */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285A74C */ _t52 = _t51 & 0x00000001u;
|
|
/* 0285A74C */ if (_t52) goto L_0285A754; else goto L_0285A750;
|
|
L_0285A750: ; // 0x285a750
|
|
/* 0285A750 */ cpu->r[29] = 0x00000000u;
|
|
L_0285A754: ; // 0x285a754
|
|
/* 0285A754 */ _t53 = cpu->r[27] + 0x00000002u;
|
|
/* 0285A754 */ cpu->r[11] = rbrew_read8(cpu->mem, _t53);
|
|
/* 0285A758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 0285A75C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A75C */ _t55 = _t54 & 0x00000001u;
|
|
/* 0285A75C */ if (_t55) goto L_0285A764; else goto L_0285A760;
|
|
L_0285A760: ; // 0x285a760
|
|
/* 0285A760 */ cpu->r[29] = 0x00000000u;
|
|
L_0285A764: ; // 0x285a764
|
|
/* 0285A764 */ _t56 = cpu->r[27] + 0x00000001u;
|
|
/* 0285A764 */ cpu->r[11] = rbrew_read8(cpu->mem, _t56);
|
|
/* 0285A768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285A76C */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A76C */ _t58 = _t57 & 0x00000001u;
|
|
/* 0285A76C */ if (_t58) goto L_0285A774; else goto L_0285A770;
|
|
L_0285A770: ; // 0x285a770
|
|
/* 0285A770 */ cpu->r[29] = 0x00000000u;
|
|
L_0285A774: ; // 0x285a774
|
|
/* 0285A774 */ _t59 = cpu->r[3] + 0x00000008u;
|
|
/* 0285A774 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0285A778 */ _t60 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0285A778 */ cpu->r[10] = rbrew_read16(cpu->mem, _t60);
|
|
/* 0285A77C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285A780 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A780 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0285A780 */ if (_t62) goto L_0285A81C; else goto L_0285A784;
|
|
L_0285A784: ; // 0x285a784
|
|
/* 0285A784 */ cpu->ctr = cpu->r[10];
|
|
/* 0285A788 */ cpu->r[11] = cpu->r[28] + 0xFFFFFFFCu;
|
|
L_0285A78C: ; // 0x285a78c
|
|
/* 0285A78C */ _t63 = cpu->r[11] + 0x00000004u;
|
|
/* 0285A78C */ cpu->r[10] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0285A78C */ cpu->r[11] = _t63;
|
|
/* 0285A790 */ _t64 = cpu->r[10] + 0x00000000u;
|
|
/* 0285A790 */ cpu->r[28] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0285A794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0285A798 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A798 */ _t66 = _t65 & 0x00000001u;
|
|
/* 0285A798 */ if (_t66) goto L_0285A818; else goto L_0285A79C;
|
|
L_0285A79C: ; // 0x285a79c
|
|
/* 0285A79C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285A79C */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285A79C */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 0285A79C */ _t69 = _t68 & 0x00000001u;
|
|
/* 0285A79C */ if (_t69) goto L_0285A78C; else goto L_0285A7A0;
|
|
L_0285A7A0: ; // 0x285a7a0
|
|
/* 0285A7A0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0285A7A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285A7A4 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A7A4 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0285A7A4 */ if (_t71) goto L_0285A7A8; else goto L_0285A658;
|
|
L_0285A7A8: ; // 0x285a7a8
|
|
/* 0285A7A8 */ goto L_0285A824;
|
|
L_0285A7AC: ; // 0x285a7ac
|
|
/* 0285A7AC */ _t72 = cpu->r[4] + 0x00000008u;
|
|
/* 0285A7AC */ cpu->r[11] = rbrew_read16(cpu->mem, _t72);
|
|
/* 0285A7B0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285A7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285A7B4 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A7B4 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0285A7B4 */ if (_t74) goto L_0285A7B8; else goto L_0285A7BC;
|
|
L_0285A7B8: ; // 0x285a7b8
|
|
/* 0285A7B8 */ cpu->r[29] = 0x00000000u;
|
|
L_0285A7BC: ; // 0x285a7bc
|
|
/* 0285A7BC */ _t75 = cpu->r[27] + 0x00000001u;
|
|
/* 0285A7BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t75);
|
|
/* 0285A7C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000003u);
|
|
/* 0285A7C4 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A7C4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0285A7C4 */ if (_t77) goto L_0285A80C; else goto L_0285A7C8;
|
|
L_0285A7C8: ; // 0x285a7c8
|
|
/* 0285A7C8 */ goto L_0285A808;
|
|
L_0285A7CC: ; // 0x285a7cc
|
|
/* 0285A7CC */ _t78 = cpu->r[4] + 0x00000008u;
|
|
/* 0285A7CC */ cpu->r[11] = rbrew_read16(cpu->mem, _t78);
|
|
/* 0285A7D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285A7D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285A7D4 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A7D4 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0285A7D4 */ if (_t80) goto L_0285A7D8; else goto L_0285A7DC;
|
|
L_0285A7D8: ; // 0x285a7d8
|
|
/* 0285A7D8 */ cpu->r[29] = 0x00000000u;
|
|
L_0285A7DC: ; // 0x285a7dc
|
|
/* 0285A7DC */ _t81 = cpu->r[27] + 0x00000001u;
|
|
/* 0285A7DC */ cpu->r[11] = rbrew_read8(cpu->mem, _t81);
|
|
/* 0285A7E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285A7E4 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A7E4 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0285A7E4 */ if (_t83) goto L_0285A80C; else goto L_0285A7E8;
|
|
L_0285A7E8: ; // 0x285a7e8
|
|
/* 0285A7E8 */ goto L_0285A808;
|
|
L_0285A7EC: ; // 0x285a7ec
|
|
/* 0285A7EC */ _t84 = cpu->r[4] + 0x00000008u;
|
|
/* 0285A7EC */ cpu->r[11] = rbrew_read16(cpu->mem, _t84);
|
|
/* 0285A7F0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285A7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285A7F4 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A7F4 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0285A7F4 */ if (_t86) goto L_0285A7F8; else goto L_0285A7FC;
|
|
L_0285A7F8: ; // 0x285a7f8
|
|
/* 0285A7F8 */ cpu->r[29] = 0x00000000u;
|
|
L_0285A7FC: ; // 0x285a7fc
|
|
/* 0285A7FC */ _t87 = cpu->r[27] + 0x00000001u;
|
|
/* 0285A7FC */ cpu->r[11] = rbrew_read8(cpu->mem, _t87);
|
|
/* 0285A800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000007u);
|
|
/* 0285A804 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A804 */ _t89 = _t88 & 0x00000001u;
|
|
/* 0285A804 */ if (_t89) goto L_0285A80C; else goto L_0285A808;
|
|
L_0285A808: ; // 0x285a808
|
|
/* 0285A808 */ cpu->r[29] = 0x00000000u;
|
|
L_0285A80C: ; // 0x285a80c
|
|
/* 0285A80C */ _t90 = cpu->r[27] + 0x00000002u;
|
|
/* 0285A80C */ cpu->r[11] = rbrew_read8(cpu->mem, _t90);
|
|
/* 0285A810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 0285A814 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A814 */ _t92 = _t91 & 0x00000001u;
|
|
/* 0285A814 */ if (_t92) goto L_0285A81C; else goto L_0285A818;
|
|
L_0285A818: ; // 0x285a818
|
|
/* 0285A818 */ cpu->r[29] = 0x00000000u;
|
|
L_0285A81C: ; // 0x285a81c
|
|
/* 0285A81C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0285A81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285A820 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A820 */ _t94 = _t93 & 0x00000001u;
|
|
/* 0285A820 */ if (_t94) goto L_0285A824; else goto L_0285A658;
|
|
L_0285A824: ; // 0x285a824
|
|
/* 0285A824 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 0285A824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0285A828 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A828 */ _t96 = _t95 & 0x00000001u;
|
|
/* 0285A828 */ if (_t96) goto L_0285A82C; else goto L_0285A638;
|
|
L_0285A82C: ; // 0x285a82c
|
|
/* 0285A82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285A830 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A830 */ _t98 = _t97 & 0x00000001u;
|
|
/* 0285A830 */ if (_t98) goto L_0285A850; else goto L_0285A834;
|
|
L_0285A834: ; // 0x285a834
|
|
/* 0285A834 */ _t99 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0285A834 */ cpu->r[11] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0285A838 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285A83C */ cpu->r[12] = cpu->r[9] + 0x00000001u;
|
|
/* 0285A840 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
/* 0285A844 */ _t100 = cpu->r[3] + 0x00000020u;
|
|
/* 0285A844 */ rbrew_write16(cpu->mem, _t100, (uint16_t)cpu->r[12]);
|
|
/* 0285A848 */ _t101 = cpu->r[11] + 0x00000004u;
|
|
/* 0285A848 */ rbrew_write32(cpu->mem, _t101, cpu->r[5]);
|
|
/* 0285A84C */ _t102 = cpu->r[11] + 0x00000000u;
|
|
/* 0285A84C */ rbrew_write32(cpu->mem, _t102, cpu->r[4]);
|
|
L_0285A850: ; // 0x285a850
|
|
/* 0285A850 */ /* nop */
|
|
/* 0285A854 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285A858 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285A85C */ return;
|
|
}
|
|
|
|
// fn_0285A860 @ 0x285a860
|
|
void Gambit_fn_0285A860(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_0285A860: ; // 0x285a860
|
|
/* 0285A860 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0285A860 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285A860 */ cpu->r[1] = _t0;
|
|
/* 0285A864 */ /* nop */
|
|
/* 0285A868 */ cpu->r[0] = cpu->lr;
|
|
/* 0285A86C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0285A86C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285A870 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285A874 */ _t2 = cpu->r[29] + 0x00000008u;
|
|
/* 0285A874 */ cpu->r[26] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0285A878 */ _t3 = cpu->r[26] + 0x0000000Eu;
|
|
/* 0285A878 */ cpu->r[23] = rbrew_read16(cpu->mem, _t3);
|
|
/* 0285A87C */ cpu->r[28] = 0x00000000u;
|
|
/* 0285A880 */ _t4 = cpu->r[26] + 0x00000010u;
|
|
/* 0285A880 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285A884 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[23]);
|
|
/* 0285A888 */ cpu->r[27] = cpu->r[26] + cpu->r[10];
|
|
/* 0285A88C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A88C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285A88C */ if (_t6) goto L_0285A890; else goto L_0285AA24;
|
|
L_0285A890: ; // 0x285a890
|
|
/* 0285A890 */ cpu->r[25] = cpu->r[4] + 0x00000008u;
|
|
L_0285A894: ; // 0x285a894
|
|
/* 0285A894 */ cpu->r[11] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285A898 */ _t7 = cpu->r[11] + cpu->r[27];
|
|
/* 0285A898 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285A89C */ cpu->r[24] = cpu->r[26] + cpu->r[12];
|
|
/* 0285A8A0 */ _t8 = cpu->r[24] + 0x0000001Du;
|
|
/* 0285A8A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0285A8A4 */ cpu->r[31] = cpu->r[25] + 0x00000004u;
|
|
/* 0285A8A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285A8AC */ _t9 = cpu->r[25] + 0x00000004u;
|
|
/* 0285A8AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285A8B0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A8B0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285A8B0 */ if (_t11) goto L_0285A8B4; else goto L_0285A94C;
|
|
L_0285A8B4: ; // 0x285a8b4
|
|
/* 0285A8B4 */ cpu->r[5] = cpu->r[30] ^ cpu->r[31];
|
|
/* 0285A8B8 */ cpu->r[6] = rbrew_clz32(cpu->r[5]);
|
|
/* 0285A8BC */ cpu->r[4] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285A8C0 */ cpu->r[8] = cpu->r[4] ^ 0x00000001u;
|
|
/* 0285A8C4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285A8C8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A8C8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285A8C8 */ if (_t13) goto L_0285AA14; else goto L_0285A8CC;
|
|
L_0285A8CC: ; // 0x285a8cc
|
|
/* 0285A8CC */ _t14 = cpu->r[30] + 0x00000008u;
|
|
/* 0285A8CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285A8D0 */ cpu->r[3] = cpu->r[24];
|
|
/* 0285A8D4 */ cpu->r[4] = cpu->r[7] + 0x00000080u;
|
|
/* 0285A8D8 */ Gambit_fn_0285B800(cpu);
|
|
/* 0285A8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A8E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A8E0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285A8E0 */ if (_t16) goto L_0285A8E4; else goto L_0285A914;
|
|
L_0285A8E4: ; // 0x285a8e4
|
|
/* 0285A8E4 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 0285A8E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285A8E8 */ cpu->r[11] = cpu->r[30] ^ cpu->r[31];
|
|
/* 0285A8EC */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 0285A8F0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285A8F4 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 0285A8F8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A8F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285A8FC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A8FC */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285A8FC */ if (_t19) goto L_0285A900; else goto L_0285A8CC;
|
|
L_0285A900: ; // 0x285a900
|
|
/* 0285A900 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0285A904 */ cpu->r[28] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0285A908 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[23]);
|
|
/* 0285A90C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285A90C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0285A90C */ if (_t21) goto L_0285A894; else goto L_0285A910;
|
|
L_0285A910: ; // 0x285a910
|
|
/* 0285A910 */ goto L_0285AA24;
|
|
L_0285A914: ; // 0x285a914
|
|
/* 0285A914 */ _t22 = cpu->r[30] + 0x00000008u;
|
|
/* 0285A914 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285A918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285A91C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A91C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0285A91C */ if (_t24) goto L_0285AA14; else goto L_0285A920;
|
|
L_0285A920: ; // 0x285a920
|
|
/* 0285A920 */ cpu->r[5] = cpu->r[24];
|
|
/* 0285A924 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285A928 */ Gambit_fn_0285A5AC(cpu);
|
|
/* 0285A92C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A930 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A930 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0285A930 */ if (_t26) goto L_0285A934; else goto L_0285AA14;
|
|
L_0285A934: ; // 0x285a934
|
|
/* 0285A934 */ cpu->r[5] = cpu->r[24];
|
|
/* 0285A938 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285A93C */ Gambit_fn_0285A5B4(cpu);
|
|
/* 0285A940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A944 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A944 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0285A944 */ if (_t28) goto L_0285AA24; else goto L_0285A948;
|
|
L_0285A948: ; // 0x285a948
|
|
/* 0285A948 */ goto L_0285AA10;
|
|
L_0285A94C: ; // 0x285a94c
|
|
/* 0285A94C */ cpu->r[8] = cpu->r[30] ^ cpu->r[31];
|
|
/* 0285A950 */ cpu->r[9] = rbrew_clz32(cpu->r[8]);
|
|
/* 0285A954 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285A958 */ cpu->r[10] = cpu->r[0] ^ 0x00000001u;
|
|
/* 0285A95C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A95C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285A960 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A960 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0285A960 */ if (_t30) goto L_0285AA14; else goto L_0285A964;
|
|
L_0285A964: ; // 0x285a964
|
|
/* 0285A964 */ _t31 = cpu->r[30] + 0x00000008u;
|
|
/* 0285A964 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0285A968 */ _t32 = cpu->r[3] + 0x00000008u;
|
|
/* 0285A968 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0285A96C */ _t33 = cpu->r[12] + 0x00000064u;
|
|
/* 0285A96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0285A970 */ cpu->ctr = cpu->r[0];
|
|
/* 0285A974 */ cpu->r[4] = cpu->r[24];
|
|
/* 0285A978 */ cpu->r[5] = 0x00000000u;
|
|
/* 0285A97C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285A980 */ cpu->r[4] = cpu->r[3];
|
|
/* 0285A980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285A984 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A984 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0285A984 */ if (_t35) goto L_0285A988; else goto L_0285A9E8;
|
|
L_0285A988: ; // 0x285a988
|
|
/* 0285A988 */ _t36 = cpu->r[30] + 0x00000000u;
|
|
/* 0285A988 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0285A98C */ cpu->r[8] = cpu->r[30] ^ cpu->r[31];
|
|
/* 0285A990 */ cpu->r[9] = rbrew_clz32(cpu->r[8]);
|
|
/* 0285A994 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285A998 */ cpu->r[10] = cpu->r[0] ^ 0x00000001u;
|
|
/* 0285A99C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A99C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285A9A0 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A9A0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0285A9A0 */ if (_t38) goto L_0285AA10; else goto L_0285A9A4;
|
|
L_0285A9A4: ; // 0x285a9a4
|
|
/* 0285A9A4 */ _t39 = cpu->r[30] + 0x00000008u;
|
|
/* 0285A9A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0285A9A8 */ _t40 = cpu->r[3] + 0x00000008u;
|
|
/* 0285A9A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0285A9AC */ _t41 = cpu->r[5] + 0x00000064u;
|
|
/* 0285A9AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0285A9B0 */ cpu->ctr = cpu->r[6];
|
|
/* 0285A9B4 */ cpu->r[5] = 0x00000000u;
|
|
/* 0285A9B8 */ cpu->r[4] = cpu->r[24];
|
|
/* 0285A9BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285A9C0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0285A9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285A9C4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A9C4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0285A9C4 */ if (_t43) goto L_0285A9C8; else goto L_0285A9E8;
|
|
L_0285A9C8: ; // 0x285a9c8
|
|
/* 0285A9C8 */ _t44 = cpu->r[30] + 0x00000000u;
|
|
/* 0285A9C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0285A9CC */ cpu->r[8] = cpu->r[30] ^ cpu->r[31];
|
|
/* 0285A9D0 */ cpu->r[9] = rbrew_clz32(cpu->r[8]);
|
|
/* 0285A9D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285A9D8 */ cpu->r[10] = cpu->r[0] ^ 0x00000001u;
|
|
/* 0285A9DC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285A9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285A9E0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A9E0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0285A9E0 */ if (_t46) goto L_0285A9E4; else goto L_0285A9A4;
|
|
L_0285A9E4: ; // 0x285a9e4
|
|
/* 0285A9E4 */ goto L_0285AA10;
|
|
L_0285A9E8: ; // 0x285a9e8
|
|
/* 0285A9E8 */ cpu->r[5] = cpu->r[24];
|
|
/* 0285A9EC */ cpu->r[3] = cpu->r[29];
|
|
/* 0285A9F0 */ Gambit_fn_0285A5AC(cpu);
|
|
/* 0285A9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285A9F8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285A9F8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0285A9F8 */ if (_t48) goto L_0285A9FC; else goto L_0285AA10;
|
|
L_0285A9FC: ; // 0x285a9fc
|
|
/* 0285A9FC */ cpu->r[5] = cpu->r[24];
|
|
/* 0285AA00 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285AA04 */ Gambit_fn_0285A5F0(cpu);
|
|
/* 0285AA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285AA0C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285AA0C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0285AA0C */ if (_t50) goto L_0285AA24; else goto L_0285AA10;
|
|
L_0285AA10: ; // 0x285aa10
|
|
/* 0285AA10 */ _t51 = cpu->r[26] + 0x0000000Eu;
|
|
/* 0285AA10 */ cpu->r[23] = rbrew_read16(cpu->mem, _t51);
|
|
L_0285AA14: ; // 0x285aa14
|
|
/* 0285AA14 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0285AA18 */ cpu->r[28] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0285AA1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[23]);
|
|
/* 0285AA20 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AA20 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0285AA20 */ if (_t53) goto L_0285A894; else goto L_0285AA24;
|
|
L_0285AA24: ; // 0x285aa24
|
|
/* 0285AA24 */ /* nop */
|
|
/* 0285AA28 */ _t54 = cpu->r[1] + 0x00000034u;
|
|
/* 0285AA28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0285AA2C */ cpu->lr = cpu->r[0];
|
|
/* 0285AA30 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0285AA34 */ return;
|
|
}
|
|
|
|
// fn_0285AA38 @ 0x285aa38
|
|
void Gambit_fn_0285AA38(CPUState* cpu) {
|
|
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_0285AA38: ; // 0x285aa38
|
|
/* 0285AA38 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0285AA38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285AA38 */ cpu->r[1] = _t0;
|
|
/* 0285AA3C */ /* nop */
|
|
/* 0285AA40 */ cpu->r[0] = cpu->lr;
|
|
/* 0285AA44 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0285AA44 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0285AA48 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 0285AA48 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285AA4C */ /* nop */
|
|
/* 0285AA50 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0285AA50 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0285AA54 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285AA58 */ cpu->r[26] = 0x00000000u;
|
|
/* 0285AA5C */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 0285AA5C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0285AA60 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285AA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[12]);
|
|
/* 0285AA68 */ cpu->f[31] = cpu->f[1];
|
|
/* 0285AA6C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AA6C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285AA6C */ if (_t6) goto L_0285AA70; else goto L_0285AABC;
|
|
L_0285AA70: ; // 0x285aa70
|
|
/* 0285AA70 */ cpu->r[29] = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285AA74 */ cpu->r[28] = cpu->r[5] + 0xFFFFFFFCu;
|
|
L_0285AA78: ; // 0x285aa78
|
|
/* 0285AA78 */ _t7 = cpu->r[28] + 0x00000004u;
|
|
/* 0285AA78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285AA78 */ cpu->r[28] = _t7;
|
|
/* 0285AA7C */ cpu->r[9] = cpu->r[31] + cpu->r[0];
|
|
/* 0285AA80 */ _t8 = cpu->r[9] + 0x00000008u;
|
|
/* 0285AA80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285AA84 */ cpu->f[1] = cpu->f[31];
|
|
/* 0285AA88 */ _t9 = cpu->r[9] + 0x00000004u;
|
|
/* 0285AA88 */ cpu->r[4] = rbrew_read16(cpu->mem, _t9);
|
|
/* 0285AA8C */ cpu->r[3] = cpu->r[9] + cpu->r[0];
|
|
/* 0285AA90 */ _t10 = cpu->r[9] + 0x00000001u;
|
|
/* 0285AA90 */ cpu->r[27] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0285AA94 */ Gambit_fn_02869D1C(cpu);
|
|
/* 0285AA98 */ cpu->r[7] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285AA9C */ _t11 = cpu->r[7] + cpu->r[29];
|
|
/* 0285AA9C */ rbrew_write32(cpu->mem, _t11, cpu->r[1]);
|
|
/* 0285AAA0 */ _t12 = cpu->r[30] + 0x00000044u;
|
|
/* 0285AAA0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0285AAA4 */ cpu->r[0] = cpu->r[8] | 0x00000010u;
|
|
/* 0285AAA8 */ _t13 = cpu->r[30] + 0x00000044u;
|
|
/* 0285AAA8 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 0285AAAC */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 0285AAAC */ cpu->r[11] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0285AAB0 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0285AAB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[11]);
|
|
/* 0285AAB8 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AAB8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285AAB8 */ if (_t16) goto L_0285AA78; else goto L_0285AABC;
|
|
L_0285AABC: ; // 0x285aabc
|
|
/* 0285AABC */ /* nop */
|
|
/* 0285AAC0 */ _t17 = cpu->r[1] + 0x00000028u;
|
|
/* 0285AAC0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0285AAC4 */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 0285AAC4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 0285AAC8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AAC8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285AAC8 */ if (_t20) goto L_0285AACC; // else: addr-0 trap, fall-through
|
|
L_0285AACC: ; // 0x285aacc
|
|
/* 0285AACC */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 0285AACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285AAD0 */ cpu->lr = cpu->r[0];
|
|
/* 0285AAD4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0285AAD8 */ return;
|
|
}
|
|
|
|
// fn_0285AADC @ 0x285aadc
|
|
void Gambit_fn_0285AADC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0285AADC: ; // 0x285aadc
|
|
/* 0285AADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u);
|
|
/* 0285AAE0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285AAE0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0285AAE0 */ if (_t1) goto L_0285AAF0; else goto L_0285AAE4;
|
|
L_0285AAE4: ; // 0x285aae4
|
|
/* 0285AAE4 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 0285AAE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0285AAE8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 0285AAEC */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285AAEC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285AAEC */ if (_t4) goto L_0285AAF8; else goto L_0285AAF0;
|
|
L_0285AAF0: ; // 0x285aaf0
|
|
/* 0285AAF0 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0285AAF0 */ cpu->r[3] = rbrew_read16(cpu->mem, _t5);
|
|
/* 0285AAF4 */ return;
|
|
L_0285AAF8: ; // 0x285aaf8
|
|
/* 0285AAF8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285AAFC */ cpu->r[8] = cpu->r[3] + cpu->r[9];
|
|
/* 0285AB00 */ _t6 = cpu->r[8] + 0xFFFFFFF8u;
|
|
/* 0285AB00 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0285AB04 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 0285AB08 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AB08 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285AB08 */ if (_t8) goto L_0285AB14; else goto L_0285AB0C;
|
|
L_0285AB0C: ; // 0x285ab0c
|
|
/* 0285AB0C */ _t9 = cpu->r[8] + 0xFFFFFFFCu;
|
|
/* 0285AB0C */ cpu->r[3] = rbrew_read16(cpu->mem, _t9);
|
|
/* 0285AB10 */ return;
|
|
L_0285AB14: ; // 0x285ab14
|
|
/* 0285AB14 */ cpu->r[12] = 0x00000000u;
|
|
/* 0285AB18 */ cpu->r[8] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 0285AB1C */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFEu;
|
|
/* 0285AB20 */ goto L_0285AB50;
|
|
L_0285AB24: ; // 0x285ab24
|
|
/* 0285AB24 */ cpu->r[11] = cpu->r[12] + cpu->r[8];
|
|
/* 0285AB28 */ /* nop */
|
|
/* 0285AB2C */ cpu->r[9] = cpu->r[0];
|
|
/* 0285AB30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285AB34 */ _t10 = cpu->r[3] + cpu->r[0];
|
|
/* 0285AB34 */ cpu->r[13] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285AB38 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
|
|
/* 0285AB3C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AB3C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285AB3C */ if (_t12) goto L_0285AB40; else goto L_0285AB4C;
|
|
L_0285AB40: ; // 0x285ab40
|
|
/* 0285AB40 */ cpu->r[8] = cpu->r[9];
|
|
/* 0285AB44 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 0285AB48 */ goto L_0285AB50;
|
|
L_0285AB4C: ; // 0x285ab4c
|
|
/* 0285AB4C */ cpu->r[12] = cpu->r[9];
|
|
L_0285AB50: ; // 0x285ab50
|
|
/* 0285AB50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 0285AB54 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285AB54 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285AB54 */ if (_t14) goto L_0285AB60; else goto L_0285AB58;
|
|
L_0285AB58: ; // 0x285ab58
|
|
/* 0285AB58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 0285AB5C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285AB5C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285AB5C */ if (_t16) goto L_0285AB60; else goto L_0285AB24;
|
|
L_0285AB60: ; // 0x285ab60
|
|
/* 0285AB60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285AB64 */ _t17 = cpu->r[3] + cpu->r[0];
|
|
/* 0285AB64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285AB68 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285AB6C */ cpu->f[11] = cpu->f[1] - cpu->f[12];
|
|
/* 0285AB70 */ _t18 = cpu->r[10] + 0x000049D8u;
|
|
/* 0285AB70 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0285AB74 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
|
|
/* 0285AB78 */ cpu->r[11] = cpu->r[3] + cpu->r[0];
|
|
/* 0285AB7C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AB7C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285AB7C */ if (_t20) goto L_0285AB80; else goto L_0285AB98;
|
|
L_0285AB80: ; // 0x285ab80
|
|
/* 0285AB80 */ cpu->r[8] = 0x10130000u;
|
|
/* 0285AB84 */ _t21 = cpu->r[8] + 0x000049DCu;
|
|
/* 0285AB84 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0285AB88 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 0285AB8C */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AB8C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0285AB8C */ if (_t23) goto L_0285AB90; else goto L_0285AB98;
|
|
L_0285AB90: ; // 0x285ab90
|
|
/* 0285AB90 */ _t24 = cpu->r[11] + 0x00000004u;
|
|
/* 0285AB90 */ cpu->r[3] = rbrew_read16(cpu->mem, _t24);
|
|
/* 0285AB94 */ return;
|
|
L_0285AB98: ; // 0x285ab98
|
|
/* 0285AB98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285AB9C */ cpu->r[11] = cpu->r[3] + cpu->r[0];
|
|
/* 0285ABA0 */ _t25 = cpu->r[11] + 0x00000004u;
|
|
/* 0285ABA0 */ cpu->r[3] = rbrew_read16(cpu->mem, _t25);
|
|
/* 0285ABA4 */ return;
|
|
}
|
|
|
|
// fn_0285ABA8 @ 0x285aba8
|
|
void Gambit_fn_0285ABA8(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_0285ABA8: ; // 0x285aba8
|
|
/* 0285ABA8 */ cpu->r[0] = cpu->lr;
|
|
/* 0285ABAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285ABAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285ABAC */ cpu->r[1] = _t0;
|
|
/* 0285ABB0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285ABB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285ABB4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285ABB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285ABB8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285ABB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285ABBC */ cpu->r[7] = cpu->r[4];
|
|
/* 0285ABC0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285ABC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285ABC4 */ _t5 = cpu->r[7] + 0x00000004u;
|
|
/* 0285ABC4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0285ABC8 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285ABCC */ cpu->r[31] = cpu->r[3];
|
|
/* 0285ABD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0285ABD4 */ cpu->f[10] = cpu->f[1];
|
|
/* 0285ABD8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285ABD8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285ABD8 */ if (_t7) goto L_0285ABDC; else goto L_0285AC24;
|
|
L_0285ABDC: ; // 0x285abdc
|
|
/* 0285ABDC */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFCu;
|
|
/* 0285ABE0 */ _t8 = cpu->r[31] + 0x00000044u;
|
|
/* 0285ABE0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t8);
|
|
L_0285ABE4: ; // 0x285abe4
|
|
/* 0285ABE4 */ _t9 = cpu->r[29] + 0x00000004u;
|
|
/* 0285ABE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285ABE4 */ cpu->r[29] = _t9;
|
|
/* 0285ABE8 */ cpu->r[6] = cpu->r[7] + cpu->r[9];
|
|
/* 0285ABEC */ _t10 = cpu->r[6] + 0x00000008u;
|
|
/* 0285ABEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285ABF0 */ cpu->f[1] = cpu->f[10];
|
|
/* 0285ABF4 */ _t11 = cpu->r[6] + 0x00000004u;
|
|
/* 0285ABF4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t11);
|
|
/* 0285ABF8 */ cpu->r[3] = cpu->r[6] + cpu->r[10];
|
|
/* 0285ABFC */ Gambit_fn_0285AADC(cpu);
|
|
/* 0285AC00 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 0285AC04 */ cpu->r[0] = cpu->r[3] - cpu->r[12];
|
|
/* 0285AC08 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Eu);
|
|
/* 0285AC0C */ cpu->r[5] = cpu->r[5] | cpu->r[0];
|
|
/* 0285AC10 */ _t12 = cpu->r[31] + 0x00000044u;
|
|
/* 0285AC10 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[5]);
|
|
/* 0285AC14 */ _t13 = cpu->r[7] + 0x00000004u;
|
|
/* 0285AC14 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0285AC18 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0285AC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0285AC20 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AC20 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285AC20 */ if (_t15) goto L_0285ABE4; else goto L_0285AC24;
|
|
L_0285AC24: ; // 0x285ac24
|
|
/* 0285AC24 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285AC24 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285AC28 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285AC28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285AC2C */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0285AC2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285AC30 */ cpu->lr = cpu->r[0];
|
|
/* 0285AC34 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0285AC34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285AC38 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285AC3C */ return;
|
|
}
|
|
|
|
// fn_0285ABAC @ 0x285abac
|
|
void Gambit_fn_0285ABAC(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_0285ABAC: ; // 0x285abac
|
|
/* 0285ABAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285ABAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285ABAC */ cpu->r[1] = _t0;
|
|
/* 0285ABB0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285ABB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285ABB4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285ABB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285ABB8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285ABB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285ABBC */ cpu->r[7] = cpu->r[4];
|
|
/* 0285ABC0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285ABC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285ABC4 */ _t5 = cpu->r[7] + 0x00000004u;
|
|
/* 0285ABC4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0285ABC8 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285ABCC */ cpu->r[31] = cpu->r[3];
|
|
/* 0285ABD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0285ABD4 */ cpu->f[10] = cpu->f[1];
|
|
/* 0285ABD8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285ABD8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285ABD8 */ if (_t7) goto L_0285ABDC; else goto L_0285AC24;
|
|
L_0285ABDC: ; // 0x285abdc
|
|
/* 0285ABDC */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFCu;
|
|
/* 0285ABE0 */ _t8 = cpu->r[31] + 0x00000044u;
|
|
/* 0285ABE0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t8);
|
|
L_0285ABE4: ; // 0x285abe4
|
|
/* 0285ABE4 */ _t9 = cpu->r[29] + 0x00000004u;
|
|
/* 0285ABE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285ABE4 */ cpu->r[29] = _t9;
|
|
/* 0285ABE8 */ cpu->r[6] = cpu->r[7] + cpu->r[9];
|
|
/* 0285ABEC */ _t10 = cpu->r[6] + 0x00000008u;
|
|
/* 0285ABEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285ABF0 */ cpu->f[1] = cpu->f[10];
|
|
/* 0285ABF4 */ _t11 = cpu->r[6] + 0x00000004u;
|
|
/* 0285ABF4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t11);
|
|
/* 0285ABF8 */ cpu->r[3] = cpu->r[6] + cpu->r[10];
|
|
/* 0285ABFC */ Gambit_fn_0285AADC(cpu);
|
|
/* 0285AC00 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 0285AC04 */ cpu->r[0] = cpu->r[3] - cpu->r[12];
|
|
/* 0285AC08 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Eu);
|
|
/* 0285AC0C */ cpu->r[5] = cpu->r[5] | cpu->r[0];
|
|
/* 0285AC10 */ _t12 = cpu->r[31] + 0x00000044u;
|
|
/* 0285AC10 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[5]);
|
|
/* 0285AC14 */ _t13 = cpu->r[7] + 0x00000004u;
|
|
/* 0285AC14 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0285AC18 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0285AC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0285AC20 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AC20 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285AC20 */ if (_t15) goto L_0285ABE4; else goto L_0285AC24;
|
|
L_0285AC24: ; // 0x285ac24
|
|
/* 0285AC24 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285AC24 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285AC28 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285AC28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285AC2C */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0285AC2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285AC30 */ cpu->lr = cpu->r[0];
|
|
/* 0285AC34 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0285AC34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285AC38 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285AC3C */ return;
|
|
}
|
|
|
|
// fn_0285AC40 @ 0x285ac40
|
|
void Gambit_fn_0285AC40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_0285AC40: ; // 0x285ac40
|
|
/* 0285AC40 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 0285AC40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285AC40 */ cpu->r[1] = _t0;
|
|
/* 0285AC44 */ /* nop */
|
|
/* 0285AC48 */ cpu->r[0] = cpu->lr;
|
|
/* 0285AC4C */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 0285AC4C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 0285AC50 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 0285AC50 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 0285AC54 */ /* nop */
|
|
/* 0285AC58 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 0285AC58 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0285AC5C */ /* nop */
|
|
/* 0285AC60 */ _t4 = cpu->r[1] + 0x00000058u;
|
|
/* 0285AC60 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0285AC64 */ /* nop */
|
|
/* 0285AC68 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 0285AC68 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]);
|
|
/* 0285AC6C */ _t6 = cpu->r[1] + 0x00000040u;
|
|
/* 0285AC6C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 0285AC70 */ /* nop */
|
|
/* 0285AC74 */ _t7 = cpu->r[1] + 0x00000050u;
|
|
/* 0285AC74 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 0285AC78 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285AC7C */ _t8 = cpu->r[1] + 0x00000060u;
|
|
/* 0285AC7C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 0285AC80 */ cpu->r[27] = 0x00000000u;
|
|
/* 0285AC84 */ _t9 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0285AC84 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0285AC88 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0285AC88 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0285AC8C */ cpu->r[30] = cpu->r[3];
|
|
/* 0285AC90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[9]);
|
|
/* 0285AC94 */ cpu->f[28] = cpu->f[1];
|
|
/* 0285AC98 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AC98 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285AC98 */ if (_t12) goto L_0285AC9C; else goto L_0285AD1C;
|
|
L_0285AC9C: ; // 0x285ac9c
|
|
/* 0285AC9C */ cpu->r[7] = 0x10130000u;
|
|
/* 0285ACA0 */ cpu->r[6] = 0x10130000u;
|
|
/* 0285ACA4 */ _t13 = cpu->r[7] + 0x000049E4u;
|
|
/* 0285ACA4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0285ACA8 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285ACAC */ _t14 = cpu->r[6] + 0x000049E0u;
|
|
/* 0285ACAC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0285ACB0 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFCu;
|
|
/* 0285ACB4 */ _t15 = cpu->r[12] + 0x000049D4u;
|
|
/* 0285ACB4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t15);
|
|
L_0285ACB8: ; // 0x285acb8
|
|
/* 0285ACB8 */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 0285ACB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285ACB8 */ cpu->r[29] = _t16;
|
|
/* 0285ACBC */ cpu->r[28] = cpu->r[31] + cpu->r[0];
|
|
/* 0285ACC0 */ _t17 = cpu->r[28] + 0x00000008u;
|
|
/* 0285ACC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285ACC4 */ cpu->f[1] = cpu->f[28];
|
|
/* 0285ACC8 */ _t18 = cpu->r[28] + 0x00000004u;
|
|
/* 0285ACC8 */ cpu->r[4] = rbrew_read16(cpu->mem, _t18);
|
|
/* 0285ACCC */ cpu->r[3] = cpu->r[28] + cpu->r[0];
|
|
/* 0285ACD0 */ Gambit_fn_02869D1C(cpu);
|
|
/* 0285ACD4 */ cpu->f[13] = cpu->f[1] + cpu->f[31];
|
|
/* 0285ACD8 */ /* nop */
|
|
/* 0285ACDC */ cpu->f[12] = cpu->f[11] - cpu->f[30];
|
|
/* 0285ACE0 */ _t19 = cpu->r[30] + 0x00000008u;
|
|
/* 0285ACE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285ACE4 */ /* nop */
|
|
/* 0285ACE8 */ _t20 = cpu->r[8] + 0x00000034u;
|
|
/* 0285ACE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285ACEC */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 0285ACF0 */ cpu->ctr = cpu->r[10];
|
|
/* 0285ACF4 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 0285ACF8 */ /* nop */
|
|
/* 0285ACFC */ _t21 = cpu->r[1] + 0x0000000Bu;
|
|
/* 0285ACFC */ cpu->r[5] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0285AD00 */ _t22 = cpu->r[28] + 0x00000001u;
|
|
/* 0285AD00 */ cpu->r[4] = rbrew_read8(cpu->mem, _t22);
|
|
/* 0285AD04 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285AD08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285AD0C */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 0285AD0C */ cpu->r[11] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0285AD10 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0285AD14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[11]);
|
|
/* 0285AD18 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AD18 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285AD18 */ if (_t25) goto L_0285ACB8; else goto L_0285AD1C;
|
|
L_0285AD1C: ; // 0x285ad1c
|
|
/* 0285AD1C */ /* nop */
|
|
/* 0285AD20 */ _t26 = cpu->r[1] + 0x00000040u;
|
|
/* 0285AD20 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 0285AD24 */ _t27 = cpu->r[1] + 0x00000050u;
|
|
/* 0285AD24 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0285AD28 */ _t28 = cpu->r[1] + 0x00000038u;
|
|
/* 0285AD28 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 0285AD2C */ _t29 = cpu->r[1] + 0x00000048u;
|
|
/* 0285AD2C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 0285AD30 */ _t30 = cpu->r[1] + 0x00000030u;
|
|
/* 0285AD30 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 0285AD34 */ _t31 = cpu->r[1] + 0x00000060u;
|
|
/* 0285AD34 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0285AD38 */ _t32 = cpu->r[1] + 0x00000028u;
|
|
/* 0285AD38 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 0285AD3C */ _t33 = cpu->r[1] + 0x00000058u;
|
|
/* 0285AD3C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 0285AD40 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AD40 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0285AD40 */ if (_t35) goto L_0285AD44; // else: addr-0 trap, fall-through
|
|
L_0285AD44: ; // 0x285ad44
|
|
/* 0285AD44 */ _t36 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0285AD44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0285AD48 */ cpu->lr = cpu->r[0];
|
|
/* 0285AD4C */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 0285AD50 */ return;
|
|
}
|
|
|
|
// fn_0285AD54 @ 0x285ad54
|
|
void Gambit_fn_0285AD54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_0285AD54: ; // 0x285ad54
|
|
/* 0285AD54 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0285AD54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285AD54 */ cpu->r[1] = _t0;
|
|
/* 0285AD58 */ cpu->r[0] = cpu->lr;
|
|
/* 0285AD5C */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0285AD5C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0285AD60 */ /* nop */
|
|
/* 0285AD64 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285AD64 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285AD68 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 0285AD68 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0285AD6C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0285AD6C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0285AD70 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285AD70 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0285AD74 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285AD78 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0285AD78 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 0285AD7C */ _t7 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285AD7C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0285AD80 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285AD84 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0285AD84 */ cpu->r[9] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0285AD88 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285AD8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0285AD90 */ cpu->f[31] = cpu->f[1];
|
|
/* 0285AD94 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AD94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285AD94 */ if (_t10) goto L_0285AD98; else goto L_0285ADDC;
|
|
L_0285AD98: ; // 0x285ad98
|
|
/* 0285AD98 */ cpu->r[28] = cpu->r[5] + 0xFFFFFFFCu;
|
|
L_0285AD9C: ; // 0x285ad9c
|
|
/* 0285AD9C */ _t11 = cpu->r[28] + 0x00000004u;
|
|
/* 0285AD9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285AD9C */ cpu->r[28] = _t11;
|
|
/* 0285ADA0 */ cpu->r[8] = cpu->r[31] + cpu->r[10];
|
|
/* 0285ADA4 */ _t12 = cpu->r[8] + 0x00000008u;
|
|
/* 0285ADA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285ADA8 */ cpu->f[1] = cpu->f[31];
|
|
/* 0285ADAC */ _t13 = cpu->r[8] + 0x00000004u;
|
|
/* 0285ADAC */ cpu->r[4] = rbrew_read16(cpu->mem, _t13);
|
|
/* 0285ADB0 */ cpu->r[3] = cpu->r[8] + cpu->r[11];
|
|
/* 0285ADB4 */ Gambit_fn_02869D1C(cpu);
|
|
/* 0285ADB8 */ _t14 = cpu->r[29] + 0x000000FCu;
|
|
/* 0285ADB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285ADBC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 0285ADBC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[1]);
|
|
/* 0285ADC0 */ _t16 = cpu->r[29] + 0x000000D0u;
|
|
/* 0285ADC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0285ADC4 */ cpu->r[0] = cpu->r[0] | 0x00000020u;
|
|
/* 0285ADC8 */ _t17 = cpu->r[29] + 0x000000D0u;
|
|
/* 0285ADC8 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]);
|
|
/* 0285ADCC */ _t18 = cpu->r[31] + 0x00000004u;
|
|
/* 0285ADCC */ cpu->r[7] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0285ADD0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0285ADD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 0285ADD8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285ADD8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285ADD8 */ if (_t20) goto L_0285AD9C; else goto L_0285ADDC;
|
|
L_0285ADDC: ; // 0x285addc
|
|
/* 0285ADDC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0285ADDC */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285ADE0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285ADE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285ADE4 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 0285ADE4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0285ADE8 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0285ADE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285ADEC */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 0285ADEC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t25);
|
|
/* 0285ADF0 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0285ADF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285ADF4 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285ADF4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0285ADF4 */ if (_t28) goto L_0285ADF8; // else: addr-0 trap, fall-through
|
|
L_0285ADF8: ; // 0x285adf8
|
|
/* 0285ADF8 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285ADF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0285ADFC */ cpu->lr = cpu->r[0];
|
|
/* 0285AE00 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285AE04 */ return;
|
|
}
|
|
|
|
// fn_0285AE08 @ 0x285ae08
|
|
void Gambit_fn_0285AE08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0285AE08: ; // 0x285ae08
|
|
/* 0285AE08 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285AE08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285AE08 */ cpu->r[1] = _t0;
|
|
/* 0285AE0C */ /* nop */
|
|
/* 0285AE10 */ cpu->r[0] = cpu->lr;
|
|
/* 0285AE14 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0285AE14 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285AE18 */ cpu->r[30] = cpu->r[5];
|
|
/* 0285AE1C */ _t2 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285AE1C */ cpu->r[6] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0285AE20 */ cpu->r[29] = 0x00000000u;
|
|
/* 0285AE24 */ cpu->r[27] = cpu->r[3];
|
|
/* 0285AE28 */ cpu->r[28] = cpu->r[4];
|
|
/* 0285AE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0285AE30 */ cpu->r[7] = cpu->r[30] + 0x00000020u;
|
|
/* 0285AE34 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AE34 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285AE34 */ if (_t4) goto L_0285AE38; else goto L_0285AEF4;
|
|
L_0285AE38: ; // 0x285ae38
|
|
/* 0285AE38 */ cpu->r[31] = cpu->r[7] + 0xFFFFFFFCu;
|
|
L_0285AE3C: ; // 0x285ae3c
|
|
/* 0285AE3C */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 0285AE3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285AE3C */ cpu->r[31] = _t5;
|
|
/* 0285AE40 */ cpu->r[10] = 0x464C0000u;
|
|
/* 0285AE44 */ _t6 = cpu->r[30] + cpu->r[8];
|
|
/* 0285AE44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285AE48 */ cpu->r[10] = cpu->r[10] + 0x00004354u;
|
|
/* 0285AE4C */ cpu->r[4] = cpu->r[30] + cpu->r[8];
|
|
/* 0285AE50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 0285AE54 */ cpu->r[5] = cpu->r[4] + 0x00000008u;
|
|
/* 0285AE58 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285AE58 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285AE58 */ if (_t8) goto L_0285AED8; else goto L_0285AE5C;
|
|
L_0285AE5C: ; // 0x285ae5c
|
|
/* 0285AE5C */ cpu->r[11] = 0x464C0000u;
|
|
/* 0285AE60 */ cpu->r[11] = cpu->r[11] + 0x00005041u;
|
|
/* 0285AE64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 0285AE68 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285AE68 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285AE68 */ if (_t10) goto L_0285AE9C; else goto L_0285AE6C;
|
|
L_0285AE6C: ; // 0x285ae6c
|
|
/* 0285AE6C */ cpu->r[12] = 0x464C0000u;
|
|
/* 0285AE70 */ cpu->r[12] = cpu->r[12] + 0x00005643u;
|
|
/* 0285AE74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0285AE78 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285AE78 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285AE78 */ if (_t12) goto L_0285AEC4; else goto L_0285AE7C;
|
|
L_0285AE7C: ; // 0x285ae7c
|
|
/* 0285AE7C */ cpu->r[0] = 0x464C0000u;
|
|
/* 0285AE80 */ cpu->r[0] = cpu->r[0] | 0x00005649u;
|
|
/* 0285AE84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 0285AE88 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285AE88 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285AE88 */ if (_t14) goto L_0285AEB0; else goto L_0285AE8C;
|
|
L_0285AE8C: ; // 0x285ae8c
|
|
/* 0285AE8C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0285AE90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0285AE94 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AE94 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285AE94 */ if (_t16) goto L_0285AE3C; else goto L_0285AE98;
|
|
L_0285AE98: ; // 0x285ae98
|
|
/* 0285AE98 */ goto L_0285AEF4;
|
|
L_0285AE9C: ; // 0x285ae9c
|
|
/* 0285AE9C */ _t17 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0285AE9C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0285AEA0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285AEA4 */ Gambit_fn_0285AA38(cpu);
|
|
/* 0285AEA8 */ _t18 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285AEA8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0285AEAC */ goto L_0285AEE8;
|
|
L_0285AEB0: ; // 0x285aeb0
|
|
/* 0285AEB0 */ _t19 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0285AEB0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0285AEB4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285AEB8 */ Gambit_fn_0285ABA8(cpu);
|
|
/* 0285AEBC */ _t20 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285AEBC */ cpu->r[6] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0285AEC0 */ goto L_0285AEE8;
|
|
L_0285AEC4: ; // 0x285aec4
|
|
/* 0285AEC4 */ _t21 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0285AEC4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0285AEC8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285AECC */ Gambit_fn_0285AC40(cpu);
|
|
/* 0285AED0 */ _t22 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285AED0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t22);
|
|
/* 0285AED4 */ goto L_0285AEE8;
|
|
L_0285AED8: ; // 0x285aed8
|
|
/* 0285AED8 */ _t23 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0285AED8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0285AEDC */ cpu->r[3] = cpu->r[28];
|
|
/* 0285AEE0 */ Gambit_fn_0285AD54(cpu);
|
|
/* 0285AEE4 */ _t24 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285AEE4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t24);
|
|
L_0285AEE8: ; // 0x285aee8
|
|
/* 0285AEE8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0285AEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0285AEF0 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AEF0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0285AEF0 */ if (_t26) goto L_0285AE3C; else goto L_0285AEF4;
|
|
L_0285AEF4: ; // 0x285aef4
|
|
/* 0285AEF4 */ /* nop */
|
|
/* 0285AEF8 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 0285AEF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285AEFC */ cpu->lr = cpu->r[0];
|
|
/* 0285AF00 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285AF04 */ return;
|
|
}
|
|
|
|
// fn_0285AF08 @ 0x285af08
|
|
void Gambit_fn_0285AF08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_0285AF08: ; // 0x285af08
|
|
/* 0285AF08 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 0285AF08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285AF08 */ cpu->r[1] = _t0;
|
|
/* 0285AF0C */ /* nop */
|
|
/* 0285AF10 */ cpu->r[0] = cpu->lr;
|
|
/* 0285AF14 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 0285AF14 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 0285AF18 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 0285AF18 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 0285AF1C */ /* nop */
|
|
/* 0285AF20 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 0285AF20 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0285AF24 */ /* nop */
|
|
/* 0285AF28 */ _t4 = cpu->r[1] + 0x00000058u;
|
|
/* 0285AF28 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0285AF2C */ /* nop */
|
|
/* 0285AF30 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 0285AF30 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]);
|
|
/* 0285AF34 */ _t6 = cpu->r[1] + 0x00000040u;
|
|
/* 0285AF34 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 0285AF38 */ /* nop */
|
|
/* 0285AF3C */ _t7 = cpu->r[1] + 0x00000050u;
|
|
/* 0285AF3C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 0285AF40 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285AF44 */ _t8 = cpu->r[1] + 0x00000060u;
|
|
/* 0285AF44 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 0285AF48 */ cpu->r[28] = 0x00000000u;
|
|
/* 0285AF4C */ _t9 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0285AF4C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0285AF50 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0285AF50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0285AF54 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285AF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 0285AF5C */ cpu->f[28] = cpu->f[1];
|
|
/* 0285AF60 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AF60 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285AF60 */ if (_t12) goto L_0285AF64; else goto L_0285B060;
|
|
L_0285AF64: ; // 0x285af64
|
|
/* 0285AF64 */ cpu->r[9] = 0x10130000u;
|
|
/* 0285AF68 */ cpu->r[7] = 0x10130000u;
|
|
/* 0285AF6C */ _t13 = cpu->r[9] + 0x000049E4u;
|
|
/* 0285AF6C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0285AF70 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285AF74 */ _t14 = cpu->r[7] + 0x000049E0u;
|
|
/* 0285AF74 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0285AF78 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFCu;
|
|
/* 0285AF7C */ _t15 = cpu->r[12] + 0x000049D4u;
|
|
/* 0285AF7C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t15);
|
|
L_0285AF80: ; // 0x285af80
|
|
/* 0285AF80 */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 0285AF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285AF80 */ cpu->r[29] = _t16;
|
|
/* 0285AF84 */ cpu->r[27] = cpu->r[31] + cpu->r[0];
|
|
/* 0285AF88 */ _t17 = cpu->r[27] + 0x00000008u;
|
|
/* 0285AF88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285AF8C */ cpu->f[1] = cpu->f[28];
|
|
/* 0285AF90 */ _t18 = cpu->r[27] + 0x00000004u;
|
|
/* 0285AF90 */ cpu->r[4] = rbrew_read16(cpu->mem, _t18);
|
|
/* 0285AF94 */ cpu->r[3] = cpu->r[27] + cpu->r[0];
|
|
/* 0285AF98 */ Gambit_fn_02869D1C(cpu);
|
|
/* 0285AF9C */ cpu->f[12] = cpu->f[1] + cpu->f[30];
|
|
/* 0285AFA0 */ /* nop */
|
|
/* 0285AFA4 */ cpu->f[0] = cpu->f[13] - cpu->f[29];
|
|
/* 0285AFA8 */ /* nop */
|
|
/* 0285AFAC */ _t19 = cpu->r[27] + 0x00000001u;
|
|
/* 0285AFAC */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0285AFB0 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10];
|
|
/* 0285AFB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000008u);
|
|
/* 0285AFB8 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 0285AFBC */ /* nop */
|
|
/* 0285AFC0 */ _t20 = cpu->r[1] + 0x0000000Bu;
|
|
/* 0285AFC0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0285AFC4 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AFC4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0285AFC4 */ if (_t22) goto L_0285AFC8; else goto L_0285B050;
|
|
L_0285AFC8: ; // 0x285afc8
|
|
/* 0285AFC8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285AFCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000001u);
|
|
/* 0285AFD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 0285AFD4 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AFD4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0285AFD4 */ if (_t24) goto L_0285AFE8; else goto L_0285AFD8;
|
|
L_0285AFD8: ; // 0x285afd8
|
|
/* 0285AFD8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285AFD8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0285AFD8 */ if (_t26) goto L_0285B004; else goto L_0285AFDC;
|
|
L_0285AFDC: ; // 0x285afdc
|
|
/* 0285AFDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000003u);
|
|
/* 0285AFE0 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AFE0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0285AFE0 */ if (_t28) goto L_0285B024; else goto L_0285AFE4;
|
|
L_0285AFE4: ; // 0x285afe4
|
|
/* 0285AFE4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285AFE4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0285AFE4 */ if (_t30) goto L_0285B044; else goto L_0285AFE8;
|
|
L_0285AFE8: ; // 0x285afe8
|
|
/* 0285AFE8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285AFEC */ _t31 = cpu->r[10] + cpu->r[30];
|
|
/* 0285AFEC */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[6]);
|
|
/* 0285AFF0 */ _t32 = cpu->r[31] + 0x00000004u;
|
|
/* 0285AFF0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t32);
|
|
/* 0285AFF4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0285AFF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]);
|
|
/* 0285AFFC */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285AFFC */ _t34 = _t33 & 0x00000001u;
|
|
/* 0285AFFC */ if (_t34) goto L_0285AF80; else goto L_0285B000;
|
|
L_0285B000: ; // 0x285b000
|
|
/* 0285B000 */ goto L_0285B060;
|
|
L_0285B004: ; // 0x285b004
|
|
/* 0285B004 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285B008 */ cpu->r[12] = cpu->r[30] + cpu->r[0];
|
|
/* 0285B00C */ _t35 = cpu->r[12] + 0x00000001u;
|
|
/* 0285B00C */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[6]);
|
|
/* 0285B010 */ _t36 = cpu->r[31] + 0x00000004u;
|
|
/* 0285B010 */ cpu->r[11] = rbrew_read8(cpu->mem, _t36);
|
|
/* 0285B014 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0285B018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]);
|
|
/* 0285B01C */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B01C */ _t38 = _t37 & 0x00000001u;
|
|
/* 0285B01C */ if (_t38) goto L_0285AF80; else goto L_0285B020;
|
|
L_0285B020: ; // 0x285b020
|
|
/* 0285B020 */ goto L_0285B060;
|
|
L_0285B024: ; // 0x285b024
|
|
/* 0285B024 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285B028 */ cpu->r[8] = cpu->r[30] + cpu->r[7];
|
|
/* 0285B02C */ _t39 = cpu->r[8] + 0x00000002u;
|
|
/* 0285B02C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[6]);
|
|
/* 0285B030 */ _t40 = cpu->r[31] + 0x00000004u;
|
|
/* 0285B030 */ cpu->r[11] = rbrew_read8(cpu->mem, _t40);
|
|
/* 0285B034 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0285B038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]);
|
|
/* 0285B03C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B03C */ _t42 = _t41 & 0x00000001u;
|
|
/* 0285B03C */ if (_t42) goto L_0285AF80; else goto L_0285B040;
|
|
L_0285B040: ; // 0x285b040
|
|
/* 0285B040 */ goto L_0285B060;
|
|
L_0285B044: ; // 0x285b044
|
|
/* 0285B044 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285B048 */ cpu->r[10] = cpu->r[30] + cpu->r[9];
|
|
/* 0285B04C */ _t43 = cpu->r[10] + 0x00000003u;
|
|
/* 0285B04C */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[6]);
|
|
L_0285B050: ; // 0x285b050
|
|
/* 0285B050 */ _t44 = cpu->r[31] + 0x00000004u;
|
|
/* 0285B050 */ cpu->r[11] = rbrew_read8(cpu->mem, _t44);
|
|
/* 0285B054 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0285B058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]);
|
|
/* 0285B05C */ _t45 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B05C */ _t46 = _t45 & 0x00000001u;
|
|
/* 0285B05C */ if (_t46) goto L_0285AF80; else goto L_0285B060;
|
|
L_0285B060: ; // 0x285b060
|
|
/* 0285B060 */ /* nop */
|
|
/* 0285B064 */ _t47 = cpu->r[1] + 0x00000040u;
|
|
/* 0285B064 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 0285B068 */ _t48 = cpu->r[1] + 0x00000050u;
|
|
/* 0285B068 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 0285B06C */ _t49 = cpu->r[1] + 0x00000038u;
|
|
/* 0285B06C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t49);
|
|
/* 0285B070 */ _t50 = cpu->r[1] + 0x00000048u;
|
|
/* 0285B070 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 0285B074 */ _t51 = cpu->r[1] + 0x00000030u;
|
|
/* 0285B074 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 0285B078 */ _t52 = cpu->r[1] + 0x00000060u;
|
|
/* 0285B078 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 0285B07C */ _t53 = cpu->r[1] + 0x00000028u;
|
|
/* 0285B07C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t53);
|
|
/* 0285B080 */ _t54 = cpu->r[1] + 0x00000058u;
|
|
/* 0285B080 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 0285B084 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B084 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0285B084 */ if (_t56) goto L_0285B088; // else: addr-0 trap, fall-through
|
|
L_0285B088: ; // 0x285b088
|
|
/* 0285B088 */ _t57 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0285B088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0285B08C */ cpu->lr = cpu->r[0];
|
|
/* 0285B090 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 0285B094 */ return;
|
|
}
|
|
|
|
// fn_0285B098 @ 0x285b098
|
|
void Gambit_fn_0285B098(CPUState* cpu) {
|
|
uint32_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_0285B098: ; // 0x285b098
|
|
/* 0285B098 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0285B098 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285B098 */ cpu->r[1] = _t0;
|
|
/* 0285B09C */ /* nop */
|
|
/* 0285B0A0 */ cpu->r[0] = cpu->lr;
|
|
/* 0285B0A4 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0285B0A4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0285B0A8 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 0285B0A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285B0AC */ /* nop */
|
|
/* 0285B0B0 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0285B0B0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0285B0B4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285B0B8 */ cpu->r[26] = 0x00000000u;
|
|
/* 0285B0BC */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 0285B0BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0285B0C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285B0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[12]);
|
|
/* 0285B0C8 */ cpu->f[31] = cpu->f[1];
|
|
/* 0285B0CC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B0CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285B0CC */ if (_t6) goto L_0285B0D0; else goto L_0285B12C;
|
|
L_0285B0D0: ; // 0x285b0d0
|
|
/* 0285B0D0 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFCu;
|
|
L_0285B0D4: ; // 0x285b0d4
|
|
/* 0285B0D4 */ _t7 = cpu->r[29] + 0x00000004u;
|
|
/* 0285B0D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285B0D4 */ cpu->r[29] = _t7;
|
|
/* 0285B0D8 */ cpu->r[10] = cpu->r[31] + cpu->r[0];
|
|
/* 0285B0DC */ _t8 = cpu->r[31] + cpu->r[0];
|
|
/* 0285B0DC */ cpu->r[27] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0285B0E0 */ _t9 = cpu->r[10] + 0x00000008u;
|
|
/* 0285B0E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285B0E4 */ cpu->f[1] = cpu->f[31];
|
|
/* 0285B0E8 */ _t10 = cpu->r[10] + 0x00000004u;
|
|
/* 0285B0E8 */ cpu->r[4] = rbrew_read16(cpu->mem, _t10);
|
|
/* 0285B0EC */ cpu->r[3] = cpu->r[10] + cpu->r[8];
|
|
/* 0285B0F0 */ _t11 = cpu->r[10] + 0x00000001u;
|
|
/* 0285B0F0 */ cpu->r[28] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0285B0F4 */ Gambit_fn_02869D1C(cpu);
|
|
/* 0285B0F8 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 0285B0F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t12);
|
|
/* 0285B0FC */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)0x00000014u);
|
|
/* 0285B100 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000012u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285B104 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000001Cu);
|
|
/* 0285B108 */ _t13 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285B108 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285B10C */ cpu->r[12] = cpu->r[6] + cpu->r[0];
|
|
/* 0285B110 */ cpu->r[9] = rbrew_rlwinm(cpu->r[28], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285B114 */ cpu->r[8] = cpu->r[12] + cpu->r[7];
|
|
/* 0285B118 */ _t14 = cpu->r[9] + cpu->r[8];
|
|
/* 0285B118 */ rbrew_write32(cpu->mem, _t14, cpu->r[1]);
|
|
/* 0285B11C */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 0285B11C */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0285B120 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0285B124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[0]);
|
|
/* 0285B128 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B128 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285B128 */ if (_t17) goto L_0285B0D4; else goto L_0285B12C;
|
|
L_0285B12C: ; // 0x285b12c
|
|
/* 0285B12C */ /* nop */
|
|
/* 0285B130 */ _t18 = cpu->r[1] + 0x00000028u;
|
|
/* 0285B130 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0285B134 */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 0285B134 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 0285B138 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B138 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0285B138 */ if (_t21) goto L_0285B13C; // else: addr-0 trap, fall-through
|
|
L_0285B13C: ; // 0x285b13c
|
|
/* 0285B13C */ _t22 = cpu->r[1] + 0x00000034u;
|
|
/* 0285B13C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285B140 */ cpu->lr = cpu->r[0];
|
|
/* 0285B144 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0285B148 */ return;
|
|
}
|
|
|
|
// fn_0285B14C @ 0x285b14c
|
|
void Gambit_fn_0285B14C(CPUState* cpu) {
|
|
uint32_t _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_0285B14C: ; // 0x285b14c
|
|
/* 0285B14C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0285B14C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285B14C */ cpu->r[1] = _t0;
|
|
/* 0285B150 */ /* nop */
|
|
/* 0285B154 */ cpu->r[0] = cpu->lr;
|
|
/* 0285B158 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0285B158 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0285B15C */ /* nop */
|
|
/* 0285B160 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 0285B160 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0285B164 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 0285B164 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285B168 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285B16C */ cpu->r[27] = 0x00000000u;
|
|
/* 0285B170 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285B174 */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 0285B174 */ cpu->r[7] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0285B178 */ cpu->r[31] = cpu->r[6];
|
|
/* 0285B17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[7]);
|
|
/* 0285B180 */ cpu->f[31] = cpu->f[1];
|
|
/* 0285B184 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B184 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285B184 */ if (_t6) goto L_0285B188; else goto L_0285B1E0;
|
|
L_0285B188: ; // 0x285b188
|
|
/* 0285B188 */ cpu->r[28] = cpu->r[5] + 0xFFFFFFFCu;
|
|
L_0285B18C: ; // 0x285b18c
|
|
/* 0285B18C */ _t7 = cpu->r[28] + 0x00000004u;
|
|
/* 0285B18C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285B18C */ cpu->r[28] = _t7;
|
|
/* 0285B190 */ cpu->r[6] = cpu->r[30] + cpu->r[11];
|
|
/* 0285B194 */ _t8 = cpu->r[6] + 0x00000008u;
|
|
/* 0285B194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285B198 */ cpu->f[1] = cpu->f[31];
|
|
/* 0285B19C */ _t9 = cpu->r[6] + 0x00000004u;
|
|
/* 0285B19C */ cpu->r[4] = rbrew_read16(cpu->mem, _t9);
|
|
/* 0285B1A0 */ cpu->r[3] = cpu->r[6] + cpu->r[0];
|
|
/* 0285B1A4 */ Gambit_fn_0285AADC(cpu);
|
|
/* 0285B1A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285B1AC */ _t10 = cpu->r[12] + cpu->r[31];
|
|
/* 0285B1AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285B1B0 */ _t11 = cpu->r[4] + 0x00000000u;
|
|
/* 0285B1B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285B1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285B1B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B1B8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285B1B8 */ if (_t13) goto L_0285B1D4; else goto L_0285B1BC;
|
|
L_0285B1BC: ; // 0x285b1bc
|
|
/* 0285B1BC */ _t14 = cpu->r[6] + 0x00000000u;
|
|
/* 0285B1BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0285B1C0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Cu);
|
|
/* 0285B1C4 */ _t15 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0285B1C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285B1C8 */ cpu->r[3] = cpu->r[5] + cpu->r[0];
|
|
/* 0285B1CC */ Gambit_fn_0285EAD0(cpu);
|
|
/* 0285B1D0 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 0285B1D0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t16);
|
|
L_0285B1D4: ; // 0x285b1d4
|
|
/* 0285B1D4 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0285B1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[7]);
|
|
/* 0285B1DC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B1DC */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285B1DC */ if (_t18) goto L_0285B18C; else goto L_0285B1E0;
|
|
L_0285B1E0: ; // 0x285b1e0
|
|
/* 0285B1E0 */ /* nop */
|
|
/* 0285B1E4 */ _t19 = cpu->r[1] + 0x00000028u;
|
|
/* 0285B1E4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0285B1E8 */ _t20 = cpu->r[1] + 0x00000020u;
|
|
/* 0285B1E8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 0285B1EC */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B1EC */ _t22 = _t21 & 0x00000001u;
|
|
/* 0285B1EC */ if (_t22) goto L_0285B1F0; // else: addr-0 trap, fall-through
|
|
L_0285B1F0: ; // 0x285b1f0
|
|
/* 0285B1F0 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 0285B1F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285B1F4 */ cpu->lr = cpu->r[0];
|
|
/* 0285B1F8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0285B1FC */ return;
|
|
}
|
|
|
|
// fn_0285B200 @ 0x285b200
|
|
void Gambit_fn_0285B200(CPUState* cpu) {
|
|
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_0285B200: ; // 0x285b200
|
|
/* 0285B200 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0285B200 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285B200 */ cpu->r[1] = _t0;
|
|
/* 0285B204 */ /* nop */
|
|
/* 0285B208 */ cpu->r[0] = cpu->lr;
|
|
/* 0285B20C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0285B20C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0285B210 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 0285B210 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285B214 */ /* nop */
|
|
/* 0285B218 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0285B218 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0285B21C */ cpu->r[28] = 0x00000000u;
|
|
/* 0285B220 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285B224 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 0285B224 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0285B228 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285B22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[12]);
|
|
/* 0285B230 */ cpu->f[31] = cpu->f[1];
|
|
/* 0285B234 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B234 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285B234 */ if (_t6) goto L_0285B238; else goto L_0285B2B4;
|
|
L_0285B238: ; // 0x285b238
|
|
/* 0285B238 */ cpu->r[29] = cpu->r[5] + 0xFFFFFFFCu;
|
|
L_0285B23C: ; // 0x285b23c
|
|
/* 0285B23C */ _t7 = cpu->r[29] + 0x00000004u;
|
|
/* 0285B23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285B23C */ cpu->r[29] = _t7;
|
|
/* 0285B240 */ cpu->r[5] = cpu->r[31] + cpu->r[0];
|
|
/* 0285B244 */ _t8 = cpu->r[5] + 0x00000008u;
|
|
/* 0285B244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285B248 */ cpu->f[1] = cpu->f[31];
|
|
/* 0285B24C */ _t9 = cpu->r[5] + 0x00000001u;
|
|
/* 0285B24C */ cpu->r[27] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0285B250 */ cpu->r[3] = cpu->r[5] + cpu->r[0];
|
|
/* 0285B254 */ _t10 = cpu->r[5] + 0x00000004u;
|
|
/* 0285B254 */ cpu->r[4] = rbrew_read16(cpu->mem, _t10);
|
|
/* 0285B258 */ Gambit_fn_02869D1C(cpu);
|
|
/* 0285B25C */ _t11 = cpu->r[30] + 0x00000008u;
|
|
/* 0285B25C */ cpu->r[7] = rbrew_read16(cpu->mem, _t11);
|
|
/* 0285B260 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000012u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285B264 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu);
|
|
/* 0285B268 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285B26C */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000014u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285B270 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000016u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285B274 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000014u);
|
|
/* 0285B278 */ cpu->r[10] = cpu->r[6] + cpu->r[8];
|
|
/* 0285B27C */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285B280 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285B284 */ cpu->r[5] = cpu->r[11] + cpu->r[0];
|
|
/* 0285B288 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285B28C */ cpu->r[6] = cpu->r[6] + cpu->r[5];
|
|
/* 0285B290 */ _t12 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285B290 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285B294 */ cpu->r[8] = cpu->r[6] + cpu->r[0];
|
|
/* 0285B298 */ cpu->r[10] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285B29C */ cpu->r[9] = cpu->r[9] + cpu->r[8];
|
|
/* 0285B2A0 */ _t13 = cpu->r[10] + cpu->r[9];
|
|
/* 0285B2A0 */ rbrew_write32(cpu->mem, _t13, cpu->r[1]);
|
|
/* 0285B2A4 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 0285B2A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0285B2A8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0285B2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[0]);
|
|
/* 0285B2B0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B2B0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285B2B0 */ if (_t16) goto L_0285B23C; else goto L_0285B2B4;
|
|
L_0285B2B4: ; // 0x285b2b4
|
|
/* 0285B2B4 */ /* nop */
|
|
/* 0285B2B8 */ _t17 = cpu->r[1] + 0x00000028u;
|
|
/* 0285B2B8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 0285B2BC */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 0285B2BC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 0285B2C0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B2C0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285B2C0 */ if (_t20) goto L_0285B2C4; // else: addr-0 trap, fall-through
|
|
L_0285B2C4: ; // 0x285b2c4
|
|
/* 0285B2C4 */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 0285B2C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285B2C8 */ cpu->lr = cpu->r[0];
|
|
/* 0285B2CC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0285B2D0 */ return;
|
|
}
|
|
|
|
// fn_0285B2D4 @ 0x285b2d4
|
|
void Gambit_fn_0285B2D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_0285B2D4: ; // 0x285b2d4
|
|
/* 0285B2D4 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 0285B2D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285B2D4 */ cpu->r[1] = _t0;
|
|
/* 0285B2D8 */ cpu->r[0] = cpu->lr;
|
|
/* 0285B2DC */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 0285B2DC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0285B2E0 */ /* nop */
|
|
/* 0285B2E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B2E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0285B2E8 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 0285B2E8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0285B2EC */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 0285B2EC */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0285B2F0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B2F0 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 0285B2F4 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 0285B2F4 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[29]);
|
|
/* 0285B2F8 */ _t7 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0285B2F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0285B2FC */ /* nop */
|
|
/* 0285B300 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0285B300 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0285B304 */ _t9 = cpu->r[1] + 0x00000040u;
|
|
/* 0285B304 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
|
|
/* 0285B308 */ /* nop */
|
|
/* 0285B30C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B30C */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 0285B310 */ cpu->r[28] = cpu->r[4];
|
|
/* 0285B314 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 0285B314 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[29]);
|
|
/* 0285B318 */ _t12 = cpu->r[28] + 0x00000004u;
|
|
/* 0285B318 */ cpu->r[10] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0285B31C */ cpu->r[29] = 0x00000000u;
|
|
/* 0285B320 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285B324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 0285B328 */ cpu->f[29] = cpu->f[1];
|
|
/* 0285B32C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B32C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285B32C */ if (_t14) goto L_0285B330; else goto L_0285B3AC;
|
|
L_0285B330: ; // 0x285b330
|
|
/* 0285B330 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285B334 */ cpu->r[8] = 0x10130000u;
|
|
/* 0285B338 */ _t15 = cpu->r[10] + 0x000049D4u;
|
|
/* 0285B338 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0285B33C */ _t16 = cpu->r[8] + 0x000049E8u;
|
|
/* 0285B33C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0285B340 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFCu;
|
|
L_0285B344: ; // 0x285b344
|
|
/* 0285B344 */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 0285B344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285B344 */ cpu->r[30] = _t17;
|
|
/* 0285B348 */ cpu->r[12] = cpu->r[28] + cpu->r[0];
|
|
/* 0285B34C */ _t18 = cpu->r[12] + 0x00000008u;
|
|
/* 0285B34C */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285B350 */ cpu->f[1] = cpu->f[29];
|
|
/* 0285B354 */ _t19 = cpu->r[12] + 0x00000004u;
|
|
/* 0285B354 */ cpu->r[4] = rbrew_read16(cpu->mem, _t19);
|
|
/* 0285B358 */ cpu->r[3] = cpu->r[12] + cpu->r[6];
|
|
/* 0285B35C */ Gambit_fn_02869D1C(cpu);
|
|
/* 0285B360 */ _t20 = cpu->r[31] + 0x00000008u;
|
|
/* 0285B360 */ cpu->r[9] = rbrew_read16(cpu->mem, _t20);
|
|
/* 0285B364 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000012u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285B368 */ /* nop */
|
|
/* 0285B36C */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000001Cu);
|
|
/* 0285B370 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000014u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285B374 */ cpu->f[13] = cpu->f[12] - cpu->f[31];
|
|
/* 0285B378 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000016u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285B37C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000014u);
|
|
/* 0285B380 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285B384 */ _t21 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285B384 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285B388 */ cpu->r[6] = cpu->r[11] + cpu->r[0];
|
|
/* 0285B38C */ /* nop */
|
|
/* 0285B390 */ cpu->r[9] = cpu->r[6] + cpu->r[8];
|
|
/* 0285B394 */ cpu->r[12] = cpu->r[10] + cpu->r[9];
|
|
/* 0285B398 */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 0285B398 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 0285B39C */ _t23 = cpu->r[28] + 0x00000004u;
|
|
/* 0285B39C */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0285B3A0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0285B3A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0285B3A8 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B3A8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285B3A8 */ if (_t25) goto L_0285B344; else goto L_0285B3AC;
|
|
L_0285B3AC: ; // 0x285b3ac
|
|
/* 0285B3AC */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B3AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285B3B0 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B3B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285B3B4 */ _t28 = cpu->r[1] + 0x00000040u;
|
|
/* 0285B3B4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0285B3B8 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 0285B3B8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0285B3BC */ _t30 = cpu->r[1] + 0x00000038u;
|
|
/* 0285B3BC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 0285B3C0 */ _t31 = cpu->r[1] + 0x00000030u;
|
|
/* 0285B3C0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0285B3C4 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 0285B3C4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 0285B3C8 */ _t33 = cpu->r[1] + 0x00000028u;
|
|
/* 0285B3C8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 0285B3CC */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B3CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0285B3D0 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 0285B3D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0285B3D4 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B3D4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0285B3D4 */ if (_t37) goto L_0285B3D8; // else: addr-0 trap, fall-through
|
|
L_0285B3D8: ; // 0x285b3d8
|
|
/* 0285B3D8 */ _t38 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0285B3D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0285B3DC */ cpu->lr = cpu->r[0];
|
|
/* 0285B3E0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 0285B3E4 */ return;
|
|
}
|
|
|
|
// fn_0285B3E8 @ 0x285b3e8
|
|
void Gambit_fn_0285B3E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_0285B3E8: ; // 0x285b3e8
|
|
/* 0285B3E8 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 0285B3E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285B3E8 */ cpu->r[1] = _t0;
|
|
/* 0285B3EC */ /* nop */
|
|
/* 0285B3F0 */ cpu->r[0] = cpu->lr;
|
|
/* 0285B3F4 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 0285B3F4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 0285B3F8 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 0285B3F8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 0285B3FC */ /* nop */
|
|
/* 0285B400 */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 0285B400 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0285B404 */ /* nop */
|
|
/* 0285B408 */ _t4 = cpu->r[1] + 0x00000058u;
|
|
/* 0285B408 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0285B40C */ /* nop */
|
|
/* 0285B410 */ _t5 = cpu->r[1] + 0x00000030u;
|
|
/* 0285B410 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]);
|
|
/* 0285B414 */ _t6 = cpu->r[1] + 0x00000040u;
|
|
/* 0285B414 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[29]);
|
|
/* 0285B418 */ /* nop */
|
|
/* 0285B41C */ _t7 = cpu->r[1] + 0x00000050u;
|
|
/* 0285B41C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 0285B420 */ _t8 = cpu->r[1] + 0x00000060u;
|
|
/* 0285B420 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 0285B424 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285B428 */ _t9 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0285B428 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0285B42C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0285B42C */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0285B430 */ cpu->r[29] = 0x00000000u;
|
|
/* 0285B434 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285B438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0285B43C */ cpu->f[28] = cpu->f[1];
|
|
/* 0285B440 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B440 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285B440 */ if (_t12) goto L_0285B444; else goto L_0285B518;
|
|
L_0285B444: ; // 0x285b444
|
|
/* 0285B444 */ cpu->r[9] = 0x10130000u;
|
|
/* 0285B448 */ cpu->r[8] = 0x10130000u;
|
|
/* 0285B44C */ _t13 = cpu->r[9] + 0x000049E4u;
|
|
/* 0285B44C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0285B450 */ cpu->r[6] = 0x10130000u;
|
|
/* 0285B454 */ _t14 = cpu->r[8] + 0x000049E0u;
|
|
/* 0285B454 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0285B458 */ _t15 = cpu->r[6] + 0x000049D4u;
|
|
/* 0285B458 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0285B45C */ cpu->r[28] = cpu->r[5] + 0xFFFFFFFCu;
|
|
L_0285B460: ; // 0x285b460
|
|
/* 0285B460 */ _t16 = cpu->r[28] + 0x00000004u;
|
|
/* 0285B460 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285B460 */ cpu->r[28] = _t16;
|
|
/* 0285B464 */ cpu->r[27] = cpu->r[31] + cpu->r[6];
|
|
/* 0285B468 */ _t17 = cpu->r[27] + 0x00000008u;
|
|
/* 0285B468 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285B46C */ cpu->f[1] = cpu->f[28];
|
|
/* 0285B470 */ _t18 = cpu->r[27] + 0x00000004u;
|
|
/* 0285B470 */ cpu->r[4] = rbrew_read16(cpu->mem, _t18);
|
|
/* 0285B474 */ cpu->r[3] = cpu->r[27] + cpu->r[0];
|
|
/* 0285B478 */ Gambit_fn_02869D1C(cpu);
|
|
/* 0285B47C */ _t19 = cpu->r[30] + 0x00000008u;
|
|
/* 0285B47C */ cpu->r[10] = rbrew_read16(cpu->mem, _t19);
|
|
/* 0285B480 */ cpu->f[0] = cpu->f[1] + cpu->f[31];
|
|
/* 0285B484 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285B488 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000016u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285B48C */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000014u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285B490 */ /* nop */
|
|
/* 0285B494 */ cpu->r[0] = cpu->r[9] + cpu->r[11];
|
|
/* 0285B498 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000014u);
|
|
/* 0285B49C */ cpu->f[11] = cpu->f[0] - cpu->f[30];
|
|
/* 0285B4A0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x00000012u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285B4A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285B4A8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285B4AC */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000001Cu);
|
|
/* 0285B4B0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[10], 0x0000001Fu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285B4B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285B4B8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000019u, 0x0000001Du, 0x0000001Fu);
|
|
/* 0285B4BC */ cpu->r[4] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285B4C0 */ /* nop */
|
|
/* 0285B4C4 */ cpu->r[10] = cpu->r[7] + cpu->r[9];
|
|
/* 0285B4C8 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000000Cu);
|
|
/* 0285B4CC */ cpu->r[11] = cpu->r[5] + cpu->r[10];
|
|
/* 0285B4D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285B4D4 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[12];
|
|
/* 0285B4D8 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 0285B4DC */ _t20 = cpu->r[27] + 0x00000001u;
|
|
/* 0285B4DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0285B4E0 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000014u);
|
|
/* 0285B4E4 */ cpu->r[8] = cpu->r[12] + cpu->r[8];
|
|
/* 0285B4E8 */ _t21 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285B4E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285B4EC */ cpu->r[12] = cpu->r[8] + cpu->r[10];
|
|
/* 0285B4F0 */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
/* 0285B4F4 */ cpu->r[11] = cpu->r[12] + cpu->r[7];
|
|
/* 0285B4F8 */ /* nop */
|
|
/* 0285B4FC */ _t22 = cpu->r[1] + 0x0000000Bu;
|
|
/* 0285B4FC */ cpu->r[5] = rbrew_read8(cpu->mem, _t22);
|
|
/* 0285B500 */ cpu->r[11] = cpu->r[9] + cpu->r[11];
|
|
/* 0285B504 */ _t23 = cpu->r[11] + cpu->r[0];
|
|
/* 0285B504 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[5]);
|
|
/* 0285B508 */ _t24 = cpu->r[31] + 0x00000004u;
|
|
/* 0285B508 */ cpu->r[10] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0285B50C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0285B510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 0285B514 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B514 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0285B514 */ if (_t26) goto L_0285B460; else goto L_0285B518;
|
|
L_0285B518: ; // 0x285b518
|
|
/* 0285B518 */ /* nop */
|
|
/* 0285B51C */ _t27 = cpu->r[1] + 0x00000040u;
|
|
/* 0285B51C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0285B520 */ _t28 = cpu->r[1] + 0x00000050u;
|
|
/* 0285B520 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0285B524 */ _t29 = cpu->r[1] + 0x00000038u;
|
|
/* 0285B524 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 0285B528 */ _t30 = cpu->r[1] + 0x00000048u;
|
|
/* 0285B528 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t30);
|
|
/* 0285B52C */ _t31 = cpu->r[1] + 0x00000030u;
|
|
/* 0285B52C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 0285B530 */ _t32 = cpu->r[1] + 0x00000060u;
|
|
/* 0285B530 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 0285B534 */ _t33 = cpu->r[1] + 0x00000028u;
|
|
/* 0285B534 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 0285B538 */ _t34 = cpu->r[1] + 0x00000058u;
|
|
/* 0285B538 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t34);
|
|
/* 0285B53C */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B53C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0285B53C */ if (_t36) goto L_0285B540; // else: addr-0 trap, fall-through
|
|
L_0285B540: ; // 0x285b540
|
|
/* 0285B540 */ _t37 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0285B540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0285B544 */ cpu->lr = cpu->r[0];
|
|
/* 0285B548 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 0285B54C */ return;
|
|
}
|
|
|
|
// fn_0285B550 @ 0x285b550
|
|
void Gambit_fn_0285B550(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_0285B550: ; // 0x285b550
|
|
/* 0285B550 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285B550 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285B550 */ cpu->r[1] = _t0;
|
|
/* 0285B554 */ /* nop */
|
|
/* 0285B558 */ cpu->r[0] = cpu->lr;
|
|
/* 0285B55C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0285B55C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285B560 */ cpu->r[30] = cpu->r[5];
|
|
/* 0285B564 */ _t2 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285B564 */ cpu->r[8] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0285B568 */ cpu->r[29] = 0x00000000u;
|
|
/* 0285B56C */ cpu->r[27] = cpu->r[3];
|
|
/* 0285B570 */ cpu->r[28] = cpu->r[4];
|
|
/* 0285B574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 0285B578 */ cpu->r[12] = cpu->r[30] + 0x00000020u;
|
|
/* 0285B57C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B57C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285B57C */ if (_t4) goto L_0285B580; else goto L_0285B6A8;
|
|
L_0285B580: ; // 0x285b580
|
|
/* 0285B580 */ cpu->r[31] = cpu->r[12] + 0xFFFFFFFCu;
|
|
L_0285B584: ; // 0x285b584
|
|
/* 0285B584 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 0285B584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285B584 */ cpu->r[31] = _t5;
|
|
/* 0285B588 */ cpu->r[11] = 0x464C0000u;
|
|
/* 0285B58C */ _t6 = cpu->r[30] + cpu->r[0];
|
|
/* 0285B58C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285B590 */ cpu->r[11] = cpu->r[11] + 0x00004D43u;
|
|
/* 0285B594 */ cpu->r[4] = cpu->r[30] + cpu->r[0];
|
|
/* 0285B598 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 0285B59C */ cpu->r[5] = cpu->r[4] + 0x00000008u;
|
|
/* 0285B5A0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B5A0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285B5A0 */ if (_t8) goto L_0285B5A4; else goto L_0285B5E4;
|
|
L_0285B5A4: ; // 0x285b5a4
|
|
/* 0285B5A4 */ cpu->r[12] = 0x464C0000u;
|
|
/* 0285B5A8 */ cpu->r[12] = cpu->r[12] + 0x00004143u;
|
|
/* 0285B5AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0285B5B0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B5B0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285B5B0 */ if (_t10) goto L_0285B678; else goto L_0285B5B4;
|
|
L_0285B5B4: ; // 0x285b5b4
|
|
/* 0285B5B4 */ cpu->r[0] = 0x464C0000u;
|
|
/* 0285B5B8 */ cpu->r[0] = cpu->r[0] | 0x00004653u;
|
|
/* 0285B5BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 0285B5C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B5C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285B5C0 */ if (_t12) goto L_0285B68C; else goto L_0285B5C4;
|
|
L_0285B5C4: ; // 0x285b5c4
|
|
/* 0285B5C4 */ cpu->r[10] = 0x464C0000u;
|
|
/* 0285B5C8 */ cpu->r[10] = cpu->r[10] + 0x0000494Du;
|
|
/* 0285B5CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 0285B5D0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B5D0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285B5D0 */ if (_t14) goto L_0285B664; else goto L_0285B5D4;
|
|
L_0285B5D4: ; // 0x285b5d4
|
|
/* 0285B5D4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0285B5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 0285B5DC */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B5DC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285B5DC */ if (_t16) goto L_0285B584; else goto L_0285B5E0;
|
|
L_0285B5E0: ; // 0x285b5e0
|
|
/* 0285B5E0 */ goto L_0285B6A8;
|
|
L_0285B5E4: ; // 0x285b5e4
|
|
/* 0285B5E4 */ cpu->r[11] = 0x464C0000u;
|
|
/* 0285B5E8 */ cpu->r[11] = cpu->r[11] + 0x00004D43u;
|
|
/* 0285B5EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 0285B5F0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B5F0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285B5F0 */ if (_t18) goto L_0285B624; else goto L_0285B5F4;
|
|
L_0285B5F4: ; // 0x285b5f4
|
|
/* 0285B5F4 */ cpu->r[12] = 0x464C0000u;
|
|
/* 0285B5F8 */ cpu->r[12] = cpu->r[12] + 0x00005450u;
|
|
/* 0285B5FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 0285B600 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B600 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285B600 */ if (_t20) goto L_0285B64C; else goto L_0285B604;
|
|
L_0285B604: ; // 0x285b604
|
|
/* 0285B604 */ cpu->r[0] = 0x464C0000u;
|
|
/* 0285B608 */ cpu->r[0] = cpu->r[0] | 0x00005453u;
|
|
/* 0285B60C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 0285B610 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B610 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0285B610 */ if (_t22) goto L_0285B638; else goto L_0285B614;
|
|
L_0285B614: ; // 0x285b614
|
|
/* 0285B614 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0285B618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 0285B61C */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B61C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0285B61C */ if (_t24) goto L_0285B584; else goto L_0285B620;
|
|
L_0285B620: ; // 0x285b620
|
|
/* 0285B620 */ goto L_0285B6A8;
|
|
L_0285B624: ; // 0x285b624
|
|
/* 0285B624 */ _t25 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0285B624 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0285B628 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285B62C */ Gambit_fn_0285AF08(cpu);
|
|
/* 0285B630 */ _t26 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285B630 */ cpu->r[8] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0285B634 */ goto L_0285B69C;
|
|
L_0285B638: ; // 0x285b638
|
|
/* 0285B638 */ _t27 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0285B638 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 0285B63C */ cpu->r[3] = cpu->r[28];
|
|
/* 0285B640 */ Gambit_fn_0285B098(cpu);
|
|
/* 0285B644 */ _t28 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285B644 */ cpu->r[8] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0285B648 */ goto L_0285B69C;
|
|
L_0285B64C: ; // 0x285b64c
|
|
/* 0285B64C */ _t29 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0285B64C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 0285B650 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285B654 */ _t30 = cpu->r[27] + 0x00000018u;
|
|
/* 0285B654 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0285B658 */ Gambit_fn_0285B14C(cpu);
|
|
/* 0285B65C */ _t31 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285B65C */ cpu->r[8] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0285B660 */ goto L_0285B69C;
|
|
L_0285B664: ; // 0x285b664
|
|
/* 0285B664 */ _t32 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0285B664 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 0285B668 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285B66C */ Gambit_fn_0285B200(cpu);
|
|
/* 0285B670 */ _t33 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285B670 */ cpu->r[8] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0285B674 */ goto L_0285B69C;
|
|
L_0285B678: ; // 0x285b678
|
|
/* 0285B678 */ _t34 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0285B678 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0285B67C */ cpu->r[3] = cpu->r[28];
|
|
/* 0285B680 */ Gambit_fn_0285B2D4(cpu);
|
|
/* 0285B684 */ _t35 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285B684 */ cpu->r[8] = rbrew_read8(cpu->mem, _t35);
|
|
/* 0285B688 */ goto L_0285B69C;
|
|
L_0285B68C: ; // 0x285b68c
|
|
/* 0285B68C */ _t36 = cpu->r[27] + 0x0000000Cu;
|
|
/* 0285B68C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 0285B690 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285B694 */ Gambit_fn_0285B3E8(cpu);
|
|
/* 0285B698 */ _t37 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285B698 */ cpu->r[8] = rbrew_read8(cpu->mem, _t37);
|
|
L_0285B69C: ; // 0x285b69c
|
|
/* 0285B69C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0285B6A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 0285B6A4 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B6A4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0285B6A4 */ if (_t39) goto L_0285B584; else goto L_0285B6A8;
|
|
L_0285B6A8: ; // 0x285b6a8
|
|
/* 0285B6A8 */ /* nop */
|
|
/* 0285B6AC */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 0285B6AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0285B6B0 */ cpu->lr = cpu->r[0];
|
|
/* 0285B6B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285B6B8 */ return;
|
|
}
|
|
|
|
// fn_0285B6BC @ 0x285b6bc
|
|
void Gambit_fn_0285B6BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0285B6BC: ; // 0x285b6bc
|
|
/* 0285B6BC */ cpu->r[12] = 0x00000000u;
|
|
/* 0285B6C0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0285B6C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[12]);
|
|
/* 0285B6C4 */ _t1 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285B6C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0285B6C8 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 0285B6C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0285B6CC */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 0285B6CC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0285B6D0 */ return;
|
|
}
|
|
|
|
// fn_0285B6D4 @ 0x285b6d4
|
|
void Gambit_fn_0285B6D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_0285B6D4: ; // 0x285b6d4
|
|
/* 0285B6D4 */ cpu->r[0] = cpu->lr;
|
|
/* 0285B6D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285B6D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285B6D8 */ cpu->r[1] = _t0;
|
|
/* 0285B6DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B6DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285B6E0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B6E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285B6E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285B6E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285B6EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B6EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285B6F0 */ Gambit_fn_0285B6BC(cpu);
|
|
/* 0285B6F4 */ cpu->r[4] = 0x464C0000u;
|
|
/* 0285B6F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285B6FC */ cpu->r[5] = 0x05020000u;
|
|
/* 0285B700 */ cpu->r[4] = cpu->r[4] + 0x0000414Eu;
|
|
/* 0285B704 */ cpu->r[6] = 0x00000001u;
|
|
/* 0285B708 */ Gambit_fn_0285A050(cpu);
|
|
/* 0285B70C */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 0285B70C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0285B710 */ _t5 = cpu->r[31] + 0x00000010u;
|
|
/* 0285B710 */ cpu->r[9] = rbrew_read16(cpu->mem, _t5);
|
|
/* 0285B714 */ cpu->r[7] = 0x00000000u;
|
|
/* 0285B718 */ _t6 = cpu->r[31] + 0x00000006u;
|
|
/* 0285B718 */ cpu->r[8] = rbrew_read16(cpu->mem, _t6);
|
|
/* 0285B71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[9]);
|
|
/* 0285B720 */ cpu->r[6] = cpu->r[31] + cpu->r[8];
|
|
/* 0285B724 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B724 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285B724 */ if (_t8) goto L_0285B728; else goto L_0285B7B8;
|
|
L_0285B728: ; // 0x285b728
|
|
/* 0285B728 */ cpu->r[11] = 0x70610000u;
|
|
/* 0285B72C */ _t9 = cpu->r[6] + 0x00000000u;
|
|
/* 0285B72C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285B730 */ cpu->r[11] = cpu->r[11] + 0x00006831u;
|
|
/* 0285B734 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 0285B738 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B738 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285B738 */ if (_t11) goto L_0285B77C; else goto L_0285B73C;
|
|
L_0285B73C: ; // 0x285b73c
|
|
/* 0285B73C */ cpu->r[12] = 0x70610000u;
|
|
/* 0285B740 */ cpu->r[12] = cpu->r[12] + 0x00006931u;
|
|
/* 0285B744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
|
|
/* 0285B748 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B748 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285B748 */ if (_t13) goto L_0285B79C; else goto L_0285B74C;
|
|
L_0285B74C: ; // 0x285b74c
|
|
/* 0285B74C */ cpu->r[0] = 0x70610000u;
|
|
/* 0285B750 */ cpu->r[0] = cpu->r[0] | 0x00007431u;
|
|
/* 0285B754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 0285B758 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B758 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285B758 */ if (_t15) goto L_0285B75C; else goto L_0285B7A0;
|
|
L_0285B75C: ; // 0x285b75c
|
|
/* 0285B75C */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 0285B75C */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 0285B760 */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 0285B760 */ cpu->r[0] = rbrew_read16(cpu->mem, _t17);
|
|
/* 0285B764 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0285B768 */ _t18 = cpu->r[6] + 0x00000004u;
|
|
/* 0285B768 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285B76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]);
|
|
/* 0285B770 */ cpu->r[6] = cpu->r[6] + cpu->r[12];
|
|
/* 0285B774 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B774 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285B774 */ if (_t20) goto L_0285B728; else goto L_0285B778;
|
|
L_0285B778: ; // 0x285b778
|
|
/* 0285B778 */ goto L_0285B7B8;
|
|
L_0285B77C: ; // 0x285b77c
|
|
/* 0285B77C */ _t21 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285B77C */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 0285B780 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 0285B780 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22);
|
|
/* 0285B784 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0285B788 */ _t23 = cpu->r[6] + 0x00000004u;
|
|
/* 0285B788 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285B78C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]);
|
|
/* 0285B790 */ cpu->r[6] = cpu->r[6] + cpu->r[12];
|
|
/* 0285B794 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B794 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285B794 */ if (_t25) goto L_0285B728; else goto L_0285B798;
|
|
L_0285B798: ; // 0x285b798
|
|
/* 0285B798 */ goto L_0285B7B8;
|
|
L_0285B79C: ; // 0x285b79c
|
|
/* 0285B79C */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 0285B79C */ rbrew_write32(cpu->mem, _t26, cpu->r[6]);
|
|
L_0285B7A0: ; // 0x285b7a0
|
|
/* 0285B7A0 */ _t27 = cpu->r[31] + 0x00000010u;
|
|
/* 0285B7A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t27);
|
|
/* 0285B7A4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0285B7A8 */ _t28 = cpu->r[6] + 0x00000004u;
|
|
/* 0285B7A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0285B7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]);
|
|
/* 0285B7B0 */ cpu->r[6] = cpu->r[6] + cpu->r[12];
|
|
/* 0285B7B4 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B7B4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0285B7B4 */ if (_t30) goto L_0285B728; else goto L_0285B7B8;
|
|
L_0285B7B8: ; // 0x285b7b8
|
|
/* 0285B7B8 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0285B7BC */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B7BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0285B7C0 */ cpu->lr = cpu->r[0];
|
|
/* 0285B7C4 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B7C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0285B7C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285B7CC */ return;
|
|
}
|
|
|
|
// fn_0285B6D8 @ 0x285b6d8
|
|
void Gambit_fn_0285B6D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_0285B6D8: ; // 0x285b6d8
|
|
/* 0285B6D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285B6D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285B6D8 */ cpu->r[1] = _t0;
|
|
/* 0285B6DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B6DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285B6E0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B6E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285B6E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285B6E8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285B6EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B6EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285B6F0 */ Gambit_fn_0285B6BC(cpu);
|
|
/* 0285B6F4 */ cpu->r[4] = 0x464C0000u;
|
|
/* 0285B6F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285B6FC */ cpu->r[5] = 0x05020000u;
|
|
/* 0285B700 */ cpu->r[4] = cpu->r[4] + 0x0000414Eu;
|
|
/* 0285B704 */ cpu->r[6] = 0x00000001u;
|
|
/* 0285B708 */ Gambit_fn_0285A050(cpu);
|
|
/* 0285B70C */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 0285B70C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0285B710 */ _t5 = cpu->r[31] + 0x00000010u;
|
|
/* 0285B710 */ cpu->r[9] = rbrew_read16(cpu->mem, _t5);
|
|
/* 0285B714 */ cpu->r[7] = 0x00000000u;
|
|
/* 0285B718 */ _t6 = cpu->r[31] + 0x00000006u;
|
|
/* 0285B718 */ cpu->r[8] = rbrew_read16(cpu->mem, _t6);
|
|
/* 0285B71C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[9]);
|
|
/* 0285B720 */ cpu->r[6] = cpu->r[31] + cpu->r[8];
|
|
/* 0285B724 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B724 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285B724 */ if (_t8) goto L_0285B728; else goto L_0285B7B8;
|
|
L_0285B728: ; // 0x285b728
|
|
/* 0285B728 */ cpu->r[11] = 0x70610000u;
|
|
/* 0285B72C */ _t9 = cpu->r[6] + 0x00000000u;
|
|
/* 0285B72C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285B730 */ cpu->r[11] = cpu->r[11] + 0x00006831u;
|
|
/* 0285B734 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 0285B738 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B738 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285B738 */ if (_t11) goto L_0285B77C; else goto L_0285B73C;
|
|
L_0285B73C: ; // 0x285b73c
|
|
/* 0285B73C */ cpu->r[12] = 0x70610000u;
|
|
/* 0285B740 */ cpu->r[12] = cpu->r[12] + 0x00006931u;
|
|
/* 0285B744 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
|
|
/* 0285B748 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B748 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285B748 */ if (_t13) goto L_0285B79C; else goto L_0285B74C;
|
|
L_0285B74C: ; // 0x285b74c
|
|
/* 0285B74C */ cpu->r[0] = 0x70610000u;
|
|
/* 0285B750 */ cpu->r[0] = cpu->r[0] | 0x00007431u;
|
|
/* 0285B754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 0285B758 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B758 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285B758 */ if (_t15) goto L_0285B75C; else goto L_0285B7A0;
|
|
L_0285B75C: ; // 0x285b75c
|
|
/* 0285B75C */ _t16 = cpu->r[30] + 0x00000008u;
|
|
/* 0285B75C */ rbrew_write32(cpu->mem, _t16, cpu->r[6]);
|
|
/* 0285B760 */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 0285B760 */ cpu->r[0] = rbrew_read16(cpu->mem, _t17);
|
|
/* 0285B764 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0285B768 */ _t18 = cpu->r[6] + 0x00000004u;
|
|
/* 0285B768 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285B76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]);
|
|
/* 0285B770 */ cpu->r[6] = cpu->r[6] + cpu->r[12];
|
|
/* 0285B774 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B774 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285B774 */ if (_t20) goto L_0285B728; else goto L_0285B778;
|
|
L_0285B778: ; // 0x285b778
|
|
/* 0285B778 */ goto L_0285B7B8;
|
|
L_0285B77C: ; // 0x285b77c
|
|
/* 0285B77C */ _t21 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285B77C */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 0285B780 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 0285B780 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22);
|
|
/* 0285B784 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0285B788 */ _t23 = cpu->r[6] + 0x00000004u;
|
|
/* 0285B788 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285B78C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]);
|
|
/* 0285B790 */ cpu->r[6] = cpu->r[6] + cpu->r[12];
|
|
/* 0285B794 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B794 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285B794 */ if (_t25) goto L_0285B728; else goto L_0285B798;
|
|
L_0285B798: ; // 0x285b798
|
|
/* 0285B798 */ goto L_0285B7B8;
|
|
L_0285B79C: ; // 0x285b79c
|
|
/* 0285B79C */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 0285B79C */ rbrew_write32(cpu->mem, _t26, cpu->r[6]);
|
|
L_0285B7A0: ; // 0x285b7a0
|
|
/* 0285B7A0 */ _t27 = cpu->r[31] + 0x00000010u;
|
|
/* 0285B7A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t27);
|
|
/* 0285B7A4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0285B7A8 */ _t28 = cpu->r[6] + 0x00000004u;
|
|
/* 0285B7A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0285B7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]);
|
|
/* 0285B7B0 */ cpu->r[6] = cpu->r[6] + cpu->r[12];
|
|
/* 0285B7B4 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285B7B4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0285B7B4 */ if (_t30) goto L_0285B728; else goto L_0285B7B8;
|
|
L_0285B7B8: ; // 0x285b7b8
|
|
/* 0285B7B8 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B7B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0285B7BC */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B7BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0285B7C0 */ cpu->lr = cpu->r[0];
|
|
/* 0285B7C4 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B7C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0285B7C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285B7CC */ return;
|
|
}
|
|
|
|
// fn_0285B7D0 @ 0x285b7d0
|
|
void Gambit_fn_0285B7D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0285B7D0: ; // 0x285b7d0
|
|
/* 0285B7D0 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0285B7D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285B7D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285B7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285B7DC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B7DC */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285B7DC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285B7DC */ goto L_0285B7E0;
|
|
L_0285B7E0: ; // 0x285b7e0
|
|
/* 0285B7E0 */ _t3 = cpu->r[12] + 0x0000000Au;
|
|
/* 0285B7E0 */ cpu->r[3] = rbrew_read16(cpu->mem, _t3);
|
|
/* 0285B7E4 */ return;
|
|
}
|
|
|
|
// fn_0285B7E8 @ 0x285b7e8
|
|
void Gambit_fn_0285B7E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0285B7E8: ; // 0x285b7e8
|
|
/* 0285B7E8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0285B7E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285B7EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285B7F0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B7F0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285B7F0 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285B7F0 */ goto L_0285B7F4;
|
|
L_0285B7F4: ; // 0x285b7f4
|
|
/* 0285B7F4 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 0285B7F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285B7F8 */ cpu->r[3] = cpu->r[3] + cpu->r[0];
|
|
/* 0285B7FC */ return;
|
|
}
|
|
|
|
// fn_0285B800 @ 0x285b800
|
|
void Gambit_fn_0285B800(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285B800: ; // 0x285b800
|
|
/* 0285B800 */ cpu->r[9] = 0x00000018u;
|
|
/* 0285B804 */ cpu->ctr = cpu->r[9];
|
|
/* 0285B808 */ cpu->r[12] = 0x00000000u;
|
|
L_0285B80C: ; // 0x285b80c
|
|
/* 0285B80C */ _t0 = cpu->r[3] + cpu->r[12];
|
|
/* 0285B80C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0285B810 */ _t1 = cpu->r[4] + cpu->r[12];
|
|
/* 0285B810 */ cpu->r[10] = rbrew_read8(cpu->mem, _t1);
|
|
/* 0285B814 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 0285B818 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B818 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285B818 */ if (_t3) goto L_0285B824; else goto L_0285B81C;
|
|
L_0285B81C: ; // 0x285b81c
|
|
/* 0285B81C */ cpu->r[3] = 0x00000000u;
|
|
/* 0285B820 */ return;
|
|
L_0285B824: ; // 0x285b824
|
|
/* 0285B824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285B828 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B828 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285B828 */ if (_t5) goto L_0285B834; else goto L_0285B82C;
|
|
L_0285B82C: ; // 0x285b82c
|
|
/* 0285B82C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0285B830 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285B830 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285B830 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 0285B830 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285B830 */ if (_t8) goto L_0285B80C; else goto L_0285B834;
|
|
L_0285B834: ; // 0x285b834
|
|
/* 0285B834 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285B838 */ return;
|
|
}
|
|
|
|
// fn_0285B83C @ 0x285b83c
|
|
void Gambit_fn_0285B83C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285B83C: ; // 0x285b83c
|
|
/* 0285B83C */ cpu->r[9] = 0x0000001Cu;
|
|
/* 0285B840 */ cpu->ctr = cpu->r[9];
|
|
/* 0285B844 */ cpu->r[12] = 0x00000000u;
|
|
L_0285B848: ; // 0x285b848
|
|
/* 0285B848 */ _t0 = cpu->r[3] + cpu->r[12];
|
|
/* 0285B848 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0285B84C */ _t1 = cpu->r[4] + cpu->r[12];
|
|
/* 0285B84C */ cpu->r[10] = rbrew_read8(cpu->mem, _t1);
|
|
/* 0285B850 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 0285B854 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B854 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285B854 */ if (_t3) goto L_0285B860; else goto L_0285B858;
|
|
L_0285B858: ; // 0x285b858
|
|
/* 0285B858 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285B85C */ return;
|
|
L_0285B860: ; // 0x285b860
|
|
/* 0285B860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285B864 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B864 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285B864 */ if (_t5) goto L_0285B870; else goto L_0285B868;
|
|
L_0285B868: ; // 0x285b868
|
|
/* 0285B868 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0285B86C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285B86C */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285B86C */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 0285B86C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285B86C */ if (_t8) goto L_0285B848; else goto L_0285B870;
|
|
L_0285B870: ; // 0x285b870
|
|
/* 0285B870 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285B874 */ return;
|
|
}
|
|
|
|
// fn_0285B878 @ 0x285b878
|
|
void Gambit_fn_0285B878(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_0285B878: ; // 0x285b878
|
|
/* 0285B878 */ cpu->r[0] = cpu->lr;
|
|
/* 0285B87C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285B87C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285B87C */ cpu->r[1] = _t0;
|
|
/* 0285B880 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B880 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285B884 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B884 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285B888 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285B888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285B88C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B88C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285B890 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B890 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285B890 */ if (_t5) goto L_0285B894; else goto L_0285B8A4;
|
|
L_0285B894: ; // 0x285b894
|
|
/* 0285B894 */ cpu->r[3] = 0x00000030u;
|
|
/* 0285B898 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285B89C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285B89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285B8A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B8A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285B8A0 */ if (_t7) goto L_0285B8E8; else goto L_0285B8A4;
|
|
L_0285B8A4: ; // 0x285b8a4
|
|
/* 0285B8A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285B8A8 */ Gambit_fn_0285A298(cpu);
|
|
/* 0285B8AC */ cpu->r[12] = 0x10130000u;
|
|
/* 0285B8B0 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285B8B4 */ _t8 = cpu->r[12] + 0x00004B20u;
|
|
/* 0285B8B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0285B8B8 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285B8BC */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 0285B8BC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0285B8C0 */ cpu->r[0] = cpu->r[0] + 0x00004B30u;
|
|
/* 0285B8C4 */ _t10 = cpu->r[31] + 0x00000024u;
|
|
/* 0285B8C4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 0285B8C8 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 0285B8C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285B8CC */ _t11 = cpu->r[31] + 0x00000014u;
|
|
/* 0285B8CC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0285B8D0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B8D0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285B8D0 */ if (_t13) goto L_0285B8D4; else goto L_0285B8E4;
|
|
L_0285B8D4: ; // 0x285b8d4
|
|
/* 0285B8D4 */ cpu->r[3] = 0x00000004u;
|
|
/* 0285B8D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285B8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285B8E0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B8E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285B8E0 */ if (_t15) goto L_0285B8E8; else goto L_0285B8E4;
|
|
L_0285B8E4: ; // 0x285b8e4
|
|
/* 0285B8E4 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0285B8E4 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
L_0285B8E8: ; // 0x285b8e8
|
|
/* 0285B8E8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B8E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285B8EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285B8F0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B8F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285B8F4 */ cpu->lr = cpu->r[0];
|
|
/* 0285B8F8 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B8F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285B8FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285B900 */ return;
|
|
}
|
|
|
|
// fn_0285B87C @ 0x285b87c
|
|
void Gambit_fn_0285B87C(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_0285B87C: ; // 0x285b87c
|
|
/* 0285B87C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285B87C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285B87C */ cpu->r[1] = _t0;
|
|
/* 0285B880 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B880 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285B884 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B884 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285B888 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285B888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285B88C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B88C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285B890 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B890 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285B890 */ if (_t5) goto L_0285B894; else goto L_0285B8A4;
|
|
L_0285B894: ; // 0x285b894
|
|
/* 0285B894 */ cpu->r[3] = 0x00000030u;
|
|
/* 0285B898 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285B89C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285B89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285B8A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B8A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285B8A0 */ if (_t7) goto L_0285B8E8; else goto L_0285B8A4;
|
|
L_0285B8A4: ; // 0x285b8a4
|
|
/* 0285B8A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285B8A8 */ Gambit_fn_0285A298(cpu);
|
|
/* 0285B8AC */ cpu->r[12] = 0x10130000u;
|
|
/* 0285B8B0 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285B8B4 */ _t8 = cpu->r[12] + 0x00004B20u;
|
|
/* 0285B8B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0285B8B8 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285B8BC */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 0285B8BC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0285B8C0 */ cpu->r[0] = cpu->r[0] + 0x00004B30u;
|
|
/* 0285B8C4 */ _t10 = cpu->r[31] + 0x00000024u;
|
|
/* 0285B8C4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 0285B8C8 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 0285B8C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285B8CC */ _t11 = cpu->r[31] + 0x00000014u;
|
|
/* 0285B8CC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0285B8D0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B8D0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285B8D0 */ if (_t13) goto L_0285B8D4; else goto L_0285B8E4;
|
|
L_0285B8D4: ; // 0x285b8d4
|
|
/* 0285B8D4 */ cpu->r[3] = 0x00000004u;
|
|
/* 0285B8D8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285B8DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285B8E0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B8E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285B8E0 */ if (_t15) goto L_0285B8E8; else goto L_0285B8E4;
|
|
L_0285B8E4: ; // 0x285b8e4
|
|
/* 0285B8E4 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0285B8E4 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
L_0285B8E8: ; // 0x285b8e8
|
|
/* 0285B8E8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B8E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285B8EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285B8F0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B8F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285B8F4 */ cpu->lr = cpu->r[0];
|
|
/* 0285B8F8 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B8F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285B8FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285B900 */ return;
|
|
}
|
|
|
|
// fn_0285B904 @ 0x285b904
|
|
void Gambit_fn_0285B904(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285B904: ; // 0x285b904
|
|
/* 0285B904 */ cpu->r[0] = cpu->lr;
|
|
/* 0285B908 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285B908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285B908 */ cpu->r[1] = _t0;
|
|
/* 0285B90C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B90C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285B910 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B910 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285B914 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285B914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285B918 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285B91C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B91C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285B920 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B920 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285B920 */ if (_t5) goto L_0285B940; else goto L_0285B924;
|
|
L_0285B924: ; // 0x285b924
|
|
/* 0285B924 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285B928 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285B92C */ Gambit_fn_0285A300(cpu);
|
|
/* 0285B930 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285B930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285B934 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B934 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285B934 */ if (_t7) goto L_0285B940; else goto L_0285B938;
|
|
L_0285B938: ; // 0x285b938
|
|
/* 0285B938 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285B93C */ Gambit_fn_02801BB0(cpu);
|
|
L_0285B940: ; // 0x285b940
|
|
/* 0285B940 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285B944 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285B948 */ cpu->lr = cpu->r[0];
|
|
/* 0285B94C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B94C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285B950 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285B954 */ return;
|
|
}
|
|
|
|
// fn_0285B908 @ 0x285b908
|
|
void Gambit_fn_0285B908(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285B908: ; // 0x285b908
|
|
/* 0285B908 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285B908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285B908 */ cpu->r[1] = _t0;
|
|
/* 0285B90C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B90C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285B910 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B910 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285B914 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285B914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285B918 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285B91C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B91C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285B920 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B920 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285B920 */ if (_t5) goto L_0285B940; else goto L_0285B924;
|
|
L_0285B924: ; // 0x285b924
|
|
/* 0285B924 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285B928 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285B92C */ Gambit_fn_0285A300(cpu);
|
|
/* 0285B930 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285B930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285B934 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B934 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285B934 */ if (_t7) goto L_0285B940; else goto L_0285B938;
|
|
L_0285B938: ; // 0x285b938
|
|
/* 0285B938 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285B93C */ Gambit_fn_02801BB0(cpu);
|
|
L_0285B940: ; // 0x285b940
|
|
/* 0285B940 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285B944 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285B948 */ cpu->lr = cpu->r[0];
|
|
/* 0285B94C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B94C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285B950 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285B954 */ return;
|
|
}
|
|
|
|
// fn_0285B958 @ 0x285b958
|
|
void Gambit_fn_0285B958(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_0285B958: ; // 0x285b958
|
|
/* 0285B958 */ cpu->r[0] = cpu->lr;
|
|
/* 0285B95C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0285B95C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285B95C */ cpu->r[1] = _t0;
|
|
/* 0285B960 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0285B960 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0285B964 */ /* nop */
|
|
/* 0285B968 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 0285B968 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0285B96C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285B96C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285B970 */ cpu->f[31] = cpu->f[1];
|
|
/* 0285B974 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0285B974 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0285B978 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285B97C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B97C */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 0285B980 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285B984 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285B988 */ cpu->r[9] = 0x43300000u;
|
|
/* 0285B98C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B98C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 0285B990 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285B994 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B994 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 0285B998 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B998 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 0285B99C */ _t9 = cpu->r[12] + 0x00004B28u;
|
|
/* 0285B99C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 0285B9A0 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 0285B9A4 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 0285B9A8 */ cpu->f[13] = -cpu->f[13];
|
|
/* 0285B9AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 0285B9B0 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285B9B0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285B9B0 */ if (_t11) goto L_0285B9E4; else goto L_0285B9B4;
|
|
L_0285B9B4: ; // 0x285b9b4
|
|
/* 0285B9B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285B9B8 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285B9BC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B9BC */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 0285B9C0 */ cpu->r[0] = 0x43300000u;
|
|
/* 0285B9C4 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285B9C8 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B9C8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0285B9CC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B9CC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 0285B9D0 */ _t15 = cpu->r[10] + 0x00004B28u;
|
|
/* 0285B9D0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 0285B9D4 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 0285B9D8 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 0285B9DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 0285B9E0 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285B9E0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285B9E0 */ if (_t17) goto L_0285B9E4; else goto L_0285B9FC;
|
|
L_0285B9E4: ; // 0x285b9e4
|
|
/* 0285B9E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285B9E8 */ Gambit_fn_0285A284(cpu);
|
|
/* 0285B9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285B9F0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B9F0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285B9F0 */ if (_t19) goto L_0285BA50; else goto L_0285B9F4;
|
|
L_0285B9F4: ; // 0x285b9f4
|
|
/* 0285B9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285B9F8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B9F8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0285B9F8 */ if (_t21) goto L_0285B9FC; else goto L_0285BA50;
|
|
L_0285B9FC: ; // 0x285b9fc
|
|
/* 0285B9FC */ cpu->r[7] = 0x10130000u;
|
|
/* 0285BA00 */ _t22 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BA00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285BA04 */ _t23 = cpu->r[7] + 0x00004B20u;
|
|
/* 0285BA04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0285BA08 */ _t24 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BA08 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[31]);
|
|
/* 0285BA0C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]);
|
|
/* 0285BA10 */ _t25 = cpu->r[30] + 0x00000028u;
|
|
/* 0285BA10 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
/* 0285BA14 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285BA18 */ _t26 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BA18 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 0285BA1C */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BA1C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0285BA1C */ if (_t28) goto L_0285BA20; else goto L_0285BA7C;
|
|
L_0285BA20: ; // 0x285ba20
|
|
/* 0285BA20 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BA24 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BA28 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BA28 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
/* 0285BA2C */ cpu->r[0] = 0x43300000u;
|
|
/* 0285BA30 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285BA34 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BA34 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 0285BA38 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BA38 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 0285BA3C */ _t32 = cpu->r[12] + 0x00004B28u;
|
|
/* 0285BA3C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 0285BA40 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 0285BA44 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 0285BA48 */ _t33 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285BA48 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]);
|
|
/* 0285BA4C */ goto L_0285BA80;
|
|
L_0285BA50: ; // 0x285ba50
|
|
/* 0285BA50 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BA54 */ Gambit_fn_0285A284(cpu);
|
|
/* 0285BA58 */ _t34 = cpu->r[1] + 0x00000020u;
|
|
/* 0285BA58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0285BA5C */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BA5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0285BA60 */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 0285BA60 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 0285BA64 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BA64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0285BA68 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BA68 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0285BA68 */ if (_t39) goto L_0285BA6C; // else: addr-0 trap, fall-through
|
|
L_0285BA6C: ; // 0x285ba6c
|
|
/* 0285BA6C */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285BA6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0285BA70 */ cpu->lr = cpu->r[0];
|
|
/* 0285BA74 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285BA78 */ return;
|
|
L_0285BA7C: ; // 0x285ba7c
|
|
/* 0285BA7C */ _t41 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285BA7C */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
L_0285BA80: ; // 0x285ba80
|
|
/* 0285BA80 */ _t42 = cpu->r[1] + 0x00000020u;
|
|
/* 0285BA80 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 0285BA84 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BA84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0285BA88 */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 0285BA88 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t44);
|
|
/* 0285BA8C */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BA8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0285BA90 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BA90 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0285BA90 */ if (_t47) goto L_0285BA94; // else: addr-0 trap, fall-through
|
|
L_0285BA94: ; // 0x285ba94
|
|
/* 0285BA94 */ _t48 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285BA94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0285BA98 */ cpu->lr = cpu->r[0];
|
|
/* 0285BA9C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285BAA0 */ return;
|
|
}
|
|
|
|
// fn_0285B95C @ 0x285b95c
|
|
void Gambit_fn_0285B95C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_0285B95C: ; // 0x285b95c
|
|
/* 0285B95C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0285B95C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285B95C */ cpu->r[1] = _t0;
|
|
/* 0285B960 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0285B960 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0285B964 */ /* nop */
|
|
/* 0285B968 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 0285B968 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0285B96C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285B96C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285B970 */ cpu->f[31] = cpu->f[1];
|
|
/* 0285B974 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0285B974 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0285B978 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285B97C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0285B97C */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 0285B980 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285B984 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285B988 */ cpu->r[9] = 0x43300000u;
|
|
/* 0285B98C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B98C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 0285B990 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285B994 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B994 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 0285B998 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B998 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 0285B99C */ _t9 = cpu->r[12] + 0x00004B28u;
|
|
/* 0285B99C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 0285B9A0 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 0285B9A4 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 0285B9A8 */ cpu->f[13] = -cpu->f[13];
|
|
/* 0285B9AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 0285B9B0 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285B9B0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285B9B0 */ if (_t11) goto L_0285B9E4; else goto L_0285B9B4;
|
|
L_0285B9B4: ; // 0x285b9b4
|
|
/* 0285B9B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285B9B8 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285B9BC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285B9BC */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 0285B9C0 */ cpu->r[0] = 0x43300000u;
|
|
/* 0285B9C4 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285B9C8 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B9C8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0285B9CC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0285B9CC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 0285B9D0 */ _t15 = cpu->r[10] + 0x00004B28u;
|
|
/* 0285B9D0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 0285B9D4 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 0285B9D8 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 0285B9DC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[0]);
|
|
/* 0285B9E0 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285B9E0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285B9E0 */ if (_t17) goto L_0285B9E4; else goto L_0285B9FC;
|
|
L_0285B9E4: ; // 0x285b9e4
|
|
/* 0285B9E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285B9E8 */ Gambit_fn_0285A284(cpu);
|
|
/* 0285B9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285B9F0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B9F0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285B9F0 */ if (_t19) goto L_0285BA50; else goto L_0285B9F4;
|
|
L_0285B9F4: ; // 0x285b9f4
|
|
/* 0285B9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285B9F8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285B9F8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0285B9F8 */ if (_t21) goto L_0285B9FC; else goto L_0285BA50;
|
|
L_0285B9FC: ; // 0x285b9fc
|
|
/* 0285B9FC */ cpu->r[7] = 0x10130000u;
|
|
/* 0285BA00 */ _t22 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BA00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285BA04 */ _t23 = cpu->r[7] + 0x00004B20u;
|
|
/* 0285BA04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0285BA08 */ _t24 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BA08 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[31]);
|
|
/* 0285BA0C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]);
|
|
/* 0285BA10 */ _t25 = cpu->r[30] + 0x00000028u;
|
|
/* 0285BA10 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
/* 0285BA14 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285BA18 */ _t26 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BA18 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 0285BA1C */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BA1C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0285BA1C */ if (_t28) goto L_0285BA20; else goto L_0285BA7C;
|
|
L_0285BA20: ; // 0x285ba20
|
|
/* 0285BA20 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BA24 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BA28 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BA28 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
/* 0285BA2C */ cpu->r[0] = 0x43300000u;
|
|
/* 0285BA30 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285BA34 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BA34 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 0285BA38 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BA38 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 0285BA3C */ _t32 = cpu->r[12] + 0x00004B28u;
|
|
/* 0285BA3C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 0285BA40 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 0285BA44 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 0285BA48 */ _t33 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285BA48 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]);
|
|
/* 0285BA4C */ goto L_0285BA80;
|
|
L_0285BA50: ; // 0x285ba50
|
|
/* 0285BA50 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BA54 */ Gambit_fn_0285A284(cpu);
|
|
/* 0285BA58 */ _t34 = cpu->r[1] + 0x00000020u;
|
|
/* 0285BA58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 0285BA5C */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BA5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0285BA60 */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 0285BA60 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 0285BA64 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BA64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0285BA68 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BA68 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0285BA68 */ if (_t39) goto L_0285BA6C; // else: addr-0 trap, fall-through
|
|
L_0285BA6C: ; // 0x285ba6c
|
|
/* 0285BA6C */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285BA6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0285BA70 */ cpu->lr = cpu->r[0];
|
|
/* 0285BA74 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285BA78 */ return;
|
|
L_0285BA7C: ; // 0x285ba7c
|
|
/* 0285BA7C */ _t41 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285BA7C */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
L_0285BA80: ; // 0x285ba80
|
|
/* 0285BA80 */ _t42 = cpu->r[1] + 0x00000020u;
|
|
/* 0285BA80 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 0285BA84 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BA84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0285BA88 */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 0285BA88 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t44);
|
|
/* 0285BA8C */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BA8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0285BA90 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BA90 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0285BA90 */ if (_t47) goto L_0285BA94; // else: addr-0 trap, fall-through
|
|
L_0285BA94: ; // 0x285ba94
|
|
/* 0285BA94 */ _t48 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285BA94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0285BA98 */ cpu->lr = cpu->r[0];
|
|
/* 0285BA9C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285BAA0 */ return;
|
|
}
|
|
|
|
// fn_0285BAA4 @ 0x285baa4
|
|
void Gambit_fn_0285BAA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_0285BAA4: ; // 0x285baa4
|
|
/* 0285BAA4 */ cpu->r[0] = cpu->lr;
|
|
/* 0285BAA8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0285BAA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285BAA8 */ cpu->r[1] = _t0;
|
|
/* 0285BAAC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0285BAAC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0285BAB0 */ /* nop */
|
|
/* 0285BAB4 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 0285BAB4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0285BAB8 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285BAB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285BABC */ cpu->f[31] = cpu->f[1];
|
|
/* 0285BAC0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BAC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0285BAC4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285BAC8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BAC8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 0285BACC */ cpu->r[31] = cpu->r[4];
|
|
/* 0285BAD0 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BAD4 */ cpu->r[9] = 0x43300000u;
|
|
/* 0285BAD8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BAD8 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 0285BADC */ cpu->r[12] = 0x10130000u;
|
|
/* 0285BAE0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BAE0 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 0285BAE4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BAE4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 0285BAE8 */ _t9 = cpu->r[12] + 0x00004B28u;
|
|
/* 0285BAE8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 0285BAEC */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 0285BAF0 */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 0285BAF4 */ cpu->f[0] = -cpu->f[0];
|
|
/* 0285BAF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 0285BAFC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285BAFC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285BAFC */ if (_t11) goto L_0285BB30; else goto L_0285BB00;
|
|
L_0285BB00: ; // 0x285bb00
|
|
/* 0285BB00 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BB04 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BB08 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BB08 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 0285BB0C */ cpu->r[0] = 0x43300000u;
|
|
/* 0285BB10 */ cpu->r[8] = 0x10130000u;
|
|
/* 0285BB14 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BB14 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0285BB18 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BB18 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 0285BB1C */ _t15 = cpu->r[8] + 0x00004B28u;
|
|
/* 0285BB1C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 0285BB20 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 0285BB24 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 0285BB28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]);
|
|
/* 0285BB2C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285BB2C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285BB2C */ if (_t17) goto L_0285BB30; else goto L_0285BB48;
|
|
L_0285BB30: ; // 0x285bb30
|
|
/* 0285BB30 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BB34 */ Gambit_fn_0285A284(cpu);
|
|
/* 0285BB38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285BB3C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BB3C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285BB3C */ if (_t19) goto L_0285BB80; else goto L_0285BB40;
|
|
L_0285BB40: ; // 0x285bb40
|
|
/* 0285BB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285BB44 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BB44 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0285BB44 */ if (_t21) goto L_0285BB48; else goto L_0285BB80;
|
|
L_0285BB48: ; // 0x285bb48
|
|
/* 0285BB48 */ _t22 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BB48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285BB4C */ _t23 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BB4C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[31]);
|
|
/* 0285BB50 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285BB54 */ _t24 = cpu->r[30] + 0x00000028u;
|
|
/* 0285BB54 */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
|
|
/* 0285BB58 */ _t25 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BB58 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 0285BB5C */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 0285BB5C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 0285BB60 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BB60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285BB64 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 0285BB64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 0285BB68 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BB68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0285BB6C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BB6C */ _t31 = _t30 & 0x00000001u;
|
|
/* 0285BB6C */ if (_t31) goto L_0285BB70; // else: addr-0 trap, fall-through
|
|
L_0285BB70: ; // 0x285bb70
|
|
/* 0285BB70 */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285BB70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0285BB74 */ cpu->lr = cpu->r[0];
|
|
/* 0285BB78 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285BB7C */ return;
|
|
L_0285BB80: ; // 0x285bb80
|
|
/* 0285BB80 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BB84 */ Gambit_fn_0285A284(cpu);
|
|
/* 0285BB88 */ _t33 = cpu->r[1] + 0x00000020u;
|
|
/* 0285BB88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0285BB8C */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BB8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0285BB90 */ _t35 = cpu->r[1] + 0x00000018u;
|
|
/* 0285BB90 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 0285BB94 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BB94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0285BB98 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BB98 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0285BB98 */ if (_t38) goto L_0285BB9C; // else: addr-0 trap, fall-through
|
|
L_0285BB9C: ; // 0x285bb9c
|
|
/* 0285BB9C */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285BB9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0285BBA0 */ cpu->lr = cpu->r[0];
|
|
/* 0285BBA4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285BBA8 */ return;
|
|
}
|
|
|
|
// fn_0285BAA8 @ 0x285baa8
|
|
void Gambit_fn_0285BAA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_0285BAA8: ; // 0x285baa8
|
|
/* 0285BAA8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0285BAA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285BAA8 */ cpu->r[1] = _t0;
|
|
/* 0285BAAC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0285BAAC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0285BAB0 */ /* nop */
|
|
/* 0285BAB4 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 0285BAB4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0285BAB8 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285BAB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285BABC */ cpu->f[31] = cpu->f[1];
|
|
/* 0285BAC0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BAC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0285BAC4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285BAC8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BAC8 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 0285BACC */ cpu->r[31] = cpu->r[4];
|
|
/* 0285BAD0 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BAD4 */ cpu->r[9] = 0x43300000u;
|
|
/* 0285BAD8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BAD8 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 0285BADC */ cpu->r[12] = 0x10130000u;
|
|
/* 0285BAE0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BAE0 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 0285BAE4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BAE4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 0285BAE8 */ _t9 = cpu->r[12] + 0x00004B28u;
|
|
/* 0285BAE8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 0285BAEC */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 0285BAF0 */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 0285BAF4 */ cpu->f[0] = -cpu->f[0];
|
|
/* 0285BAF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[31]);
|
|
/* 0285BAFC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285BAFC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285BAFC */ if (_t11) goto L_0285BB30; else goto L_0285BB00;
|
|
L_0285BB00: ; // 0x285bb00
|
|
/* 0285BB00 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BB04 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BB08 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BB08 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 0285BB0C */ cpu->r[0] = 0x43300000u;
|
|
/* 0285BB10 */ cpu->r[8] = 0x10130000u;
|
|
/* 0285BB14 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BB14 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0285BB18 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BB18 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 0285BB1C */ _t15 = cpu->r[8] + 0x00004B28u;
|
|
/* 0285BB1C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 0285BB20 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 0285BB24 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 0285BB28 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[31], cpu->f[13]);
|
|
/* 0285BB2C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285BB2C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285BB2C */ if (_t17) goto L_0285BB30; else goto L_0285BB48;
|
|
L_0285BB30: ; // 0x285bb30
|
|
/* 0285BB30 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BB34 */ Gambit_fn_0285A284(cpu);
|
|
/* 0285BB38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285BB3C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BB3C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285BB3C */ if (_t19) goto L_0285BB80; else goto L_0285BB40;
|
|
L_0285BB40: ; // 0x285bb40
|
|
/* 0285BB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285BB44 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BB44 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0285BB44 */ if (_t21) goto L_0285BB48; else goto L_0285BB80;
|
|
L_0285BB48: ; // 0x285bb48
|
|
/* 0285BB48 */ _t22 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BB48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285BB4C */ _t23 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BB4C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[31]);
|
|
/* 0285BB50 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285BB54 */ _t24 = cpu->r[30] + 0x00000028u;
|
|
/* 0285BB54 */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
|
|
/* 0285BB58 */ _t25 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BB58 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 0285BB5C */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 0285BB5C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 0285BB60 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BB60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285BB64 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 0285BB64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 0285BB68 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BB68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0285BB6C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BB6C */ _t31 = _t30 & 0x00000001u;
|
|
/* 0285BB6C */ if (_t31) goto L_0285BB70; // else: addr-0 trap, fall-through
|
|
L_0285BB70: ; // 0x285bb70
|
|
/* 0285BB70 */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285BB70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0285BB74 */ cpu->lr = cpu->r[0];
|
|
/* 0285BB78 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285BB7C */ return;
|
|
L_0285BB80: ; // 0x285bb80
|
|
/* 0285BB80 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BB84 */ Gambit_fn_0285A284(cpu);
|
|
/* 0285BB88 */ _t33 = cpu->r[1] + 0x00000020u;
|
|
/* 0285BB88 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 0285BB8C */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BB8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0285BB90 */ _t35 = cpu->r[1] + 0x00000018u;
|
|
/* 0285BB90 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 0285BB94 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BB94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0285BB98 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BB98 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0285BB98 */ if (_t38) goto L_0285BB9C; // else: addr-0 trap, fall-through
|
|
L_0285BB9C: ; // 0x285bb9c
|
|
/* 0285BB9C */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285BB9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0285BBA0 */ cpu->lr = cpu->r[0];
|
|
/* 0285BBA4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285BBA8 */ return;
|
|
}
|
|
|
|
// fn_0285BBAC @ 0x285bbac
|
|
void Gambit_fn_0285BBAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0285BBAC: ; // 0x285bbac
|
|
/* 0285BBAC */ _t0 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0285BBAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285BBB0 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285BBB4 */ _t1 = cpu->r[12] + 0x00004B20u;
|
|
/* 0285BBB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0285BBB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285BBBC */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0285BBBC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285BBC0 */ _t3 = cpu->r[3] + 0x00000024u;
|
|
/* 0285BBC0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 0285BBC4 */ return;
|
|
}
|
|
|
|
// fn_0285BBC8 @ 0x285bbc8
|
|
void Gambit_fn_0285BBC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_0285BBC8: ; // 0x285bbc8
|
|
/* 0285BBC8 */ cpu->r[0] = cpu->lr;
|
|
/* 0285BBCC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0285BBCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285BBCC */ cpu->r[1] = _t0;
|
|
/* 0285BBD0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0285BBD0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0285BBD4 */ /* nop */
|
|
/* 0285BBD8 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 0285BBD8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0285BBDC */ /* nop */
|
|
/* 0285BBE0 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 0285BBE0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0285BBE4 */ cpu->r[11] = 0x10130000u;
|
|
/* 0285BBE8 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 0285BBE8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0285BBEC */ _t5 = cpu->r[11] + 0x00004B20u;
|
|
/* 0285BBEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0285BBF0 */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0285BBF0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285BBF4 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BBF4 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 0285BBF8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285BBFC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BBFC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0285BC00 */ _t9 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BC00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285BC04 */ _t10 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BC04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0285BC08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285BC0C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 0285BC10 */ _t11 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BC10 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0285BC14 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BC14 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285BC14 */ if (_t13) goto L_0285BDF8; else goto L_0285BC18;
|
|
L_0285BC18: ; // 0x285bc18
|
|
/* 0285BC18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 0285BC1C */ _t14 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285BC1C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0285BC20 */ cpu->f[30] = fma(cpu->f[13], cpu->f[1], cpu->f[12]);
|
|
/* 0285BC24 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285BC24 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285BC24 */ if (_t16) goto L_0285BC28; else goto L_0285BD60;
|
|
L_0285BC28: ; // 0x285bc28
|
|
/* 0285BC28 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BC2C */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BC30 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BC30 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0285BC34 */ cpu->r[0] = 0x43300000u;
|
|
/* 0285BC38 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285BC3C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BC3C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0285BC40 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BC40 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 0285BC44 */ _t20 = cpu->r[12] + 0x00004B28u;
|
|
/* 0285BC44 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 0285BC48 */ cpu->f[13] = cpu->f[11] - cpu->f[13];
|
|
/* 0285BC4C */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 0285BC50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[12]);
|
|
/* 0285BC54 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BC54 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0285BC54 */ if (_t22) goto L_0285BDF4; else goto L_0285BC58;
|
|
L_0285BC58: ; // 0x285bc58
|
|
/* 0285BC58 */ _t23 = cpu->r[30] + 0x00000028u;
|
|
/* 0285BC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285BC5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0285BC60 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BC60 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285BC60 */ if (_t25) goto L_0285BC78; else goto L_0285BC64;
|
|
L_0285BC64: ; // 0x285bc64
|
|
/* 0285BC64 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BC64 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0285BC64 */ if (_t27) goto L_0285BCB4; else goto L_0285BC68;
|
|
L_0285BC68: ; // 0x285bc68
|
|
/* 0285BC68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0285BC6C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BC6C */ _t29 = _t28 & 0x00000001u;
|
|
/* 0285BC6C */ if (_t29) goto L_0285BCF0; else goto L_0285BC70;
|
|
L_0285BC70: ; // 0x285bc70
|
|
/* 0285BC70 */ _t30 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285BC70 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[30]);
|
|
/* 0285BC74 */ goto L_0285BDF8;
|
|
L_0285BC78: ; // 0x285bc78
|
|
/* 0285BC78 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BC7C */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BC80 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BC80 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
/* 0285BC84 */ cpu->r[0] = 0x43300000u;
|
|
/* 0285BC88 */ cpu->r[11] = 0x10130000u;
|
|
/* 0285BC8C */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BC8C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0285BC90 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BC90 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 0285BC94 */ _t34 = cpu->r[11] + 0x00004B28u;
|
|
/* 0285BC94 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t34);
|
|
/* 0285BC98 */ _t35 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BC98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0285BC9C */ cpu->f[0] = cpu->f[12] - cpu->f[13];
|
|
/* 0285BCA0 */ _t36 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BCA0 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[31]);
|
|
/* 0285BCA4 */ cpu->r[12] = cpu->r[12] | 0x00000001u;
|
|
/* 0285BCA8 */ _t37 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BCA8 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 0285BCAC */ cpu->f[30] = (double)(float)cpu->f[0];
|
|
/* 0285BCB0 */ goto L_0285BDF4;
|
|
L_0285BCB4: ; // 0x285bcb4
|
|
/* 0285BCB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BCB8 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BCBC */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BCBC */ rbrew_write32(cpu->mem, _t38, cpu->r[3]);
|
|
/* 0285BCC0 */ cpu->r[0] = 0x43300000u;
|
|
/* 0285BCC4 */ cpu->r[11] = 0x10130000u;
|
|
/* 0285BCC8 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BCC8 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 0285BCCC */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BCCC */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t40);
|
|
/* 0285BCD0 */ _t41 = cpu->r[11] + 0x00004B28u;
|
|
/* 0285BCD0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 0285BCD4 */ _t42 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BCD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0285BCD8 */ cpu->f[0] = cpu->f[12] - cpu->f[0];
|
|
/* 0285BCDC */ cpu->r[12] = cpu->r[12] | 0x00000002u;
|
|
/* 0285BCE0 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 0285BCE4 */ _t43 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BCE4 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0285BCE8 */ cpu->f[30] = cpu->f[30] - cpu->f[0];
|
|
/* 0285BCEC */ goto L_0285BDF4;
|
|
L_0285BCF0: ; // 0x285bcf0
|
|
/* 0285BCF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BCF4 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BCF8 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BCF8 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]);
|
|
/* 0285BCFC */ cpu->r[31] = 0x43300000u;
|
|
/* 0285BD00 */ cpu->r[11] = 0x10130000u;
|
|
/* 0285BD04 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BD04 */ rbrew_write32(cpu->mem, _t45, cpu->r[31]);
|
|
/* 0285BD08 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BD08 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 0285BD0C */ _t47 = cpu->r[11] + 0x00004B28u;
|
|
/* 0285BD0C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t47);
|
|
/* 0285BD10 */ cpu->f[11] = cpu->f[11] - cpu->f[12];
|
|
/* 0285BD14 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BD18 */ cpu->f[31] = (double)(float)cpu->f[11];
|
|
/* 0285BD1C */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BD20 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BD20 */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 0285BD24 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285BD28 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BD28 */ rbrew_write32(cpu->mem, _t49, cpu->r[31]);
|
|
/* 0285BD2C */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BD2C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 0285BD30 */ _t51 = cpu->r[12] + 0x00004B28u;
|
|
/* 0285BD30 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t51);
|
|
/* 0285BD34 */ _t52 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BD34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 0285BD38 */ cpu->f[11] = cpu->f[13] - cpu->f[0];
|
|
/* 0285BD3C */ cpu->f[0] = -cpu->f[12];
|
|
/* 0285BD40 */ _t53 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BD40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0285BD44 */ cpu->f[11] = (double)(float)cpu->f[11];
|
|
/* 0285BD48 */ _t54 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BD48 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[0]);
|
|
/* 0285BD4C */ cpu->r[12] = cpu->r[12] | 0x00000002u;
|
|
/* 0285BD50 */ cpu->f[13] = cpu->f[30] - cpu->f[11];
|
|
/* 0285BD54 */ _t55 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BD54 */ rbrew_write32(cpu->mem, _t55, cpu->r[12]);
|
|
/* 0285BD58 */ cpu->f[30] = cpu->f[31] - cpu->f[13];
|
|
/* 0285BD5C */ goto L_0285BDF4;
|
|
L_0285BD60: ; // 0x285bd60
|
|
/* 0285BD60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 0285BD64 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285BD64 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0285BD64 */ if (_t57) goto L_0285BDF4; else goto L_0285BD68;
|
|
L_0285BD68: ; // 0x285bd68
|
|
/* 0285BD68 */ _t58 = cpu->r[30] + 0x00000028u;
|
|
/* 0285BD68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0285BD6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 0285BD70 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BD70 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0285BD70 */ if (_t60) goto L_0285BD88; else goto L_0285BD74;
|
|
L_0285BD74: ; // 0x285bd74
|
|
/* 0285BD74 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BD74 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0285BD74 */ if (_t62) goto L_0285BDA0; else goto L_0285BD78;
|
|
L_0285BD78: ; // 0x285bd78
|
|
/* 0285BD78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 0285BD7C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BD7C */ _t64 = _t63 & 0x00000001u;
|
|
/* 0285BD7C */ if (_t64) goto L_0285BDDC; else goto L_0285BD80;
|
|
L_0285BD80: ; // 0x285bd80
|
|
/* 0285BD80 */ _t65 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285BD80 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[30]);
|
|
/* 0285BD84 */ goto L_0285BDF8;
|
|
L_0285BD88: ; // 0x285bd88
|
|
/* 0285BD88 */ _t66 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BD88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0285BD8C */ _t67 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BD8C */ rbrew_write_f32(cpu->mem, _t67, cpu->f[31]);
|
|
/* 0285BD90 */ cpu->r[12] = cpu->r[12] | 0x00000001u;
|
|
/* 0285BD94 */ cpu->f[30] = cpu->f[31];
|
|
/* 0285BD98 */ _t68 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BD98 */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
|
|
/* 0285BD9C */ goto L_0285BDF4;
|
|
L_0285BDA0: ; // 0x285bda0
|
|
/* 0285BDA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BDA4 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BDA8 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BDA8 */ rbrew_write32(cpu->mem, _t69, cpu->r[3]);
|
|
/* 0285BDAC */ cpu->r[12] = 0x43300000u;
|
|
/* 0285BDB0 */ cpu->r[11] = 0x10130000u;
|
|
/* 0285BDB4 */ _t70 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BDB4 */ rbrew_write32(cpu->mem, _t70, cpu->r[12]);
|
|
/* 0285BDB8 */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BDB8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t71);
|
|
/* 0285BDBC */ _t72 = cpu->r[11] + 0x00004B28u;
|
|
/* 0285BDBC */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 0285BDC0 */ _t73 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BDC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0285BDC4 */ cpu->f[13] = cpu->f[0] - cpu->f[11];
|
|
/* 0285BDC8 */ cpu->r[12] = cpu->r[12] | 0x00000004u;
|
|
/* 0285BDCC */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 0285BDD0 */ _t74 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BDD0 */ rbrew_write32(cpu->mem, _t74, cpu->r[12]);
|
|
/* 0285BDD4 */ cpu->f[30] = cpu->f[30] + cpu->f[12];
|
|
/* 0285BDD8 */ goto L_0285BDF4;
|
|
L_0285BDDC: ; // 0x285bddc
|
|
/* 0285BDDC */ cpu->f[11] = -cpu->f[13];
|
|
/* 0285BDE0 */ _t75 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BDE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0285BDE4 */ cpu->r[12] = cpu->r[12] | 0x00000004u;
|
|
/* 0285BDE8 */ _t76 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BDE8 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[11]);
|
|
/* 0285BDEC */ cpu->f[30] = -cpu->f[30];
|
|
/* 0285BDF0 */ _t77 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BDF0 */ rbrew_write32(cpu->mem, _t77, cpu->r[12]);
|
|
L_0285BDF4: ; // 0x285bdf4
|
|
/* 0285BDF4 */ _t78 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285BDF4 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[30]);
|
|
L_0285BDF8: ; // 0x285bdf8
|
|
/* 0285BDF8 */ _t79 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BDF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0285BDFC */ _t80 = cpu->r[1] + 0x00000030u;
|
|
/* 0285BDFC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 0285BE00 */ _t81 = cpu->r[1] + 0x00000020u;
|
|
/* 0285BE00 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 0285BE04 */ _t82 = cpu->r[1] + 0x00000028u;
|
|
/* 0285BE04 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t82);
|
|
/* 0285BE08 */ _t83 = cpu->r[1] + 0x00000018u;
|
|
/* 0285BE08 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t83);
|
|
/* 0285BE0C */ _t84 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BE0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0285BE10 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BE10 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0285BE10 */ if (_t86) goto L_0285BE14; // else: addr-0 trap, fall-through
|
|
L_0285BE14: ; // 0x285be14
|
|
/* 0285BE14 */ _t87 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0285BE14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0285BE18 */ cpu->lr = cpu->r[0];
|
|
/* 0285BE1C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0285BE20 */ return;
|
|
}
|
|
|
|
// fn_0285BBCC @ 0x285bbcc
|
|
void Gambit_fn_0285BBCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_0285BBCC: ; // 0x285bbcc
|
|
/* 0285BBCC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 0285BBCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285BBCC */ cpu->r[1] = _t0;
|
|
/* 0285BBD0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 0285BBD0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0285BBD4 */ /* nop */
|
|
/* 0285BBD8 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 0285BBD8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0285BBDC */ /* nop */
|
|
/* 0285BBE0 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 0285BBE0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0285BBE4 */ cpu->r[11] = 0x10130000u;
|
|
/* 0285BBE8 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 0285BBE8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0285BBEC */ _t5 = cpu->r[11] + 0x00004B20u;
|
|
/* 0285BBEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0285BBF0 */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0285BBF0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285BBF4 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BBF4 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 0285BBF8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285BBFC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BBFC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0285BC00 */ _t9 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BC00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285BC04 */ _t10 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BC04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0285BC08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 0285BC0C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 0285BC10 */ _t11 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BC10 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0285BC14 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BC14 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285BC14 */ if (_t13) goto L_0285BDF8; else goto L_0285BC18;
|
|
L_0285BC18: ; // 0x285bc18
|
|
/* 0285BC18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[31]);
|
|
/* 0285BC1C */ _t14 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285BC1C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0285BC20 */ cpu->f[30] = fma(cpu->f[13], cpu->f[1], cpu->f[12]);
|
|
/* 0285BC24 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285BC24 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285BC24 */ if (_t16) goto L_0285BC28; else goto L_0285BD60;
|
|
L_0285BC28: ; // 0x285bc28
|
|
/* 0285BC28 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BC2C */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BC30 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BC30 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0285BC34 */ cpu->r[0] = 0x43300000u;
|
|
/* 0285BC38 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285BC3C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BC3C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0285BC40 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BC40 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t19);
|
|
/* 0285BC44 */ _t20 = cpu->r[12] + 0x00004B28u;
|
|
/* 0285BC44 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 0285BC48 */ cpu->f[13] = cpu->f[11] - cpu->f[13];
|
|
/* 0285BC4C */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 0285BC50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[12]);
|
|
/* 0285BC54 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BC54 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0285BC54 */ if (_t22) goto L_0285BDF4; else goto L_0285BC58;
|
|
L_0285BC58: ; // 0x285bc58
|
|
/* 0285BC58 */ _t23 = cpu->r[30] + 0x00000028u;
|
|
/* 0285BC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285BC5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0285BC60 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BC60 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285BC60 */ if (_t25) goto L_0285BC78; else goto L_0285BC64;
|
|
L_0285BC64: ; // 0x285bc64
|
|
/* 0285BC64 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BC64 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0285BC64 */ if (_t27) goto L_0285BCB4; else goto L_0285BC68;
|
|
L_0285BC68: ; // 0x285bc68
|
|
/* 0285BC68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0285BC6C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BC6C */ _t29 = _t28 & 0x00000001u;
|
|
/* 0285BC6C */ if (_t29) goto L_0285BCF0; else goto L_0285BC70;
|
|
L_0285BC70: ; // 0x285bc70
|
|
/* 0285BC70 */ _t30 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285BC70 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[30]);
|
|
/* 0285BC74 */ goto L_0285BDF8;
|
|
L_0285BC78: ; // 0x285bc78
|
|
/* 0285BC78 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BC7C */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BC80 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BC80 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
/* 0285BC84 */ cpu->r[0] = 0x43300000u;
|
|
/* 0285BC88 */ cpu->r[11] = 0x10130000u;
|
|
/* 0285BC8C */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BC8C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 0285BC90 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BC90 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t33);
|
|
/* 0285BC94 */ _t34 = cpu->r[11] + 0x00004B28u;
|
|
/* 0285BC94 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t34);
|
|
/* 0285BC98 */ _t35 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BC98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0285BC9C */ cpu->f[0] = cpu->f[12] - cpu->f[13];
|
|
/* 0285BCA0 */ _t36 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BCA0 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[31]);
|
|
/* 0285BCA4 */ cpu->r[12] = cpu->r[12] | 0x00000001u;
|
|
/* 0285BCA8 */ _t37 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BCA8 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 0285BCAC */ cpu->f[30] = (double)(float)cpu->f[0];
|
|
/* 0285BCB0 */ goto L_0285BDF4;
|
|
L_0285BCB4: ; // 0x285bcb4
|
|
/* 0285BCB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BCB8 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BCBC */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BCBC */ rbrew_write32(cpu->mem, _t38, cpu->r[3]);
|
|
/* 0285BCC0 */ cpu->r[0] = 0x43300000u;
|
|
/* 0285BCC4 */ cpu->r[11] = 0x10130000u;
|
|
/* 0285BCC8 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BCC8 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 0285BCCC */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BCCC */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t40);
|
|
/* 0285BCD0 */ _t41 = cpu->r[11] + 0x00004B28u;
|
|
/* 0285BCD0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t41);
|
|
/* 0285BCD4 */ _t42 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BCD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0285BCD8 */ cpu->f[0] = cpu->f[12] - cpu->f[0];
|
|
/* 0285BCDC */ cpu->r[12] = cpu->r[12] | 0x00000002u;
|
|
/* 0285BCE0 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 0285BCE4 */ _t43 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BCE4 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 0285BCE8 */ cpu->f[30] = cpu->f[30] - cpu->f[0];
|
|
/* 0285BCEC */ goto L_0285BDF4;
|
|
L_0285BCF0: ; // 0x285bcf0
|
|
/* 0285BCF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BCF4 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BCF8 */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BCF8 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]);
|
|
/* 0285BCFC */ cpu->r[31] = 0x43300000u;
|
|
/* 0285BD00 */ cpu->r[11] = 0x10130000u;
|
|
/* 0285BD04 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BD04 */ rbrew_write32(cpu->mem, _t45, cpu->r[31]);
|
|
/* 0285BD08 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BD08 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 0285BD0C */ _t47 = cpu->r[11] + 0x00004B28u;
|
|
/* 0285BD0C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t47);
|
|
/* 0285BD10 */ cpu->f[11] = cpu->f[11] - cpu->f[12];
|
|
/* 0285BD14 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BD18 */ cpu->f[31] = (double)(float)cpu->f[11];
|
|
/* 0285BD1C */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BD20 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BD20 */ rbrew_write32(cpu->mem, _t48, cpu->r[3]);
|
|
/* 0285BD24 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285BD28 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BD28 */ rbrew_write32(cpu->mem, _t49, cpu->r[31]);
|
|
/* 0285BD2C */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BD2C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t50);
|
|
/* 0285BD30 */ _t51 = cpu->r[12] + 0x00004B28u;
|
|
/* 0285BD30 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t51);
|
|
/* 0285BD34 */ _t52 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BD34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 0285BD38 */ cpu->f[11] = cpu->f[13] - cpu->f[0];
|
|
/* 0285BD3C */ cpu->f[0] = -cpu->f[12];
|
|
/* 0285BD40 */ _t53 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BD40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0285BD44 */ cpu->f[11] = (double)(float)cpu->f[11];
|
|
/* 0285BD48 */ _t54 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BD48 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[0]);
|
|
/* 0285BD4C */ cpu->r[12] = cpu->r[12] | 0x00000002u;
|
|
/* 0285BD50 */ cpu->f[13] = cpu->f[30] - cpu->f[11];
|
|
/* 0285BD54 */ _t55 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BD54 */ rbrew_write32(cpu->mem, _t55, cpu->r[12]);
|
|
/* 0285BD58 */ cpu->f[30] = cpu->f[31] - cpu->f[13];
|
|
/* 0285BD5C */ goto L_0285BDF4;
|
|
L_0285BD60: ; // 0x285bd60
|
|
/* 0285BD60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 0285BD64 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285BD64 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0285BD64 */ if (_t57) goto L_0285BDF4; else goto L_0285BD68;
|
|
L_0285BD68: ; // 0x285bd68
|
|
/* 0285BD68 */ _t58 = cpu->r[30] + 0x00000028u;
|
|
/* 0285BD68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0285BD6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 0285BD70 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BD70 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0285BD70 */ if (_t60) goto L_0285BD88; else goto L_0285BD74;
|
|
L_0285BD74: ; // 0x285bd74
|
|
/* 0285BD74 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BD74 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0285BD74 */ if (_t62) goto L_0285BDA0; else goto L_0285BD78;
|
|
L_0285BD78: ; // 0x285bd78
|
|
/* 0285BD78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 0285BD7C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BD7C */ _t64 = _t63 & 0x00000001u;
|
|
/* 0285BD7C */ if (_t64) goto L_0285BDDC; else goto L_0285BD80;
|
|
L_0285BD80: ; // 0x285bd80
|
|
/* 0285BD80 */ _t65 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285BD80 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[30]);
|
|
/* 0285BD84 */ goto L_0285BDF8;
|
|
L_0285BD88: ; // 0x285bd88
|
|
/* 0285BD88 */ _t66 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BD88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0285BD8C */ _t67 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BD8C */ rbrew_write_f32(cpu->mem, _t67, cpu->f[31]);
|
|
/* 0285BD90 */ cpu->r[12] = cpu->r[12] | 0x00000001u;
|
|
/* 0285BD94 */ cpu->f[30] = cpu->f[31];
|
|
/* 0285BD98 */ _t68 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BD98 */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
|
|
/* 0285BD9C */ goto L_0285BDF4;
|
|
L_0285BDA0: ; // 0x285bda0
|
|
/* 0285BDA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BDA4 */ Gambit_fn_0285A26C(cpu);
|
|
/* 0285BDA8 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BDA8 */ rbrew_write32(cpu->mem, _t69, cpu->r[3]);
|
|
/* 0285BDAC */ cpu->r[12] = 0x43300000u;
|
|
/* 0285BDB0 */ cpu->r[11] = 0x10130000u;
|
|
/* 0285BDB4 */ _t70 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BDB4 */ rbrew_write32(cpu->mem, _t70, cpu->r[12]);
|
|
/* 0285BDB8 */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BDB8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t71);
|
|
/* 0285BDBC */ _t72 = cpu->r[11] + 0x00004B28u;
|
|
/* 0285BDBC */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 0285BDC0 */ _t73 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BDC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0285BDC4 */ cpu->f[13] = cpu->f[0] - cpu->f[11];
|
|
/* 0285BDC8 */ cpu->r[12] = cpu->r[12] | 0x00000004u;
|
|
/* 0285BDCC */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 0285BDD0 */ _t74 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BDD0 */ rbrew_write32(cpu->mem, _t74, cpu->r[12]);
|
|
/* 0285BDD4 */ cpu->f[30] = cpu->f[30] + cpu->f[12];
|
|
/* 0285BDD8 */ goto L_0285BDF4;
|
|
L_0285BDDC: ; // 0x285bddc
|
|
/* 0285BDDC */ cpu->f[11] = -cpu->f[13];
|
|
/* 0285BDE0 */ _t75 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BDE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0285BDE4 */ cpu->r[12] = cpu->r[12] | 0x00000004u;
|
|
/* 0285BDE8 */ _t76 = cpu->r[30] + 0x00000024u;
|
|
/* 0285BDE8 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[11]);
|
|
/* 0285BDEC */ cpu->f[30] = -cpu->f[30];
|
|
/* 0285BDF0 */ _t77 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285BDF0 */ rbrew_write32(cpu->mem, _t77, cpu->r[12]);
|
|
L_0285BDF4: ; // 0x285bdf4
|
|
/* 0285BDF4 */ _t78 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285BDF4 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[30]);
|
|
L_0285BDF8: ; // 0x285bdf8
|
|
/* 0285BDF8 */ _t79 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BDF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0285BDFC */ _t80 = cpu->r[1] + 0x00000030u;
|
|
/* 0285BDFC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 0285BE00 */ _t81 = cpu->r[1] + 0x00000020u;
|
|
/* 0285BE00 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 0285BE04 */ _t82 = cpu->r[1] + 0x00000028u;
|
|
/* 0285BE04 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t82);
|
|
/* 0285BE08 */ _t83 = cpu->r[1] + 0x00000018u;
|
|
/* 0285BE08 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t83);
|
|
/* 0285BE0C */ _t84 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BE0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0285BE10 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BE10 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0285BE10 */ if (_t86) goto L_0285BE14; // else: addr-0 trap, fall-through
|
|
L_0285BE14: ; // 0x285be14
|
|
/* 0285BE14 */ _t87 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0285BE14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0285BE18 */ cpu->lr = cpu->r[0];
|
|
/* 0285BE1C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 0285BE20 */ return;
|
|
}
|
|
|
|
// fn_0285BE24 @ 0x285be24
|
|
void Gambit_fn_0285BE24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0285BE24: ; // 0x285be24
|
|
/* 0285BE24 */ cpu->r[0] = cpu->lr;
|
|
/* 0285BE28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285BE28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285BE28 */ cpu->r[1] = _t0;
|
|
/* 0285BE2C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BE2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285BE30 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BE30 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285BE34 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BE34 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285BE38 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285BE38 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285BE3C */ _t5 = cpu->r[3] + 0x00000014u;
|
|
/* 0285BE3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285BE40 */ _t6 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0285BE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285BE44 */ cpu->ctr = cpu->r[0];
|
|
/* 0285BE48 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285BE4C */ cpu->r[30] = cpu->r[4];
|
|
/* 0285BE50 */ cpu->r[31] = cpu->r[5];
|
|
/* 0285BE54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285BE58 */ _t7 = cpu->r[29] + 0x00000014u;
|
|
/* 0285BE58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285BE5C */ _t8 = cpu->r[29] + 0x00000030u;
|
|
/* 0285BE5C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0285BE60 */ _t9 = cpu->r[10] + 0x00000024u;
|
|
/* 0285BE60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285BE64 */ cpu->ctr = cpu->r[0];
|
|
/* 0285BE68 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285BE6C */ cpu->r[4] = cpu->r[31];
|
|
/* 0285BE70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285BE74 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BE74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285BE78 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285BE78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285BE7C */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BE7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285BE80 */ cpu->lr = cpu->r[0];
|
|
/* 0285BE84 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BE84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285BE88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285BE8C */ return;
|
|
}
|
|
|
|
// fn_0285BE28 @ 0x285be28
|
|
void Gambit_fn_0285BE28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0285BE28: ; // 0x285be28
|
|
/* 0285BE28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285BE28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285BE28 */ cpu->r[1] = _t0;
|
|
/* 0285BE2C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BE2C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285BE30 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BE30 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285BE34 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BE34 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285BE38 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285BE38 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285BE3C */ _t5 = cpu->r[3] + 0x00000014u;
|
|
/* 0285BE3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285BE40 */ _t6 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0285BE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285BE44 */ cpu->ctr = cpu->r[0];
|
|
/* 0285BE48 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285BE4C */ cpu->r[30] = cpu->r[4];
|
|
/* 0285BE50 */ cpu->r[31] = cpu->r[5];
|
|
/* 0285BE54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285BE58 */ _t7 = cpu->r[29] + 0x00000014u;
|
|
/* 0285BE58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285BE5C */ _t8 = cpu->r[29] + 0x00000030u;
|
|
/* 0285BE5C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0285BE60 */ _t9 = cpu->r[10] + 0x00000024u;
|
|
/* 0285BE60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285BE64 */ cpu->ctr = cpu->r[0];
|
|
/* 0285BE68 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285BE6C */ cpu->r[4] = cpu->r[31];
|
|
/* 0285BE70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285BE74 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BE74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285BE78 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285BE78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285BE7C */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0285BE7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285BE80 */ cpu->lr = cpu->r[0];
|
|
/* 0285BE84 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BE84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285BE88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285BE8C */ return;
|
|
}
|
|
|
|
// fn_0285BE90 @ 0x285be90
|
|
void Gambit_fn_0285BE90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0285BE90: ; // 0x285be90
|
|
/* 0285BE90 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285BE90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285BE90 */ cpu->r[1] = _t0;
|
|
/* 0285BE94 */ cpu->r[0] = cpu->lr;
|
|
/* 0285BE98 */ /* nop */
|
|
/* 0285BE9C */ cpu->r[31] = cpu->r[5];
|
|
/* 0285BEA0 */ cpu->r[27] = cpu->r[6];
|
|
/* 0285BEA4 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285BEA8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0285BEA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285BEAC */ cpu->r[29] = cpu->r[3];
|
|
/* 0285BEB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BEB4 */ cpu->r[28] = cpu->r[7];
|
|
/* 0285BEB8 */ Gambit_fn_0285B7D0(cpu);
|
|
/* 0285BEBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[3]);
|
|
/* 0285BEC0 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285BEC0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285BEC0 */ if (_t3) goto L_0285BEC4; else goto L_0285BEEC;
|
|
L_0285BEC4: ; // 0x285bec4
|
|
/* 0285BEC4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BEC8 */ Gambit_fn_0285B7E8(cpu);
|
|
/* 0285BECC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)0x00000024u);
|
|
/* 0285BED0 */ cpu->r[4] = cpu->r[3] + cpu->r[0];
|
|
/* 0285BED4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285BED8 */ Gambit_fn_0285D774(cpu);
|
|
/* 0285BEDC */ cpu->r[4] = cpu->r[3];
|
|
/* 0285BEE0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285BEE4 */ cpu->r[5] = cpu->r[28];
|
|
/* 0285BEE8 */ Gambit_fn_0285BE24(cpu);
|
|
L_0285BEEC: ; // 0x285beec
|
|
/* 0285BEEC */ /* nop */
|
|
/* 0285BEF0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0285BEF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285BEF4 */ cpu->lr = cpu->r[0];
|
|
/* 0285BEF8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285BEFC */ return;
|
|
}
|
|
|
|
// fn_0285BF00 @ 0x285bf00
|
|
void Gambit_fn_0285BF00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285BF00: ; // 0x285bf00
|
|
/* 0285BF00 */ cpu->r[0] = cpu->lr;
|
|
/* 0285BF04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285BF04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285BF04 */ cpu->r[1] = _t0;
|
|
/* 0285BF08 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BF08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285BF0C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BF0C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285BF10 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285BF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285BF14 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285BF18 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BF18 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285BF1C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BF1C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285BF1C */ if (_t5) goto L_0285BF3C; else goto L_0285BF20;
|
|
L_0285BF20: ; // 0x285bf20
|
|
/* 0285BF20 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BF24 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285BF28 */ Gambit_fn_0285B904(cpu);
|
|
/* 0285BF2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285BF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285BF30 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BF30 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285BF30 */ if (_t7) goto L_0285BF3C; else goto L_0285BF34;
|
|
L_0285BF34: ; // 0x285bf34
|
|
/* 0285BF34 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BF38 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285BF3C: ; // 0x285bf3c
|
|
/* 0285BF3C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BF3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285BF40 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BF40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285BF44 */ cpu->lr = cpu->r[0];
|
|
/* 0285BF48 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BF48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285BF4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285BF50 */ return;
|
|
}
|
|
|
|
// fn_0285BF04 @ 0x285bf04
|
|
void Gambit_fn_0285BF04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285BF04: ; // 0x285bf04
|
|
/* 0285BF04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285BF04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285BF04 */ cpu->r[1] = _t0;
|
|
/* 0285BF08 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BF08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285BF0C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BF0C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285BF10 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285BF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285BF14 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285BF18 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BF18 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285BF1C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BF1C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285BF1C */ if (_t5) goto L_0285BF3C; else goto L_0285BF20;
|
|
L_0285BF20: ; // 0x285bf20
|
|
/* 0285BF20 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BF24 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285BF28 */ Gambit_fn_0285B904(cpu);
|
|
/* 0285BF2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285BF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285BF30 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BF30 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285BF30 */ if (_t7) goto L_0285BF3C; else goto L_0285BF34;
|
|
L_0285BF34: ; // 0x285bf34
|
|
/* 0285BF34 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BF38 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285BF3C: ; // 0x285bf3c
|
|
/* 0285BF3C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285BF3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285BF40 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BF40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285BF44 */ cpu->lr = cpu->r[0];
|
|
/* 0285BF48 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BF48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285BF4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285BF50 */ return;
|
|
}
|
|
|
|
// fn_0285BF54 @ 0x285bf54
|
|
void Gambit_fn_0285BF54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_0285BF54: ; // 0x285bf54
|
|
/* 0285BF54 */ cpu->r[0] = cpu->lr;
|
|
/* 0285BF58 */ _t0 = cpu->r[1] + 0xFFFFFED8u;
|
|
/* 0285BF58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285BF58 */ cpu->r[1] = _t0;
|
|
/* 0285BF5C */ _t1 = cpu->r[1] + 0x00000124u;
|
|
/* 0285BF5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285BF60 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285BF64 */ _t2 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0285BF64 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285BF68 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285BF6C */ _t3 = cpu->r[1] + 0x0000000Au;
|
|
/* 0285BF6C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]);
|
|
/* 0285BF70 */ _t4 = cpu->r[1] + 0x00000009u;
|
|
/* 0285BF70 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0285BF74 */ _t5 = cpu->r[1] + 0x00000120u;
|
|
/* 0285BF74 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 0285BF78 */ _t6 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0285BF78 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285BF7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285BF80 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 0285BF80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0285BF84 */ cpu->r[31] = cpu->r[7];
|
|
/* 0285BF88 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BF88 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 0285BF8C */ cpu->r[29] = 0x00000000u;
|
|
/* 0285BF90 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285BF94 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BF94 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[29]);
|
|
/* 0285BF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000002Eu);
|
|
/* 0285BF9C */ _t10 = cpu->r[1] + 0x0000000Bu;
|
|
/* 0285BF9C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[5]);
|
|
/* 0285BFA0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BFA0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285BFA0 */ if (_t12) goto L_0285BFA4; else goto L_0285C00C;
|
|
L_0285BFA4: ; // 0x285bfa4
|
|
/* 0285BFA4 */ _t13 = cpu->r[4] + 0x00000001u;
|
|
/* 0285BFA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0285BFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285BFAC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BFAC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285BFAC */ if (_t15) goto L_0285BFB0; else goto L_0285C00C;
|
|
L_0285BFB0: ; // 0x285bfb0
|
|
/* 0285BFB0 */ cpu->r[8] = cpu->r[6];
|
|
/* 0285BFB4 */ cpu->r[6] = 0x10130000u;
|
|
/* 0285BFB8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0285BFBC */ cpu->r[4] = 0x00000100u;
|
|
/* 0285BFC0 */ cpu->r[6] = cpu->r[6] + 0x00004CF0u;
|
|
/* 0285BFC4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0285BFC8 */ cpu->r[5] = 0x000000FFu;
|
|
/* 0285BFCC */ _t16 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0285BFCC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285BFCC */ if (_t17) goto L_0285BFD0; // else: addr-0 trap, fall-through
|
|
L_0285BFD0: ; // 0x285bfd0
|
|
/* 0285BFD0 */ Gambit_fn_0285C594(cpu);
|
|
/* 0285BFD4 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0285BFD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BFDC */ Gambit_fn_0285C918(cpu);
|
|
/* 0285BFE0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0285BFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 0285BFE8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BFE8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285BFE8 */ if (_t19) goto L_0285BFEC; else goto L_0285C04C;
|
|
L_0285BFEC: ; // 0x285bfec
|
|
/* 0285BFEC */ _t20 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0285BFEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285BFF0 */ _t21 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0285BFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285BFF4 */ _t22 = cpu->r[1] + 0x00000120u;
|
|
/* 0285BFF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285BFF8 */ cpu->lr = cpu->r[0];
|
|
/* 0285BFFC */ _t23 = cpu->r[1] + 0x00000124u;
|
|
/* 0285BFFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285C000 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 0285C004 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285C008 */ return;
|
|
L_0285C00C: ; // 0x285c00c
|
|
/* 0285C00C */ cpu->r[7] = cpu->r[4];
|
|
/* 0285C010 */ cpu->r[9] = cpu->r[6];
|
|
/* 0285C014 */ cpu->r[6] = 0x10130000u;
|
|
/* 0285C018 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C01C */ cpu->r[4] = 0x00000100u;
|
|
/* 0285C020 */ cpu->r[6] = cpu->r[6] + 0x00004CF8u;
|
|
/* 0285C024 */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
/* 0285C028 */ cpu->r[5] = 0x000000FFu;
|
|
/* 0285C02C */ _t24 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0285C02C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285C02C */ if (_t25) goto L_0285C030; // else: addr-0 trap, fall-through
|
|
L_0285C030: ; // 0x285c030
|
|
/* 0285C030 */ Gambit_fn_0285C594(cpu);
|
|
/* 0285C034 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C038 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285C03C */ Gambit_fn_0285C918(cpu);
|
|
/* 0285C040 */ cpu->r[4] = cpu->r[3];
|
|
/* 0285C044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 0285C048 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C048 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0285C048 */ if (_t27) goto L_0285BFEC; else goto L_0285C04C;
|
|
L_0285C04C: ; // 0x285c04c
|
|
/* 0285C04C */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C04C */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 0285C050 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285C054 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0285C058 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C058 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 0285C05C */ Gambit_fn_0285C898(cpu);
|
|
/* 0285C060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C064 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C064 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0285C064 */ if (_t31) goto L_0285C070; else goto L_0285C068;
|
|
L_0285C068: ; // 0x285c068
|
|
/* 0285C068 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C068 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0285C06C */ _t33 = cpu->r[31] + 0x00000000u;
|
|
/* 0285C06C */ rbrew_write32(cpu->mem, _t33, cpu->r[9]);
|
|
L_0285C070: ; // 0x285c070
|
|
/* 0285C070 */ _t34 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0285C070 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0285C074 */ _t35 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0285C074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0285C078 */ _t36 = cpu->r[1] + 0x00000120u;
|
|
/* 0285C078 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0285C07C */ cpu->lr = cpu->r[0];
|
|
/* 0285C080 */ _t37 = cpu->r[1] + 0x00000124u;
|
|
/* 0285C080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0285C084 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 0285C088 */ return;
|
|
}
|
|
|
|
// fn_0285BF58 @ 0x285bf58
|
|
void Gambit_fn_0285BF58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_0285BF58: ; // 0x285bf58
|
|
/* 0285BF58 */ _t0 = cpu->r[1] + 0xFFFFFED8u;
|
|
/* 0285BF58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285BF58 */ cpu->r[1] = _t0;
|
|
/* 0285BF5C */ _t1 = cpu->r[1] + 0x00000124u;
|
|
/* 0285BF5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285BF60 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285BF64 */ _t2 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0285BF64 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285BF68 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285BF6C */ _t3 = cpu->r[1] + 0x0000000Au;
|
|
/* 0285BF6C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]);
|
|
/* 0285BF70 */ _t4 = cpu->r[1] + 0x00000009u;
|
|
/* 0285BF70 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0285BF74 */ _t5 = cpu->r[1] + 0x00000120u;
|
|
/* 0285BF74 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 0285BF78 */ _t6 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0285BF78 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285BF7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285BF80 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 0285BF80 */ cpu->r[8] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0285BF84 */ cpu->r[31] = cpu->r[7];
|
|
/* 0285BF88 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0285BF88 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 0285BF8C */ cpu->r[29] = 0x00000000u;
|
|
/* 0285BF90 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285BF94 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285BF94 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[29]);
|
|
/* 0285BF98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000002Eu);
|
|
/* 0285BF9C */ _t10 = cpu->r[1] + 0x0000000Bu;
|
|
/* 0285BF9C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[5]);
|
|
/* 0285BFA0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BFA0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285BFA0 */ if (_t12) goto L_0285BFA4; else goto L_0285C00C;
|
|
L_0285BFA4: ; // 0x285bfa4
|
|
/* 0285BFA4 */ _t13 = cpu->r[4] + 0x00000001u;
|
|
/* 0285BFA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0285BFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285BFAC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BFAC */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285BFAC */ if (_t15) goto L_0285BFB0; else goto L_0285C00C;
|
|
L_0285BFB0: ; // 0x285bfb0
|
|
/* 0285BFB0 */ cpu->r[8] = cpu->r[6];
|
|
/* 0285BFB4 */ cpu->r[6] = 0x10130000u;
|
|
/* 0285BFB8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0285BFBC */ cpu->r[4] = 0x00000100u;
|
|
/* 0285BFC0 */ cpu->r[6] = cpu->r[6] + 0x00004CF0u;
|
|
/* 0285BFC4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0285BFC8 */ cpu->r[5] = 0x000000FFu;
|
|
/* 0285BFCC */ _t16 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0285BFCC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285BFCC */ if (_t17) goto L_0285BFD0; // else: addr-0 trap, fall-through
|
|
L_0285BFD0: ; // 0x285bfd0
|
|
/* 0285BFD0 */ Gambit_fn_0285C594(cpu);
|
|
/* 0285BFD4 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0285BFD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285BFDC */ Gambit_fn_0285C918(cpu);
|
|
/* 0285BFE0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0285BFE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 0285BFE8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285BFE8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285BFE8 */ if (_t19) goto L_0285BFEC; else goto L_0285C04C;
|
|
L_0285BFEC: ; // 0x285bfec
|
|
/* 0285BFEC */ _t20 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0285BFEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285BFF0 */ _t21 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0285BFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285BFF4 */ _t22 = cpu->r[1] + 0x00000120u;
|
|
/* 0285BFF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285BFF8 */ cpu->lr = cpu->r[0];
|
|
/* 0285BFFC */ _t23 = cpu->r[1] + 0x00000124u;
|
|
/* 0285BFFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285C000 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 0285C004 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285C008 */ return;
|
|
L_0285C00C: ; // 0x285c00c
|
|
/* 0285C00C */ cpu->r[7] = cpu->r[4];
|
|
/* 0285C010 */ cpu->r[9] = cpu->r[6];
|
|
/* 0285C014 */ cpu->r[6] = 0x10130000u;
|
|
/* 0285C018 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C01C */ cpu->r[4] = 0x00000100u;
|
|
/* 0285C020 */ cpu->r[6] = cpu->r[6] + 0x00004CF8u;
|
|
/* 0285C024 */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
/* 0285C028 */ cpu->r[5] = 0x000000FFu;
|
|
/* 0285C02C */ _t24 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0285C02C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285C02C */ if (_t25) goto L_0285C030; // else: addr-0 trap, fall-through
|
|
L_0285C030: ; // 0x285c030
|
|
/* 0285C030 */ Gambit_fn_0285C594(cpu);
|
|
/* 0285C034 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C038 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285C03C */ Gambit_fn_0285C918(cpu);
|
|
/* 0285C040 */ cpu->r[4] = cpu->r[3];
|
|
/* 0285C044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFFFFu);
|
|
/* 0285C048 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C048 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0285C048 */ if (_t27) goto L_0285BFEC; else goto L_0285C04C;
|
|
L_0285C04C: ; // 0x285c04c
|
|
/* 0285C04C */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C04C */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 0285C050 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285C054 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 0285C058 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C058 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 0285C05C */ Gambit_fn_0285C898(cpu);
|
|
/* 0285C060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C064 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C064 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0285C064 */ if (_t31) goto L_0285C070; else goto L_0285C068;
|
|
L_0285C068: ; // 0x285c068
|
|
/* 0285C068 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C068 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0285C06C */ _t33 = cpu->r[31] + 0x00000000u;
|
|
/* 0285C06C */ rbrew_write32(cpu->mem, _t33, cpu->r[9]);
|
|
L_0285C070: ; // 0x285c070
|
|
/* 0285C070 */ _t34 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0285C070 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0285C074 */ _t35 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0285C074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0285C078 */ _t36 = cpu->r[1] + 0x00000120u;
|
|
/* 0285C078 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0285C07C */ cpu->lr = cpu->r[0];
|
|
/* 0285C080 */ _t37 = cpu->r[1] + 0x00000124u;
|
|
/* 0285C080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0285C084 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 0285C088 */ return;
|
|
}
|
|
|
|
// fn_0285C08C @ 0x285c08c
|
|
void Gambit_fn_0285C08C(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_0285C08C: ; // 0x285c08c
|
|
/* 0285C08C */ cpu->r[0] = cpu->lr;
|
|
/* 0285C090 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285C090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C090 */ cpu->r[1] = _t0;
|
|
/* 0285C094 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C094 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285C098 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285C09C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C09C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285C0A0 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 0285C0A4 */ cpu->r[31] = cpu->r[5];
|
|
/* 0285C0A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C0A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285C0AC */ Gambit_fn_0285C658(cpu);
|
|
/* 0285C0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C0B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C0B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285C0B4 */ if (_t5) goto L_0285C0B8; else goto L_0285C0D4;
|
|
L_0285C0B8: ; // 0x285c0b8
|
|
/* 0285C0B8 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285C0BC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C0BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285C0C0 */ cpu->lr = cpu->r[0];
|
|
/* 0285C0C4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C0C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285C0C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285C0CC */ cpu->r[3] = 0x00000000u;
|
|
/* 0285C0D0 */ return;
|
|
L_0285C0D4: ; // 0x285c0d4
|
|
/* 0285C0D4 */ cpu->r[11] = 0x0000003Fu;
|
|
/* 0285C0D8 */ cpu->r[10] = cpu->r[30] + 0x00000024u;
|
|
/* 0285C0DC */ cpu->ctr = cpu->r[11];
|
|
/* 0285C0E0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
L_0285C0E4: ; // 0x285c0e4
|
|
/* 0285C0E4 */ _t9 = cpu->r[31] + 0x00000001u;
|
|
/* 0285C0E4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0285C0E4 */ cpu->r[31] = _t9;
|
|
/* 0285C0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285C0EC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C0EC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285C0EC */ if (_t11) goto L_0285C0FC; else goto L_0285C0F0;
|
|
L_0285C0F0: ; // 0x285c0f0
|
|
/* 0285C0F0 */ _t12 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C0F0 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 0285C0F4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0285C0F8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285C0F8 */ _t13 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285C0F8 */ _t14 = _t13 >> (0x00000002u & 31u);
|
|
/* 0285C0F8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285C0F8 */ if (_t15) goto L_0285C0E4; else goto L_0285C0FC;
|
|
L_0285C0FC: ; // 0x285c0fc
|
|
/* 0285C0FC */ cpu->r[0] = 0x00000000u;
|
|
/* 0285C100 */ _t16 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C100 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]);
|
|
/* 0285C104 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285C108 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C108 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285C10C */ cpu->lr = cpu->r[0];
|
|
/* 0285C110 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C110 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285C114 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285C118 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285C11C */ return;
|
|
}
|
|
|
|
// fn_0285C090 @ 0x285c090
|
|
void Gambit_fn_0285C090(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_0285C090: ; // 0x285c090
|
|
/* 0285C090 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285C090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C090 */ cpu->r[1] = _t0;
|
|
/* 0285C094 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C094 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285C098 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285C09C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C09C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285C0A0 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 0285C0A4 */ cpu->r[31] = cpu->r[5];
|
|
/* 0285C0A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C0A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285C0AC */ Gambit_fn_0285C658(cpu);
|
|
/* 0285C0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C0B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C0B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285C0B4 */ if (_t5) goto L_0285C0B8; else goto L_0285C0D4;
|
|
L_0285C0B8: ; // 0x285c0b8
|
|
/* 0285C0B8 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285C0BC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C0BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285C0C0 */ cpu->lr = cpu->r[0];
|
|
/* 0285C0C4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C0C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285C0C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285C0CC */ cpu->r[3] = 0x00000000u;
|
|
/* 0285C0D0 */ return;
|
|
L_0285C0D4: ; // 0x285c0d4
|
|
/* 0285C0D4 */ cpu->r[11] = 0x0000003Fu;
|
|
/* 0285C0D8 */ cpu->r[10] = cpu->r[30] + 0x00000024u;
|
|
/* 0285C0DC */ cpu->ctr = cpu->r[11];
|
|
/* 0285C0E0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
L_0285C0E4: ; // 0x285c0e4
|
|
/* 0285C0E4 */ _t9 = cpu->r[31] + 0x00000001u;
|
|
/* 0285C0E4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0285C0E4 */ cpu->r[31] = _t9;
|
|
/* 0285C0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285C0EC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C0EC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285C0EC */ if (_t11) goto L_0285C0FC; else goto L_0285C0F0;
|
|
L_0285C0F0: ; // 0x285c0f0
|
|
/* 0285C0F0 */ _t12 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C0F0 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 0285C0F4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0285C0F8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285C0F8 */ _t13 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285C0F8 */ _t14 = _t13 >> (0x00000002u & 31u);
|
|
/* 0285C0F8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285C0F8 */ if (_t15) goto L_0285C0E4; else goto L_0285C0FC;
|
|
L_0285C0FC: ; // 0x285c0fc
|
|
/* 0285C0FC */ cpu->r[0] = 0x00000000u;
|
|
/* 0285C100 */ _t16 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C100 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[0]);
|
|
/* 0285C104 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285C108 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C108 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285C10C */ cpu->lr = cpu->r[0];
|
|
/* 0285C110 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C110 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285C114 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285C118 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285C11C */ return;
|
|
}
|
|
|
|
// fn_0285C120 @ 0x285c120
|
|
void Gambit_fn_0285C120(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
|
|
|
|
L_0285C120: ; // 0x285c120
|
|
/* 0285C120 */ cpu->r[0] = cpu->lr;
|
|
/* 0285C124 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285C124 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C124 */ cpu->r[1] = _t0;
|
|
/* 0285C128 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C128 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285C12C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C12C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285C130 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C134 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C134 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285C138 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C138 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285C138 */ if (_t5) goto L_0285C13C; else goto L_0285C14C;
|
|
L_0285C13C: ; // 0x285c13c
|
|
/* 0285C13C */ cpu->r[3] = 0x00000034u;
|
|
/* 0285C140 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C144 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C148 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C148 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285C148 */ if (_t7) goto L_0285C264; else goto L_0285C14C;
|
|
L_0285C14C: ; // 0x285c14c
|
|
/* 0285C14C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285C150 */ Gambit_fn_0285E3D0(cpu);
|
|
/* 0285C154 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285C158 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 0285C158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C15C */ cpu->r[0] = cpu->r[0] + 0x00004D04u;
|
|
/* 0285C160 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285C164 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0285C164 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0285C168 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C168 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285C168 */ if (_t10) goto L_0285C16C; else goto L_0285C17C;
|
|
L_0285C16C: ; // 0x285c16c
|
|
/* 0285C16C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C170 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C178 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C178 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285C178 */ if (_t12) goto L_0285C1A4; else goto L_0285C17C;
|
|
L_0285C17C: ; // 0x285c17c
|
|
/* 0285C17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C180 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C180 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285C180 */ if (_t14) goto L_0285C184; else goto L_0285C194;
|
|
L_0285C184: ; // 0x285c184
|
|
/* 0285C184 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C188 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C190 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C190 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285C190 */ if (_t16) goto L_0285C1A4; else goto L_0285C194;
|
|
L_0285C194: ; // 0x285c194
|
|
/* 0285C194 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 0285C198 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0285C198 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 0285C19C */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 0285C19C */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 0285C1A0 */ _t19 = cpu->r[12] + 0x00000000u;
|
|
/* 0285C1A0 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
L_0285C1A4: ; // 0x285c1a4
|
|
/* 0285C1A4 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0285C1A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C1A8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C1A8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0285C1A8 */ if (_t21) goto L_0285C1AC; else goto L_0285C1BC;
|
|
L_0285C1AC: ; // 0x285c1ac
|
|
/* 0285C1AC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C1B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C1B8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C1B8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0285C1B8 */ if (_t23) goto L_0285C1E4; else goto L_0285C1BC;
|
|
L_0285C1BC: ; // 0x285c1bc
|
|
/* 0285C1BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C1C0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C1C0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285C1C0 */ if (_t25) goto L_0285C1C4; else goto L_0285C1D4;
|
|
L_0285C1C4: ; // 0x285c1c4
|
|
/* 0285C1C4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C1C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C1D0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C1D0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0285C1D0 */ if (_t27) goto L_0285C1E4; else goto L_0285C1D4;
|
|
L_0285C1D4: ; // 0x285c1d4
|
|
/* 0285C1D4 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 0285C1D8 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 0285C1D8 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 0285C1DC */ _t29 = cpu->r[12] + 0x00000004u;
|
|
/* 0285C1DC */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 0285C1E0 */ _t30 = cpu->r[12] + 0x00000000u;
|
|
/* 0285C1E0 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
L_0285C1E4: ; // 0x285c1e4
|
|
/* 0285C1E4 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285C1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C1E8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C1E8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0285C1E8 */ if (_t32) goto L_0285C1EC; else goto L_0285C1FC;
|
|
L_0285C1EC: ; // 0x285c1ec
|
|
/* 0285C1EC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C1F0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C1F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C1F8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C1F8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0285C1F8 */ if (_t34) goto L_0285C224; else goto L_0285C1FC;
|
|
L_0285C1FC: ; // 0x285c1fc
|
|
/* 0285C1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C200 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C200 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0285C200 */ if (_t36) goto L_0285C204; else goto L_0285C214;
|
|
L_0285C204: ; // 0x285c204
|
|
/* 0285C204 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C208 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C20C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C210 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C210 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0285C210 */ if (_t38) goto L_0285C224; else goto L_0285C214;
|
|
L_0285C214: ; // 0x285c214
|
|
/* 0285C214 */ cpu->r[10] = cpu->r[3] + 0x00000004u;
|
|
/* 0285C218 */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 0285C218 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 0285C21C */ _t40 = cpu->r[10] + 0x00000004u;
|
|
/* 0285C21C */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 0285C220 */ _t41 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C220 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
L_0285C224: ; // 0x285c224
|
|
/* 0285C224 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0285C224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C228 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C228 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0285C228 */ if (_t43) goto L_0285C22C; else goto L_0285C23C;
|
|
L_0285C22C: ; // 0x285c22c
|
|
/* 0285C22C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C230 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C238 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C238 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0285C238 */ if (_t45) goto L_0285C264; else goto L_0285C23C;
|
|
L_0285C23C: ; // 0x285c23c
|
|
/* 0285C23C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C240 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C240 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0285C240 */ if (_t47) goto L_0285C244; else goto L_0285C254;
|
|
L_0285C244: ; // 0x285c244
|
|
/* 0285C244 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C248 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C250 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C250 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0285C250 */ if (_t49) goto L_0285C264; else goto L_0285C254;
|
|
L_0285C254: ; // 0x285c254
|
|
/* 0285C254 */ cpu->r[11] = cpu->r[3] + 0x00000004u;
|
|
/* 0285C258 */ _t50 = cpu->r[3] + 0x00000000u;
|
|
/* 0285C258 */ rbrew_write32(cpu->mem, _t50, cpu->r[30]);
|
|
/* 0285C25C */ _t51 = cpu->r[11] + 0x00000004u;
|
|
/* 0285C25C */ rbrew_write32(cpu->mem, _t51, cpu->r[11]);
|
|
/* 0285C260 */ _t52 = cpu->r[11] + 0x00000000u;
|
|
/* 0285C260 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
L_0285C264: ; // 0x285c264
|
|
/* 0285C264 */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0285C268 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285C26C */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C26C */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0285C270 */ cpu->lr = cpu->r[0];
|
|
/* 0285C274 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C274 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0285C278 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285C27C */ return;
|
|
}
|
|
|
|
// fn_0285C124 @ 0x285c124
|
|
void Gambit_fn_0285C124(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
|
|
|
|
L_0285C124: ; // 0x285c124
|
|
/* 0285C124 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285C124 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C124 */ cpu->r[1] = _t0;
|
|
/* 0285C128 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C128 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285C12C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C12C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285C130 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C134 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C134 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285C138 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C138 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285C138 */ if (_t5) goto L_0285C13C; else goto L_0285C14C;
|
|
L_0285C13C: ; // 0x285c13c
|
|
/* 0285C13C */ cpu->r[3] = 0x00000034u;
|
|
/* 0285C140 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C144 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C148 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C148 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285C148 */ if (_t7) goto L_0285C264; else goto L_0285C14C;
|
|
L_0285C14C: ; // 0x285c14c
|
|
/* 0285C14C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285C150 */ Gambit_fn_0285E3D0(cpu);
|
|
/* 0285C154 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285C158 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 0285C158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C15C */ cpu->r[0] = cpu->r[0] + 0x00004D04u;
|
|
/* 0285C160 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285C164 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0285C164 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0285C168 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C168 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285C168 */ if (_t10) goto L_0285C16C; else goto L_0285C17C;
|
|
L_0285C16C: ; // 0x285c16c
|
|
/* 0285C16C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C170 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C178 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C178 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285C178 */ if (_t12) goto L_0285C1A4; else goto L_0285C17C;
|
|
L_0285C17C: ; // 0x285c17c
|
|
/* 0285C17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C180 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C180 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285C180 */ if (_t14) goto L_0285C184; else goto L_0285C194;
|
|
L_0285C184: ; // 0x285c184
|
|
/* 0285C184 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C188 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C190 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C190 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285C190 */ if (_t16) goto L_0285C1A4; else goto L_0285C194;
|
|
L_0285C194: ; // 0x285c194
|
|
/* 0285C194 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 0285C198 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0285C198 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 0285C19C */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 0285C19C */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 0285C1A0 */ _t19 = cpu->r[12] + 0x00000000u;
|
|
/* 0285C1A0 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
L_0285C1A4: ; // 0x285c1a4
|
|
/* 0285C1A4 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0285C1A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C1A8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C1A8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0285C1A8 */ if (_t21) goto L_0285C1AC; else goto L_0285C1BC;
|
|
L_0285C1AC: ; // 0x285c1ac
|
|
/* 0285C1AC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C1B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C1B8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C1B8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0285C1B8 */ if (_t23) goto L_0285C1E4; else goto L_0285C1BC;
|
|
L_0285C1BC: ; // 0x285c1bc
|
|
/* 0285C1BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C1C0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C1C0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285C1C0 */ if (_t25) goto L_0285C1C4; else goto L_0285C1D4;
|
|
L_0285C1C4: ; // 0x285c1c4
|
|
/* 0285C1C4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C1C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C1D0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C1D0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0285C1D0 */ if (_t27) goto L_0285C1E4; else goto L_0285C1D4;
|
|
L_0285C1D4: ; // 0x285c1d4
|
|
/* 0285C1D4 */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 0285C1D8 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 0285C1D8 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 0285C1DC */ _t29 = cpu->r[12] + 0x00000004u;
|
|
/* 0285C1DC */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 0285C1E0 */ _t30 = cpu->r[12] + 0x00000000u;
|
|
/* 0285C1E0 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
L_0285C1E4: ; // 0x285c1e4
|
|
/* 0285C1E4 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285C1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C1E8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C1E8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0285C1E8 */ if (_t32) goto L_0285C1EC; else goto L_0285C1FC;
|
|
L_0285C1EC: ; // 0x285c1ec
|
|
/* 0285C1EC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C1F0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C1F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C1F8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C1F8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0285C1F8 */ if (_t34) goto L_0285C224; else goto L_0285C1FC;
|
|
L_0285C1FC: ; // 0x285c1fc
|
|
/* 0285C1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C200 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C200 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0285C200 */ if (_t36) goto L_0285C204; else goto L_0285C214;
|
|
L_0285C204: ; // 0x285c204
|
|
/* 0285C204 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C208 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C20C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C210 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C210 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0285C210 */ if (_t38) goto L_0285C224; else goto L_0285C214;
|
|
L_0285C214: ; // 0x285c214
|
|
/* 0285C214 */ cpu->r[10] = cpu->r[3] + 0x00000004u;
|
|
/* 0285C218 */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 0285C218 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 0285C21C */ _t40 = cpu->r[10] + 0x00000004u;
|
|
/* 0285C21C */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 0285C220 */ _t41 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C220 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
L_0285C224: ; // 0x285c224
|
|
/* 0285C224 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0285C224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C228 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C228 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0285C228 */ if (_t43) goto L_0285C22C; else goto L_0285C23C;
|
|
L_0285C22C: ; // 0x285c22c
|
|
/* 0285C22C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C230 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C238 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C238 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0285C238 */ if (_t45) goto L_0285C264; else goto L_0285C23C;
|
|
L_0285C23C: ; // 0x285c23c
|
|
/* 0285C23C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C240 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C240 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0285C240 */ if (_t47) goto L_0285C244; else goto L_0285C254;
|
|
L_0285C244: ; // 0x285c244
|
|
/* 0285C244 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285C248 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C250 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C250 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0285C250 */ if (_t49) goto L_0285C264; else goto L_0285C254;
|
|
L_0285C254: ; // 0x285c254
|
|
/* 0285C254 */ cpu->r[11] = cpu->r[3] + 0x00000004u;
|
|
/* 0285C258 */ _t50 = cpu->r[3] + 0x00000000u;
|
|
/* 0285C258 */ rbrew_write32(cpu->mem, _t50, cpu->r[30]);
|
|
/* 0285C25C */ _t51 = cpu->r[11] + 0x00000004u;
|
|
/* 0285C25C */ rbrew_write32(cpu->mem, _t51, cpu->r[11]);
|
|
/* 0285C260 */ _t52 = cpu->r[11] + 0x00000000u;
|
|
/* 0285C260 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
L_0285C264: ; // 0x285c264
|
|
/* 0285C264 */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0285C268 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285C26C */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C26C */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0285C270 */ cpu->lr = cpu->r[0];
|
|
/* 0285C274 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C274 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0285C278 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285C27C */ return;
|
|
}
|
|
|
|
// fn_0285C280 @ 0x285c280
|
|
void Gambit_fn_0285C280(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0285C280: ; // 0x285c280
|
|
/* 0285C280 */ cpu->r[0] = cpu->lr;
|
|
/* 0285C284 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285C284 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0285C288 */ cpu->r[0] = cpu->r[3] + 0x00000008u;
|
|
/* 0285C28C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285C28C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0285C28C */ cpu->r[1] = _t1;
|
|
/* 0285C290 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 0285C290 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0285C294 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285C298 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 0285C29C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C29C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 0285C2A0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C2A4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C2A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285C2A8 */ Gambit_fn_02854204(cpu);
|
|
/* 0285C2AC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C2AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285C2B0 */ cpu->lr = cpu->r[0];
|
|
/* 0285C2B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C2B8 */ return;
|
|
}
|
|
|
|
// fn_0285C28C @ 0x285c28c
|
|
void Gambit_fn_0285C28C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0285C28C: ; // 0x285c28c
|
|
/* 0285C28C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285C28C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C28C */ cpu->r[1] = _t0;
|
|
/* 0285C290 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0285C290 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0285C294 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285C298 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 0285C29C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C29C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 0285C2A0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C2A4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C2A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285C2A8 */ Gambit_fn_02854204(cpu);
|
|
/* 0285C2AC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C2AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285C2B0 */ cpu->lr = cpu->r[0];
|
|
/* 0285C2B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C2B8 */ return;
|
|
}
|
|
|
|
// fn_0285C2BC @ 0x285c2bc
|
|
void Gambit_fn_0285C2BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0285C2BC: ; // 0x285c2bc
|
|
/* 0285C2BC */ cpu->r[0] = cpu->lr;
|
|
/* 0285C2C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285C2C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C2C0 */ cpu->r[1] = _t0;
|
|
/* 0285C2C4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C2C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285C2C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C2C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285C2CC */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C2CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C2D0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285C2D4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C2D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285C2D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C2D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285C2D8 */ if (_t5) goto L_0285C330; else goto L_0285C2DC;
|
|
L_0285C2DC: ; // 0x285c2dc
|
|
/* 0285C2DC */ cpu->r[0] = 0x10130000u;
|
|
/* 0285C2E0 */ cpu->r[0] = cpu->r[0] + 0x00004D04u;
|
|
/* 0285C2E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285C2E8 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 0285C2E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285C2EC */ Gambit_fn_0285C280(cpu);
|
|
/* 0285C2F0 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0285C2F4 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285C2F8 */ Gambit_fn_0285E824(cpu);
|
|
/* 0285C2FC */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285C300 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285C304 */ Gambit_fn_0285ED5C(cpu);
|
|
/* 0285C308 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0285C30C */ cpu->r[4] = 0x00000002u;
|
|
/* 0285C310 */ Gambit_fn_0285D1BC(cpu);
|
|
/* 0285C314 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285C318 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285C31C */ Gambit_fn_0285E410(cpu);
|
|
/* 0285C320 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285C320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285C324 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C324 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285C324 */ if (_t8) goto L_0285C330; else goto L_0285C328;
|
|
L_0285C328: ; // 0x285c328
|
|
/* 0285C328 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285C32C */ Gambit_fn_02801BB0(cpu);
|
|
L_0285C330: ; // 0x285c330
|
|
/* 0285C330 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C330 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285C334 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C334 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285C338 */ cpu->lr = cpu->r[0];
|
|
/* 0285C33C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C33C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285C340 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285C344 */ return;
|
|
}
|
|
|
|
// fn_0285C2C0 @ 0x285c2c0
|
|
void Gambit_fn_0285C2C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0285C2C0: ; // 0x285c2c0
|
|
/* 0285C2C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285C2C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C2C0 */ cpu->r[1] = _t0;
|
|
/* 0285C2C4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C2C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285C2C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C2C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285C2CC */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C2CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C2D0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285C2D4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C2D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285C2D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C2D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285C2D8 */ if (_t5) goto L_0285C330; else goto L_0285C2DC;
|
|
L_0285C2DC: ; // 0x285c2dc
|
|
/* 0285C2DC */ cpu->r[0] = 0x10130000u;
|
|
/* 0285C2E0 */ cpu->r[0] = cpu->r[0] + 0x00004D04u;
|
|
/* 0285C2E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285C2E8 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 0285C2E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285C2EC */ Gambit_fn_0285C280(cpu);
|
|
/* 0285C2F0 */ cpu->r[3] = cpu->r[31] + 0x00000028u;
|
|
/* 0285C2F4 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285C2F8 */ Gambit_fn_0285E824(cpu);
|
|
/* 0285C2FC */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285C300 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285C304 */ Gambit_fn_0285ED5C(cpu);
|
|
/* 0285C308 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0285C30C */ cpu->r[4] = 0x00000002u;
|
|
/* 0285C310 */ Gambit_fn_0285D1BC(cpu);
|
|
/* 0285C314 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285C318 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285C31C */ Gambit_fn_0285E410(cpu);
|
|
/* 0285C320 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285C320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285C324 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C324 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285C324 */ if (_t8) goto L_0285C330; else goto L_0285C328;
|
|
L_0285C328: ; // 0x285c328
|
|
/* 0285C328 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285C32C */ Gambit_fn_02801BB0(cpu);
|
|
L_0285C330: ; // 0x285c330
|
|
/* 0285C330 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C330 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285C334 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C334 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285C338 */ cpu->lr = cpu->r[0];
|
|
/* 0285C33C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C33C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285C340 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285C344 */ return;
|
|
}
|
|
|
|
// fn_0285C348 @ 0x285c348
|
|
void Gambit_fn_0285C348(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0285C348: ; // 0x285c348
|
|
/* 0285C348 */ cpu->r[0] = cpu->lr;
|
|
/* 0285C34C */ cpu->r[5] = cpu->r[4];
|
|
/* 0285C350 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285C350 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0285C354 */ cpu->r[0] = cpu->r[3] + 0x00000008u;
|
|
/* 0285C358 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 0285C35C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285C35C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0285C35C */ cpu->r[1] = _t1;
|
|
/* 0285C360 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285C364 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C364 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285C368 */ Gambit_fn_028541A8(cpu);
|
|
/* 0285C36C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285C370 */ cpu->lr = cpu->r[0];
|
|
/* 0285C374 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C378 */ return;
|
|
}
|
|
|
|
// fn_0285C35C @ 0x285c35c
|
|
void Gambit_fn_0285C35C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0285C35C: ; // 0x285c35c
|
|
/* 0285C35C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285C35C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C35C */ cpu->r[1] = _t0;
|
|
/* 0285C360 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285C364 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C364 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285C368 */ Gambit_fn_028541A8(cpu);
|
|
/* 0285C36C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C36C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0285C370 */ cpu->lr = cpu->r[0];
|
|
/* 0285C374 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C378 */ return;
|
|
}
|
|
|
|
// fn_0285C37C @ 0x285c37c
|
|
void Gambit_fn_0285C37C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285C37C: ; // 0x285c37c
|
|
/* 0285C37C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285C37C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C37C */ cpu->r[1] = _t0;
|
|
/* 0285C380 */ /* nop */
|
|
/* 0285C384 */ cpu->r[0] = cpu->lr;
|
|
/* 0285C388 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0285C388 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285C38C */ cpu->r[29] = cpu->r[4];
|
|
/* 0285C390 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 0285C390 */ cpu->r[28] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0285C394 */ cpu->r[27] = cpu->r[3] + 0x00000008u;
|
|
/* 0285C398 */ cpu->r[11] = cpu->r[28] ^ cpu->r[27];
|
|
/* 0285C39C */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 0285C3A0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285C3A4 */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
|
|
/* 0285C3A8 */ cpu->r[30] = cpu->r[5];
|
|
/* 0285C3AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285C3AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285C3B0 */ cpu->r[31] = cpu->r[6];
|
|
/* 0285C3B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C3B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285C3B4 */ if (_t4) goto L_0285C3F4; else goto L_0285C3B8;
|
|
L_0285C3B8: ; // 0x285c3b8
|
|
/* 0285C3B8 */ cpu->r[7] = cpu->r[31];
|
|
/* 0285C3BC */ cpu->r[6] = cpu->r[30];
|
|
/* 0285C3C0 */ cpu->r[5] = cpu->r[29];
|
|
/* 0285C3C4 */ cpu->r[4] = cpu->r[28] + 0x00000024u;
|
|
/* 0285C3C8 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 0285C3CC */ Gambit_fn_0285BF54(cpu);
|
|
/* 0285C3D0 */ cpu->r[12] = cpu->r[3];
|
|
/* 0285C3D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285C3D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C3D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285C3D4 */ if (_t6) goto L_0285C3D8; else goto L_0285C3F8;
|
|
L_0285C3D8: ; // 0x285c3d8
|
|
/* 0285C3D8 */ _t7 = cpu->r[28] + 0x00000000u;
|
|
/* 0285C3D8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285C3DC */ cpu->r[8] = cpu->r[28] ^ cpu->r[27];
|
|
/* 0285C3E0 */ cpu->r[10] = rbrew_clz32(cpu->r[8]);
|
|
/* 0285C3E4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285C3E8 */ cpu->r[12] = cpu->r[7] ^ 0x00000001u;
|
|
/* 0285C3EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285C3EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285C3F0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C3F0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285C3F0 */ if (_t9) goto L_0285C3F4; else goto L_0285C3B8;
|
|
L_0285C3F4: ; // 0x285c3f4
|
|
/* 0285C3F4 */ cpu->r[12] = 0x00000000u;
|
|
L_0285C3F8: ; // 0x285c3f8
|
|
/* 0285C3F8 */ /* nop */
|
|
/* 0285C3FC */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 0285C3FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285C400 */ cpu->lr = cpu->r[0];
|
|
/* 0285C404 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285C408 */ cpu->r[3] = cpu->r[12];
|
|
/* 0285C40C */ return;
|
|
}
|
|
|
|
// fn_0285C410 @ 0x285c410
|
|
void Gambit_fn_0285C410(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0285C410: ; // 0x285c410
|
|
/* 0285C410 */ cpu->r[0] = cpu->lr;
|
|
/* 0285C414 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285C414 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C414 */ cpu->r[1] = _t0;
|
|
/* 0285C418 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C418 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0285C41C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C41C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285C420 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C420 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285C424 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C424 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285C428 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285C42C */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 0285C430 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285C434 */ Gambit_fn_0285EE58(cpu);
|
|
/* 0285C438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C43C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C43C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285C43C */ if (_t6) goto L_0285C440; else goto L_0285C474;
|
|
L_0285C440: ; // 0x285c440
|
|
/* 0285C440 */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 0285C444 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285C448 */ Gambit_fn_0285EDAC(cpu);
|
|
/* 0285C44C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C44C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C450 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C450 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285C450 */ if (_t8) goto L_0285C470; else goto L_0285C454;
|
|
L_0285C454: ; // 0x285c454
|
|
/* 0285C454 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 0285C454 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285C458 */ _t10 = cpu->r[12] + 0x0000003Cu;
|
|
/* 0285C458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285C45C */ cpu->ctr = cpu->r[0];
|
|
/* 0285C460 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285C464 */ cpu->r[4] = cpu->r[31];
|
|
/* 0285C468 */ cpu->r[5] = cpu->r[30];
|
|
/* 0285C46C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0285C470: ; // 0x285c470
|
|
/* 0285C470 */ cpu->r[3] = cpu->r[31];
|
|
L_0285C474: ; // 0x285c474
|
|
/* 0285C474 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C474 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285C478 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285C47C */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C47C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285C480 */ cpu->lr = cpu->r[0];
|
|
/* 0285C484 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285C488 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C48C */ return;
|
|
}
|
|
|
|
// fn_0285C414 @ 0x285c414
|
|
void Gambit_fn_0285C414(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0285C414: ; // 0x285c414
|
|
/* 0285C414 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285C414 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C414 */ cpu->r[1] = _t0;
|
|
/* 0285C418 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C418 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0285C41C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C41C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285C420 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C420 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285C424 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C424 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285C428 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285C42C */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 0285C430 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285C434 */ Gambit_fn_0285EE58(cpu);
|
|
/* 0285C438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C43C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C43C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285C43C */ if (_t6) goto L_0285C440; else goto L_0285C474;
|
|
L_0285C440: ; // 0x285c440
|
|
/* 0285C440 */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 0285C444 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285C448 */ Gambit_fn_0285EDAC(cpu);
|
|
/* 0285C44C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C44C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C450 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C450 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285C450 */ if (_t8) goto L_0285C470; else goto L_0285C454;
|
|
L_0285C454: ; // 0x285c454
|
|
/* 0285C454 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 0285C454 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285C458 */ _t10 = cpu->r[12] + 0x0000003Cu;
|
|
/* 0285C458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285C45C */ cpu->ctr = cpu->r[0];
|
|
/* 0285C460 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285C464 */ cpu->r[4] = cpu->r[31];
|
|
/* 0285C468 */ cpu->r[5] = cpu->r[30];
|
|
/* 0285C46C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0285C470: ; // 0x285c470
|
|
/* 0285C470 */ cpu->r[3] = cpu->r[31];
|
|
L_0285C474: ; // 0x285c474
|
|
/* 0285C474 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C474 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285C478 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285C47C */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C47C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285C480 */ cpu->lr = cpu->r[0];
|
|
/* 0285C484 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285C488 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C48C */ return;
|
|
}
|
|
|
|
// fn_0285C490 @ 0x285c490
|
|
void Gambit_fn_0285C490(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0285C490: ; // 0x285c490
|
|
/* 0285C490 */ cpu->r[0] = cpu->lr;
|
|
/* 0285C494 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285C494 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C494 */ cpu->r[1] = _t0;
|
|
/* 0285C498 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C498 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0285C49C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C49C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285C4A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C4A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285C4A4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C4A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285C4A8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285C4AC */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 0285C4B0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285C4B4 */ Gambit_fn_0285D2B0(cpu);
|
|
/* 0285C4B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C4BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C4BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285C4BC */ if (_t6) goto L_0285C4C0; else goto L_0285C4F4;
|
|
L_0285C4C0: ; // 0x285c4c0
|
|
/* 0285C4C0 */ _t7 = cpu->r[29] + 0x00000000u;
|
|
/* 0285C4C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285C4C4 */ _t8 = cpu->r[12] + 0x00000044u;
|
|
/* 0285C4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285C4C8 */ cpu->ctr = cpu->r[0];
|
|
/* 0285C4CC */ cpu->r[3] = cpu->r[29];
|
|
/* 0285C4D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285C4D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285C4D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C4D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C4DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C4DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285C4DC */ if (_t10) goto L_0285C4F4; else goto L_0285C4E0;
|
|
L_0285C4E0: ; // 0x285c4e0
|
|
/* 0285C4E0 */ cpu->r[6] = 0x00000001u;
|
|
/* 0285C4E4 */ cpu->r[5] = cpu->r[31];
|
|
/* 0285C4E8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285C4EC */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 0285C4F0 */ Gambit_fn_0285D20C(cpu);
|
|
L_0285C4F4: ; // 0x285c4f4
|
|
/* 0285C4F4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C4F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285C4F8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C4F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285C4FC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285C500 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C500 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285C504 */ cpu->lr = cpu->r[0];
|
|
/* 0285C508 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C508 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285C50C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C510 */ return;
|
|
}
|
|
|
|
// fn_0285C494 @ 0x285c494
|
|
void Gambit_fn_0285C494(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0285C494: ; // 0x285c494
|
|
/* 0285C494 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285C494 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C494 */ cpu->r[1] = _t0;
|
|
/* 0285C498 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C498 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0285C49C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C49C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285C4A0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C4A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285C4A4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C4A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285C4A8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285C4AC */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 0285C4B0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285C4B4 */ Gambit_fn_0285D2B0(cpu);
|
|
/* 0285C4B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C4BC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C4BC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285C4BC */ if (_t6) goto L_0285C4C0; else goto L_0285C4F4;
|
|
L_0285C4C0: ; // 0x285c4c0
|
|
/* 0285C4C0 */ _t7 = cpu->r[29] + 0x00000000u;
|
|
/* 0285C4C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285C4C4 */ _t8 = cpu->r[12] + 0x00000044u;
|
|
/* 0285C4C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285C4C8 */ cpu->ctr = cpu->r[0];
|
|
/* 0285C4CC */ cpu->r[3] = cpu->r[29];
|
|
/* 0285C4D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285C4D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285C4D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C4D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C4DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C4DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285C4DC */ if (_t10) goto L_0285C4F4; else goto L_0285C4E0;
|
|
L_0285C4E0: ; // 0x285c4e0
|
|
/* 0285C4E0 */ cpu->r[6] = 0x00000001u;
|
|
/* 0285C4E4 */ cpu->r[5] = cpu->r[31];
|
|
/* 0285C4E8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285C4EC */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 0285C4F0 */ Gambit_fn_0285D20C(cpu);
|
|
L_0285C4F4: ; // 0x285c4f4
|
|
/* 0285C4F4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C4F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285C4F8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C4F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285C4FC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285C500 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C500 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285C504 */ cpu->lr = cpu->r[0];
|
|
/* 0285C508 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C508 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285C50C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C510 */ return;
|
|
}
|
|
|
|
// fn_0285C514 @ 0x285c514
|
|
void Gambit_fn_0285C514(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0285C514: ; // 0x285c514
|
|
/* 0285C514 */ cpu->r[0] = cpu->lr;
|
|
/* 0285C518 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285C518 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C518 */ cpu->r[1] = _t0;
|
|
/* 0285C51C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C51C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0285C520 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C520 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285C524 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C524 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285C528 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C528 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285C52C */ cpu->r[29] = cpu->r[3];
|
|
/* 0285C530 */ cpu->r[3] = cpu->r[29] + 0x00000028u;
|
|
/* 0285C534 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285C538 */ Gambit_fn_0285E920(cpu);
|
|
/* 0285C53C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C540 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C540 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285C540 */ if (_t6) goto L_0285C544; else goto L_0285C578;
|
|
L_0285C544: ; // 0x285c544
|
|
/* 0285C544 */ cpu->r[3] = cpu->r[29] + 0x00000028u;
|
|
/* 0285C548 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285C54C */ Gambit_fn_0285E874(cpu);
|
|
/* 0285C550 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C554 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C554 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285C554 */ if (_t8) goto L_0285C574; else goto L_0285C558;
|
|
L_0285C558: ; // 0x285c558
|
|
/* 0285C558 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 0285C558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285C55C */ _t10 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0285C55C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285C560 */ cpu->ctr = cpu->r[0];
|
|
/* 0285C564 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285C568 */ cpu->r[4] = cpu->r[31];
|
|
/* 0285C56C */ cpu->r[5] = cpu->r[30];
|
|
/* 0285C570 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0285C574: ; // 0x285c574
|
|
/* 0285C574 */ cpu->r[3] = cpu->r[31];
|
|
L_0285C578: ; // 0x285c578
|
|
/* 0285C578 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C578 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285C57C */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C57C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285C580 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C580 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285C584 */ cpu->lr = cpu->r[0];
|
|
/* 0285C588 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C588 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285C58C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C590 */ return;
|
|
}
|
|
|
|
// fn_0285C518 @ 0x285c518
|
|
void Gambit_fn_0285C518(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0285C518: ; // 0x285c518
|
|
/* 0285C518 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285C518 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C518 */ cpu->r[1] = _t0;
|
|
/* 0285C51C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C51C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0285C520 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C520 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285C524 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C524 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285C528 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C528 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285C52C */ cpu->r[29] = cpu->r[3];
|
|
/* 0285C530 */ cpu->r[3] = cpu->r[29] + 0x00000028u;
|
|
/* 0285C534 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285C538 */ Gambit_fn_0285E920(cpu);
|
|
/* 0285C53C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C540 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C540 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285C540 */ if (_t6) goto L_0285C544; else goto L_0285C578;
|
|
L_0285C544: ; // 0x285c544
|
|
/* 0285C544 */ cpu->r[3] = cpu->r[29] + 0x00000028u;
|
|
/* 0285C548 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285C54C */ Gambit_fn_0285E874(cpu);
|
|
/* 0285C550 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C554 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C554 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285C554 */ if (_t8) goto L_0285C574; else goto L_0285C558;
|
|
L_0285C558: ; // 0x285c558
|
|
/* 0285C558 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 0285C558 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285C55C */ _t10 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0285C55C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285C560 */ cpu->ctr = cpu->r[0];
|
|
/* 0285C564 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285C568 */ cpu->r[4] = cpu->r[31];
|
|
/* 0285C56C */ cpu->r[5] = cpu->r[30];
|
|
/* 0285C570 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0285C574: ; // 0x285c574
|
|
/* 0285C574 */ cpu->r[3] = cpu->r[31];
|
|
L_0285C578: ; // 0x285c578
|
|
/* 0285C578 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C578 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285C57C */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C57C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285C580 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C580 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285C584 */ cpu->lr = cpu->r[0];
|
|
/* 0285C588 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C588 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285C58C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C590 */ return;
|
|
}
|
|
|
|
// fn_0285C594 @ 0x285c594
|
|
void Gambit_fn_0285C594(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_0285C594: ; // 0x285c594
|
|
/* 0285C594 */ cpu->r[0] = cpu->lr;
|
|
/* 0285C598 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 0285C598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C598 */ cpu->r[1] = _t0;
|
|
/* 0285C59C */ _t1 = cpu->r[1] + 0x00000084u;
|
|
/* 0285C59C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285C5A0 */ _t2 = cpu->r[1] + 0x00000080u;
|
|
/* 0285C5A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285C5A4 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 0285C5A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
|
|
/* 0285C5A8 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 0285C5A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0285C5AC */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285C5AC */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
|
|
/* 0285C5B0 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0285C5B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285C5B4 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 0285C5B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0285C5B8 */ _t8 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0285C5B8 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0285C5BC */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 0285C5BC */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0285C5C0 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 0285C5C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 0285C5C4 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C5C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]);
|
|
/* 0285C5C8 */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 0285C5C8 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 0285C5CC */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0285C5CC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285C5CC */ if (_t14) goto L_0285C5D0; else goto L_0285C5F0;
|
|
L_0285C5D0: ; // 0x285c5d0
|
|
/* 0285C5D0 */ _t15 = cpu->r[1] + 0x00000048u;
|
|
/* 0285C5D0 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[3]);
|
|
/* 0285C5D4 */ _t16 = cpu->r[1] + 0x00000068u;
|
|
/* 0285C5D4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[7]);
|
|
/* 0285C5D8 */ _t17 = cpu->r[1] + 0x00000060u;
|
|
/* 0285C5D8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[6]);
|
|
/* 0285C5DC */ _t18 = cpu->r[1] + 0x00000040u;
|
|
/* 0285C5DC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[2]);
|
|
/* 0285C5E0 */ _t19 = cpu->r[1] + 0x00000050u;
|
|
/* 0285C5E0 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[4]);
|
|
/* 0285C5E4 */ _t20 = cpu->r[1] + 0x00000070u;
|
|
/* 0285C5E4 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[8]);
|
|
/* 0285C5E8 */ _t21 = cpu->r[1] + 0x00000058u;
|
|
/* 0285C5E8 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[5]);
|
|
/* 0285C5EC */ _t22 = cpu->r[1] + 0x00000038u;
|
|
/* 0285C5EC */ rbrew_write_f64(cpu->mem, _t22, cpu->f[1]);
|
|
L_0285C5F0: ; // 0x285c5f0
|
|
/* 0285C5F0 */ cpu->r[10] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C5F4 */ cpu->r[31] = 0x00000000u;
|
|
/* 0285C5F8 */ cpu->r[8] = cpu->r[1] + 0x00000090u;
|
|
/* 0285C5FC */ cpu->r[30] = cpu->r[4];
|
|
/* 0285C600 */ cpu->r[4] = cpu->r[5] + 0x00000001u;
|
|
/* 0285C604 */ cpu->r[0] = 0x00000004u;
|
|
/* 0285C608 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C608 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 0285C60C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[4]);
|
|
/* 0285C610 */ cpu->r[5] = cpu->r[6];
|
|
/* 0285C614 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C614 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 0285C618 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285C61C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285C61C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0285C61C */ if (_t26) goto L_0285C620; else goto L_0285C624;
|
|
L_0285C620: ; // 0x285c620
|
|
/* 0285C620 */ cpu->r[4] = cpu->r[30];
|
|
L_0285C624: ; // 0x285c624
|
|
/* 0285C624 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C624 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 0285C628 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0285C62C */ _t28 = cpu->r[1] + 0x00000009u;
|
|
/* 0285C62C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[31]);
|
|
/* 0285C630 */ Gambit_fn_02C85200(cpu);
|
|
/* 0285C634 */ cpu->r[11] = cpu->r[29] + cpu->r[30];
|
|
/* 0285C638 */ _t29 = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0285C638 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[31]);
|
|
/* 0285C63C */ _t30 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0285C63C */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0285C640 */ _t31 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0285C640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0285C644 */ _t32 = cpu->r[1] + 0x00000084u;
|
|
/* 0285C644 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0285C648 */ cpu->lr = cpu->r[0];
|
|
/* 0285C64C */ _t33 = cpu->r[1] + 0x00000080u;
|
|
/* 0285C64C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0285C650 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 0285C654 */ return;
|
|
}
|
|
|
|
// fn_0285C598 @ 0x285c598
|
|
void Gambit_fn_0285C598(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_0285C598: ; // 0x285c598
|
|
/* 0285C598 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 0285C598 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C598 */ cpu->r[1] = _t0;
|
|
/* 0285C59C */ _t1 = cpu->r[1] + 0x00000084u;
|
|
/* 0285C59C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285C5A0 */ _t2 = cpu->r[1] + 0x00000080u;
|
|
/* 0285C5A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285C5A4 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 0285C5A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
|
|
/* 0285C5A8 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 0285C5A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 0285C5AC */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285C5AC */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
|
|
/* 0285C5B0 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0285C5B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285C5B4 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 0285C5B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 0285C5B8 */ _t8 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0285C5B8 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 0285C5BC */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 0285C5BC */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 0285C5C0 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 0285C5C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 0285C5C4 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285C5C4 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]);
|
|
/* 0285C5C8 */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 0285C5C8 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 0285C5CC */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0285C5CC */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285C5CC */ if (_t14) goto L_0285C5D0; else goto L_0285C5F0;
|
|
L_0285C5D0: ; // 0x285c5d0
|
|
/* 0285C5D0 */ _t15 = cpu->r[1] + 0x00000048u;
|
|
/* 0285C5D0 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[3]);
|
|
/* 0285C5D4 */ _t16 = cpu->r[1] + 0x00000068u;
|
|
/* 0285C5D4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[7]);
|
|
/* 0285C5D8 */ _t17 = cpu->r[1] + 0x00000060u;
|
|
/* 0285C5D8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[6]);
|
|
/* 0285C5DC */ _t18 = cpu->r[1] + 0x00000040u;
|
|
/* 0285C5DC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[2]);
|
|
/* 0285C5E0 */ _t19 = cpu->r[1] + 0x00000050u;
|
|
/* 0285C5E0 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[4]);
|
|
/* 0285C5E4 */ _t20 = cpu->r[1] + 0x00000070u;
|
|
/* 0285C5E4 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[8]);
|
|
/* 0285C5E8 */ _t21 = cpu->r[1] + 0x00000058u;
|
|
/* 0285C5E8 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[5]);
|
|
/* 0285C5EC */ _t22 = cpu->r[1] + 0x00000038u;
|
|
/* 0285C5EC */ rbrew_write_f64(cpu->mem, _t22, cpu->f[1]);
|
|
L_0285C5F0: ; // 0x285c5f0
|
|
/* 0285C5F0 */ cpu->r[10] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C5F4 */ cpu->r[31] = 0x00000000u;
|
|
/* 0285C5F8 */ cpu->r[8] = cpu->r[1] + 0x00000090u;
|
|
/* 0285C5FC */ cpu->r[30] = cpu->r[4];
|
|
/* 0285C600 */ cpu->r[4] = cpu->r[5] + 0x00000001u;
|
|
/* 0285C604 */ cpu->r[0] = 0x00000004u;
|
|
/* 0285C608 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C608 */ rbrew_write32(cpu->mem, _t23, cpu->r[8]);
|
|
/* 0285C60C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[4]);
|
|
/* 0285C610 */ cpu->r[5] = cpu->r[6];
|
|
/* 0285C614 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C614 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 0285C618 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285C61C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285C61C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0285C61C */ if (_t26) goto L_0285C620; else goto L_0285C624;
|
|
L_0285C620: ; // 0x285c620
|
|
/* 0285C620 */ cpu->r[4] = cpu->r[30];
|
|
L_0285C624: ; // 0x285c624
|
|
/* 0285C624 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 0285C624 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 0285C628 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0285C62C */ _t28 = cpu->r[1] + 0x00000009u;
|
|
/* 0285C62C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[31]);
|
|
/* 0285C630 */ Gambit_fn_02C85200(cpu);
|
|
/* 0285C634 */ cpu->r[11] = cpu->r[29] + cpu->r[30];
|
|
/* 0285C638 */ _t29 = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0285C638 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[31]);
|
|
/* 0285C63C */ _t30 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0285C63C */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0285C640 */ _t31 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0285C640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0285C644 */ _t32 = cpu->r[1] + 0x00000084u;
|
|
/* 0285C644 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0285C648 */ cpu->lr = cpu->r[0];
|
|
/* 0285C64C */ _t33 = cpu->r[1] + 0x00000080u;
|
|
/* 0285C64C */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0285C650 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 0285C654 */ return;
|
|
}
|
|
|
|
// fn_0285C658 @ 0x285c658
|
|
void Gambit_fn_0285C658(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78;
|
|
|
|
L_0285C658: ; // 0x285c658
|
|
/* 0285C658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285C65C */ cpu->r[10] = cpu->r[3];
|
|
/* 0285C660 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285C660 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C660 */ cpu->r[1] = _t0;
|
|
/* 0285C664 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C664 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285C664 */ if (_t2) goto L_0285C7F8; else goto L_0285C668;
|
|
L_0285C668: ; // 0x285c668
|
|
/* 0285C668 */ cpu->r[7] = 0x10130000u;
|
|
/* 0285C66C */ cpu->r[6] = 0x00000004u;
|
|
/* 0285C670 */ cpu->r[8] = cpu->r[4];
|
|
/* 0285C674 */ cpu->r[7] = cpu->r[7] + 0x00004D53u;
|
|
/* 0285C678 */ cpu->ctr = cpu->r[6];
|
|
/* 0285C67C */ cpu->r[11] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 0285C680 */ _t3 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C680 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
L_0285C684: ; // 0x285c684
|
|
/* 0285C684 */ _t4 = cpu->r[11] + 0x00000001u;
|
|
/* 0285C684 */ cpu->r[5] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0285C684 */ cpu->r[11] = _t4;
|
|
/* 0285C688 */ _t5 = cpu->r[7] + 0x00000001u;
|
|
/* 0285C688 */ cpu->r[6] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0285C688 */ cpu->r[7] = _t5;
|
|
/* 0285C68C */ cpu->r[0] = cpu->r[5] - cpu->r[6];
|
|
/* 0285C68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285C690 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C690 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285C690 */ if (_t7) goto L_0285C694; else goto L_0285C7F8;
|
|
L_0285C694: ; // 0x285c694
|
|
/* 0285C694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285C698 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C698 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285C698 */ if (_t9) goto L_0285C6A0; else goto L_0285C69C;
|
|
L_0285C69C: ; // 0x285c69c
|
|
/* 0285C69C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285C69C */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285C69C */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 0285C69C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285C69C */ if (_t12) goto L_0285C684; else goto L_0285C6A0;
|
|
L_0285C6A0: ; // 0x285c6a0
|
|
/* 0285C6A0 */ _t13 = cpu->r[8] + 0x00000006u;
|
|
/* 0285C6A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13);
|
|
/* 0285C6A4 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C6A4 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]);
|
|
/* 0285C6A8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C6A8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0285C6AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FFu);
|
|
/* 0285C6B0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C6B0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285C6B0 */ if (_t17) goto L_0285C6E4; else goto L_0285C6B4;
|
|
L_0285C6B4: ; // 0x285c6b4
|
|
/* 0285C6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FEu);
|
|
/* 0285C6B8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C6B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285C6B8 */ if (_t19) goto L_0285C6BC; else goto L_0285C6E4;
|
|
L_0285C6BC: ; // 0x285c6bc
|
|
/* 0285C6BC */ _t20 = cpu->r[1] + 0x00000009u;
|
|
/* 0285C6BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0285C6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FFu);
|
|
/* 0285C6C4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C6C4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0285C6C4 */ if (_t22) goto L_0285C6C8; else goto L_0285C6E4;
|
|
L_0285C6C8: ; // 0x285c6c8
|
|
/* 0285C6C8 */ _t23 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C6C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285C6CC */ cpu->r[9] = 0x00000000u;
|
|
/* 0285C6D0 */ _t24 = cpu->r[10] + 0x00000018u;
|
|
/* 0285C6D0 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0285C6D4 */ _t25 = cpu->r[8] + 0x00000010u;
|
|
/* 0285C6D4 */ cpu->r[7] = rbrew_read16(cpu->mem, _t25);
|
|
/* 0285C6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000100u);
|
|
/* 0285C6DC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C6DC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0285C6DC */ if (_t27) goto L_0285C6F8; else goto L_0285C6E0;
|
|
L_0285C6E0: ; // 0x285c6e0
|
|
/* 0285C6E0 */ goto L_0285C7F8;
|
|
L_0285C6E4: ; // 0x285c6e4
|
|
/* 0285C6E4 */ cpu->r[9] = 0x00000001u;
|
|
/* 0285C6E8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285C6EC */ _t28 = cpu->r[10] + 0x00000018u;
|
|
/* 0285C6EC */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 0285C6F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C6F4 */ return;
|
|
L_0285C6F8: ; // 0x285c6f8
|
|
/* 0285C6F8 */ _t29 = cpu->r[8] + 0x00000004u;
|
|
/* 0285C6F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t29);
|
|
/* 0285C6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000014u);
|
|
/* 0285C700 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C700 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0285C700 */ if (_t31) goto L_0285C704; else goto L_0285C7F8;
|
|
L_0285C704: ; // 0x285c704
|
|
/* 0285C704 */ cpu->r[6] = 0x10130000u;
|
|
/* 0285C708 */ cpu->r[5] = 0x00000004u;
|
|
/* 0285C70C */ cpu->r[7] = cpu->r[4] + 0x00000014u;
|
|
/* 0285C710 */ cpu->r[6] = cpu->r[6] + 0x00004D5Bu;
|
|
/* 0285C714 */ cpu->ctr = cpu->r[5];
|
|
/* 0285C718 */ cpu->r[11] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 0285C71C */ _t32 = cpu->r[10] + 0x00000004u;
|
|
/* 0285C71C */ rbrew_write32(cpu->mem, _t32, cpu->r[7]);
|
|
L_0285C720: ; // 0x285c720
|
|
/* 0285C720 */ _t33 = cpu->r[11] + 0x00000001u;
|
|
/* 0285C720 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0285C720 */ cpu->r[11] = _t33;
|
|
/* 0285C724 */ _t34 = cpu->r[6] + 0x00000001u;
|
|
/* 0285C724 */ cpu->r[5] = rbrew_read8(cpu->mem, _t34);
|
|
/* 0285C724 */ cpu->r[6] = _t34;
|
|
/* 0285C728 */ cpu->r[9] = cpu->r[0] - cpu->r[5];
|
|
/* 0285C728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285C72C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C72C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0285C72C */ if (_t36) goto L_0285C730; else goto L_0285C7F8;
|
|
L_0285C730: ; // 0x285c730
|
|
/* 0285C730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285C734 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C734 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0285C734 */ if (_t38) goto L_0285C73C; else goto L_0285C738;
|
|
L_0285C738: ; // 0x285c738
|
|
/* 0285C738 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285C738 */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285C738 */ _t40 = _t39 >> (0x00000002u & 31u);
|
|
/* 0285C738 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0285C738 */ if (_t41) goto L_0285C720; else goto L_0285C73C;
|
|
L_0285C73C: ; // 0x285c73c
|
|
/* 0285C73C */ _t42 = cpu->r[7] + 0x00000004u;
|
|
/* 0285C73C */ cpu->r[5] = rbrew_read16(cpu->mem, _t42);
|
|
/* 0285C740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000000Cu);
|
|
/* 0285C744 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C744 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0285C744 */ if (_t44) goto L_0285C748; else goto L_0285C7F8;
|
|
L_0285C748: ; // 0x285c748
|
|
/* 0285C748 */ _t45 = cpu->r[7] + 0x00000006u;
|
|
/* 0285C748 */ cpu->r[0] = rbrew_read16(cpu->mem, _t45);
|
|
/* 0285C74C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00003FFFu);
|
|
/* 0285C750 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285C750 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0285C750 */ if (_t47) goto L_0285C7F8; else goto L_0285C754;
|
|
L_0285C754: ; // 0x285c754
|
|
/* 0285C754 */ _t48 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C754 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0285C758 */ _t49 = cpu->r[8] + 0x00000004u;
|
|
/* 0285C758 */ cpu->r[6] = rbrew_read16(cpu->mem, _t49);
|
|
/* 0285C75C */ cpu->r[11] = cpu->r[4] + cpu->r[6];
|
|
/* 0285C760 */ cpu->r[9] = cpu->r[0];
|
|
/* 0285C760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285C764 */ cpu->r[7] = cpu->r[11] + 0x0000000Cu;
|
|
/* 0285C768 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285C768 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0285C768 */ if (_t51) goto L_0285C76C; else goto L_0285C794;
|
|
L_0285C76C: ; // 0x285c76c
|
|
/* 0285C76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285C770 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C770 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0285C770 */ if (_t53) goto L_0285C794; else goto L_0285C774;
|
|
L_0285C774: ; // 0x285c774
|
|
/* 0285C774 */ _t54 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C774 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0285C778 */ _t55 = cpu->r[10] + 0x00000010u;
|
|
/* 0285C778 */ rbrew_write32(cpu->mem, _t55, cpu->r[7]);
|
|
/* 0285C77C */ _t56 = cpu->r[10] + 0x00000004u;
|
|
/* 0285C77C */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0285C780 */ _t57 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0285C780 */ rbrew_write32(cpu->mem, _t57, cpu->r[9]);
|
|
/* 0285C784 */ _t58 = cpu->r[8] + 0x00000004u;
|
|
/* 0285C784 */ cpu->r[6] = rbrew_read16(cpu->mem, _t58);
|
|
/* 0285C788 */ _t59 = cpu->r[7] + 0x00000004u;
|
|
/* 0285C788 */ cpu->r[5] = rbrew_read16(cpu->mem, _t59);
|
|
/* 0285C78C */ _t60 = cpu->r[7] + 0x00000006u;
|
|
/* 0285C78C */ cpu->r[0] = rbrew_read16(cpu->mem, _t60);
|
|
/* 0285C790 */ cpu->r[11] = cpu->r[4] + cpu->r[6];
|
|
L_0285C794: ; // 0x285c794
|
|
/* 0285C794 */ cpu->r[9] = 0x10130000u;
|
|
/* 0285C798 */ cpu->r[8] = cpu->r[11] + cpu->r[5];
|
|
/* 0285C79C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0285C7A0 */ cpu->r[0] = 0x00000004u;
|
|
/* 0285C7A4 */ cpu->r[9] = cpu->r[9] + 0x00004D63u;
|
|
/* 0285C7A8 */ cpu->r[12] = cpu->r[8] + cpu->r[11];
|
|
/* 0285C7AC */ cpu->ctr = cpu->r[0];
|
|
/* 0285C7B0 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0285C7B4: ; // 0x285c7b4
|
|
/* 0285C7B4 */ _t61 = cpu->r[8] + 0x00000001u;
|
|
/* 0285C7B4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t61);
|
|
/* 0285C7B4 */ cpu->r[8] = _t61;
|
|
/* 0285C7B8 */ _t62 = cpu->r[9] + 0x00000001u;
|
|
/* 0285C7B8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t62);
|
|
/* 0285C7B8 */ cpu->r[9] = _t62;
|
|
/* 0285C7BC */ cpu->r[0] = cpu->r[11] - cpu->r[6];
|
|
/* 0285C7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285C7C0 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C7C0 */ _t64 = _t63 & 0x00000001u;
|
|
/* 0285C7C0 */ if (_t64) goto L_0285C7C4; else goto L_0285C7F8;
|
|
L_0285C7C4: ; // 0x285c7c4
|
|
/* 0285C7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285C7C8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C7C8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 0285C7C8 */ if (_t66) goto L_0285C7D0; else goto L_0285C7CC;
|
|
L_0285C7CC: ; // 0x285c7cc
|
|
/* 0285C7CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285C7CC */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285C7CC */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 0285C7CC */ _t69 = _t68 & 0x00000001u;
|
|
/* 0285C7CC */ if (_t69) goto L_0285C7B4; else goto L_0285C7D0;
|
|
L_0285C7D0: ; // 0x285c7d0
|
|
/* 0285C7D0 */ _t70 = cpu->r[12] + 0x00000004u;
|
|
/* 0285C7D0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t70);
|
|
/* 0285C7D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000008u);
|
|
/* 0285C7D8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C7D8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0285C7D8 */ if (_t72) goto L_0285C7DC; else goto L_0285C7F8;
|
|
L_0285C7DC: ; // 0x285c7dc
|
|
/* 0285C7DC */ _t73 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C7DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0285C7E0 */ cpu->r[9] = cpu->r[12] + 0x00000008u;
|
|
/* 0285C7E4 */ _t74 = cpu->r[10] + 0x00000008u;
|
|
/* 0285C7E4 */ rbrew_write32(cpu->mem, _t74, cpu->r[9]);
|
|
/* 0285C7E8 */ _t75 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0285C7E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0285C7EC */ cpu->r[8] = cpu->r[9] - cpu->r[8];
|
|
/* 0285C7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]);
|
|
/* 0285C7F4 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285C7F4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0285C7F4 */ if (_t77) goto L_0285C7F8; else goto L_0285C804;
|
|
L_0285C7F8: ; // 0x285c7f8
|
|
/* 0285C7F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285C7FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C800 */ return;
|
|
L_0285C804: ; // 0x285c804
|
|
/* 0285C804 */ cpu->r[0] = cpu->r[4] + cpu->r[7];
|
|
/* 0285C808 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285C80C */ _t78 = cpu->r[10] + 0x00000014u;
|
|
/* 0285C80C */ rbrew_write32(cpu->mem, _t78, cpu->r[0]);
|
|
/* 0285C810 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C814 */ return;
|
|
}
|
|
|
|
// fn_0285C660 @ 0x285c660
|
|
void Gambit_fn_0285C660(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78;
|
|
|
|
L_0285C660: ; // 0x285c660
|
|
/* 0285C660 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285C660 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C660 */ cpu->r[1] = _t0;
|
|
/* 0285C664 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C664 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285C664 */ if (_t2) goto L_0285C7F8; else goto L_0285C668;
|
|
L_0285C668: ; // 0x285c668
|
|
/* 0285C668 */ cpu->r[7] = 0x10130000u;
|
|
/* 0285C66C */ cpu->r[6] = 0x00000004u;
|
|
/* 0285C670 */ cpu->r[8] = cpu->r[4];
|
|
/* 0285C674 */ cpu->r[7] = cpu->r[7] + 0x00004D53u;
|
|
/* 0285C678 */ cpu->ctr = cpu->r[6];
|
|
/* 0285C67C */ cpu->r[11] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 0285C680 */ _t3 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C680 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
L_0285C684: ; // 0x285c684
|
|
/* 0285C684 */ _t4 = cpu->r[11] + 0x00000001u;
|
|
/* 0285C684 */ cpu->r[5] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0285C684 */ cpu->r[11] = _t4;
|
|
/* 0285C688 */ _t5 = cpu->r[7] + 0x00000001u;
|
|
/* 0285C688 */ cpu->r[6] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0285C688 */ cpu->r[7] = _t5;
|
|
/* 0285C68C */ cpu->r[0] = cpu->r[5] - cpu->r[6];
|
|
/* 0285C68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285C690 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C690 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285C690 */ if (_t7) goto L_0285C694; else goto L_0285C7F8;
|
|
L_0285C694: ; // 0x285c694
|
|
/* 0285C694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285C698 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C698 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285C698 */ if (_t9) goto L_0285C6A0; else goto L_0285C69C;
|
|
L_0285C69C: ; // 0x285c69c
|
|
/* 0285C69C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285C69C */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285C69C */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 0285C69C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285C69C */ if (_t12) goto L_0285C684; else goto L_0285C6A0;
|
|
L_0285C6A0: ; // 0x285c6a0
|
|
/* 0285C6A0 */ _t13 = cpu->r[8] + 0x00000006u;
|
|
/* 0285C6A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13);
|
|
/* 0285C6A4 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C6A4 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[0]);
|
|
/* 0285C6A8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C6A8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0285C6AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FFu);
|
|
/* 0285C6B0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C6B0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285C6B0 */ if (_t17) goto L_0285C6E4; else goto L_0285C6B4;
|
|
L_0285C6B4: ; // 0x285c6b4
|
|
/* 0285C6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FEu);
|
|
/* 0285C6B8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C6B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285C6B8 */ if (_t19) goto L_0285C6BC; else goto L_0285C6E4;
|
|
L_0285C6BC: ; // 0x285c6bc
|
|
/* 0285C6BC */ _t20 = cpu->r[1] + 0x00000009u;
|
|
/* 0285C6BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0285C6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FFu);
|
|
/* 0285C6C4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C6C4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0285C6C4 */ if (_t22) goto L_0285C6C8; else goto L_0285C6E4;
|
|
L_0285C6C8: ; // 0x285c6c8
|
|
/* 0285C6C8 */ _t23 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C6C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285C6CC */ cpu->r[9] = 0x00000000u;
|
|
/* 0285C6D0 */ _t24 = cpu->r[10] + 0x00000018u;
|
|
/* 0285C6D0 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0285C6D4 */ _t25 = cpu->r[8] + 0x00000010u;
|
|
/* 0285C6D4 */ cpu->r[7] = rbrew_read16(cpu->mem, _t25);
|
|
/* 0285C6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000100u);
|
|
/* 0285C6DC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C6DC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0285C6DC */ if (_t27) goto L_0285C6F8; else goto L_0285C6E0;
|
|
L_0285C6E0: ; // 0x285c6e0
|
|
/* 0285C6E0 */ goto L_0285C7F8;
|
|
L_0285C6E4: ; // 0x285c6e4
|
|
/* 0285C6E4 */ cpu->r[9] = 0x00000001u;
|
|
/* 0285C6E8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285C6EC */ _t28 = cpu->r[10] + 0x00000018u;
|
|
/* 0285C6EC */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 0285C6F0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C6F4 */ return;
|
|
L_0285C6F8: ; // 0x285c6f8
|
|
/* 0285C6F8 */ _t29 = cpu->r[8] + 0x00000004u;
|
|
/* 0285C6F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t29);
|
|
/* 0285C6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000014u);
|
|
/* 0285C700 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C700 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0285C700 */ if (_t31) goto L_0285C704; else goto L_0285C7F8;
|
|
L_0285C704: ; // 0x285c704
|
|
/* 0285C704 */ cpu->r[6] = 0x10130000u;
|
|
/* 0285C708 */ cpu->r[5] = 0x00000004u;
|
|
/* 0285C70C */ cpu->r[7] = cpu->r[4] + 0x00000014u;
|
|
/* 0285C710 */ cpu->r[6] = cpu->r[6] + 0x00004D5Bu;
|
|
/* 0285C714 */ cpu->ctr = cpu->r[5];
|
|
/* 0285C718 */ cpu->r[11] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 0285C71C */ _t32 = cpu->r[10] + 0x00000004u;
|
|
/* 0285C71C */ rbrew_write32(cpu->mem, _t32, cpu->r[7]);
|
|
L_0285C720: ; // 0x285c720
|
|
/* 0285C720 */ _t33 = cpu->r[11] + 0x00000001u;
|
|
/* 0285C720 */ cpu->r[0] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0285C720 */ cpu->r[11] = _t33;
|
|
/* 0285C724 */ _t34 = cpu->r[6] + 0x00000001u;
|
|
/* 0285C724 */ cpu->r[5] = rbrew_read8(cpu->mem, _t34);
|
|
/* 0285C724 */ cpu->r[6] = _t34;
|
|
/* 0285C728 */ cpu->r[9] = cpu->r[0] - cpu->r[5];
|
|
/* 0285C728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285C72C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C72C */ _t36 = _t35 & 0x00000001u;
|
|
/* 0285C72C */ if (_t36) goto L_0285C730; else goto L_0285C7F8;
|
|
L_0285C730: ; // 0x285c730
|
|
/* 0285C730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285C734 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C734 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0285C734 */ if (_t38) goto L_0285C73C; else goto L_0285C738;
|
|
L_0285C738: ; // 0x285c738
|
|
/* 0285C738 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285C738 */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285C738 */ _t40 = _t39 >> (0x00000002u & 31u);
|
|
/* 0285C738 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0285C738 */ if (_t41) goto L_0285C720; else goto L_0285C73C;
|
|
L_0285C73C: ; // 0x285c73c
|
|
/* 0285C73C */ _t42 = cpu->r[7] + 0x00000004u;
|
|
/* 0285C73C */ cpu->r[5] = rbrew_read16(cpu->mem, _t42);
|
|
/* 0285C740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000000Cu);
|
|
/* 0285C744 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C744 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0285C744 */ if (_t44) goto L_0285C748; else goto L_0285C7F8;
|
|
L_0285C748: ; // 0x285c748
|
|
/* 0285C748 */ _t45 = cpu->r[7] + 0x00000006u;
|
|
/* 0285C748 */ cpu->r[0] = rbrew_read16(cpu->mem, _t45);
|
|
/* 0285C74C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00003FFFu);
|
|
/* 0285C750 */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285C750 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0285C750 */ if (_t47) goto L_0285C7F8; else goto L_0285C754;
|
|
L_0285C754: ; // 0x285c754
|
|
/* 0285C754 */ _t48 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C754 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0285C758 */ _t49 = cpu->r[8] + 0x00000004u;
|
|
/* 0285C758 */ cpu->r[6] = rbrew_read16(cpu->mem, _t49);
|
|
/* 0285C75C */ cpu->r[11] = cpu->r[4] + cpu->r[6];
|
|
/* 0285C760 */ cpu->r[9] = cpu->r[0];
|
|
/* 0285C760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285C764 */ cpu->r[7] = cpu->r[11] + 0x0000000Cu;
|
|
/* 0285C768 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285C768 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0285C768 */ if (_t51) goto L_0285C76C; else goto L_0285C794;
|
|
L_0285C76C: ; // 0x285c76c
|
|
/* 0285C76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285C770 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C770 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0285C770 */ if (_t53) goto L_0285C794; else goto L_0285C774;
|
|
L_0285C774: ; // 0x285c774
|
|
/* 0285C774 */ _t54 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C774 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0285C778 */ _t55 = cpu->r[10] + 0x00000010u;
|
|
/* 0285C778 */ rbrew_write32(cpu->mem, _t55, cpu->r[7]);
|
|
/* 0285C77C */ _t56 = cpu->r[10] + 0x00000004u;
|
|
/* 0285C77C */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0285C780 */ _t57 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0285C780 */ rbrew_write32(cpu->mem, _t57, cpu->r[9]);
|
|
/* 0285C784 */ _t58 = cpu->r[8] + 0x00000004u;
|
|
/* 0285C784 */ cpu->r[6] = rbrew_read16(cpu->mem, _t58);
|
|
/* 0285C788 */ _t59 = cpu->r[7] + 0x00000004u;
|
|
/* 0285C788 */ cpu->r[5] = rbrew_read16(cpu->mem, _t59);
|
|
/* 0285C78C */ _t60 = cpu->r[7] + 0x00000006u;
|
|
/* 0285C78C */ cpu->r[0] = rbrew_read16(cpu->mem, _t60);
|
|
/* 0285C790 */ cpu->r[11] = cpu->r[4] + cpu->r[6];
|
|
L_0285C794: ; // 0x285c794
|
|
/* 0285C794 */ cpu->r[9] = 0x10130000u;
|
|
/* 0285C798 */ cpu->r[8] = cpu->r[11] + cpu->r[5];
|
|
/* 0285C79C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0285C7A0 */ cpu->r[0] = 0x00000004u;
|
|
/* 0285C7A4 */ cpu->r[9] = cpu->r[9] + 0x00004D63u;
|
|
/* 0285C7A8 */ cpu->r[12] = cpu->r[8] + cpu->r[11];
|
|
/* 0285C7AC */ cpu->ctr = cpu->r[0];
|
|
/* 0285C7B0 */ cpu->r[8] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0285C7B4: ; // 0x285c7b4
|
|
/* 0285C7B4 */ _t61 = cpu->r[8] + 0x00000001u;
|
|
/* 0285C7B4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t61);
|
|
/* 0285C7B4 */ cpu->r[8] = _t61;
|
|
/* 0285C7B8 */ _t62 = cpu->r[9] + 0x00000001u;
|
|
/* 0285C7B8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t62);
|
|
/* 0285C7B8 */ cpu->r[9] = _t62;
|
|
/* 0285C7BC */ cpu->r[0] = cpu->r[11] - cpu->r[6];
|
|
/* 0285C7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285C7C0 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C7C0 */ _t64 = _t63 & 0x00000001u;
|
|
/* 0285C7C0 */ if (_t64) goto L_0285C7C4; else goto L_0285C7F8;
|
|
L_0285C7C4: ; // 0x285c7c4
|
|
/* 0285C7C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285C7C8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C7C8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 0285C7C8 */ if (_t66) goto L_0285C7D0; else goto L_0285C7CC;
|
|
L_0285C7CC: ; // 0x285c7cc
|
|
/* 0285C7CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285C7CC */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285C7CC */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 0285C7CC */ _t69 = _t68 & 0x00000001u;
|
|
/* 0285C7CC */ if (_t69) goto L_0285C7B4; else goto L_0285C7D0;
|
|
L_0285C7D0: ; // 0x285c7d0
|
|
/* 0285C7D0 */ _t70 = cpu->r[12] + 0x00000004u;
|
|
/* 0285C7D0 */ cpu->r[7] = rbrew_read16(cpu->mem, _t70);
|
|
/* 0285C7D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000008u);
|
|
/* 0285C7D8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C7D8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0285C7D8 */ if (_t72) goto L_0285C7DC; else goto L_0285C7F8;
|
|
L_0285C7DC: ; // 0x285c7dc
|
|
/* 0285C7DC */ _t73 = cpu->r[10] + 0x00000000u;
|
|
/* 0285C7DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0285C7E0 */ cpu->r[9] = cpu->r[12] + 0x00000008u;
|
|
/* 0285C7E4 */ _t74 = cpu->r[10] + 0x00000008u;
|
|
/* 0285C7E4 */ rbrew_write32(cpu->mem, _t74, cpu->r[9]);
|
|
/* 0285C7E8 */ _t75 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0285C7E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0285C7EC */ cpu->r[8] = cpu->r[9] - cpu->r[8];
|
|
/* 0285C7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[8]);
|
|
/* 0285C7F4 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285C7F4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0285C7F4 */ if (_t77) goto L_0285C7F8; else goto L_0285C804;
|
|
L_0285C7F8: ; // 0x285c7f8
|
|
/* 0285C7F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285C7FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C800 */ return;
|
|
L_0285C804: ; // 0x285c804
|
|
/* 0285C804 */ cpu->r[0] = cpu->r[4] + cpu->r[7];
|
|
/* 0285C808 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285C80C */ _t78 = cpu->r[10] + 0x00000014u;
|
|
/* 0285C80C */ rbrew_write32(cpu->mem, _t78, cpu->r[0]);
|
|
/* 0285C810 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285C814 */ return;
|
|
}
|
|
|
|
// fn_0285C818 @ 0x285c818
|
|
void Gambit_fn_0285C818(CPUState* cpu) {
|
|
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_0285C818: ; // 0x285c818
|
|
/* 0285C818 */ cpu->r[0] = cpu->lr;
|
|
/* 0285C81C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285C81C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C81C */ cpu->r[1] = _t0;
|
|
/* 0285C820 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C820 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285C824 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C824 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285C828 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C82C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C82C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285C830 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C830 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285C830 */ if (_t5) goto L_0285C834; else goto L_0285C844;
|
|
L_0285C834: ; // 0x285c834
|
|
/* 0285C834 */ cpu->r[3] = 0x0000001Cu;
|
|
/* 0285C838 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C83C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C83C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C840 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C840 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285C840 */ if (_t7) goto L_0285C87C; else goto L_0285C844;
|
|
L_0285C844: ; // 0x285c844
|
|
/* 0285C844 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285C848 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 0285C848 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0285C84C */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 0285C84C */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0285C850 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285C850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C854 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0285C854 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 0285C858 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C858 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285C858 */ if (_t12) goto L_0285C85C; else goto L_0285C86C;
|
|
L_0285C85C: ; // 0x285c85c
|
|
/* 0285C85C */ cpu->r[3] = 0x00000008u;
|
|
/* 0285C860 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C868 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C868 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285C868 */ if (_t14) goto L_0285C874; else goto L_0285C86C;
|
|
L_0285C86C: ; // 0x285c86c
|
|
/* 0285C86C */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 0285C86C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 0285C870 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0285C870 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
L_0285C874: ; // 0x285c874
|
|
/* 0285C874 */ _t17 = cpu->r[31] + 0x00000018u;
|
|
/* 0285C874 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 0285C878 */ _t18 = cpu->r[31] + 0x00000014u;
|
|
/* 0285C878 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
L_0285C87C: ; // 0x285c87c
|
|
/* 0285C87C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C87C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285C880 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285C884 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C884 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285C888 */ cpu->lr = cpu->r[0];
|
|
/* 0285C88C */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C88C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285C890 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285C894 */ return;
|
|
}
|
|
|
|
// fn_0285C81C @ 0x285c81c
|
|
void Gambit_fn_0285C81C(CPUState* cpu) {
|
|
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_0285C81C: ; // 0x285c81c
|
|
/* 0285C81C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285C81C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C81C */ cpu->r[1] = _t0;
|
|
/* 0285C820 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C820 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285C824 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C824 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285C828 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C82C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C82C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285C830 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C830 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285C830 */ if (_t5) goto L_0285C834; else goto L_0285C844;
|
|
L_0285C834: ; // 0x285c834
|
|
/* 0285C834 */ cpu->r[3] = 0x0000001Cu;
|
|
/* 0285C838 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C83C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285C83C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285C840 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C840 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285C840 */ if (_t7) goto L_0285C87C; else goto L_0285C844;
|
|
L_0285C844: ; // 0x285c844
|
|
/* 0285C844 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285C848 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 0285C848 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0285C84C */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 0285C84C */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0285C850 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285C850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C854 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0285C854 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 0285C858 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C858 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285C858 */ if (_t12) goto L_0285C85C; else goto L_0285C86C;
|
|
L_0285C85C: ; // 0x285c85c
|
|
/* 0285C85C */ cpu->r[3] = 0x00000008u;
|
|
/* 0285C860 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285C864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285C868 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C868 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285C868 */ if (_t14) goto L_0285C874; else goto L_0285C86C;
|
|
L_0285C86C: ; // 0x285c86c
|
|
/* 0285C86C */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 0285C86C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 0285C870 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 0285C870 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
L_0285C874: ; // 0x285c874
|
|
/* 0285C874 */ _t17 = cpu->r[31] + 0x00000018u;
|
|
/* 0285C874 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 0285C878 */ _t18 = cpu->r[31] + 0x00000014u;
|
|
/* 0285C878 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
L_0285C87C: ; // 0x285c87c
|
|
/* 0285C87C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0285C87C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285C880 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285C884 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C884 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285C888 */ cpu->lr = cpu->r[0];
|
|
/* 0285C88C */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C88C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285C890 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285C894 */ return;
|
|
}
|
|
|
|
// fn_0285C898 @ 0x285c898
|
|
void Gambit_fn_0285C898(CPUState* cpu) {
|
|
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_0285C898: ; // 0x285c898
|
|
/* 0285C898 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285C89C */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285C89C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0285C89C */ if (_t1) goto L_0285C8F8; else goto L_0285C8A0;
|
|
L_0285C8A0: ; // 0x285c8a0
|
|
/* 0285C8A0 */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285C8A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0285C8A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 0285C8A8 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285C8A8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285C8A8 */ if (_t4) goto L_0285C8AC; else goto L_0285C8F8;
|
|
L_0285C8AC: ; // 0x285c8ac
|
|
/* 0285C8AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0285C8B0 */ _t5 = cpu->r[3] + 0x00000010u;
|
|
/* 0285C8B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285C8B4 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285C8B4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285C8B4 */ if (_t7) goto L_0285C8B8; else goto L_0285C8D0;
|
|
L_0285C8B8: ; // 0x285c8b8
|
|
/* 0285C8B8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0285C8BC */ cpu->r[10] = cpu->r[12] + cpu->r[11];
|
|
/* 0285C8C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285C8C4 */ _t8 = cpu->r[10] + 0x00000008u;
|
|
/* 0285C8C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285C8C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C8C8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285C8C8 */ if (_t10) goto L_0285C90C; else goto L_0285C8CC;
|
|
L_0285C8CC: ; // 0x285c8cc
|
|
/* 0285C8CC */ goto L_0285C8DC;
|
|
L_0285C8D0: ; // 0x285c8d0
|
|
/* 0285C8D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285C8D4 */ _t11 = cpu->r[12] + 0x00000008u;
|
|
/* 0285C8D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285C8D8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C8D8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285C8D8 */ if (_t13) goto L_0285C90C; else goto L_0285C8DC;
|
|
L_0285C8DC: ; // 0x285c8dc
|
|
/* 0285C8DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0285C8E0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285C8E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285C8E0 */ if (_t15) goto L_0285C8E4; else goto L_0285C8EC;
|
|
L_0285C8E4: ; // 0x285c8e4
|
|
/* 0285C8E4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0285C8E8 */ cpu->r[12] = cpu->r[12] + cpu->r[6];
|
|
L_0285C8EC: ; // 0x285c8ec
|
|
/* 0285C8EC */ _t16 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0285C8EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285C8F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 0285C8F4 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285C8F4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285C8F4 */ if (_t18) goto L_0285C8F8; else goto L_0285C900;
|
|
L_0285C8F8: ; // 0x285c8f8
|
|
/* 0285C8F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285C8FC */ return;
|
|
L_0285C900: ; // 0x285c900
|
|
/* 0285C900 */ _t19 = cpu->r[5] + 0x00000000u;
|
|
/* 0285C900 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
|
|
/* 0285C904 */ cpu->r[8] = cpu->r[0] - cpu->r[7];
|
|
/* 0285C908 */ _t20 = cpu->r[5] + 0x00000004u;
|
|
/* 0285C908 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
L_0285C90C: ; // 0x285c90c
|
|
/* 0285C90C */ _t21 = cpu->r[3] + 0x00000014u;
|
|
/* 0285C90C */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285C910 */ cpu->r[3] = cpu->r[9] + cpu->r[7];
|
|
/* 0285C914 */ return;
|
|
}
|
|
|
|
// fn_0285C918 @ 0x285c918
|
|
void Gambit_fn_0285C918(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_0285C918: ; // 0x285c918
|
|
/* 0285C918 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285C918 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285C918 */ cpu->r[1] = _t0;
|
|
/* 0285C91C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C91C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285C920 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C920 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285C924 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0285C924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285C928 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 0285C928 */ cpu->r[9] = rbrew_read8(cpu->mem, _t4);
|
|
/* 0285C92C */ cpu->r[31] = 0x00000000u;
|
|
/* 0285C930 */ _t5 = cpu->r[12] + 0x00000008u;
|
|
/* 0285C930 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285C934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285C938 */ cpu->r[11] = cpu->r[31];
|
|
/* 0285C93C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C93C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285C93C */ if (_t7) goto L_0285C958; else goto L_0285C940;
|
|
L_0285C940: ; // 0x285c940
|
|
/* 0285C940 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[10]);
|
|
/* 0285C944 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0285C948 */ cpu->r[31] = cpu->r[12] + cpu->r[9];
|
|
/* 0285C94C */ _t8 = cpu->r[4] + cpu->r[11];
|
|
/* 0285C94C */ cpu->r[9] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0285C950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285C954 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C954 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285C954 */ if (_t10) goto L_0285C958; else goto L_0285C940;
|
|
L_0285C958: ; // 0x285c958
|
|
/* 0285C958 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285C958 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285C95C */ cpu->r[6] = 0x00000000u;
|
|
/* 0285C960 */ _t12 = cpu->r[3] + 0x00000010u;
|
|
/* 0285C960 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285C964 */ cpu->r[7] = cpu->r[11];
|
|
L_0285C968: ; // 0x285c968
|
|
/* 0285C968 */ cpu->r[9] = cpu->r[6] + cpu->r[7];
|
|
/* 0285C96C */ /* nop */
|
|
/* 0285C970 */ cpu->r[12] = cpu->r[12];
|
|
/* 0285C974 */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0285C978 */ _t13 = cpu->r[9] + cpu->r[10];
|
|
/* 0285C978 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285C97C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0285C980 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285C980 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285C980 */ if (_t15) goto L_0285C998; else goto L_0285C984;
|
|
L_0285C984: ; // 0x285c984
|
|
/* 0285C984 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285C984 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285C984 */ if (_t17) goto L_0285C988; else goto L_0285C9A8;
|
|
L_0285C988: ; // 0x285c988
|
|
/* 0285C988 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 0285C98C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C98C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285C98C */ if (_t19) goto L_0285C9B0; else goto L_0285C990;
|
|
L_0285C990: ; // 0x285c990
|
|
/* 0285C990 */ cpu->r[6] = cpu->r[12];
|
|
/* 0285C994 */ goto L_0285C968;
|
|
L_0285C998: ; // 0x285c998
|
|
/* 0285C998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 0285C99C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C99C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0285C99C */ if (_t21) goto L_0285C9B0; else goto L_0285C9A0;
|
|
L_0285C9A0: ; // 0x285c9a0
|
|
/* 0285C9A0 */ cpu->r[7] = cpu->r[12];
|
|
/* 0285C9A4 */ goto L_0285C968;
|
|
L_0285C9A8: ; // 0x285c9a8
|
|
/* 0285C9A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 0285C9AC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C9AC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0285C9AC */ if (_t23) goto L_0285C9B0; else goto L_0285C9C4;
|
|
L_0285C9B0: ; // 0x285c9b0
|
|
/* 0285C9B0 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0285C9B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285C9B4 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285C9B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285C9B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285C9BC */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 0285C9C0 */ return;
|
|
L_0285C9C4: ; // 0x285c9c4
|
|
/* 0285C9C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0285C9C8 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285C9C8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0285C9C8 */ if (_t27) goto L_0285C9CC; else goto L_0285C9E4;
|
|
L_0285C9CC: ; // 0x285c9cc
|
|
/* 0285C9CC */ cpu->r[9] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0285C9D0 */ cpu->r[9] = cpu->r[10] + cpu->r[9];
|
|
/* 0285C9D4 */ _t28 = cpu->r[9] + 0x00000004u;
|
|
/* 0285C9D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0285C9D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285C9DC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C9DC */ _t30 = _t29 & 0x00000001u;
|
|
/* 0285C9DC */ if (_t30) goto L_0285CA84; else goto L_0285C9E0;
|
|
L_0285C9E0: ; // 0x285c9e0
|
|
/* 0285C9E0 */ goto L_0285C9F0;
|
|
L_0285C9E4: ; // 0x285c9e4
|
|
/* 0285C9E4 */ _t31 = cpu->r[10] + 0x00000004u;
|
|
/* 0285C9E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0285C9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285C9EC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285C9EC */ _t33 = _t32 & 0x00000001u;
|
|
/* 0285C9EC */ if (_t33) goto L_0285CA84; else goto L_0285C9F0;
|
|
L_0285C9F0: ; // 0x285c9f0
|
|
/* 0285C9F0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285C9F4 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 0285C9F8 */ cpu->r[12] = cpu->r[12] - cpu->r[9];
|
|
/* 0285C9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 0285CA00 */ cpu->r[8] = cpu->r[11] - cpu->r[12];
|
|
/* 0285CA04 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285CA04 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0285CA04 */ if (_t35) goto L_0285CA08; else goto L_0285CA84;
|
|
L_0285CA08: ; // 0x285ca08
|
|
/* 0285CA08 */ cpu->r[30] = rbrew_rlwinm(cpu->r[12], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
L_0285CA0C: ; // 0x285ca0c
|
|
/* 0285CA0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 0285CA10 */ cpu->r[9] = 0x00000000u;
|
|
/* 0285CA14 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285CA14 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0285CA14 */ if (_t37) goto L_0285CA18; else goto L_0285CA1C;
|
|
L_0285CA18: ; // 0x285ca18
|
|
/* 0285CA18 */ cpu->r[9] = cpu->r[10] + cpu->r[30];
|
|
L_0285CA1C: ; // 0x285ca1c
|
|
/* 0285CA1C */ _t38 = cpu->r[9] + 0x00000000u;
|
|
/* 0285CA1C */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0285CA20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0285CA24 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CA24 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0285CA24 */ if (_t40) goto L_0285CA28; else goto L_0285C9B0;
|
|
L_0285CA28: ; // 0x285ca28
|
|
/* 0285CA28 */ _t41 = cpu->r[9] + 0x00000004u;
|
|
/* 0285CA28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0285CA2C */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 0285CA2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0285CA30 */ cpu->r[6] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 0285CA34 */ _t43 = cpu->r[3] + 0x00000014u;
|
|
/* 0285CA34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0285CA38 */ cpu->r[7] = cpu->r[5] + cpu->r[6];
|
|
/* 0285CA3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 0285CA40 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285CA40 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0285CA40 */ if (_t45) goto L_0285C9B0; else goto L_0285CA44;
|
|
L_0285CA44: ; // 0x285ca44
|
|
/* 0285CA44 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285CA48 */ cpu->r[9] = cpu->r[5] + cpu->r[7];
|
|
/* 0285CA4C */ cpu->r[5] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 0285CA50 */ cpu->r[6] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0285CA54: ; // 0x285ca54
|
|
/* 0285CA54 */ _t46 = cpu->r[5] + 0x00000001u;
|
|
/* 0285CA54 */ cpu->r[7] = rbrew_read8(cpu->mem, _t46);
|
|
/* 0285CA54 */ cpu->r[5] = _t46;
|
|
/* 0285CA58 */ _t47 = cpu->r[6] + 0x00000001u;
|
|
/* 0285CA58 */ cpu->r[9] = rbrew_read8(cpu->mem, _t47);
|
|
/* 0285CA58 */ cpu->r[6] = _t47;
|
|
/* 0285CA5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 0285CA60 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CA60 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0285CA60 */ if (_t49) goto L_0285CA64; else goto L_0285CA6C;
|
|
L_0285CA64: ; // 0x285ca64
|
|
/* 0285CA64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000000u);
|
|
/* 0285CA68 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CA68 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0285CA68 */ if (_t51) goto L_0285CA6C; else goto L_0285CA54;
|
|
L_0285CA6C: ; // 0x285ca6c
|
|
/* 0285CA6C */ cpu->r[9] = cpu->r[7] - cpu->r[9];
|
|
/* 0285CA6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285CA70 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CA70 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0285CA70 */ if (_t53) goto L_0285CA84; else goto L_0285CA74;
|
|
L_0285CA74: ; // 0x285ca74
|
|
/* 0285CA74 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 0285CA74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0285CA78 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0285CA7C */ cpu->r[30] = cpu->r[30] + 0x00000010u;
|
|
/* 0285CA80 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CA80 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0285CA80 */ if (_t55) goto L_0285CA84; else goto L_0285CA0C;
|
|
L_0285CA84: ; // 0x285ca84
|
|
/* 0285CA84 */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 0285CA84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0285CA88 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CA88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0285CA8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285CA90 */ cpu->r[3] = cpu->r[12];
|
|
/* 0285CA94 */ return;
|
|
}
|
|
|
|
// fn_0285CA98 @ 0x285ca98
|
|
void Gambit_fn_0285CA98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0285CA98: ; // 0x285ca98
|
|
/* 0285CA98 */ cpu->r[0] = cpu->lr;
|
|
/* 0285CA9C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285CA9C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0285CAA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285CAA4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285CAA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0285CAA4 */ cpu->r[1] = _t1;
|
|
/* 0285CAA8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CAA8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285CAA8 */ if (_t3) goto L_0285CAAC; else goto L_0285CABC;
|
|
L_0285CAAC: ; // 0x285caac
|
|
/* 0285CAAC */ cpu->r[3] = 0x00000020u;
|
|
/* 0285CAB0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285CAB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285CAB8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CAB8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285CAB8 */ if (_t5) goto L_0285CADC; else goto L_0285CABC;
|
|
L_0285CABC: ; // 0x285cabc
|
|
/* 0285CABC */ cpu->r[0] = 0x00000000u;
|
|
/* 0285CAC0 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 0285CAC0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285CAC4 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 0285CAC4 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[0]);
|
|
/* 0285CAC8 */ _t8 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0285CAC8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0285CACC */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285CACC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0285CAD0 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 0285CAD0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0285CAD4 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 0285CAD4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0285CAD8 */ _t12 = cpu->r[3] + 0x0000000Au;
|
|
/* 0285CAD8 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[0]);
|
|
L_0285CADC: ; // 0x285cadc
|
|
/* 0285CADC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285CAE0 */ cpu->lr = cpu->r[0];
|
|
/* 0285CAE4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285CAE8 */ return;
|
|
}
|
|
|
|
// fn_0285CAA4 @ 0x285caa4
|
|
void Gambit_fn_0285CAA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0285CAA4: ; // 0x285caa4
|
|
/* 0285CAA4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285CAA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285CAA4 */ cpu->r[1] = _t0;
|
|
/* 0285CAA8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CAA8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285CAA8 */ if (_t2) goto L_0285CAAC; else goto L_0285CABC;
|
|
L_0285CAAC: ; // 0x285caac
|
|
/* 0285CAAC */ cpu->r[3] = 0x00000020u;
|
|
/* 0285CAB0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285CAB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285CAB8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CAB8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285CAB8 */ if (_t4) goto L_0285CADC; else goto L_0285CABC;
|
|
L_0285CABC: ; // 0x285cabc
|
|
/* 0285CABC */ cpu->r[0] = 0x00000000u;
|
|
/* 0285CAC0 */ _t5 = cpu->r[3] + 0x00000010u;
|
|
/* 0285CAC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0285CAC4 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 0285CAC4 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[0]);
|
|
/* 0285CAC8 */ _t7 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0285CAC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0285CACC */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285CACC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0285CAD0 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 0285CAD0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0285CAD4 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0285CAD4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0285CAD8 */ _t11 = cpu->r[3] + 0x0000000Au;
|
|
/* 0285CAD8 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[0]);
|
|
L_0285CADC: ; // 0x285cadc
|
|
/* 0285CADC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285CAE0 */ cpu->lr = cpu->r[0];
|
|
/* 0285CAE4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285CAE8 */ return;
|
|
}
|
|
|
|
// fn_0285CAEC @ 0x285caec
|
|
void Gambit_fn_0285CAEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0285CAEC: ; // 0x285caec
|
|
/* 0285CAEC */ cpu->r[9] = cpu->r[4] + 0x0000001Cu;
|
|
/* 0285CAF0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0285CAF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[9]);
|
|
/* 0285CAF4 */ _t1 = cpu->r[4] + 0x00000008u;
|
|
/* 0285CAF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0285CAF8 */ cpu->r[10] = cpu->r[4] + cpu->r[11];
|
|
/* 0285CAFC */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 0285CAFC */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 0285CB00 */ _t3 = cpu->r[4] + 0x00000010u;
|
|
/* 0285CB00 */ cpu->r[12] = rbrew_read16(cpu->mem, _t3);
|
|
/* 0285CB04 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 0285CB04 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[12]);
|
|
/* 0285CB08 */ _t5 = cpu->r[4] + 0x00000012u;
|
|
/* 0285CB08 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5);
|
|
/* 0285CB0C */ _t6 = cpu->r[3] + 0x0000000Au;
|
|
/* 0285CB0C */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[0]);
|
|
/* 0285CB10 */ _t7 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0285CB10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285CB14 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000018u);
|
|
/* 0285CB18 */ cpu->r[8] = cpu->r[4] + cpu->r[9];
|
|
/* 0285CB1C */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285CB1C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0285CB20 */ _t9 = cpu->r[4] + 0x0000000Cu;
|
|
/* 0285CB20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285CB24 */ cpu->r[0] = cpu->r[12] + cpu->r[10];
|
|
/* 0285CB28 */ cpu->r[10] = cpu->r[4] + cpu->r[0];
|
|
/* 0285CB2C */ _t10 = cpu->r[3] + 0x00000010u;
|
|
/* 0285CB2C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0285CB30 */ _t11 = cpu->r[4] + 0x00000014u;
|
|
/* 0285CB30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285CB34 */ cpu->r[11] = cpu->r[4] + cpu->r[12];
|
|
/* 0285CB38 */ _t12 = cpu->r[3] + 0x00000014u;
|
|
/* 0285CB38 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 0285CB3C */ _t13 = cpu->r[4] + 0x00000018u;
|
|
/* 0285CB3C */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285CB40 */ _t14 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0285CB40 */ rbrew_write32(cpu->mem, _t14, cpu->r[5]);
|
|
/* 0285CB44 */ cpu->r[0] = cpu->r[4] + cpu->r[8];
|
|
/* 0285CB48 */ _t15 = cpu->r[3] + 0x00000018u;
|
|
/* 0285CB48 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0285CB4C */ return;
|
|
}
|
|
|
|
// fn_0285CB50 @ 0x285cb50
|
|
void Gambit_fn_0285CB50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0285CB50: ; // 0x285cb50
|
|
/* 0285CB50 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0285CB50 */ cpu->r[11] = rbrew_read16(cpu->mem, _t0);
|
|
/* 0285CB54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 0285CB58 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285CB5C */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285CB5C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285CB5C */ if (_t2) goto L_0285CB60; else goto L_0285CB6C;
|
|
L_0285CB60: ; // 0x285cb60
|
|
/* 0285CB60 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000018u);
|
|
/* 0285CB64 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285CB64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285CB68 */ cpu->r[0] = cpu->r[12] + cpu->r[0];
|
|
L_0285CB6C: ; // 0x285cb6c
|
|
/* 0285CB6C */ cpu->r[3] = cpu->r[0];
|
|
/* 0285CB70 */ return;
|
|
}
|
|
|
|
// fn_0285CB74 @ 0x285cb74
|
|
void Gambit_fn_0285CB74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0285CB74: ; // 0x285cb74
|
|
/* 0285CB74 */ _t0 = cpu->r[3] + 0x0000000Au;
|
|
/* 0285CB74 */ cpu->r[0] = rbrew_read16(cpu->mem, _t0);
|
|
/* 0285CB78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 0285CB7C */ cpu->r[0] = 0x00000000u;
|
|
/* 0285CB80 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285CB80 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285CB80 */ if (_t2) goto L_0285CB84; else goto L_0285CB94;
|
|
L_0285CB84: ; // 0x285cb84
|
|
/* 0285CB84 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 0285CB84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285CB88 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285CB8C */ _t4 = cpu->r[11] + cpu->r[12];
|
|
/* 0285CB8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285CB90 */ cpu->r[0] = cpu->r[12] + cpu->r[11];
|
|
L_0285CB94: ; // 0x285cb94
|
|
/* 0285CB94 */ cpu->r[3] = cpu->r[0];
|
|
/* 0285CB98 */ return;
|
|
}
|
|
|
|
// fn_0285CB9C @ 0x285cb9c
|
|
void Gambit_fn_0285CB9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0285CB9C: ; // 0x285cb9c
|
|
/* 0285CB9C */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0285CB9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285CBA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285CBA4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CBA4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285CBA4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285CBA4 */ goto L_0285CBA8;
|
|
L_0285CBA8: ; // 0x285cba8
|
|
/* 0285CBA8 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285CBAC */ return;
|
|
}
|
|
|
|
// fn_0285CBB0 @ 0x285cbb0
|
|
void Gambit_fn_0285CBB0(CPUState* cpu) {
|
|
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_0285CBB0: ; // 0x285cbb0
|
|
/* 0285CBB0 */ cpu->r[0] = cpu->lr;
|
|
/* 0285CBB4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285CBB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0285CBB8 */ cpu->r[10] = cpu->r[3];
|
|
/* 0285CBBC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285CBBC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0285CBBC */ cpu->r[1] = _t1;
|
|
/* 0285CBC0 */ Gambit_fn_0285CB9C(cpu);
|
|
/* 0285CBC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285CBC8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CBC8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285CBC8 */ if (_t3) goto L_0285CC28; else goto L_0285CBCC;
|
|
L_0285CBCC: ; // 0x285cbcc
|
|
/* 0285CBCC */ _t4 = cpu->r[10] + 0x0000001Cu;
|
|
/* 0285CBCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285CBD0 */ _t5 = cpu->r[12] + 0x00000008u;
|
|
/* 0285CBD0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t5);
|
|
/* 0285CBD4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0285CBD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]);
|
|
/* 0285CBDC */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285CBDC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285CBDC */ if (_t7) goto L_0285CBE0; else goto L_0285CC28;
|
|
L_0285CBE0: ; // 0x285cbe0
|
|
/* 0285CBE0 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0285CBE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285CBE4 */ cpu->r[11] = cpu->r[0];
|
|
/* 0285CBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285CBE8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CBE8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285CBE8 */ if (_t10) goto L_0285CBF0; else goto L_0285CBEC;
|
|
L_0285CBEC: ; // 0x285cbec
|
|
/* 0285CBEC */ cpu->r[11] = cpu->r[3] + cpu->r[0];
|
|
L_0285CBF0: ; // 0x285cbf0
|
|
/* 0285CBF0 */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0285CBF4 */ cpu->r[7] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_0285CBF8: ; // 0x285cbf8
|
|
/* 0285CBF8 */ _t11 = cpu->r[7] + 0x00000001u;
|
|
/* 0285CBF8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0285CBF8 */ cpu->r[7] = _t11;
|
|
/* 0285CBFC */ _t12 = cpu->r[8] + 0x00000001u;
|
|
/* 0285CBFC */ cpu->r[11] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0285CBFC */ cpu->r[8] = _t12;
|
|
/* 0285CC00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 0285CC04 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CC04 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285CC04 */ if (_t14) goto L_0285CC08; else goto L_0285CC10;
|
|
L_0285CC08: ; // 0x285cc08
|
|
/* 0285CC08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000000u);
|
|
/* 0285CC0C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CC0C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285CC0C */ if (_t16) goto L_0285CC10; else goto L_0285CBF8;
|
|
L_0285CC10: ; // 0x285cc10
|
|
/* 0285CC10 */ cpu->r[12] = cpu->r[9] - cpu->r[11];
|
|
/* 0285CC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285CC14 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CC14 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285CC14 */ if (_t18) goto L_0285CC2C; else goto L_0285CC18;
|
|
L_0285CC18: ; // 0x285cc18
|
|
/* 0285CC18 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0285CC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]);
|
|
/* 0285CC20 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285CC24 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285CC24 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285CC24 */ if (_t20) goto L_0285CBE0; else goto L_0285CC28;
|
|
L_0285CC28: ; // 0x285cc28
|
|
/* 0285CC28 */ cpu->r[3] = 0x00000000u;
|
|
L_0285CC2C: ; // 0x285cc2c
|
|
/* 0285CC2C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CC2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285CC30 */ cpu->lr = cpu->r[0];
|
|
/* 0285CC34 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285CC38 */ return;
|
|
}
|
|
|
|
// fn_0285CBBC @ 0x285cbbc
|
|
void Gambit_fn_0285CBBC(CPUState* 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_0285CBBC: ; // 0x285cbbc
|
|
/* 0285CBBC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285CBBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285CBBC */ cpu->r[1] = _t0;
|
|
/* 0285CBC0 */ Gambit_fn_0285CB9C(cpu);
|
|
/* 0285CBC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285CBC8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CBC8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285CBC8 */ if (_t2) goto L_0285CC28; else goto L_0285CBCC;
|
|
L_0285CBCC: ; // 0x285cbcc
|
|
/* 0285CBCC */ _t3 = cpu->r[10] + 0x0000001Cu;
|
|
/* 0285CBCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285CBD0 */ _t4 = cpu->r[12] + 0x00000008u;
|
|
/* 0285CBD0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t4);
|
|
/* 0285CBD4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0285CBD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]);
|
|
/* 0285CBDC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285CBDC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285CBDC */ if (_t6) goto L_0285CBE0; else goto L_0285CC28;
|
|
L_0285CBE0: ; // 0x285cbe0
|
|
/* 0285CBE0 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0285CBE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285CBE4 */ cpu->r[11] = cpu->r[0];
|
|
/* 0285CBE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285CBE8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CBE8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285CBE8 */ if (_t9) goto L_0285CBF0; else goto L_0285CBEC;
|
|
L_0285CBEC: ; // 0x285cbec
|
|
/* 0285CBEC */ cpu->r[11] = cpu->r[3] + cpu->r[0];
|
|
L_0285CBF0: ; // 0x285cbf0
|
|
/* 0285CBF0 */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0285CBF4 */ cpu->r[7] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_0285CBF8: ; // 0x285cbf8
|
|
/* 0285CBF8 */ _t10 = cpu->r[7] + 0x00000001u;
|
|
/* 0285CBF8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0285CBF8 */ cpu->r[7] = _t10;
|
|
/* 0285CBFC */ _t11 = cpu->r[8] + 0x00000001u;
|
|
/* 0285CBFC */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0285CBFC */ cpu->r[8] = _t11;
|
|
/* 0285CC00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 0285CC04 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CC04 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285CC04 */ if (_t13) goto L_0285CC08; else goto L_0285CC10;
|
|
L_0285CC08: ; // 0x285cc08
|
|
/* 0285CC08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000000u);
|
|
/* 0285CC0C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CC0C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285CC0C */ if (_t15) goto L_0285CC10; else goto L_0285CBF8;
|
|
L_0285CC10: ; // 0x285cc10
|
|
/* 0285CC10 */ cpu->r[12] = cpu->r[9] - cpu->r[11];
|
|
/* 0285CC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285CC14 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CC14 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285CC14 */ if (_t17) goto L_0285CC2C; else goto L_0285CC18;
|
|
L_0285CC18: ; // 0x285cc18
|
|
/* 0285CC18 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0285CC1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]);
|
|
/* 0285CC20 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285CC24 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285CC24 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285CC24 */ if (_t19) goto L_0285CBE0; else goto L_0285CC28;
|
|
L_0285CC28: ; // 0x285cc28
|
|
/* 0285CC28 */ cpu->r[3] = 0x00000000u;
|
|
L_0285CC2C: ; // 0x285cc2c
|
|
/* 0285CC2C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CC2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285CC30 */ cpu->lr = cpu->r[0];
|
|
/* 0285CC34 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285CC38 */ return;
|
|
}
|
|
|
|
// fn_0285CC3C @ 0x285cc3c
|
|
void Gambit_fn_0285CC3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119;
|
|
|
|
L_0285CC3C: ; // 0x285cc3c
|
|
/* 0285CC3C */ cpu->r[0] = cpu->lr;
|
|
/* 0285CC40 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285CC40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285CC40 */ cpu->r[1] = _t0;
|
|
/* 0285CC44 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285CC44 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0285CC48 */ /* nop */
|
|
/* 0285CC4C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CC4C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285CC50 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0285CC50 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0285CC54 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285CC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285CC58 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0285CC58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285CC5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CC5C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285CC5C */ if (_t6) goto L_0285CC60; else goto L_0285CC70;
|
|
L_0285CC60: ; // 0x285cc60
|
|
/* 0285CC60 */ cpu->r[3] = 0x000000C8u;
|
|
/* 0285CC64 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285CC68 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285CC68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285CC6C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CC6C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285CC6C */ if (_t8) goto L_0285CE78; else goto L_0285CC70;
|
|
L_0285CC70: ; // 0x285cc70
|
|
/* 0285CC70 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285CC74 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285CC78 */ _t9 = cpu->r[10] + 0x00004D6Cu;
|
|
/* 0285CC78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0285CC7C */ cpu->r[5] = 0x10130000u;
|
|
/* 0285CC80 */ _t10 = cpu->r[31] + 0x000000B8u;
|
|
/* 0285CC80 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 0285CC84 */ cpu->r[5] = cpu->r[5] + 0x00004D74u;
|
|
/* 0285CC88 */ _t11 = cpu->r[31] + 0x000000B3u;
|
|
/* 0285CC88 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[4]);
|
|
/* 0285CC8C */ _t12 = cpu->r[31] + 0x000000C4u;
|
|
/* 0285CC8C */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 0285CC90 */ _t13 = cpu->r[31] + 0x000000B6u;
|
|
/* 0285CC90 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[4]);
|
|
/* 0285CC94 */ _t14 = cpu->r[31] + 0x000000B4u;
|
|
/* 0285CC94 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[4]);
|
|
/* 0285CC98 */ _t15 = cpu->r[31] + 0x000000A4u;
|
|
/* 0285CC98 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]);
|
|
/* 0285CC9C */ _t16 = cpu->r[31] + 0x000000ACu;
|
|
/* 0285CC9C */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 0285CCA0 */ _t17 = cpu->r[31] + 0x000000A0u;
|
|
/* 0285CCA0 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
|
|
/* 0285CCA4 */ _t18 = cpu->r[31] + 0x000000B5u;
|
|
/* 0285CCA4 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[4]);
|
|
/* 0285CCA8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0285CCAC */ _t19 = cpu->r[31] + 0x000000BCu;
|
|
/* 0285CCAC */ rbrew_write32(cpu->mem, _t19, cpu->r[4]);
|
|
/* 0285CCB0 */ _t20 = cpu->r[31] + 0x000000B7u;
|
|
/* 0285CCB0 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[4]);
|
|
/* 0285CCB4 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 0285CCB8 */ _t21 = cpu->r[31] + 0x000000A8u;
|
|
/* 0285CCB8 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]);
|
|
/* 0285CCBC */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 0285CCC0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0285CCC4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0285CCC8 */ _t22 = cpu->r[11] + 0xFFFFD558u;
|
|
/* 0285CCC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285CCC8 */ cpu->r[11] = _t22;
|
|
/* 0285CCCC */ cpu->r[7] = 0x10130000u;
|
|
/* 0285CCD0 */ cpu->r[12] = cpu->r[12] + 0x00001744u;
|
|
/* 0285CCD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285CCD8 */ _t23 = cpu->r[7] + 0x00004D70u;
|
|
/* 0285CCD8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0285CCDC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CCDC */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285CCDC */ if (_t25) goto L_0285CCE0; else goto L_0285CD28;
|
|
L_0285CCE0: ; // 0x285cce0
|
|
/* 0285CCE0 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 0285CCE0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 0285CCE4 */ cpu->r[6] = 0x00000001u;
|
|
/* 0285CCE8 */ _t27 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0285CCE8 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 0285CCEC */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 0285CCEC */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 0285CCF0 */ _t29 = cpu->r[12] + 0x00000010u;
|
|
/* 0285CCF0 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 0285CCF4 */ _t30 = cpu->r[12] + 0x00000000u;
|
|
/* 0285CCF4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]);
|
|
/* 0285CCF8 */ _t31 = cpu->r[12] + 0x00000014u;
|
|
/* 0285CCF8 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]);
|
|
/* 0285CCFC */ _t32 = cpu->r[12] + 0x00000020u;
|
|
/* 0285CCFC */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 0285CD00 */ _t33 = cpu->r[12] + 0x00000030u;
|
|
/* 0285CD00 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 0285CD04 */ _t34 = cpu->r[12] + 0x00000038u;
|
|
/* 0285CD04 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 0285CD08 */ _t35 = cpu->r[12] + 0x00000028u;
|
|
/* 0285CD08 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[31]);
|
|
/* 0285CD0C */ _t36 = cpu->r[12] + 0x0000003Cu;
|
|
/* 0285CD0C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[31]);
|
|
/* 0285CD10 */ _t37 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0285CD10 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 0285CD14 */ _t38 = cpu->r[12] + 0x00000008u;
|
|
/* 0285CD14 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 0285CD18 */ _t39 = cpu->r[12] + 0x00000018u;
|
|
/* 0285CD18 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
|
|
/* 0285CD1C */ _t40 = cpu->r[12] + 0x00000024u;
|
|
/* 0285CD1C */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 0285CD20 */ _t41 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0285CD20 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 0285CD24 */ _t42 = cpu->r[12] + 0x00000034u;
|
|
/* 0285CD24 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
L_0285CD28: ; // 0x285cd28
|
|
/* 0285CD28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 0285CD2C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CD2C */ _t44 = _t43 & 0x00000001u;
|
|
/* 0285CD2C */ if (_t44) goto L_0285CD64; else goto L_0285CD30;
|
|
L_0285CD30: ; // 0x285cd30
|
|
/* 0285CD30 */ cpu->r[9] = 0x00000004u;
|
|
/* 0285CD34 */ cpu->r[7] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 0285CD38 */ cpu->ctr = cpu->r[9];
|
|
/* 0285CD3C */ cpu->r[8] = cpu->r[31] + 0xFFFFFFFCu;
|
|
L_0285CD40: ; // 0x285cd40
|
|
/* 0285CD40 */ _t45 = cpu->r[7] + 0x00000004u;
|
|
/* 0285CD40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0285CD44 */ _t46 = cpu->r[8] + 0x00000004u;
|
|
/* 0285CD44 */ rbrew_write32(cpu->mem, _t46, cpu->r[10]);
|
|
/* 0285CD48 */ _t47 = cpu->r[7] + 0x00000008u;
|
|
/* 0285CD48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0285CD4C */ _t48 = cpu->r[8] + 0x00000008u;
|
|
/* 0285CD4C */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
|
|
/* 0285CD50 */ _t49 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0285CD50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0285CD54 */ _t50 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0285CD54 */ rbrew_write32(cpu->mem, _t50, cpu->r[12]);
|
|
/* 0285CD58 */ _t51 = cpu->r[7] + 0x00000010u;
|
|
/* 0285CD58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0285CD58 */ cpu->r[7] = _t51;
|
|
/* 0285CD5C */ _t52 = cpu->r[8] + 0x00000010u;
|
|
/* 0285CD5C */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 0285CD5C */ cpu->r[8] = _t52;
|
|
/* 0285CD60 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285CD60 */ _t53 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285CD60 */ _t54 = _t53 >> (0x00000002u & 31u);
|
|
/* 0285CD60 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0285CD60 */ if (_t55) goto L_0285CD40; else goto L_0285CD64;
|
|
L_0285CD64: ; // 0x285cd64
|
|
/* 0285CD64 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0285CD68 */ _t56 = cpu->r[4] + 0xFFFFD554u;
|
|
/* 0285CD68 */ cpu->r[5] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0285CD68 */ cpu->r[4] = _t56;
|
|
/* 0285CD6C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0285CD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285CD74 */ cpu->r[11] = cpu->r[11] + 0x00000EE4u;
|
|
/* 0285CD78 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CD78 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0285CD78 */ if (_t58) goto L_0285CD7C; else goto L_0285CDB4;
|
|
L_0285CD7C: ; // 0x285cd7c
|
|
/* 0285CD7C */ _t59 = cpu->r[11] + 0x00000004u;
|
|
/* 0285CD7C */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 0285CD80 */ cpu->r[6] = 0x00000001u;
|
|
/* 0285CD84 */ _t60 = cpu->r[11] + 0x00000014u;
|
|
/* 0285CD84 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[31]);
|
|
/* 0285CD88 */ _t61 = cpu->r[4] + 0x00000000u;
|
|
/* 0285CD88 */ rbrew_write32(cpu->mem, _t61, cpu->r[6]);
|
|
/* 0285CD8C */ _t62 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0285CD8C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
|
|
/* 0285CD90 */ _t63 = cpu->r[11] + 0x00000000u;
|
|
/* 0285CD90 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[31]);
|
|
/* 0285CD94 */ _t64 = cpu->r[11] + 0x00000010u;
|
|
/* 0285CD94 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
/* 0285CD98 */ _t65 = cpu->r[11] + 0x00000018u;
|
|
/* 0285CD98 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[0]);
|
|
/* 0285CD9C */ _t66 = cpu->r[11] + 0x00000024u;
|
|
/* 0285CD9C */ rbrew_write_f32(cpu->mem, _t66, cpu->f[0]);
|
|
/* 0285CDA0 */ _t67 = cpu->r[11] + 0x00000028u;
|
|
/* 0285CDA0 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[31]);
|
|
/* 0285CDA4 */ _t68 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0285CDA4 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[0]);
|
|
/* 0285CDA8 */ _t69 = cpu->r[11] + 0x0000002Cu;
|
|
/* 0285CDA8 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[0]);
|
|
/* 0285CDAC */ _t70 = cpu->r[11] + 0x00000020u;
|
|
/* 0285CDAC */ rbrew_write_f32(cpu->mem, _t70, cpu->f[0]);
|
|
/* 0285CDB0 */ _t71 = cpu->r[11] + 0x00000008u;
|
|
/* 0285CDB0 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[0]);
|
|
L_0285CDB4: ; // 0x285cdb4
|
|
/* 0285CDB4 */ cpu->r[7] = cpu->r[31] + 0x00000040u;
|
|
/* 0285CDB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[7]);
|
|
/* 0285CDBC */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CDBC */ _t73 = _t72 & 0x00000001u;
|
|
/* 0285CDBC */ if (_t73) goto L_0285CE38; else goto L_0285CDC0;
|
|
L_0285CDC0: ; // 0x285cdc0
|
|
/* 0285CDC0 */ cpu->r[10] = 0x00000003u;
|
|
/* 0285CDC4 */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 0285CDC8 */ cpu->ctr = cpu->r[10];
|
|
/* 0285CDCC */ cpu->r[9] = cpu->r[31] + 0x0000003Cu;
|
|
L_0285CDD0: ; // 0x285cdd0
|
|
/* 0285CDD0 */ _t74 = cpu->r[8] + 0x00000004u;
|
|
/* 0285CDD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0285CDD4 */ _t75 = cpu->r[9] + 0x00000004u;
|
|
/* 0285CDD4 */ rbrew_write32(cpu->mem, _t75, cpu->r[12]);
|
|
/* 0285CDD8 */ _t76 = cpu->r[8] + 0x00000008u;
|
|
/* 0285CDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0285CDDC */ _t77 = cpu->r[9] + 0x00000008u;
|
|
/* 0285CDDC */ rbrew_write32(cpu->mem, _t77, cpu->r[0]);
|
|
/* 0285CDE0 */ _t78 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0285CDE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0285CDE4 */ _t79 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0285CDE4 */ rbrew_write32(cpu->mem, _t79, cpu->r[5]);
|
|
/* 0285CDE8 */ _t80 = cpu->r[8] + 0x00000010u;
|
|
/* 0285CDE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0285CDE8 */ cpu->r[8] = _t80;
|
|
/* 0285CDEC */ _t81 = cpu->r[9] + 0x00000010u;
|
|
/* 0285CDEC */ rbrew_write32(cpu->mem, _t81, cpu->r[6]);
|
|
/* 0285CDEC */ cpu->r[9] = _t81;
|
|
/* 0285CDF0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285CDF0 */ _t82 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285CDF0 */ _t83 = _t82 >> (0x00000002u & 31u);
|
|
/* 0285CDF0 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0285CDF0 */ if (_t84) goto L_0285CDD0; else goto L_0285CDF4;
|
|
L_0285CDF4: ; // 0x285cdf4
|
|
/* 0285CDF4 */ _t85 = cpu->r[4] + 0x00000000u;
|
|
/* 0285CDF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0285CDF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0285CDFC */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CDFC */ _t87 = _t86 & 0x00000001u;
|
|
/* 0285CDFC */ if (_t87) goto L_0285CE00; else goto L_0285CE38;
|
|
L_0285CE00: ; // 0x285ce00
|
|
/* 0285CE00 */ _t88 = cpu->r[11] + 0x00000004u;
|
|
/* 0285CE00 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[0]);
|
|
/* 0285CE04 */ cpu->r[9] = 0x00000001u;
|
|
/* 0285CE08 */ _t89 = cpu->r[11] + 0x00000014u;
|
|
/* 0285CE08 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[31]);
|
|
/* 0285CE0C */ _t90 = cpu->r[4] + 0x00000000u;
|
|
/* 0285CE0C */ rbrew_write32(cpu->mem, _t90, cpu->r[9]);
|
|
/* 0285CE10 */ _t91 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0285CE10 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[0]);
|
|
/* 0285CE14 */ _t92 = cpu->r[11] + 0x00000000u;
|
|
/* 0285CE14 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[31]);
|
|
/* 0285CE18 */ _t93 = cpu->r[11] + 0x00000010u;
|
|
/* 0285CE18 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[0]);
|
|
/* 0285CE1C */ _t94 = cpu->r[11] + 0x00000018u;
|
|
/* 0285CE1C */ rbrew_write_f32(cpu->mem, _t94, cpu->f[0]);
|
|
/* 0285CE20 */ _t95 = cpu->r[11] + 0x00000024u;
|
|
/* 0285CE20 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[0]);
|
|
/* 0285CE24 */ _t96 = cpu->r[11] + 0x00000028u;
|
|
/* 0285CE24 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[31]);
|
|
/* 0285CE28 */ _t97 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0285CE28 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[0]);
|
|
/* 0285CE2C */ _t98 = cpu->r[11] + 0x0000002Cu;
|
|
/* 0285CE2C */ rbrew_write_f32(cpu->mem, _t98, cpu->f[0]);
|
|
/* 0285CE30 */ _t99 = cpu->r[11] + 0x00000020u;
|
|
/* 0285CE30 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[0]);
|
|
/* 0285CE34 */ _t100 = cpu->r[11] + 0x00000008u;
|
|
/* 0285CE34 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[0]);
|
|
L_0285CE38: ; // 0x285ce38
|
|
/* 0285CE38 */ cpu->r[0] = cpu->r[31] + 0x00000070u;
|
|
/* 0285CE3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0285CE40 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CE40 */ _t102 = _t101 & 0x00000001u;
|
|
/* 0285CE40 */ if (_t102) goto L_0285CE78; else goto L_0285CE44;
|
|
L_0285CE44: ; // 0x285ce44
|
|
/* 0285CE44 */ cpu->r[6] = 0x00000003u;
|
|
/* 0285CE48 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 0285CE4C */ cpu->ctr = cpu->r[6];
|
|
/* 0285CE50 */ cpu->r[5] = cpu->r[31] + 0x0000006Cu;
|
|
L_0285CE54: ; // 0x285ce54
|
|
/* 0285CE54 */ _t103 = cpu->r[12] + 0x00000004u;
|
|
/* 0285CE54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0285CE58 */ _t104 = cpu->r[5] + 0x00000004u;
|
|
/* 0285CE58 */ rbrew_write32(cpu->mem, _t104, cpu->r[7]);
|
|
/* 0285CE5C */ _t105 = cpu->r[12] + 0x00000008u;
|
|
/* 0285CE5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0285CE60 */ _t106 = cpu->r[5] + 0x00000008u;
|
|
/* 0285CE60 */ rbrew_write32(cpu->mem, _t106, cpu->r[8]);
|
|
/* 0285CE64 */ _t107 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0285CE64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0285CE68 */ _t108 = cpu->r[5] + 0x0000000Cu;
|
|
/* 0285CE68 */ rbrew_write32(cpu->mem, _t108, cpu->r[9]);
|
|
/* 0285CE6C */ _t109 = cpu->r[12] + 0x00000010u;
|
|
/* 0285CE6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 0285CE6C */ cpu->r[12] = _t109;
|
|
/* 0285CE70 */ _t110 = cpu->r[5] + 0x00000010u;
|
|
/* 0285CE70 */ rbrew_write32(cpu->mem, _t110, cpu->r[0]);
|
|
/* 0285CE70 */ cpu->r[5] = _t110;
|
|
/* 0285CE74 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285CE74 */ _t111 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285CE74 */ _t112 = _t111 >> (0x00000002u & 31u);
|
|
/* 0285CE74 */ _t113 = _t112 & 0x00000001u;
|
|
/* 0285CE74 */ if (_t113) goto L_0285CE54; else goto L_0285CE78;
|
|
L_0285CE78: ; // 0x285ce78
|
|
/* 0285CE78 */ _t114 = cpu->r[1] + 0x00000018u;
|
|
/* 0285CE78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 0285CE7C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285CE80 */ _t115 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CE80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t115);
|
|
/* 0285CE84 */ _t116 = cpu->r[1] + 0x00000010u;
|
|
/* 0285CE84 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t116);
|
|
/* 0285CE88 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285CE88 */ _t118 = _t117 & 0x00000001u;
|
|
/* 0285CE88 */ if (_t118) goto L_0285CE8C; // else: addr-0 trap, fall-through
|
|
L_0285CE8C: ; // 0x285ce8c
|
|
/* 0285CE8C */ _t119 = cpu->r[1] + 0x00000024u;
|
|
/* 0285CE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0285CE90 */ cpu->lr = cpu->r[0];
|
|
/* 0285CE94 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285CE98 */ return;
|
|
}
|
|
|
|
// fn_0285CC40 @ 0x285cc40
|
|
void Gambit_fn_0285CC40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119;
|
|
|
|
L_0285CC40: ; // 0x285cc40
|
|
/* 0285CC40 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285CC40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285CC40 */ cpu->r[1] = _t0;
|
|
/* 0285CC44 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285CC44 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 0285CC48 */ /* nop */
|
|
/* 0285CC4C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CC4C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285CC50 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 0285CC50 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0285CC54 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285CC54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285CC58 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0285CC58 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285CC5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CC5C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285CC5C */ if (_t6) goto L_0285CC60; else goto L_0285CC70;
|
|
L_0285CC60: ; // 0x285cc60
|
|
/* 0285CC60 */ cpu->r[3] = 0x000000C8u;
|
|
/* 0285CC64 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285CC68 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285CC68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285CC6C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CC6C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285CC6C */ if (_t8) goto L_0285CE78; else goto L_0285CC70;
|
|
L_0285CC70: ; // 0x285cc70
|
|
/* 0285CC70 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285CC74 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285CC78 */ _t9 = cpu->r[10] + 0x00004D6Cu;
|
|
/* 0285CC78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0285CC7C */ cpu->r[5] = 0x10130000u;
|
|
/* 0285CC80 */ _t10 = cpu->r[31] + 0x000000B8u;
|
|
/* 0285CC80 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 0285CC84 */ cpu->r[5] = cpu->r[5] + 0x00004D74u;
|
|
/* 0285CC88 */ _t11 = cpu->r[31] + 0x000000B3u;
|
|
/* 0285CC88 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[4]);
|
|
/* 0285CC8C */ _t12 = cpu->r[31] + 0x000000C4u;
|
|
/* 0285CC8C */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 0285CC90 */ _t13 = cpu->r[31] + 0x000000B6u;
|
|
/* 0285CC90 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[4]);
|
|
/* 0285CC94 */ _t14 = cpu->r[31] + 0x000000B4u;
|
|
/* 0285CC94 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[4]);
|
|
/* 0285CC98 */ _t15 = cpu->r[31] + 0x000000A4u;
|
|
/* 0285CC98 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]);
|
|
/* 0285CC9C */ _t16 = cpu->r[31] + 0x000000ACu;
|
|
/* 0285CC9C */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 0285CCA0 */ _t17 = cpu->r[31] + 0x000000A0u;
|
|
/* 0285CCA0 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
|
|
/* 0285CCA4 */ _t18 = cpu->r[31] + 0x000000B5u;
|
|
/* 0285CCA4 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[4]);
|
|
/* 0285CCA8 */ cpu->r[5] = 0x00000001u;
|
|
/* 0285CCAC */ _t19 = cpu->r[31] + 0x000000BCu;
|
|
/* 0285CCAC */ rbrew_write32(cpu->mem, _t19, cpu->r[4]);
|
|
/* 0285CCB0 */ _t20 = cpu->r[31] + 0x000000B7u;
|
|
/* 0285CCB0 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[4]);
|
|
/* 0285CCB4 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 0285CCB8 */ _t21 = cpu->r[31] + 0x000000A8u;
|
|
/* 0285CCB8 */ rbrew_write32(cpu->mem, _t21, cpu->r[4]);
|
|
/* 0285CCBC */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 0285CCC0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0285CCC4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0285CCC8 */ _t22 = cpu->r[11] + 0xFFFFD558u;
|
|
/* 0285CCC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285CCC8 */ cpu->r[11] = _t22;
|
|
/* 0285CCCC */ cpu->r[7] = 0x10130000u;
|
|
/* 0285CCD0 */ cpu->r[12] = cpu->r[12] + 0x00001744u;
|
|
/* 0285CCD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285CCD8 */ _t23 = cpu->r[7] + 0x00004D70u;
|
|
/* 0285CCD8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0285CCDC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CCDC */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285CCDC */ if (_t25) goto L_0285CCE0; else goto L_0285CD28;
|
|
L_0285CCE0: ; // 0x285cce0
|
|
/* 0285CCE0 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 0285CCE0 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 0285CCE4 */ cpu->r[6] = 0x00000001u;
|
|
/* 0285CCE8 */ _t27 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0285CCE8 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 0285CCEC */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 0285CCEC */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 0285CCF0 */ _t29 = cpu->r[12] + 0x00000010u;
|
|
/* 0285CCF0 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 0285CCF4 */ _t30 = cpu->r[12] + 0x00000000u;
|
|
/* 0285CCF4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]);
|
|
/* 0285CCF8 */ _t31 = cpu->r[12] + 0x00000014u;
|
|
/* 0285CCF8 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]);
|
|
/* 0285CCFC */ _t32 = cpu->r[12] + 0x00000020u;
|
|
/* 0285CCFC */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 0285CD00 */ _t33 = cpu->r[12] + 0x00000030u;
|
|
/* 0285CD00 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 0285CD04 */ _t34 = cpu->r[12] + 0x00000038u;
|
|
/* 0285CD04 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[0]);
|
|
/* 0285CD08 */ _t35 = cpu->r[12] + 0x00000028u;
|
|
/* 0285CD08 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[31]);
|
|
/* 0285CD0C */ _t36 = cpu->r[12] + 0x0000003Cu;
|
|
/* 0285CD0C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[31]);
|
|
/* 0285CD10 */ _t37 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0285CD10 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 0285CD14 */ _t38 = cpu->r[12] + 0x00000008u;
|
|
/* 0285CD14 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[0]);
|
|
/* 0285CD18 */ _t39 = cpu->r[12] + 0x00000018u;
|
|
/* 0285CD18 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
|
|
/* 0285CD1C */ _t40 = cpu->r[12] + 0x00000024u;
|
|
/* 0285CD1C */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 0285CD20 */ _t41 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0285CD20 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[0]);
|
|
/* 0285CD24 */ _t42 = cpu->r[12] + 0x00000034u;
|
|
/* 0285CD24 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
L_0285CD28: ; // 0x285cd28
|
|
/* 0285CD28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 0285CD2C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CD2C */ _t44 = _t43 & 0x00000001u;
|
|
/* 0285CD2C */ if (_t44) goto L_0285CD64; else goto L_0285CD30;
|
|
L_0285CD30: ; // 0x285cd30
|
|
/* 0285CD30 */ cpu->r[9] = 0x00000004u;
|
|
/* 0285CD34 */ cpu->r[7] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 0285CD38 */ cpu->ctr = cpu->r[9];
|
|
/* 0285CD3C */ cpu->r[8] = cpu->r[31] + 0xFFFFFFFCu;
|
|
L_0285CD40: ; // 0x285cd40
|
|
/* 0285CD40 */ _t45 = cpu->r[7] + 0x00000004u;
|
|
/* 0285CD40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0285CD44 */ _t46 = cpu->r[8] + 0x00000004u;
|
|
/* 0285CD44 */ rbrew_write32(cpu->mem, _t46, cpu->r[10]);
|
|
/* 0285CD48 */ _t47 = cpu->r[7] + 0x00000008u;
|
|
/* 0285CD48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0285CD4C */ _t48 = cpu->r[8] + 0x00000008u;
|
|
/* 0285CD4C */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
|
|
/* 0285CD50 */ _t49 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0285CD50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0285CD54 */ _t50 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0285CD54 */ rbrew_write32(cpu->mem, _t50, cpu->r[12]);
|
|
/* 0285CD58 */ _t51 = cpu->r[7] + 0x00000010u;
|
|
/* 0285CD58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0285CD58 */ cpu->r[7] = _t51;
|
|
/* 0285CD5C */ _t52 = cpu->r[8] + 0x00000010u;
|
|
/* 0285CD5C */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 0285CD5C */ cpu->r[8] = _t52;
|
|
/* 0285CD60 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285CD60 */ _t53 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285CD60 */ _t54 = _t53 >> (0x00000002u & 31u);
|
|
/* 0285CD60 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0285CD60 */ if (_t55) goto L_0285CD40; else goto L_0285CD64;
|
|
L_0285CD64: ; // 0x285cd64
|
|
/* 0285CD64 */ cpu->r[4] = 0x101D0000u;
|
|
/* 0285CD68 */ _t56 = cpu->r[4] + 0xFFFFD554u;
|
|
/* 0285CD68 */ cpu->r[5] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0285CD68 */ cpu->r[4] = _t56;
|
|
/* 0285CD6C */ cpu->r[11] = 0x101D0000u;
|
|
/* 0285CD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285CD74 */ cpu->r[11] = cpu->r[11] + 0x00000EE4u;
|
|
/* 0285CD78 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CD78 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0285CD78 */ if (_t58) goto L_0285CD7C; else goto L_0285CDB4;
|
|
L_0285CD7C: ; // 0x285cd7c
|
|
/* 0285CD7C */ _t59 = cpu->r[11] + 0x00000004u;
|
|
/* 0285CD7C */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 0285CD80 */ cpu->r[6] = 0x00000001u;
|
|
/* 0285CD84 */ _t60 = cpu->r[11] + 0x00000014u;
|
|
/* 0285CD84 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[31]);
|
|
/* 0285CD88 */ _t61 = cpu->r[4] + 0x00000000u;
|
|
/* 0285CD88 */ rbrew_write32(cpu->mem, _t61, cpu->r[6]);
|
|
/* 0285CD8C */ _t62 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0285CD8C */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
|
|
/* 0285CD90 */ _t63 = cpu->r[11] + 0x00000000u;
|
|
/* 0285CD90 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[31]);
|
|
/* 0285CD94 */ _t64 = cpu->r[11] + 0x00000010u;
|
|
/* 0285CD94 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
/* 0285CD98 */ _t65 = cpu->r[11] + 0x00000018u;
|
|
/* 0285CD98 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[0]);
|
|
/* 0285CD9C */ _t66 = cpu->r[11] + 0x00000024u;
|
|
/* 0285CD9C */ rbrew_write_f32(cpu->mem, _t66, cpu->f[0]);
|
|
/* 0285CDA0 */ _t67 = cpu->r[11] + 0x00000028u;
|
|
/* 0285CDA0 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[31]);
|
|
/* 0285CDA4 */ _t68 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0285CDA4 */ rbrew_write_f32(cpu->mem, _t68, cpu->f[0]);
|
|
/* 0285CDA8 */ _t69 = cpu->r[11] + 0x0000002Cu;
|
|
/* 0285CDA8 */ rbrew_write_f32(cpu->mem, _t69, cpu->f[0]);
|
|
/* 0285CDAC */ _t70 = cpu->r[11] + 0x00000020u;
|
|
/* 0285CDAC */ rbrew_write_f32(cpu->mem, _t70, cpu->f[0]);
|
|
/* 0285CDB0 */ _t71 = cpu->r[11] + 0x00000008u;
|
|
/* 0285CDB0 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[0]);
|
|
L_0285CDB4: ; // 0x285cdb4
|
|
/* 0285CDB4 */ cpu->r[7] = cpu->r[31] + 0x00000040u;
|
|
/* 0285CDB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[7]);
|
|
/* 0285CDBC */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CDBC */ _t73 = _t72 & 0x00000001u;
|
|
/* 0285CDBC */ if (_t73) goto L_0285CE38; else goto L_0285CDC0;
|
|
L_0285CDC0: ; // 0x285cdc0
|
|
/* 0285CDC0 */ cpu->r[10] = 0x00000003u;
|
|
/* 0285CDC4 */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 0285CDC8 */ cpu->ctr = cpu->r[10];
|
|
/* 0285CDCC */ cpu->r[9] = cpu->r[31] + 0x0000003Cu;
|
|
L_0285CDD0: ; // 0x285cdd0
|
|
/* 0285CDD0 */ _t74 = cpu->r[8] + 0x00000004u;
|
|
/* 0285CDD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0285CDD4 */ _t75 = cpu->r[9] + 0x00000004u;
|
|
/* 0285CDD4 */ rbrew_write32(cpu->mem, _t75, cpu->r[12]);
|
|
/* 0285CDD8 */ _t76 = cpu->r[8] + 0x00000008u;
|
|
/* 0285CDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0285CDDC */ _t77 = cpu->r[9] + 0x00000008u;
|
|
/* 0285CDDC */ rbrew_write32(cpu->mem, _t77, cpu->r[0]);
|
|
/* 0285CDE0 */ _t78 = cpu->r[8] + 0x0000000Cu;
|
|
/* 0285CDE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0285CDE4 */ _t79 = cpu->r[9] + 0x0000000Cu;
|
|
/* 0285CDE4 */ rbrew_write32(cpu->mem, _t79, cpu->r[5]);
|
|
/* 0285CDE8 */ _t80 = cpu->r[8] + 0x00000010u;
|
|
/* 0285CDE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0285CDE8 */ cpu->r[8] = _t80;
|
|
/* 0285CDEC */ _t81 = cpu->r[9] + 0x00000010u;
|
|
/* 0285CDEC */ rbrew_write32(cpu->mem, _t81, cpu->r[6]);
|
|
/* 0285CDEC */ cpu->r[9] = _t81;
|
|
/* 0285CDF0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285CDF0 */ _t82 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285CDF0 */ _t83 = _t82 >> (0x00000002u & 31u);
|
|
/* 0285CDF0 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0285CDF0 */ if (_t84) goto L_0285CDD0; else goto L_0285CDF4;
|
|
L_0285CDF4: ; // 0x285cdf4
|
|
/* 0285CDF4 */ _t85 = cpu->r[4] + 0x00000000u;
|
|
/* 0285CDF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0285CDF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0285CDFC */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CDFC */ _t87 = _t86 & 0x00000001u;
|
|
/* 0285CDFC */ if (_t87) goto L_0285CE00; else goto L_0285CE38;
|
|
L_0285CE00: ; // 0x285ce00
|
|
/* 0285CE00 */ _t88 = cpu->r[11] + 0x00000004u;
|
|
/* 0285CE00 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[0]);
|
|
/* 0285CE04 */ cpu->r[9] = 0x00000001u;
|
|
/* 0285CE08 */ _t89 = cpu->r[11] + 0x00000014u;
|
|
/* 0285CE08 */ rbrew_write_f32(cpu->mem, _t89, cpu->f[31]);
|
|
/* 0285CE0C */ _t90 = cpu->r[4] + 0x00000000u;
|
|
/* 0285CE0C */ rbrew_write32(cpu->mem, _t90, cpu->r[9]);
|
|
/* 0285CE10 */ _t91 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0285CE10 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[0]);
|
|
/* 0285CE14 */ _t92 = cpu->r[11] + 0x00000000u;
|
|
/* 0285CE14 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[31]);
|
|
/* 0285CE18 */ _t93 = cpu->r[11] + 0x00000010u;
|
|
/* 0285CE18 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[0]);
|
|
/* 0285CE1C */ _t94 = cpu->r[11] + 0x00000018u;
|
|
/* 0285CE1C */ rbrew_write_f32(cpu->mem, _t94, cpu->f[0]);
|
|
/* 0285CE20 */ _t95 = cpu->r[11] + 0x00000024u;
|
|
/* 0285CE20 */ rbrew_write_f32(cpu->mem, _t95, cpu->f[0]);
|
|
/* 0285CE24 */ _t96 = cpu->r[11] + 0x00000028u;
|
|
/* 0285CE24 */ rbrew_write_f32(cpu->mem, _t96, cpu->f[31]);
|
|
/* 0285CE28 */ _t97 = cpu->r[11] + 0x0000001Cu;
|
|
/* 0285CE28 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[0]);
|
|
/* 0285CE2C */ _t98 = cpu->r[11] + 0x0000002Cu;
|
|
/* 0285CE2C */ rbrew_write_f32(cpu->mem, _t98, cpu->f[0]);
|
|
/* 0285CE30 */ _t99 = cpu->r[11] + 0x00000020u;
|
|
/* 0285CE30 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[0]);
|
|
/* 0285CE34 */ _t100 = cpu->r[11] + 0x00000008u;
|
|
/* 0285CE34 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[0]);
|
|
L_0285CE38: ; // 0x285ce38
|
|
/* 0285CE38 */ cpu->r[0] = cpu->r[31] + 0x00000070u;
|
|
/* 0285CE3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0285CE40 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CE40 */ _t102 = _t101 & 0x00000001u;
|
|
/* 0285CE40 */ if (_t102) goto L_0285CE78; else goto L_0285CE44;
|
|
L_0285CE44: ; // 0x285ce44
|
|
/* 0285CE44 */ cpu->r[6] = 0x00000003u;
|
|
/* 0285CE48 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 0285CE4C */ cpu->ctr = cpu->r[6];
|
|
/* 0285CE50 */ cpu->r[5] = cpu->r[31] + 0x0000006Cu;
|
|
L_0285CE54: ; // 0x285ce54
|
|
/* 0285CE54 */ _t103 = cpu->r[12] + 0x00000004u;
|
|
/* 0285CE54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0285CE58 */ _t104 = cpu->r[5] + 0x00000004u;
|
|
/* 0285CE58 */ rbrew_write32(cpu->mem, _t104, cpu->r[7]);
|
|
/* 0285CE5C */ _t105 = cpu->r[12] + 0x00000008u;
|
|
/* 0285CE5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0285CE60 */ _t106 = cpu->r[5] + 0x00000008u;
|
|
/* 0285CE60 */ rbrew_write32(cpu->mem, _t106, cpu->r[8]);
|
|
/* 0285CE64 */ _t107 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0285CE64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0285CE68 */ _t108 = cpu->r[5] + 0x0000000Cu;
|
|
/* 0285CE68 */ rbrew_write32(cpu->mem, _t108, cpu->r[9]);
|
|
/* 0285CE6C */ _t109 = cpu->r[12] + 0x00000010u;
|
|
/* 0285CE6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 0285CE6C */ cpu->r[12] = _t109;
|
|
/* 0285CE70 */ _t110 = cpu->r[5] + 0x00000010u;
|
|
/* 0285CE70 */ rbrew_write32(cpu->mem, _t110, cpu->r[0]);
|
|
/* 0285CE70 */ cpu->r[5] = _t110;
|
|
/* 0285CE74 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285CE74 */ _t111 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285CE74 */ _t112 = _t111 >> (0x00000002u & 31u);
|
|
/* 0285CE74 */ _t113 = _t112 & 0x00000001u;
|
|
/* 0285CE74 */ if (_t113) goto L_0285CE54; else goto L_0285CE78;
|
|
L_0285CE78: ; // 0x285ce78
|
|
/* 0285CE78 */ _t114 = cpu->r[1] + 0x00000018u;
|
|
/* 0285CE78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 0285CE7C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285CE80 */ _t115 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CE80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t115);
|
|
/* 0285CE84 */ _t116 = cpu->r[1] + 0x00000010u;
|
|
/* 0285CE84 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t116);
|
|
/* 0285CE88 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285CE88 */ _t118 = _t117 & 0x00000001u;
|
|
/* 0285CE88 */ if (_t118) goto L_0285CE8C; // else: addr-0 trap, fall-through
|
|
L_0285CE8C: ; // 0x285ce8c
|
|
/* 0285CE8C */ _t119 = cpu->r[1] + 0x00000024u;
|
|
/* 0285CE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0285CE90 */ cpu->lr = cpu->r[0];
|
|
/* 0285CE94 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285CE98 */ return;
|
|
}
|
|
|
|
// fn_0285CE9C @ 0x285ce9c
|
|
void Gambit_fn_0285CE9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0285CE9C: ; // 0x285ce9c
|
|
/* 0285CE9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 0285CEA0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CEA0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0285CEA0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285CEA0 */ goto L_0285CEA4;
|
|
L_0285CEA4: ; // 0x285cea4
|
|
/* 0285CEA4 */ cpu->r[8] = 0x00000004u;
|
|
/* 0285CEA8 */ cpu->r[12] = cpu->r[4] + 0xFFFFFFFCu;
|
|
/* 0285CEAC */ cpu->ctr = cpu->r[8];
|
|
/* 0285CEB0 */ cpu->r[7] = cpu->r[3] + 0xFFFFFFFCu;
|
|
L_0285CEB4: ; // 0x285ceb4
|
|
/* 0285CEB4 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 0285CEB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0285CEB8 */ _t3 = cpu->r[7] + 0x00000004u;
|
|
/* 0285CEB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 0285CEBC */ _t4 = cpu->r[12] + 0x00000008u;
|
|
/* 0285CEBC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285CEC0 */ _t5 = cpu->r[7] + 0x00000008u;
|
|
/* 0285CEC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 0285CEC4 */ _t6 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0285CEC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285CEC8 */ _t7 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0285CEC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0285CECC */ _t8 = cpu->r[12] + 0x00000010u;
|
|
/* 0285CECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285CECC */ cpu->r[12] = _t8;
|
|
/* 0285CED0 */ _t9 = cpu->r[7] + 0x00000010u;
|
|
/* 0285CED0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0285CED0 */ cpu->r[7] = _t9;
|
|
/* 0285CED4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285CED4 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285CED4 */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 0285CED4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285CED4 */ if (_t12) goto L_0285CEB4; else goto L_0285CED8;
|
|
L_0285CED8: ; // 0x285ced8
|
|
/* 0285CED8 */ return;
|
|
}
|
|
|
|
// fn_0285CEDC @ 0x285cedc
|
|
void Gambit_fn_0285CEDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0285CEDC: ; // 0x285cedc
|
|
/* 0285CEDC */ _t0 = cpu->r[3] + 0x000000A8u;
|
|
/* 0285CEDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285CEE0 */ cpu->r[5] = cpu->r[4];
|
|
/* 0285CEE4 */ _t1 = cpu->r[3] + 0x000000BCu;
|
|
/* 0285CEE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0285CEE8 */ cpu->r[3] = cpu->r[12] + 0x0000025Cu;
|
|
/* 0285CEEC */ goto L_02867ABC;
|
|
L_02867ABC: ; // 0x2867abc
|
|
/* 02867ABC */ _t2 = cpu->r[4] + 0x00000030u;
|
|
/* 02867ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02867AC0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02867AC4 */ _t3 = cpu->r[12] + cpu->r[0];
|
|
/* 02867AC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02867AC8 */ return;
|
|
}
|
|
|
|
// fn_0285CEF0 @ 0x285cef0
|
|
void Gambit_fn_0285CEF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0285CEF0: ; // 0x285cef0
|
|
/* 0285CEF0 */ cpu->r[0] = cpu->lr;
|
|
/* 0285CEF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285CEF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285CEF4 */ cpu->r[1] = _t0;
|
|
/* 0285CEF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CEF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285CEFC */ cpu->r[31] = cpu->r[3];
|
|
/* 0285CF00 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285CF04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285CF04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285CF08 */ Gambit_fn_0285CEDC(cpu);
|
|
/* 0285CF0C */ cpu->r[5] = cpu->r[31];
|
|
/* 0285CF10 */ cpu->r[4] = 0x00000010u;
|
|
/* 0285CF14 */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
/* 0285CF18 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285CF18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285CF1C */ cpu->lr = cpu->r[0];
|
|
/* 0285CF20 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CF20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285CF24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285CF28 */ return;
|
|
}
|
|
|
|
// fn_0285CEF4 @ 0x285cef4
|
|
void Gambit_fn_0285CEF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0285CEF4: ; // 0x285cef4
|
|
/* 0285CEF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285CEF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285CEF4 */ cpu->r[1] = _t0;
|
|
/* 0285CEF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CEF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285CEFC */ cpu->r[31] = cpu->r[3];
|
|
/* 0285CF00 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285CF04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285CF04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285CF08 */ Gambit_fn_0285CEDC(cpu);
|
|
/* 0285CF0C */ cpu->r[5] = cpu->r[31];
|
|
/* 0285CF10 */ cpu->r[4] = 0x00000010u;
|
|
/* 0285CF14 */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
/* 0285CF18 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285CF18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285CF1C */ cpu->lr = cpu->r[0];
|
|
/* 0285CF20 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CF20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285CF24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285CF28 */ return;
|
|
}
|
|
|
|
// fn_0285CF2C @ 0x285cf2c
|
|
void Gambit_fn_0285CF2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285CF2C: ; // 0x285cf2c
|
|
/* 0285CF2C */ cpu->r[0] = cpu->lr;
|
|
/* 0285CF30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285CF30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285CF30 */ cpu->r[1] = _t0;
|
|
/* 0285CF34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CF34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285CF38 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285CF3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285CF3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285CF40 */ _t3 = cpu->r[31] + 0x000000B6u;
|
|
/* 0285CF40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0285CF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285CF48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CF48 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285CF48 */ if (_t5) goto L_0285CF4C; else goto L_0285CF68;
|
|
L_0285CF4C: ; // 0x285cf4c
|
|
/* 0285CF4C */ cpu->r[4] = 0x00000001u;
|
|
/* 0285CF50 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285CF54 */ _t6 = cpu->r[31] + 0x000000B6u;
|
|
/* 0285CF54 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[4]);
|
|
/* 0285CF58 */ Gambit_fn_0285CEDC(cpu);
|
|
/* 0285CF5C */ cpu->r[4] = 0x0000000Cu;
|
|
/* 0285CF60 */ cpu->r[5] = cpu->r[31] + 0x00000070u;
|
|
/* 0285CF64 */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
L_0285CF68: ; // 0x285cf68
|
|
/* 0285CF68 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0285CF68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285CF6C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CF6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285CF70 */ cpu->lr = cpu->r[0];
|
|
/* 0285CF74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285CF78 */ return;
|
|
}
|
|
|
|
// fn_0285CF30 @ 0x285cf30
|
|
void Gambit_fn_0285CF30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285CF30: ; // 0x285cf30
|
|
/* 0285CF30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285CF30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285CF30 */ cpu->r[1] = _t0;
|
|
/* 0285CF34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CF34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285CF38 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285CF3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285CF3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285CF40 */ _t3 = cpu->r[31] + 0x000000B6u;
|
|
/* 0285CF40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0285CF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285CF48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CF48 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285CF48 */ if (_t5) goto L_0285CF4C; else goto L_0285CF68;
|
|
L_0285CF4C: ; // 0x285cf4c
|
|
/* 0285CF4C */ cpu->r[4] = 0x00000001u;
|
|
/* 0285CF50 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285CF54 */ _t6 = cpu->r[31] + 0x000000B6u;
|
|
/* 0285CF54 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[4]);
|
|
/* 0285CF58 */ Gambit_fn_0285CEDC(cpu);
|
|
/* 0285CF5C */ cpu->r[4] = 0x0000000Cu;
|
|
/* 0285CF60 */ cpu->r[5] = cpu->r[31] + 0x00000070u;
|
|
/* 0285CF64 */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
L_0285CF68: ; // 0x285cf68
|
|
/* 0285CF68 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0285CF68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285CF6C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CF6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285CF70 */ cpu->lr = cpu->r[0];
|
|
/* 0285CF74 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285CF78 */ return;
|
|
}
|
|
|
|
// fn_0285CF7C @ 0x285cf7c
|
|
void Gambit_fn_0285CF7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0285CF7C: ; // 0x285cf7c
|
|
/* 0285CF7C */ cpu->r[12] = cpu->r[3];
|
|
/* 0285CF80 */ _t0 = cpu->r[12] + 0x000000B7u;
|
|
/* 0285CF80 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0285CF84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285CF88 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285CF88 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285CF88 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285CF88 */ goto L_0285CF8C;
|
|
L_0285CF8C: ; // 0x285cf8c
|
|
/* 0285CF8C */ _t3 = cpu->r[12] + 0x000000A8u;
|
|
/* 0285CF8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285CF90 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285CF94 */ _t4 = cpu->r[12] + 0x000000B7u;
|
|
/* 0285CF94 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 0285CF98 */ goto L_0286902C;
|
|
L_0286902C: ; // 0x286902c
|
|
/* 0286902C */ _t5 = cpu->r[3] + 0x00000254u;
|
|
/* 0286902C */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02869030 */ cpu->r[5] = 0x00000008u;
|
|
/* 02869034 */ cpu->r[4] = 0x00000020u;
|
|
/* 02869038 */ cpu->r[3] = 0x00000000u;
|
|
/* 0286903C */ rbrew_dispatch(cpu, 0x02d05fb0u); return;
|
|
}
|
|
|
|
// fn_0285CF9C @ 0x285cf9c
|
|
void Gambit_fn_0285CF9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285CF9C: ; // 0x285cf9c
|
|
/* 0285CF9C */ cpu->r[0] = cpu->lr;
|
|
/* 0285CFA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285CFA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285CFA0 */ cpu->r[1] = _t0;
|
|
/* 0285CFA4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CFA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285CFA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285CFAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285CFAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285CFB0 */ _t3 = cpu->r[31] + 0x000000A8u;
|
|
/* 0285CFB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285CFB4 */ cpu->r[3] = cpu->r[10] + 0x0000025Cu;
|
|
/* 0285CFB8 */ Gambit_fn_02867A74(cpu);
|
|
/* 0285CFBC */ _t4 = cpu->r[31] + 0x000000A8u;
|
|
/* 0285CFBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285CFC0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0285CFC4 */ cpu->r[3] = cpu->r[12] + 0x0000025Cu;
|
|
/* 0285CFC8 */ _t5 = cpu->r[31] + 0x000000BCu;
|
|
/* 0285CFC8 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 0285CFCC */ Gambit_fn_02867ACC(cpu);
|
|
/* 0285CFD0 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285CFD4 */ _t6 = cpu->r[31] + 0x000000B6u;
|
|
/* 0285CFD4 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0285CFD8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0285CFD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285CFDC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CFDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285CFE0 */ cpu->lr = cpu->r[0];
|
|
/* 0285CFE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285CFE8 */ return;
|
|
}
|
|
|
|
// fn_0285CFA0 @ 0x285cfa0
|
|
void Gambit_fn_0285CFA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285CFA0: ; // 0x285cfa0
|
|
/* 0285CFA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285CFA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285CFA0 */ cpu->r[1] = _t0;
|
|
/* 0285CFA4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CFA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285CFA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285CFAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285CFAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285CFB0 */ _t3 = cpu->r[31] + 0x000000A8u;
|
|
/* 0285CFB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285CFB4 */ cpu->r[3] = cpu->r[10] + 0x0000025Cu;
|
|
/* 0285CFB8 */ Gambit_fn_02867A74(cpu);
|
|
/* 0285CFBC */ _t4 = cpu->r[31] + 0x000000A8u;
|
|
/* 0285CFBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285CFC0 */ cpu->r[4] = cpu->r[3];
|
|
/* 0285CFC4 */ cpu->r[3] = cpu->r[12] + 0x0000025Cu;
|
|
/* 0285CFC8 */ _t5 = cpu->r[31] + 0x000000BCu;
|
|
/* 0285CFC8 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 0285CFCC */ Gambit_fn_02867ACC(cpu);
|
|
/* 0285CFD0 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285CFD4 */ _t6 = cpu->r[31] + 0x000000B6u;
|
|
/* 0285CFD4 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0285CFD8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0285CFD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285CFDC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CFDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285CFE0 */ cpu->lr = cpu->r[0];
|
|
/* 0285CFE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285CFE8 */ return;
|
|
}
|
|
|
|
// fn_0285CFEC @ 0x285cfec
|
|
void Gambit_fn_0285CFEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285CFEC: ; // 0x285cfec
|
|
/* 0285CFEC */ cpu->r[0] = cpu->lr;
|
|
/* 0285CFF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285CFF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285CFF0 */ cpu->r[1] = _t0;
|
|
/* 0285CFF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CFF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285CFF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285CFFC */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285D000 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D000 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285D004 */ _t3 = cpu->r[31] + 0x000000A8u;
|
|
/* 0285D004 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285D008 */ _t4 = cpu->r[12] + cpu->r[4];
|
|
/* 0285D008 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285D00C */ cpu->r[3] = cpu->r[10] + 0x0000025Cu;
|
|
/* 0285D010 */ _t5 = cpu->r[31] + 0x000000BCu;
|
|
/* 0285D010 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 0285D014 */ Gambit_fn_02867ACC(cpu);
|
|
/* 0285D018 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285D01C */ _t6 = cpu->r[31] + 0x000000B6u;
|
|
/* 0285D01C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0285D020 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285D024 */ cpu->lr = cpu->r[0];
|
|
/* 0285D028 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D028 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285D02C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285D030 */ return;
|
|
}
|
|
|
|
// fn_0285CFF0 @ 0x285cff0
|
|
void Gambit_fn_0285CFF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285CFF0: ; // 0x285cff0
|
|
/* 0285CFF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285CFF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285CFF0 */ cpu->r[1] = _t0;
|
|
/* 0285CFF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285CFF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285CFF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285CFFC */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285D000 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D000 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285D004 */ _t3 = cpu->r[31] + 0x000000A8u;
|
|
/* 0285D004 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285D008 */ _t4 = cpu->r[12] + cpu->r[4];
|
|
/* 0285D008 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285D00C */ cpu->r[3] = cpu->r[10] + 0x0000025Cu;
|
|
/* 0285D010 */ _t5 = cpu->r[31] + 0x000000BCu;
|
|
/* 0285D010 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 0285D014 */ Gambit_fn_02867ACC(cpu);
|
|
/* 0285D018 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285D01C */ _t6 = cpu->r[31] + 0x000000B6u;
|
|
/* 0285D01C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0285D020 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285D024 */ cpu->lr = cpu->r[0];
|
|
/* 0285D028 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D028 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285D02C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285D030 */ return;
|
|
}
|
|
|
|
// fn_0285D034 @ 0x285d034
|
|
void Gambit_fn_0285D034(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285D034: ; // 0x285d034
|
|
/* 0285D034 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D038 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285D038 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0285D03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D040 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285D040 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0285D040 */ cpu->r[1] = _t1;
|
|
/* 0285D044 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D044 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285D044 */ if (_t3) goto L_0285D048; else goto L_0285D058;
|
|
L_0285D048: ; // 0x285d048
|
|
/* 0285D048 */ cpu->r[3] = 0x00000090u;
|
|
/* 0285D04C */ Gambit_fn_02801A78(cpu);
|
|
/* 0285D050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D054 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D054 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285D054 */ if (_t5) goto L_0285D06C; else goto L_0285D058;
|
|
L_0285D058: ; // 0x285d058
|
|
/* 0285D058 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285D05C */ _t6 = cpu->r[3] + 0x0000008Cu;
|
|
/* 0285D05C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 0285D060 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0285D060 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0285D064 */ _t8 = cpu->r[3] + 0x00000088u;
|
|
/* 0285D064 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0285D068 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 0285D068 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_0285D06C: ; // 0x285d06c
|
|
/* 0285D06C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D06C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285D070 */ cpu->lr = cpu->r[0];
|
|
/* 0285D074 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285D078 */ return;
|
|
}
|
|
|
|
// fn_0285D040 @ 0x285d040
|
|
void Gambit_fn_0285D040(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0285D040: ; // 0x285d040
|
|
/* 0285D040 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285D040 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D040 */ cpu->r[1] = _t0;
|
|
/* 0285D044 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D044 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285D044 */ if (_t2) goto L_0285D048; else goto L_0285D058;
|
|
L_0285D048: ; // 0x285d048
|
|
/* 0285D048 */ cpu->r[3] = 0x00000090u;
|
|
/* 0285D04C */ Gambit_fn_02801A78(cpu);
|
|
/* 0285D050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D054 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D054 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285D054 */ if (_t4) goto L_0285D06C; else goto L_0285D058;
|
|
L_0285D058: ; // 0x285d058
|
|
/* 0285D058 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285D05C */ _t5 = cpu->r[3] + 0x0000008Cu;
|
|
/* 0285D05C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 0285D060 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 0285D060 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285D064 */ _t7 = cpu->r[3] + 0x00000088u;
|
|
/* 0285D064 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0285D068 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 0285D068 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_0285D06C: ; // 0x285d06c
|
|
/* 0285D06C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D06C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285D070 */ cpu->lr = cpu->r[0];
|
|
/* 0285D074 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285D078 */ return;
|
|
}
|
|
|
|
// fn_0285D07C @ 0x285d07c
|
|
void Gambit_fn_0285D07C(CPUState* cpu) {
|
|
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_0285D07C: ; // 0x285d07c
|
|
/* 0285D07C */ cpu->r[0] = cpu->lr;
|
|
/* 0285D080 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285D080 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D080 */ cpu->r[1] = _t0;
|
|
/* 0285D084 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D084 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285D088 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D088 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285D08C */ cpu->r[30] = cpu->r[3];
|
|
/* 0285D08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285D090 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285D094 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D094 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285D098 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D098 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285D09C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D09C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285D09C */ if (_t6) goto L_0285D0F0; else goto L_0285D0A0;
|
|
L_0285D0A0: ; // 0x285d0a0
|
|
/* 0285D0A0 */ _t7 = cpu->r[30] + 0x0000008Cu;
|
|
/* 0285D0A0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0285D0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285D0A8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D0A8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285D0A8 */ if (_t9) goto L_0285D0E0; else goto L_0285D0AC;
|
|
L_0285D0AC: ; // 0x285d0ac
|
|
/* 0285D0AC */ _t10 = cpu->r[30] + 0x00000088u;
|
|
/* 0285D0AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285D0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285D0B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D0B4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285D0B4 */ if (_t12) goto L_0285D0D8; else goto L_0285D0B8;
|
|
L_0285D0B8: ; // 0x285d0b8
|
|
/* 0285D0B8 */ _t13 = cpu->r[29] + 0x00000004u;
|
|
/* 0285D0B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285D0BC */ _t14 = cpu->r[10] + 0x00000014u;
|
|
/* 0285D0BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285D0C0 */ cpu->ctr = cpu->r[0];
|
|
/* 0285D0C4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285D0C8 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285D0CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285D0D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285D0D4 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285D0D8: ; // 0x285d0d8
|
|
/* 0285D0D8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285D0DC */ _t15 = cpu->r[30] + 0x00000088u;
|
|
/* 0285D0DC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_0285D0E0: ; // 0x285d0e0
|
|
/* 0285D0E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285D0E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D0E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D0E4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285D0E4 */ if (_t17) goto L_0285D0F0; else goto L_0285D0E8;
|
|
L_0285D0E8: ; // 0x285d0e8
|
|
/* 0285D0E8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285D0EC */ Gambit_fn_02801BB0(cpu);
|
|
L_0285D0F0: ; // 0x285d0f0
|
|
/* 0285D0F0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D0F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285D0F4 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D0F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285D0F8 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D0F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285D0FC */ cpu->lr = cpu->r[0];
|
|
/* 0285D100 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285D104 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285D108 */ return;
|
|
}
|
|
|
|
// fn_0285D080 @ 0x285d080
|
|
void Gambit_fn_0285D080(CPUState* cpu) {
|
|
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_0285D080: ; // 0x285d080
|
|
/* 0285D080 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285D080 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D080 */ cpu->r[1] = _t0;
|
|
/* 0285D084 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D084 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285D088 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D088 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285D08C */ cpu->r[30] = cpu->r[3];
|
|
/* 0285D08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285D090 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285D094 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D094 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285D098 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D098 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285D09C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D09C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285D09C */ if (_t6) goto L_0285D0F0; else goto L_0285D0A0;
|
|
L_0285D0A0: ; // 0x285d0a0
|
|
/* 0285D0A0 */ _t7 = cpu->r[30] + 0x0000008Cu;
|
|
/* 0285D0A0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0285D0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285D0A8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D0A8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285D0A8 */ if (_t9) goto L_0285D0E0; else goto L_0285D0AC;
|
|
L_0285D0AC: ; // 0x285d0ac
|
|
/* 0285D0AC */ _t10 = cpu->r[30] + 0x00000088u;
|
|
/* 0285D0AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285D0B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285D0B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D0B4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285D0B4 */ if (_t12) goto L_0285D0D8; else goto L_0285D0B8;
|
|
L_0285D0B8: ; // 0x285d0b8
|
|
/* 0285D0B8 */ _t13 = cpu->r[29] + 0x00000004u;
|
|
/* 0285D0B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285D0BC */ _t14 = cpu->r[10] + 0x00000014u;
|
|
/* 0285D0BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285D0C0 */ cpu->ctr = cpu->r[0];
|
|
/* 0285D0C4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285D0C8 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285D0CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285D0D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285D0D4 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285D0D8: ; // 0x285d0d8
|
|
/* 0285D0D8 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285D0DC */ _t15 = cpu->r[30] + 0x00000088u;
|
|
/* 0285D0DC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
L_0285D0E0: ; // 0x285d0e0
|
|
/* 0285D0E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285D0E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D0E4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D0E4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285D0E4 */ if (_t17) goto L_0285D0F0; else goto L_0285D0E8;
|
|
L_0285D0E8: ; // 0x285d0e8
|
|
/* 0285D0E8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285D0EC */ Gambit_fn_02801BB0(cpu);
|
|
L_0285D0F0: ; // 0x285d0f0
|
|
/* 0285D0F0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D0F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285D0F4 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D0F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285D0F8 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D0F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285D0FC */ cpu->lr = cpu->r[0];
|
|
/* 0285D100 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285D104 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285D108 */ return;
|
|
}
|
|
|
|
// fn_0285D10C @ 0x285d10c
|
|
void Gambit_fn_0285D10C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0285D10C: ; // 0x285d10c
|
|
/* 0285D10C */ cpu->r[12] = 0x0000007Fu;
|
|
/* 0285D110 */ cpu->r[11] = cpu->r[3] + 0x00000008u;
|
|
/* 0285D114 */ cpu->ctr = cpu->r[12];
|
|
/* 0285D118 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_0285D11C: ; // 0x285d11c
|
|
/* 0285D11C */ _t0 = cpu->r[4] + 0x00000001u;
|
|
/* 0285D11C */ cpu->r[10] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0285D11C */ cpu->r[4] = _t0;
|
|
/* 0285D120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285D124 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D124 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285D124 */ if (_t2) goto L_0285D134; else goto L_0285D128;
|
|
L_0285D128: ; // 0x285d128
|
|
/* 0285D128 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 0285D128 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[10]);
|
|
/* 0285D12C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0285D130 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285D130 */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285D130 */ _t5 = _t4 >> (0x00000002u & 31u);
|
|
/* 0285D130 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285D130 */ if (_t6) goto L_0285D11C; else goto L_0285D134;
|
|
L_0285D134: ; // 0x285d134
|
|
/* 0285D134 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285D138 */ _t7 = cpu->r[11] + 0x00000000u;
|
|
/* 0285D138 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 0285D13C */ _t8 = cpu->r[3] + 0x00000088u;
|
|
/* 0285D13C */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 0285D140 */ _t9 = cpu->r[3] + 0x0000008Cu;
|
|
/* 0285D140 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[6]);
|
|
/* 0285D144 */ return;
|
|
}
|
|
|
|
// fn_0285D148 @ 0x285d148
|
|
void Gambit_fn_0285D148(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0285D148: ; // 0x285d148
|
|
/* 0285D148 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D14C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285D14C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D14C */ cpu->r[1] = _t0;
|
|
/* 0285D150 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D150 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285D154 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D154 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285D158 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285D15C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D15C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285D160 */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 0285D160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285D164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D168 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D168 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285D168 */ if (_t6) goto L_0285D1A4; else goto L_0285D16C;
|
|
L_0285D16C: ; // 0x285d16c
|
|
/* 0285D16C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0285D16C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285D170 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285D174 */ cpu->r[4] = cpu->r[31];
|
|
/* 0285D178 */ Gambit_fn_028541D4(cpu);
|
|
/* 0285D17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D180 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D180 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285D180 */ if (_t9) goto L_0285D198; else goto L_0285D184;
|
|
L_0285D184: ; // 0x285d184
|
|
/* 0285D184 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D188 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285D18C */ Gambit_fn_0285D07C(cpu);
|
|
/* 0285D190 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D194 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285D198: ; // 0x285d198
|
|
/* 0285D198 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 0285D198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285D19C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D1A0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D1A0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285D1A0 */ if (_t12) goto L_0285D1A4; else goto L_0285D16C;
|
|
L_0285D1A4: ; // 0x285d1a4
|
|
/* 0285D1A4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D1A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285D1A8 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D1A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285D1AC */ cpu->lr = cpu->r[0];
|
|
/* 0285D1B0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D1B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285D1B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285D1B8 */ return;
|
|
}
|
|
|
|
// fn_0285D14C @ 0x285d14c
|
|
void Gambit_fn_0285D14C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0285D14C: ; // 0x285d14c
|
|
/* 0285D14C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285D14C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D14C */ cpu->r[1] = _t0;
|
|
/* 0285D150 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D150 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285D154 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D154 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285D158 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285D15C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D15C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285D160 */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 0285D160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285D164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D168 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D168 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285D168 */ if (_t6) goto L_0285D1A4; else goto L_0285D16C;
|
|
L_0285D16C: ; // 0x285d16c
|
|
/* 0285D16C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0285D16C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285D170 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285D174 */ cpu->r[4] = cpu->r[31];
|
|
/* 0285D178 */ Gambit_fn_028541D4(cpu);
|
|
/* 0285D17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D180 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D180 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285D180 */ if (_t9) goto L_0285D198; else goto L_0285D184;
|
|
L_0285D184: ; // 0x285d184
|
|
/* 0285D184 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D188 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285D18C */ Gambit_fn_0285D07C(cpu);
|
|
/* 0285D190 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D194 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285D198: ; // 0x285d198
|
|
/* 0285D198 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 0285D198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285D19C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D1A0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D1A0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285D1A0 */ if (_t12) goto L_0285D1A4; else goto L_0285D16C;
|
|
L_0285D1A4: ; // 0x285d1a4
|
|
/* 0285D1A4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D1A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285D1A8 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D1A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285D1AC */ cpu->lr = cpu->r[0];
|
|
/* 0285D1B0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D1B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285D1B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285D1B8 */ return;
|
|
}
|
|
|
|
// fn_0285D1BC @ 0x285d1bc
|
|
void Gambit_fn_0285D1BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285D1BC: ; // 0x285d1bc
|
|
/* 0285D1BC */ cpu->r[0] = cpu->lr;
|
|
/* 0285D1C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285D1C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D1C0 */ cpu->r[1] = _t0;
|
|
/* 0285D1C4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D1C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285D1C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D1C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285D1CC */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D1D0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285D1D4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D1D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285D1D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D1D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285D1D8 */ if (_t5) goto L_0285D1F4; else goto L_0285D1DC;
|
|
L_0285D1DC: ; // 0x285d1dc
|
|
/* 0285D1DC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D1E0 */ Gambit_fn_0285D148(cpu);
|
|
/* 0285D1E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285D1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D1E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D1E8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285D1E8 */ if (_t7) goto L_0285D1F4; else goto L_0285D1EC;
|
|
L_0285D1EC: ; // 0x285d1ec
|
|
/* 0285D1EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D1F0 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285D1F4: ; // 0x285d1f4
|
|
/* 0285D1F4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D1F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285D1F8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D1F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285D1FC */ cpu->lr = cpu->r[0];
|
|
/* 0285D200 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D200 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285D204 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285D208 */ return;
|
|
}
|
|
|
|
// fn_0285D1C0 @ 0x285d1c0
|
|
void Gambit_fn_0285D1C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285D1C0: ; // 0x285d1c0
|
|
/* 0285D1C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285D1C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D1C0 */ cpu->r[1] = _t0;
|
|
/* 0285D1C4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D1C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285D1C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D1C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285D1CC */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D1D0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285D1D4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D1D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285D1D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D1D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285D1D8 */ if (_t5) goto L_0285D1F4; else goto L_0285D1DC;
|
|
L_0285D1DC: ; // 0x285d1dc
|
|
/* 0285D1DC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D1E0 */ Gambit_fn_0285D148(cpu);
|
|
/* 0285D1E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285D1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D1E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D1E8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285D1E8 */ if (_t7) goto L_0285D1F4; else goto L_0285D1EC;
|
|
L_0285D1EC: ; // 0x285d1ec
|
|
/* 0285D1EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D1F0 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285D1F4: ; // 0x285d1f4
|
|
/* 0285D1F4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D1F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285D1F8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D1F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285D1FC */ cpu->lr = cpu->r[0];
|
|
/* 0285D200 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D200 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285D204 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285D208 */ return;
|
|
}
|
|
|
|
// fn_0285D20C @ 0x285d20c
|
|
void Gambit_fn_0285D20C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285D20C: ; // 0x285d20c
|
|
/* 0285D20C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285D20C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D20C */ cpu->r[1] = _t0;
|
|
/* 0285D210 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D214 */ /* nop */
|
|
/* 0285D218 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285D21C */ cpu->r[27] = cpu->r[5];
|
|
/* 0285D220 */ cpu->r[4] = 0x00000004u;
|
|
/* 0285D224 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0285D224 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285D228 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285D22C */ cpu->r[3] = 0x00000090u;
|
|
/* 0285D230 */ cpu->r[28] = cpu->r[6];
|
|
/* 0285D234 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0285D238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D23C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D23C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285D23C */ if (_t3) goto L_0285D254; else goto L_0285D240;
|
|
L_0285D240: ; // 0x285d240
|
|
/* 0285D240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D244 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D244 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285D244 */ if (_t5) goto L_0285D254; else goto L_0285D248;
|
|
L_0285D248: ; // 0x285d248
|
|
/* 0285D248 */ Gambit_fn_0285D034(cpu);
|
|
/* 0285D24C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D250 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D250 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285D250 */ if (_t7) goto L_0285D254; else goto L_0285D26C;
|
|
L_0285D254: ; // 0x285d254
|
|
/* 0285D254 */ /* nop */
|
|
/* 0285D258 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 0285D258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285D25C */ cpu->lr = cpu->r[0];
|
|
/* 0285D260 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285D264 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285D268 */ return;
|
|
L_0285D26C: ; // 0x285d26c
|
|
/* 0285D26C */ cpu->r[6] = cpu->r[28];
|
|
/* 0285D270 */ cpu->r[5] = cpu->r[27];
|
|
/* 0285D274 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285D278 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D27C */ Gambit_fn_0285D10C(cpu);
|
|
/* 0285D280 */ cpu->r[0] = cpu->r[29] + 0x00000004u;
|
|
/* 0285D284 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285D288 */ cpu->r[5] = cpu->r[31];
|
|
/* 0285D28C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285D290 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D290 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0285D294 */ Gambit_fn_028541A8(cpu);
|
|
/* 0285D298 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D29C */ /* nop */
|
|
/* 0285D2A0 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 0285D2A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285D2A4 */ cpu->lr = cpu->r[0];
|
|
/* 0285D2A8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285D2AC */ return;
|
|
}
|
|
|
|
// fn_0285D2B0 @ 0x285d2b0
|
|
void Gambit_fn_0285D2B0(CPUState* cpu) {
|
|
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_0285D2B0: ; // 0x285d2b0
|
|
/* 0285D2B0 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D2B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285D2B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D2B4 */ cpu->r[1] = _t0;
|
|
/* 0285D2B8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D2B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285D2BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D2BC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285D2C0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D2C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285D2C4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D2C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285D2C8 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0285D2C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285D2CC */ cpu->r[29] = cpu->r[3] + 0x00000004u;
|
|
/* 0285D2D0 */ cpu->r[11] = cpu->r[30] ^ cpu->r[29];
|
|
/* 0285D2D4 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 0285D2D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285D2DC */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 0285D2E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285D2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D2E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285D2E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D2E8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285D2E8 */ if (_t7) goto L_0285D33C; else goto L_0285D2EC;
|
|
L_0285D2EC: ; // 0x285d2ec
|
|
/* 0285D2EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D2F0 */ cpu->r[4] = cpu->r[30] + 0x00000008u;
|
|
/* 0285D2F4 */ Gambit_fn_0285D35C(cpu);
|
|
/* 0285D2F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D2FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D2FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285D2FC */ if (_t9) goto L_0285D320; else goto L_0285D300;
|
|
L_0285D300: ; // 0x285d300
|
|
/* 0285D300 */ _t10 = cpu->r[30] + 0x00000088u;
|
|
/* 0285D300 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285D304 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D304 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285D308 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285D30C */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D30C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285D310 */ cpu->lr = cpu->r[0];
|
|
/* 0285D314 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D314 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285D318 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285D31C */ return;
|
|
L_0285D320: ; // 0x285d320
|
|
/* 0285D320 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 0285D320 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285D324 */ cpu->r[6] = cpu->r[30] ^ cpu->r[29];
|
|
/* 0285D328 */ cpu->r[0] = rbrew_clz32(cpu->r[6]);
|
|
/* 0285D32C */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285D330 */ cpu->r[8] = cpu->r[5] ^ 0x00000001u;
|
|
/* 0285D334 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285D334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285D338 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D338 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285D338 */ if (_t17) goto L_0285D33C; else goto L_0285D2EC;
|
|
L_0285D33C: ; // 0x285d33c
|
|
/* 0285D33C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D33C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285D340 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285D344 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D344 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285D348 */ cpu->lr = cpu->r[0];
|
|
/* 0285D34C */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D34C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285D350 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285D354 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285D358 */ return;
|
|
}
|
|
|
|
// fn_0285D2B4 @ 0x285d2b4
|
|
void Gambit_fn_0285D2B4(CPUState* cpu) {
|
|
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_0285D2B4: ; // 0x285d2b4
|
|
/* 0285D2B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285D2B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D2B4 */ cpu->r[1] = _t0;
|
|
/* 0285D2B8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D2B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285D2BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D2BC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285D2C0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D2C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285D2C4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D2C4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285D2C8 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0285D2C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285D2CC */ cpu->r[29] = cpu->r[3] + 0x00000004u;
|
|
/* 0285D2D0 */ cpu->r[11] = cpu->r[30] ^ cpu->r[29];
|
|
/* 0285D2D4 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 0285D2D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285D2DC */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 0285D2E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285D2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D2E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285D2E8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D2E8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285D2E8 */ if (_t7) goto L_0285D33C; else goto L_0285D2EC;
|
|
L_0285D2EC: ; // 0x285d2ec
|
|
/* 0285D2EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D2F0 */ cpu->r[4] = cpu->r[30] + 0x00000008u;
|
|
/* 0285D2F4 */ Gambit_fn_0285D35C(cpu);
|
|
/* 0285D2F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D2FC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D2FC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285D2FC */ if (_t9) goto L_0285D320; else goto L_0285D300;
|
|
L_0285D300: ; // 0x285d300
|
|
/* 0285D300 */ _t10 = cpu->r[30] + 0x00000088u;
|
|
/* 0285D300 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285D304 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D304 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285D308 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285D30C */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D30C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285D310 */ cpu->lr = cpu->r[0];
|
|
/* 0285D314 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D314 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285D318 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285D31C */ return;
|
|
L_0285D320: ; // 0x285d320
|
|
/* 0285D320 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 0285D320 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285D324 */ cpu->r[6] = cpu->r[30] ^ cpu->r[29];
|
|
/* 0285D328 */ cpu->r[0] = rbrew_clz32(cpu->r[6]);
|
|
/* 0285D32C */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285D330 */ cpu->r[8] = cpu->r[5] ^ 0x00000001u;
|
|
/* 0285D334 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285D334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285D338 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D338 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285D338 */ if (_t17) goto L_0285D33C; else goto L_0285D2EC;
|
|
L_0285D33C: ; // 0x285d33c
|
|
/* 0285D33C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D33C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285D340 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285D344 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D344 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285D348 */ cpu->lr = cpu->r[0];
|
|
/* 0285D34C */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D34C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285D350 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285D354 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285D358 */ return;
|
|
}
|
|
|
|
// fn_0285D35C @ 0x285d35c
|
|
void Gambit_fn_0285D35C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285D35C: ; // 0x285d35c
|
|
/* 0285D35C */ cpu->r[9] = 0x00000080u;
|
|
/* 0285D360 */ cpu->ctr = cpu->r[9];
|
|
/* 0285D364 */ cpu->r[12] = 0x00000000u;
|
|
L_0285D368: ; // 0x285d368
|
|
/* 0285D368 */ _t0 = cpu->r[3] + cpu->r[12];
|
|
/* 0285D368 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0285D36C */ _t1 = cpu->r[4] + cpu->r[12];
|
|
/* 0285D36C */ cpu->r[10] = rbrew_read8(cpu->mem, _t1);
|
|
/* 0285D370 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 0285D374 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D374 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285D374 */ if (_t3) goto L_0285D380; else goto L_0285D378;
|
|
L_0285D378: ; // 0x285d378
|
|
/* 0285D378 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285D37C */ return;
|
|
L_0285D380: ; // 0x285d380
|
|
/* 0285D380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D384 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D384 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285D384 */ if (_t5) goto L_0285D390; else goto L_0285D388;
|
|
L_0285D388: ; // 0x285d388
|
|
/* 0285D388 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0285D38C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285D38C */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285D38C */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 0285D38C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285D38C */ if (_t8) goto L_0285D368; else goto L_0285D390;
|
|
L_0285D390: ; // 0x285d390
|
|
/* 0285D390 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285D394 */ return;
|
|
}
|
|
|
|
// fn_0285D398 @ 0x285d398
|
|
void Gambit_fn_0285D398(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0285D398: ; // 0x285d398
|
|
/* 0285D398 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D39C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285D39C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D39C */ cpu->r[1] = _t0;
|
|
/* 0285D3A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D3A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285D3A4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D3A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285D3A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D3AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D3AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285D3B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D3B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285D3B0 */ if (_t5) goto L_0285D3B4; else goto L_0285D3C4;
|
|
L_0285D3B4: ; // 0x285d3b4
|
|
/* 0285D3B4 */ cpu->r[3] = 0x00000020u;
|
|
/* 0285D3B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285D3BC */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D3BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D3C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D3C0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285D3C0 */ if (_t7) goto L_0285D42C; else goto L_0285D3C4;
|
|
L_0285D3C4: ; // 0x285d3c4
|
|
/* 0285D3C4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285D3C8 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285D3CC */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0285D3CC */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0285D3D0 */ cpu->r[10] = cpu->r[10] + 0x00004D90u;
|
|
/* 0285D3D4 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 0285D3D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0285D3D8 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 0285D3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D3DC */ _t10 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285D3DC */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0285D3E0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D3E0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285D3E0 */ if (_t12) goto L_0285D3E4; else goto L_0285D3F4;
|
|
L_0285D3E4: ; // 0x285d3e4
|
|
/* 0285D3E4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285D3E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285D3EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D3F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D3F0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285D3F0 */ if (_t14) goto L_0285D41C; else goto L_0285D3F4;
|
|
L_0285D3F4: ; // 0x285d3f4
|
|
/* 0285D3F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D3F8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D3F8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285D3F8 */ if (_t16) goto L_0285D3FC; else goto L_0285D40C;
|
|
L_0285D3FC: ; // 0x285d3fc
|
|
/* 0285D3FC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285D400 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285D404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D408 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D408 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285D408 */ if (_t18) goto L_0285D41C; else goto L_0285D40C;
|
|
L_0285D40C: ; // 0x285d40c
|
|
/* 0285D40C */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 0285D410 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 0285D410 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 0285D414 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0285D414 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 0285D418 */ _t21 = cpu->r[12] + 0x00000000u;
|
|
/* 0285D418 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
L_0285D41C: ; // 0x285d41c
|
|
/* 0285D41C */ cpu->r[0] = 0x10130000u;
|
|
/* 0285D420 */ _t22 = cpu->r[31] + 0x00000018u;
|
|
/* 0285D420 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
|
|
/* 0285D424 */ cpu->r[0] = cpu->r[0] + 0x00004D8Cu;
|
|
/* 0285D428 */ _t23 = cpu->r[31] + 0x00000014u;
|
|
/* 0285D428 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_0285D42C: ; // 0x285d42c
|
|
/* 0285D42C */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285D430 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D434 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285D438 */ cpu->lr = cpu->r[0];
|
|
/* 0285D43C */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D43C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285D440 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285D444 */ return;
|
|
}
|
|
|
|
// fn_0285D39C @ 0x285d39c
|
|
void Gambit_fn_0285D39C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0285D39C: ; // 0x285d39c
|
|
/* 0285D39C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285D39C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D39C */ cpu->r[1] = _t0;
|
|
/* 0285D3A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D3A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285D3A4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D3A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285D3A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D3AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D3AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285D3B0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D3B0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285D3B0 */ if (_t5) goto L_0285D3B4; else goto L_0285D3C4;
|
|
L_0285D3B4: ; // 0x285d3b4
|
|
/* 0285D3B4 */ cpu->r[3] = 0x00000020u;
|
|
/* 0285D3B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285D3BC */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D3BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D3C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D3C0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285D3C0 */ if (_t7) goto L_0285D42C; else goto L_0285D3C4;
|
|
L_0285D3C4: ; // 0x285d3c4
|
|
/* 0285D3C4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285D3C8 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285D3CC */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0285D3CC */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0285D3D0 */ cpu->r[10] = cpu->r[10] + 0x00004D90u;
|
|
/* 0285D3D4 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 0285D3D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0285D3D8 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 0285D3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D3DC */ _t10 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285D3DC */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 0285D3E0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D3E0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285D3E0 */ if (_t12) goto L_0285D3E4; else goto L_0285D3F4;
|
|
L_0285D3E4: ; // 0x285d3e4
|
|
/* 0285D3E4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285D3E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285D3EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D3F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D3F0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285D3F0 */ if (_t14) goto L_0285D41C; else goto L_0285D3F4;
|
|
L_0285D3F4: ; // 0x285d3f4
|
|
/* 0285D3F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D3F8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D3F8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285D3F8 */ if (_t16) goto L_0285D3FC; else goto L_0285D40C;
|
|
L_0285D3FC: ; // 0x285d3fc
|
|
/* 0285D3FC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285D400 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285D404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D408 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D408 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285D408 */ if (_t18) goto L_0285D41C; else goto L_0285D40C;
|
|
L_0285D40C: ; // 0x285d40c
|
|
/* 0285D40C */ cpu->r[12] = cpu->r[3] + 0x00000004u;
|
|
/* 0285D410 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 0285D410 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 0285D414 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 0285D414 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 0285D418 */ _t21 = cpu->r[12] + 0x00000000u;
|
|
/* 0285D418 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
L_0285D41C: ; // 0x285d41c
|
|
/* 0285D41C */ cpu->r[0] = 0x10130000u;
|
|
/* 0285D420 */ _t22 = cpu->r[31] + 0x00000018u;
|
|
/* 0285D420 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
|
|
/* 0285D424 */ cpu->r[0] = cpu->r[0] + 0x00004D8Cu;
|
|
/* 0285D428 */ _t23 = cpu->r[31] + 0x00000014u;
|
|
/* 0285D428 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_0285D42C: ; // 0x285d42c
|
|
/* 0285D42C */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D42C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285D430 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D434 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D434 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285D438 */ cpu->lr = cpu->r[0];
|
|
/* 0285D43C */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D43C */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285D440 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285D444 */ return;
|
|
}
|
|
|
|
// fn_0285D448 @ 0x285d448
|
|
void Gambit_fn_0285D448(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0285D448: ; // 0x285d448
|
|
/* 0285D448 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D44C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285D44C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D44C */ cpu->r[1] = _t0;
|
|
/* 0285D450 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D450 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285D454 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285D458 */ cpu->r[4] = 0x00000004u;
|
|
/* 0285D45C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D45C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285D460 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D460 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285D464 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D464 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285D468 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285D46C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285D470 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0285D474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D478 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D478 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285D478 */ if (_t6) goto L_0285D4B8; else goto L_0285D47C;
|
|
L_0285D47C: ; // 0x285d47c
|
|
/* 0285D47C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D480 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D480 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285D480 */ if (_t8) goto L_0285D4B8; else goto L_0285D484;
|
|
L_0285D484: ; // 0x285d484
|
|
/* 0285D484 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 0285D488 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D48C */ Gambit_fn_02C89380(cpu);
|
|
/* 0285D490 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 0285D490 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0285D494 */ cpu->r[12] = 0x00000000u;
|
|
/* 0285D498 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0285D49C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0285D49C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0285D4A0 */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 0285D4A4 */ cpu->r[5] = cpu->r[31];
|
|
/* 0285D4A8 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0285D4A8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 0285D4AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285D4B0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D4B0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0285D4B4 */ Gambit_fn_028541A8(cpu);
|
|
L_0285D4B8: ; // 0x285d4b8
|
|
/* 0285D4B8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D4B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285D4BC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D4BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285D4C0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D4C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285D4C4 */ cpu->lr = cpu->r[0];
|
|
/* 0285D4C8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D4C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285D4CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285D4D0 */ return;
|
|
}
|
|
|
|
// fn_0285D44C @ 0x285d44c
|
|
void Gambit_fn_0285D44C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0285D44C: ; // 0x285d44c
|
|
/* 0285D44C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285D44C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D44C */ cpu->r[1] = _t0;
|
|
/* 0285D450 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D450 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285D454 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285D458 */ cpu->r[4] = 0x00000004u;
|
|
/* 0285D45C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D45C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285D460 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D460 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285D464 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D464 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285D468 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285D46C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285D470 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0285D474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D478 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D478 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285D478 */ if (_t6) goto L_0285D4B8; else goto L_0285D47C;
|
|
L_0285D47C: ; // 0x285d47c
|
|
/* 0285D47C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D480 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D480 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285D480 */ if (_t8) goto L_0285D4B8; else goto L_0285D484;
|
|
L_0285D484: ; // 0x285d484
|
|
/* 0285D484 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 0285D488 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D48C */ Gambit_fn_02C89380(cpu);
|
|
/* 0285D490 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 0285D490 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0285D494 */ cpu->r[12] = 0x00000000u;
|
|
/* 0285D498 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0285D49C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 0285D49C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0285D4A0 */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 0285D4A4 */ cpu->r[5] = cpu->r[31];
|
|
/* 0285D4A8 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0285D4A8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 0285D4AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285D4B0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D4B0 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0285D4B4 */ Gambit_fn_028541A8(cpu);
|
|
L_0285D4B8: ; // 0x285d4b8
|
|
/* 0285D4B8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D4B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285D4BC */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D4BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285D4C0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D4C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285D4C4 */ cpu->lr = cpu->r[0];
|
|
/* 0285D4C8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D4C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285D4CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285D4D0 */ return;
|
|
}
|
|
|
|
// fn_0285D4D4 @ 0x285d4d4
|
|
void Gambit_fn_0285D4D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_0285D4D4: ; // 0x285d4d4
|
|
/* 0285D4D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285D4D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D4D4 */ cpu->r[1] = _t0;
|
|
/* 0285D4D8 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D4DC */ /* nop */
|
|
/* 0285D4E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285D4E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285D4E4 */ cpu->r[28] = cpu->r[4];
|
|
/* 0285D4E8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0285D4E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285D4EC */ cpu->r[29] = cpu->r[5];
|
|
/* 0285D4F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D4F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285D4F0 */ if (_t3) goto L_0285D4F4; else goto L_0285D504;
|
|
L_0285D4F4: ; // 0x285d4f4
|
|
/* 0285D4F4 */ cpu->r[3] = 0x00000020u;
|
|
/* 0285D4F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285D4FC */ cpu->r[30] = cpu->r[3];
|
|
/* 0285D4FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285D500 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D500 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285D500 */ if (_t5) goto L_0285D5BC; else goto L_0285D504;
|
|
L_0285D504: ; // 0x285d504
|
|
/* 0285D504 */ cpu->r[31] = 0x00000000u;
|
|
/* 0285D508 */ cpu->r[9] = 0x10130000u;
|
|
/* 0285D50C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 0285D50C */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 0285D510 */ cpu->r[9] = cpu->r[9] + 0x00004D90u;
|
|
/* 0285D514 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0285D514 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 0285D518 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 0285D518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D51C */ _t8 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285D51C */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 0285D520 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D520 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285D520 */ if (_t10) goto L_0285D524; else goto L_0285D534;
|
|
L_0285D524: ; // 0x285d524
|
|
/* 0285D524 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285D528 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285D52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D530 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D530 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285D530 */ if (_t12) goto L_0285D55C; else goto L_0285D534;
|
|
L_0285D534: ; // 0x285d534
|
|
/* 0285D534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D538 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D538 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285D538 */ if (_t14) goto L_0285D53C; else goto L_0285D54C;
|
|
L_0285D53C: ; // 0x285d53c
|
|
/* 0285D53C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285D540 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285D544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D548 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D548 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285D548 */ if (_t16) goto L_0285D55C; else goto L_0285D54C;
|
|
L_0285D54C: ; // 0x285d54c
|
|
/* 0285D54C */ cpu->r[6] = cpu->r[3] + 0x00000004u;
|
|
/* 0285D550 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 0285D550 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 0285D554 */ _t18 = cpu->r[6] + 0x00000004u;
|
|
/* 0285D554 */ rbrew_write32(cpu->mem, _t18, cpu->r[6]);
|
|
/* 0285D558 */ _t19 = cpu->r[6] + 0x00000000u;
|
|
/* 0285D558 */ rbrew_write32(cpu->mem, _t19, cpu->r[6]);
|
|
L_0285D55C: ; // 0x285d55c
|
|
/* 0285D55C */ _t20 = cpu->r[30] + 0x00000018u;
|
|
/* 0285D55C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[31]);
|
|
/* 0285D560 */ cpu->r[10] = cpu->r[28] + 0x00000008u;
|
|
/* 0285D564 */ _t21 = cpu->r[30] + 0x00000014u;
|
|
/* 0285D564 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 0285D568 */ _t22 = cpu->r[28] + 0x0000002Au;
|
|
/* 0285D568 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22);
|
|
/* 0285D56C */ cpu->r[27] = 0x00000000u;
|
|
/* 0285D570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]);
|
|
/* 0285D574 */ cpu->r[31] = cpu->r[28] + 0x0000002Cu;
|
|
/* 0285D578 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285D578 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0285D578 */ if (_t24) goto L_0285D57C; else goto L_0285D5BC;
|
|
L_0285D57C: ; // 0x285d57c
|
|
/* 0285D57C */ _t25 = cpu->r[29] + 0x00000008u;
|
|
/* 0285D57C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285D580 */ _t26 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0285D580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285D584 */ cpu->ctr = cpu->r[0];
|
|
/* 0285D588 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285D58C */ cpu->r[4] = cpu->r[31];
|
|
/* 0285D590 */ cpu->r[5] = 0x00000001u;
|
|
/* 0285D594 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285D598 */ cpu->r[4] = cpu->r[3];
|
|
/* 0285D598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285D59C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D59C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0285D59C */ if (_t28) goto L_0285D5A8; else goto L_0285D5A0;
|
|
L_0285D5A0: ; // 0x285d5a0
|
|
/* 0285D5A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285D5A4 */ Gambit_fn_0285D448(cpu);
|
|
L_0285D5A8: ; // 0x285d5a8
|
|
/* 0285D5A8 */ _t29 = cpu->r[28] + 0x0000002Au;
|
|
/* 0285D5A8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t29);
|
|
/* 0285D5AC */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0285D5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]);
|
|
/* 0285D5B4 */ cpu->r[31] = cpu->r[31] + 0x00000018u;
|
|
/* 0285D5B8 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285D5B8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0285D5B8 */ if (_t31) goto L_0285D57C; else goto L_0285D5BC;
|
|
L_0285D5BC: ; // 0x285d5bc
|
|
/* 0285D5BC */ cpu->r[3] = cpu->r[30];
|
|
/* 0285D5C0 */ /* nop */
|
|
/* 0285D5C4 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 0285D5C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0285D5C8 */ cpu->lr = cpu->r[0];
|
|
/* 0285D5CC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285D5D0 */ return;
|
|
}
|
|
|
|
// fn_0285D5D4 @ 0x285d5d4
|
|
void Gambit_fn_0285D5D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0285D5D4: ; // 0x285d5d4
|
|
/* 0285D5D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285D5D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D5D4 */ cpu->r[1] = _t0;
|
|
/* 0285D5D8 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D5DC */ /* nop */
|
|
/* 0285D5E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285D5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285D5E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285D5E8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0285D5E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285D5EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D5EC */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285D5EC */ if (_t3) goto L_0285D66C; else goto L_0285D5F0;
|
|
L_0285D5F0: ; // 0x285d5f0
|
|
/* 0285D5F0 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285D5F0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285D5F4 */ cpu->r[29] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285D5F8 */ cpu->r[6] = cpu->r[27] ^ cpu->r[29];
|
|
/* 0285D5FC */ cpu->r[0] = rbrew_clz32(cpu->r[6]);
|
|
/* 0285D600 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285D604 */ cpu->r[11] = 0x10130000u;
|
|
/* 0285D608 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 0285D60C */ cpu->r[11] = cpu->r[11] + 0x00004D90u;
|
|
/* 0285D610 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285D610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D614 */ _t5 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285D614 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0285D618 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D618 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285D618 */ if (_t7) goto L_0285D65C; else goto L_0285D61C;
|
|
L_0285D61C: ; // 0x285d61c
|
|
/* 0285D61C */ cpu->r[28] = cpu->r[27];
|
|
/* 0285D620 */ _t8 = cpu->r[27] + 0x00000000u;
|
|
/* 0285D620 */ cpu->r[27] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285D624 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 0285D628 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285D62C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D62C */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
/* 0285D630 */ Gambit_fn_02854250(cpu);
|
|
/* 0285D634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0285D638 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D638 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285D638 */ if (_t11) goto L_0285D644; else goto L_0285D63C;
|
|
L_0285D63C: ; // 0x285d63c
|
|
/* 0285D63C */ cpu->r[3] = cpu->r[28];
|
|
/* 0285D640 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285D644: ; // 0x285d644
|
|
/* 0285D644 */ cpu->r[0] = cpu->r[27] ^ cpu->r[29];
|
|
/* 0285D648 */ cpu->r[10] = rbrew_clz32(cpu->r[0]);
|
|
/* 0285D64C */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285D650 */ cpu->r[11] = cpu->r[0] ^ 0x00000001u;
|
|
/* 0285D654 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285D654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285D658 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D658 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285D658 */ if (_t13) goto L_0285D65C; else goto L_0285D61C;
|
|
L_0285D65C: ; // 0x285d65c
|
|
/* 0285D65C */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285D65C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285D660 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D660 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285D660 */ if (_t15) goto L_0285D66C; else goto L_0285D664;
|
|
L_0285D664: ; // 0x285d664
|
|
/* 0285D664 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285D668 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285D66C: ; // 0x285d66c
|
|
/* 0285D66C */ /* nop */
|
|
/* 0285D670 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 0285D670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285D674 */ cpu->lr = cpu->r[0];
|
|
/* 0285D678 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285D67C */ return;
|
|
}
|
|
|
|
// fn_0285D680 @ 0x285d680
|
|
void Gambit_fn_0285D680(CPUState* 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_0285D680: ; // 0x285d680
|
|
/* 0285D680 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285D680 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D680 */ cpu->r[1] = _t0;
|
|
/* 0285D684 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D688 */ /* nop */
|
|
/* 0285D68C */ cpu->r[28] = cpu->r[3];
|
|
/* 0285D68C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0285D690 */ cpu->r[27] = cpu->r[4];
|
|
/* 0285D694 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0285D694 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285D698 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D698 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285D698 */ if (_t3) goto L_0285D730; else goto L_0285D69C;
|
|
L_0285D69C: ; // 0x285d69c
|
|
/* 0285D69C */ _t4 = cpu->r[28] + 0x00000004u;
|
|
/* 0285D69C */ cpu->r[29] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285D6A0 */ cpu->r[30] = cpu->r[28] + 0x00000004u;
|
|
/* 0285D6A4 */ cpu->r[0] = cpu->r[29] ^ cpu->r[30];
|
|
/* 0285D6A8 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 0285D6AC */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285D6B0 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u;
|
|
/* 0285D6B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285D6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D6B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D6B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285D6B8 */ if (_t6) goto L_0285D720; else goto L_0285D6BC;
|
|
L_0285D6BC: ; // 0x285d6bc
|
|
/* 0285D6BC */ cpu->r[31] = cpu->r[29];
|
|
/* 0285D6C0 */ _t7 = cpu->r[29] + 0x00000000u;
|
|
/* 0285D6C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285D6C4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285D6C8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285D6CC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D6CC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 0285D6D0 */ Gambit_fn_02854250(cpu);
|
|
/* 0285D6D4 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 0285D6D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 0285D6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D6DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D6DC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285D6DC */ if (_t11) goto L_0285D6E0; else goto L_0285D708;
|
|
L_0285D6E0: ; // 0x285d6e0
|
|
/* 0285D6E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D6E4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D6E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285D6E4 */ if (_t13) goto L_0285D708; else goto L_0285D6E8;
|
|
L_0285D6E8: ; // 0x285d6e8
|
|
/* 0285D6E8 */ _t14 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285D6E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285D6EC */ _t15 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0285D6EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285D6F0 */ cpu->ctr = cpu->r[0];
|
|
/* 0285D6F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D6F8 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285D6FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285D700 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D704 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285D708: ; // 0x285d708
|
|
/* 0285D708 */ cpu->r[9] = cpu->r[29] ^ cpu->r[30];
|
|
/* 0285D70C */ cpu->r[10] = rbrew_clz32(cpu->r[9]);
|
|
/* 0285D710 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285D714 */ cpu->r[12] = cpu->r[0] ^ 0x00000001u;
|
|
/* 0285D718 */ cpu->r[7] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285D718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285D71C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D71C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285D71C */ if (_t17) goto L_0285D720; else goto L_0285D6BC;
|
|
L_0285D720: ; // 0x285d720
|
|
/* 0285D720 */ cpu->r[9] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285D720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285D724 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D724 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285D724 */ if (_t19) goto L_0285D730; else goto L_0285D728;
|
|
L_0285D728: ; // 0x285d728
|
|
/* 0285D728 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285D72C */ Gambit_fn_02801BB0(cpu);
|
|
L_0285D730: ; // 0x285d730
|
|
/* 0285D730 */ /* nop */
|
|
/* 0285D734 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 0285D734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285D738 */ cpu->lr = cpu->r[0];
|
|
/* 0285D73C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285D740 */ return;
|
|
}
|
|
|
|
// fn_0285D744 @ 0x285d744
|
|
void Gambit_fn_0285D744(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0285D744: ; // 0x285d744
|
|
/* 0285D744 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D748 */ cpu->r[5] = cpu->r[4];
|
|
/* 0285D74C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285D74C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0285D750 */ cpu->r[0] = cpu->r[3] + 0x00000004u;
|
|
/* 0285D754 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285D754 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0285D754 */ cpu->r[1] = _t1;
|
|
/* 0285D758 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285D75C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D75C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285D760 */ Gambit_fn_028541A8(cpu);
|
|
/* 0285D764 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285D768 */ cpu->lr = cpu->r[0];
|
|
/* 0285D76C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285D770 */ return;
|
|
}
|
|
|
|
// fn_0285D754 @ 0x285d754
|
|
void Gambit_fn_0285D754(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0285D754: ; // 0x285d754
|
|
/* 0285D754 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285D754 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D754 */ cpu->r[1] = _t0;
|
|
/* 0285D758 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285D75C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D75C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285D760 */ Gambit_fn_028541A8(cpu);
|
|
/* 0285D764 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0285D768 */ cpu->lr = cpu->r[0];
|
|
/* 0285D76C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285D770 */ return;
|
|
}
|
|
|
|
// fn_0285D774 @ 0x285d774
|
|
void Gambit_fn_0285D774(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0285D774: ; // 0x285d774
|
|
/* 0285D774 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D778 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285D778 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D778 */ cpu->r[1] = _t0;
|
|
/* 0285D77C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D77C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0285D780 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D780 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285D784 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D784 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285D788 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D788 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285D78C */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0285D78C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285D790 */ cpu->r[29] = cpu->r[3] + 0x00000004u;
|
|
/* 0285D794 */ cpu->r[11] = cpu->r[31] ^ cpu->r[29];
|
|
/* 0285D798 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 0285D79C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285D7A0 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 0285D7A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285D7A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D7A8 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285D7AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D7AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285D7AC */ if (_t7) goto L_0285D7E0; else goto L_0285D7B0;
|
|
L_0285D7B0: ; // 0x285d7b0
|
|
/* 0285D7B0 */ _t8 = cpu->r[31] + 0x00000014u;
|
|
/* 0285D7B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285D7B4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285D7B8 */ Gambit_fn_0285D804(cpu);
|
|
/* 0285D7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D7C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D7C0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285D7C0 */ if (_t10) goto L_0285D7C4; else goto L_0285D7E4;
|
|
L_0285D7C4: ; // 0x285d7c4
|
|
/* 0285D7C4 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0285D7C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285D7C8 */ cpu->r[11] = cpu->r[31] ^ cpu->r[29];
|
|
/* 0285D7CC */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 0285D7D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285D7D4 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 0285D7D8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285D7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285D7DC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D7DC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285D7DC */ if (_t13) goto L_0285D7E0; else goto L_0285D7B0;
|
|
L_0285D7E0: ; // 0x285d7e0
|
|
/* 0285D7E0 */ cpu->r[31] = 0x00000000u;
|
|
L_0285D7E4: ; // 0x285d7e4
|
|
/* 0285D7E4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D7E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285D7E8 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285D7EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D7F0 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D7F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285D7F4 */ cpu->lr = cpu->r[0];
|
|
/* 0285D7F8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D7F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285D7FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285D800 */ return;
|
|
}
|
|
|
|
// fn_0285D778 @ 0x285d778
|
|
void Gambit_fn_0285D778(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_0285D778: ; // 0x285d778
|
|
/* 0285D778 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285D778 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D778 */ cpu->r[1] = _t0;
|
|
/* 0285D77C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D77C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0285D780 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D780 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285D784 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D784 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285D788 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D788 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285D78C */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0285D78C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285D790 */ cpu->r[29] = cpu->r[3] + 0x00000004u;
|
|
/* 0285D794 */ cpu->r[11] = cpu->r[31] ^ cpu->r[29];
|
|
/* 0285D798 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 0285D79C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285D7A0 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 0285D7A4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285D7A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D7A8 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285D7AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D7AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285D7AC */ if (_t7) goto L_0285D7E0; else goto L_0285D7B0;
|
|
L_0285D7B0: ; // 0x285d7b0
|
|
/* 0285D7B0 */ _t8 = cpu->r[31] + 0x00000014u;
|
|
/* 0285D7B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285D7B4 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285D7B8 */ Gambit_fn_0285D804(cpu);
|
|
/* 0285D7BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D7C0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D7C0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285D7C0 */ if (_t10) goto L_0285D7C4; else goto L_0285D7E4;
|
|
L_0285D7C4: ; // 0x285d7c4
|
|
/* 0285D7C4 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0285D7C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285D7C8 */ cpu->r[11] = cpu->r[31] ^ cpu->r[29];
|
|
/* 0285D7CC */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 0285D7D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285D7D4 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 0285D7D8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285D7D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285D7DC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D7DC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285D7DC */ if (_t13) goto L_0285D7E0; else goto L_0285D7B0;
|
|
L_0285D7E0: ; // 0x285d7e0
|
|
/* 0285D7E0 */ cpu->r[31] = 0x00000000u;
|
|
L_0285D7E4: ; // 0x285d7e4
|
|
/* 0285D7E4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D7E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285D7E8 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285D7EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D7F0 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D7F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285D7F4 */ cpu->lr = cpu->r[0];
|
|
/* 0285D7F8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D7F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285D7FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285D800 */ return;
|
|
}
|
|
|
|
// fn_0285D804 @ 0x285d804
|
|
void Gambit_fn_0285D804(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285D804: ; // 0x285d804
|
|
/* 0285D804 */ cpu->r[9] = 0x00000020u;
|
|
/* 0285D808 */ cpu->ctr = cpu->r[9];
|
|
/* 0285D80C */ cpu->r[12] = 0x00000000u;
|
|
L_0285D810: ; // 0x285d810
|
|
/* 0285D810 */ _t0 = cpu->r[3] + cpu->r[12];
|
|
/* 0285D810 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0285D814 */ _t1 = cpu->r[4] + cpu->r[12];
|
|
/* 0285D814 */ cpu->r[10] = rbrew_read8(cpu->mem, _t1);
|
|
/* 0285D818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 0285D81C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D81C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285D81C */ if (_t3) goto L_0285D828; else goto L_0285D820;
|
|
L_0285D820: ; // 0x285d820
|
|
/* 0285D820 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285D824 */ return;
|
|
L_0285D828: ; // 0x285d828
|
|
/* 0285D828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D82C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D82C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285D82C */ if (_t5) goto L_0285D838; else goto L_0285D830;
|
|
L_0285D830: ; // 0x285d830
|
|
/* 0285D830 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0285D834 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285D834 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285D834 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 0285D834 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285D834 */ if (_t8) goto L_0285D810; else goto L_0285D838;
|
|
L_0285D838: ; // 0x285d838
|
|
/* 0285D838 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285D83C */ return;
|
|
}
|
|
|
|
// fn_0285D840 @ 0x285d840
|
|
void Gambit_fn_0285D840(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0285D840: ; // 0x285d840
|
|
/* 0285D840 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D844 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285D844 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D844 */ cpu->r[1] = _t0;
|
|
/* 0285D848 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D848 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285D84C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D850 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0285D854 */ cpu->r[3] = cpu->r[3] + 0xFFFFC540u;
|
|
/* 0285D858 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D858 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285D85C */ _t3 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0285D85C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285D85C */ if (_t4) goto L_0285D860; // else: addr-0 trap, fall-through
|
|
L_0285D860: ; // 0x285d860
|
|
/* 0285D860 */ Gambit_fn_02C6AD08(cpu);
|
|
/* 0285D864 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D868 */ Gambit_fn_02869E80(cpu);
|
|
/* 0285D86C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D86C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285D870 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285D874 */ cpu->lr = cpu->r[0];
|
|
/* 0285D878 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285D87C */ return;
|
|
}
|
|
|
|
// fn_0285D844 @ 0x285d844
|
|
void Gambit_fn_0285D844(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0285D844: ; // 0x285d844
|
|
/* 0285D844 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285D844 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D844 */ cpu->r[1] = _t0;
|
|
/* 0285D848 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D848 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285D84C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D850 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0285D854 */ cpu->r[3] = cpu->r[3] + 0xFFFFC540u;
|
|
/* 0285D858 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D858 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285D85C */ _t3 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0285D85C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285D85C */ if (_t4) goto L_0285D860; // else: addr-0 trap, fall-through
|
|
L_0285D860: ; // 0x285d860
|
|
/* 0285D860 */ Gambit_fn_02C6AD08(cpu);
|
|
/* 0285D864 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D868 */ Gambit_fn_02869E80(cpu);
|
|
/* 0285D86C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D86C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285D870 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285D874 */ cpu->lr = cpu->r[0];
|
|
/* 0285D878 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285D87C */ return;
|
|
}
|
|
|
|
// fn_0285D880 @ 0x285d880
|
|
void Gambit_fn_0285D880(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0285D880: ; // 0x285d880
|
|
/* 0285D880 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D884 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285D884 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D884 */ cpu->r[1] = _t0;
|
|
/* 0285D888 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D888 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285D88C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D88C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285D890 */ cpu->r[30] = cpu->r[6];
|
|
/* 0285D894 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D898 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D898 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285D89C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D89C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285D8A0 */ cpu->r[29] = cpu->r[4];
|
|
/* 0285D8A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D8A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285D8A4 */ if (_t6) goto L_0285D8A8; else goto L_0285D8B8;
|
|
L_0285D8A8: ; // 0x285d8a8
|
|
/* 0285D8A8 */ cpu->r[3] = 0x000000B0u;
|
|
/* 0285D8AC */ Gambit_fn_02801A78(cpu);
|
|
/* 0285D8B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D8B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D8B4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285D8B4 */ if (_t8) goto L_0285D8E4; else goto L_0285D8B8;
|
|
L_0285D8B8: ; // 0x285d8b8
|
|
/* 0285D8B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D8BC */ cpu->r[4] = cpu->r[29];
|
|
/* 0285D8C0 */ cpu->r[5] = cpu->r[30];
|
|
/* 0285D8C4 */ Gambit_fn_0285F268(cpu);
|
|
/* 0285D8C8 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285D8CC */ cpu->r[12] = 0x00000000u;
|
|
/* 0285D8D0 */ cpu->r[0] = cpu->r[0] + 0x00004DA0u;
|
|
/* 0285D8D4 */ _t9 = cpu->r[31] + 0x000000ACu;
|
|
/* 0285D8D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 0285D8D8 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 0285D8D8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0285D8DC */ _t11 = cpu->r[31] + 0x000000A4u;
|
|
/* 0285D8DC */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 0285D8E0 */ _t12 = cpu->r[31] + 0x000000A8u;
|
|
/* 0285D8E0 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
L_0285D8E4: ; // 0x285d8e4
|
|
/* 0285D8E4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D8E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285D8E8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D8E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285D8EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D8F0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D8F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285D8F4 */ cpu->lr = cpu->r[0];
|
|
/* 0285D8F8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D8F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285D8FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285D900 */ return;
|
|
}
|
|
|
|
// fn_0285D884 @ 0x285d884
|
|
void Gambit_fn_0285D884(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0285D884: ; // 0x285d884
|
|
/* 0285D884 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285D884 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D884 */ cpu->r[1] = _t0;
|
|
/* 0285D888 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D888 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285D88C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D88C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285D890 */ cpu->r[30] = cpu->r[6];
|
|
/* 0285D894 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D898 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D898 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285D89C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D89C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285D8A0 */ cpu->r[29] = cpu->r[4];
|
|
/* 0285D8A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D8A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285D8A4 */ if (_t6) goto L_0285D8A8; else goto L_0285D8B8;
|
|
L_0285D8A8: ; // 0x285d8a8
|
|
/* 0285D8A8 */ cpu->r[3] = 0x000000B0u;
|
|
/* 0285D8AC */ Gambit_fn_02801A78(cpu);
|
|
/* 0285D8B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D8B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D8B4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285D8B4 */ if (_t8) goto L_0285D8E4; else goto L_0285D8B8;
|
|
L_0285D8B8: ; // 0x285d8b8
|
|
/* 0285D8B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D8BC */ cpu->r[4] = cpu->r[29];
|
|
/* 0285D8C0 */ cpu->r[5] = cpu->r[30];
|
|
/* 0285D8C4 */ Gambit_fn_0285F268(cpu);
|
|
/* 0285D8C8 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285D8CC */ cpu->r[12] = 0x00000000u;
|
|
/* 0285D8D0 */ cpu->r[0] = cpu->r[0] + 0x00004DA0u;
|
|
/* 0285D8D4 */ _t9 = cpu->r[31] + 0x000000ACu;
|
|
/* 0285D8D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 0285D8D8 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 0285D8D8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0285D8DC */ _t11 = cpu->r[31] + 0x000000A4u;
|
|
/* 0285D8DC */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 0285D8E0 */ _t12 = cpu->r[31] + 0x000000A8u;
|
|
/* 0285D8E0 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
L_0285D8E4: ; // 0x285d8e4
|
|
/* 0285D8E4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D8E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285D8E8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285D8E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285D8EC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D8F0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0285D8F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285D8F4 */ cpu->lr = cpu->r[0];
|
|
/* 0285D8F8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D8F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285D8FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285D900 */ return;
|
|
}
|
|
|
|
// fn_0285D904 @ 0x285d904
|
|
void Gambit_fn_0285D904(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285D904: ; // 0x285d904
|
|
/* 0285D904 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D908 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285D908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D908 */ cpu->r[1] = _t0;
|
|
/* 0285D90C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D90C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285D910 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D910 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285D914 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D918 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285D91C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D91C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285D920 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D920 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285D920 */ if (_t5) goto L_0285D940; else goto L_0285D924;
|
|
L_0285D924: ; // 0x285d924
|
|
/* 0285D924 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D928 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285D92C */ Gambit_fn_0285F770(cpu);
|
|
/* 0285D930 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285D930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D934 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D934 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285D934 */ if (_t7) goto L_0285D940; else goto L_0285D938;
|
|
L_0285D938: ; // 0x285d938
|
|
/* 0285D938 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D93C */ Gambit_fn_02801BB0(cpu);
|
|
L_0285D940: ; // 0x285d940
|
|
/* 0285D940 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285D944 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285D948 */ cpu->lr = cpu->r[0];
|
|
/* 0285D94C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D94C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285D950 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285D954 */ return;
|
|
}
|
|
|
|
// fn_0285D908 @ 0x285d908
|
|
void Gambit_fn_0285D908(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285D908: ; // 0x285d908
|
|
/* 0285D908 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285D908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D908 */ cpu->r[1] = _t0;
|
|
/* 0285D90C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D90C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285D910 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D910 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285D914 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D918 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285D91C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D91C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285D920 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D920 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285D920 */ if (_t5) goto L_0285D940; else goto L_0285D924;
|
|
L_0285D924: ; // 0x285d924
|
|
/* 0285D924 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D928 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285D92C */ Gambit_fn_0285F770(cpu);
|
|
/* 0285D930 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285D930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285D934 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D934 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285D934 */ if (_t7) goto L_0285D940; else goto L_0285D938;
|
|
L_0285D938: ; // 0x285d938
|
|
/* 0285D938 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D93C */ Gambit_fn_02801BB0(cpu);
|
|
L_0285D940: ; // 0x285d940
|
|
/* 0285D940 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285D944 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285D948 */ cpu->lr = cpu->r[0];
|
|
/* 0285D94C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D94C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285D950 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285D954 */ return;
|
|
}
|
|
|
|
// fn_0285D958 @ 0x285d958
|
|
void Gambit_fn_0285D958(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285D958: ; // 0x285d958
|
|
/* 0285D958 */ cpu->r[0] = cpu->lr;
|
|
/* 0285D95C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285D95C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D95C */ cpu->r[1] = _t0;
|
|
/* 0285D960 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D960 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285D964 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285D968 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D968 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285D96C */ cpu->r[3] = cpu->r[30] + 0x00000080u;
|
|
/* 0285D970 */ cpu->r[31] = 0x00000000u;
|
|
/* 0285D974 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D974 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285D978 */ Gambit_fn_0285B800(cpu);
|
|
/* 0285D97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D980 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D980 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285D980 */ if (_t5) goto L_0285D988; else goto L_0285D984;
|
|
L_0285D984: ; // 0x285d984
|
|
/* 0285D984 */ cpu->r[31] = cpu->r[30];
|
|
L_0285D988: ; // 0x285d988
|
|
/* 0285D988 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285D98C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D990 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D990 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285D994 */ cpu->lr = cpu->r[0];
|
|
/* 0285D998 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D998 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285D99C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285D9A0 */ return;
|
|
}
|
|
|
|
// fn_0285D95C @ 0x285d95c
|
|
void Gambit_fn_0285D95C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285D95C: ; // 0x285d95c
|
|
/* 0285D95C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285D95C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D95C */ cpu->r[1] = _t0;
|
|
/* 0285D960 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D960 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285D964 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285D968 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D968 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285D96C */ cpu->r[3] = cpu->r[30] + 0x00000080u;
|
|
/* 0285D970 */ cpu->r[31] = 0x00000000u;
|
|
/* 0285D974 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D974 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285D978 */ Gambit_fn_0285B800(cpu);
|
|
/* 0285D97C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285D980 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D980 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285D980 */ if (_t5) goto L_0285D988; else goto L_0285D984;
|
|
L_0285D984: ; // 0x285d984
|
|
/* 0285D984 */ cpu->r[31] = cpu->r[30];
|
|
L_0285D988: ; // 0x285d988
|
|
/* 0285D988 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0285D988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285D98C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285D990 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285D990 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285D994 */ cpu->lr = cpu->r[0];
|
|
/* 0285D998 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0285D998 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285D99C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285D9A0 */ return;
|
|
}
|
|
|
|
// fn_0285D9A4 @ 0x285d9a4
|
|
void Gambit_fn_0285D9A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0285D9A4: ; // 0x285d9a4
|
|
/* 0285D9A4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285D9A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285D9A4 */ cpu->r[1] = _t0;
|
|
/* 0285D9A8 */ /* nop */
|
|
/* 0285D9AC */ cpu->r[0] = cpu->lr;
|
|
/* 0285D9B0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0285D9B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285D9B4 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 0285D9B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0285D9B8 */ _t3 = cpu->r[10] + 0x00000054u;
|
|
/* 0285D9B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285D9BC */ cpu->ctr = cpu->r[11];
|
|
/* 0285D9C0 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285D9C4 */ cpu->r[28] = cpu->r[3];
|
|
/* 0285D9C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285D9CC */ cpu->r[27] = cpu->r[3];
|
|
/* 0285D9CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0285D9D0 */ cpu->r[29] = 0x00000000u;
|
|
/* 0285D9D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D9D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285D9D4 */ if (_t5) goto L_0285DA18; else goto L_0285D9D8;
|
|
L_0285D9D8: ; // 0x285d9d8
|
|
/* 0285D9D8 */ _t6 = cpu->r[28] + 0x00000008u;
|
|
/* 0285D9D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285D9DC */ _t7 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0285D9DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285D9E0 */ cpu->ctr = cpu->r[0];
|
|
/* 0285D9E4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285D9E8 */ cpu->r[4] = cpu->r[29];
|
|
/* 0285D9EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285D9F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285D9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285D9F4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285D9F4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285D9F4 */ if (_t9) goto L_0285DA0C; else goto L_0285D9F8;
|
|
L_0285D9F8: ; // 0x285d9f8
|
|
/* 0285D9F8 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 0285D9F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285D9FC */ cpu->r[4] = cpu->r[30];
|
|
/* 0285DA00 */ Gambit_fn_0285B83C(cpu);
|
|
/* 0285DA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285DA08 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DA08 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285DA08 */ if (_t12) goto L_0285DA0C; else goto L_0285DA1C;
|
|
L_0285DA0C: ; // 0x285da0c
|
|
/* 0285DA0C */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 0285DA0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0285DA10 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0285DA14 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DA14 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285DA14 */ if (_t14) goto L_0285DA18; else goto L_0285D9D8;
|
|
L_0285DA18: ; // 0x285da18
|
|
/* 0285DA18 */ cpu->r[31] = 0x00000000u;
|
|
L_0285DA1C: ; // 0x285da1c
|
|
/* 0285DA1C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285DA20 */ /* nop */
|
|
/* 0285DA24 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 0285DA24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285DA28 */ cpu->lr = cpu->r[0];
|
|
/* 0285DA2C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285DA30 */ return;
|
|
}
|
|
|
|
// fn_0285DA34 @ 0x285da34
|
|
void Gambit_fn_0285DA34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285DA34: ; // 0x285da34
|
|
/* 0285DA34 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0285DA38 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0285DA3C */ _t0 = cpu->r[11] + 0xFFFFD7F4u;
|
|
/* 0285DA3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285DA3C */ cpu->r[11] = _t0;
|
|
/* 0285DA40 */ cpu->r[3] = cpu->r[3] + 0x00000F5Cu;
|
|
/* 0285DA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285DA48 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DA48 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285DA48 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0285DA48 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285DA48 */ goto L_0285DA4C;
|
|
L_0285DA4C: ; // 0x285da4c
|
|
/* 0285DA4C */ cpu->r[10] = 0x101D0000u;
|
|
/* 0285DA50 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0285DA54 */ _t4 = cpu->r[10] + 0xFFFFD7ECu;
|
|
/* 0285DA54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285DA54 */ cpu->r[10] = _t4;
|
|
/* 0285DA58 */ cpu->r[0] = 0x00000001u;
|
|
/* 0285DA5C */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 0285DA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0285DA64 */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 0285DA64 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0285DA68 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DA68 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285DA68 */ if (_t7) goto L_0285DA6C; else goto L_0285DA7C;
|
|
L_0285DA6C: ; // 0x285da6c
|
|
/* 0285DA6C */ cpu->r[7] = 0x00000001u;
|
|
/* 0285DA70 */ cpu->r[8] = 0x00000000u;
|
|
/* 0285DA74 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 0285DA74 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 0285DA78 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 0285DA78 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
L_0285DA7C: ; // 0x285da7c
|
|
/* 0285DA7C */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0285DA7C */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0285DA80 */ return;
|
|
}
|
|
|
|
// fn_0285DA84 @ 0x285da84
|
|
void Gambit_fn_0285DA84(CPUState* cpu) {
|
|
uint32_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_0285DA84: ; // 0x285da84
|
|
/* 0285DA84 */ cpu->r[3] = cpu->r[3] + 0x000000B8u;
|
|
/* 0285DA88 */ goto L_0286B804;
|
|
L_0286B804: ; // 0x286b804
|
|
/* 0286B804 */ cpu->r[0] = cpu->lr;
|
|
/* 0286B808 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0286B808 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0286B808 */ cpu->r[1] = _t0;
|
|
/* 0286B80C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0286B80C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0286B810 */ cpu->r[30] = cpu->r[3];
|
|
/* 0286B814 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286B814 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0286B818 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0286B818 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0286B81C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286B81C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0286B820 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 0286B820 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0286B824 */ cpu->r[31] = cpu->r[4];
|
|
/* 0286B828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0286B82C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0286B82C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0286B82C */ if (_t7) goto L_0286B830; else goto L_0286B888;
|
|
L_0286B830: ; // 0x286b830
|
|
/* 0286B830 */ cpu->r[3] = cpu->r[30];
|
|
/* 0286B834 */ Gambit_fn_0286B7AC(cpu);
|
|
/* 0286B838 */ cpu->r[29] = cpu->r[31];
|
|
/* 0286B83C */ cpu->r[4] = 0x00000004u;
|
|
/* 0286B840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 0286B844 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0286B848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0286B84C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286B84C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0286B84C */ if (_t9) goto L_0286B850; else goto L_0286B874;
|
|
L_0286B850: ; // 0x286b850
|
|
/* 0286B850 */ cpu->r[3] = 0x00000000u;
|
|
/* 0286B854 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 0286B854 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 0286B858 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286B858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0286B85C */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286B85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0286B860 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0286B860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0286B864 */ cpu->lr = cpu->r[0];
|
|
/* 0286B868 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0286B868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0286B86C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0286B870 */ return;
|
|
L_0286B874: ; // 0x286b874
|
|
/* 0286B874 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0286B874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0286B878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0286B87C */ _t15 = cpu->r[30] + 0x00000004u;
|
|
/* 0286B87C */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 0286B880 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286B880 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0286B880 */ if (_t17) goto L_0286B888; else goto L_0286B884;
|
|
L_0286B884: ; // 0x286b884
|
|
/* 0286B884 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 0286B884 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[31]);
|
|
L_0286B888: ; // 0x286b888
|
|
/* 0286B888 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286B888 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0286B88C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286B88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0286B890 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0286B890 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0286B894 */ cpu->lr = cpu->r[0];
|
|
/* 0286B898 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0286B898 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0286B89C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0286B8A0 */ return;
|
|
}
|
|
|
|
// fn_0285DA8C @ 0x285da8c
|
|
void Gambit_fn_0285DA8C(CPUState* cpu) {
|
|
uint32_t _t0, _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_0285DA84: ; // 0x285da84
|
|
/* 0285DA84 */ cpu->r[3] = cpu->r[3] + 0x000000B8u;
|
|
/* 0285DA88 */ goto L_0286B804;
|
|
L_0285DA8C: ; // 0x285da8c
|
|
/* 0285DA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285DA90 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DA90 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0285DA90 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285DA90 */ goto L_0285DA94;
|
|
L_0285DA94: ; // 0x285da94
|
|
/* 0285DA94 */ goto L_0285DA84;
|
|
L_0286B804: ; // 0x286b804
|
|
/* 0286B804 */ cpu->r[0] = cpu->lr;
|
|
/* 0286B808 */ _t2 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0286B808 */ rbrew_write32(cpu->mem, _t2, cpu->r[1]);
|
|
/* 0286B808 */ cpu->r[1] = _t2;
|
|
/* 0286B80C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0286B80C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0286B810 */ cpu->r[30] = cpu->r[3];
|
|
/* 0286B814 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286B814 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0286B818 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0286B818 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 0286B81C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286B81C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0286B820 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 0286B820 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0286B824 */ cpu->r[31] = cpu->r[4];
|
|
/* 0286B828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0286B82C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0286B82C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0286B82C */ if (_t9) goto L_0286B830; else goto L_0286B888;
|
|
L_0286B830: ; // 0x286b830
|
|
/* 0286B830 */ cpu->r[3] = cpu->r[30];
|
|
/* 0286B834 */ Gambit_fn_0286B7AC(cpu);
|
|
/* 0286B838 */ cpu->r[29] = cpu->r[31];
|
|
/* 0286B83C */ cpu->r[4] = 0x00000004u;
|
|
/* 0286B840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 0286B844 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0286B848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0286B84C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286B84C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0286B84C */ if (_t11) goto L_0286B850; else goto L_0286B874;
|
|
L_0286B850: ; // 0x286b850
|
|
/* 0286B850 */ cpu->r[3] = 0x00000000u;
|
|
/* 0286B854 */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 0286B854 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 0286B858 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286B858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0286B85C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286B85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0286B860 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0286B860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0286B864 */ cpu->lr = cpu->r[0];
|
|
/* 0286B868 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0286B868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0286B86C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0286B870 */ return;
|
|
L_0286B874: ; // 0x286b874
|
|
/* 0286B874 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0286B874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0286B878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0286B87C */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 0286B87C */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0286B880 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286B880 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0286B880 */ if (_t19) goto L_0286B888; else goto L_0286B884;
|
|
L_0286B884: ; // 0x286b884
|
|
/* 0286B884 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 0286B884 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[31]);
|
|
L_0286B888: ; // 0x286b888
|
|
/* 0286B888 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286B888 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0286B88C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286B88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0286B890 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0286B890 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0286B894 */ cpu->lr = cpu->r[0];
|
|
/* 0286B898 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0286B898 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0286B89C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0286B8A0 */ return;
|
|
}
|
|
|
|
// fn_0285DA98 @ 0x285da98
|
|
void Gambit_fn_0285DA98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_0285DA98: ; // 0x285da98
|
|
/* 0285DA98 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0285DA98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285DA98 */ cpu->r[1] = _t0;
|
|
/* 0285DA9C */ cpu->r[0] = cpu->lr;
|
|
/* 0285DAA0 */ /* nop */
|
|
/* 0285DAA4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285DAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285DAA8 */ cpu->r[26] = cpu->r[4];
|
|
/* 0285DAAC */ cpu->r[27] = cpu->r[5];
|
|
/* 0285DAB0 */ cpu->r[28] = cpu->r[6];
|
|
/* 0285DAB4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285DAB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285DAB8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DAB8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285DAB8 */ if (_t3) goto L_0285DABC; else goto L_0285DACC;
|
|
L_0285DABC: ; // 0x285dabc
|
|
/* 0285DABC */ cpu->r[3] = 0x000000C0u;
|
|
/* 0285DAC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285DAC4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285DAC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285DAC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DAC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285DAC8 */ if (_t5) goto L_0285DC54; else goto L_0285DACC;
|
|
L_0285DACC: ; // 0x285dacc
|
|
/* 0285DACC */ cpu->r[3] = cpu->r[30];
|
|
/* 0285DAD0 */ cpu->r[4] = cpu->r[26];
|
|
/* 0285DAD4 */ cpu->r[5] = cpu->r[28];
|
|
/* 0285DAD8 */ Gambit_fn_0285F268(cpu);
|
|
/* 0285DADC */ cpu->r[0] = 0x10130000u;
|
|
/* 0285DAE0 */ cpu->r[4] = 0x00000004u;
|
|
/* 0285DAE4 */ cpu->r[29] = cpu->r[30] + 0x000000A8u;
|
|
/* 0285DAE8 */ cpu->r[0] = cpu->r[0] + 0x00004E58u;
|
|
/* 0285DAEC */ cpu->r[6] = 0x02860000u;
|
|
/* 0285DAF0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285DAF4 */ cpu->r[5] = cpu->r[4];
|
|
/* 0285DAF8 */ cpu->r[6] = cpu->r[6] + 0xFFFFE344u;
|
|
/* 0285DAFC */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 0285DAFC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285DB00 */ Gambit_fn_02C82E00(cpu);
|
|
/* 0285DB04 */ cpu->r[3] = cpu->r[30] + 0x000000B8u;
|
|
/* 0285DB08 */ Gambit_fn_0286B768(cpu);
|
|
/* 0285DB0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0285DB10 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DB10 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285DB10 */ if (_t8) goto L_0285DB58; else goto L_0285DB14;
|
|
L_0285DB14: ; // 0x285db14
|
|
/* 0285DB14 */ _t9 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0285DB14 */ cpu->r[0] = rbrew_read16(cpu->mem, _t9);
|
|
/* 0285DB18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285DB1C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DB1C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285DB1C */ if (_t11) goto L_0285DB20; else goto L_0285DB58;
|
|
L_0285DB20: ; // 0x285db20
|
|
/* 0285DB20 */ cpu->r[25] = cpu->r[27];
|
|
/* 0285DB24 */ _t12 = cpu->r[25] + 0x00000066u;
|
|
/* 0285DB24 */ cpu->r[31] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0285DB28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000003u);
|
|
/* 0285DB2C */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285DB2C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285DB2C */ if (_t14) goto L_0285DB30; else goto L_0285DB34;
|
|
L_0285DB30: ; // 0x285db30
|
|
/* 0285DB30 */ cpu->r[31] = 0x00000003u;
|
|
L_0285DB34: ; // 0x285db34
|
|
/* 0285DB34 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285DB38 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285DB3C */ cpu->r[4] = cpu->r[31];
|
|
/* 0285DB40 */ Gambit_fn_0285DA8C(cpu);
|
|
/* 0285DB44 */ cpu->r[0] = 0x00000004u;
|
|
/* 0285DB48 */ cpu->r[9] = 0x00000000u;
|
|
/* 0285DB4C */ cpu->r[4] = cpu->r[25] + 0x00000054u;
|
|
/* 0285DB50 */ cpu->ctr = cpu->r[0];
|
|
/* 0285DB54 */ goto L_0285DB8C;
|
|
L_0285DB58: ; // 0x285db58
|
|
/* 0285DB58 */ cpu->r[25] = cpu->r[26];
|
|
/* 0285DB5C */ _t15 = cpu->r[25] + 0x00000066u;
|
|
/* 0285DB5C */ cpu->r[31] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0285DB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000003u);
|
|
/* 0285DB64 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285DB64 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285DB64 */ if (_t17) goto L_0285DB68; else goto L_0285DB6C;
|
|
L_0285DB68: ; // 0x285db68
|
|
/* 0285DB68 */ cpu->r[31] = 0x00000003u;
|
|
L_0285DB6C: ; // 0x285db6c
|
|
/* 0285DB6C */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285DB70 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285DB74 */ cpu->r[4] = cpu->r[31];
|
|
/* 0285DB78 */ Gambit_fn_0285DA8C(cpu);
|
|
/* 0285DB7C */ cpu->r[0] = 0x00000004u;
|
|
/* 0285DB80 */ cpu->r[9] = 0x00000000u;
|
|
/* 0285DB84 */ cpu->ctr = cpu->r[0];
|
|
/* 0285DB88 */ cpu->r[4] = cpu->r[25] + 0x00000054u;
|
|
L_0285DB8C: ; // 0x285db8c
|
|
/* 0285DB8C */ cpu->r[6] = cpu->r[4] + cpu->r[9];
|
|
/* 0285DB90 */ _t18 = cpu->r[6] + 0x00000002u;
|
|
/* 0285DB90 */ cpu->r[11] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0285DB94 */ _t19 = cpu->r[6] + 0x00000003u;
|
|
/* 0285DB94 */ cpu->r[10] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0285DB98 */ _t20 = cpu->r[6] + 0x00000000u;
|
|
/* 0285DB98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0285DB9C */ _t21 = cpu->r[6] + 0x00000001u;
|
|
/* 0285DB9C */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0285DBA0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0285DBA0 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[0]);
|
|
/* 0285DBA4 */ _t23 = cpu->r[1] + 0x0000000Au;
|
|
/* 0285DBA4 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]);
|
|
/* 0285DBA8 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0285DBAC */ _t24 = cpu->r[1] + 0x00000009u;
|
|
/* 0285DBAC */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]);
|
|
/* 0285DBB0 */ cpu->r[8] = cpu->r[29] + cpu->r[9];
|
|
/* 0285DBB4 */ _t25 = cpu->r[1] + 0x0000000Bu;
|
|
/* 0285DBB4 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[10]);
|
|
/* 0285DBB8 */ /* nop */
|
|
/* 0285DBBC */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 0285DBC0 */ /* nop */
|
|
/* 0285DBC4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285DBC4 */ _t26 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285DBC4 */ _t27 = _t26 >> (0x00000002u & 31u);
|
|
/* 0285DBC4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0285DBC4 */ if (_t28) goto L_0285DB8C; else goto L_0285DBC8;
|
|
L_0285DBC8: ; // 0x285dbc8
|
|
/* 0285DBC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285DBCC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DBCC */ _t30 = _t29 & 0x00000001u;
|
|
/* 0285DBCC */ if (_t30) goto L_0285DBEC; else goto L_0285DBD0;
|
|
L_0285DBD0: ; // 0x285dbd0
|
|
/* 0285DBD0 */ _t31 = cpu->r[30] + 0x000000B8u;
|
|
/* 0285DBD0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0285DBD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285DBD8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DBD8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0285DBD8 */ if (_t33) goto L_0285DBEC; else goto L_0285DBDC;
|
|
L_0285DBDC: ; // 0x285dbdc
|
|
/* 0285DBDC */ cpu->r[5] = cpu->r[31];
|
|
/* 0285DBE0 */ cpu->r[4] = cpu->r[25] + 0x00000068u;
|
|
/* 0285DBE4 */ cpu->r[3] = cpu->r[30] + 0x000000B8u;
|
|
/* 0285DBE8 */ Gambit_fn_0286B9A4(cpu);
|
|
L_0285DBEC: ; // 0x285dbec
|
|
/* 0285DBEC */ _t34 = cpu->r[26] + 0x00000064u;
|
|
/* 0285DBEC */ cpu->r[4] = rbrew_read16(cpu->mem, _t34);
|
|
/* 0285DBF0 */ _t35 = cpu->r[28] + 0x00000020u;
|
|
/* 0285DBF0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0285DBF4 */ Gambit_fn_0286BA10(cpu);
|
|
/* 0285DBF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0285DBFC */ cpu->r[29] = 0x00000000u;
|
|
/* 0285DC00 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285DC04 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DC04 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0285DC04 */ if (_t37) goto L_0285DC18; else goto L_0285DC08;
|
|
L_0285DC08: ; // 0x285dc08
|
|
/* 0285DC08 */ _t38 = cpu->r[28] + 0x00000024u;
|
|
/* 0285DC08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0285DC0C */ _t39 = cpu->r[27] + 0x00000064u;
|
|
/* 0285DC0C */ cpu->r[4] = rbrew_read16(cpu->mem, _t39);
|
|
/* 0285DC10 */ Gambit_fn_0286BA10(cpu);
|
|
/* 0285DC14 */ cpu->r[29] = cpu->r[3];
|
|
L_0285DC18: ; // 0x285dc18
|
|
/* 0285DC18 */ cpu->r[3] = 0x00000020u;
|
|
/* 0285DC1C */ cpu->r[4] = 0x00000004u;
|
|
/* 0285DC20 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0285DC24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285DC28 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DC28 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0285DC28 */ if (_t41) goto L_0285DC4C; else goto L_0285DC2C;
|
|
L_0285DC2C: ; // 0x285dc2c
|
|
/* 0285DC2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285DC30 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DC30 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0285DC30 */ if (_t43) goto L_0285DC4C; else goto L_0285DC34;
|
|
L_0285DC34: ; // 0x285dc34
|
|
/* 0285DC34 */ cpu->r[6] = cpu->r[28];
|
|
/* 0285DC38 */ cpu->r[5] = cpu->r[29];
|
|
/* 0285DC3C */ cpu->r[4] = cpu->r[31];
|
|
/* 0285DC40 */ Gambit_fn_0286C334(cpu);
|
|
/* 0285DC44 */ _t44 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285DC44 */ rbrew_write32(cpu->mem, _t44, cpu->r[3]);
|
|
/* 0285DC48 */ goto L_0285DC54;
|
|
L_0285DC4C: ; // 0x285dc4c
|
|
/* 0285DC4C */ cpu->r[3] = 0x00000000u;
|
|
/* 0285DC50 */ _t45 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285DC50 */ rbrew_write32(cpu->mem, _t45, cpu->r[3]);
|
|
L_0285DC54: ; // 0x285dc54
|
|
/* 0285DC54 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285DC58 */ /* nop */
|
|
/* 0285DC5C */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285DC5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0285DC60 */ cpu->lr = cpu->r[0];
|
|
/* 0285DC64 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285DC68 */ return;
|
|
}
|
|
|
|
// fn_0285DC6C @ 0x285dc6c
|
|
void Gambit_fn_0285DC6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0285DC6C: ; // 0x285dc6c
|
|
/* 0285DC6C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285DC6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285DC6C */ cpu->r[1] = _t0;
|
|
/* 0285DC70 */ cpu->r[0] = cpu->lr;
|
|
/* 0285DC74 */ /* nop */
|
|
/* 0285DC78 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285DC78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285DC7C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0285DC7C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285DC80 */ cpu->r[29] = cpu->r[4];
|
|
/* 0285DC84 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DC84 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285DC84 */ if (_t3) goto L_0285DC88; else goto L_0285DC98;
|
|
L_0285DC88: ; // 0x285dc88
|
|
/* 0285DC88 */ cpu->r[3] = 0x000000C0u;
|
|
/* 0285DC8C */ Gambit_fn_02801A78(cpu);
|
|
/* 0285DC90 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285DC90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285DC94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DC94 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285DC94 */ if (_t5) goto L_0285DD90; else goto L_0285DC98;
|
|
L_0285DC98: ; // 0x285dc98
|
|
/* 0285DC98 */ cpu->r[4] = cpu->r[29];
|
|
/* 0285DC9C */ cpu->r[3] = cpu->r[30];
|
|
/* 0285DCA0 */ Gambit_fn_0285F5C4(cpu);
|
|
/* 0285DCA4 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285DCA8 */ cpu->r[28] = 0x00000000u;
|
|
/* 0285DCAC */ cpu->r[4] = 0x00000004u;
|
|
/* 0285DCB0 */ cpu->r[12] = cpu->r[12] + 0x00004E58u;
|
|
/* 0285DCB4 */ cpu->r[31] = cpu->r[30] + 0x000000A8u;
|
|
/* 0285DCB8 */ cpu->r[5] = cpu->r[4];
|
|
/* 0285DCBC */ cpu->r[6] = 0x02860000u;
|
|
/* 0285DCC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285DCC4 */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 0285DCC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 0285DCC8 */ cpu->r[6] = cpu->r[6] + 0xFFFFE344u;
|
|
/* 0285DCCC */ _t7 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285DCCC */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0285DCD0 */ Gambit_fn_02C82E00(cpu);
|
|
/* 0285DCD4 */ cpu->r[3] = cpu->r[30] + 0x000000B8u;
|
|
/* 0285DCD8 */ Gambit_fn_0286B768(cpu);
|
|
/* 0285DCDC */ cpu->r[0] = 0x00000004u;
|
|
/* 0285DCE0 */ cpu->ctr = cpu->r[0];
|
|
/* 0285DCE4 */ cpu->r[8] = cpu->r[29] + 0x000000A8u;
|
|
L_0285DCE8: ; // 0x285dce8
|
|
/* 0285DCE8 */ cpu->r[9] = cpu->r[8] + cpu->r[28];
|
|
/* 0285DCEC */ cpu->r[10] = cpu->r[31] + cpu->r[28];
|
|
/* 0285DCF0 */ /* nop */
|
|
/* 0285DCF4 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 0285DCF8 */ /* nop */
|
|
/* 0285DCFC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285DCFC */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285DCFC */ _t9 = _t8 >> (0x00000002u & 31u);
|
|
/* 0285DCFC */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285DCFC */ if (_t10) goto L_0285DCE8; else goto L_0285DD00;
|
|
L_0285DD00: ; // 0x285dd00
|
|
/* 0285DD00 */ _t11 = cpu->r[29] + 0x000000B9u;
|
|
/* 0285DD00 */ cpu->r[31] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0285DD04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285DD08 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DD08 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285DD08 */ if (_t13) goto L_0285DD58; else goto L_0285DD0C;
|
|
L_0285DD0C: ; // 0x285dd0c
|
|
/* 0285DD0C */ cpu->r[3] = cpu->r[30];
|
|
/* 0285DD10 */ cpu->r[4] = cpu->r[31];
|
|
/* 0285DD14 */ Gambit_fn_0285DA84(cpu);
|
|
/* 0285DD18 */ cpu->r[3] = cpu->r[30] + 0x000000B8u;
|
|
/* 0285DD1C */ cpu->r[4] = cpu->r[31];
|
|
/* 0285DD20 */ Gambit_fn_0286B8A4(cpu);
|
|
/* 0285DD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285DD28 */ cpu->r[27] = 0x00000000u;
|
|
/* 0285DD2C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DD2C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285DD2C */ if (_t15) goto L_0285DD58; else goto L_0285DD30;
|
|
L_0285DD30: ; // 0x285dd30
|
|
/* 0285DD30 */ cpu->r[28] = 0x00000000u;
|
|
L_0285DD34: ; // 0x285dd34
|
|
/* 0285DD34 */ _t16 = cpu->r[29] + 0x000000BCu;
|
|
/* 0285DD34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285DD38 */ cpu->r[4] = cpu->r[27];
|
|
/* 0285DD3C */ cpu->r[3] = cpu->r[30] + 0x000000B8u;
|
|
/* 0285DD40 */ cpu->r[5] = cpu->r[12] + cpu->r[28];
|
|
/* 0285DD44 */ Gambit_fn_0286B968(cpu);
|
|
/* 0285DD48 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0285DD48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285DD4C */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0285DD50 */ cpu->r[28] = cpu->r[28] + 0x00000020u;
|
|
/* 0285DD54 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DD54 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285DD54 */ if (_t18) goto L_0285DD58; else goto L_0285DD34;
|
|
L_0285DD58: ; // 0x285dd58
|
|
/* 0285DD58 */ cpu->r[4] = 0x00000004u;
|
|
/* 0285DD5C */ cpu->r[3] = 0x00000020u;
|
|
/* 0285DD60 */ _t19 = cpu->r[29] + 0x000000A4u;
|
|
/* 0285DD60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285DD64 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0285DD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285DD6C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DD6C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0285DD6C */ if (_t21) goto L_0285DD88; else goto L_0285DD70;
|
|
L_0285DD70: ; // 0x285dd70
|
|
/* 0285DD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285DD74 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DD74 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0285DD74 */ if (_t23) goto L_0285DD88; else goto L_0285DD78;
|
|
L_0285DD78: ; // 0x285dd78
|
|
/* 0285DD78 */ cpu->r[4] = cpu->r[31];
|
|
/* 0285DD7C */ Gambit_fn_0286D20C(cpu);
|
|
/* 0285DD80 */ _t24 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285DD80 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 0285DD84 */ goto L_0285DD90;
|
|
L_0285DD88: ; // 0x285dd88
|
|
/* 0285DD88 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285DD8C */ _t25 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285DD8C */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
L_0285DD90: ; // 0x285dd90
|
|
/* 0285DD90 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285DD94 */ /* nop */
|
|
/* 0285DD98 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 0285DD98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285DD9C */ cpu->lr = cpu->r[0];
|
|
/* 0285DDA0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285DDA4 */ return;
|
|
}
|
|
|
|
// fn_0285DDA8 @ 0x285dda8
|
|
void Gambit_fn_0285DDA8(CPUState* cpu) {
|
|
uint32_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_0285DDA8: ; // 0x285dda8
|
|
/* 0285DDA8 */ cpu->r[0] = cpu->lr;
|
|
/* 0285DDAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285DDAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285DDAC */ cpu->r[1] = _t0;
|
|
/* 0285DDB0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285DDB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285DDB4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285DDB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285DDB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285DDB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285DDBC */ cpu->r[31] = cpu->r[4];
|
|
/* 0285DDC0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285DDC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285DDC4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285DDC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285DDC8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DDC8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285DDC8 */ if (_t6) goto L_0285DE3C; else goto L_0285DDCC;
|
|
L_0285DDCC: ; // 0x285ddcc
|
|
/* 0285DDCC */ _t7 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285DDCC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285DDD0 */ cpu->r[8] = 0x10130000u;
|
|
/* 0285DDD4 */ cpu->r[8] = cpu->r[8] + 0x00004E58u;
|
|
/* 0285DDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285DDDC */ _t8 = cpu->r[30] + 0x00000008u;
|
|
/* 0285DDDC */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0285DDE0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DDE0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285DDE0 */ if (_t10) goto L_0285DE18; else goto L_0285DDE4;
|
|
L_0285DDE4: ; // 0x285dde4
|
|
/* 0285DDE4 */ _t11 = cpu->r[29] + 0x00000015u;
|
|
/* 0285DDE4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0285DDE8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285DDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285DDEC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DDEC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285DDEC */ if (_t13) goto L_0285DDF0; else goto L_0285DE18;
|
|
L_0285DDF0: ; // 0x285ddf0
|
|
/* 0285DDF0 */ _t14 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0285DDF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285DDF4 */ _t15 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0285DDF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285DDF8 */ cpu->ctr = cpu->r[12];
|
|
/* 0285DDFC */ cpu->r[3] = cpu->r[29];
|
|
/* 0285DE00 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285DE04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285DE08 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285DE0C */ Gambit_fn_02869EAC(cpu);
|
|
/* 0285DE10 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285DE14 */ _t16 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285DE14 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
L_0285DE18: ; // 0x285de18
|
|
/* 0285DE18 */ cpu->r[3] = cpu->r[30] + 0x000000B8u;
|
|
/* 0285DE1C */ Gambit_fn_0286B7AC(cpu);
|
|
/* 0285DE20 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285DE24 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285DE28 */ Gambit_fn_0285F770(cpu);
|
|
/* 0285DE2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285DE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285DE30 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DE30 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285DE30 */ if (_t18) goto L_0285DE3C; else goto L_0285DE34;
|
|
L_0285DE34: ; // 0x285de34
|
|
/* 0285DE34 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285DE38 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285DE3C: ; // 0x285de3c
|
|
/* 0285DE3C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285DE3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285DE40 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285DE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285DE44 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0285DE44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285DE48 */ cpu->lr = cpu->r[0];
|
|
/* 0285DE4C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0285DE4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285DE50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285DE54 */ return;
|
|
}
|
|
|
|
// fn_0285DDAC @ 0x285ddac
|
|
void Gambit_fn_0285DDAC(CPUState* cpu) {
|
|
uint32_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_0285DDAC: ; // 0x285ddac
|
|
/* 0285DDAC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285DDAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285DDAC */ cpu->r[1] = _t0;
|
|
/* 0285DDB0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285DDB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285DDB4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285DDB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285DDB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285DDB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285DDBC */ cpu->r[31] = cpu->r[4];
|
|
/* 0285DDC0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285DDC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285DDC4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285DDC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285DDC8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DDC8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285DDC8 */ if (_t6) goto L_0285DE3C; else goto L_0285DDCC;
|
|
L_0285DDCC: ; // 0x285ddcc
|
|
/* 0285DDCC */ _t7 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285DDCC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285DDD0 */ cpu->r[8] = 0x10130000u;
|
|
/* 0285DDD4 */ cpu->r[8] = cpu->r[8] + 0x00004E58u;
|
|
/* 0285DDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285DDDC */ _t8 = cpu->r[30] + 0x00000008u;
|
|
/* 0285DDDC */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 0285DDE0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DDE0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285DDE0 */ if (_t10) goto L_0285DE18; else goto L_0285DDE4;
|
|
L_0285DDE4: ; // 0x285dde4
|
|
/* 0285DDE4 */ _t11 = cpu->r[29] + 0x00000015u;
|
|
/* 0285DDE4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0285DDE8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285DDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285DDEC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DDEC */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285DDEC */ if (_t13) goto L_0285DDF0; else goto L_0285DE18;
|
|
L_0285DDF0: ; // 0x285ddf0
|
|
/* 0285DDF0 */ _t14 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0285DDF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285DDF4 */ _t15 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0285DDF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285DDF8 */ cpu->ctr = cpu->r[12];
|
|
/* 0285DDFC */ cpu->r[3] = cpu->r[29];
|
|
/* 0285DE00 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285DE04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285DE08 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285DE0C */ Gambit_fn_02869EAC(cpu);
|
|
/* 0285DE10 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285DE14 */ _t16 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285DE14 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
L_0285DE18: ; // 0x285de18
|
|
/* 0285DE18 */ cpu->r[3] = cpu->r[30] + 0x000000B8u;
|
|
/* 0285DE1C */ Gambit_fn_0286B7AC(cpu);
|
|
/* 0285DE20 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285DE24 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285DE28 */ Gambit_fn_0285F770(cpu);
|
|
/* 0285DE2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285DE2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285DE30 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DE30 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285DE30 */ if (_t18) goto L_0285DE3C; else goto L_0285DE34;
|
|
L_0285DE34: ; // 0x285de34
|
|
/* 0285DE34 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285DE38 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285DE3C: ; // 0x285de3c
|
|
/* 0285DE3C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285DE3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285DE40 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285DE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285DE44 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 0285DE44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285DE48 */ cpu->lr = cpu->r[0];
|
|
/* 0285DE4C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0285DE4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285DE50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285DE54 */ return;
|
|
}
|
|
|
|
// fn_0285DE58 @ 0x285de58
|
|
void Gambit_fn_0285DE58(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0285DE58: ; // 0x285de58
|
|
/* 0285DE58 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285DE5C */ cpu->r[12] = cpu->r[3] + cpu->r[11];
|
|
/* 0285DE60 */ cpu->r[11] = cpu->r[12] + 0x000000A8u;
|
|
/* 0285DE64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285DE64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285DE64 */ cpu->r[1] = _t0;
|
|
/* 0285DE68 */ /* nop */
|
|
/* 0285DE6C */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 0285DE70 */ /* nop */
|
|
/* 0285DE74 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285DE74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0285DE78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285DE7C */ return;
|
|
}
|
|
|
|
// fn_0285DE64 @ 0x285de64
|
|
void Gambit_fn_0285DE64(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0285DE64: ; // 0x285de64
|
|
/* 0285DE64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285DE64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285DE64 */ cpu->r[1] = _t0;
|
|
/* 0285DE68 */ /* nop */
|
|
/* 0285DE6C */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 0285DE70 */ /* nop */
|
|
/* 0285DE74 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285DE74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0285DE78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285DE7C */ return;
|
|
}
|
|
|
|
// fn_0285DE80 @ 0x285de80
|
|
void Gambit_fn_0285DE80(CPUState* cpu) {
|
|
L_0285DE80: ; // 0x285de80
|
|
/* 0285DE80 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285DE84 */ cpu->r[12] = cpu->r[3] + cpu->r[11];
|
|
/* 0285DE88 */ /* nop */
|
|
/* 0285DE8C */ cpu->r[10] = cpu->r[12] + 0x000000A8u;
|
|
/* 0285DE90 */ /* nop */
|
|
/* 0285DE94 */ return;
|
|
}
|
|
|
|
// fn_0285DE98 @ 0x285de98
|
|
void Gambit_fn_0285DE98(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0285DE98: ; // 0x285de98
|
|
/* 0285DE98 */ cpu->r[12] = cpu->r[3] + 0x000000A8u;
|
|
/* 0285DE9C */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 0285DEA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285DEA4 */ cpu->r[11] = cpu->r[12] + cpu->r[10];
|
|
/* 0285DEA8 */ _t0 = cpu->r[11] + cpu->r[0];
|
|
/* 0285DEA8 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[5]);
|
|
/* 0285DEAC */ return;
|
|
}
|
|
|
|
// fn_0285DEB0 @ 0x285deb0
|
|
void Gambit_fn_0285DEB0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0285DEB0: ; // 0x285deb0
|
|
/* 0285DEB0 */ _t0 = cpu->r[3] + 0x000000A4u;
|
|
/* 0285DEB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285DEB4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0285DEB8 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0285DEBC */ return;
|
|
}
|
|
|
|
// fn_0285DEC0 @ 0x285dec0
|
|
void Gambit_fn_0285DEC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0285DEC0: ; // 0x285dec0
|
|
/* 0285DEC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285DEC4 */ cpu->r[12] = cpu->r[3];
|
|
/* 0285DEC8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285DECC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DECC */ _t1 = _t0 & 0x00000001u;
|
|
/* 0285DECC */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 0285DECC */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285DECC */ goto L_0285DED0;
|
|
L_0285DED0: ; // 0x285ded0
|
|
/* 0285DED0 */ _t3 = cpu->r[12] + 0x000000A4u;
|
|
/* 0285DED0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285DED4 */ return;
|
|
}
|
|
|
|
// fn_0285DED8 @ 0x285ded8
|
|
void Gambit_fn_0285DED8(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_0285DED8: ; // 0x285ded8
|
|
/* 0285DED8 */ cpu->r[0] = cpu->lr;
|
|
/* 0285DEDC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285DEDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285DEDC */ cpu->r[1] = _t0;
|
|
/* 0285DEE0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285DEE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285DEE4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285DEE8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285DEE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285DEEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285DEEC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285DEF0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285DEF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285DEF4 */ _t5 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285DEF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285DEF8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285DEFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0285DF00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DF00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285DF00 */ if (_t7) goto L_0285DF3C; else goto L_0285DF04;
|
|
L_0285DF04: ; // 0x285df04
|
|
/* 0285DF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285DF08 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DF08 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285DF08 */ if (_t9) goto L_0285DF38; else goto L_0285DF0C;
|
|
L_0285DF0C: ; // 0x285df0c
|
|
/* 0285DF0C */ _t10 = cpu->r[29] + 0x00000015u;
|
|
/* 0285DF0C */ cpu->r[10] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0285DF10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285DF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285DF14 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DF14 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285DF14 */ if (_t12) goto L_0285DF18; else goto L_0285DF38;
|
|
L_0285DF18: ; // 0x285df18
|
|
/* 0285DF18 */ _t13 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0285DF18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285DF1C */ _t14 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0285DF1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285DF20 */ cpu->ctr = cpu->r[0];
|
|
/* 0285DF24 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285DF28 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285DF2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285DF30 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285DF34 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285DF38: ; // 0x285df38
|
|
/* 0285DF38 */ _t15 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285DF38 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
L_0285DF3C: ; // 0x285df3c
|
|
/* 0285DF3C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285DF3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285DF40 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285DF40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285DF44 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0285DF44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285DF48 */ cpu->lr = cpu->r[0];
|
|
/* 0285DF4C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0285DF4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285DF50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285DF54 */ return;
|
|
}
|
|
|
|
// fn_0285DEDC @ 0x285dedc
|
|
void Gambit_fn_0285DEDC(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_0285DEDC: ; // 0x285dedc
|
|
/* 0285DEDC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285DEDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285DEDC */ cpu->r[1] = _t0;
|
|
/* 0285DEE0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285DEE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285DEE4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285DEE8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285DEE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285DEEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285DEEC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285DEF0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285DEF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285DEF4 */ _t5 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285DEF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285DEF8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285DEFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0285DF00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DF00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285DF00 */ if (_t7) goto L_0285DF3C; else goto L_0285DF04;
|
|
L_0285DF04: ; // 0x285df04
|
|
/* 0285DF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285DF08 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DF08 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285DF08 */ if (_t9) goto L_0285DF38; else goto L_0285DF0C;
|
|
L_0285DF0C: ; // 0x285df0c
|
|
/* 0285DF0C */ _t10 = cpu->r[29] + 0x00000015u;
|
|
/* 0285DF0C */ cpu->r[10] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0285DF10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285DF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285DF14 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DF14 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285DF14 */ if (_t12) goto L_0285DF18; else goto L_0285DF38;
|
|
L_0285DF18: ; // 0x285df18
|
|
/* 0285DF18 */ _t13 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0285DF18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285DF1C */ _t14 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0285DF1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285DF20 */ cpu->ctr = cpu->r[0];
|
|
/* 0285DF24 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285DF28 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285DF2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285DF30 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285DF34 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285DF38: ; // 0x285df38
|
|
/* 0285DF38 */ _t15 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285DF38 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
L_0285DF3C: ; // 0x285df3c
|
|
/* 0285DF3C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285DF3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285DF40 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285DF40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285DF44 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0285DF44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285DF48 */ cpu->lr = cpu->r[0];
|
|
/* 0285DF4C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0285DF4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285DF50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285DF54 */ return;
|
|
}
|
|
|
|
// fn_0285DF58 @ 0x285df58
|
|
void Gambit_fn_0285DF58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
|
|
L_0285DF58: ; // 0x285df58
|
|
/* 0285DF58 */ _t0 = cpu->r[1] + 0xFFFFFF30u;
|
|
/* 0285DF58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285DF58 */ cpu->r[1] = _t0;
|
|
/* 0285DF5C */ _t1 = cpu->r[1] + 0x00000080u;
|
|
/* 0285DF5C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[27]);
|
|
/* 0285DF60 */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 0285DF60 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285DF64 */ /* nop */
|
|
/* 0285DF68 */ _t3 = cpu->r[1] + 0x00000090u;
|
|
/* 0285DF68 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[28]);
|
|
/* 0285DF6C */ cpu->r[0] = cpu->lr;
|
|
/* 0285DF70 */ _t4 = cpu->r[1] + 0x000000A0u;
|
|
/* 0285DF70 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[29]);
|
|
/* 0285DF74 */ /* nop */
|
|
/* 0285DF78 */ _t5 = cpu->r[1] + 0x000000B0u;
|
|
/* 0285DF78 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[30]);
|
|
/* 0285DF7C */ /* nop */
|
|
/* 0285DF80 */ _t6 = cpu->r[1] + 0x000000C0u;
|
|
/* 0285DF80 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[31]);
|
|
/* 0285DF84 */ /* nop */
|
|
/* 0285DF88 */ _t7 = cpu->r[1] + 0x00000088u;
|
|
/* 0285DF88 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[27]);
|
|
/* 0285DF8C */ _t8 = cpu->r[1] + 0x00000098u;
|
|
/* 0285DF8C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[28]);
|
|
/* 0285DF90 */ _t9 = cpu->r[1] + 0x000000A8u;
|
|
/* 0285DF90 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
|
|
/* 0285DF94 */ /* nop */
|
|
/* 0285DF98 */ _t10 = cpu->r[1] + 0x000000B8u;
|
|
/* 0285DF98 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[30]);
|
|
/* 0285DF9C */ _t11 = cpu->r[1] + 0x000000C8u;
|
|
/* 0285DF9C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]);
|
|
/* 0285DFA0 */ _t12 = cpu->r[1] + 0x00000078u;
|
|
/* 0285DFA0 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 0285DFA4 */ _t13 = cpu->r[1] + 0x000000D4u;
|
|
/* 0285DFA4 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0285DFA8 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285DFAC */ _t14 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0285DFAC */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 0285DFB0 */ _t15 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285DFB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285DFB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285DFB8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285DFBC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285DFBC */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285DFBC */ if (_t17) goto L_0285E2FC; else goto L_0285DFC0;
|
|
L_0285DFC0: ; // 0x285dfc0
|
|
/* 0285DFC0 */ _t18 = cpu->r[30] + 0x00000008u;
|
|
/* 0285DFC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285DFC4 */ _t19 = cpu->r[9] + 0x0000009Cu;
|
|
/* 0285DFC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285DFC8 */ cpu->ctr = cpu->r[10];
|
|
/* 0285DFCC */ cpu->r[4] = cpu->r[31];
|
|
/* 0285DFD0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285DFD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285DFD8 */ cpu->r[0] = 0x000000FFu;
|
|
/* 0285DFDC */ _t20 = cpu->r[1] + 0x00000013u;
|
|
/* 0285DFDC */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 0285DFE0 */ _t21 = cpu->r[1] + 0x00000012u;
|
|
/* 0285DFE0 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 0285DFE4 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0285DFE4 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[0]);
|
|
/* 0285DFE8 */ _t23 = cpu->r[1] + 0x00000011u;
|
|
/* 0285DFE8 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 0285DFEC */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0285DFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285DFF0 */ cpu->r[29] = cpu->r[30] + 0x000000A8u;
|
|
/* 0285DFF4 */ cpu->r[12] = cpu->r[1] + 0x00000054u;
|
|
/* 0285DFF8 */ _t25 = cpu->r[1] + 0x00000054u;
|
|
/* 0285DFF8 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0285DFFC */ /* nop */
|
|
/* 0285E000 */ cpu->r[6] = cpu->r[1] + 0x00000061u;
|
|
/* 0285E004 */ /* nop */
|
|
/* 0285E008 */ _t26 = cpu->r[1] + 0x00000060u;
|
|
/* 0285E008 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285E00C */ cpu->r[8] = cpu->r[30] + 0x000000B8u;
|
|
/* 0285E010 */ _t27 = cpu->r[1] + 0x00000064u;
|
|
/* 0285E010 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285E014 */ cpu->r[11] = cpu->r[29];
|
|
/* 0285E018 */ _t28 = cpu->r[1] + 0x00000058u;
|
|
/* 0285E018 */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 0285E01C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]);
|
|
/* 0285E020 */ _t29 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0285E020 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 0285E024 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E024 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0285E024 */ if (_t31) goto L_0285E098; else goto L_0285E028;
|
|
L_0285E028: ; // 0x285e028
|
|
/* 0285E028 */ _t32 = cpu->r[1] + 0x00000059u;
|
|
/* 0285E028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
L_0285E02C: ; // 0x285e02c
|
|
/* 0285E02C */ _t33 = cpu->r[11] + 0x00000000u;
|
|
/* 0285E02C */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0285E030 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 0285E034 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E034 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0285E034 */ if (_t35) goto L_0285E038; else goto L_0285E054;
|
|
L_0285E038: ; // 0x285e038
|
|
/* 0285E038 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 0285E03C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]);
|
|
/* 0285E040 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E040 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0285E040 */ if (_t37) goto L_0285E044; else goto L_0285E02C;
|
|
L_0285E044: ; // 0x285e044
|
|
/* 0285E044 */ _t38 = cpu->r[30] + 0x00000046u;
|
|
/* 0285E044 */ cpu->r[5] = rbrew_read8(cpu->mem, _t38);
|
|
/* 0285E048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x000000FFu);
|
|
/* 0285E04C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E04C */ _t40 = _t39 & 0x00000001u;
|
|
/* 0285E04C */ if (_t40) goto L_0285E2A8; else goto L_0285E050;
|
|
L_0285E050: ; // 0x285e050
|
|
/* 0285E050 */ goto L_0285E0A4;
|
|
L_0285E054: ; // 0x285e054
|
|
/* 0285E054 */ _t41 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285E054 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0285E058 */ _t42 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0285E058 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0285E05C */ _t43 = cpu->r[10] + 0x00000024u;
|
|
/* 0285E05C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0285E060 */ cpu->r[6] = 0x00000000u;
|
|
/* 0285E064 */ cpu->ctr = cpu->r[0];
|
|
/* 0285E068 */ _t44 = cpu->r[30] + 0x00000046u;
|
|
/* 0285E068 */ cpu->r[5] = rbrew_read8(cpu->mem, _t44);
|
|
/* 0285E06C */ cpu->r[8] = cpu->r[30] + 0x00000048u;
|
|
/* 0285E070 */ cpu->r[9] = cpu->r[6];
|
|
/* 0285E074 */ cpu->r[7] = 0x00000001u;
|
|
/* 0285E078 */ cpu->r[4] = cpu->r[31];
|
|
/* 0285E07C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285E080 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E084 */ cpu->r[4] = 0x0000000Du;
|
|
/* 0285E088 */ Gambit_fn_0285CEDC(cpu);
|
|
/* 0285E08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 0285E090 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E090 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0285E090 */ if (_t46) goto L_0285E094; else goto L_0285E0E0;
|
|
L_0285E094: ; // 0x285e094
|
|
/* 0285E094 */ goto L_0285E2D4;
|
|
L_0285E098: ; // 0x285e098
|
|
/* 0285E098 */ _t47 = cpu->r[30] + 0x00000046u;
|
|
/* 0285E098 */ cpu->r[5] = rbrew_read8(cpu->mem, _t47);
|
|
/* 0285E09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x000000FFu);
|
|
/* 0285E0A0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E0A0 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0285E0A0 */ if (_t49) goto L_0285E2A8; else goto L_0285E0A4;
|
|
L_0285E0A4: ; // 0x285e0a4
|
|
/* 0285E0A4 */ _t50 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285E0A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0285E0A8 */ _t51 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0285E0A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0285E0AC */ _t52 = cpu->r[10] + 0x00000024u;
|
|
/* 0285E0AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0285E0B0 */ cpu->r[6] = 0x00000000u;
|
|
/* 0285E0B4 */ cpu->ctr = cpu->r[0];
|
|
/* 0285E0B8 */ cpu->r[8] = cpu->r[30] + 0x00000048u;
|
|
/* 0285E0BC */ cpu->r[9] = cpu->r[6];
|
|
/* 0285E0C0 */ cpu->r[7] = 0x00000001u;
|
|
/* 0285E0C4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0285E0C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285E0CC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E0D0 */ cpu->r[4] = 0x0000000Du;
|
|
/* 0285E0D4 */ Gambit_fn_0285CEDC(cpu);
|
|
/* 0285E0D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0xFFFFFFFFu);
|
|
/* 0285E0DC */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E0DC */ _t54 = _t53 & 0x00000001u;
|
|
/* 0285E0DC */ if (_t54) goto L_0285E2D4; else goto L_0285E0E0;
|
|
L_0285E0E0: ; // 0x285e0e0
|
|
/* 0285E0E0 */ _t55 = cpu->r[29] + 0x00000000u;
|
|
/* 0285E0E0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t55);
|
|
/* 0285E0E4 */ cpu->r[7] = 0x43300000u;
|
|
/* 0285E0E8 */ _t56 = cpu->r[29] + 0x00000003u;
|
|
/* 0285E0E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t56);
|
|
/* 0285E0EC */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E0EC */ rbrew_write32(cpu->mem, _t57, cpu->r[7]);
|
|
/* 0285E0F0 */ _t58 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E0F0 */ rbrew_write32(cpu->mem, _t58, cpu->r[6]);
|
|
/* 0285E0F4 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E0F4 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t59);
|
|
/* 0285E0F8 */ _t60 = cpu->r[29] + 0x00000002u;
|
|
/* 0285E0F8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t60);
|
|
/* 0285E0FC */ cpu->r[8] = 0x10130000u;
|
|
/* 0285E100 */ _t61 = cpu->r[29] + 0x00000001u;
|
|
/* 0285E100 */ cpu->r[9] = rbrew_read8(cpu->mem, _t61);
|
|
/* 0285E104 */ _t62 = cpu->r[8] + 0x00004E50u;
|
|
/* 0285E104 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t62);
|
|
/* 0285E108 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E108 */ rbrew_write32(cpu->mem, _t63, cpu->r[9]);
|
|
/* 0285E10C */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E10C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t64);
|
|
/* 0285E110 */ cpu->f[11] = cpu->f[10] - cpu->f[0];
|
|
/* 0285E114 */ _t65 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E114 */ rbrew_write32(cpu->mem, _t65, cpu->r[11]);
|
|
/* 0285E118 */ _t66 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E118 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t66);
|
|
/* 0285E11C */ cpu->f[7] = cpu->f[13] - cpu->f[0];
|
|
/* 0285E120 */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E120 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 0285E124 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E124 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t68);
|
|
/* 0285E128 */ cpu->f[27] = (double)(float)cpu->f[11];
|
|
/* 0285E12C */ _t69 = cpu->r[29] + 0x00000004u;
|
|
/* 0285E12C */ cpu->r[8] = rbrew_read8(cpu->mem, _t69);
|
|
/* 0285E130 */ cpu->f[9] = cpu->f[8] - cpu->f[0];
|
|
/* 0285E134 */ _t70 = cpu->r[29] + 0x00000005u;
|
|
/* 0285E134 */ cpu->r[12] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0285E138 */ cpu->f[11] = cpu->f[10] - cpu->f[0];
|
|
/* 0285E13C */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E13C */ rbrew_write32(cpu->mem, _t71, cpu->r[8]);
|
|
/* 0285E140 */ _t72 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E140 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 0285E144 */ _t73 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E144 */ rbrew_write32(cpu->mem, _t73, cpu->r[12]);
|
|
/* 0285E148 */ cpu->f[28] = (double)(float)cpu->f[7];
|
|
/* 0285E14C */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E14C */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t74);
|
|
/* 0285E150 */ cpu->f[29] = (double)(float)cpu->f[11];
|
|
/* 0285E154 */ _t75 = cpu->r[29] + 0x00000006u;
|
|
/* 0285E154 */ cpu->r[7] = rbrew_read8(cpu->mem, _t75);
|
|
/* 0285E158 */ cpu->f[30] = (double)(float)cpu->f[9];
|
|
/* 0285E15C */ _t76 = cpu->r[29] + 0x00000008u;
|
|
/* 0285E15C */ cpu->r[12] = rbrew_read8(cpu->mem, _t76);
|
|
/* 0285E160 */ cpu->f[13] = cpu->f[12] - cpu->f[0];
|
|
/* 0285E164 */ _t77 = cpu->r[29] + 0x00000007u;
|
|
/* 0285E164 */ cpu->r[10] = rbrew_read8(cpu->mem, _t77);
|
|
/* 0285E168 */ cpu->f[11] = cpu->f[10] - cpu->f[0];
|
|
/* 0285E16C */ _t78 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E16C */ rbrew_write32(cpu->mem, _t78, cpu->r[7]);
|
|
/* 0285E170 */ _t79 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E170 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t79);
|
|
/* 0285E174 */ cpu->f[31] = (double)(float)cpu->f[13];
|
|
/* 0285E178 */ _t80 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E178 */ rbrew_write32(cpu->mem, _t80, cpu->r[10]);
|
|
/* 0285E17C */ _t81 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E17C */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t81);
|
|
/* 0285E180 */ cpu->f[1] = (double)(float)cpu->f[11];
|
|
/* 0285E184 */ _t82 = cpu->r[29] + 0x0000000Bu;
|
|
/* 0285E184 */ cpu->r[10] = rbrew_read8(cpu->mem, _t82);
|
|
/* 0285E188 */ cpu->f[7] = cpu->f[12] - cpu->f[0];
|
|
/* 0285E18C */ _t83 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E18C */ rbrew_write32(cpu->mem, _t83, cpu->r[12]);
|
|
/* 0285E190 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E190 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t84);
|
|
/* 0285E194 */ cpu->f[10] = cpu->f[8] - cpu->f[0];
|
|
/* 0285E198 */ _t85 = cpu->r[29] + 0x00000009u;
|
|
/* 0285E198 */ cpu->r[5] = rbrew_read8(cpu->mem, _t85);
|
|
/* 0285E19C */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 0285E1A0 */ _t86 = cpu->r[29] + 0x0000000Au;
|
|
/* 0285E1A0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t86);
|
|
/* 0285E1A4 */ cpu->f[2] = (double)(float)cpu->f[7];
|
|
/* 0285E1A8 */ _t87 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E1A8 */ rbrew_write32(cpu->mem, _t87, cpu->r[5]);
|
|
/* 0285E1AC */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E1AC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t88);
|
|
/* 0285E1B0 */ cpu->f[3] = (double)(float)cpu->f[10];
|
|
/* 0285E1B4 */ _t89 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E1B4 */ rbrew_write32(cpu->mem, _t89, cpu->r[8]);
|
|
/* 0285E1B8 */ _t90 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E1B8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t90);
|
|
/* 0285E1BC */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E1BC */ rbrew_write32(cpu->mem, _t91, cpu->r[10]);
|
|
/* 0285E1C0 */ cpu->f[4] = (double)(float)cpu->f[12];
|
|
/* 0285E1C4 */ _t92 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E1C4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t92);
|
|
/* 0285E1C8 */ cpu->f[12] = cpu->f[11] - cpu->f[0];
|
|
/* 0285E1CC */ _t93 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0285E1CC */ cpu->r[12] = rbrew_read8(cpu->mem, _t93);
|
|
/* 0285E1D0 */ _t94 = cpu->r[29] + 0x0000000Du;
|
|
/* 0285E1D0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t94);
|
|
/* 0285E1D4 */ cpu->f[7] = cpu->f[13] - cpu->f[0];
|
|
/* 0285E1D8 */ _t95 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E1D8 */ rbrew_write32(cpu->mem, _t95, cpu->r[12]);
|
|
/* 0285E1DC */ _t96 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E1DC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 0285E1E0 */ cpu->f[6] = (double)(float)cpu->f[12];
|
|
/* 0285E1E4 */ _t97 = cpu->r[1] + 0x00000018u;
|
|
/* 0285E1E4 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[28]);
|
|
/* 0285E1E8 */ cpu->f[5] = (double)(float)cpu->f[7];
|
|
/* 0285E1EC */ _t98 = cpu->r[29] + 0x0000000Eu;
|
|
/* 0285E1EC */ cpu->r[11] = rbrew_read8(cpu->mem, _t98);
|
|
/* 0285E1F0 */ _t99 = cpu->r[1] + 0x00000024u;
|
|
/* 0285E1F0 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[31]);
|
|
/* 0285E1F4 */ cpu->f[9] = cpu->f[8] - cpu->f[0];
|
|
/* 0285E1F8 */ _t100 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E1F8 */ rbrew_write32(cpu->mem, _t100, cpu->r[6]);
|
|
/* 0285E1FC */ _t101 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E1FC */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t101);
|
|
/* 0285E200 */ _t102 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E200 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[27]);
|
|
/* 0285E204 */ cpu->f[7] = cpu->f[13] - cpu->f[0];
|
|
/* 0285E208 */ _t103 = cpu->r[1] + 0x00000038u;
|
|
/* 0285E208 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[5]);
|
|
/* 0285E20C */ cpu->f[11] = cpu->f[10] - cpu->f[0];
|
|
/* 0285E210 */ _t104 = cpu->r[29] + 0x0000000Fu;
|
|
/* 0285E210 */ cpu->r[5] = rbrew_read8(cpu->mem, _t104);
|
|
/* 0285E214 */ cpu->f[7] = (double)(float)cpu->f[7];
|
|
/* 0285E218 */ _t105 = cpu->r[1] + 0x00000020u;
|
|
/* 0285E218 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[30]);
|
|
/* 0285E21C */ cpu->f[12] = (double)(float)cpu->f[9];
|
|
/* 0285E220 */ _t106 = cpu->r[1] + 0x00000030u;
|
|
/* 0285E220 */ rbrew_write_f32(cpu->mem, _t106, cpu->f[3]);
|
|
/* 0285E224 */ _t107 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E224 */ rbrew_write32(cpu->mem, _t107, cpu->r[11]);
|
|
/* 0285E228 */ _t108 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E228 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t108);
|
|
/* 0285E22C */ cpu->f[8] = (double)(float)cpu->f[11];
|
|
/* 0285E230 */ _t109 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E230 */ rbrew_write32(cpu->mem, _t109, cpu->r[5]);
|
|
/* 0285E234 */ _t110 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E234 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t110);
|
|
/* 0285E238 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 0285E23C */ _t111 = cpu->r[1] + 0x00000040u;
|
|
/* 0285E23C */ rbrew_write_f32(cpu->mem, _t111, cpu->f[12]);
|
|
/* 0285E240 */ cpu->f[11] = cpu->f[9] - cpu->f[0];
|
|
/* 0285E244 */ _t112 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0285E244 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[6]);
|
|
/* 0285E248 */ cpu->f[10] = (double)(float)cpu->f[11];
|
|
/* 0285E24C */ _t113 = cpu->r[1] + 0x00000028u;
|
|
/* 0285E24C */ rbrew_write_f32(cpu->mem, _t113, cpu->f[1]);
|
|
/* 0285E250 */ cpu->f[9] = (double)(float)cpu->f[13];
|
|
/* 0285E254 */ _t114 = cpu->r[1] + 0x00000044u;
|
|
/* 0285E254 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[7]);
|
|
/* 0285E258 */ _t115 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285E258 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[2]);
|
|
/* 0285E25C */ _t116 = cpu->r[1] + 0x00000050u;
|
|
/* 0285E25C */ rbrew_write_f32(cpu->mem, _t116, cpu->f[10]);
|
|
/* 0285E260 */ cpu->r[4] = 0x00000010u;
|
|
/* 0285E264 */ _t117 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0285E264 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[9]);
|
|
/* 0285E268 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 0285E26C */ _t118 = cpu->r[1] + 0x00000034u;
|
|
/* 0285E26C */ rbrew_write_f32(cpu->mem, _t118, cpu->f[4]);
|
|
/* 0285E270 */ _t119 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E270 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[29]);
|
|
/* 0285E274 */ _t120 = cpu->r[1] + 0x00000048u;
|
|
/* 0285E274 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[8]);
|
|
/* 0285E278 */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
/* 0285E27C */ cpu->r[3] = cpu->r[30];
|
|
/* 0285E280 */ Gambit_fn_0285F928(cpu);
|
|
/* 0285E284 */ _t121 = cpu->r[30] + 0x000000BCu;
|
|
/* 0285E284 */ cpu->r[7] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0285E288 */ _t122 = cpu->r[1] + 0x00000068u;
|
|
/* 0285E288 */ rbrew_write32(cpu->mem, _t122, cpu->r[3]);
|
|
/* 0285E28C */ _t123 = cpu->r[30] + 0x000000B9u;
|
|
/* 0285E28C */ cpu->r[6] = rbrew_read8(cpu->mem, _t123);
|
|
/* 0285E290 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E294 */ _t124 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0285E294 */ rbrew_write32(cpu->mem, _t124, cpu->r[4]);
|
|
/* 0285E298 */ cpu->r[4] = cpu->r[1] + 0x00000068u;
|
|
/* 0285E29C */ cpu->r[5] = cpu->r[30] + 0x0000003Cu;
|
|
/* 0285E2A0 */ Gambit_fn_0286BAB4(cpu);
|
|
/* 0285E2A4 */ goto L_0285E2FC;
|
|
L_0285E2A8: ; // 0x285e2a8
|
|
/* 0285E2A8 */ _t125 = cpu->r[30] + 0x000000A4u;
|
|
/* 0285E2A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t125);
|
|
/* 0285E2AC */ _t126 = cpu->r[3] + 0x0000001Cu;
|
|
/* 0285E2AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t126);
|
|
/* 0285E2B0 */ _t127 = cpu->r[11] + 0x00000024u;
|
|
/* 0285E2B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 0285E2B4 */ cpu->r[6] = 0x00000001u;
|
|
/* 0285E2B8 */ cpu->ctr = cpu->r[0];
|
|
/* 0285E2BC */ cpu->r[5] = 0x000000FFu;
|
|
/* 0285E2C0 */ cpu->r[7] = cpu->r[6];
|
|
/* 0285E2C4 */ cpu->r[9] = 0x00000000u;
|
|
/* 0285E2C8 */ cpu->r[4] = cpu->r[31];
|
|
/* 0285E2CC */ cpu->r[8] = cpu->r[30] + 0x00000048u;
|
|
/* 0285E2D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0285E2D4: ; // 0x285e2d4
|
|
/* 0285E2D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285E2D8 */ Gambit_fn_0285F928(cpu);
|
|
/* 0285E2DC */ _t128 = cpu->r[30] + 0x000000BCu;
|
|
/* 0285E2DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t128);
|
|
/* 0285E2E0 */ _t129 = cpu->r[1] + 0x00000068u;
|
|
/* 0285E2E0 */ rbrew_write32(cpu->mem, _t129, cpu->r[3]);
|
|
/* 0285E2E4 */ _t130 = cpu->r[30] + 0x000000B9u;
|
|
/* 0285E2E4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t130);
|
|
/* 0285E2E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E2EC */ _t131 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0285E2EC */ rbrew_write32(cpu->mem, _t131, cpu->r[4]);
|
|
/* 0285E2F0 */ cpu->r[4] = cpu->r[1] + 0x00000068u;
|
|
/* 0285E2F4 */ cpu->r[5] = cpu->r[30] + 0x0000003Cu;
|
|
/* 0285E2F8 */ Gambit_fn_0286BAB4(cpu);
|
|
L_0285E2FC: ; // 0x285e2fc
|
|
/* 0285E2FC */ _t132 = cpu->r[1] + 0x00000074u;
|
|
/* 0285E2FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t132);
|
|
/* 0285E300 */ _t133 = cpu->r[1] + 0x00000098u;
|
|
/* 0285E300 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 0285E304 */ _t134 = cpu->r[1] + 0x00000088u;
|
|
/* 0285E304 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t134);
|
|
/* 0285E308 */ _t135 = cpu->r[1] + 0x00000090u;
|
|
/* 0285E308 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t135);
|
|
/* 0285E30C */ _t136 = cpu->r[1] + 0x000000A8u;
|
|
/* 0285E30C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 0285E310 */ _t137 = cpu->r[1] + 0x00000080u;
|
|
/* 0285E310 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t137);
|
|
/* 0285E314 */ _t138 = cpu->r[1] + 0x000000A0u;
|
|
/* 0285E314 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t138);
|
|
/* 0285E318 */ _t139 = cpu->r[1] + 0x000000C8u;
|
|
/* 0285E318 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 0285E31C */ _t140 = cpu->r[1] + 0x000000B8u;
|
|
/* 0285E31C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t140);
|
|
/* 0285E320 */ _t141 = cpu->r[1] + 0x000000C0u;
|
|
/* 0285E320 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t141);
|
|
/* 0285E324 */ _t142 = cpu->r[1] + 0x000000B0u;
|
|
/* 0285E324 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t142);
|
|
/* 0285E328 */ _t143 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0285E328 */ cpu->r[31] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0285E32C */ _t144 = cpu->r[1] + 0x00000078u;
|
|
/* 0285E32C */ cpu->r[30] = rbrew_read32(cpu->mem, _t144);
|
|
/* 0285E330 */ _t145 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285E330 */ _t146 = _t145 & 0x00000001u;
|
|
/* 0285E330 */ if (_t146) goto L_0285E334; // else: addr-0 trap, fall-through
|
|
L_0285E334: ; // 0x285e334
|
|
/* 0285E334 */ _t147 = cpu->r[1] + 0x000000D4u;
|
|
/* 0285E334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t147);
|
|
/* 0285E338 */ cpu->lr = cpu->r[0];
|
|
/* 0285E33C */ cpu->r[1] = cpu->r[1] + 0x000000D0u;
|
|
/* 0285E340 */ return;
|
|
}
|
|
|
|
// fn_0285E350 @ 0x285e350
|
|
void Gambit_fn_0285E350(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0285E350: ; // 0x285e350
|
|
/* 0285E350 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285E350 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E350 */ cpu->r[1] = _t0;
|
|
/* 0285E354 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E354 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285E354 */ if (_t2) goto L_0285E358; else goto L_0285E368;
|
|
L_0285E358: ; // 0x285e358
|
|
/* 0285E358 */ cpu->r[3] = 0x00000004u;
|
|
/* 0285E35C */ Gambit_fn_02801A78(cpu);
|
|
/* 0285E360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E364 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E364 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285E364 */ if (_t4) goto L_0285E370; else goto L_0285E368;
|
|
L_0285E368: ; // 0x285e368
|
|
/* 0285E368 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 0285E36C */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 0285E36C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_0285E370: ; // 0x285e370
|
|
/* 0285E370 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285E374 */ cpu->lr = cpu->r[0];
|
|
/* 0285E378 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285E37C */ return;
|
|
}
|
|
|
|
// fn_0285E380 @ 0x285e380
|
|
void Gambit_fn_0285E380(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285E380: ; // 0x285e380
|
|
/* 0285E380 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0285E384 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0285E388 */ _t0 = cpu->r[11] + 0xFFFFD7FCu;
|
|
/* 0285E388 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285E388 */ cpu->r[11] = _t0;
|
|
/* 0285E38C */ cpu->r[3] = cpu->r[3] + 0x00000F3Cu;
|
|
/* 0285E390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285E394 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E394 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285E394 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0285E394 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285E394 */ goto L_0285E398;
|
|
L_0285E398: ; // 0x285e398
|
|
/* 0285E398 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0285E39C */ cpu->r[12] = 0x101D0000u;
|
|
/* 0285E3A0 */ _t4 = cpu->r[10] + 0xFFFFD7ECu;
|
|
/* 0285E3A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285E3A0 */ cpu->r[10] = _t4;
|
|
/* 0285E3A4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0285E3A8 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 0285E3AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0285E3B0 */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 0285E3B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0285E3B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E3B4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285E3B4 */ if (_t7) goto L_0285E3B8; else goto L_0285E3C8;
|
|
L_0285E3B8: ; // 0x285e3b8
|
|
/* 0285E3B8 */ cpu->r[7] = 0x00000001u;
|
|
/* 0285E3BC */ cpu->r[8] = 0x00000000u;
|
|
/* 0285E3C0 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 0285E3C0 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 0285E3C4 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 0285E3C4 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
L_0285E3C8: ; // 0x285e3c8
|
|
/* 0285E3C8 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0285E3C8 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0285E3CC */ return;
|
|
}
|
|
|
|
// fn_0285E3D0 @ 0x285e3d0
|
|
void Gambit_fn_0285E3D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0285E3D0: ; // 0x285e3d0
|
|
/* 0285E3D0 */ cpu->r[0] = cpu->lr;
|
|
/* 0285E3D4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285E3D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0285E3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E3DC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285E3DC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0285E3DC */ cpu->r[1] = _t1;
|
|
/* 0285E3E0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E3E0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285E3E0 */ if (_t3) goto L_0285E3E4; else goto L_0285E3F4;
|
|
L_0285E3E4: ; // 0x285e3e4
|
|
/* 0285E3E4 */ cpu->r[3] = 0x00000004u;
|
|
/* 0285E3E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285E3EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E3F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E3F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285E3F0 */ if (_t5) goto L_0285E400; else goto L_0285E3F4;
|
|
L_0285E3F4: ; // 0x285e3f4
|
|
/* 0285E3F4 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285E3F8 */ cpu->r[0] = cpu->r[0] + 0x00004F44u;
|
|
/* 0285E3FC */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 0285E3FC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_0285E400: ; // 0x285e400
|
|
/* 0285E400 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285E404 */ cpu->lr = cpu->r[0];
|
|
/* 0285E408 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285E40C */ return;
|
|
}
|
|
|
|
// fn_0285E3DC @ 0x285e3dc
|
|
void Gambit_fn_0285E3DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0285E3DC: ; // 0x285e3dc
|
|
/* 0285E3DC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285E3DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E3DC */ cpu->r[1] = _t0;
|
|
/* 0285E3E0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E3E0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285E3E0 */ if (_t2) goto L_0285E3E4; else goto L_0285E3F4;
|
|
L_0285E3E4: ; // 0x285e3e4
|
|
/* 0285E3E4 */ cpu->r[3] = 0x00000004u;
|
|
/* 0285E3E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285E3EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E3F0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E3F0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285E3F0 */ if (_t4) goto L_0285E400; else goto L_0285E3F4;
|
|
L_0285E3F4: ; // 0x285e3f4
|
|
/* 0285E3F4 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285E3F8 */ cpu->r[0] = cpu->r[0] + 0x00004F44u;
|
|
/* 0285E3FC */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 0285E3FC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_0285E400: ; // 0x285e400
|
|
/* 0285E400 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285E404 */ cpu->lr = cpu->r[0];
|
|
/* 0285E408 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285E40C */ return;
|
|
}
|
|
|
|
// fn_0285E410 @ 0x285e410
|
|
void Gambit_fn_0285E410(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_0285E410: ; // 0x285e410
|
|
/* 0285E410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E414 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E414 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285E414 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285E414 */ goto L_0285E418;
|
|
L_0285E418: ; // 0x285e418
|
|
/* 0285E418 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285E418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285E41C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E41C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285E41C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285E41C */ goto L_0285E420;
|
|
L_0285E420: ; // 0x285e420
|
|
/* 0285E420 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0285E424 @ 0x285e424
|
|
void Gambit_fn_0285E424(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0285E424: ; // 0x285e424
|
|
/* 0285E424 */ cpu->r[0] = cpu->lr;
|
|
/* 0285E428 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285E428 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E428 */ cpu->r[1] = _t0;
|
|
/* 0285E42C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E42C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285E430 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E430 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285E434 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0285E434 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285E438 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285E43C */ cpu->r[31] = cpu->r[4];
|
|
/* 0285E440 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E440 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285E444 */ _t5 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0285E444 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285E448 */ cpu->r[4] = 0x74690000u;
|
|
/* 0285E44C */ cpu->ctr = cpu->r[10];
|
|
/* 0285E450 */ cpu->r[4] = cpu->r[4] + 0x00006D67u;
|
|
/* 0285E454 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0285E458 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285E45C */ cpu->r[4] = cpu->r[3];
|
|
/* 0285E45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285E460 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E460 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285E460 */ if (_t7) goto L_0285E480; else goto L_0285E464;
|
|
L_0285E464: ; // 0x285e464
|
|
/* 0285E464 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E464 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285E468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285E46C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E46C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285E46C */ if (_t10) goto L_0285E480; else goto L_0285E470;
|
|
L_0285E470: ; // 0x285e470
|
|
/* 0285E470 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E474 */ Gambit_fn_028691B0(cpu);
|
|
/* 0285E478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E47C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E47C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285E47C */ if (_t12) goto L_0285E480; else goto L_0285E498;
|
|
L_0285E480: ; // 0x285e480
|
|
/* 0285E480 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285E484 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285E488 */ cpu->lr = cpu->r[0];
|
|
/* 0285E48C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285E490 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285E494 */ return;
|
|
L_0285E498: ; // 0x285e498
|
|
/* 0285E498 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285E49C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E49C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285E4A0 */ cpu->lr = cpu->r[0];
|
|
/* 0285E4A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285E4A8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285E4AC */ return;
|
|
}
|
|
|
|
// fn_0285E428 @ 0x285e428
|
|
void Gambit_fn_0285E428(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0285E428: ; // 0x285e428
|
|
/* 0285E428 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285E428 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E428 */ cpu->r[1] = _t0;
|
|
/* 0285E42C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E42C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285E430 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E430 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285E434 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0285E434 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285E438 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285E43C */ cpu->r[31] = cpu->r[4];
|
|
/* 0285E440 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E440 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285E444 */ _t5 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0285E444 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285E448 */ cpu->r[4] = 0x74690000u;
|
|
/* 0285E44C */ cpu->ctr = cpu->r[10];
|
|
/* 0285E450 */ cpu->r[4] = cpu->r[4] + 0x00006D67u;
|
|
/* 0285E454 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0285E458 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285E45C */ cpu->r[4] = cpu->r[3];
|
|
/* 0285E45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285E460 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E460 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285E460 */ if (_t7) goto L_0285E480; else goto L_0285E464;
|
|
L_0285E464: ; // 0x285e464
|
|
/* 0285E464 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E464 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285E468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285E46C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E46C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285E46C */ if (_t10) goto L_0285E480; else goto L_0285E470;
|
|
L_0285E470: ; // 0x285e470
|
|
/* 0285E470 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E474 */ Gambit_fn_028691B0(cpu);
|
|
/* 0285E478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E47C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E47C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285E47C */ if (_t12) goto L_0285E480; else goto L_0285E498;
|
|
L_0285E480: ; // 0x285e480
|
|
/* 0285E480 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285E484 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285E488 */ cpu->lr = cpu->r[0];
|
|
/* 0285E48C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285E490 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285E494 */ return;
|
|
L_0285E498: ; // 0x285e498
|
|
/* 0285E498 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285E49C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E49C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285E4A0 */ cpu->lr = cpu->r[0];
|
|
/* 0285E4A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285E4A8 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285E4AC */ return;
|
|
}
|
|
|
|
// fn_0285E4B0 @ 0x285e4b0
|
|
void Gambit_fn_0285E4B0(CPUState* cpu) {
|
|
uint32_t _t0, _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_0285E4B0: ; // 0x285e4b0
|
|
/* 0285E4B0 */ cpu->r[0] = cpu->lr;
|
|
/* 0285E4B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285E4B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E4B4 */ cpu->r[1] = _t0;
|
|
/* 0285E4B8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E4B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285E4BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E4BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285E4C0 */ cpu->r[10] = 0x00000000u;
|
|
/* 0285E4C4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E4C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285E4C8 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 0285E4C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285E4CC */ cpu->r[5] = cpu->r[4];
|
|
/* 0285E4D0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E4D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 0285E4D4 */ _t6 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0285E4D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285E4D8 */ cpu->r[4] = 0x666F0000u;
|
|
/* 0285E4DC */ cpu->ctr = cpu->r[0];
|
|
/* 0285E4E0 */ cpu->r[4] = cpu->r[4] + 0x00006E74u;
|
|
/* 0285E4E4 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0285E4E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285E4EC */ cpu->r[30] = cpu->r[3];
|
|
/* 0285E4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285E4F0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E4F0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285E4F0 */ if (_t8) goto L_0285E55C; else goto L_0285E4F4;
|
|
L_0285E4F4: ; // 0x285e4f4
|
|
/* 0285E4F4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E4F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285E4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285E4FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E4FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285E4FC */ if (_t11) goto L_0285E55C; else goto L_0285E500;
|
|
L_0285E500: ; // 0x285e500
|
|
/* 0285E500 */ cpu->r[3] = 0x000000C4u;
|
|
/* 0285E504 */ cpu->r[4] = 0x00000004u;
|
|
/* 0285E508 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0285E50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E510 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E510 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285E510 */ if (_t13) goto L_0285E55C; else goto L_0285E514;
|
|
L_0285E514: ; // 0x285e514
|
|
/* 0285E514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E518 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E518 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285E518 */ if (_t15) goto L_0285E55C; else goto L_0285E51C;
|
|
L_0285E51C: ; // 0x285e51c
|
|
/* 0285E51C */ Gambit_fn_02857550(cpu);
|
|
/* 0285E520 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285E520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285E524 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E524 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285E524 */ if (_t17) goto L_0285E55C; else goto L_0285E528;
|
|
L_0285E528: ; // 0x285e528
|
|
/* 0285E528 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E52C */ cpu->r[4] = cpu->r[30];
|
|
/* 0285E530 */ Gambit_fn_028577F4(cpu);
|
|
/* 0285E534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E538 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E538 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285E538 */ if (_t19) goto L_0285E53C; else goto L_0285E560;
|
|
L_0285E53C: ; // 0x285e53c
|
|
/* 0285E53C */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 0285E53C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285E540 */ _t21 = cpu->r[11] + 0x00000014u;
|
|
/* 0285E540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285E544 */ cpu->ctr = cpu->r[0];
|
|
/* 0285E548 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E54C */ cpu->r[4] = 0x00000002u;
|
|
/* 0285E550 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285E554 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E558 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285E55C: ; // 0x285e55c
|
|
/* 0285E55C */ cpu->r[31] = 0x00000000u;
|
|
L_0285E560: ; // 0x285e560
|
|
/* 0285E560 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285E564 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E568 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285E56C */ cpu->lr = cpu->r[0];
|
|
/* 0285E570 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285E574 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285E578 */ return;
|
|
}
|
|
|
|
// fn_0285E4B4 @ 0x285e4b4
|
|
void Gambit_fn_0285E4B4(CPUState* cpu) {
|
|
uint32_t _t0, _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_0285E4B4: ; // 0x285e4b4
|
|
/* 0285E4B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285E4B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E4B4 */ cpu->r[1] = _t0;
|
|
/* 0285E4B8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E4B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285E4BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E4BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285E4C0 */ cpu->r[10] = 0x00000000u;
|
|
/* 0285E4C4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E4C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285E4C8 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 0285E4C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285E4CC */ cpu->r[5] = cpu->r[4];
|
|
/* 0285E4D0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E4D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 0285E4D4 */ _t6 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0285E4D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285E4D8 */ cpu->r[4] = 0x666F0000u;
|
|
/* 0285E4DC */ cpu->ctr = cpu->r[0];
|
|
/* 0285E4E0 */ cpu->r[4] = cpu->r[4] + 0x00006E74u;
|
|
/* 0285E4E4 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0285E4E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285E4EC */ cpu->r[30] = cpu->r[3];
|
|
/* 0285E4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285E4F0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E4F0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285E4F0 */ if (_t8) goto L_0285E55C; else goto L_0285E4F4;
|
|
L_0285E4F4: ; // 0x285e4f4
|
|
/* 0285E4F4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E4F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285E4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285E4FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E4FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285E4FC */ if (_t11) goto L_0285E55C; else goto L_0285E500;
|
|
L_0285E500: ; // 0x285e500
|
|
/* 0285E500 */ cpu->r[3] = 0x000000C4u;
|
|
/* 0285E504 */ cpu->r[4] = 0x00000004u;
|
|
/* 0285E508 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0285E50C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E510 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E510 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285E510 */ if (_t13) goto L_0285E55C; else goto L_0285E514;
|
|
L_0285E514: ; // 0x285e514
|
|
/* 0285E514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E518 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E518 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285E518 */ if (_t15) goto L_0285E55C; else goto L_0285E51C;
|
|
L_0285E51C: ; // 0x285e51c
|
|
/* 0285E51C */ Gambit_fn_02857550(cpu);
|
|
/* 0285E520 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285E520 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285E524 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E524 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285E524 */ if (_t17) goto L_0285E55C; else goto L_0285E528;
|
|
L_0285E528: ; // 0x285e528
|
|
/* 0285E528 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E52C */ cpu->r[4] = cpu->r[30];
|
|
/* 0285E530 */ Gambit_fn_028577F4(cpu);
|
|
/* 0285E534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E538 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E538 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285E538 */ if (_t19) goto L_0285E53C; else goto L_0285E560;
|
|
L_0285E53C: ; // 0x285e53c
|
|
/* 0285E53C */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 0285E53C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285E540 */ _t21 = cpu->r[11] + 0x00000014u;
|
|
/* 0285E540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285E544 */ cpu->ctr = cpu->r[0];
|
|
/* 0285E548 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E54C */ cpu->r[4] = 0x00000002u;
|
|
/* 0285E550 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285E554 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E558 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285E55C: ; // 0x285e55c
|
|
/* 0285E55C */ cpu->r[31] = 0x00000000u;
|
|
L_0285E560: ; // 0x285e560
|
|
/* 0285E560 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285E564 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E568 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285E56C */ cpu->lr = cpu->r[0];
|
|
/* 0285E570 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285E574 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285E578 */ return;
|
|
}
|
|
|
|
// fn_0285E57C @ 0x285e57c
|
|
void Gambit_fn_0285E57C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_0285E57C: ; // 0x285e57c
|
|
/* 0285E57C */ cpu->r[0] = cpu->lr;
|
|
/* 0285E580 */ _t0 = cpu->r[1] + 0xFFFFFED8u;
|
|
/* 0285E580 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E580 */ cpu->r[1] = _t0;
|
|
/* 0285E584 */ _t1 = cpu->r[1] + 0x00000120u;
|
|
/* 0285E584 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285E588 */ _t2 = cpu->r[1] + 0x00000118u;
|
|
/* 0285E588 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0285E58C */ _t3 = cpu->r[1] + 0x00000124u;
|
|
/* 0285E58C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285E590 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285E594 */ cpu->r[28] = 0x00000000u;
|
|
/* 0285E598 */ _t4 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0285E598 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0285E59C */ cpu->r[9] = cpu->r[1] + 0x00000018u;
|
|
/* 0285E5A0 */ _t5 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0285E5A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0285E5A4 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285E5A8 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285E5AC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E5AC */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 0285E5B0 */ cpu->r[0] = cpu->r[0] + 0x00004F10u;
|
|
/* 0285E5B4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E5B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 0285E5B8 */ cpu->r[31] = cpu->r[5];
|
|
/* 0285E5BC */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E5BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0285E5C0 */ cpu->r[0] = 0x00000100u;
|
|
/* 0285E5C4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E5C8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E5C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0285E5CC */ Gambit_fn_0285E68C(cpu);
|
|
/* 0285E5D0 */ cpu->r[4] = 0x10130000u;
|
|
/* 0285E5D4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E5D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285E5D8 */ cpu->r[4] = cpu->r[4] + 0x00004F28u;
|
|
/* 0285E5DC */ cpu->r[5] = cpu->r[31];
|
|
/* 0285E5E0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E5E4 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0285E5E4 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[28]);
|
|
/* 0285E5E8 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0285E5E8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285E5E8 */ if (_t13) goto L_0285E5EC; // else: addr-0 trap, fall-through
|
|
L_0285E5EC: ; // 0x285e5ec
|
|
/* 0285E5EC */ Gambit_fn_02C4E9C8(cpu);
|
|
/* 0285E5F0 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E5F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285E5F4 */ _t15 = cpu->r[12] + 0x00000014u;
|
|
/* 0285E5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285E5F8 */ cpu->ctr = cpu->r[0];
|
|
/* 0285E5FC */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 0285E5FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285E600 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E604 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285E608 */ _t17 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0285E608 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285E60C */ cpu->r[4] = 0x62670000u;
|
|
/* 0285E610 */ cpu->ctr = cpu->r[8];
|
|
/* 0285E614 */ cpu->r[4] = cpu->r[4] + 0x00007368u;
|
|
/* 0285E618 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285E61C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E61C */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285E620 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0285E624 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285E628 */ cpu->r[4] = cpu->r[3];
|
|
/* 0285E628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285E62C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E62C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285E62C */ if (_t20) goto L_0285E63C; else goto L_0285E630;
|
|
L_0285E630: ; // 0x285e630
|
|
/* 0285E630 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E630 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285E634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285E638 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E638 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0285E638 */ if (_t23) goto L_0285E63C; else goto L_0285E660;
|
|
L_0285E63C: ; // 0x285e63c
|
|
/* 0285E63C */ _t24 = cpu->r[1] + 0x00000118u;
|
|
/* 0285E63C */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285E640 */ _t25 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0285E640 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285E644 */ _t26 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0285E644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285E648 */ _t27 = cpu->r[1] + 0x00000120u;
|
|
/* 0285E648 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285E64C */ cpu->lr = cpu->r[0];
|
|
/* 0285E650 */ _t28 = cpu->r[1] + 0x00000124u;
|
|
/* 0285E650 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0285E654 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 0285E658 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285E65C */ return;
|
|
L_0285E660: ; // 0x285e660
|
|
/* 0285E660 */ cpu->r[6] = cpu->r[31];
|
|
/* 0285E664 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285E668 */ Gambit_fn_028692F4(cpu);
|
|
/* 0285E66C */ _t29 = cpu->r[1] + 0x00000118u;
|
|
/* 0285E66C */ cpu->r[28] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0285E670 */ _t30 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0285E670 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0285E674 */ _t31 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0285E674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0285E678 */ _t32 = cpu->r[1] + 0x00000120u;
|
|
/* 0285E678 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0285E67C */ cpu->lr = cpu->r[0];
|
|
/* 0285E680 */ _t33 = cpu->r[1] + 0x00000124u;
|
|
/* 0285E680 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0285E684 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 0285E688 */ return;
|
|
}
|
|
|
|
// fn_0285E580 @ 0x285e580
|
|
void Gambit_fn_0285E580(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_0285E580: ; // 0x285e580
|
|
/* 0285E580 */ _t0 = cpu->r[1] + 0xFFFFFED8u;
|
|
/* 0285E580 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E580 */ cpu->r[1] = _t0;
|
|
/* 0285E584 */ _t1 = cpu->r[1] + 0x00000120u;
|
|
/* 0285E584 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285E588 */ _t2 = cpu->r[1] + 0x00000118u;
|
|
/* 0285E588 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0285E58C */ _t3 = cpu->r[1] + 0x00000124u;
|
|
/* 0285E58C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285E590 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285E594 */ cpu->r[28] = 0x00000000u;
|
|
/* 0285E598 */ _t4 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0285E598 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0285E59C */ cpu->r[9] = cpu->r[1] + 0x00000018u;
|
|
/* 0285E5A0 */ _t5 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0285E5A0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0285E5A4 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285E5A8 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285E5AC */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E5AC */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 0285E5B0 */ cpu->r[0] = cpu->r[0] + 0x00004F10u;
|
|
/* 0285E5B4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E5B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 0285E5B8 */ cpu->r[31] = cpu->r[5];
|
|
/* 0285E5BC */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E5BC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 0285E5C0 */ cpu->r[0] = 0x00000100u;
|
|
/* 0285E5C4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E5C8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E5C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0285E5CC */ Gambit_fn_0285E68C(cpu);
|
|
/* 0285E5D0 */ cpu->r[4] = 0x10130000u;
|
|
/* 0285E5D4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E5D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285E5D8 */ cpu->r[4] = cpu->r[4] + 0x00004F28u;
|
|
/* 0285E5DC */ cpu->r[5] = cpu->r[31];
|
|
/* 0285E5E0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E5E4 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 0285E5E4 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[28]);
|
|
/* 0285E5E8 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0285E5E8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285E5E8 */ if (_t13) goto L_0285E5EC; // else: addr-0 trap, fall-through
|
|
L_0285E5EC: ; // 0x285e5ec
|
|
/* 0285E5EC */ Gambit_fn_02C4E9C8(cpu);
|
|
/* 0285E5F0 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E5F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285E5F4 */ _t15 = cpu->r[12] + 0x00000014u;
|
|
/* 0285E5F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285E5F8 */ cpu->ctr = cpu->r[0];
|
|
/* 0285E5FC */ _t16 = cpu->r[29] + 0x00000000u;
|
|
/* 0285E5FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285E600 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E604 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285E608 */ _t17 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0285E608 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285E60C */ cpu->r[4] = 0x62670000u;
|
|
/* 0285E610 */ cpu->ctr = cpu->r[8];
|
|
/* 0285E614 */ cpu->r[4] = cpu->r[4] + 0x00007368u;
|
|
/* 0285E618 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285E61C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E61C */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285E620 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0285E624 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285E628 */ cpu->r[4] = cpu->r[3];
|
|
/* 0285E628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285E62C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E62C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285E62C */ if (_t20) goto L_0285E63C; else goto L_0285E630;
|
|
L_0285E630: ; // 0x285e630
|
|
/* 0285E630 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E630 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285E634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285E638 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E638 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0285E638 */ if (_t23) goto L_0285E63C; else goto L_0285E660;
|
|
L_0285E63C: ; // 0x285e63c
|
|
/* 0285E63C */ _t24 = cpu->r[1] + 0x00000118u;
|
|
/* 0285E63C */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285E640 */ _t25 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0285E640 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285E644 */ _t26 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0285E644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285E648 */ _t27 = cpu->r[1] + 0x00000120u;
|
|
/* 0285E648 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285E64C */ cpu->lr = cpu->r[0];
|
|
/* 0285E650 */ _t28 = cpu->r[1] + 0x00000124u;
|
|
/* 0285E650 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0285E654 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 0285E658 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285E65C */ return;
|
|
L_0285E660: ; // 0x285e660
|
|
/* 0285E660 */ cpu->r[6] = cpu->r[31];
|
|
/* 0285E664 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285E668 */ Gambit_fn_028692F4(cpu);
|
|
/* 0285E66C */ _t29 = cpu->r[1] + 0x00000118u;
|
|
/* 0285E66C */ cpu->r[28] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0285E670 */ _t30 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0285E670 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0285E674 */ _t31 = cpu->r[1] + 0x0000012Cu;
|
|
/* 0285E674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0285E678 */ _t32 = cpu->r[1] + 0x00000120u;
|
|
/* 0285E678 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0285E67C */ cpu->lr = cpu->r[0];
|
|
/* 0285E680 */ _t33 = cpu->r[1] + 0x00000124u;
|
|
/* 0285E680 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0285E684 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 0285E688 */ return;
|
|
}
|
|
|
|
// fn_0285E68C @ 0x285e68c
|
|
void Gambit_fn_0285E68C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0285E68C: ; // 0x285e68c
|
|
/* 0285E68C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0285E68C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285E690 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285E694 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0285E694 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0285E698 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0285E69C */ _t2 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0285E69C */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]);
|
|
/* 0285E6A0 */ return;
|
|
}
|
|
|
|
// fn_0285E6A4 @ 0x285e6a4
|
|
void Gambit_fn_0285E6A4(CPUState* cpu) {
|
|
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_0285E6A4: ; // 0x285e6a4
|
|
/* 0285E6A4 */ cpu->r[0] = cpu->lr;
|
|
/* 0285E6A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285E6A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E6A8 */ cpu->r[1] = _t0;
|
|
/* 0285E6AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E6AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285E6B0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E6B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285E6B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285E6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285E6B8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E6B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285E6BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E6BC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285E6BC */ if (_t5) goto L_0285E6C0; else goto L_0285E6D0;
|
|
L_0285E6C0: ; // 0x285e6c0
|
|
/* 0285E6C0 */ cpu->r[3] = 0x00000018u;
|
|
/* 0285E6C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285E6C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285E6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285E6CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E6CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285E6CC */ if (_t7) goto L_0285E710; else goto L_0285E6D0;
|
|
L_0285E6D0: ; // 0x285e6d0
|
|
/* 0285E6D0 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285E6D4 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0285E6D4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0285E6D8 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0285E6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E6DC */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 0285E6DC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0285E6E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E6E0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285E6E0 */ if (_t11) goto L_0285E6E4; else goto L_0285E6F4;
|
|
L_0285E6E4: ; // 0x285e6e4
|
|
/* 0285E6E4 */ cpu->r[3] = 0x00000008u;
|
|
/* 0285E6E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285E6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E6F0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E6F0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285E6F0 */ if (_t13) goto L_0285E70C; else goto L_0285E6F4;
|
|
L_0285E6F4: ; // 0x285e6f4
|
|
/* 0285E6F4 */ cpu->r[0] = 0x00000002u;
|
|
/* 0285E6F8 */ cpu->r[10] = 0x00000000u;
|
|
/* 0285E6FC */ cpu->ctr = cpu->r[0];
|
|
/* 0285E700 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFCu;
|
|
L_0285E704: ; // 0x285e704
|
|
/* 0285E704 */ _t14 = cpu->r[12] + 0x00000004u;
|
|
/* 0285E704 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 0285E704 */ cpu->r[12] = _t14;
|
|
/* 0285E708 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285E708 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285E708 */ _t16 = _t15 >> (0x00000002u & 31u);
|
|
/* 0285E708 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285E708 */ if (_t17) goto L_0285E704; else goto L_0285E70C;
|
|
L_0285E70C: ; // 0x285e70c
|
|
/* 0285E70C */ _t18 = cpu->r[31] + 0x00000008u;
|
|
/* 0285E70C */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]);
|
|
L_0285E710: ; // 0x285e710
|
|
/* 0285E710 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285E714 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E718 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E718 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285E71C */ cpu->lr = cpu->r[0];
|
|
/* 0285E720 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E720 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285E724 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285E728 */ return;
|
|
}
|
|
|
|
// fn_0285E6A8 @ 0x285e6a8
|
|
void Gambit_fn_0285E6A8(CPUState* cpu) {
|
|
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_0285E6A8: ; // 0x285e6a8
|
|
/* 0285E6A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285E6A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E6A8 */ cpu->r[1] = _t0;
|
|
/* 0285E6AC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E6AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285E6B0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E6B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285E6B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285E6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285E6B8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E6B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285E6BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E6BC */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285E6BC */ if (_t5) goto L_0285E6C0; else goto L_0285E6D0;
|
|
L_0285E6C0: ; // 0x285e6c0
|
|
/* 0285E6C0 */ cpu->r[3] = 0x00000018u;
|
|
/* 0285E6C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285E6C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285E6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285E6CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E6CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285E6CC */ if (_t7) goto L_0285E710; else goto L_0285E6D0;
|
|
L_0285E6D0: ; // 0x285e6d0
|
|
/* 0285E6D0 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285E6D4 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0285E6D4 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0285E6D8 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0285E6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E6DC */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 0285E6DC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0285E6E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E6E0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285E6E0 */ if (_t11) goto L_0285E6E4; else goto L_0285E6F4;
|
|
L_0285E6E4: ; // 0x285e6e4
|
|
/* 0285E6E4 */ cpu->r[3] = 0x00000008u;
|
|
/* 0285E6E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285E6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E6F0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E6F0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285E6F0 */ if (_t13) goto L_0285E70C; else goto L_0285E6F4;
|
|
L_0285E6F4: ; // 0x285e6f4
|
|
/* 0285E6F4 */ cpu->r[0] = 0x00000002u;
|
|
/* 0285E6F8 */ cpu->r[10] = 0x00000000u;
|
|
/* 0285E6FC */ cpu->ctr = cpu->r[0];
|
|
/* 0285E700 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFCu;
|
|
L_0285E704: ; // 0x285e704
|
|
/* 0285E704 */ _t14 = cpu->r[12] + 0x00000004u;
|
|
/* 0285E704 */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 0285E704 */ cpu->r[12] = _t14;
|
|
/* 0285E708 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285E708 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285E708 */ _t16 = _t15 >> (0x00000002u & 31u);
|
|
/* 0285E708 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285E708 */ if (_t17) goto L_0285E704; else goto L_0285E70C;
|
|
L_0285E70C: ; // 0x285e70c
|
|
/* 0285E70C */ _t18 = cpu->r[31] + 0x00000008u;
|
|
/* 0285E70C */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]);
|
|
L_0285E710: ; // 0x285e710
|
|
/* 0285E710 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285E714 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E718 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E718 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285E71C */ cpu->lr = cpu->r[0];
|
|
/* 0285E720 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E720 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285E724 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285E728 */ return;
|
|
}
|
|
|
|
// fn_0285E72C @ 0x285e72c
|
|
void Gambit_fn_0285E72C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285E72C: ; // 0x285e72c
|
|
/* 0285E72C */ cpu->r[0] = cpu->lr;
|
|
/* 0285E730 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285E730 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E730 */ cpu->r[1] = _t0;
|
|
/* 0285E734 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E734 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285E738 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E738 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285E73C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285E73C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285E740 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285E744 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E744 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285E748 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E748 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285E748 */ if (_t5) goto L_0285E764; else goto L_0285E74C;
|
|
L_0285E74C: ; // 0x285e74c
|
|
/* 0285E74C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0285E750 */ Gambit_fn_02869A2C(cpu);
|
|
/* 0285E754 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285E754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285E758 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E758 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285E758 */ if (_t7) goto L_0285E764; else goto L_0285E75C;
|
|
L_0285E75C: ; // 0x285e75c
|
|
/* 0285E75C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E760 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285E764: ; // 0x285e764
|
|
/* 0285E764 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285E768 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E768 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285E76C */ cpu->lr = cpu->r[0];
|
|
/* 0285E770 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E770 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285E774 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285E778 */ return;
|
|
}
|
|
|
|
// fn_0285E730 @ 0x285e730
|
|
void Gambit_fn_0285E730(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285E730: ; // 0x285e730
|
|
/* 0285E730 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285E730 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E730 */ cpu->r[1] = _t0;
|
|
/* 0285E734 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E734 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285E738 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E738 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285E73C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285E73C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285E740 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285E744 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E744 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285E748 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E748 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285E748 */ if (_t5) goto L_0285E764; else goto L_0285E74C;
|
|
L_0285E74C: ; // 0x285e74c
|
|
/* 0285E74C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0285E750 */ Gambit_fn_02869A2C(cpu);
|
|
/* 0285E754 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285E754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285E758 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E758 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285E758 */ if (_t7) goto L_0285E764; else goto L_0285E75C;
|
|
L_0285E75C: ; // 0x285e75c
|
|
/* 0285E75C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E760 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285E764: ; // 0x285e764
|
|
/* 0285E764 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285E768 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E768 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285E76C */ cpu->lr = cpu->r[0];
|
|
/* 0285E770 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E770 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285E774 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285E778 */ return;
|
|
}
|
|
|
|
// fn_0285E77C @ 0x285e77c
|
|
void Gambit_fn_0285E77C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0285E77C: ; // 0x285e77c
|
|
/* 0285E77C */ cpu->r[0] = 0x00000007u;
|
|
/* 0285E780 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 0285E784 */ cpu->ctr = cpu->r[0];
|
|
/* 0285E788 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_0285E78C: ; // 0x285e78c
|
|
/* 0285E78C */ _t0 = cpu->r[4] + 0x00000001u;
|
|
/* 0285E78C */ cpu->r[10] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0285E78C */ cpu->r[4] = _t0;
|
|
/* 0285E790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285E794 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E794 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285E794 */ if (_t2) goto L_0285E7A4; else goto L_0285E798;
|
|
L_0285E798: ; // 0x285e798
|
|
/* 0285E798 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 0285E798 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[10]);
|
|
/* 0285E79C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0285E7A0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285E7A0 */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285E7A0 */ _t5 = _t4 >> (0x00000002u & 31u);
|
|
/* 0285E7A0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285E7A0 */ if (_t6) goto L_0285E78C; else goto L_0285E7A4;
|
|
L_0285E7A4: ; // 0x285e7a4
|
|
/* 0285E7A4 */ cpu->r[11] = 0x00000000u;
|
|
/* 0285E7A8 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 0285E7A8 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]);
|
|
/* 0285E7AC */ return;
|
|
}
|
|
|
|
// fn_0285E7B0 @ 0x285e7b0
|
|
void Gambit_fn_0285E7B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0285E7B0: ; // 0x285e7b0
|
|
/* 0285E7B0 */ cpu->r[0] = cpu->lr;
|
|
/* 0285E7B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285E7B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E7B4 */ cpu->r[1] = _t0;
|
|
/* 0285E7B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E7B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285E7BC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E7BC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285E7C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285E7C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E7C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285E7C8 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 0285E7C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285E7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285E7D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E7D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285E7D0 */ if (_t6) goto L_0285E80C; else goto L_0285E7D4;
|
|
L_0285E7D4: ; // 0x285e7d4
|
|
/* 0285E7D4 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 0285E7D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285E7D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E7DC */ cpu->r[4] = cpu->r[30];
|
|
/* 0285E7E0 */ Gambit_fn_028541D4(cpu);
|
|
/* 0285E7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285E7E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E7E8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285E7E8 */ if (_t9) goto L_0285E800; else goto L_0285E7EC;
|
|
L_0285E7EC: ; // 0x285e7ec
|
|
/* 0285E7EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0285E7F0 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285E7F4 */ Gambit_fn_0285E72C(cpu);
|
|
/* 0285E7F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285E7FC */ Gambit_fn_02869EAC(cpu);
|
|
L_0285E800: ; // 0x285e800
|
|
/* 0285E800 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 0285E800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285E804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285E808 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E808 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285E808 */ if (_t12) goto L_0285E80C; else goto L_0285E7D4;
|
|
L_0285E80C: ; // 0x285e80c
|
|
/* 0285E80C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285E810 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E810 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285E814 */ cpu->lr = cpu->r[0];
|
|
/* 0285E818 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E818 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285E81C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285E820 */ return;
|
|
}
|
|
|
|
// fn_0285E7B4 @ 0x285e7b4
|
|
void Gambit_fn_0285E7B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0285E7B4: ; // 0x285e7b4
|
|
/* 0285E7B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285E7B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E7B4 */ cpu->r[1] = _t0;
|
|
/* 0285E7B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E7B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285E7BC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E7BC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285E7C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285E7C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E7C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285E7C8 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 0285E7C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285E7CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285E7D0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E7D0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285E7D0 */ if (_t6) goto L_0285E80C; else goto L_0285E7D4;
|
|
L_0285E7D4: ; // 0x285e7d4
|
|
/* 0285E7D4 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 0285E7D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285E7D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E7DC */ cpu->r[4] = cpu->r[30];
|
|
/* 0285E7E0 */ Gambit_fn_028541D4(cpu);
|
|
/* 0285E7E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285E7E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E7E8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285E7E8 */ if (_t9) goto L_0285E800; else goto L_0285E7EC;
|
|
L_0285E7EC: ; // 0x285e7ec
|
|
/* 0285E7EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0285E7F0 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285E7F4 */ Gambit_fn_0285E72C(cpu);
|
|
/* 0285E7F8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285E7FC */ Gambit_fn_02869EAC(cpu);
|
|
L_0285E800: ; // 0x285e800
|
|
/* 0285E800 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 0285E800 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285E804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285E808 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E808 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285E808 */ if (_t12) goto L_0285E80C; else goto L_0285E7D4;
|
|
L_0285E80C: ; // 0x285e80c
|
|
/* 0285E80C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E80C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285E810 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E810 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285E814 */ cpu->lr = cpu->r[0];
|
|
/* 0285E818 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E818 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285E81C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285E820 */ return;
|
|
}
|
|
|
|
// fn_0285E824 @ 0x285e824
|
|
void Gambit_fn_0285E824(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285E824: ; // 0x285e824
|
|
/* 0285E824 */ cpu->r[0] = cpu->lr;
|
|
/* 0285E828 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285E828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E828 */ cpu->r[1] = _t0;
|
|
/* 0285E82C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E82C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285E830 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E830 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285E834 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285E834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285E838 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285E83C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E83C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285E840 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E840 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285E840 */ if (_t5) goto L_0285E85C; else goto L_0285E844;
|
|
L_0285E844: ; // 0x285e844
|
|
/* 0285E844 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E848 */ Gambit_fn_0285E7B0(cpu);
|
|
/* 0285E84C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285E84C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285E850 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E850 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285E850 */ if (_t7) goto L_0285E85C; else goto L_0285E854;
|
|
L_0285E854: ; // 0x285e854
|
|
/* 0285E854 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E858 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285E85C: ; // 0x285e85c
|
|
/* 0285E85C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285E860 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285E864 */ cpu->lr = cpu->r[0];
|
|
/* 0285E868 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285E86C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285E870 */ return;
|
|
}
|
|
|
|
// fn_0285E828 @ 0x285e828
|
|
void Gambit_fn_0285E828(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285E828: ; // 0x285e828
|
|
/* 0285E828 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285E828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E828 */ cpu->r[1] = _t0;
|
|
/* 0285E82C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E82C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285E830 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E830 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285E834 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285E834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285E838 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285E83C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E83C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285E840 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E840 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285E840 */ if (_t5) goto L_0285E85C; else goto L_0285E844;
|
|
L_0285E844: ; // 0x285e844
|
|
/* 0285E844 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E848 */ Gambit_fn_0285E7B0(cpu);
|
|
/* 0285E84C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285E84C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285E850 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E850 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285E850 */ if (_t7) goto L_0285E85C; else goto L_0285E854;
|
|
L_0285E854: ; // 0x285e854
|
|
/* 0285E854 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E858 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285E85C: ; // 0x285e85c
|
|
/* 0285E85C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285E860 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285E864 */ cpu->lr = cpu->r[0];
|
|
/* 0285E868 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285E86C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285E870 */ return;
|
|
}
|
|
|
|
// fn_0285E874 @ 0x285e874
|
|
void Gambit_fn_0285E874(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_0285E874: ; // 0x285e874
|
|
/* 0285E874 */ cpu->r[0] = cpu->lr;
|
|
/* 0285E878 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285E878 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E878 */ cpu->r[1] = _t0;
|
|
/* 0285E87C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E87C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285E880 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E880 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285E884 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285E888 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285E88C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E88C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285E890 */ cpu->r[3] = 0x00000018u;
|
|
/* 0285E894 */ cpu->r[4] = 0x00000004u;
|
|
/* 0285E898 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E898 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285E89C */ Gambit_fn_02869E8C(cpu);
|
|
/* 0285E8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E8A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E8A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285E8A4 */ if (_t6) goto L_0285E8BC; else goto L_0285E8A8;
|
|
L_0285E8A8: ; // 0x285e8a8
|
|
/* 0285E8A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E8AC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E8AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285E8AC */ if (_t8) goto L_0285E8BC; else goto L_0285E8B0;
|
|
L_0285E8B0: ; // 0x285e8b0
|
|
/* 0285E8B0 */ Gambit_fn_0285E6A4(cpu);
|
|
/* 0285E8B4 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285E8B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285E8B8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E8B8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285E8B8 */ if (_t10) goto L_0285E8BC; else goto L_0285E8DC;
|
|
L_0285E8BC: ; // 0x285e8bc
|
|
/* 0285E8BC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E8BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285E8C0 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E8C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285E8C4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E8C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285E8C8 */ cpu->lr = cpu->r[0];
|
|
/* 0285E8CC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E8CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285E8D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285E8D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285E8D8 */ return;
|
|
L_0285E8DC: ; // 0x285e8dc
|
|
/* 0285E8DC */ cpu->r[4] = cpu->r[31];
|
|
/* 0285E8E0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285E8E4 */ Gambit_fn_0285E77C(cpu);
|
|
/* 0285E8E8 */ cpu->r[0] = cpu->r[30] + 0x00000004u;
|
|
/* 0285E8EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0285E8F0 */ cpu->r[5] = cpu->r[29];
|
|
/* 0285E8F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285E8F8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E8F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0285E8FC */ Gambit_fn_028541A8(cpu);
|
|
/* 0285E900 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 0285E904 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E904 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285E908 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285E90C */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E90C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285E910 */ cpu->lr = cpu->r[0];
|
|
/* 0285E914 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E914 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285E918 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285E91C */ return;
|
|
}
|
|
|
|
// fn_0285E878 @ 0x285e878
|
|
void Gambit_fn_0285E878(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_0285E878: ; // 0x285e878
|
|
/* 0285E878 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285E878 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E878 */ cpu->r[1] = _t0;
|
|
/* 0285E87C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E87C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285E880 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E880 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285E884 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285E888 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285E88C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E88C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285E890 */ cpu->r[3] = 0x00000018u;
|
|
/* 0285E894 */ cpu->r[4] = 0x00000004u;
|
|
/* 0285E898 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E898 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285E89C */ Gambit_fn_02869E8C(cpu);
|
|
/* 0285E8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E8A4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E8A4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285E8A4 */ if (_t6) goto L_0285E8BC; else goto L_0285E8A8;
|
|
L_0285E8A8: ; // 0x285e8a8
|
|
/* 0285E8A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E8AC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E8AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285E8AC */ if (_t8) goto L_0285E8BC; else goto L_0285E8B0;
|
|
L_0285E8B0: ; // 0x285e8b0
|
|
/* 0285E8B0 */ Gambit_fn_0285E6A4(cpu);
|
|
/* 0285E8B4 */ cpu->r[29] = cpu->r[3];
|
|
/* 0285E8B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285E8B8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E8B8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285E8B8 */ if (_t10) goto L_0285E8BC; else goto L_0285E8DC;
|
|
L_0285E8BC: ; // 0x285e8bc
|
|
/* 0285E8BC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E8BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285E8C0 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E8C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285E8C4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E8C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285E8C8 */ cpu->lr = cpu->r[0];
|
|
/* 0285E8CC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E8CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285E8D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285E8D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285E8D8 */ return;
|
|
L_0285E8DC: ; // 0x285e8dc
|
|
/* 0285E8DC */ cpu->r[4] = cpu->r[31];
|
|
/* 0285E8E0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285E8E4 */ Gambit_fn_0285E77C(cpu);
|
|
/* 0285E8E8 */ cpu->r[0] = cpu->r[30] + 0x00000004u;
|
|
/* 0285E8EC */ cpu->r[3] = cpu->r[30];
|
|
/* 0285E8F0 */ cpu->r[5] = cpu->r[29];
|
|
/* 0285E8F4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285E8F8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0285E8F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0285E8FC */ Gambit_fn_028541A8(cpu);
|
|
/* 0285E900 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 0285E904 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E904 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285E908 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285E90C */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E90C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285E910 */ cpu->lr = cpu->r[0];
|
|
/* 0285E914 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E914 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285E918 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285E91C */ return;
|
|
}
|
|
|
|
// fn_0285E920 @ 0x285e920
|
|
void Gambit_fn_0285E920(CPUState* 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_0285E920: ; // 0x285e920
|
|
/* 0285E920 */ cpu->r[0] = cpu->lr;
|
|
/* 0285E924 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285E924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E924 */ cpu->r[1] = _t0;
|
|
/* 0285E928 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E928 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285E92C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E92C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285E930 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E930 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285E934 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E934 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285E938 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0285E938 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285E93C */ cpu->r[29] = cpu->r[3] + 0x00000004u;
|
|
/* 0285E940 */ cpu->r[11] = cpu->r[30] ^ cpu->r[29];
|
|
/* 0285E944 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 0285E948 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285E94C */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 0285E950 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285E950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285E954 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285E958 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E958 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285E958 */ if (_t7) goto L_0285E9AC; else goto L_0285E95C;
|
|
L_0285E95C: ; // 0x285e95c
|
|
/* 0285E95C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E960 */ cpu->r[4] = cpu->r[30] + 0x00000008u;
|
|
/* 0285E964 */ Gambit_fn_0285E9CC(cpu);
|
|
/* 0285E968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E96C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E96C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285E96C */ if (_t9) goto L_0285E990; else goto L_0285E970;
|
|
L_0285E970: ; // 0x285e970
|
|
/* 0285E970 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E970 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285E974 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285E978 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 0285E97C */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E97C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285E980 */ cpu->lr = cpu->r[0];
|
|
/* 0285E984 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E984 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285E988 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285E98C */ return;
|
|
L_0285E990: ; // 0x285e990
|
|
/* 0285E990 */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 0285E990 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285E994 */ cpu->r[8] = cpu->r[30] ^ cpu->r[29];
|
|
/* 0285E998 */ cpu->r[0] = rbrew_clz32(cpu->r[8]);
|
|
/* 0285E99C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285E9A0 */ cpu->r[10] = cpu->r[7] ^ 0x00000001u;
|
|
/* 0285E9A4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285E9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285E9A8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E9A8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285E9A8 */ if (_t16) goto L_0285E9AC; else goto L_0285E95C;
|
|
L_0285E9AC: ; // 0x285e9ac
|
|
/* 0285E9AC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E9AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285E9B0 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E9B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285E9B4 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E9B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285E9B8 */ cpu->lr = cpu->r[0];
|
|
/* 0285E9BC */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E9BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285E9C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285E9C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285E9C8 */ return;
|
|
}
|
|
|
|
// fn_0285E924 @ 0x285e924
|
|
void Gambit_fn_0285E924(CPUState* 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_0285E924: ; // 0x285e924
|
|
/* 0285E924 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285E924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285E924 */ cpu->r[1] = _t0;
|
|
/* 0285E928 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E928 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285E92C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E92C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285E930 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E930 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285E934 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E934 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285E938 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0285E938 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285E93C */ cpu->r[29] = cpu->r[3] + 0x00000004u;
|
|
/* 0285E940 */ cpu->r[11] = cpu->r[30] ^ cpu->r[29];
|
|
/* 0285E944 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 0285E948 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285E94C */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 0285E950 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285E950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285E954 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285E958 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E958 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285E958 */ if (_t7) goto L_0285E9AC; else goto L_0285E95C;
|
|
L_0285E95C: ; // 0x285e95c
|
|
/* 0285E95C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285E960 */ cpu->r[4] = cpu->r[30] + 0x00000008u;
|
|
/* 0285E964 */ Gambit_fn_0285E9CC(cpu);
|
|
/* 0285E968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285E96C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E96C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285E96C */ if (_t9) goto L_0285E990; else goto L_0285E970;
|
|
L_0285E970: ; // 0x285e970
|
|
/* 0285E970 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E970 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285E974 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285E978 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 0285E97C */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E97C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285E980 */ cpu->lr = cpu->r[0];
|
|
/* 0285E984 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E984 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285E988 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285E98C */ return;
|
|
L_0285E990: ; // 0x285e990
|
|
/* 0285E990 */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 0285E990 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285E994 */ cpu->r[8] = cpu->r[30] ^ cpu->r[29];
|
|
/* 0285E998 */ cpu->r[0] = rbrew_clz32(cpu->r[8]);
|
|
/* 0285E99C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285E9A0 */ cpu->r[10] = cpu->r[7] ^ 0x00000001u;
|
|
/* 0285E9A4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285E9A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285E9A8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E9A8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285E9A8 */ if (_t16) goto L_0285E9AC; else goto L_0285E95C;
|
|
L_0285E9AC: ; // 0x285e9ac
|
|
/* 0285E9AC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285E9AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285E9B0 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285E9B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285E9B4 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0285E9B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285E9B8 */ cpu->lr = cpu->r[0];
|
|
/* 0285E9BC */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0285E9BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285E9C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285E9C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285E9C8 */ return;
|
|
}
|
|
|
|
// fn_0285E9CC @ 0x285e9cc
|
|
void Gambit_fn_0285E9CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285E9CC: ; // 0x285e9cc
|
|
/* 0285E9CC */ cpu->r[9] = 0x00000008u;
|
|
/* 0285E9D0 */ cpu->ctr = cpu->r[9];
|
|
/* 0285E9D4 */ cpu->r[12] = 0x00000000u;
|
|
L_0285E9D8: ; // 0x285e9d8
|
|
/* 0285E9D8 */ _t0 = cpu->r[3] + cpu->r[12];
|
|
/* 0285E9D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0285E9DC */ _t1 = cpu->r[4] + cpu->r[12];
|
|
/* 0285E9DC */ cpu->r[10] = rbrew_read8(cpu->mem, _t1);
|
|
/* 0285E9E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 0285E9E4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E9E4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285E9E4 */ if (_t3) goto L_0285E9F0; else goto L_0285E9E8;
|
|
L_0285E9E8: ; // 0x285e9e8
|
|
/* 0285E9E8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285E9EC */ return;
|
|
L_0285E9F0: ; // 0x285e9f0
|
|
/* 0285E9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285E9F4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285E9F4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285E9F4 */ if (_t5) goto L_0285EA00; else goto L_0285E9F8;
|
|
L_0285E9F8: ; // 0x285e9f8
|
|
/* 0285E9F8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0285E9FC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285E9FC */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285E9FC */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 0285E9FC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285E9FC */ if (_t8) goto L_0285E9D8; else goto L_0285EA00;
|
|
L_0285EA00: ; // 0x285ea00
|
|
/* 0285EA00 */ cpu->r[3] = 0x00000001u;
|
|
/* 0285EA04 */ return;
|
|
}
|
|
|
|
// fn_0285EA08 @ 0x285ea08
|
|
void Gambit_fn_0285EA08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0285EA08: ; // 0x285ea08
|
|
/* 0285EA08 */ cpu->r[0] = cpu->lr;
|
|
/* 0285EA0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285EA0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EA0C */ cpu->r[1] = _t0;
|
|
/* 0285EA10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EA10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285EA14 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EA18 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285EA1C */ cpu->r[4] = 0x00000002u;
|
|
/* 0285EA20 */ cpu->r[5] = 0x00000001u;
|
|
/* 0285EA24 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EA24 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285EA28 */ rbrew_dispatch(cpu, 0x02d05c20u);
|
|
/* 0285EA2C */ cpu->r[12] = 0x10130000u;
|
|
/* 0285EA30 */ _t3 = cpu->r[12] + 0x00004F94u;
|
|
/* 0285EA30 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 0285EA34 */ cpu->r[11] = 0x10130000u;
|
|
/* 0285EA38 */ cpu->f[3] = cpu->f[1];
|
|
/* 0285EA3C */ _t4 = cpu->r[11] + 0x00004F98u;
|
|
/* 0285EA3C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 0285EA40 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285EA44 */ rbrew_dispatch(cpu, 0x02d05c48u);
|
|
/* 0285EA48 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285EA4C */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285EA50 */ cpu->r[5] = cpu->r[4];
|
|
/* 0285EA54 */ rbrew_dispatch(cpu, 0x02d05c68u);
|
|
/* 0285EA58 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EA58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285EA5C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EA5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285EA60 */ cpu->lr = cpu->r[0];
|
|
/* 0285EA64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285EA68 */ return;
|
|
}
|
|
|
|
// fn_0285EA0C @ 0x285ea0c
|
|
void Gambit_fn_0285EA0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0285EA0C: ; // 0x285ea0c
|
|
/* 0285EA0C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285EA0C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EA0C */ cpu->r[1] = _t0;
|
|
/* 0285EA10 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EA10 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285EA14 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EA18 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285EA1C */ cpu->r[4] = 0x00000002u;
|
|
/* 0285EA20 */ cpu->r[5] = 0x00000001u;
|
|
/* 0285EA24 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EA24 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285EA28 */ rbrew_dispatch(cpu, 0x02d05c20u);
|
|
/* 0285EA2C */ cpu->r[12] = 0x10130000u;
|
|
/* 0285EA30 */ _t3 = cpu->r[12] + 0x00004F94u;
|
|
/* 0285EA30 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 0285EA34 */ cpu->r[11] = 0x10130000u;
|
|
/* 0285EA38 */ cpu->f[3] = cpu->f[1];
|
|
/* 0285EA3C */ _t4 = cpu->r[11] + 0x00004F98u;
|
|
/* 0285EA3C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 0285EA40 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285EA44 */ rbrew_dispatch(cpu, 0x02d05c48u);
|
|
/* 0285EA48 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285EA4C */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285EA50 */ cpu->r[5] = cpu->r[4];
|
|
/* 0285EA54 */ rbrew_dispatch(cpu, 0x02d05c68u);
|
|
/* 0285EA58 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EA58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285EA5C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EA5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285EA60 */ cpu->lr = cpu->r[0];
|
|
/* 0285EA64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285EA68 */ return;
|
|
}
|
|
|
|
// fn_0285EA6C @ 0x285ea6c
|
|
void Gambit_fn_0285EA6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0285EA6C: ; // 0x285ea6c
|
|
/* 0285EA6C */ cpu->r[0] = cpu->lr;
|
|
/* 0285EA70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285EA70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EA70 */ cpu->r[1] = _t0;
|
|
/* 0285EA74 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EA74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285EA78 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EA78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285EA7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EA7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285EA80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EA80 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285EA80 */ if (_t4) goto L_0285EA84; else goto L_0285EA94;
|
|
L_0285EA84: ; // 0x285ea84
|
|
/* 0285EA84 */ cpu->r[3] = 0x0000001Cu;
|
|
/* 0285EA88 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285EA8C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285EA90 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EA90 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285EA90 */ if (_t6) goto L_0285EAB8; else goto L_0285EA94;
|
|
L_0285EA94: ; // 0x285ea94
|
|
/* 0285EA94 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285EA98 */ cpu->r[12] = 0x0000031Au;
|
|
/* 0285EA9C */ _t7 = cpu->r[31] + 0x00000006u;
|
|
/* 0285EA9C */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[0]);
|
|
/* 0285EAA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EAA4 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0285EAA4 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[0]);
|
|
/* 0285EAA8 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 0285EAA8 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[12]);
|
|
/* 0285EAAC */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 0285EAAC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0285EAB0 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0285EAB0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0285EAB4 */ Gambit_fn_0285EA08(cpu);
|
|
L_0285EAB8: ; // 0x285eab8
|
|
/* 0285EAB8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285EABC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EAC0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EAC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285EAC4 */ cpu->lr = cpu->r[0];
|
|
/* 0285EAC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285EACC */ return;
|
|
}
|
|
|
|
// fn_0285EA70 @ 0x285ea70
|
|
void Gambit_fn_0285EA70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0285EA70: ; // 0x285ea70
|
|
/* 0285EA70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285EA70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EA70 */ cpu->r[1] = _t0;
|
|
/* 0285EA74 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EA74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285EA78 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EA78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285EA7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EA7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285EA80 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EA80 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285EA80 */ if (_t4) goto L_0285EA84; else goto L_0285EA94;
|
|
L_0285EA84: ; // 0x285ea84
|
|
/* 0285EA84 */ cpu->r[3] = 0x0000001Cu;
|
|
/* 0285EA88 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285EA8C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285EA90 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EA90 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285EA90 */ if (_t6) goto L_0285EAB8; else goto L_0285EA94;
|
|
L_0285EA94: ; // 0x285ea94
|
|
/* 0285EA94 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285EA98 */ cpu->r[12] = 0x0000031Au;
|
|
/* 0285EA9C */ _t7 = cpu->r[31] + 0x00000006u;
|
|
/* 0285EA9C */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[0]);
|
|
/* 0285EAA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EAA4 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 0285EAA4 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[0]);
|
|
/* 0285EAA8 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 0285EAA8 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[12]);
|
|
/* 0285EAAC */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 0285EAAC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0285EAB0 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 0285EAB0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0285EAB4 */ Gambit_fn_0285EA08(cpu);
|
|
L_0285EAB8: ; // 0x285eab8
|
|
/* 0285EAB8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285EABC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EAC0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EAC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285EAC4 */ cpu->lr = cpu->r[0];
|
|
/* 0285EAC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285EACC */ return;
|
|
}
|
|
|
|
// fn_0285EAD0 @ 0x285ead0
|
|
void Gambit_fn_0285EAD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285EAD0: ; // 0x285ead0
|
|
/* 0285EAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285EAD4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EAD4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0285EAD4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285EAD4 */ goto L_0285EAD8;
|
|
L_0285EAD8: ; // 0x285ead8
|
|
/* 0285EAD8 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 0285EAD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0285EADC */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0285EADC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285EAE0 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 0285EAE0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t4);
|
|
/* 0285EAE4 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0285EAE4 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[0]);
|
|
/* 0285EAE8 */ _t6 = cpu->r[4] + 0x00000006u;
|
|
/* 0285EAE8 */ cpu->r[10] = rbrew_read16(cpu->mem, _t6);
|
|
/* 0285EAEC */ cpu->r[12] = cpu->r[4] + 0x0000000Cu;
|
|
/* 0285EAF0 */ _t7 = cpu->r[3] + 0x00000006u;
|
|
/* 0285EAF0 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[10]);
|
|
/* 0285EAF4 */ _t8 = cpu->r[4] + 0x00000008u;
|
|
/* 0285EAF4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0285EAF8 */ _t9 = cpu->r[3] + 0x00000018u;
|
|
/* 0285EAF8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 0285EAFC */ _t10 = cpu->r[3] + 0x00000009u;
|
|
/* 0285EAFC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]);
|
|
/* 0285EB00 */ return;
|
|
}
|
|
|
|
// fn_0285EB18 @ 0x285eb18
|
|
void Gambit_fn_0285EB18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0285EB18: ; // 0x285eb18
|
|
/* 0285EB18 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285EB1C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0285EB1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285EB20 */ cpu->r[9] = cpu->r[5];
|
|
/* 0285EB24 */ cpu->r[0] = cpu->r[0] + 0x00004F9Cu;
|
|
/* 0285EB28 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285EB28 */ _t2 = cpu->r[9] & 0x00000003u;
|
|
/* 0285EB28 */ cpu->r[9] = _t2 | _t1;
|
|
/* 0285EB2C */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285EB30 */ _t3 = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x00000000u, 0x00000003u);
|
|
/* 0285EB30 */ _t4 = cpu->r[10] & 0x0FFFFFFFu;
|
|
/* 0285EB30 */ cpu->r[10] = _t4 | _t3;
|
|
/* 0285EB34 */ cpu->r[12] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285EB38 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 0285EB38 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 0285EB3C */ _t6 = cpu->r[8] + cpu->r[0];
|
|
/* 0285EB3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285EB40 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285EB44 */ _t7 = cpu->r[12] + cpu->r[0];
|
|
/* 0285EB44 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285EB48 */ cpu->r[6] = 0x00000002u;
|
|
/* 0285EB4C */ rbrew_dispatch(cpu, 0x02d05c30u); return;
|
|
}
|
|
|
|
// fn_0285EB50 @ 0x285eb50
|
|
void Gambit_fn_0285EB50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0285EB50: ; // 0x285eb50
|
|
/* 0285EB50 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285EB54 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0285EB54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285EB58 */ cpu->r[9] = cpu->r[5];
|
|
/* 0285EB5C */ cpu->r[0] = cpu->r[0] + 0x00004FA8u;
|
|
/* 0285EB60 */ _t1 = rbrew_rlwinm(cpu->r[4], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0285EB60 */ _t2 = cpu->r[9] & 0x00000001u;
|
|
/* 0285EB60 */ cpu->r[9] = _t2 | _t1;
|
|
/* 0285EB64 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285EB68 */ _t3 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000004u, 0x00000007u);
|
|
/* 0285EB68 */ _t4 = cpu->r[10] & 0xF0FFFFFFu;
|
|
/* 0285EB68 */ cpu->r[10] = _t4 | _t3;
|
|
/* 0285EB6C */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0285EB70 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 0285EB70 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 0285EB74 */ _t6 = cpu->r[8] + cpu->r[0];
|
|
/* 0285EB74 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285EB78 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285EB7C */ _t7 = cpu->r[12] + cpu->r[0];
|
|
/* 0285EB7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285EB80 */ cpu->r[6] = 0x00000000u;
|
|
/* 0285EB84 */ rbrew_dispatch(cpu, 0x02d05c60u); return;
|
|
}
|
|
|
|
// fn_0285EB88 @ 0x285eb88
|
|
void Gambit_fn_0285EB88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0285EB88: ; // 0x285eb88
|
|
/* 0285EB88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285EB88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EB88 */ cpu->r[1] = _t0;
|
|
/* 0285EB8C */ _t1 = cpu->r[3] + 0x00000006u;
|
|
/* 0285EB8C */ cpu->r[10] = rbrew_read16(cpu->mem, _t1);
|
|
/* 0285EB90 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 0285EB90 */ cpu->r[8] = rbrew_read16(cpu->mem, _t2);
|
|
/* 0285EB94 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 0285EB94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285EB98 */ _t4 = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 0285EB98 */ _t5 = cpu->r[6] & 0x0000FFFFu;
|
|
/* 0285EB98 */ cpu->r[6] = _t5 | _t4;
|
|
/* 0285EB9C */ _t6 = cpu->r[3] + 0x00000009u;
|
|
/* 0285EB9C */ cpu->r[8] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0285EBA0 */ _t7 = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 0285EBA0 */ _t8 = cpu->r[6] & 0xFFFF0000u;
|
|
/* 0285EBA0 */ cpu->r[6] = _t8 | _t7;
|
|
/* 0285EBA4 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 0285EBA4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 0285EBA8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 0285EBA8 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 0285EBAC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0285EBAC */ cpu->r[9] = rbrew_read16(cpu->mem, _t11);
|
|
/* 0285EBB0 */ _t12 = cpu->r[1] + 0x0000000Au;
|
|
/* 0285EBB0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t12);
|
|
/* 0285EBB4 */ _t13 = cpu->r[4] + 0x00000004u;
|
|
/* 0285EBB4 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[9]);
|
|
/* 0285EBB8 */ _t14 = cpu->r[4] + 0x00000008u;
|
|
/* 0285EBB8 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[8]);
|
|
/* 0285EBBC */ _t15 = cpu->r[4] + 0x00000006u;
|
|
/* 0285EBBC */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[0]);
|
|
/* 0285EBC0 */ cpu->r[0] = 0x0000000Du;
|
|
/* 0285EBC4 */ _t16 = cpu->r[3] + 0x00000018u;
|
|
/* 0285EBC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285EBC8 */ cpu->r[10] = cpu->r[4] + 0x00000008u;
|
|
/* 0285EBCC */ cpu->ctr = cpu->r[0];
|
|
/* 0285EBD0 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFCu;
|
|
L_0285EBD4: ; // 0x285ebd4
|
|
/* 0285EBD4 */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 0285EBD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285EBD8 */ _t18 = cpu->r[10] + 0x00000004u;
|
|
/* 0285EBD8 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 0285EBDC */ _t19 = cpu->r[12] + 0x00000008u;
|
|
/* 0285EBDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285EBE0 */ _t20 = cpu->r[10] + 0x00000008u;
|
|
/* 0285EBE0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 0285EBE4 */ _t21 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0285EBE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285EBE4 */ cpu->r[12] = _t21;
|
|
/* 0285EBE8 */ _t22 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0285EBE8 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 0285EBE8 */ cpu->r[10] = _t22;
|
|
/* 0285EBEC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285EBEC */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285EBEC */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 0285EBEC */ _t25 = _t24 & 0x00000001u;
|
|
/* 0285EBEC */ if (_t25) goto L_0285EBD4; else goto L_0285EBF0;
|
|
L_0285EBF0: ; // 0x285ebf0
|
|
/* 0285EBF0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285EBF4 */ return;
|
|
}
|
|
|
|
// fn_0285EBF8 @ 0x285ebf8
|
|
void Gambit_fn_0285EBF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0285EBF8: ; // 0x285ebf8
|
|
/* 0285EBF8 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 0285EBF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285EBFC */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0285EBFC */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 0285EC00 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 0285EC00 */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 0285EC04 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0285EC04 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[0]);
|
|
/* 0285EC08 */ _t4 = cpu->r[4] + 0x00000006u;
|
|
/* 0285EC08 */ cpu->r[11] = rbrew_read16(cpu->mem, _t4);
|
|
/* 0285EC0C */ _t5 = cpu->r[3] + 0x00000006u;
|
|
/* 0285EC0C */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[11]);
|
|
/* 0285EC10 */ _t6 = cpu->r[4] + 0x00000009u;
|
|
/* 0285EC10 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0285EC14 */ _t7 = cpu->r[3] + 0x00000009u;
|
|
/* 0285EC14 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 0285EC18 */ _t8 = cpu->r[4] + 0x00000018u;
|
|
/* 0285EC18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285EC1C */ _t9 = cpu->r[3] + 0x00000018u;
|
|
/* 0285EC1C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 0285EC20 */ return;
|
|
}
|
|
|
|
// fn_0285EC24 @ 0x285ec24
|
|
void Gambit_fn_0285EC24(CPUState* 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_0285EC24: ; // 0x285ec24
|
|
/* 0285EC24 */ cpu->r[0] = cpu->lr;
|
|
/* 0285EC28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285EC28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EC28 */ cpu->r[1] = _t0;
|
|
/* 0285EC2C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EC2C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285EC30 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285EC30 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285EC34 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EC34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285EC38 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EC38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285EC3C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EC3C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285EC3C */ if (_t5) goto L_0285EC40; else goto L_0285EC50;
|
|
L_0285EC40: ; // 0x285ec40
|
|
/* 0285EC40 */ cpu->r[3] = 0x00000130u;
|
|
/* 0285EC44 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285EC48 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285EC4C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EC4C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285EC4C */ if (_t7) goto L_0285EC84; else goto L_0285EC50;
|
|
L_0285EC50: ; // 0x285ec50
|
|
/* 0285EC50 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285EC54 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0285EC54 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0285EC58 */ cpu->r[3] = cpu->r[31] + 0x00000088u;
|
|
/* 0285EC58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285EC5C */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 0285EC5C */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0285EC60 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EC60 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285EC60 */ if (_t11) goto L_0285EC64; else goto L_0285EC74;
|
|
L_0285EC64: ; // 0x285ec64
|
|
/* 0285EC64 */ cpu->r[3] = 0x000000A8u;
|
|
/* 0285EC68 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285EC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285EC70 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EC70 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285EC70 */ if (_t13) goto L_0285EC80; else goto L_0285EC74;
|
|
L_0285EC74: ; // 0x285ec74
|
|
/* 0285EC74 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 0285EC74 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[30]);
|
|
/* 0285EC78 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0285EC78 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 0285EC7C */ _t16 = cpu->r[3] + 0x00000006u;
|
|
/* 0285EC7C */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[30]);
|
|
L_0285EC80: ; // 0x285ec80
|
|
/* 0285EC80 */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 0285EC80 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[30]);
|
|
L_0285EC84: ; // 0x285ec84
|
|
/* 0285EC84 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EC84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285EC88 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EC8C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EC8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285EC90 */ cpu->lr = cpu->r[0];
|
|
/* 0285EC94 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0285EC94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285EC98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285EC9C */ return;
|
|
}
|
|
|
|
// fn_0285EC28 @ 0x285ec28
|
|
void Gambit_fn_0285EC28(CPUState* 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_0285EC28: ; // 0x285ec28
|
|
/* 0285EC28 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285EC28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EC28 */ cpu->r[1] = _t0;
|
|
/* 0285EC2C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EC2C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285EC30 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285EC30 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285EC34 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EC34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285EC38 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EC38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285EC3C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EC3C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285EC3C */ if (_t5) goto L_0285EC40; else goto L_0285EC50;
|
|
L_0285EC40: ; // 0x285ec40
|
|
/* 0285EC40 */ cpu->r[3] = 0x00000130u;
|
|
/* 0285EC44 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285EC48 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285EC4C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EC4C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285EC4C */ if (_t7) goto L_0285EC84; else goto L_0285EC50;
|
|
L_0285EC50: ; // 0x285ec50
|
|
/* 0285EC50 */ cpu->r[30] = 0x00000000u;
|
|
/* 0285EC54 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 0285EC54 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0285EC58 */ cpu->r[3] = cpu->r[31] + 0x00000088u;
|
|
/* 0285EC58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285EC5C */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 0285EC5C */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 0285EC60 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EC60 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0285EC60 */ if (_t11) goto L_0285EC64; else goto L_0285EC74;
|
|
L_0285EC64: ; // 0x285ec64
|
|
/* 0285EC64 */ cpu->r[3] = 0x000000A8u;
|
|
/* 0285EC68 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285EC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285EC70 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EC70 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285EC70 */ if (_t13) goto L_0285EC80; else goto L_0285EC74;
|
|
L_0285EC74: ; // 0x285ec74
|
|
/* 0285EC74 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 0285EC74 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[30]);
|
|
/* 0285EC78 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 0285EC78 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 0285EC7C */ _t16 = cpu->r[3] + 0x00000006u;
|
|
/* 0285EC7C */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[30]);
|
|
L_0285EC80: ; // 0x285ec80
|
|
/* 0285EC80 */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 0285EC80 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[30]);
|
|
L_0285EC84: ; // 0x285ec84
|
|
/* 0285EC84 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EC84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285EC88 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EC8C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EC8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285EC90 */ cpu->lr = cpu->r[0];
|
|
/* 0285EC94 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0285EC94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285EC98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285EC9C */ return;
|
|
}
|
|
|
|
// fn_0285ECA0 @ 0x285eca0
|
|
void Gambit_fn_0285ECA0(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_0285ECA0: ; // 0x285eca0
|
|
/* 0285ECA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285ECA4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285ECA4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285ECA4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285ECA4 */ goto L_0285ECA8;
|
|
L_0285ECA8: ; // 0x285eca8
|
|
/* 0285ECA8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285ECA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285ECAC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285ECAC */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285ECAC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285ECAC */ goto L_0285ECB0;
|
|
L_0285ECB0: ; // 0x285ecb0
|
|
/* 0285ECB0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0285ECB4 @ 0x285ecb4
|
|
void Gambit_fn_0285ECB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0285ECB4: ; // 0x285ecb4
|
|
/* 0285ECB4 */ cpu->r[0] = 0x0000007Fu;
|
|
/* 0285ECB8 */ cpu->r[12] = cpu->r[3] + 0x00000008u;
|
|
/* 0285ECBC */ cpu->ctr = cpu->r[0];
|
|
/* 0285ECC0 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_0285ECC4: ; // 0x285ecc4
|
|
/* 0285ECC4 */ _t0 = cpu->r[4] + 0x00000001u;
|
|
/* 0285ECC4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0285ECC4 */ cpu->r[4] = _t0;
|
|
/* 0285ECC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285ECCC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285ECCC */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285ECCC */ if (_t2) goto L_0285ECDC; else goto L_0285ECD0;
|
|
L_0285ECD0: ; // 0x285ecd0
|
|
/* 0285ECD0 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 0285ECD0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[10]);
|
|
/* 0285ECD4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0285ECD8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285ECD8 */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285ECD8 */ _t5 = _t4 >> (0x00000002u & 31u);
|
|
/* 0285ECD8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285ECD8 */ if (_t6) goto L_0285ECC4; else goto L_0285ECDC;
|
|
L_0285ECDC: ; // 0x285ecdc
|
|
/* 0285ECDC */ cpu->r[11] = 0x00000000u;
|
|
/* 0285ECE0 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 0285ECE0 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]);
|
|
/* 0285ECE4 */ return;
|
|
}
|
|
|
|
// fn_0285ECE8 @ 0x285ece8
|
|
void Gambit_fn_0285ECE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0285ECE8: ; // 0x285ece8
|
|
/* 0285ECE8 */ cpu->r[0] = cpu->lr;
|
|
/* 0285ECEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285ECEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285ECEC */ cpu->r[1] = _t0;
|
|
/* 0285ECF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285ECF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285ECF4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285ECF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285ECF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285ECFC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285ECFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285ED00 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 0285ED00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285ED04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285ED08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285ED08 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285ED08 */ if (_t6) goto L_0285ED44; else goto L_0285ED0C;
|
|
L_0285ED0C: ; // 0x285ed0c
|
|
/* 0285ED0C */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 0285ED0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285ED10 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285ED14 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285ED18 */ Gambit_fn_028541D4(cpu);
|
|
/* 0285ED1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285ED20 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285ED20 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285ED20 */ if (_t9) goto L_0285ED38; else goto L_0285ED24;
|
|
L_0285ED24: ; // 0x285ed24
|
|
/* 0285ED24 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285ED28 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285ED2C */ Gambit_fn_0285ECA0(cpu);
|
|
/* 0285ED30 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285ED34 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285ED38: ; // 0x285ed38
|
|
/* 0285ED38 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 0285ED38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285ED3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285ED40 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285ED40 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285ED40 */ if (_t12) goto L_0285ED44; else goto L_0285ED0C;
|
|
L_0285ED44: ; // 0x285ed44
|
|
/* 0285ED44 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285ED44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285ED48 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0285ED48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285ED4C */ cpu->lr = cpu->r[0];
|
|
/* 0285ED50 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285ED50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285ED54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285ED58 */ return;
|
|
}
|
|
|
|
// fn_0285ECEC @ 0x285ecec
|
|
void Gambit_fn_0285ECEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0285ECEC: ; // 0x285ecec
|
|
/* 0285ECEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285ECEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285ECEC */ cpu->r[1] = _t0;
|
|
/* 0285ECF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285ECF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285ECF4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285ECF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285ECF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285ECFC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285ECFC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285ED00 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 0285ED00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285ED04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285ED08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285ED08 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285ED08 */ if (_t6) goto L_0285ED44; else goto L_0285ED0C;
|
|
L_0285ED0C: ; // 0x285ed0c
|
|
/* 0285ED0C */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 0285ED0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285ED10 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285ED14 */ cpu->r[4] = cpu->r[30];
|
|
/* 0285ED18 */ Gambit_fn_028541D4(cpu);
|
|
/* 0285ED1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285ED20 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285ED20 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285ED20 */ if (_t9) goto L_0285ED38; else goto L_0285ED24;
|
|
L_0285ED24: ; // 0x285ed24
|
|
/* 0285ED24 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285ED28 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285ED2C */ Gambit_fn_0285ECA0(cpu);
|
|
/* 0285ED30 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285ED34 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285ED38: ; // 0x285ed38
|
|
/* 0285ED38 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 0285ED38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285ED3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285ED40 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285ED40 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285ED40 */ if (_t12) goto L_0285ED44; else goto L_0285ED0C;
|
|
L_0285ED44: ; // 0x285ed44
|
|
/* 0285ED44 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285ED44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285ED48 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0285ED48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285ED4C */ cpu->lr = cpu->r[0];
|
|
/* 0285ED50 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285ED50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285ED54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285ED58 */ return;
|
|
}
|
|
|
|
// fn_0285ED5C @ 0x285ed5c
|
|
void Gambit_fn_0285ED5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285ED5C: ; // 0x285ed5c
|
|
/* 0285ED5C */ cpu->r[0] = cpu->lr;
|
|
/* 0285ED60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285ED60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285ED60 */ cpu->r[1] = _t0;
|
|
/* 0285ED64 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285ED64 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285ED68 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285ED68 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285ED6C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285ED6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285ED70 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285ED74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285ED74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285ED78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285ED78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285ED78 */ if (_t5) goto L_0285ED94; else goto L_0285ED7C;
|
|
L_0285ED7C: ; // 0x285ed7c
|
|
/* 0285ED7C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285ED80 */ Gambit_fn_0285ECE8(cpu);
|
|
/* 0285ED84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285ED84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285ED88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285ED88 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285ED88 */ if (_t7) goto L_0285ED94; else goto L_0285ED8C;
|
|
L_0285ED8C: ; // 0x285ed8c
|
|
/* 0285ED8C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285ED90 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285ED94: ; // 0x285ed94
|
|
/* 0285ED94 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285ED94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285ED98 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285ED98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285ED9C */ cpu->lr = cpu->r[0];
|
|
/* 0285EDA0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EDA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285EDA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285EDA8 */ return;
|
|
}
|
|
|
|
// fn_0285ED60 @ 0x285ed60
|
|
void Gambit_fn_0285ED60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285ED60: ; // 0x285ed60
|
|
/* 0285ED60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285ED60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285ED60 */ cpu->r[1] = _t0;
|
|
/* 0285ED64 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285ED64 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285ED68 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285ED68 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285ED6C */ cpu->r[31] = cpu->r[3];
|
|
/* 0285ED6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285ED70 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285ED74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285ED74 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285ED78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285ED78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285ED78 */ if (_t5) goto L_0285ED94; else goto L_0285ED7C;
|
|
L_0285ED7C: ; // 0x285ed7c
|
|
/* 0285ED7C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285ED80 */ Gambit_fn_0285ECE8(cpu);
|
|
/* 0285ED84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285ED84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285ED88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285ED88 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285ED88 */ if (_t7) goto L_0285ED94; else goto L_0285ED8C;
|
|
L_0285ED8C: ; // 0x285ed8c
|
|
/* 0285ED8C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285ED90 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285ED94: ; // 0x285ed94
|
|
/* 0285ED94 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285ED94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285ED98 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285ED98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285ED9C */ cpu->lr = cpu->r[0];
|
|
/* 0285EDA0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EDA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285EDA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285EDA8 */ return;
|
|
}
|
|
|
|
// fn_0285EDAC @ 0x285edac
|
|
void Gambit_fn_0285EDAC(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_0285EDAC: ; // 0x285edac
|
|
/* 0285EDAC */ cpu->r[0] = cpu->lr;
|
|
/* 0285EDB0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285EDB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EDB0 */ cpu->r[1] = _t0;
|
|
/* 0285EDB4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EDB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285EDB8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EDB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285EDBC */ cpu->r[30] = cpu->r[3];
|
|
/* 0285EDC0 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285EDC4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EDC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285EDC8 */ cpu->r[3] = 0x00000130u;
|
|
/* 0285EDCC */ cpu->r[4] = 0x00000004u;
|
|
/* 0285EDD0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EDD0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285EDD4 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0285EDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285EDDC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EDDC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285EDDC */ if (_t6) goto L_0285EDF4; else goto L_0285EDE0;
|
|
L_0285EDE0: ; // 0x285ede0
|
|
/* 0285EDE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285EDE4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EDE4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285EDE4 */ if (_t8) goto L_0285EDF4; else goto L_0285EDE8;
|
|
L_0285EDE8: ; // 0x285ede8
|
|
/* 0285EDE8 */ Gambit_fn_0285EC24(cpu);
|
|
/* 0285EDEC */ cpu->r[29] = cpu->r[3];
|
|
/* 0285EDEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285EDF0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EDF0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285EDF0 */ if (_t10) goto L_0285EDF4; else goto L_0285EE14;
|
|
L_0285EDF4: ; // 0x285edf4
|
|
/* 0285EDF4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EDF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285EDF8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EDF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285EDFC */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EDFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285EE00 */ cpu->lr = cpu->r[0];
|
|
/* 0285EE04 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EE04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285EE08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285EE0C */ cpu->r[3] = 0x00000000u;
|
|
/* 0285EE10 */ return;
|
|
L_0285EE14: ; // 0x285ee14
|
|
/* 0285EE14 */ cpu->r[4] = cpu->r[31];
|
|
/* 0285EE18 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285EE1C */ Gambit_fn_0285ECB4(cpu);
|
|
/* 0285EE20 */ cpu->r[0] = cpu->r[30] + 0x00000004u;
|
|
/* 0285EE24 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285EE28 */ cpu->r[5] = cpu->r[29];
|
|
/* 0285EE2C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285EE30 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0285EE30 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0285EE34 */ Gambit_fn_028541A8(cpu);
|
|
/* 0285EE38 */ cpu->r[3] = cpu->r[29] + 0x00000088u;
|
|
/* 0285EE3C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EE3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285EE40 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285EE44 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EE44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285EE48 */ cpu->lr = cpu->r[0];
|
|
/* 0285EE4C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EE4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285EE50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285EE54 */ return;
|
|
}
|
|
|
|
// fn_0285EDB0 @ 0x285edb0
|
|
void Gambit_fn_0285EDB0(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_0285EDB0: ; // 0x285edb0
|
|
/* 0285EDB0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285EDB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EDB0 */ cpu->r[1] = _t0;
|
|
/* 0285EDB4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EDB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285EDB8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EDB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285EDBC */ cpu->r[30] = cpu->r[3];
|
|
/* 0285EDC0 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285EDC4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EDC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285EDC8 */ cpu->r[3] = 0x00000130u;
|
|
/* 0285EDCC */ cpu->r[4] = 0x00000004u;
|
|
/* 0285EDD0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EDD0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285EDD4 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0285EDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285EDDC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EDDC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285EDDC */ if (_t6) goto L_0285EDF4; else goto L_0285EDE0;
|
|
L_0285EDE0: ; // 0x285ede0
|
|
/* 0285EDE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285EDE4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EDE4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285EDE4 */ if (_t8) goto L_0285EDF4; else goto L_0285EDE8;
|
|
L_0285EDE8: ; // 0x285ede8
|
|
/* 0285EDE8 */ Gambit_fn_0285EC24(cpu);
|
|
/* 0285EDEC */ cpu->r[29] = cpu->r[3];
|
|
/* 0285EDEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0285EDF0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EDF0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285EDF0 */ if (_t10) goto L_0285EDF4; else goto L_0285EE14;
|
|
L_0285EDF4: ; // 0x285edf4
|
|
/* 0285EDF4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EDF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285EDF8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EDF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285EDFC */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EDFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285EE00 */ cpu->lr = cpu->r[0];
|
|
/* 0285EE04 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EE04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285EE08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285EE0C */ cpu->r[3] = 0x00000000u;
|
|
/* 0285EE10 */ return;
|
|
L_0285EE14: ; // 0x285ee14
|
|
/* 0285EE14 */ cpu->r[4] = cpu->r[31];
|
|
/* 0285EE18 */ cpu->r[3] = cpu->r[29];
|
|
/* 0285EE1C */ Gambit_fn_0285ECB4(cpu);
|
|
/* 0285EE20 */ cpu->r[0] = cpu->r[30] + 0x00000004u;
|
|
/* 0285EE24 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285EE28 */ cpu->r[5] = cpu->r[29];
|
|
/* 0285EE2C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285EE30 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0285EE30 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0285EE34 */ Gambit_fn_028541A8(cpu);
|
|
/* 0285EE38 */ cpu->r[3] = cpu->r[29] + 0x00000088u;
|
|
/* 0285EE3C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EE3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285EE40 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285EE44 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EE44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285EE48 */ cpu->lr = cpu->r[0];
|
|
/* 0285EE4C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EE4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285EE50 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285EE54 */ return;
|
|
}
|
|
|
|
// fn_0285EE58 @ 0x285ee58
|
|
void Gambit_fn_0285EE58(CPUState* 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_0285EE58: ; // 0x285ee58
|
|
/* 0285EE58 */ cpu->r[0] = cpu->lr;
|
|
/* 0285EE5C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285EE5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EE5C */ cpu->r[1] = _t0;
|
|
/* 0285EE60 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EE60 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285EE64 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EE64 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285EE68 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EE68 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285EE6C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EE6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285EE70 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0285EE70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285EE74 */ cpu->r[29] = cpu->r[3] + 0x00000004u;
|
|
/* 0285EE78 */ cpu->r[11] = cpu->r[30] ^ cpu->r[29];
|
|
/* 0285EE7C */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 0285EE80 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285EE84 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 0285EE88 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285EE88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285EE8C */ cpu->r[31] = cpu->r[4];
|
|
/* 0285EE90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EE90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285EE90 */ if (_t7) goto L_0285EEE4; else goto L_0285EE94;
|
|
L_0285EE94: ; // 0x285ee94
|
|
/* 0285EE94 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EE98 */ cpu->r[4] = cpu->r[30] + 0x00000008u;
|
|
/* 0285EE9C */ Gambit_fn_0285D35C(cpu);
|
|
/* 0285EEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285EEA4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EEA4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285EEA4 */ if (_t9) goto L_0285EEC8; else goto L_0285EEA8;
|
|
L_0285EEA8: ; // 0x285eea8
|
|
/* 0285EEA8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EEA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285EEAC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285EEB0 */ cpu->r[3] = cpu->r[30] + 0x00000088u;
|
|
/* 0285EEB4 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EEB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285EEB8 */ cpu->lr = cpu->r[0];
|
|
/* 0285EEBC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EEBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285EEC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285EEC4 */ return;
|
|
L_0285EEC8: ; // 0x285eec8
|
|
/* 0285EEC8 */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 0285EEC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285EECC */ cpu->r[8] = cpu->r[30] ^ cpu->r[29];
|
|
/* 0285EED0 */ cpu->r[0] = rbrew_clz32(cpu->r[8]);
|
|
/* 0285EED4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285EED8 */ cpu->r[10] = cpu->r[7] ^ 0x00000001u;
|
|
/* 0285EEDC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285EEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285EEE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EEE0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285EEE0 */ if (_t16) goto L_0285EEE4; else goto L_0285EE94;
|
|
L_0285EEE4: ; // 0x285eee4
|
|
/* 0285EEE4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EEE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285EEE8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EEE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285EEEC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EEEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285EEF0 */ cpu->lr = cpu->r[0];
|
|
/* 0285EEF4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EEF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285EEF8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285EEFC */ cpu->r[3] = 0x00000000u;
|
|
/* 0285EF00 */ return;
|
|
}
|
|
|
|
// fn_0285EE5C @ 0x285ee5c
|
|
void Gambit_fn_0285EE5C(CPUState* 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_0285EE5C: ; // 0x285ee5c
|
|
/* 0285EE5C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285EE5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EE5C */ cpu->r[1] = _t0;
|
|
/* 0285EE60 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EE60 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285EE64 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EE64 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0285EE68 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EE68 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0285EE6C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EE6C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285EE70 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0285EE70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285EE74 */ cpu->r[29] = cpu->r[3] + 0x00000004u;
|
|
/* 0285EE78 */ cpu->r[11] = cpu->r[30] ^ cpu->r[29];
|
|
/* 0285EE7C */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 0285EE80 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285EE84 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 0285EE88 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285EE88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285EE8C */ cpu->r[31] = cpu->r[4];
|
|
/* 0285EE90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EE90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285EE90 */ if (_t7) goto L_0285EEE4; else goto L_0285EE94;
|
|
L_0285EE94: ; // 0x285ee94
|
|
/* 0285EE94 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EE98 */ cpu->r[4] = cpu->r[30] + 0x00000008u;
|
|
/* 0285EE9C */ Gambit_fn_0285D35C(cpu);
|
|
/* 0285EEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285EEA4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EEA4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285EEA4 */ if (_t9) goto L_0285EEC8; else goto L_0285EEA8;
|
|
L_0285EEA8: ; // 0x285eea8
|
|
/* 0285EEA8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EEA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285EEAC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285EEB0 */ cpu->r[3] = cpu->r[30] + 0x00000088u;
|
|
/* 0285EEB4 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EEB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285EEB8 */ cpu->lr = cpu->r[0];
|
|
/* 0285EEBC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EEBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285EEC0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285EEC4 */ return;
|
|
L_0285EEC8: ; // 0x285eec8
|
|
/* 0285EEC8 */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 0285EEC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285EECC */ cpu->r[8] = cpu->r[30] ^ cpu->r[29];
|
|
/* 0285EED0 */ cpu->r[0] = rbrew_clz32(cpu->r[8]);
|
|
/* 0285EED4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285EED8 */ cpu->r[10] = cpu->r[7] ^ 0x00000001u;
|
|
/* 0285EEDC */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285EEDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285EEE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EEE0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285EEE0 */ if (_t16) goto L_0285EEE4; else goto L_0285EE94;
|
|
L_0285EEE4: ; // 0x285eee4
|
|
/* 0285EEE4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EEE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285EEE8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EEE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285EEEC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EEEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0285EEF0 */ cpu->lr = cpu->r[0];
|
|
/* 0285EEF4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EEF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285EEF8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285EEFC */ cpu->r[3] = 0x00000000u;
|
|
/* 0285EF00 */ return;
|
|
}
|
|
|
|
// fn_0285EF04 @ 0x285ef04
|
|
void Gambit_fn_0285EF04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0285EF04: ; // 0x285ef04
|
|
/* 0285EF04 */ cpu->r[0] = cpu->lr;
|
|
/* 0285EF08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285EF08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EF08 */ cpu->r[1] = _t0;
|
|
/* 0285EF0C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EF0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285EF10 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EF10 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285EF14 */ cpu->r[30] = cpu->r[6];
|
|
/* 0285EF18 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285EF1C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EF1C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285EF20 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EF20 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285EF24 */ cpu->r[29] = cpu->r[4];
|
|
/* 0285EF28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EF28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285EF28 */ if (_t6) goto L_0285EF2C; else goto L_0285EF3C;
|
|
L_0285EF2C: ; // 0x285ef2c
|
|
/* 0285EF2C */ cpu->r[3] = 0x000000A4u;
|
|
/* 0285EF30 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285EF34 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285EF38 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EF38 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285EF38 */ if (_t8) goto L_0285EF58; else goto L_0285EF3C;
|
|
L_0285EF3C: ; // 0x285ef3c
|
|
/* 0285EF3C */ cpu->r[5] = cpu->r[30];
|
|
/* 0285EF40 */ cpu->r[4] = cpu->r[29];
|
|
/* 0285EF44 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EF48 */ Gambit_fn_0285F268(cpu);
|
|
/* 0285EF4C */ cpu->r[0] = 0x10130000u;
|
|
/* 0285EF50 */ cpu->r[0] = cpu->r[0] + 0x00004FB0u;
|
|
/* 0285EF54 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 0285EF54 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_0285EF58: ; // 0x285ef58
|
|
/* 0285EF58 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EF58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285EF5C */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285EF60 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EF64 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EF64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285EF68 */ cpu->lr = cpu->r[0];
|
|
/* 0285EF6C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EF6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285EF70 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285EF74 */ return;
|
|
}
|
|
|
|
// fn_0285EF08 @ 0x285ef08
|
|
void Gambit_fn_0285EF08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_0285EF08: ; // 0x285ef08
|
|
/* 0285EF08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285EF08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EF08 */ cpu->r[1] = _t0;
|
|
/* 0285EF0C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EF0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285EF10 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EF10 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285EF14 */ cpu->r[30] = cpu->r[6];
|
|
/* 0285EF18 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285EF1C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EF1C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285EF20 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EF20 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285EF24 */ cpu->r[29] = cpu->r[4];
|
|
/* 0285EF28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EF28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285EF28 */ if (_t6) goto L_0285EF2C; else goto L_0285EF3C;
|
|
L_0285EF2C: ; // 0x285ef2c
|
|
/* 0285EF2C */ cpu->r[3] = 0x000000A4u;
|
|
/* 0285EF30 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285EF34 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EF34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285EF38 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EF38 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285EF38 */ if (_t8) goto L_0285EF58; else goto L_0285EF3C;
|
|
L_0285EF3C: ; // 0x285ef3c
|
|
/* 0285EF3C */ cpu->r[5] = cpu->r[30];
|
|
/* 0285EF40 */ cpu->r[4] = cpu->r[29];
|
|
/* 0285EF44 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EF48 */ Gambit_fn_0285F268(cpu);
|
|
/* 0285EF4C */ cpu->r[0] = 0x10130000u;
|
|
/* 0285EF50 */ cpu->r[0] = cpu->r[0] + 0x00004FB0u;
|
|
/* 0285EF54 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 0285EF54 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_0285EF58: ; // 0x285ef58
|
|
/* 0285EF58 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EF58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285EF5C */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285EF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285EF60 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EF64 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0285EF64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285EF68 */ cpu->lr = cpu->r[0];
|
|
/* 0285EF6C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EF6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285EF70 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285EF74 */ return;
|
|
}
|
|
|
|
// fn_0285EF78 @ 0x285ef78
|
|
void Gambit_fn_0285EF78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285EF78: ; // 0x285ef78
|
|
/* 0285EF78 */ cpu->r[0] = cpu->lr;
|
|
/* 0285EF7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285EF7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EF7C */ cpu->r[1] = _t0;
|
|
/* 0285EF80 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285EF80 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285EF84 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EF84 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285EF88 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EF88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285EF8C */ cpu->r[30] = cpu->r[4];
|
|
/* 0285EF90 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EF90 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285EF94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EF94 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285EF94 */ if (_t5) goto L_0285EFB4; else goto L_0285EF98;
|
|
L_0285EF98: ; // 0x285ef98
|
|
/* 0285EF98 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EF9C */ cpu->r[4] = 0x00000000u;
|
|
/* 0285EFA0 */ Gambit_fn_0285F770(cpu);
|
|
/* 0285EFA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285EFA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285EFA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EFA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285EFA8 */ if (_t7) goto L_0285EFB4; else goto L_0285EFAC;
|
|
L_0285EFAC: ; // 0x285efac
|
|
/* 0285EFAC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EFB0 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285EFB4: ; // 0x285efb4
|
|
/* 0285EFB4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285EFB8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285EFB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285EFBC */ cpu->lr = cpu->r[0];
|
|
/* 0285EFC0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EFC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285EFC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285EFC8 */ return;
|
|
}
|
|
|
|
// fn_0285EF7C @ 0x285ef7c
|
|
void Gambit_fn_0285EF7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285EF7C: ; // 0x285ef7c
|
|
/* 0285EF7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285EF7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285EF7C */ cpu->r[1] = _t0;
|
|
/* 0285EF80 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285EF80 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285EF84 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EF84 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285EF88 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285EF88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285EF8C */ cpu->r[30] = cpu->r[4];
|
|
/* 0285EF90 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EF90 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285EF94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EF94 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285EF94 */ if (_t5) goto L_0285EFB4; else goto L_0285EF98;
|
|
L_0285EF98: ; // 0x285ef98
|
|
/* 0285EF98 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EF9C */ cpu->r[4] = 0x00000000u;
|
|
/* 0285EFA0 */ Gambit_fn_0285F770(cpu);
|
|
/* 0285EFA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285EFA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285EFA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EFA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285EFA8 */ if (_t7) goto L_0285EFB4; else goto L_0285EFAC;
|
|
L_0285EFAC: ; // 0x285efac
|
|
/* 0285EFAC */ cpu->r[3] = cpu->r[31];
|
|
/* 0285EFB0 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285EFB4: ; // 0x285efb4
|
|
/* 0285EFB4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0285EFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285EFB8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285EFB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285EFBC */ cpu->lr = cpu->r[0];
|
|
/* 0285EFC0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285EFC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285EFC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285EFC8 */ return;
|
|
}
|
|
|
|
// fn_0285EFCC @ 0x285efcc
|
|
void Gambit_fn_0285EFCC(CPUState* cpu) {
|
|
L_0285EFCC: ; // 0x285efcc
|
|
/* 0285EFCC */ return;
|
|
}
|
|
|
|
// fn_0285EFD0 @ 0x285efd0
|
|
void Gambit_fn_0285EFD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0285EFD0: ; // 0x285efd0
|
|
/* 0285EFD0 */ cpu->r[11] = 0x101D0000u;
|
|
/* 0285EFD4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0285EFD8 */ _t0 = cpu->r[11] + 0xFFFFD7F0u;
|
|
/* 0285EFD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285EFD8 */ cpu->r[11] = _t0;
|
|
/* 0285EFDC */ cpu->r[3] = cpu->r[3] + 0x00000F54u;
|
|
/* 0285EFE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285EFE4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285EFE4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285EFE4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 0285EFE4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285EFE4 */ goto L_0285EFE8;
|
|
L_0285EFE8: ; // 0x285efe8
|
|
/* 0285EFE8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 0285EFEC */ cpu->r[12] = 0x101D0000u;
|
|
/* 0285EFF0 */ _t4 = cpu->r[10] + 0xFFFFD7ECu;
|
|
/* 0285EFF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285EFF0 */ cpu->r[10] = _t4;
|
|
/* 0285EFF4 */ cpu->r[0] = 0x00000001u;
|
|
/* 0285EFF8 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 0285EFFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0285F000 */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 0285F000 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0285F004 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F004 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285F004 */ if (_t7) goto L_0285F008; else goto L_0285F018;
|
|
L_0285F008: ; // 0x285f008
|
|
/* 0285F008 */ cpu->r[7] = 0x00000001u;
|
|
/* 0285F00C */ cpu->r[8] = 0x00000000u;
|
|
/* 0285F010 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 0285F010 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 0285F014 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 0285F014 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
L_0285F018: ; // 0x285f018
|
|
/* 0285F018 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0285F018 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0285F01C */ return;
|
|
}
|
|
|
|
// fn_0285F020 @ 0x285f020
|
|
void Gambit_fn_0285F020(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0285F020: ; // 0x285f020
|
|
/* 0285F020 */ cpu->r[0] = cpu->lr;
|
|
/* 0285F024 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285F024 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0285F028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F02C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285F02C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0285F02C */ cpu->r[1] = _t1;
|
|
/* 0285F030 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F030 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285F030 */ if (_t3) goto L_0285F034; else goto L_0285F044;
|
|
L_0285F034: ; // 0x285f034
|
|
/* 0285F034 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285F038 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F040 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F040 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285F040 */ if (_t5) goto L_0285F05C; else goto L_0285F044;
|
|
L_0285F044: ; // 0x285f044
|
|
/* 0285F044 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285F048 */ cpu->r[11] = 0x00000000u;
|
|
/* 0285F04C */ cpu->r[0] = cpu->r[0] + 0x0000508Cu;
|
|
/* 0285F050 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 0285F050 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 0285F054 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 0285F054 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0285F058 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0285F058 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
L_0285F05C: ; // 0x285f05c
|
|
/* 0285F05C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285F05C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285F060 */ cpu->lr = cpu->r[0];
|
|
/* 0285F064 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285F068 */ return;
|
|
}
|
|
|
|
// fn_0285F02C @ 0x285f02c
|
|
void Gambit_fn_0285F02C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0285F02C: ; // 0x285f02c
|
|
/* 0285F02C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285F02C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285F02C */ cpu->r[1] = _t0;
|
|
/* 0285F030 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F030 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285F030 */ if (_t2) goto L_0285F034; else goto L_0285F044;
|
|
L_0285F034: ; // 0x285f034
|
|
/* 0285F034 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285F038 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F03C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F040 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F040 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0285F040 */ if (_t4) goto L_0285F05C; else goto L_0285F044;
|
|
L_0285F044: ; // 0x285f044
|
|
/* 0285F044 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285F048 */ cpu->r[11] = 0x00000000u;
|
|
/* 0285F04C */ cpu->r[0] = cpu->r[0] + 0x0000508Cu;
|
|
/* 0285F050 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0285F050 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 0285F054 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 0285F054 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0285F058 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0285F058 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
L_0285F05C: ; // 0x285f05c
|
|
/* 0285F05C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285F05C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285F060 */ cpu->lr = cpu->r[0];
|
|
/* 0285F064 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285F068 */ return;
|
|
}
|
|
|
|
// fn_0285F06C @ 0x285f06c
|
|
void Gambit_fn_0285F06C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_0285F06C: ; // 0x285f06c
|
|
/* 0285F06C */ cpu->r[6] = 0x00000000u;
|
|
/* 0285F070 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285F070 */ rbrew_write32(cpu->mem, _t0, cpu->r[6]);
|
|
/* 0285F074 */ _t1 = cpu->r[3] + 0x00000044u;
|
|
/* 0285F074 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[6]);
|
|
/* 0285F078 */ cpu->r[8] = 0x101D0000u;
|
|
/* 0285F07C */ _t2 = cpu->r[3] + 0x0000007Cu;
|
|
/* 0285F07C */ rbrew_write32(cpu->mem, _t2, cpu->r[6]);
|
|
/* 0285F080 */ _t3 = cpu->r[8] + 0xFFFFD554u;
|
|
/* 0285F080 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285F080 */ cpu->r[8] = _t3;
|
|
/* 0285F084 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0285F088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285F08C */ cpu->r[12] = cpu->r[12] + 0x00000EE4u;
|
|
/* 0285F090 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F090 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285F090 */ if (_t5) goto L_0285F094; else goto L_0285F0DC;
|
|
L_0285F094: ; // 0x285f094
|
|
/* 0285F094 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285F098 */ cpu->r[7] = 0x00000001u;
|
|
/* 0285F09C */ _t6 = cpu->r[10] + 0x0000506Cu;
|
|
/* 0285F09C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0285F0A0 */ _t7 = cpu->r[8] + 0x00000000u;
|
|
/* 0285F0A0 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 0285F0A4 */ _t8 = cpu->r[12] + 0x00000008u;
|
|
/* 0285F0A4 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 0285F0A8 */ _t9 = cpu->r[12] + 0x00000018u;
|
|
/* 0285F0A8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 0285F0AC */ _t10 = cpu->r[12] + 0x00000010u;
|
|
/* 0285F0AC */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 0285F0B0 */ cpu->r[7] = 0x10130000u;
|
|
/* 0285F0B4 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 0285F0B4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 0285F0B8 */ _t12 = cpu->r[7] + 0x00005068u;
|
|
/* 0285F0B8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 0285F0BC */ _t13 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0285F0BC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 0285F0C0 */ _t14 = cpu->r[12] + 0x00000000u;
|
|
/* 0285F0C0 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 0285F0C4 */ _t15 = cpu->r[12] + 0x00000020u;
|
|
/* 0285F0C4 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 0285F0C8 */ _t16 = cpu->r[12] + 0x00000014u;
|
|
/* 0285F0C8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 0285F0CC */ _t17 = cpu->r[12] + 0x00000024u;
|
|
/* 0285F0CC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 0285F0D0 */ _t18 = cpu->r[12] + 0x00000028u;
|
|
/* 0285F0D0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 0285F0D4 */ _t19 = cpu->r[12] + 0x0000002Cu;
|
|
/* 0285F0D4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 0285F0D8 */ _t20 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0285F0D8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
L_0285F0DC: ; // 0x285f0dc
|
|
/* 0285F0DC */ cpu->r[0] = cpu->r[3] + 0x00000048u;
|
|
/* 0285F0E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 0285F0E4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F0E4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0285F0E4 */ if (_t22) goto L_0285F11C; else goto L_0285F0E8;
|
|
L_0285F0E8: ; // 0x285f0e8
|
|
/* 0285F0E8 */ cpu->r[5] = 0x00000003u;
|
|
/* 0285F0EC */ cpu->r[10] = cpu->r[12] + 0xFFFFFFFCu;
|
|
/* 0285F0F0 */ cpu->ctr = cpu->r[5];
|
|
/* 0285F0F4 */ cpu->r[11] = cpu->r[3] + 0x00000044u;
|
|
L_0285F0F8: ; // 0x285f0f8
|
|
/* 0285F0F8 */ _t23 = cpu->r[10] + 0x00000004u;
|
|
/* 0285F0F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285F0FC */ _t24 = cpu->r[11] + 0x00000004u;
|
|
/* 0285F0FC */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 0285F100 */ _t25 = cpu->r[10] + 0x00000008u;
|
|
/* 0285F100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285F104 */ _t26 = cpu->r[11] + 0x00000008u;
|
|
/* 0285F104 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0285F108 */ _t27 = cpu->r[10] + 0x0000000Cu;
|
|
/* 0285F108 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285F10C */ _t28 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0285F10C */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
/* 0285F110 */ _t29 = cpu->r[10] + 0x00000010u;
|
|
/* 0285F110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0285F110 */ cpu->r[10] = _t29;
|
|
/* 0285F114 */ _t30 = cpu->r[11] + 0x00000010u;
|
|
/* 0285F114 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 0285F114 */ cpu->r[11] = _t30;
|
|
/* 0285F118 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285F118 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285F118 */ _t32 = _t31 >> (0x00000002u & 31u);
|
|
/* 0285F118 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0285F118 */ if (_t33) goto L_0285F0F8; else goto L_0285F11C;
|
|
L_0285F11C: ; // 0x285f11c
|
|
/* 0285F11C */ _t34 = cpu->r[3] + 0x00000078u;
|
|
/* 0285F11C */ rbrew_write32(cpu->mem, _t34, cpu->r[6]);
|
|
/* 0285F120 */ return;
|
|
}
|
|
|
|
// fn_0285F124 @ 0x285f124
|
|
void Gambit_fn_0285F124(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0285F124: ; // 0x285f124
|
|
/* 0285F124 */ cpu->r[0] = 0x00000018u;
|
|
/* 0285F128 */ cpu->r[12] = cpu->r[3] + 0x00000080u;
|
|
/* 0285F12C */ cpu->ctr = cpu->r[0];
|
|
/* 0285F130 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_0285F134: ; // 0x285f134
|
|
/* 0285F134 */ _t0 = cpu->r[4] + 0x00000001u;
|
|
/* 0285F134 */ cpu->r[10] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0285F134 */ cpu->r[4] = _t0;
|
|
/* 0285F138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285F13C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F13C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285F13C */ if (_t2) goto L_0285F14C; else goto L_0285F140;
|
|
L_0285F140: ; // 0x285f140
|
|
/* 0285F140 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 0285F140 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[10]);
|
|
/* 0285F144 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0285F148 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285F148 */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285F148 */ _t5 = _t4 >> (0x00000002u & 31u);
|
|
/* 0285F148 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285F148 */ if (_t6) goto L_0285F134; else goto L_0285F14C;
|
|
L_0285F14C: ; // 0x285f14c
|
|
/* 0285F14C */ cpu->r[11] = 0x00000000u;
|
|
/* 0285F150 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 0285F150 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]);
|
|
/* 0285F154 */ return;
|
|
}
|
|
|
|
// fn_0285F158 @ 0x285f158
|
|
void Gambit_fn_0285F158(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0285F158: ; // 0x285f158
|
|
/* 0285F158 */ cpu->r[0] = 0x00000008u;
|
|
/* 0285F15C */ cpu->r[12] = cpu->r[3] + 0x00000099u;
|
|
/* 0285F160 */ cpu->ctr = cpu->r[0];
|
|
/* 0285F164 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_0285F168: ; // 0x285f168
|
|
/* 0285F168 */ _t0 = cpu->r[4] + 0x00000001u;
|
|
/* 0285F168 */ cpu->r[10] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0285F168 */ cpu->r[4] = _t0;
|
|
/* 0285F16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285F170 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F170 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285F170 */ if (_t2) goto L_0285F180; else goto L_0285F174;
|
|
L_0285F174: ; // 0x285f174
|
|
/* 0285F174 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 0285F174 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[10]);
|
|
/* 0285F178 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0285F17C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285F17C */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285F17C */ _t5 = _t4 >> (0x00000002u & 31u);
|
|
/* 0285F17C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285F17C */ if (_t6) goto L_0285F168; else goto L_0285F180;
|
|
L_0285F180: ; // 0x285f180
|
|
/* 0285F180 */ cpu->r[11] = 0x00000000u;
|
|
/* 0285F184 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 0285F184 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]);
|
|
/* 0285F188 */ return;
|
|
}
|
|
|
|
// fn_0285F18C @ 0x285f18c
|
|
void Gambit_fn_0285F18C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_0285F18C: ; // 0x285f18c
|
|
/* 0285F18C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0285F18C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285F18C */ cpu->r[1] = _t0;
|
|
/* 0285F190 */ cpu->r[0] = cpu->lr;
|
|
/* 0285F194 */ /* nop */
|
|
/* 0285F198 */ cpu->r[24] = 0x101D0000u;
|
|
/* 0285F19C */ cpu->r[25] = 0x101D0000u;
|
|
/* 0285F1A0 */ cpu->r[31] = cpu->r[5];
|
|
/* 0285F1A4 */ cpu->r[26] = 0x101D0000u;
|
|
/* 0285F1A8 */ cpu->r[24] = cpu->r[24] + 0x00000F5Cu;
|
|
/* 0285F1AC */ cpu->r[25] = cpu->r[25] + 0x00000F38u;
|
|
/* 0285F1B0 */ cpu->r[5] = 0x10130000u;
|
|
/* 0285F1B4 */ _t1 = cpu->r[5] + 0x00005068u;
|
|
/* 0285F1B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0285F1B8 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285F1BC */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285F1BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285F1C0 */ cpu->r[27] = 0x00000001u;
|
|
/* 0285F1C4 */ _t3 = cpu->r[30] + 0x00000004u;
|
|
/* 0285F1C4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 0285F1C8 */ cpu->r[28] = 0x101D0000u;
|
|
/* 0285F1CC */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 0285F1CC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
|
|
/* 0285F1D0 */ cpu->r[29] = 0x00000000u;
|
|
/* 0285F1D4 */ goto L_0285F1FC;
|
|
L_0285F1D8: ; // 0x285f1d8
|
|
/* 0285F1D8 */ _t5 = cpu->r[31] + 0x00000034u;
|
|
/* 0285F1D8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0285F1DC */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 0285F1DC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 0285F1E0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0285F1E0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0285F1E4 */ cpu->f[0] = cpu->f[12] * cpu->f[13];
|
|
/* 0285F1E8 */ _t8 = cpu->r[31] + 0x00000038u;
|
|
/* 0285F1E8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0285F1EC */ cpu->f[11] = cpu->f[11] * cpu->f[13];
|
|
/* 0285F1F0 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 0285F1F0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 0285F1F4 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 0285F1F4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[11]);
|
|
/* 0285F1F8 */ _t11 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285F1F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
L_0285F1FC: ; // 0x285f1fc
|
|
/* 0285F1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285F200 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F200 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285F200 */ if (_t13) goto L_0285F254; else goto L_0285F204;
|
|
L_0285F204: ; // 0x285f204
|
|
/* 0285F204 */ _t14 = cpu->r[28] + 0xFFFFD7F4u;
|
|
/* 0285F204 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285F208 */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 0285F208 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0285F20C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0285F210 */ cpu->r[9] = cpu->r[7] + 0x00000010u;
|
|
/* 0285F214 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F214 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285F214 */ if (_t17) goto L_0285F218; else goto L_0285F234;
|
|
L_0285F218: ; // 0x285f218
|
|
/* 0285F218 */ _t18 = cpu->r[26] + 0xFFFFD7ECu;
|
|
/* 0285F218 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0285F21C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285F220 */ _t19 = cpu->r[28] + 0xFFFFD7F4u;
|
|
/* 0285F220 */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
/* 0285F224 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F224 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0285F224 */ if (_t21) goto L_0285F228; else goto L_0285F230;
|
|
L_0285F228: ; // 0x285f228
|
|
/* 0285F228 */ _t22 = cpu->r[25] + 0x00000000u;
|
|
/* 0285F228 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
/* 0285F22C */ _t23 = cpu->r[26] + 0xFFFFD7ECu;
|
|
/* 0285F22C */ rbrew_write32(cpu->mem, _t23, cpu->r[27]);
|
|
L_0285F230: ; // 0x285f230
|
|
/* 0285F230 */ _t24 = cpu->r[24] + 0x00000000u;
|
|
/* 0285F230 */ rbrew_write32(cpu->mem, _t24, cpu->r[25]);
|
|
L_0285F234: ; // 0x285f234
|
|
/* 0285F234 */ _t25 = cpu->r[9] + 0x00000004u;
|
|
/* 0285F234 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285F238 */ cpu->ctr = cpu->r[0];
|
|
/* 0285F23C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F240 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285F244 */ cpu->r[11] = cpu->r[3] ^ cpu->r[24];
|
|
/* 0285F248 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 0285F24C */ cpu->r[6] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285F24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0285F250 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F250 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0285F250 */ if (_t27) goto L_0285F1D8; else goto L_0285F254;
|
|
L_0285F254: ; // 0x285f254
|
|
/* 0285F254 */ /* nop */
|
|
/* 0285F258 */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0285F258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0285F25C */ cpu->lr = cpu->r[0];
|
|
/* 0285F260 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0285F264 */ return;
|
|
}
|
|
|
|
// fn_0285F268 @ 0x285f268
|
|
void Gambit_fn_0285F268(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
|
|
L_0285F268: ; // 0x285f268
|
|
/* 0285F268 */ cpu->r[0] = cpu->lr;
|
|
/* 0285F26C */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 0285F26C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285F26C */ cpu->r[1] = _t0;
|
|
/* 0285F270 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 0285F270 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0285F274 */ /* nop */
|
|
/* 0285F278 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 0285F278 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0285F27C */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 0285F27C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0285F280 */ /* nop */
|
|
/* 0285F284 */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 0285F284 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0285F288 */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0285F288 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0285F28C */ /* nop */
|
|
/* 0285F290 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285F290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285F294 */ cpu->r[29] = cpu->r[4];
|
|
/* 0285F298 */ cpu->r[30] = cpu->r[5];
|
|
/* 0285F29C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F29C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285F29C */ if (_t7) goto L_0285F2A0; else goto L_0285F2B0;
|
|
L_0285F2A0: ; // 0x285f2a0
|
|
/* 0285F2A0 */ cpu->r[3] = 0x000000A4u;
|
|
/* 0285F2A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F2A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285F2A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285F2AC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F2AC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285F2AC */ if (_t9) goto L_0285F598; else goto L_0285F2B0;
|
|
L_0285F2B0: ; // 0x285f2b0
|
|
/* 0285F2B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F2B4 */ Gambit_fn_0285F020(cpu);
|
|
/* 0285F2B8 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285F2BC */ cpu->r[0] = cpu->r[0] + 0x0000509Cu;
|
|
/* 0285F2C0 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0285F2C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F2C4 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 0285F2C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0285F2C8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F2C8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285F2C8 */ if (_t12) goto L_0285F2CC; else goto L_0285F2DC;
|
|
L_0285F2CC: ; // 0x285f2cc
|
|
/* 0285F2CC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285F2D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F2D8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F2D8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285F2D8 */ if (_t14) goto L_0285F308; else goto L_0285F2DC;
|
|
L_0285F2DC: ; // 0x285f2dc
|
|
/* 0285F2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F2E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F2E0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285F2E0 */ if (_t16) goto L_0285F2E4; else goto L_0285F2F4;
|
|
L_0285F2E4: ; // 0x285f2e4
|
|
/* 0285F2E4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285F2E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F2EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F2F0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F2F0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285F2F0 */ if (_t18) goto L_0285F308; else goto L_0285F2F4;
|
|
L_0285F2F4: ; // 0x285f2f4
|
|
/* 0285F2F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 0285F2F8 */ cpu->r[9] = cpu->r[3] + 0x00000004u;
|
|
/* 0285F2FC */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 0285F2FC */ rbrew_write32(cpu->mem, _t19, cpu->r[5]);
|
|
/* 0285F300 */ _t20 = cpu->r[9] + 0x00000004u;
|
|
/* 0285F300 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 0285F304 */ _t21 = cpu->r[9] + 0x00000000u;
|
|
/* 0285F304 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
L_0285F308: ; // 0x285f308
|
|
/* 0285F308 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285F30C */ _t22 = cpu->r[10] + 0x0000506Cu;
|
|
/* 0285F30C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0285F310 */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 0285F310 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 0285F314 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F318 */ _t24 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0285F318 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 0285F31C */ Gambit_fn_0285F06C(cpu);
|
|
/* 0285F320 */ cpu->r[23] = cpu->r[29] + 0x0000002Cu;
|
|
/* 0285F324 */ _t25 = cpu->r[30] + 0x00000030u;
|
|
/* 0285F324 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285F328 */ cpu->r[26] = cpu->r[29] + 0x00000044u;
|
|
/* 0285F32C */ cpu->r[27] = cpu->r[29] + 0x0000004Cu;
|
|
/* 0285F330 */ cpu->r[28] = cpu->r[29] + 0x0000000Au;
|
|
/* 0285F334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285F338 */ cpu->r[25] = cpu->r[29] + 0x00000024u;
|
|
/* 0285F33C */ cpu->r[24] = cpu->r[29] + 0x00000038u;
|
|
/* 0285F340 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F340 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0285F340 */ if (_t27) goto L_0285F390; else goto L_0285F344;
|
|
L_0285F344: ; // 0x285f344
|
|
/* 0285F344 */ _t28 = cpu->r[30] + 0x0000002Au;
|
|
/* 0285F344 */ cpu->r[11] = rbrew_read16(cpu->mem, _t28);
|
|
/* 0285F348 */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 0285F348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0285F34C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F34C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0285F34C */ if (_t30) goto L_0285F354; else goto L_0285F350;
|
|
L_0285F350: ; // 0x285f350
|
|
/* 0285F350 */ cpu->r[23] = cpu->r[5] + 0x00000008u;
|
|
L_0285F354: ; // 0x285f354
|
|
/* 0285F354 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000019u, 0x00000019u);
|
|
/* 0285F354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285F358 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F358 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0285F358 */ if (_t32) goto L_0285F360; else goto L_0285F35C;
|
|
L_0285F35C: ; // 0x285f35c
|
|
/* 0285F35C */ cpu->r[24] = cpu->r[5] + 0x00000014u;
|
|
L_0285F360: ; // 0x285f360
|
|
/* 0285F360 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 0285F360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0285F364 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F364 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0285F364 */ if (_t34) goto L_0285F36C; else goto L_0285F368;
|
|
L_0285F368: ; // 0x285f368
|
|
/* 0285F368 */ cpu->r[26] = cpu->r[5] + 0x00000020u;
|
|
L_0285F36C: ; // 0x285f36c
|
|
/* 0285F36C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 0285F36C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285F370 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F370 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0285F370 */ if (_t36) goto L_0285F378; else goto L_0285F374;
|
|
L_0285F374: ; // 0x285f374
|
|
/* 0285F374 */ cpu->r[27] = cpu->r[5] + 0x00000028u;
|
|
L_0285F378: ; // 0x285f378
|
|
/* 0285F378 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x00000018u);
|
|
/* 0285F378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285F37C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F37C */ _t38 = _t37 & 0x00000001u;
|
|
/* 0285F37C */ if (_t38) goto L_0285F384; else goto L_0285F380;
|
|
L_0285F380: ; // 0x285f380
|
|
/* 0285F380 */ cpu->r[28] = cpu->r[5] + 0x00000030u;
|
|
L_0285F384: ; // 0x285f384
|
|
/* 0285F384 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 0285F384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285F388 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F388 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0285F388 */ if (_t40) goto L_0285F390; else goto L_0285F38C;
|
|
L_0285F38C: ; // 0x285f38c
|
|
/* 0285F38C */ cpu->r[25] = cpu->r[5];
|
|
L_0285F390: ; // 0x285f390
|
|
/* 0285F390 */ _t41 = cpu->r[29] + 0x00000009u;
|
|
/* 0285F390 */ cpu->r[12] = rbrew_read8(cpu->mem, _t41);
|
|
/* 0285F394 */ cpu->r[4] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0285F398 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F39C */ _t42 = cpu->r[31] + 0x00000047u;
|
|
/* 0285F39C */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[12]);
|
|
/* 0285F3A0 */ Gambit_fn_0285F124(cpu);
|
|
/* 0285F3A4 */ cpu->r[4] = cpu->r[25];
|
|
/* 0285F3A8 */ Gambit_fn_0285F158(cpu);
|
|
/* 0285F3AC */ _t43 = cpu->r[30] + 0x00000038u;
|
|
/* 0285F3AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0285F3B0 */ _t44 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0285F3B0 */ rbrew_write32(cpu->mem, _t44, cpu->r[9]);
|
|
/* 0285F3B4 */ _t45 = cpu->r[23] + 0x00000000u;
|
|
/* 0285F3B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 0285F3B8 */ _t46 = cpu->r[23] + 0x00000004u;
|
|
/* 0285F3B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 0285F3BC */ _t47 = cpu->r[23] + 0x00000008u;
|
|
/* 0285F3BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 0285F3C0 */ _t48 = cpu->r[31] + 0x00000020u;
|
|
/* 0285F3C0 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[11]);
|
|
/* 0285F3C4 */ _t49 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285F3C4 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[10]);
|
|
/* 0285F3C8 */ _t50 = cpu->r[31] + 0x00000024u;
|
|
/* 0285F3C8 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[12]);
|
|
/* 0285F3CC */ _t51 = cpu->r[24] + 0x00000008u;
|
|
/* 0285F3CC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 0285F3D0 */ _t52 = cpu->r[24] + 0x00000000u;
|
|
/* 0285F3D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 0285F3D4 */ _t53 = cpu->r[24] + 0x00000004u;
|
|
/* 0285F3D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 0285F3D8 */ _t54 = cpu->r[31] + 0x00000028u;
|
|
/* 0285F3D8 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[13]);
|
|
/* 0285F3DC */ _t55 = cpu->r[31] + 0x00000030u;
|
|
/* 0285F3DC */ rbrew_write_f32(cpu->mem, _t55, cpu->f[9]);
|
|
/* 0285F3E0 */ _t56 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0285F3E0 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[0]);
|
|
/* 0285F3E4 */ _t57 = cpu->r[26] + 0x00000000u;
|
|
/* 0285F3E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 0285F3E8 */ _t58 = cpu->r[26] + 0x00000004u;
|
|
/* 0285F3E8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 0285F3EC */ _t59 = cpu->r[31] + 0x00000034u;
|
|
/* 0285F3EC */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 0285F3F0 */ _t60 = cpu->r[31] + 0x00000038u;
|
|
/* 0285F3F0 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[9]);
|
|
/* 0285F3F4 */ _t61 = cpu->r[30] + 0x00000024u;
|
|
/* 0285F3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0285F3F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F3FC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F3FC */ _t63 = _t62 & 0x00000001u;
|
|
/* 0285F3FC */ if (_t63) goto L_0285F538; else goto L_0285F400;
|
|
L_0285F400: ; // 0x285f400
|
|
/* 0285F400 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285F404 */ _t64 = cpu->r[30] + 0x00000000u;
|
|
/* 0285F404 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 0285F408 */ _t65 = cpu->r[12] + 0x00005068u;
|
|
/* 0285F408 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 0285F40C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0285F410 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F410 */ _t67 = _t66 & 0x00000001u;
|
|
/* 0285F410 */ if (_t67) goto L_0285F414; else goto L_0285F420;
|
|
L_0285F414: ; // 0x285f414
|
|
/* 0285F414 */ _t68 = cpu->r[30] + 0x00000004u;
|
|
/* 0285F414 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 0285F418 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 0285F41C */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F41C */ _t70 = _t69 & 0x00000001u;
|
|
/* 0285F41C */ if (_t70) goto L_0285F538; else goto L_0285F420;
|
|
L_0285F420: ; // 0x285f420
|
|
/* 0285F420 */ _t71 = cpu->r[29] + 0x0000000Bu;
|
|
/* 0285F420 */ cpu->r[11] = rbrew_read8(cpu->mem, _t71);
|
|
/* 0285F424 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285F424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285F428 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F428 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0285F428 */ if (_t73) goto L_0285F42C; else goto L_0285F538;
|
|
L_0285F42C: ; // 0x285f42c
|
|
/* 0285F42C */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0285F42C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0285F430 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F430 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0285F430 */ if (_t75) goto L_0285F4F8; else goto L_0285F434;
|
|
L_0285F434: ; // 0x285f434
|
|
/* 0285F434 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285F438 */ _t76 = cpu->r[12] + 0x00005070u;
|
|
/* 0285F438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 0285F43C */ _t77 = cpu->r[31] + 0x00000047u;
|
|
/* 0285F43C */ cpu->r[12] = rbrew_read8(cpu->mem, _t77);
|
|
/* 0285F440 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285F440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285F444 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F444 */ _t79 = _t78 & 0x00000001u;
|
|
/* 0285F444 */ if (_t79) goto L_0285F448; else goto L_0285F45C;
|
|
L_0285F448: ; // 0x285f448
|
|
/* 0285F448 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285F448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F44C */ _t80 = cpu->r[30] + 0x00000034u;
|
|
/* 0285F44C */ cpu->r[5] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0285F450 */ cpu->f[30] = cpu->f[0];
|
|
/* 0285F454 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F454 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0285F454 */ if (_t82) goto L_0285F46C; else goto L_0285F458;
|
|
L_0285F458: ; // 0x285f458
|
|
/* 0285F458 */ goto L_0285F470;
|
|
L_0285F45C: ; // 0x285f45c
|
|
/* 0285F45C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285F45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F460 */ _t83 = cpu->r[30] + 0x00000034u;
|
|
/* 0285F460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0285F464 */ cpu->f[30] = cpu->f[31];
|
|
/* 0285F468 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F468 */ _t85 = _t84 & 0x00000001u;
|
|
/* 0285F468 */ if (_t85) goto L_0285F46C; else goto L_0285F470;
|
|
L_0285F46C: ; // 0x285f46c
|
|
/* 0285F46C */ cpu->f[31] = cpu->f[0];
|
|
L_0285F470: ; // 0x285f470
|
|
/* 0285F470 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F474 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285F478 */ Gambit_fn_0285F18C(cpu);
|
|
/* 0285F47C */ _t86 = cpu->r[30] + 0x00000008u;
|
|
/* 0285F47C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 0285F480 */ _t87 = cpu->r[30] + 0x00000000u;
|
|
/* 0285F480 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 0285F484 */ _t88 = cpu->r[26] + 0x00000000u;
|
|
/* 0285F484 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 0285F488 */ cpu->f[0] = fma(cpu->f[0], cpu->f[11], -(cpu->f[0]));
|
|
/* 0285F48C */ _t89 = cpu->r[1] + 0x00000008u;
|
|
/* 0285F48C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 0285F490 */ cpu->f[11] = cpu->f[12] * cpu->f[13];
|
|
/* 0285F494 */ _t90 = cpu->r[27] + 0x00000000u;
|
|
/* 0285F494 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 0285F498 */ cpu->f[10] = cpu->f[0] * cpu->f[30];
|
|
/* 0285F49C */ cpu->f[11] = cpu->f[10] / cpu->f[11];
|
|
/* 0285F4A0 */ _t91 = cpu->r[30] + 0x00000004u;
|
|
/* 0285F4A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 0285F4A4 */ _t92 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285F4A4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 0285F4A8 */ cpu->f[10] = fma(cpu->f[9], cpu->f[10], -(cpu->f[9]));
|
|
/* 0285F4AC */ cpu->f[12] = cpu->f[13] + cpu->f[11];
|
|
/* 0285F4B0 */ _t93 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0285F4B0 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[12]);
|
|
/* 0285F4B4 */ _t94 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285F4B4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 0285F4B8 */ cpu->f[11] = cpu->f[10] * cpu->f[31];
|
|
/* 0285F4BC */ _t95 = cpu->r[26] + 0x00000004u;
|
|
/* 0285F4BC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 0285F4C0 */ cpu->f[0] = cpu->f[9] * cpu->f[10];
|
|
/* 0285F4C4 */ cpu->f[12] = cpu->f[11] / cpu->f[0];
|
|
/* 0285F4C8 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0285F4C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 0285F4CC */ cpu->f[10] = cpu->f[13] + cpu->f[12];
|
|
/* 0285F4D0 */ _t97 = cpu->r[31] + 0x00000040u;
|
|
/* 0285F4D0 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[10]);
|
|
/* 0285F4D4 */ _t98 = cpu->r[28] + 0x00000000u;
|
|
/* 0285F4D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t98);
|
|
/* 0285F4D8 */ _t99 = cpu->r[31] + 0x00000045u;
|
|
/* 0285F4D8 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[0]);
|
|
/* 0285F4DC */ _t100 = cpu->r[31] + 0x00000046u;
|
|
/* 0285F4DC */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[0]);
|
|
/* 0285F4E0 */ _t101 = cpu->r[29] + 0x00000008u;
|
|
/* 0285F4E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t101);
|
|
/* 0285F4E4 */ _t102 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F4E4 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[0]);
|
|
/* 0285F4E8 */ _t103 = cpu->r[30] + 0x00000024u;
|
|
/* 0285F4E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0285F4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285F4F0 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F4F0 */ _t105 = _t104 & 0x00000001u;
|
|
/* 0285F4F0 */ if (_t105) goto L_0285F590; else goto L_0285F4F4;
|
|
L_0285F4F4: ; // 0x285f4f4
|
|
/* 0285F4F4 */ goto L_0285F568;
|
|
L_0285F4F8: ; // 0x285f4f8
|
|
/* 0285F4F8 */ _t106 = cpu->r[27] + 0x00000000u;
|
|
/* 0285F4F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 0285F4FC */ cpu->f[0] = cpu->f[9] * cpu->f[13];
|
|
/* 0285F500 */ _t107 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0285F500 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[0]);
|
|
/* 0285F504 */ _t108 = cpu->r[27] + 0x00000004u;
|
|
/* 0285F504 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 0285F508 */ _t109 = cpu->r[30] + 0x00000004u;
|
|
/* 0285F508 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 0285F50C */ cpu->f[10] = cpu->f[10] * cpu->f[11];
|
|
/* 0285F510 */ _t110 = cpu->r[31] + 0x00000040u;
|
|
/* 0285F510 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[10]);
|
|
/* 0285F514 */ _t111 = cpu->r[28] + 0x00000000u;
|
|
/* 0285F514 */ cpu->r[0] = rbrew_read8(cpu->mem, _t111);
|
|
/* 0285F518 */ _t112 = cpu->r[31] + 0x00000045u;
|
|
/* 0285F518 */ rbrew_write8(cpu->mem, _t112, (uint8_t)cpu->r[0]);
|
|
/* 0285F51C */ _t113 = cpu->r[31] + 0x00000046u;
|
|
/* 0285F51C */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[0]);
|
|
/* 0285F520 */ _t114 = cpu->r[29] + 0x00000008u;
|
|
/* 0285F520 */ cpu->r[0] = rbrew_read8(cpu->mem, _t114);
|
|
/* 0285F524 */ _t115 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F524 */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[0]);
|
|
/* 0285F528 */ _t116 = cpu->r[30] + 0x00000024u;
|
|
/* 0285F528 */ cpu->r[5] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0285F52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285F530 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F530 */ _t118 = _t117 & 0x00000001u;
|
|
/* 0285F530 */ if (_t118) goto L_0285F590; else goto L_0285F534;
|
|
L_0285F534: ; // 0x285f534
|
|
/* 0285F534 */ goto L_0285F568;
|
|
L_0285F538: ; // 0x285f538
|
|
/* 0285F538 */ _t119 = cpu->r[27] + 0x00000000u;
|
|
/* 0285F538 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 0285F53C */ _t120 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0285F53C */ rbrew_write_f32(cpu->mem, _t120, cpu->f[12]);
|
|
/* 0285F540 */ _t121 = cpu->r[27] + 0x00000004u;
|
|
/* 0285F540 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 0285F544 */ _t122 = cpu->r[31] + 0x00000040u;
|
|
/* 0285F544 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[10]);
|
|
/* 0285F548 */ _t123 = cpu->r[28] + 0x00000000u;
|
|
/* 0285F548 */ cpu->r[0] = rbrew_read8(cpu->mem, _t123);
|
|
/* 0285F54C */ _t124 = cpu->r[31] + 0x00000045u;
|
|
/* 0285F54C */ rbrew_write8(cpu->mem, _t124, (uint8_t)cpu->r[0]);
|
|
/* 0285F550 */ _t125 = cpu->r[31] + 0x00000046u;
|
|
/* 0285F550 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[0]);
|
|
/* 0285F554 */ _t126 = cpu->r[29] + 0x00000008u;
|
|
/* 0285F554 */ cpu->r[0] = rbrew_read8(cpu->mem, _t126);
|
|
/* 0285F558 */ _t127 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F558 */ rbrew_write8(cpu->mem, _t127, (uint8_t)cpu->r[0]);
|
|
/* 0285F55C */ _t128 = cpu->r[30] + 0x00000024u;
|
|
/* 0285F55C */ cpu->r[5] = rbrew_read32(cpu->mem, _t128);
|
|
/* 0285F560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285F564 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F564 */ _t130 = _t129 & 0x00000001u;
|
|
/* 0285F564 */ if (_t130) goto L_0285F590; else goto L_0285F568;
|
|
L_0285F568: ; // 0x285f568
|
|
/* 0285F568 */ _t131 = cpu->r[30] + 0x0000002Au;
|
|
/* 0285F568 */ cpu->r[7] = rbrew_read16(cpu->mem, _t131);
|
|
/* 0285F56C */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285F56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0285F570 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F570 */ _t133 = _t132 & 0x00000001u;
|
|
/* 0285F570 */ if (_t133) goto L_0285F590; else goto L_0285F574;
|
|
L_0285F574: ; // 0x285f574
|
|
/* 0285F574 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Eu);
|
|
/* 0285F578 */ _t134 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F578 */ rbrew_write8(cpu->mem, _t134, (uint8_t)cpu->r[0]);
|
|
/* 0285F57C */ _t135 = cpu->r[30] + 0x0000002Au;
|
|
/* 0285F57C */ cpu->r[10] = rbrew_read16(cpu->mem, _t135);
|
|
/* 0285F580 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0285F584 */ cpu->r[11] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 0285F588 */ cpu->r[8] = cpu->r[9] - cpu->r[11];
|
|
/* 0285F58C */ cpu->r[0] = cpu->r[0] | cpu->r[8];
|
|
L_0285F590: ; // 0x285f590
|
|
/* 0285F590 */ cpu->r[0] = cpu->r[0] | 0x00000010u;
|
|
/* 0285F594 */ _t136 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F594 */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[0]);
|
|
L_0285F598: ; // 0x285f598
|
|
/* 0285F598 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F59C */ /* nop */
|
|
/* 0285F5A0 */ _t137 = cpu->r[1] + 0x00000040u;
|
|
/* 0285F5A0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 0285F5A4 */ _t138 = cpu->r[1] + 0x00000050u;
|
|
/* 0285F5A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 0285F5A8 */ _t139 = cpu->r[1] + 0x00000038u;
|
|
/* 0285F5A8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t139);
|
|
/* 0285F5AC */ _t140 = cpu->r[1] + 0x00000048u;
|
|
/* 0285F5AC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t140);
|
|
/* 0285F5B0 */ _t141 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285F5B0 */ _t142 = _t141 & 0x00000001u;
|
|
/* 0285F5B0 */ if (_t142) goto L_0285F5B4; // else: addr-0 trap, fall-through
|
|
L_0285F5B4: ; // 0x285f5b4
|
|
/* 0285F5B4 */ _t143 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0285F5B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0285F5B8 */ cpu->lr = cpu->r[0];
|
|
/* 0285F5BC */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 0285F5C0 */ return;
|
|
}
|
|
|
|
// fn_0285F26C @ 0x285f26c
|
|
void Gambit_fn_0285F26C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
|
|
L_0285F26C: ; // 0x285f26c
|
|
/* 0285F26C */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 0285F26C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285F26C */ cpu->r[1] = _t0;
|
|
/* 0285F270 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 0285F270 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 0285F274 */ /* nop */
|
|
/* 0285F278 */ _t2 = cpu->r[1] + 0x00000048u;
|
|
/* 0285F278 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 0285F27C */ _t3 = cpu->r[1] + 0x00000040u;
|
|
/* 0285F27C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[30]);
|
|
/* 0285F280 */ /* nop */
|
|
/* 0285F284 */ _t4 = cpu->r[1] + 0x00000050u;
|
|
/* 0285F284 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[31]);
|
|
/* 0285F288 */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0285F288 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0285F28C */ /* nop */
|
|
/* 0285F290 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285F290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285F294 */ cpu->r[29] = cpu->r[4];
|
|
/* 0285F298 */ cpu->r[30] = cpu->r[5];
|
|
/* 0285F29C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F29C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285F29C */ if (_t7) goto L_0285F2A0; else goto L_0285F2B0;
|
|
L_0285F2A0: ; // 0x285f2a0
|
|
/* 0285F2A0 */ cpu->r[3] = 0x000000A4u;
|
|
/* 0285F2A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F2A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285F2A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285F2AC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F2AC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285F2AC */ if (_t9) goto L_0285F598; else goto L_0285F2B0;
|
|
L_0285F2B0: ; // 0x285f2b0
|
|
/* 0285F2B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F2B4 */ Gambit_fn_0285F020(cpu);
|
|
/* 0285F2B8 */ cpu->r[0] = 0x10130000u;
|
|
/* 0285F2BC */ cpu->r[0] = cpu->r[0] + 0x0000509Cu;
|
|
/* 0285F2C0 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0285F2C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F2C4 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 0285F2C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0285F2C8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F2C8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285F2C8 */ if (_t12) goto L_0285F2CC; else goto L_0285F2DC;
|
|
L_0285F2CC: ; // 0x285f2cc
|
|
/* 0285F2CC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285F2D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F2D8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F2D8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285F2D8 */ if (_t14) goto L_0285F308; else goto L_0285F2DC;
|
|
L_0285F2DC: ; // 0x285f2dc
|
|
/* 0285F2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F2E0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F2E0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285F2E0 */ if (_t16) goto L_0285F2E4; else goto L_0285F2F4;
|
|
L_0285F2E4: ; // 0x285f2e4
|
|
/* 0285F2E4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285F2E8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F2EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F2F0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F2F0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285F2F0 */ if (_t18) goto L_0285F308; else goto L_0285F2F4;
|
|
L_0285F2F4: ; // 0x285f2f4
|
|
/* 0285F2F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 0285F2F8 */ cpu->r[9] = cpu->r[3] + 0x00000004u;
|
|
/* 0285F2FC */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 0285F2FC */ rbrew_write32(cpu->mem, _t19, cpu->r[5]);
|
|
/* 0285F300 */ _t20 = cpu->r[9] + 0x00000004u;
|
|
/* 0285F300 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 0285F304 */ _t21 = cpu->r[9] + 0x00000000u;
|
|
/* 0285F304 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
L_0285F308: ; // 0x285f308
|
|
/* 0285F308 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285F30C */ _t22 = cpu->r[10] + 0x0000506Cu;
|
|
/* 0285F30C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 0285F310 */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 0285F310 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 0285F314 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F318 */ _t24 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0285F318 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 0285F31C */ Gambit_fn_0285F06C(cpu);
|
|
/* 0285F320 */ cpu->r[23] = cpu->r[29] + 0x0000002Cu;
|
|
/* 0285F324 */ _t25 = cpu->r[30] + 0x00000030u;
|
|
/* 0285F324 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285F328 */ cpu->r[26] = cpu->r[29] + 0x00000044u;
|
|
/* 0285F32C */ cpu->r[27] = cpu->r[29] + 0x0000004Cu;
|
|
/* 0285F330 */ cpu->r[28] = cpu->r[29] + 0x0000000Au;
|
|
/* 0285F334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285F338 */ cpu->r[25] = cpu->r[29] + 0x00000024u;
|
|
/* 0285F33C */ cpu->r[24] = cpu->r[29] + 0x00000038u;
|
|
/* 0285F340 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F340 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0285F340 */ if (_t27) goto L_0285F390; else goto L_0285F344;
|
|
L_0285F344: ; // 0x285f344
|
|
/* 0285F344 */ _t28 = cpu->r[30] + 0x0000002Au;
|
|
/* 0285F344 */ cpu->r[11] = rbrew_read16(cpu->mem, _t28);
|
|
/* 0285F348 */ cpu->r[6] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 0285F348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0285F34C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F34C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0285F34C */ if (_t30) goto L_0285F354; else goto L_0285F350;
|
|
L_0285F350: ; // 0x285f350
|
|
/* 0285F350 */ cpu->r[23] = cpu->r[5] + 0x00000008u;
|
|
L_0285F354: ; // 0x285f354
|
|
/* 0285F354 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000019u, 0x00000019u);
|
|
/* 0285F354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285F358 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F358 */ _t32 = _t31 & 0x00000001u;
|
|
/* 0285F358 */ if (_t32) goto L_0285F360; else goto L_0285F35C;
|
|
L_0285F35C: ; // 0x285f35c
|
|
/* 0285F35C */ cpu->r[24] = cpu->r[5] + 0x00000014u;
|
|
L_0285F360: ; // 0x285f360
|
|
/* 0285F360 */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 0285F360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0285F364 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F364 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0285F364 */ if (_t34) goto L_0285F36C; else goto L_0285F368;
|
|
L_0285F368: ; // 0x285f368
|
|
/* 0285F368 */ cpu->r[26] = cpu->r[5] + 0x00000020u;
|
|
L_0285F36C: ; // 0x285f36c
|
|
/* 0285F36C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 0285F36C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0285F370 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F370 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0285F370 */ if (_t36) goto L_0285F378; else goto L_0285F374;
|
|
L_0285F374: ; // 0x285f374
|
|
/* 0285F374 */ cpu->r[27] = cpu->r[5] + 0x00000028u;
|
|
L_0285F378: ; // 0x285f378
|
|
/* 0285F378 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x00000018u);
|
|
/* 0285F378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285F37C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F37C */ _t38 = _t37 & 0x00000001u;
|
|
/* 0285F37C */ if (_t38) goto L_0285F384; else goto L_0285F380;
|
|
L_0285F380: ; // 0x285f380
|
|
/* 0285F380 */ cpu->r[28] = cpu->r[5] + 0x00000030u;
|
|
L_0285F384: ; // 0x285f384
|
|
/* 0285F384 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 0285F384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285F388 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F388 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0285F388 */ if (_t40) goto L_0285F390; else goto L_0285F38C;
|
|
L_0285F38C: ; // 0x285f38c
|
|
/* 0285F38C */ cpu->r[25] = cpu->r[5];
|
|
L_0285F390: ; // 0x285f390
|
|
/* 0285F390 */ _t41 = cpu->r[29] + 0x00000009u;
|
|
/* 0285F390 */ cpu->r[12] = rbrew_read8(cpu->mem, _t41);
|
|
/* 0285F394 */ cpu->r[4] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0285F398 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F39C */ _t42 = cpu->r[31] + 0x00000047u;
|
|
/* 0285F39C */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[12]);
|
|
/* 0285F3A0 */ Gambit_fn_0285F124(cpu);
|
|
/* 0285F3A4 */ cpu->r[4] = cpu->r[25];
|
|
/* 0285F3A8 */ Gambit_fn_0285F158(cpu);
|
|
/* 0285F3AC */ _t43 = cpu->r[30] + 0x00000038u;
|
|
/* 0285F3AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0285F3B0 */ _t44 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0285F3B0 */ rbrew_write32(cpu->mem, _t44, cpu->r[9]);
|
|
/* 0285F3B4 */ _t45 = cpu->r[23] + 0x00000000u;
|
|
/* 0285F3B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 0285F3B8 */ _t46 = cpu->r[23] + 0x00000004u;
|
|
/* 0285F3B8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 0285F3BC */ _t47 = cpu->r[23] + 0x00000008u;
|
|
/* 0285F3BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 0285F3C0 */ _t48 = cpu->r[31] + 0x00000020u;
|
|
/* 0285F3C0 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[11]);
|
|
/* 0285F3C4 */ _t49 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285F3C4 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[10]);
|
|
/* 0285F3C8 */ _t50 = cpu->r[31] + 0x00000024u;
|
|
/* 0285F3C8 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[12]);
|
|
/* 0285F3CC */ _t51 = cpu->r[24] + 0x00000008u;
|
|
/* 0285F3CC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 0285F3D0 */ _t52 = cpu->r[24] + 0x00000000u;
|
|
/* 0285F3D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 0285F3D4 */ _t53 = cpu->r[24] + 0x00000004u;
|
|
/* 0285F3D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 0285F3D8 */ _t54 = cpu->r[31] + 0x00000028u;
|
|
/* 0285F3D8 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[13]);
|
|
/* 0285F3DC */ _t55 = cpu->r[31] + 0x00000030u;
|
|
/* 0285F3DC */ rbrew_write_f32(cpu->mem, _t55, cpu->f[9]);
|
|
/* 0285F3E0 */ _t56 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0285F3E0 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[0]);
|
|
/* 0285F3E4 */ _t57 = cpu->r[26] + 0x00000000u;
|
|
/* 0285F3E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 0285F3E8 */ _t58 = cpu->r[26] + 0x00000004u;
|
|
/* 0285F3E8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 0285F3EC */ _t59 = cpu->r[31] + 0x00000034u;
|
|
/* 0285F3EC */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 0285F3F0 */ _t60 = cpu->r[31] + 0x00000038u;
|
|
/* 0285F3F0 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[9]);
|
|
/* 0285F3F4 */ _t61 = cpu->r[30] + 0x00000024u;
|
|
/* 0285F3F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0285F3F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F3FC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F3FC */ _t63 = _t62 & 0x00000001u;
|
|
/* 0285F3FC */ if (_t63) goto L_0285F538; else goto L_0285F400;
|
|
L_0285F400: ; // 0x285f400
|
|
/* 0285F400 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285F404 */ _t64 = cpu->r[30] + 0x00000000u;
|
|
/* 0285F404 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 0285F408 */ _t65 = cpu->r[12] + 0x00005068u;
|
|
/* 0285F408 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 0285F40C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 0285F410 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F410 */ _t67 = _t66 & 0x00000001u;
|
|
/* 0285F410 */ if (_t67) goto L_0285F414; else goto L_0285F420;
|
|
L_0285F414: ; // 0x285f414
|
|
/* 0285F414 */ _t68 = cpu->r[30] + 0x00000004u;
|
|
/* 0285F414 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 0285F418 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 0285F41C */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F41C */ _t70 = _t69 & 0x00000001u;
|
|
/* 0285F41C */ if (_t70) goto L_0285F538; else goto L_0285F420;
|
|
L_0285F420: ; // 0x285f420
|
|
/* 0285F420 */ _t71 = cpu->r[29] + 0x0000000Bu;
|
|
/* 0285F420 */ cpu->r[11] = rbrew_read8(cpu->mem, _t71);
|
|
/* 0285F424 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285F424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285F428 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F428 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0285F428 */ if (_t73) goto L_0285F42C; else goto L_0285F538;
|
|
L_0285F42C: ; // 0x285f42c
|
|
/* 0285F42C */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0285F42C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0285F430 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F430 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0285F430 */ if (_t75) goto L_0285F4F8; else goto L_0285F434;
|
|
L_0285F434: ; // 0x285f434
|
|
/* 0285F434 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285F438 */ _t76 = cpu->r[12] + 0x00005070u;
|
|
/* 0285F438 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 0285F43C */ _t77 = cpu->r[31] + 0x00000047u;
|
|
/* 0285F43C */ cpu->r[12] = rbrew_read8(cpu->mem, _t77);
|
|
/* 0285F440 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285F440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285F444 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F444 */ _t79 = _t78 & 0x00000001u;
|
|
/* 0285F444 */ if (_t79) goto L_0285F448; else goto L_0285F45C;
|
|
L_0285F448: ; // 0x285f448
|
|
/* 0285F448 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285F448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F44C */ _t80 = cpu->r[30] + 0x00000034u;
|
|
/* 0285F44C */ cpu->r[5] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0285F450 */ cpu->f[30] = cpu->f[0];
|
|
/* 0285F454 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F454 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0285F454 */ if (_t82) goto L_0285F46C; else goto L_0285F458;
|
|
L_0285F458: ; // 0x285f458
|
|
/* 0285F458 */ goto L_0285F470;
|
|
L_0285F45C: ; // 0x285f45c
|
|
/* 0285F45C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285F45C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F460 */ _t83 = cpu->r[30] + 0x00000034u;
|
|
/* 0285F460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0285F464 */ cpu->f[30] = cpu->f[31];
|
|
/* 0285F468 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F468 */ _t85 = _t84 & 0x00000001u;
|
|
/* 0285F468 */ if (_t85) goto L_0285F46C; else goto L_0285F470;
|
|
L_0285F46C: ; // 0x285f46c
|
|
/* 0285F46C */ cpu->f[31] = cpu->f[0];
|
|
L_0285F470: ; // 0x285f470
|
|
/* 0285F470 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F474 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285F478 */ Gambit_fn_0285F18C(cpu);
|
|
/* 0285F47C */ _t86 = cpu->r[30] + 0x00000008u;
|
|
/* 0285F47C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t86);
|
|
/* 0285F480 */ _t87 = cpu->r[30] + 0x00000000u;
|
|
/* 0285F480 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 0285F484 */ _t88 = cpu->r[26] + 0x00000000u;
|
|
/* 0285F484 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 0285F488 */ cpu->f[0] = fma(cpu->f[0], cpu->f[11], -(cpu->f[0]));
|
|
/* 0285F48C */ _t89 = cpu->r[1] + 0x00000008u;
|
|
/* 0285F48C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 0285F490 */ cpu->f[11] = cpu->f[12] * cpu->f[13];
|
|
/* 0285F494 */ _t90 = cpu->r[27] + 0x00000000u;
|
|
/* 0285F494 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 0285F498 */ cpu->f[10] = cpu->f[0] * cpu->f[30];
|
|
/* 0285F49C */ cpu->f[11] = cpu->f[10] / cpu->f[11];
|
|
/* 0285F4A0 */ _t91 = cpu->r[30] + 0x00000004u;
|
|
/* 0285F4A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 0285F4A4 */ _t92 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285F4A4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 0285F4A8 */ cpu->f[10] = fma(cpu->f[9], cpu->f[10], -(cpu->f[9]));
|
|
/* 0285F4AC */ cpu->f[12] = cpu->f[13] + cpu->f[11];
|
|
/* 0285F4B0 */ _t93 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0285F4B0 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[12]);
|
|
/* 0285F4B4 */ _t94 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285F4B4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 0285F4B8 */ cpu->f[11] = cpu->f[10] * cpu->f[31];
|
|
/* 0285F4BC */ _t95 = cpu->r[26] + 0x00000004u;
|
|
/* 0285F4BC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 0285F4C0 */ cpu->f[0] = cpu->f[9] * cpu->f[10];
|
|
/* 0285F4C4 */ cpu->f[12] = cpu->f[11] / cpu->f[0];
|
|
/* 0285F4C8 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 0285F4C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 0285F4CC */ cpu->f[10] = cpu->f[13] + cpu->f[12];
|
|
/* 0285F4D0 */ _t97 = cpu->r[31] + 0x00000040u;
|
|
/* 0285F4D0 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[10]);
|
|
/* 0285F4D4 */ _t98 = cpu->r[28] + 0x00000000u;
|
|
/* 0285F4D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t98);
|
|
/* 0285F4D8 */ _t99 = cpu->r[31] + 0x00000045u;
|
|
/* 0285F4D8 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[0]);
|
|
/* 0285F4DC */ _t100 = cpu->r[31] + 0x00000046u;
|
|
/* 0285F4DC */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[0]);
|
|
/* 0285F4E0 */ _t101 = cpu->r[29] + 0x00000008u;
|
|
/* 0285F4E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t101);
|
|
/* 0285F4E4 */ _t102 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F4E4 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[0]);
|
|
/* 0285F4E8 */ _t103 = cpu->r[30] + 0x00000024u;
|
|
/* 0285F4E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0285F4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285F4F0 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F4F0 */ _t105 = _t104 & 0x00000001u;
|
|
/* 0285F4F0 */ if (_t105) goto L_0285F590; else goto L_0285F4F4;
|
|
L_0285F4F4: ; // 0x285f4f4
|
|
/* 0285F4F4 */ goto L_0285F568;
|
|
L_0285F4F8: ; // 0x285f4f8
|
|
/* 0285F4F8 */ _t106 = cpu->r[27] + 0x00000000u;
|
|
/* 0285F4F8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 0285F4FC */ cpu->f[0] = cpu->f[9] * cpu->f[13];
|
|
/* 0285F500 */ _t107 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0285F500 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[0]);
|
|
/* 0285F504 */ _t108 = cpu->r[27] + 0x00000004u;
|
|
/* 0285F504 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 0285F508 */ _t109 = cpu->r[30] + 0x00000004u;
|
|
/* 0285F508 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 0285F50C */ cpu->f[10] = cpu->f[10] * cpu->f[11];
|
|
/* 0285F510 */ _t110 = cpu->r[31] + 0x00000040u;
|
|
/* 0285F510 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[10]);
|
|
/* 0285F514 */ _t111 = cpu->r[28] + 0x00000000u;
|
|
/* 0285F514 */ cpu->r[0] = rbrew_read8(cpu->mem, _t111);
|
|
/* 0285F518 */ _t112 = cpu->r[31] + 0x00000045u;
|
|
/* 0285F518 */ rbrew_write8(cpu->mem, _t112, (uint8_t)cpu->r[0]);
|
|
/* 0285F51C */ _t113 = cpu->r[31] + 0x00000046u;
|
|
/* 0285F51C */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[0]);
|
|
/* 0285F520 */ _t114 = cpu->r[29] + 0x00000008u;
|
|
/* 0285F520 */ cpu->r[0] = rbrew_read8(cpu->mem, _t114);
|
|
/* 0285F524 */ _t115 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F524 */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[0]);
|
|
/* 0285F528 */ _t116 = cpu->r[30] + 0x00000024u;
|
|
/* 0285F528 */ cpu->r[5] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0285F52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285F530 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F530 */ _t118 = _t117 & 0x00000001u;
|
|
/* 0285F530 */ if (_t118) goto L_0285F590; else goto L_0285F534;
|
|
L_0285F534: ; // 0x285f534
|
|
/* 0285F534 */ goto L_0285F568;
|
|
L_0285F538: ; // 0x285f538
|
|
/* 0285F538 */ _t119 = cpu->r[27] + 0x00000000u;
|
|
/* 0285F538 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 0285F53C */ _t120 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0285F53C */ rbrew_write_f32(cpu->mem, _t120, cpu->f[12]);
|
|
/* 0285F540 */ _t121 = cpu->r[27] + 0x00000004u;
|
|
/* 0285F540 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t121);
|
|
/* 0285F544 */ _t122 = cpu->r[31] + 0x00000040u;
|
|
/* 0285F544 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[10]);
|
|
/* 0285F548 */ _t123 = cpu->r[28] + 0x00000000u;
|
|
/* 0285F548 */ cpu->r[0] = rbrew_read8(cpu->mem, _t123);
|
|
/* 0285F54C */ _t124 = cpu->r[31] + 0x00000045u;
|
|
/* 0285F54C */ rbrew_write8(cpu->mem, _t124, (uint8_t)cpu->r[0]);
|
|
/* 0285F550 */ _t125 = cpu->r[31] + 0x00000046u;
|
|
/* 0285F550 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[0]);
|
|
/* 0285F554 */ _t126 = cpu->r[29] + 0x00000008u;
|
|
/* 0285F554 */ cpu->r[0] = rbrew_read8(cpu->mem, _t126);
|
|
/* 0285F558 */ _t127 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F558 */ rbrew_write8(cpu->mem, _t127, (uint8_t)cpu->r[0]);
|
|
/* 0285F55C */ _t128 = cpu->r[30] + 0x00000024u;
|
|
/* 0285F55C */ cpu->r[5] = rbrew_read32(cpu->mem, _t128);
|
|
/* 0285F560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285F564 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F564 */ _t130 = _t129 & 0x00000001u;
|
|
/* 0285F564 */ if (_t130) goto L_0285F590; else goto L_0285F568;
|
|
L_0285F568: ; // 0x285f568
|
|
/* 0285F568 */ _t131 = cpu->r[30] + 0x0000002Au;
|
|
/* 0285F568 */ cpu->r[7] = rbrew_read16(cpu->mem, _t131);
|
|
/* 0285F56C */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285F56C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0285F570 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F570 */ _t133 = _t132 & 0x00000001u;
|
|
/* 0285F570 */ if (_t133) goto L_0285F590; else goto L_0285F574;
|
|
L_0285F574: ; // 0x285f574
|
|
/* 0285F574 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Eu);
|
|
/* 0285F578 */ _t134 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F578 */ rbrew_write8(cpu->mem, _t134, (uint8_t)cpu->r[0]);
|
|
/* 0285F57C */ _t135 = cpu->r[30] + 0x0000002Au;
|
|
/* 0285F57C */ cpu->r[10] = rbrew_read16(cpu->mem, _t135);
|
|
/* 0285F580 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0285F584 */ cpu->r[11] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 0285F588 */ cpu->r[8] = cpu->r[9] - cpu->r[11];
|
|
/* 0285F58C */ cpu->r[0] = cpu->r[0] | cpu->r[8];
|
|
L_0285F590: ; // 0x285f590
|
|
/* 0285F590 */ cpu->r[0] = cpu->r[0] | 0x00000010u;
|
|
/* 0285F594 */ _t136 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F594 */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[0]);
|
|
L_0285F598: ; // 0x285f598
|
|
/* 0285F598 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F59C */ /* nop */
|
|
/* 0285F5A0 */ _t137 = cpu->r[1] + 0x00000040u;
|
|
/* 0285F5A0 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 0285F5A4 */ _t138 = cpu->r[1] + 0x00000050u;
|
|
/* 0285F5A4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 0285F5A8 */ _t139 = cpu->r[1] + 0x00000038u;
|
|
/* 0285F5A8 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t139);
|
|
/* 0285F5AC */ _t140 = cpu->r[1] + 0x00000048u;
|
|
/* 0285F5AC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t140);
|
|
/* 0285F5B0 */ _t141 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285F5B0 */ _t142 = _t141 & 0x00000001u;
|
|
/* 0285F5B0 */ if (_t142) goto L_0285F5B4; // else: addr-0 trap, fall-through
|
|
L_0285F5B4: ; // 0x285f5b4
|
|
/* 0285F5B4 */ _t143 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0285F5B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0285F5B8 */ cpu->lr = cpu->r[0];
|
|
/* 0285F5BC */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 0285F5C0 */ return;
|
|
}
|
|
|
|
// fn_0285F5C4 @ 0x285f5c4
|
|
void Gambit_fn_0285F5C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
|
|
|
|
L_0285F5C4: ; // 0x285f5c4
|
|
/* 0285F5C4 */ cpu->r[0] = cpu->lr;
|
|
/* 0285F5C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285F5C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285F5C8 */ cpu->r[1] = _t0;
|
|
/* 0285F5CC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285F5CC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285F5D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285F5D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285F5D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285F5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285F5D8 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285F5DC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285F5DC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285F5E0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285F5E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285F5E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F5E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285F5E4 */ if (_t6) goto L_0285F5E8; else goto L_0285F5F8;
|
|
L_0285F5E8: ; // 0x285f5e8
|
|
/* 0285F5E8 */ cpu->r[3] = 0x000000A4u;
|
|
/* 0285F5EC */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F5F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285F5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285F5F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F5F4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285F5F4 */ if (_t8) goto L_0285F750; else goto L_0285F5F8;
|
|
L_0285F5F8: ; // 0x285f5f8
|
|
/* 0285F5F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F5FC */ Gambit_fn_0285F020(cpu);
|
|
/* 0285F600 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285F604 */ cpu->r[29] = 0x00000000u;
|
|
/* 0285F608 */ cpu->r[12] = cpu->r[12] + 0x0000509Cu;
|
|
/* 0285F60C */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285F60C */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 0285F610 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0285F610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F614 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 0285F614 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0285F618 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F618 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285F618 */ if (_t12) goto L_0285F61C; else goto L_0285F62C;
|
|
L_0285F61C: ; // 0x285f61c
|
|
/* 0285F61C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285F620 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F628 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F628 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285F628 */ if (_t14) goto L_0285F654; else goto L_0285F62C;
|
|
L_0285F62C: ; // 0x285f62c
|
|
/* 0285F62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F630 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F630 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285F630 */ if (_t16) goto L_0285F634; else goto L_0285F644;
|
|
L_0285F634: ; // 0x285f634
|
|
/* 0285F634 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285F638 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F640 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F640 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285F640 */ if (_t18) goto L_0285F654; else goto L_0285F644;
|
|
L_0285F644: ; // 0x285f644
|
|
/* 0285F644 */ cpu->r[11] = cpu->r[3] + 0x00000004u;
|
|
/* 0285F648 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 0285F648 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 0285F64C */ _t20 = cpu->r[11] + 0x00000004u;
|
|
/* 0285F64C */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 0285F650 */ _t21 = cpu->r[11] + 0x00000000u;
|
|
/* 0285F650 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
L_0285F654: ; // 0x285f654
|
|
/* 0285F654 */ _t22 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285F654 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285F658 */ _t23 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285F658 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]);
|
|
/* 0285F65C */ _t24 = cpu->r[30] + 0x00000020u;
|
|
/* 0285F65C */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285F660 */ _t25 = cpu->r[31] + 0x00000020u;
|
|
/* 0285F660 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 0285F664 */ _t26 = cpu->r[30] + 0x00000024u;
|
|
/* 0285F664 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285F668 */ _t27 = cpu->r[31] + 0x00000024u;
|
|
/* 0285F668 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
/* 0285F66C */ _t28 = cpu->r[30] + 0x00000028u;
|
|
/* 0285F66C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0285F670 */ _t29 = cpu->r[31] + 0x00000028u;
|
|
/* 0285F670 */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
|
|
/* 0285F674 */ _t30 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285F674 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0285F678 */ _t31 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0285F678 */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
/* 0285F67C */ _t32 = cpu->r[30] + 0x00000030u;
|
|
/* 0285F67C */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0285F680 */ _t33 = cpu->r[31] + 0x00000030u;
|
|
/* 0285F680 */ rbrew_write32(cpu->mem, _t33, cpu->r[12]);
|
|
/* 0285F684 */ _t34 = cpu->r[30] + 0x00000034u;
|
|
/* 0285F684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0285F688 */ _t35 = cpu->r[31] + 0x00000034u;
|
|
/* 0285F688 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 0285F68C */ _t36 = cpu->r[30] + 0x00000038u;
|
|
/* 0285F68C */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0285F690 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 0285F690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F694 */ _t37 = cpu->r[31] + 0x00000038u;
|
|
/* 0285F694 */ rbrew_write32(cpu->mem, _t37, cpu->r[5]);
|
|
/* 0285F698 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F698 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0285F698 */ if (_t39) goto L_0285F69C; else goto L_0285F6AC;
|
|
L_0285F69C: ; // 0x285f69c
|
|
/* 0285F69C */ cpu->r[3] = 0x00000008u;
|
|
/* 0285F6A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F6A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F6A8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F6A8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0285F6A8 */ if (_t41) goto L_0285F6BC; else goto L_0285F6AC;
|
|
L_0285F6AC: ; // 0x285f6ac
|
|
/* 0285F6AC */ _t42 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0285F6AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 0285F6B0 */ _t43 = cpu->r[3] + 0x00000000u;
|
|
/* 0285F6B0 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 0285F6B4 */ _t44 = cpu->r[30] + 0x00000040u;
|
|
/* 0285F6B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 0285F6B8 */ _t45 = cpu->r[3] + 0x00000004u;
|
|
/* 0285F6B8 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
|
|
L_0285F6BC: ; // 0x285f6bc
|
|
/* 0285F6BC */ _t46 = cpu->r[30] + 0x00000044u;
|
|
/* 0285F6BC */ cpu->r[6] = rbrew_read8(cpu->mem, _t46);
|
|
/* 0285F6C0 */ _t47 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F6C0 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[6]);
|
|
/* 0285F6C4 */ _t48 = cpu->r[30] + 0x00000045u;
|
|
/* 0285F6C4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0285F6C8 */ _t49 = cpu->r[31] + 0x00000045u;
|
|
/* 0285F6C8 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[7]);
|
|
/* 0285F6CC */ _t50 = cpu->r[30] + 0x00000046u;
|
|
/* 0285F6CC */ cpu->r[8] = rbrew_read8(cpu->mem, _t50);
|
|
/* 0285F6D0 */ cpu->r[12] = cpu->r[30] + 0x00000048u;
|
|
/* 0285F6D4 */ cpu->r[0] = cpu->r[31] + 0x00000048u;
|
|
/* 0285F6D8 */ _t51 = cpu->r[31] + 0x00000046u;
|
|
/* 0285F6D8 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[8]);
|
|
/* 0285F6DC */ _t52 = cpu->r[30] + 0x00000047u;
|
|
/* 0285F6DC */ cpu->r[10] = rbrew_read8(cpu->mem, _t52);
|
|
/* 0285F6E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 0285F6E4 */ _t53 = cpu->r[31] + 0x00000047u;
|
|
/* 0285F6E4 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[10]);
|
|
/* 0285F6E8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F6E8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0285F6E8 */ if (_t55) goto L_0285F720; else goto L_0285F6EC;
|
|
L_0285F6EC: ; // 0x285f6ec
|
|
/* 0285F6EC */ cpu->r[8] = 0x00000003u;
|
|
/* 0285F6F0 */ cpu->r[6] = cpu->r[30] + 0x00000044u;
|
|
/* 0285F6F4 */ cpu->ctr = cpu->r[8];
|
|
/* 0285F6F8 */ cpu->r[7] = cpu->r[31] + 0x00000044u;
|
|
L_0285F6FC: ; // 0x285f6fc
|
|
/* 0285F6FC */ _t56 = cpu->r[6] + 0x00000004u;
|
|
/* 0285F6FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0285F700 */ _t57 = cpu->r[7] + 0x00000004u;
|
|
/* 0285F700 */ rbrew_write32(cpu->mem, _t57, cpu->r[9]);
|
|
/* 0285F704 */ _t58 = cpu->r[6] + 0x00000008u;
|
|
/* 0285F704 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0285F708 */ _t59 = cpu->r[7] + 0x00000008u;
|
|
/* 0285F708 */ rbrew_write32(cpu->mem, _t59, cpu->r[10]);
|
|
/* 0285F70C */ _t60 = cpu->r[6] + 0x0000000Cu;
|
|
/* 0285F70C */ cpu->r[11] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0285F710 */ _t61 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0285F710 */ rbrew_write32(cpu->mem, _t61, cpu->r[11]);
|
|
/* 0285F714 */ _t62 = cpu->r[6] + 0x00000010u;
|
|
/* 0285F714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0285F714 */ cpu->r[6] = _t62;
|
|
/* 0285F718 */ _t63 = cpu->r[7] + 0x00000010u;
|
|
/* 0285F718 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 0285F718 */ cpu->r[7] = _t63;
|
|
/* 0285F71C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285F71C */ _t64 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285F71C */ _t65 = _t64 >> (0x00000002u & 31u);
|
|
/* 0285F71C */ _t66 = _t65 & 0x00000001u;
|
|
/* 0285F71C */ if (_t66) goto L_0285F6FC; else goto L_0285F720;
|
|
L_0285F720: ; // 0x285f720
|
|
/* 0285F720 */ _t67 = cpu->r[31] + 0x00000078u;
|
|
/* 0285F720 */ rbrew_write32(cpu->mem, _t67, cpu->r[29]);
|
|
/* 0285F724 */ _t68 = cpu->r[30] + 0x0000007Cu;
|
|
/* 0285F724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0285F728 */ cpu->r[4] = cpu->r[30] + 0x00000080u;
|
|
/* 0285F72C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F730 */ _t69 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0285F730 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 0285F734 */ Gambit_fn_0285F124(cpu);
|
|
/* 0285F738 */ cpu->r[4] = cpu->r[30] + 0x00000099u;
|
|
/* 0285F73C */ Gambit_fn_0285F158(cpu);
|
|
/* 0285F740 */ _t70 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F740 */ cpu->r[9] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0285F744 */ cpu->r[0] = cpu->r[9] & 0x000000CFu;
|
|
/* 0285F744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F748 */ cpu->r[8] = cpu->r[0] | 0x00000010u;
|
|
/* 0285F74C */ _t71 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F74C */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[8]);
|
|
L_0285F750: ; // 0x285f750
|
|
/* 0285F750 */ _t72 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285F750 */ cpu->r[29] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0285F754 */ _t73 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285F754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0285F758 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F75C */ _t74 = cpu->r[1] + 0x00000010u;
|
|
/* 0285F75C */ cpu->r[30] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0285F760 */ cpu->lr = cpu->r[0];
|
|
/* 0285F764 */ _t75 = cpu->r[1] + 0x00000014u;
|
|
/* 0285F764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0285F768 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285F76C */ return;
|
|
}
|
|
|
|
// fn_0285F5C8 @ 0x285f5c8
|
|
void Gambit_fn_0285F5C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
|
|
|
|
L_0285F5C8: ; // 0x285f5c8
|
|
/* 0285F5C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285F5C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285F5C8 */ cpu->r[1] = _t0;
|
|
/* 0285F5CC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285F5CC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285F5D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285F5D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285F5D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285F5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285F5D8 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285F5DC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285F5DC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285F5E0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285F5E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0285F5E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F5E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285F5E4 */ if (_t6) goto L_0285F5E8; else goto L_0285F5F8;
|
|
L_0285F5E8: ; // 0x285f5e8
|
|
/* 0285F5E8 */ cpu->r[3] = 0x000000A4u;
|
|
/* 0285F5EC */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F5F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285F5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285F5F4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F5F4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0285F5F4 */ if (_t8) goto L_0285F750; else goto L_0285F5F8;
|
|
L_0285F5F8: ; // 0x285f5f8
|
|
/* 0285F5F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F5FC */ Gambit_fn_0285F020(cpu);
|
|
/* 0285F600 */ cpu->r[12] = 0x10130000u;
|
|
/* 0285F604 */ cpu->r[29] = 0x00000000u;
|
|
/* 0285F608 */ cpu->r[12] = cpu->r[12] + 0x0000509Cu;
|
|
/* 0285F60C */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285F60C */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 0285F610 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0285F610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F614 */ _t10 = cpu->r[31] + 0x00000008u;
|
|
/* 0285F614 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 0285F618 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F618 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285F618 */ if (_t12) goto L_0285F61C; else goto L_0285F62C;
|
|
L_0285F61C: ; // 0x285f61c
|
|
/* 0285F61C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285F620 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F628 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F628 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285F628 */ if (_t14) goto L_0285F654; else goto L_0285F62C;
|
|
L_0285F62C: ; // 0x285f62c
|
|
/* 0285F62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F630 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F630 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285F630 */ if (_t16) goto L_0285F634; else goto L_0285F644;
|
|
L_0285F634: ; // 0x285f634
|
|
/* 0285F634 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0285F638 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F640 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F640 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285F640 */ if (_t18) goto L_0285F654; else goto L_0285F644;
|
|
L_0285F644: ; // 0x285f644
|
|
/* 0285F644 */ cpu->r[11] = cpu->r[3] + 0x00000004u;
|
|
/* 0285F648 */ _t19 = cpu->r[3] + 0x00000000u;
|
|
/* 0285F648 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 0285F64C */ _t20 = cpu->r[11] + 0x00000004u;
|
|
/* 0285F64C */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 0285F650 */ _t21 = cpu->r[11] + 0x00000000u;
|
|
/* 0285F650 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
L_0285F654: ; // 0x285f654
|
|
/* 0285F654 */ _t22 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0285F654 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285F658 */ _t23 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0285F658 */ rbrew_write32(cpu->mem, _t23, cpu->r[5]);
|
|
/* 0285F65C */ _t24 = cpu->r[30] + 0x00000020u;
|
|
/* 0285F65C */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285F660 */ _t25 = cpu->r[31] + 0x00000020u;
|
|
/* 0285F660 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 0285F664 */ _t26 = cpu->r[30] + 0x00000024u;
|
|
/* 0285F664 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285F668 */ _t27 = cpu->r[31] + 0x00000024u;
|
|
/* 0285F668 */ rbrew_write32(cpu->mem, _t27, cpu->r[7]);
|
|
/* 0285F66C */ _t28 = cpu->r[30] + 0x00000028u;
|
|
/* 0285F66C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0285F670 */ _t29 = cpu->r[31] + 0x00000028u;
|
|
/* 0285F670 */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
|
|
/* 0285F674 */ _t30 = cpu->r[30] + 0x0000002Cu;
|
|
/* 0285F674 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0285F678 */ _t31 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0285F678 */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
/* 0285F67C */ _t32 = cpu->r[30] + 0x00000030u;
|
|
/* 0285F67C */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0285F680 */ _t33 = cpu->r[31] + 0x00000030u;
|
|
/* 0285F680 */ rbrew_write32(cpu->mem, _t33, cpu->r[12]);
|
|
/* 0285F684 */ _t34 = cpu->r[30] + 0x00000034u;
|
|
/* 0285F684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0285F688 */ _t35 = cpu->r[31] + 0x00000034u;
|
|
/* 0285F688 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 0285F68C */ _t36 = cpu->r[30] + 0x00000038u;
|
|
/* 0285F68C */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0285F690 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 0285F690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F694 */ _t37 = cpu->r[31] + 0x00000038u;
|
|
/* 0285F694 */ rbrew_write32(cpu->mem, _t37, cpu->r[5]);
|
|
/* 0285F698 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F698 */ _t39 = _t38 & 0x00000001u;
|
|
/* 0285F698 */ if (_t39) goto L_0285F69C; else goto L_0285F6AC;
|
|
L_0285F69C: ; // 0x285f69c
|
|
/* 0285F69C */ cpu->r[3] = 0x00000008u;
|
|
/* 0285F6A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F6A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F6A8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F6A8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0285F6A8 */ if (_t41) goto L_0285F6BC; else goto L_0285F6AC;
|
|
L_0285F6AC: ; // 0x285f6ac
|
|
/* 0285F6AC */ _t42 = cpu->r[30] + 0x0000003Cu;
|
|
/* 0285F6AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 0285F6B0 */ _t43 = cpu->r[3] + 0x00000000u;
|
|
/* 0285F6B0 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[0]);
|
|
/* 0285F6B4 */ _t44 = cpu->r[30] + 0x00000040u;
|
|
/* 0285F6B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 0285F6B8 */ _t45 = cpu->r[3] + 0x00000004u;
|
|
/* 0285F6B8 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
|
|
L_0285F6BC: ; // 0x285f6bc
|
|
/* 0285F6BC */ _t46 = cpu->r[30] + 0x00000044u;
|
|
/* 0285F6BC */ cpu->r[6] = rbrew_read8(cpu->mem, _t46);
|
|
/* 0285F6C0 */ _t47 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F6C0 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[6]);
|
|
/* 0285F6C4 */ _t48 = cpu->r[30] + 0x00000045u;
|
|
/* 0285F6C4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t48);
|
|
/* 0285F6C8 */ _t49 = cpu->r[31] + 0x00000045u;
|
|
/* 0285F6C8 */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[7]);
|
|
/* 0285F6CC */ _t50 = cpu->r[30] + 0x00000046u;
|
|
/* 0285F6CC */ cpu->r[8] = rbrew_read8(cpu->mem, _t50);
|
|
/* 0285F6D0 */ cpu->r[12] = cpu->r[30] + 0x00000048u;
|
|
/* 0285F6D4 */ cpu->r[0] = cpu->r[31] + 0x00000048u;
|
|
/* 0285F6D8 */ _t51 = cpu->r[31] + 0x00000046u;
|
|
/* 0285F6D8 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[8]);
|
|
/* 0285F6DC */ _t52 = cpu->r[30] + 0x00000047u;
|
|
/* 0285F6DC */ cpu->r[10] = rbrew_read8(cpu->mem, _t52);
|
|
/* 0285F6E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 0285F6E4 */ _t53 = cpu->r[31] + 0x00000047u;
|
|
/* 0285F6E4 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[10]);
|
|
/* 0285F6E8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F6E8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0285F6E8 */ if (_t55) goto L_0285F720; else goto L_0285F6EC;
|
|
L_0285F6EC: ; // 0x285f6ec
|
|
/* 0285F6EC */ cpu->r[8] = 0x00000003u;
|
|
/* 0285F6F0 */ cpu->r[6] = cpu->r[30] + 0x00000044u;
|
|
/* 0285F6F4 */ cpu->ctr = cpu->r[8];
|
|
/* 0285F6F8 */ cpu->r[7] = cpu->r[31] + 0x00000044u;
|
|
L_0285F6FC: ; // 0x285f6fc
|
|
/* 0285F6FC */ _t56 = cpu->r[6] + 0x00000004u;
|
|
/* 0285F6FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0285F700 */ _t57 = cpu->r[7] + 0x00000004u;
|
|
/* 0285F700 */ rbrew_write32(cpu->mem, _t57, cpu->r[9]);
|
|
/* 0285F704 */ _t58 = cpu->r[6] + 0x00000008u;
|
|
/* 0285F704 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0285F708 */ _t59 = cpu->r[7] + 0x00000008u;
|
|
/* 0285F708 */ rbrew_write32(cpu->mem, _t59, cpu->r[10]);
|
|
/* 0285F70C */ _t60 = cpu->r[6] + 0x0000000Cu;
|
|
/* 0285F70C */ cpu->r[11] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0285F710 */ _t61 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0285F710 */ rbrew_write32(cpu->mem, _t61, cpu->r[11]);
|
|
/* 0285F714 */ _t62 = cpu->r[6] + 0x00000010u;
|
|
/* 0285F714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0285F714 */ cpu->r[6] = _t62;
|
|
/* 0285F718 */ _t63 = cpu->r[7] + 0x00000010u;
|
|
/* 0285F718 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 0285F718 */ cpu->r[7] = _t63;
|
|
/* 0285F71C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0285F71C */ _t64 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0285F71C */ _t65 = _t64 >> (0x00000002u & 31u);
|
|
/* 0285F71C */ _t66 = _t65 & 0x00000001u;
|
|
/* 0285F71C */ if (_t66) goto L_0285F6FC; else goto L_0285F720;
|
|
L_0285F720: ; // 0x285f720
|
|
/* 0285F720 */ _t67 = cpu->r[31] + 0x00000078u;
|
|
/* 0285F720 */ rbrew_write32(cpu->mem, _t67, cpu->r[29]);
|
|
/* 0285F724 */ _t68 = cpu->r[30] + 0x0000007Cu;
|
|
/* 0285F724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0285F728 */ cpu->r[4] = cpu->r[30] + 0x00000080u;
|
|
/* 0285F72C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F730 */ _t69 = cpu->r[31] + 0x0000007Cu;
|
|
/* 0285F730 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 0285F734 */ Gambit_fn_0285F124(cpu);
|
|
/* 0285F738 */ cpu->r[4] = cpu->r[30] + 0x00000099u;
|
|
/* 0285F73C */ Gambit_fn_0285F158(cpu);
|
|
/* 0285F740 */ _t70 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F740 */ cpu->r[9] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0285F744 */ cpu->r[0] = cpu->r[9] & 0x000000CFu;
|
|
/* 0285F744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F748 */ cpu->r[8] = cpu->r[0] | 0x00000010u;
|
|
/* 0285F74C */ _t71 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F74C */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[8]);
|
|
L_0285F750: ; // 0x285f750
|
|
/* 0285F750 */ _t72 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285F750 */ cpu->r[29] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0285F754 */ _t73 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285F754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0285F758 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F75C */ _t74 = cpu->r[1] + 0x00000010u;
|
|
/* 0285F75C */ cpu->r[30] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0285F760 */ cpu->lr = cpu->r[0];
|
|
/* 0285F764 */ _t75 = cpu->r[1] + 0x00000014u;
|
|
/* 0285F764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0285F768 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285F76C */ return;
|
|
}
|
|
|
|
// fn_0285F770 @ 0x285f770
|
|
void Gambit_fn_0285F770(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_0285F770: ; // 0x285f770
|
|
/* 0285F770 */ cpu->r[0] = cpu->lr;
|
|
/* 0285F774 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0285F774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285F774 */ cpu->r[1] = _t0;
|
|
/* 0285F778 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 0285F778 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285F77C */ /* nop */
|
|
/* 0285F780 */ cpu->r[28] = cpu->r[3];
|
|
/* 0285F780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0285F784 */ cpu->r[29] = cpu->r[4];
|
|
/* 0285F788 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F788 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285F788 */ if (_t3) goto L_0285F914; else goto L_0285F78C;
|
|
L_0285F78C: ; // 0x285f78c
|
|
/* 0285F78C */ _t4 = cpu->r[28] + 0x00000014u;
|
|
/* 0285F78C */ cpu->r[26] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285F790 */ cpu->r[27] = cpu->r[28] + 0x00000014u;
|
|
/* 0285F794 */ cpu->r[10] = cpu->r[26] ^ cpu->r[27];
|
|
/* 0285F798 */ cpu->r[11] = rbrew_clz32(cpu->r[10]);
|
|
/* 0285F79C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285F7A0 */ cpu->r[8] = 0x10130000u;
|
|
/* 0285F7A4 */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
|
|
/* 0285F7A8 */ cpu->r[8] = cpu->r[8] + 0x0000509Cu;
|
|
/* 0285F7AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285F7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F7B0 */ _t5 = cpu->r[28] + 0x00000008u;
|
|
/* 0285F7B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
|
|
/* 0285F7B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F7B4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285F7B4 */ if (_t7) goto L_0285F904; else goto L_0285F7B8;
|
|
L_0285F7B8: ; // 0x285f7b8
|
|
/* 0285F7B8 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0285F7BC */ cpu->r[21] = 0x101D0000u;
|
|
/* 0285F7C0 */ cpu->r[22] = 0x101D0000u;
|
|
/* 0285F7C4 */ cpu->r[30] = cpu->r[30] + 0x00000F5Cu;
|
|
/* 0285F7C8 */ cpu->r[21] = cpu->r[21] + 0x00000F38u;
|
|
/* 0285F7CC */ cpu->r[23] = 0x00000001u;
|
|
/* 0285F7D0 */ cpu->r[24] = 0x101D0000u;
|
|
/* 0285F7D4 */ cpu->r[25] = 0x00000000u;
|
|
L_0285F7D8: ; // 0x285f7d8
|
|
/* 0285F7D8 */ cpu->r[31] = cpu->r[26];
|
|
/* 0285F7DC */ _t8 = cpu->r[26] + 0x00000000u;
|
|
/* 0285F7DC */ cpu->r[26] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285F7E0 */ cpu->r[3] = cpu->r[28] + 0x00000010u;
|
|
/* 0285F7E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285F7E8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285F7E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 0285F7EC */ Gambit_fn_02854250(cpu);
|
|
/* 0285F7F0 */ _t10 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F7F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0285F7F4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 0285F7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285F7F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F7F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285F7F8 */ if (_t12) goto L_0285F7FC; else goto L_0285F8EC;
|
|
L_0285F7FC: ; // 0x285f7fc
|
|
/* 0285F7FC */ _t13 = cpu->r[24] + 0xFFFFD7F4u;
|
|
/* 0285F7FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285F800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285F804 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F804 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285F804 */ if (_t15) goto L_0285F808; else goto L_0285F824;
|
|
L_0285F808: ; // 0x285f808
|
|
/* 0285F808 */ _t16 = cpu->r[22] + 0xFFFFD7ECu;
|
|
/* 0285F808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285F80C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F810 */ _t17 = cpu->r[24] + 0xFFFFD7F4u;
|
|
/* 0285F810 */ rbrew_write32(cpu->mem, _t17, cpu->r[23]);
|
|
/* 0285F814 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F814 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285F814 */ if (_t19) goto L_0285F818; else goto L_0285F820;
|
|
L_0285F818: ; // 0x285f818
|
|
/* 0285F818 */ _t20 = cpu->r[21] + 0x00000000u;
|
|
/* 0285F818 */ rbrew_write32(cpu->mem, _t20, cpu->r[25]);
|
|
/* 0285F81C */ _t21 = cpu->r[22] + 0xFFFFD7ECu;
|
|
/* 0285F81C */ rbrew_write32(cpu->mem, _t21, cpu->r[23]);
|
|
L_0285F820: ; // 0x285f820
|
|
/* 0285F820 */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 0285F820 */ rbrew_write32(cpu->mem, _t22, cpu->r[21]);
|
|
L_0285F824: ; // 0x285f824
|
|
/* 0285F824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285F828 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F828 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0285F828 */ if (_t24) goto L_0285F8C4; else goto L_0285F82C;
|
|
L_0285F82C: ; // 0x285f82c
|
|
/* 0285F82C */ _t25 = cpu->r[31] + 0x00000008u;
|
|
/* 0285F82C */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285F830 */ _t26 = cpu->r[9] + 0x00000014u;
|
|
/* 0285F830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285F834 */ cpu->ctr = cpu->r[0];
|
|
/* 0285F838 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F83C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285F840 */ cpu->r[12] = cpu->r[3];
|
|
/* 0285F840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285F844 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F844 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0285F844 */ if (_t28) goto L_0285F8C4; else goto L_0285F848;
|
|
L_0285F848: ; // 0x285f848
|
|
/* 0285F848 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 0285F84C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F84C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0285F84C */ if (_t30) goto L_0285F874; else goto L_0285F850;
|
|
L_0285F850: ; // 0x285f850
|
|
/* 0285F850 */ _t31 = cpu->r[12] + 0x00000000u;
|
|
/* 0285F850 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0285F854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285F858 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F858 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0285F858 */ if (_t33) goto L_0285F8C4; else goto L_0285F85C;
|
|
L_0285F85C: ; // 0x285f85c
|
|
/* 0285F85C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 0285F860 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F860 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0285F860 */ if (_t35) goto L_0285F874; else goto L_0285F864;
|
|
L_0285F864: ; // 0x285f864
|
|
/* 0285F864 */ _t36 = cpu->r[12] + 0x00000000u;
|
|
/* 0285F864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0285F868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285F86C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F86C */ _t38 = _t37 & 0x00000001u;
|
|
/* 0285F86C */ if (_t38) goto L_0285F870; else goto L_0285F85C;
|
|
L_0285F870: ; // 0x285f870
|
|
/* 0285F870 */ goto L_0285F8C4;
|
|
L_0285F874: ; // 0x285f874
|
|
/* 0285F874 */ cpu->r[12] = cpu->r[31];
|
|
/* 0285F874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285F878 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F878 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0285F878 */ if (_t40) goto L_0285F8C4; else goto L_0285F87C;
|
|
L_0285F87C: ; // 0x285f87c
|
|
/* 0285F87C */ _t41 = cpu->r[12] + 0x000000ACu;
|
|
/* 0285F87C */ cpu->r[20] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0285F880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0285F884 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F884 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0285F884 */ if (_t43) goto L_0285F8C4; else goto L_0285F888;
|
|
L_0285F888: ; // 0x285f888
|
|
/* 0285F888 */ _t44 = cpu->r[20] + 0x00000038u;
|
|
/* 0285F888 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0285F88C */ _t45 = cpu->r[11] + 0x00000014u;
|
|
/* 0285F88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0285F890 */ cpu->ctr = cpu->r[0];
|
|
/* 0285F894 */ cpu->r[3] = cpu->r[20];
|
|
/* 0285F898 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285F89C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285F8A0 */ cpu->r[3] = cpu->r[20];
|
|
/* 0285F8A4 */ Gambit_fn_02869EAC(cpu);
|
|
/* 0285F8A8 */ cpu->r[9] = cpu->r[26] ^ cpu->r[27];
|
|
/* 0285F8AC */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 0285F8B0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285F8B4 */ cpu->r[11] = cpu->r[8] ^ 0x00000001u;
|
|
/* 0285F8B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285F8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F8BC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F8BC */ _t47 = _t46 & 0x00000001u;
|
|
/* 0285F8BC */ if (_t47) goto L_0285F8C0; else goto L_0285F7D8;
|
|
L_0285F8C0: ; // 0x285f8c0
|
|
/* 0285F8C0 */ goto L_0285F904;
|
|
L_0285F8C4: ; // 0x285f8c4
|
|
/* 0285F8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285F8C8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F8C8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0285F8C8 */ if (_t49) goto L_0285F8EC; else goto L_0285F8CC;
|
|
L_0285F8CC: ; // 0x285f8cc
|
|
/* 0285F8CC */ _t50 = cpu->r[31] + 0x00000008u;
|
|
/* 0285F8CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0285F8D0 */ _t51 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0285F8D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0285F8D4 */ cpu->ctr = cpu->r[7];
|
|
/* 0285F8D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F8DC */ cpu->r[4] = 0x00000002u;
|
|
/* 0285F8E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285F8E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F8E8 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285F8EC: ; // 0x285f8ec
|
|
/* 0285F8EC */ cpu->r[9] = cpu->r[26] ^ cpu->r[27];
|
|
/* 0285F8F0 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 0285F8F4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285F8F8 */ cpu->r[11] = cpu->r[8] ^ 0x00000001u;
|
|
/* 0285F8FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285F8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F900 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F900 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0285F900 */ if (_t53) goto L_0285F904; else goto L_0285F7D8;
|
|
L_0285F904: ; // 0x285f904
|
|
/* 0285F904 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285F904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285F908 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F908 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0285F908 */ if (_t55) goto L_0285F914; else goto L_0285F90C;
|
|
L_0285F90C: ; // 0x285f90c
|
|
/* 0285F90C */ cpu->r[3] = cpu->r[28];
|
|
/* 0285F910 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285F914: ; // 0x285f914
|
|
/* 0285F914 */ /* nop */
|
|
/* 0285F918 */ _t56 = cpu->r[1] + 0x00000044u;
|
|
/* 0285F918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0285F91C */ cpu->lr = cpu->r[0];
|
|
/* 0285F920 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0285F924 */ return;
|
|
}
|
|
|
|
// fn_0285F774 @ 0x285f774
|
|
void Gambit_fn_0285F774(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_0285F774: ; // 0x285f774
|
|
/* 0285F774 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 0285F774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285F774 */ cpu->r[1] = _t0;
|
|
/* 0285F778 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 0285F778 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285F77C */ /* nop */
|
|
/* 0285F780 */ cpu->r[28] = cpu->r[3];
|
|
/* 0285F780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0285F784 */ cpu->r[29] = cpu->r[4];
|
|
/* 0285F788 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F788 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285F788 */ if (_t3) goto L_0285F914; else goto L_0285F78C;
|
|
L_0285F78C: ; // 0x285f78c
|
|
/* 0285F78C */ _t4 = cpu->r[28] + 0x00000014u;
|
|
/* 0285F78C */ cpu->r[26] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285F790 */ cpu->r[27] = cpu->r[28] + 0x00000014u;
|
|
/* 0285F794 */ cpu->r[10] = cpu->r[26] ^ cpu->r[27];
|
|
/* 0285F798 */ cpu->r[11] = rbrew_clz32(cpu->r[10]);
|
|
/* 0285F79C */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285F7A0 */ cpu->r[8] = 0x10130000u;
|
|
/* 0285F7A4 */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
|
|
/* 0285F7A8 */ cpu->r[8] = cpu->r[8] + 0x0000509Cu;
|
|
/* 0285F7AC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285F7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F7B0 */ _t5 = cpu->r[28] + 0x00000008u;
|
|
/* 0285F7B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
|
|
/* 0285F7B4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F7B4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285F7B4 */ if (_t7) goto L_0285F904; else goto L_0285F7B8;
|
|
L_0285F7B8: ; // 0x285f7b8
|
|
/* 0285F7B8 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0285F7BC */ cpu->r[21] = 0x101D0000u;
|
|
/* 0285F7C0 */ cpu->r[22] = 0x101D0000u;
|
|
/* 0285F7C4 */ cpu->r[30] = cpu->r[30] + 0x00000F5Cu;
|
|
/* 0285F7C8 */ cpu->r[21] = cpu->r[21] + 0x00000F38u;
|
|
/* 0285F7CC */ cpu->r[23] = 0x00000001u;
|
|
/* 0285F7D0 */ cpu->r[24] = 0x101D0000u;
|
|
/* 0285F7D4 */ cpu->r[25] = 0x00000000u;
|
|
L_0285F7D8: ; // 0x285f7d8
|
|
/* 0285F7D8 */ cpu->r[31] = cpu->r[26];
|
|
/* 0285F7DC */ _t8 = cpu->r[26] + 0x00000000u;
|
|
/* 0285F7DC */ cpu->r[26] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285F7E0 */ cpu->r[3] = cpu->r[28] + 0x00000010u;
|
|
/* 0285F7E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285F7E8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0285F7E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 0285F7EC */ Gambit_fn_02854250(cpu);
|
|
/* 0285F7F0 */ _t10 = cpu->r[31] + 0x00000044u;
|
|
/* 0285F7F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0285F7F4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 0285F7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285F7F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F7F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285F7F8 */ if (_t12) goto L_0285F7FC; else goto L_0285F8EC;
|
|
L_0285F7FC: ; // 0x285f7fc
|
|
/* 0285F7FC */ _t13 = cpu->r[24] + 0xFFFFD7F4u;
|
|
/* 0285F7FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285F800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285F804 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F804 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285F804 */ if (_t15) goto L_0285F808; else goto L_0285F824;
|
|
L_0285F808: ; // 0x285f808
|
|
/* 0285F808 */ _t16 = cpu->r[22] + 0xFFFFD7ECu;
|
|
/* 0285F808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0285F80C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F810 */ _t17 = cpu->r[24] + 0xFFFFD7F4u;
|
|
/* 0285F810 */ rbrew_write32(cpu->mem, _t17, cpu->r[23]);
|
|
/* 0285F814 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F814 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285F814 */ if (_t19) goto L_0285F818; else goto L_0285F820;
|
|
L_0285F818: ; // 0x285f818
|
|
/* 0285F818 */ _t20 = cpu->r[21] + 0x00000000u;
|
|
/* 0285F818 */ rbrew_write32(cpu->mem, _t20, cpu->r[25]);
|
|
/* 0285F81C */ _t21 = cpu->r[22] + 0xFFFFD7ECu;
|
|
/* 0285F81C */ rbrew_write32(cpu->mem, _t21, cpu->r[23]);
|
|
L_0285F820: ; // 0x285f820
|
|
/* 0285F820 */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 0285F820 */ rbrew_write32(cpu->mem, _t22, cpu->r[21]);
|
|
L_0285F824: ; // 0x285f824
|
|
/* 0285F824 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285F828 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F828 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0285F828 */ if (_t24) goto L_0285F8C4; else goto L_0285F82C;
|
|
L_0285F82C: ; // 0x285f82c
|
|
/* 0285F82C */ _t25 = cpu->r[31] + 0x00000008u;
|
|
/* 0285F82C */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285F830 */ _t26 = cpu->r[9] + 0x00000014u;
|
|
/* 0285F830 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285F834 */ cpu->ctr = cpu->r[0];
|
|
/* 0285F838 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F83C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285F840 */ cpu->r[12] = cpu->r[3];
|
|
/* 0285F840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285F844 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F844 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0285F844 */ if (_t28) goto L_0285F8C4; else goto L_0285F848;
|
|
L_0285F848: ; // 0x285f848
|
|
/* 0285F848 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 0285F84C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F84C */ _t30 = _t29 & 0x00000001u;
|
|
/* 0285F84C */ if (_t30) goto L_0285F874; else goto L_0285F850;
|
|
L_0285F850: ; // 0x285f850
|
|
/* 0285F850 */ _t31 = cpu->r[12] + 0x00000000u;
|
|
/* 0285F850 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0285F854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285F858 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F858 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0285F858 */ if (_t33) goto L_0285F8C4; else goto L_0285F85C;
|
|
L_0285F85C: ; // 0x285f85c
|
|
/* 0285F85C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 0285F860 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F860 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0285F860 */ if (_t35) goto L_0285F874; else goto L_0285F864;
|
|
L_0285F864: ; // 0x285f864
|
|
/* 0285F864 */ _t36 = cpu->r[12] + 0x00000000u;
|
|
/* 0285F864 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0285F868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285F86C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F86C */ _t38 = _t37 & 0x00000001u;
|
|
/* 0285F86C */ if (_t38) goto L_0285F870; else goto L_0285F85C;
|
|
L_0285F870: ; // 0x285f870
|
|
/* 0285F870 */ goto L_0285F8C4;
|
|
L_0285F874: ; // 0x285f874
|
|
/* 0285F874 */ cpu->r[12] = cpu->r[31];
|
|
/* 0285F874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285F878 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F878 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0285F878 */ if (_t40) goto L_0285F8C4; else goto L_0285F87C;
|
|
L_0285F87C: ; // 0x285f87c
|
|
/* 0285F87C */ _t41 = cpu->r[12] + 0x000000ACu;
|
|
/* 0285F87C */ cpu->r[20] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0285F880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0285F884 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F884 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0285F884 */ if (_t43) goto L_0285F8C4; else goto L_0285F888;
|
|
L_0285F888: ; // 0x285f888
|
|
/* 0285F888 */ _t44 = cpu->r[20] + 0x00000038u;
|
|
/* 0285F888 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0285F88C */ _t45 = cpu->r[11] + 0x00000014u;
|
|
/* 0285F88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0285F890 */ cpu->ctr = cpu->r[0];
|
|
/* 0285F894 */ cpu->r[3] = cpu->r[20];
|
|
/* 0285F898 */ cpu->r[4] = 0x00000002u;
|
|
/* 0285F89C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285F8A0 */ cpu->r[3] = cpu->r[20];
|
|
/* 0285F8A4 */ Gambit_fn_02869EAC(cpu);
|
|
/* 0285F8A8 */ cpu->r[9] = cpu->r[26] ^ cpu->r[27];
|
|
/* 0285F8AC */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 0285F8B0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285F8B4 */ cpu->r[11] = cpu->r[8] ^ 0x00000001u;
|
|
/* 0285F8B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285F8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F8BC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F8BC */ _t47 = _t46 & 0x00000001u;
|
|
/* 0285F8BC */ if (_t47) goto L_0285F8C0; else goto L_0285F7D8;
|
|
L_0285F8C0: ; // 0x285f8c0
|
|
/* 0285F8C0 */ goto L_0285F904;
|
|
L_0285F8C4: ; // 0x285f8c4
|
|
/* 0285F8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285F8C8 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F8C8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0285F8C8 */ if (_t49) goto L_0285F8EC; else goto L_0285F8CC;
|
|
L_0285F8CC: ; // 0x285f8cc
|
|
/* 0285F8CC */ _t50 = cpu->r[31] + 0x00000008u;
|
|
/* 0285F8CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0285F8D0 */ _t51 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0285F8D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0285F8D4 */ cpu->ctr = cpu->r[7];
|
|
/* 0285F8D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F8DC */ cpu->r[4] = 0x00000002u;
|
|
/* 0285F8E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285F8E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285F8E8 */ Gambit_fn_02869EAC(cpu);
|
|
L_0285F8EC: ; // 0x285f8ec
|
|
/* 0285F8EC */ cpu->r[9] = cpu->r[26] ^ cpu->r[27];
|
|
/* 0285F8F0 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 0285F8F4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285F8F8 */ cpu->r[11] = cpu->r[8] ^ 0x00000001u;
|
|
/* 0285F8FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285F8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F900 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F900 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0285F900 */ if (_t53) goto L_0285F904; else goto L_0285F7D8;
|
|
L_0285F904: ; // 0x285f904
|
|
/* 0285F904 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285F904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0285F908 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F908 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0285F908 */ if (_t55) goto L_0285F914; else goto L_0285F90C;
|
|
L_0285F90C: ; // 0x285f90c
|
|
/* 0285F90C */ cpu->r[3] = cpu->r[28];
|
|
/* 0285F910 */ Gambit_fn_02801BB0(cpu);
|
|
L_0285F914: ; // 0x285f914
|
|
/* 0285F914 */ /* nop */
|
|
/* 0285F918 */ _t56 = cpu->r[1] + 0x00000044u;
|
|
/* 0285F918 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0285F91C */ cpu->lr = cpu->r[0];
|
|
/* 0285F920 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 0285F924 */ return;
|
|
}
|
|
|
|
// fn_0285F928 @ 0x285f928
|
|
void Gambit_fn_0285F928(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0285F928: ; // 0x285f928
|
|
/* 0285F928 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285F928 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285F928 */ cpu->r[1] = _t0;
|
|
/* 0285F92C */ cpu->r[11] = 0x10130000u;
|
|
/* 0285F930 */ _t1 = cpu->r[3] + 0x00000047u;
|
|
/* 0285F930 */ cpu->r[9] = rbrew_read8(cpu->mem, _t1);
|
|
/* 0285F934 */ cpu->r[10] = 0x10130000u;
|
|
/* 0285F938 */ _t2 = cpu->r[11] + 0x00005070u;
|
|
/* 0285F938 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 0285F93C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285F93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285F940 */ _t3 = cpu->r[10] + 0x0000506Cu;
|
|
/* 0285F940 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 0285F944 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F944 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285F944 */ if (_t5) goto L_0285F970; else goto L_0285F948;
|
|
L_0285F948: ; // 0x285f948
|
|
/* 0285F948 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0285F94C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F94C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285F94C */ if (_t7) goto L_0285F988; else goto L_0285F950;
|
|
L_0285F950: ; // 0x285f950
|
|
/* 0285F950 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285F950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285F954 */ cpu->f[12] = cpu->f[0];
|
|
/* 0285F958 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F958 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285F958 */ if (_t9) goto L_0285F95C; else goto L_0285F998;
|
|
L_0285F95C: ; // 0x285f95c
|
|
/* 0285F95C */ _t10 = cpu->r[3] + 0x00000040u;
|
|
/* 0285F95C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0285F960 */ cpu->f[0] = cpu->f[0] * cpu->f[13];
|
|
/* 0285F964 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 0285F964 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 0285F968 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285F968 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 0285F96C */ goto L_0285F9B8;
|
|
L_0285F970: ; // 0x285f970
|
|
/* 0285F970 */ _t13 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0285F970 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0285F974 */ cpu->f[12] = cpu->f[12] * cpu->f[13];
|
|
/* 0285F978 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285F978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285F97C */ cpu->f[12] = -cpu->f[12];
|
|
/* 0285F980 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F980 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285F980 */ if (_t15) goto L_0285F95C; else goto L_0285F984;
|
|
L_0285F984: ; // 0x285f984
|
|
/* 0285F984 */ goto L_0285F998;
|
|
L_0285F988: ; // 0x285f988
|
|
/* 0285F988 */ _t16 = cpu->r[3] + 0x0000003Cu;
|
|
/* 0285F988 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0285F98C */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0285F98C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285F990 */ cpu->f[12] = -cpu->f[12];
|
|
/* 0285F994 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F994 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285F994 */ if (_t18) goto L_0285F95C; else goto L_0285F998;
|
|
L_0285F998: ; // 0x285f998
|
|
/* 0285F998 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 0285F99C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F99C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285F99C */ if (_t20) goto L_0285F9AC; else goto L_0285F9A0;
|
|
L_0285F9A0: ; // 0x285f9a0
|
|
/* 0285F9A0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 0285F9A0 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 0285F9A4 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285F9A4 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 0285F9A8 */ goto L_0285F9B8;
|
|
L_0285F9AC: ; // 0x285f9ac
|
|
/* 0285F9AC */ _t23 = cpu->r[3] + 0x00000040u;
|
|
/* 0285F9AC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0285F9B0 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0285F9B0 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[12]);
|
|
/* 0285F9B4 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285F9B4 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
L_0285F9B8: ; // 0x285f9b8
|
|
/* 0285F9B8 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285F9B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0285F9BC */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 0285F9BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285F9C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285F9C4 */ return;
|
|
}
|
|
|
|
// fn_0285F9C8 @ 0x285f9c8
|
|
void Gambit_fn_0285F9C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0285F9C8: ; // 0x285f9c8
|
|
/* 0285F9C8 */ cpu->r[0] = cpu->lr;
|
|
/* 0285F9CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285F9CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285F9CC */ cpu->r[1] = _t0;
|
|
/* 0285F9D0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285F9D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285F9D4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285F9D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285F9D8 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285F9D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285F9DC */ cpu->r[31] = cpu->r[3];
|
|
/* 0285F9E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285F9E4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285F9E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285F9E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F9E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285F9E8 */ if (_t5) goto L_0285F9EC; else goto L_0285F9FC;
|
|
L_0285F9EC: ; // 0x285f9ec
|
|
/* 0285F9EC */ cpu->r[3] = 0x00000010u;
|
|
/* 0285F9F0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F9F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F9F8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285F9F8 */ if (_t7) goto L_0285FA14; else goto L_0285F9FC;
|
|
L_0285F9FC: ; // 0x285f9fc
|
|
/* 0285F9FC */ cpu->r[12] = 0x10130000u;
|
|
/* 0285FA00 */ _t8 = cpu->r[12] + 0x0000506Cu;
|
|
/* 0285FA00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0285FA04 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285FA04 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 0285FA08 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0285FA08 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 0285FA0C */ _t11 = cpu->r[3] + 0x00000008u;
|
|
/* 0285FA0C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 0285FA10 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 0285FA10 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
L_0285FA14: ; // 0x285fa14
|
|
/* 0285FA14 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285FA18 */ Gambit_fn_0285F928(cpu);
|
|
/* 0285FA1C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FA1C */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 0285FA20 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FA20 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0285FA24 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FA24 */ rbrew_write32(cpu->mem, _t15, cpu->r[4]);
|
|
/* 0285FA28 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FA28 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0285FA2C */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 0285FA2C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 0285FA30 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 0285FA30 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 0285FA34 */ _t19 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0285FA34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0285FA38 */ cpu->f[0] = cpu->f[0] + cpu->f[12];
|
|
/* 0285FA3C */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 0285FA3C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 0285FA40 */ _t21 = cpu->r[31] + 0x00000040u;
|
|
/* 0285FA40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0285FA44 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 0285FA48 */ _t22 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285FA48 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 0285FA4C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285FA4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285FA50 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0285FA50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285FA54 */ cpu->lr = cpu->r[0];
|
|
/* 0285FA58 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FA58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285FA5C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285FA60 */ return;
|
|
}
|
|
|
|
// fn_0285F9CC @ 0x285f9cc
|
|
void Gambit_fn_0285F9CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_0285F9CC: ; // 0x285f9cc
|
|
/* 0285F9CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285F9CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285F9CC */ cpu->r[1] = _t0;
|
|
/* 0285F9D0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285F9D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285F9D4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285F9D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285F9D8 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285F9D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285F9DC */ cpu->r[31] = cpu->r[3];
|
|
/* 0285F9E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0285F9E4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285F9E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285F9E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F9E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285F9E8 */ if (_t5) goto L_0285F9EC; else goto L_0285F9FC;
|
|
L_0285F9EC: ; // 0x285f9ec
|
|
/* 0285F9EC */ cpu->r[3] = 0x00000010u;
|
|
/* 0285F9F0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0285F9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285F9F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285F9F8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285F9F8 */ if (_t7) goto L_0285FA14; else goto L_0285F9FC;
|
|
L_0285F9FC: ; // 0x285f9fc
|
|
/* 0285F9FC */ cpu->r[12] = 0x10130000u;
|
|
/* 0285FA00 */ _t8 = cpu->r[12] + 0x0000506Cu;
|
|
/* 0285FA00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 0285FA04 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285FA04 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 0285FA08 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 0285FA08 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 0285FA0C */ _t11 = cpu->r[3] + 0x00000008u;
|
|
/* 0285FA0C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 0285FA10 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 0285FA10 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
L_0285FA14: ; // 0x285fa14
|
|
/* 0285FA14 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285FA18 */ Gambit_fn_0285F928(cpu);
|
|
/* 0285FA1C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FA1C */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 0285FA20 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FA20 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 0285FA24 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FA24 */ rbrew_write32(cpu->mem, _t15, cpu->r[4]);
|
|
/* 0285FA28 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FA28 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 0285FA2C */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 0285FA2C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 0285FA30 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 0285FA30 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 0285FA34 */ _t19 = cpu->r[31] + 0x0000003Cu;
|
|
/* 0285FA34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 0285FA38 */ cpu->f[0] = cpu->f[0] + cpu->f[12];
|
|
/* 0285FA3C */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 0285FA3C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 0285FA40 */ _t21 = cpu->r[31] + 0x00000040u;
|
|
/* 0285FA40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0285FA44 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 0285FA48 */ _t22 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0285FA48 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 0285FA4C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285FA4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285FA50 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 0285FA50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285FA54 */ cpu->lr = cpu->r[0];
|
|
/* 0285FA58 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FA58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0285FA5C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285FA60 */ return;
|
|
}
|
|
|
|
// fn_0285FA64 @ 0x285fa64
|
|
void Gambit_fn_0285FA64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0285FA64: ; // 0x285fa64
|
|
/* 0285FA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000010u);
|
|
/* 0285FA68 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FA68 */ _t1 = _t0 & 0x00000001u;
|
|
/* 0285FA68 */ if (_t1) goto L_0285FA6C; else goto L_0285FA74;
|
|
L_0285FA6C: ; // 0x285fa6c
|
|
/* 0285FA6C */ _t2 = cpu->r[3] + 0x00000045u;
|
|
/* 0285FA6C */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[5]);
|
|
/* 0285FA70 */ return;
|
|
L_0285FA74: ; // 0x285fa74
|
|
/* 0285FA74 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 0285FA74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285FA78 */ _t4 = cpu->r[12] + 0x00000044u;
|
|
/* 0285FA78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285FA7C */ cpu->ctr = cpu->r[0];
|
|
/* 0285FA80 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0285FA84 @ 0x285fa84
|
|
void Gambit_fn_0285FA84(CPUState* cpu) {
|
|
L_0285FA84: ; // 0x285fa84
|
|
/* 0285FA84 */ return;
|
|
}
|
|
|
|
// fn_0285FA88 @ 0x285fa88
|
|
void Gambit_fn_0285FA88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0285FA88: ; // 0x285fa88
|
|
/* 0285FA88 */ cpu->r[0] = cpu->lr;
|
|
/* 0285FA8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285FA8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285FA8C */ cpu->r[1] = _t0;
|
|
/* 0285FA90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FA90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285FA94 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FA94 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285FA98 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 0285FA98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285FA9C */ _t4 = cpu->r[12] + 0x00000054u;
|
|
/* 0285FA9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285FAA0 */ cpu->ctr = cpu->r[0];
|
|
/* 0285FAA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285FAA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285FAAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000000u);
|
|
/* 0285FAB0 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285FAB0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285FAB0 */ if (_t6) goto L_0285FAB4; else goto L_0285FAE0;
|
|
L_0285FAB4: ; // 0x285fab4
|
|
/* 0285FAB4 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 0285FAB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285FAB8 */ _t8 = cpu->r[10] + 0x0000004Cu;
|
|
/* 0285FAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285FABC */ cpu->ctr = cpu->r[0];
|
|
/* 0285FAC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285FAC4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285FAC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285FACC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285FAD0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FAD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285FAD4 */ cpu->lr = cpu->r[0];
|
|
/* 0285FAD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285FADC */ return;
|
|
L_0285FAE0: ; // 0x285fae0
|
|
/* 0285FAE0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FAE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285FAE4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FAE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285FAE8 */ cpu->lr = cpu->r[0];
|
|
/* 0285FAEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285FAF0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285FAF4 */ return;
|
|
}
|
|
|
|
// fn_0285FA8C @ 0x285fa8c
|
|
void Gambit_fn_0285FA8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0285FA8C: ; // 0x285fa8c
|
|
/* 0285FA8C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285FA8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285FA8C */ cpu->r[1] = _t0;
|
|
/* 0285FA90 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FA90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285FA94 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FA94 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285FA98 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 0285FA98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285FA9C */ _t4 = cpu->r[12] + 0x00000054u;
|
|
/* 0285FA9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285FAA0 */ cpu->ctr = cpu->r[0];
|
|
/* 0285FAA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285FAA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285FAAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000000u);
|
|
/* 0285FAB0 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0285FAB0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285FAB0 */ if (_t6) goto L_0285FAB4; else goto L_0285FAE0;
|
|
L_0285FAB4: ; // 0x285fab4
|
|
/* 0285FAB4 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 0285FAB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285FAB8 */ _t8 = cpu->r[10] + 0x0000004Cu;
|
|
/* 0285FAB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285FABC */ cpu->ctr = cpu->r[0];
|
|
/* 0285FAC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285FAC4 */ cpu->r[4] = 0x00000000u;
|
|
/* 0285FAC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285FACC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285FAD0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FAD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285FAD4 */ cpu->lr = cpu->r[0];
|
|
/* 0285FAD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285FADC */ return;
|
|
L_0285FAE0: ; // 0x285fae0
|
|
/* 0285FAE0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FAE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285FAE4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FAE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0285FAE8 */ cpu->lr = cpu->r[0];
|
|
/* 0285FAEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285FAF0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285FAF4 */ return;
|
|
}
|
|
|
|
// fn_0285FAF8 @ 0x285faf8
|
|
void Gambit_fn_0285FAF8(CPUState* cpu) {
|
|
L_0285FAF8: ; // 0x285faf8
|
|
/* 0285FAF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285FAFC */ return;
|
|
}
|
|
|
|
// fn_0285FB00 @ 0x285fb00
|
|
void Gambit_fn_0285FB00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0285FB00: ; // 0x285fb00
|
|
/* 0285FB00 */ _t0 = cpu->r[3] + 0x0000007Cu;
|
|
/* 0285FB00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285FB04 */ cpu->r[3] = 0x00000000u;
|
|
/* 0285FB08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285FB0C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FB0C */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285FB0C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285FB0C */ goto L_0285FB10;
|
|
L_0285FB10: ; // 0x285fb10
|
|
/* 0285FB10 */ _t3 = cpu->r[12] + 0x00000008u;
|
|
/* 0285FB10 */ cpu->r[3] = rbrew_read16(cpu->mem, _t3);
|
|
/* 0285FB14 */ return;
|
|
}
|
|
|
|
// fn_0285FB18 @ 0x285fb18
|
|
void Gambit_fn_0285FB18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0285FB18: ; // 0x285fb18
|
|
/* 0285FB18 */ _t0 = cpu->r[3] + 0x0000007Cu;
|
|
/* 0285FB18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0285FB1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285FB20 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FB20 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285FB20 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0285FB20 */ goto L_0285FB24;
|
|
L_0285FB24: ; // 0x285fb24
|
|
/* 0285FB24 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285FB28 */ return;
|
|
}
|
|
|
|
// fn_0285FB2C @ 0x285fb2c
|
|
void Gambit_fn_0285FB2C(CPUState* cpu) {
|
|
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_0285FB2C: ; // 0x285fb2c
|
|
/* 0285FB2C */ cpu->r[0] = cpu->lr;
|
|
/* 0285FB30 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285FB30 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0285FB34 */ cpu->r[10] = cpu->r[3];
|
|
/* 0285FB38 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285FB38 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0285FB38 */ cpu->r[1] = _t1;
|
|
/* 0285FB3C */ Gambit_fn_0285FB18(cpu);
|
|
/* 0285FB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285FB44 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FB44 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0285FB44 */ if (_t3) goto L_0285FBA4; else goto L_0285FB48;
|
|
L_0285FB48: ; // 0x285fb48
|
|
/* 0285FB48 */ _t4 = cpu->r[10] + 0x0000007Cu;
|
|
/* 0285FB48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285FB4C */ _t5 = cpu->r[12] + 0x00000008u;
|
|
/* 0285FB4C */ cpu->r[10] = rbrew_read16(cpu->mem, _t5);
|
|
/* 0285FB50 */ cpu->r[6] = 0x00000000u;
|
|
/* 0285FB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]);
|
|
/* 0285FB58 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285FB58 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285FB58 */ if (_t7) goto L_0285FB5C; else goto L_0285FBA4;
|
|
L_0285FB5C: ; // 0x285fb5c
|
|
/* 0285FB5C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 0285FB5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0285FB60 */ cpu->r[11] = cpu->r[0];
|
|
/* 0285FB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285FB64 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FB64 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0285FB64 */ if (_t10) goto L_0285FB6C; else goto L_0285FB68;
|
|
L_0285FB68: ; // 0x285fb68
|
|
/* 0285FB68 */ cpu->r[11] = cpu->r[3] + cpu->r[0];
|
|
L_0285FB6C: ; // 0x285fb6c
|
|
/* 0285FB6C */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0285FB70 */ cpu->r[7] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_0285FB74: ; // 0x285fb74
|
|
/* 0285FB74 */ _t11 = cpu->r[7] + 0x00000001u;
|
|
/* 0285FB74 */ cpu->r[9] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0285FB74 */ cpu->r[7] = _t11;
|
|
/* 0285FB78 */ _t12 = cpu->r[8] + 0x00000001u;
|
|
/* 0285FB78 */ cpu->r[11] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0285FB78 */ cpu->r[8] = _t12;
|
|
/* 0285FB7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 0285FB80 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FB80 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285FB80 */ if (_t14) goto L_0285FB84; else goto L_0285FB8C;
|
|
L_0285FB84: ; // 0x285fb84
|
|
/* 0285FB84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000000u);
|
|
/* 0285FB88 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FB88 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285FB88 */ if (_t16) goto L_0285FB8C; else goto L_0285FB74;
|
|
L_0285FB8C: ; // 0x285fb8c
|
|
/* 0285FB8C */ cpu->r[12] = cpu->r[9] - cpu->r[11];
|
|
/* 0285FB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285FB90 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FB90 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0285FB90 */ if (_t18) goto L_0285FBA8; else goto L_0285FB94;
|
|
L_0285FB94: ; // 0x285fb94
|
|
/* 0285FB94 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0285FB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]);
|
|
/* 0285FB9C */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285FBA0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285FBA0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0285FBA0 */ if (_t20) goto L_0285FB5C; else goto L_0285FBA4;
|
|
L_0285FBA4: ; // 0x285fba4
|
|
/* 0285FBA4 */ cpu->r[3] = 0x00000000u;
|
|
L_0285FBA8: ; // 0x285fba8
|
|
/* 0285FBA8 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FBA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285FBAC */ cpu->lr = cpu->r[0];
|
|
/* 0285FBB0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285FBB4 */ return;
|
|
}
|
|
|
|
// fn_0285FB38 @ 0x285fb38
|
|
void Gambit_fn_0285FB38(CPUState* 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_0285FB38: ; // 0x285fb38
|
|
/* 0285FB38 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0285FB38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285FB38 */ cpu->r[1] = _t0;
|
|
/* 0285FB3C */ Gambit_fn_0285FB18(cpu);
|
|
/* 0285FB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285FB44 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FB44 */ _t2 = _t1 & 0x00000001u;
|
|
/* 0285FB44 */ if (_t2) goto L_0285FBA4; else goto L_0285FB48;
|
|
L_0285FB48: ; // 0x285fb48
|
|
/* 0285FB48 */ _t3 = cpu->r[10] + 0x0000007Cu;
|
|
/* 0285FB48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285FB4C */ _t4 = cpu->r[12] + 0x00000008u;
|
|
/* 0285FB4C */ cpu->r[10] = rbrew_read16(cpu->mem, _t4);
|
|
/* 0285FB50 */ cpu->r[6] = 0x00000000u;
|
|
/* 0285FB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]);
|
|
/* 0285FB58 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285FB58 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0285FB58 */ if (_t6) goto L_0285FB5C; else goto L_0285FBA4;
|
|
L_0285FB5C: ; // 0x285fb5c
|
|
/* 0285FB5C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 0285FB5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285FB60 */ cpu->r[11] = cpu->r[0];
|
|
/* 0285FB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285FB64 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FB64 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285FB64 */ if (_t9) goto L_0285FB6C; else goto L_0285FB68;
|
|
L_0285FB68: ; // 0x285fb68
|
|
/* 0285FB68 */ cpu->r[11] = cpu->r[3] + cpu->r[0];
|
|
L_0285FB6C: ; // 0x285fb6c
|
|
/* 0285FB6C */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0285FB70 */ cpu->r[7] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_0285FB74: ; // 0x285fb74
|
|
/* 0285FB74 */ _t10 = cpu->r[7] + 0x00000001u;
|
|
/* 0285FB74 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0285FB74 */ cpu->r[7] = _t10;
|
|
/* 0285FB78 */ _t11 = cpu->r[8] + 0x00000001u;
|
|
/* 0285FB78 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0285FB78 */ cpu->r[8] = _t11;
|
|
/* 0285FB7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 0285FB80 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FB80 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0285FB80 */ if (_t13) goto L_0285FB84; else goto L_0285FB8C;
|
|
L_0285FB84: ; // 0x285fb84
|
|
/* 0285FB84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000000u);
|
|
/* 0285FB88 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FB88 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0285FB88 */ if (_t15) goto L_0285FB8C; else goto L_0285FB74;
|
|
L_0285FB8C: ; // 0x285fb8c
|
|
/* 0285FB8C */ cpu->r[12] = cpu->r[9] - cpu->r[11];
|
|
/* 0285FB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285FB90 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FB90 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0285FB90 */ if (_t17) goto L_0285FBA8; else goto L_0285FB94;
|
|
L_0285FB94: ; // 0x285fb94
|
|
/* 0285FB94 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0285FB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[10]);
|
|
/* 0285FB9C */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 0285FBA0 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285FBA0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285FBA0 */ if (_t19) goto L_0285FB5C; else goto L_0285FBA4;
|
|
L_0285FBA4: ; // 0x285fba4
|
|
/* 0285FBA4 */ cpu->r[3] = 0x00000000u;
|
|
L_0285FBA8: ; // 0x285fba8
|
|
/* 0285FBA8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FBA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285FBAC */ cpu->lr = cpu->r[0];
|
|
/* 0285FBB0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0285FBB4 */ return;
|
|
}
|
|
|
|
// fn_0285FBB8 @ 0x285fbb8
|
|
void Gambit_fn_0285FBB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0285FBB8: ; // 0x285fbb8
|
|
/* 0285FBB8 */ cpu->r[0] = cpu->lr;
|
|
/* 0285FBBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285FBBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285FBBC */ cpu->r[1] = _t0;
|
|
/* 0285FBC0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285FBC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285FBC4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285FBC8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FBC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285FBCC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285FBCC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285FBD0 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 0285FBD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285FBD4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285FBD8 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 0285FBDC */ cpu->r[31] = cpu->r[5];
|
|
/* 0285FBE0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FBE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0285FBE4 */ Gambit_fn_028541A8(cpu);
|
|
/* 0285FBE8 */ _t6 = cpu->r[31] + 0x00000044u;
|
|
/* 0285FBE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0285FBEC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285FBEC */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 0285FBF0 */ cpu->r[0] = cpu->r[0] | 0x00000010u;
|
|
/* 0285FBF4 */ _t8 = cpu->r[31] + 0x00000044u;
|
|
/* 0285FBF4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 0285FBF8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285FBF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285FBFC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FBFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285FC00 */ cpu->lr = cpu->r[0];
|
|
/* 0285FC04 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0285FC04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285FC08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285FC0C */ return;
|
|
}
|
|
|
|
// fn_0285FBBC @ 0x285fbbc
|
|
void Gambit_fn_0285FBBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_0285FBBC: ; // 0x285fbbc
|
|
/* 0285FBBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285FBBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285FBBC */ cpu->r[1] = _t0;
|
|
/* 0285FBC0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0285FBC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0285FBC4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0285FBC8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FBC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0285FBCC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285FBCC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285FBD0 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 0285FBD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285FBD4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285FBD8 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 0285FBDC */ cpu->r[31] = cpu->r[5];
|
|
/* 0285FBE0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FBE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0285FBE4 */ Gambit_fn_028541A8(cpu);
|
|
/* 0285FBE8 */ _t6 = cpu->r[31] + 0x00000044u;
|
|
/* 0285FBE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0285FBEC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285FBEC */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 0285FBF0 */ cpu->r[0] = cpu->r[0] | 0x00000010u;
|
|
/* 0285FBF4 */ _t8 = cpu->r[31] + 0x00000044u;
|
|
/* 0285FBF4 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
/* 0285FBF8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285FBF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0285FBFC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FBFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285FC00 */ cpu->lr = cpu->r[0];
|
|
/* 0285FC04 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0285FC04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0285FC08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285FC0C */ return;
|
|
}
|
|
|
|
// fn_0285FC10 @ 0x285fc10
|
|
void Gambit_fn_0285FC10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0285FC10: ; // 0x285fc10
|
|
/* 0285FC10 */ cpu->r[0] = cpu->lr;
|
|
/* 0285FC14 */ cpu->r[5] = cpu->r[4];
|
|
/* 0285FC18 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285FC18 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0285FC1C */ cpu->r[0] = cpu->r[3] + 0x00000014u;
|
|
/* 0285FC20 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285FC20 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0285FC20 */ cpu->r[1] = _t1;
|
|
/* 0285FC24 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285FC28 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FC28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285FC2C */ Gambit_fn_0285FBB8(cpu);
|
|
/* 0285FC30 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285FC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285FC34 */ cpu->lr = cpu->r[0];
|
|
/* 0285FC38 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285FC3C */ return;
|
|
}
|
|
|
|
// fn_0285FC20 @ 0x285fc20
|
|
void Gambit_fn_0285FC20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0285FC20: ; // 0x285fc20
|
|
/* 0285FC20 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285FC20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285FC20 */ cpu->r[1] = _t0;
|
|
/* 0285FC24 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285FC28 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FC28 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285FC2C */ Gambit_fn_0285FBB8(cpu);
|
|
/* 0285FC30 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285FC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0285FC34 */ cpu->lr = cpu->r[0];
|
|
/* 0285FC38 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285FC3C */ return;
|
|
}
|
|
|
|
// fn_0285FC40 @ 0x285fc40
|
|
void Gambit_fn_0285FC40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0285FC40: ; // 0x285fc40
|
|
/* 0285FC40 */ cpu->r[0] = cpu->lr;
|
|
/* 0285FC44 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0285FC44 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0285FC48 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285FC48 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0285FC48 */ cpu->r[1] = _t1;
|
|
/* 0285FC4C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FC4C */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 0285FC50 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285FC54 */ Gambit_fn_0285FBB8(cpu);
|
|
/* 0285FC58 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285FC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285FC5C */ cpu->lr = cpu->r[0];
|
|
/* 0285FC60 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285FC64 */ return;
|
|
}
|
|
|
|
// fn_0285FC48 @ 0x285fc48
|
|
void Gambit_fn_0285FC48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0285FC48: ; // 0x285fc48
|
|
/* 0285FC48 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285FC48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285FC48 */ cpu->r[1] = _t0;
|
|
/* 0285FC4C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FC4C */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 0285FC50 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0285FC54 */ Gambit_fn_0285FBB8(cpu);
|
|
/* 0285FC58 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285FC58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0285FC5C */ cpu->lr = cpu->r[0];
|
|
/* 0285FC60 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285FC64 */ return;
|
|
}
|
|
|
|
// fn_0285FC68 @ 0x285fc68
|
|
void Gambit_fn_0285FC68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0285FC68: ; // 0x285fc68
|
|
/* 0285FC68 */ cpu->r[0] = cpu->lr;
|
|
/* 0285FC6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285FC6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285FC6C */ cpu->r[1] = _t0;
|
|
/* 0285FC70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FC70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285FC74 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285FC78 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 0285FC7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FC7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285FC80 */ Gambit_fn_028541D4(cpu);
|
|
/* 0285FC84 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285FC88 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285FC88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285FC8C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FC8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285FC90 */ cpu->lr = cpu->r[0];
|
|
/* 0285FC94 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FC94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285FC98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285FC9C */ return;
|
|
}
|
|
|
|
// fn_0285FC6C @ 0x285fc6c
|
|
void Gambit_fn_0285FC6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0285FC6C: ; // 0x285fc6c
|
|
/* 0285FC6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0285FC6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285FC6C */ cpu->r[1] = _t0;
|
|
/* 0285FC70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FC70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285FC74 */ cpu->r[31] = cpu->r[4];
|
|
/* 0285FC78 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 0285FC7C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FC7C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0285FC80 */ Gambit_fn_028541D4(cpu);
|
|
/* 0285FC84 */ cpu->r[0] = 0x00000000u;
|
|
/* 0285FC88 */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0285FC88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0285FC8C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FC8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0285FC90 */ cpu->lr = cpu->r[0];
|
|
/* 0285FC94 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FC94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0285FC98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0285FC9C */ return;
|
|
}
|
|
|
|
// fn_0285FCA0 @ 0x285fca0
|
|
void Gambit_fn_0285FCA0(CPUState* cpu) {
|
|
uint32_t _t0, _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_0285FCA0: ; // 0x285fca0
|
|
/* 0285FCA0 */ cpu->r[0] = cpu->lr;
|
|
/* 0285FCA4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285FCA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285FCA4 */ cpu->r[1] = _t0;
|
|
/* 0285FCA8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FCA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285FCAC */ cpu->r[31] = cpu->r[3];
|
|
/* 0285FCB0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285FCB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285FCB4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FCB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285FCB8 */ cpu->r[30] = cpu->r[5];
|
|
/* 0285FCBC */ cpu->r[3] = cpu->r[31] + 0x00000080u;
|
|
/* 0285FCC0 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FCC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 0285FCC4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285FCC4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0285FCC8 */ cpu->r[29] = cpu->r[4];
|
|
/* 0285FCCC */ Gambit_fn_0285B800(cpu);
|
|
/* 0285FCD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285FCD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FCD4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285FCD4 */ if (_t7) goto L_0285FCD8; else goto L_0285FD40;
|
|
L_0285FCD8: ; // 0x285fcd8
|
|
/* 0285FCD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285FCDC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FCDC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285FCDC */ if (_t9) goto L_0285FD3C; else goto L_0285FCE0;
|
|
L_0285FCE0: ; // 0x285fce0
|
|
/* 0285FCE0 */ _t10 = cpu->r[31] + 0x00000014u;
|
|
/* 0285FCE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285FCE4 */ cpu->r[28] = cpu->r[31] + 0x00000014u;
|
|
/* 0285FCE8 */ cpu->r[0] = cpu->r[30] ^ cpu->r[28];
|
|
/* 0285FCEC */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 0285FCF0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285FCF4 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u;
|
|
/* 0285FCF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285FCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285FCFC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FCFC */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285FCFC */ if (_t12) goto L_0285FD3C; else goto L_0285FD00;
|
|
L_0285FD00: ; // 0x285fd00
|
|
/* 0285FD00 */ _t13 = cpu->r[30] + 0x00000008u;
|
|
/* 0285FD00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285FD04 */ _t14 = cpu->r[10] + 0x000000A4u;
|
|
/* 0285FD04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285FD08 */ cpu->ctr = cpu->r[11];
|
|
/* 0285FD0C */ cpu->r[3] = cpu->r[30];
|
|
/* 0285FD10 */ cpu->r[4] = cpu->r[29];
|
|
/* 0285FD14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285FD18 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285FD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285FD1C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FD1C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285FD1C */ if (_t16) goto L_0285FD20; else goto L_0285FD40;
|
|
L_0285FD20: ; // 0x285fd20
|
|
/* 0285FD20 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 0285FD20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285FD24 */ cpu->r[0] = cpu->r[30] ^ cpu->r[28];
|
|
/* 0285FD28 */ cpu->r[10] = rbrew_clz32(cpu->r[0]);
|
|
/* 0285FD2C */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285FD30 */ cpu->r[11] = cpu->r[12] ^ 0x00000001u;
|
|
/* 0285FD34 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285FD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285FD38 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FD38 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285FD38 */ if (_t19) goto L_0285FD3C; else goto L_0285FD00;
|
|
L_0285FD3C: ; // 0x285fd3c
|
|
/* 0285FD3C */ cpu->r[31] = 0x00000000u;
|
|
L_0285FD40: ; // 0x285fd40
|
|
/* 0285FD40 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FD40 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285FD44 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FD44 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285FD48 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285FD48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285FD4C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285FD50 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0285FD50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285FD54 */ cpu->lr = cpu->r[0];
|
|
/* 0285FD58 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FD58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285FD5C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285FD60 */ return;
|
|
}
|
|
|
|
// fn_0285FCA4 @ 0x285fca4
|
|
void Gambit_fn_0285FCA4(CPUState* cpu) {
|
|
uint32_t _t0, _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_0285FCA4: ; // 0x285fca4
|
|
/* 0285FCA4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0285FCA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285FCA4 */ cpu->r[1] = _t0;
|
|
/* 0285FCA8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FCA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0285FCAC */ cpu->r[31] = cpu->r[3];
|
|
/* 0285FCB0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0285FCB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0285FCB4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FCB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0285FCB8 */ cpu->r[30] = cpu->r[5];
|
|
/* 0285FCBC */ cpu->r[3] = cpu->r[31] + 0x00000080u;
|
|
/* 0285FCC0 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FCC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 0285FCC4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285FCC4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0285FCC8 */ cpu->r[29] = cpu->r[4];
|
|
/* 0285FCCC */ Gambit_fn_0285B800(cpu);
|
|
/* 0285FCD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285FCD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FCD4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0285FCD4 */ if (_t7) goto L_0285FCD8; else goto L_0285FD40;
|
|
L_0285FCD8: ; // 0x285fcd8
|
|
/* 0285FCD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285FCDC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FCDC */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285FCDC */ if (_t9) goto L_0285FD3C; else goto L_0285FCE0;
|
|
L_0285FCE0: ; // 0x285fce0
|
|
/* 0285FCE0 */ _t10 = cpu->r[31] + 0x00000014u;
|
|
/* 0285FCE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285FCE4 */ cpu->r[28] = cpu->r[31] + 0x00000014u;
|
|
/* 0285FCE8 */ cpu->r[0] = cpu->r[30] ^ cpu->r[28];
|
|
/* 0285FCEC */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 0285FCF0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285FCF4 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u;
|
|
/* 0285FCF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285FCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285FCFC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FCFC */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285FCFC */ if (_t12) goto L_0285FD3C; else goto L_0285FD00;
|
|
L_0285FD00: ; // 0x285fd00
|
|
/* 0285FD00 */ _t13 = cpu->r[30] + 0x00000008u;
|
|
/* 0285FD00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0285FD04 */ _t14 = cpu->r[10] + 0x000000A4u;
|
|
/* 0285FD04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0285FD08 */ cpu->ctr = cpu->r[11];
|
|
/* 0285FD0C */ cpu->r[3] = cpu->r[30];
|
|
/* 0285FD10 */ cpu->r[4] = cpu->r[29];
|
|
/* 0285FD14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285FD18 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285FD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285FD1C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FD1C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285FD1C */ if (_t16) goto L_0285FD20; else goto L_0285FD40;
|
|
L_0285FD20: ; // 0x285fd20
|
|
/* 0285FD20 */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 0285FD20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285FD24 */ cpu->r[0] = cpu->r[30] ^ cpu->r[28];
|
|
/* 0285FD28 */ cpu->r[10] = rbrew_clz32(cpu->r[0]);
|
|
/* 0285FD2C */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285FD30 */ cpu->r[11] = cpu->r[12] ^ 0x00000001u;
|
|
/* 0285FD34 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285FD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285FD38 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FD38 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285FD38 */ if (_t19) goto L_0285FD3C; else goto L_0285FD00;
|
|
L_0285FD3C: ; // 0x285fd3c
|
|
/* 0285FD3C */ cpu->r[31] = 0x00000000u;
|
|
L_0285FD40: ; // 0x285fd40
|
|
/* 0285FD40 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FD40 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285FD44 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FD44 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285FD48 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0285FD48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0285FD4C */ cpu->r[3] = cpu->r[31];
|
|
/* 0285FD50 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0285FD50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0285FD54 */ cpu->lr = cpu->r[0];
|
|
/* 0285FD58 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0285FD58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285FD5C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0285FD60 */ return;
|
|
}
|
|
|
|
// fn_0285FD64 @ 0x285fd64
|
|
void Gambit_fn_0285FD64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_0285FD64: ; // 0x285fd64
|
|
/* 0285FD64 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0285FD64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285FD64 */ cpu->r[1] = _t0;
|
|
/* 0285FD68 */ /* nop */
|
|
/* 0285FD6C */ cpu->r[0] = cpu->lr;
|
|
/* 0285FD70 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0285FD70 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0285FD74 */ cpu->r[29] = cpu->r[4];
|
|
/* 0285FD78 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 0285FD78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0285FD7C */ _t3 = cpu->r[8] + 0x00000054u;
|
|
/* 0285FD7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0285FD80 */ cpu->ctr = cpu->r[9];
|
|
/* 0285FD84 */ cpu->r[30] = cpu->r[5];
|
|
/* 0285FD88 */ cpu->r[28] = cpu->r[3];
|
|
/* 0285FD8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285FD90 */ cpu->r[27] = cpu->r[3];
|
|
/* 0285FD90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0285FD94 */ cpu->r[26] = 0x00000000u;
|
|
/* 0285FD98 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FD98 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0285FD98 */ if (_t5) goto L_0285FDDC; else goto L_0285FD9C;
|
|
L_0285FD9C: ; // 0x285fd9c
|
|
/* 0285FD9C */ _t6 = cpu->r[28] + 0x00000008u;
|
|
/* 0285FD9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0285FDA0 */ _t7 = cpu->r[10] + 0x0000004Cu;
|
|
/* 0285FDA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0285FDA4 */ cpu->ctr = cpu->r[11];
|
|
/* 0285FDA8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0285FDAC */ cpu->r[4] = cpu->r[26];
|
|
/* 0285FDB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285FDB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285FDB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285FDB8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FDB8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0285FDB8 */ if (_t9) goto L_0285FDD0; else goto L_0285FDBC;
|
|
L_0285FDBC: ; // 0x285fdbc
|
|
/* 0285FDBC */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 0285FDBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0285FDC0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0285FDC4 */ Gambit_fn_0285B83C(cpu);
|
|
/* 0285FDC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0285FDCC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FDCC */ _t12 = _t11 & 0x00000001u;
|
|
/* 0285FDCC */ if (_t12) goto L_0285FDD0; else goto L_0285FE40;
|
|
L_0285FDD0: ; // 0x285fdd0
|
|
/* 0285FDD0 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 0285FDD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0285FDD4 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0285FDD8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FDD8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0285FDD8 */ if (_t14) goto L_0285FDDC; else goto L_0285FD9C;
|
|
L_0285FDDC: ; // 0x285fddc
|
|
/* 0285FDDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0285FDE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FDE0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0285FDE0 */ if (_t16) goto L_0285FE3C; else goto L_0285FDE4;
|
|
L_0285FDE4: ; // 0x285fde4
|
|
/* 0285FDE4 */ _t17 = cpu->r[28] + 0x00000014u;
|
|
/* 0285FDE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0285FDE4 */ cpu->r[28] = _t17;
|
|
/* 0285FDE8 */ cpu->r[7] = cpu->r[30] ^ cpu->r[28];
|
|
/* 0285FDEC */ cpu->r[0] = rbrew_clz32(cpu->r[7]);
|
|
/* 0285FDF0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285FDF4 */ cpu->r[0] = cpu->r[6] ^ 0x00000001u;
|
|
/* 0285FDF8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285FDF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285FDFC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FDFC */ _t19 = _t18 & 0x00000001u;
|
|
/* 0285FDFC */ if (_t19) goto L_0285FE3C; else goto L_0285FE00;
|
|
L_0285FE00: ; // 0x285fe00
|
|
/* 0285FE00 */ _t20 = cpu->r[30] + 0x00000008u;
|
|
/* 0285FE00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0285FE04 */ _t21 = cpu->r[9] + 0x000000ACu;
|
|
/* 0285FE04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0285FE08 */ cpu->ctr = cpu->r[0];
|
|
/* 0285FE0C */ cpu->r[3] = cpu->r[30];
|
|
/* 0285FE10 */ cpu->r[4] = cpu->r[29];
|
|
/* 0285FE14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0285FE18 */ cpu->r[31] = cpu->r[3];
|
|
/* 0285FE18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0285FE1C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FE1C */ _t23 = _t22 & 0x00000001u;
|
|
/* 0285FE1C */ if (_t23) goto L_0285FE20; else goto L_0285FE40;
|
|
L_0285FE20: ; // 0x285fe20
|
|
/* 0285FE20 */ _t24 = cpu->r[30] + 0x00000000u;
|
|
/* 0285FE20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0285FE24 */ cpu->r[12] = cpu->r[30] ^ cpu->r[28];
|
|
/* 0285FE28 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 0285FE2C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0285FE30 */ cpu->r[6] = cpu->r[11] ^ 0x00000001u;
|
|
/* 0285FE34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0285FE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285FE38 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FE38 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0285FE38 */ if (_t26) goto L_0285FE3C; else goto L_0285FE00;
|
|
L_0285FE3C: ; // 0x285fe3c
|
|
/* 0285FE3C */ cpu->r[31] = 0x00000000u;
|
|
L_0285FE40: ; // 0x285fe40
|
|
/* 0285FE40 */ cpu->r[3] = cpu->r[31];
|
|
/* 0285FE44 */ /* nop */
|
|
/* 0285FE48 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 0285FE48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0285FE4C */ cpu->lr = cpu->r[0];
|
|
/* 0285FE50 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0285FE54 */ return;
|
|
}
|
|
|
|
// fn_0285FE58 @ 0x285fe58
|
|
void Gambit_fn_0285FE58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
|
|
L_0285FE58: ; // 0x285fe58
|
|
/* 0285FE58 */ _t0 = cpu->r[1] + 0xFFFFFF00u;
|
|
/* 0285FE58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0285FE58 */ cpu->r[1] = _t0;
|
|
/* 0285FE5C */ _t1 = cpu->r[1] + 0x00000060u;
|
|
/* 0285FE5C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[22]);
|
|
/* 0285FE60 */ _t2 = cpu->r[1] + 0x00000070u;
|
|
/* 0285FE60 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[23]);
|
|
/* 0285FE64 */ _t3 = cpu->r[1] + 0x00000080u;
|
|
/* 0285FE64 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[24]);
|
|
/* 0285FE68 */ /* nop */
|
|
/* 0285FE6C */ _t4 = cpu->r[1] + 0x00000090u;
|
|
/* 0285FE6C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[25]);
|
|
/* 0285FE70 */ /* nop */
|
|
/* 0285FE74 */ _t5 = cpu->r[1] + 0x000000A0u;
|
|
/* 0285FE74 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[26]);
|
|
/* 0285FE78 */ /* nop */
|
|
/* 0285FE7C */ _t6 = cpu->r[1] + 0x000000B0u;
|
|
/* 0285FE7C */ rbrew_write_f64(cpu->mem, _t6, cpu->f[27]);
|
|
/* 0285FE80 */ /* nop */
|
|
/* 0285FE84 */ _t7 = cpu->r[1] + 0x000000C0u;
|
|
/* 0285FE84 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[28]);
|
|
/* 0285FE88 */ /* nop */
|
|
/* 0285FE8C */ _t8 = cpu->r[1] + 0x000000D0u;
|
|
/* 0285FE8C */ rbrew_write_f64(cpu->mem, _t8, cpu->f[29]);
|
|
/* 0285FE90 */ /* nop */
|
|
/* 0285FE94 */ _t9 = cpu->r[1] + 0x000000E0u;
|
|
/* 0285FE94 */ rbrew_write_f64(cpu->mem, _t9, cpu->f[30]);
|
|
/* 0285FE98 */ /* nop */
|
|
/* 0285FE9C */ _t10 = cpu->r[1] + 0x000000F0u;
|
|
/* 0285FE9C */ rbrew_write_f64(cpu->mem, _t10, cpu->f[31]);
|
|
/* 0285FEA0 */ /* nop */
|
|
/* 0285FEA4 */ _t11 = cpu->r[1] + 0x00000068u;
|
|
/* 0285FEA4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[22]);
|
|
/* 0285FEA8 */ _t12 = cpu->r[1] + 0x00000078u;
|
|
/* 0285FEA8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[23]);
|
|
/* 0285FEAC */ _t13 = cpu->r[1] + 0x00000088u;
|
|
/* 0285FEAC */ rbrew_write_f32(cpu->mem, _t13, cpu->f[24]);
|
|
/* 0285FEB0 */ /* nop */
|
|
/* 0285FEB4 */ _t14 = cpu->r[1] + 0x00000098u;
|
|
/* 0285FEB4 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[25]);
|
|
/* 0285FEB8 */ _t15 = cpu->r[1] + 0x000000A8u;
|
|
/* 0285FEB8 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[26]);
|
|
/* 0285FEBC */ _t16 = cpu->r[1] + 0x000000B8u;
|
|
/* 0285FEBC */ rbrew_write_f32(cpu->mem, _t16, cpu->f[27]);
|
|
/* 0285FEC0 */ /* nop */
|
|
/* 0285FEC4 */ _t17 = cpu->r[1] + 0x000000C8u;
|
|
/* 0285FEC4 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[28]);
|
|
/* 0285FEC8 */ _t18 = cpu->r[1] + 0x000000D8u;
|
|
/* 0285FEC8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[29]);
|
|
/* 0285FECC */ _t19 = cpu->r[1] + 0x000000E8u;
|
|
/* 0285FECC */ rbrew_write_f32(cpu->mem, _t19, cpu->f[30]);
|
|
/* 0285FED0 */ cpu->r[0] = cpu->lr;
|
|
/* 0285FED4 */ _t20 = cpu->r[1] + 0x000000F8u;
|
|
/* 0285FED4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[31]);
|
|
/* 0285FED8 */ _t21 = cpu->r[1] + 0x00000104u;
|
|
/* 0285FED8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 0285FEDC */ /* nop */
|
|
/* 0285FEE0 */ cpu->r[28] = cpu->r[3];
|
|
/* 0285FEE4 */ cpu->r[30] = cpu->r[4];
|
|
/* 0285FEE8 */ _t22 = cpu->r[28] + 0x00000044u;
|
|
/* 0285FEE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 0285FEEC */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0285FEEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0285FEF0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FEF0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0285FEF0 */ if (_t24) goto L_0285FEF4; else goto L_0285FF00;
|
|
L_0285FEF4: ; // 0x285fef4
|
|
/* 0285FEF4 */ _t25 = cpu->r[30] + 0x00000015u;
|
|
/* 0285FEF4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0285FEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0285FEFC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FEFC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0285FEFC */ if (_t27) goto L_0285FF94; else goto L_0285FF00;
|
|
L_0285FF00: ; // 0x285ff00
|
|
/* 0285FF00 */ _t28 = cpu->r[30] + 0x00000017u;
|
|
/* 0285FF00 */ cpu->r[11] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0285FF04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285FF08 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FF08 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0285FF08 */ if (_t30) goto L_0285FF6C; else goto L_0285FF0C;
|
|
L_0285FF0C: ; // 0x285ff0c
|
|
/* 0285FF0C */ _t31 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0285FF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0285FF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0285FF14 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FF14 */ _t33 = _t32 & 0x00000001u;
|
|
/* 0285FF14 */ if (_t33) goto L_0285FF6C; else goto L_0285FF18;
|
|
L_0285FF18: ; // 0x285ff18
|
|
/* 0285FF18 */ _t34 = cpu->r[28] + 0x00000045u;
|
|
/* 0285FF18 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 0285FF1C */ cpu->r[7] = 0x43300000u;
|
|
/* 0285FF20 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FF20 */ rbrew_write32(cpu->mem, _t35, cpu->r[7]);
|
|
/* 0285FF24 */ cpu->r[9] = 0x10130000u;
|
|
/* 0285FF28 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0285FF28 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 0285FF2C */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 0285FF2C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t37);
|
|
/* 0285FF30 */ _t38 = cpu->r[9] + 0x00005078u;
|
|
/* 0285FF30 */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 0285FF34 */ cpu->f[0] = cpu->f[13] - cpu->f[6];
|
|
/* 0285FF38 */ cpu->f[8] = (double)(float)cpu->f[0];
|
|
/* 0285FF3C */ _t39 = cpu->r[30] + 0x00000010u;
|
|
/* 0285FF3C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 0285FF40 */ cpu->f[8] = cpu->f[8] * cpu->f[9];
|
|
/* 0285FF44 */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[8];
|
|
/* 0285FF48 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 0285FF4C */ /* nop */
|
|
/* 0285FF50 */ _t40 = cpu->r[28] + 0x00000045u;
|
|
/* 0285FF50 */ cpu->r[10] = rbrew_read8(cpu->mem, _t40);
|
|
/* 0285FF54 */ _t41 = cpu->r[1] + 0x0000000Bu;
|
|
/* 0285FF54 */ cpu->r[4] = rbrew_read8(cpu->mem, _t41);
|
|
/* 0285FF58 */ _t42 = cpu->r[28] + 0x00000044u;
|
|
/* 0285FF58 */ cpu->r[0] = rbrew_read8(cpu->mem, _t42);
|
|
/* 0285FF5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0285FF60 */ _t43 = cpu->r[28] + 0x00000046u;
|
|
/* 0285FF60 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[4]);
|
|
/* 0285FF64 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FF64 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0285FF64 */ if (_t45) goto L_0285FF68; else goto L_0286000C;
|
|
L_0285FF68: ; // 0x285ff68
|
|
/* 0285FF68 */ goto L_0285FF80;
|
|
L_0285FF6C: ; // 0x285ff6c
|
|
/* 0285FF6C */ _t46 = cpu->r[28] + 0x00000045u;
|
|
/* 0285FF6C */ cpu->r[4] = rbrew_read8(cpu->mem, _t46);
|
|
/* 0285FF70 */ _t47 = cpu->r[28] + 0x00000044u;
|
|
/* 0285FF70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t47);
|
|
/* 0285FF74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0285FF78 */ _t48 = cpu->r[28] + 0x00000046u;
|
|
/* 0285FF78 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[4]);
|
|
/* 0285FF7C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FF7C */ _t50 = _t49 & 0x00000001u;
|
|
/* 0285FF7C */ if (_t50) goto L_0285FF80; else goto L_0286000C;
|
|
L_0285FF80: ; // 0x285ff80
|
|
/* 0285FF80 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0285FF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0285FF84 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FF84 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0285FF84 */ if (_t52) goto L_0286000C; else goto L_0285FF88;
|
|
L_0285FF88: ; // 0x285ff88
|
|
/* 0285FF88 */ _t53 = cpu->r[30] + 0x00000016u;
|
|
/* 0285FF88 */ cpu->r[12] = rbrew_read8(cpu->mem, _t53);
|
|
/* 0285FF8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0285FF90 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FF90 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0285FF90 */ if (_t55) goto L_0285FF94; else goto L_0286000C;
|
|
L_0285FF94: ; // 0x285ff94
|
|
/* 0285FF94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0285FF98 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0285FF98 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0285FF98 */ if (_t57) goto L_02860860; else goto L_0285FF9C;
|
|
L_0285FF9C: ; // 0x285ff9c
|
|
/* 0285FF9C */ cpu->r[0] = cpu->r[0] | 0x00000010u;
|
|
/* 0285FFA0 */ _t58 = cpu->r[28] + 0x00000044u;
|
|
/* 0285FFA0 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[0]);
|
|
/* 0285FFA4 */ /* nop */
|
|
/* 0285FFA8 */ _t59 = cpu->r[1] + 0x000000A8u;
|
|
/* 0285FFA8 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 0285FFAC */ _t60 = cpu->r[1] + 0x00000088u;
|
|
/* 0285FFAC */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 0285FFB0 */ _t61 = cpu->r[1] + 0x000000A0u;
|
|
/* 0285FFB0 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 0285FFB4 */ _t62 = cpu->r[1] + 0x00000080u;
|
|
/* 0285FFB4 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t62);
|
|
/* 0285FFB8 */ _t63 = cpu->r[1] + 0x000000C8u;
|
|
/* 0285FFB8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0285FFBC */ _t64 = cpu->r[1] + 0x00000098u;
|
|
/* 0285FFBC */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 0285FFC0 */ _t65 = cpu->r[1] + 0x000000C0u;
|
|
/* 0285FFC0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 0285FFC4 */ _t66 = cpu->r[1] + 0x00000090u;
|
|
/* 0285FFC4 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t66);
|
|
/* 0285FFC8 */ _t67 = cpu->r[1] + 0x000000E8u;
|
|
/* 0285FFC8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 0285FFCC */ _t68 = cpu->r[1] + 0x000000B8u;
|
|
/* 0285FFCC */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 0285FFD0 */ _t69 = cpu->r[1] + 0x000000E0u;
|
|
/* 0285FFD0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 0285FFD4 */ _t70 = cpu->r[1] + 0x000000B0u;
|
|
/* 0285FFD4 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t70);
|
|
/* 0285FFD8 */ _t71 = cpu->r[1] + 0x00000078u;
|
|
/* 0285FFD8 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 0285FFDC */ _t72 = cpu->r[1] + 0x000000D8u;
|
|
/* 0285FFDC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 0285FFE0 */ _t73 = cpu->r[1] + 0x00000070u;
|
|
/* 0285FFE0 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t73);
|
|
/* 0285FFE4 */ _t74 = cpu->r[1] + 0x000000D0u;
|
|
/* 0285FFE4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t74);
|
|
/* 0285FFE8 */ _t75 = cpu->r[1] + 0x00000068u;
|
|
/* 0285FFE8 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 0285FFEC */ _t76 = cpu->r[1] + 0x000000F8u;
|
|
/* 0285FFEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 0285FFF0 */ _t77 = cpu->r[1] + 0x00000060u;
|
|
/* 0285FFF0 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t77);
|
|
/* 0285FFF4 */ _t78 = cpu->r[1] + 0x000000F0u;
|
|
/* 0285FFF4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t78);
|
|
/* 0285FFF8 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0285FFF8 */ _t80 = _t79 & 0x00000001u;
|
|
/* 0285FFF8 */ if (_t80) goto L_0285FFFC; // else: addr-0 trap, fall-through
|
|
L_0285FFFC: ; // 0x285fffc
|
|
/* 0285FFFC */ _t81 = cpu->r[1] + 0x00000104u;
|
|
/* 0285FFFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02860000 */ cpu->lr = cpu->r[0];
|
|
/* 02860004 */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 02860008 */ return;
|
|
L_0286000C: ; // 0x286000c
|
|
/* 0286000C */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 0286000C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02860010 */ cpu->r[31] = 0x00000001u;
|
|
/* 02860014 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860014 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02860014 */ if (_t83) goto L_02860018; else goto L_02860024;
|
|
L_02860018: ; // 0x2860018
|
|
/* 02860018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0286001C */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286001C */ _t85 = _t84 & 0x00000001u;
|
|
/* 0286001C */ if (_t85) goto L_02860020; else goto L_02860024;
|
|
L_02860020: ; // 0x2860020
|
|
/* 02860020 */ cpu->r[31] = 0x00000000u;
|
|
L_02860024: ; // 0x2860024
|
|
/* 02860024 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000019u, 0x00000019u);
|
|
/* 02860024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02860028 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0286002C */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286002C */ _t87 = _t86 & 0x00000001u;
|
|
/* 0286002C */ if (_t87) goto L_02860040; else goto L_02860030;
|
|
L_02860030: ; // 0x2860030
|
|
/* 02860030 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02860030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02860034 */ cpu->r[31] = 0x00000001u;
|
|
/* 02860038 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860038 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02860038 */ if (_t89) goto L_0286080C; else goto L_0286003C;
|
|
L_0286003C: ; // 0x286003c
|
|
/* 0286003C */ goto L_028606F8;
|
|
L_02860040: ; // 0x2860040
|
|
/* 02860040 */ _t90 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02860040 */ cpu->r[8] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02860044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02860048 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860048 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02860048 */ if (_t92) goto L_02860064; else goto L_0286004C;
|
|
L_0286004C: ; // 0x286004c
|
|
/* 0286004C */ cpu->r[26] = 0x10130000u;
|
|
/* 02860050 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 02860050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02860054 */ cpu->r[25] = cpu->r[8] + 0x00000048u;
|
|
/* 02860058 */ cpu->r[26] = cpu->r[26] + 0x00005060u;
|
|
/* 0286005C */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286005C */ _t94 = _t93 & 0x00000001u;
|
|
/* 0286005C */ if (_t94) goto L_02860134; else goto L_02860060;
|
|
L_02860060: ; // 0x2860060
|
|
/* 02860060 */ goto L_02860078;
|
|
L_02860064: ; // 0x2860064
|
|
/* 02860064 */ cpu->r[26] = 0x10130000u;
|
|
/* 02860068 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 02860068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0286006C */ _t95 = cpu->r[30] + 0x00000004u;
|
|
/* 0286006C */ cpu->r[25] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02860070 */ cpu->r[26] = cpu->r[26] + 0x00005060u;
|
|
/* 02860074 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860074 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02860074 */ if (_t97) goto L_02860134; else goto L_02860078;
|
|
L_02860078: ; // 0x2860078
|
|
/* 02860078 */ _t98 = cpu->r[28] + 0x00000078u;
|
|
/* 02860078 */ cpu->r[9] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0286007C */ /* nop */
|
|
/* 02860080 */ /* nop */
|
|
/* 02860084 */ /* nop */
|
|
/* 02860088 */ /* nop */
|
|
/* 0286008C */ /* nop */
|
|
/* 02860090 */ cpu->r[8] = cpu->r[28] + 0x00000048u;
|
|
/* 02860094 */ /* nop */
|
|
/* 02860098 */ /* nop */
|
|
/* 0286009C */ /* nop */
|
|
/* 028600A0 */ /* nop */
|
|
/* 028600A4 */ /* nop */
|
|
/* 028600A8 */ /* nop */
|
|
/* 028600AC */ /* nop */
|
|
/* 028600B0 */ /* nop */
|
|
/* 028600B4 */ /* nop */
|
|
/* 028600B8 */ /* nop */
|
|
/* 028600BC */ /* nop */
|
|
/* 028600C0 */ /* nop */
|
|
/* 028600C4 */ /* nop */
|
|
/* 028600C8 */ /* nop */
|
|
/* 028600CC */ /* nop */
|
|
/* 028600D0 */ /* nop */
|
|
/* 028600D4 */ /* nop */
|
|
/* 028600D8 */ /* nop */
|
|
/* 028600DC */ /* nop */
|
|
/* 028600E0 */ /* nop */
|
|
/* 028600E4 */ /* nop */
|
|
/* 028600E8 */ /* nop */
|
|
/* 028600EC */ /* nop */
|
|
/* 028600F0 */ /* nop */
|
|
/* 028600F4 */ /* nop */
|
|
/* 028600F8 */ /* nop */
|
|
/* 028600FC */ /* nop */
|
|
/* 02860100 */ /* nop */
|
|
/* 02860104 */ /* nop */
|
|
/* 02860108 */ /* nop */
|
|
/* 0286010C */ /* nop */
|
|
/* 02860110 */ /* nop */
|
|
/* 02860114 */ /* nop */
|
|
/* 02860118 */ /* nop */
|
|
/* 0286011C */ /* nop */
|
|
/* 02860120 */ _t99 = cpu->r[28] + 0x00000044u;
|
|
/* 02860120 */ cpu->r[0] = rbrew_read8(cpu->mem, _t99);
|
|
/* 02860124 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02860124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02860128 */ cpu->r[31] = 0x00000001u;
|
|
/* 0286012C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286012C */ _t101 = _t100 & 0x00000001u;
|
|
/* 0286012C */ if (_t101) goto L_0286080C; else goto L_02860130;
|
|
L_02860130: ; // 0x2860130
|
|
/* 02860130 */ goto L_028606F8;
|
|
L_02860134: ; // 0x2860134
|
|
/* 02860134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02860138 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860138 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02860138 */ if (_t103) goto L_028606F0; else goto L_0286013C;
|
|
L_0286013C: ; // 0x286013c
|
|
/* 0286013C */ cpu->r[0] = cpu->r[0] & 0x000000EFu;
|
|
/* 0286013C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02860140 */ _t104 = cpu->r[28] + 0x00000044u;
|
|
/* 02860140 */ rbrew_write8(cpu->mem, _t104, (uint8_t)cpu->r[0]);
|
|
/* 02860144 */ _t105 = cpu->r[30] + 0x00000014u;
|
|
/* 02860144 */ cpu->r[4] = rbrew_read8(cpu->mem, _t105);
|
|
/* 02860148 */ _t106 = cpu->r[28] + 0x00000034u;
|
|
/* 02860148 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 0286014C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02860150 */ _t107 = cpu->r[28] + 0x00000038u;
|
|
/* 02860150 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 02860154 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860154 */ _t109 = _t108 & 0x00000001u;
|
|
/* 02860154 */ if (_t109) goto L_02860170; else goto L_02860158;
|
|
L_02860158: ; // 0x2860158
|
|
/* 02860158 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 02860158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0286015C */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286015C */ _t111 = _t110 & 0x00000001u;
|
|
/* 0286015C */ if (_t111) goto L_02860170; else goto L_02860160;
|
|
L_02860160: ; // 0x2860160
|
|
/* 02860160 */ _t112 = cpu->r[30] + 0x00000008u;
|
|
/* 02860160 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t112);
|
|
/* 02860164 */ _t113 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02860164 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 02860168 */ cpu->f[26] = cpu->f[26] * cpu->f[7];
|
|
/* 0286016C */ cpu->f[25] = cpu->f[25] * cpu->f[9];
|
|
L_02860170: ; // 0x2860170
|
|
/* 02860170 */ _t114 = cpu->r[28] + 0x00000047u;
|
|
/* 02860170 */ cpu->r[0] = rbrew_read8(cpu->mem, _t114);
|
|
/* 02860174 */ cpu->r[9] = 0x10130000u;
|
|
/* 02860178 */ _t115 = cpu->r[28] + 0x00000020u;
|
|
/* 02860178 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t115);
|
|
/* 0286017C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02860180 */ _t116 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02860180 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02860184 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
|
|
/* 02860188 */ _t117 = cpu->r[9] + 0x00005070u;
|
|
/* 02860188 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 0286018C */ _t118 = cpu->r[28] + 0x00000024u;
|
|
/* 0286018C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t118);
|
|
/* 02860190 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860190 */ _t120 = _t119 & 0x00000001u;
|
|
/* 02860190 */ if (_t120) goto L_028601B8; else goto L_02860194;
|
|
L_02860194: ; // 0x2860194
|
|
/* 02860194 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000002u);
|
|
/* 02860198 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860198 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02860198 */ if (_t122) goto L_028601CC; else goto L_0286019C;
|
|
L_0286019C: ; // 0x286019c
|
|
/* 0286019C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Eu, 0x0000001Fu);
|
|
/* 028601A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 028601A4 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028601A4 */ _t124 = _t123 & 0x00000001u;
|
|
/* 028601A4 */ if (_t124) goto L_028601A8; else goto L_028601E4;
|
|
L_028601A8: ; // 0x28601a8
|
|
/* 028601A8 */ _t125 = cpu->r[28] + 0x0000000Cu;
|
|
/* 028601A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t125);
|
|
/* 028601AC */ _t126 = cpu->r[11] + 0x00000040u;
|
|
/* 028601AC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 028601B0 */ cpu->f[27] = fma(cpu->f[11], cpu->f[12], cpu->f[27]);
|
|
/* 028601B4 */ goto L_02860238;
|
|
L_028601B8: ; // 0x28601b8
|
|
/* 028601B8 */ _t127 = cpu->r[28] + 0x0000000Cu;
|
|
/* 028601B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t127);
|
|
/* 028601BC */ _t128 = cpu->r[10] + 0x0000003Cu;
|
|
/* 028601BC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 028601C0 */ cpu->f[9] = -cpu->f[13];
|
|
/* 028601C4 */ cpu->f[29] = fma(cpu->f[9], cpu->f[12], cpu->f[29]);
|
|
/* 028601C8 */ goto L_028601D8;
|
|
L_028601CC: ; // 0x28601cc
|
|
/* 028601CC */ _t129 = cpu->r[28] + 0x0000000Cu;
|
|
/* 028601CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t129);
|
|
/* 028601D0 */ _t130 = cpu->r[10] + 0x0000003Cu;
|
|
/* 028601D0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 028601D4 */ cpu->f[29] = fma(cpu->f[9], cpu->f[12], cpu->f[29]);
|
|
L_028601D8: ; // 0x28601d8
|
|
/* 028601D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Eu, 0x0000001Fu);
|
|
/* 028601DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 028601E0 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028601E0 */ _t132 = _t131 & 0x00000001u;
|
|
/* 028601E0 */ if (_t132) goto L_028601A8; else goto L_028601E4;
|
|
L_028601E4: ; // 0x28601e4
|
|
/* 028601E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 028601E8 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028601E8 */ _t134 = _t133 & 0x00000001u;
|
|
/* 028601E8 */ if (_t134) goto L_02860228; else goto L_028601EC;
|
|
L_028601EC: ; // 0x28601ec
|
|
/* 028601EC */ _t135 = cpu->r[28] + 0x00000028u;
|
|
/* 028601EC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 028601F0 */ cpu->r[8] = 0x10130000u;
|
|
/* 028601F4 */ cpu->r[6] = 0x10130000u;
|
|
/* 028601F8 */ _t136 = cpu->r[8] + 0x0000506Cu;
|
|
/* 028601F8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 028601FC */ cpu->r[8] = 0x10130000u;
|
|
/* 02860200 */ cpu->r[12] = 0x10130000u;
|
|
/* 02860204 */ _t137 = cpu->r[6] + 0x00005080u;
|
|
/* 02860204 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 02860208 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[31]);
|
|
/* 0286020C */ cpu->r[27] = 0x10130000u;
|
|
/* 02860210 */ _t138 = cpu->r[12] + 0x00005084u;
|
|
/* 02860210 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 02860214 */ cpu->r[8] = cpu->r[8] + 0x00000800u;
|
|
/* 02860218 */ cpu->r[27] = cpu->r[27] + 0x0000080Cu;
|
|
/* 0286021C */ _t139 = cpu->r[28] + 0x0000002Cu;
|
|
/* 0286021C */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t139);
|
|
/* 02860220 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860220 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02860220 */ if (_t141) goto L_02860224; else goto L_02860278;
|
|
L_02860224: ; // 0x2860224
|
|
/* 02860224 */ goto L_02860270;
|
|
L_02860228: ; // 0x2860228
|
|
/* 02860228 */ _t142 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02860228 */ cpu->r[11] = rbrew_read32(cpu->mem, _t142);
|
|
/* 0286022C */ _t143 = cpu->r[11] + 0x00000040u;
|
|
/* 0286022C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t143);
|
|
/* 02860230 */ cpu->f[11] = -cpu->f[11];
|
|
/* 02860234 */ cpu->f[27] = fma(cpu->f[11], cpu->f[12], cpu->f[27]);
|
|
L_02860238: ; // 0x2860238
|
|
/* 02860238 */ _t144 = cpu->r[28] + 0x00000028u;
|
|
/* 02860238 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t144);
|
|
/* 0286023C */ cpu->r[8] = 0x10130000u;
|
|
/* 02860240 */ cpu->r[6] = 0x10130000u;
|
|
/* 02860244 */ _t145 = cpu->r[8] + 0x0000506Cu;
|
|
/* 02860244 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t145);
|
|
/* 02860248 */ cpu->r[8] = 0x10130000u;
|
|
/* 0286024C */ cpu->r[12] = 0x10130000u;
|
|
/* 02860250 */ _t146 = cpu->r[6] + 0x00005080u;
|
|
/* 02860250 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t146);
|
|
/* 02860254 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[31]);
|
|
/* 02860258 */ cpu->r[27] = 0x10130000u;
|
|
/* 0286025C */ _t147 = cpu->r[12] + 0x00005084u;
|
|
/* 0286025C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t147);
|
|
/* 02860260 */ cpu->r[8] = cpu->r[8] + 0x00000800u;
|
|
/* 02860264 */ cpu->r[27] = cpu->r[27] + 0x0000080Cu;
|
|
/* 02860268 */ _t148 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02860268 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t148);
|
|
/* 0286026C */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286026C */ _t150 = _t149 & 0x00000001u;
|
|
/* 0286026C */ if (_t150) goto L_02860270; else goto L_02860278;
|
|
L_02860270: ; // 0x2860270
|
|
/* 02860270 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[24], cpu->f[31]);
|
|
/* 02860274 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860274 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02860274 */ if (_t152) goto L_028604C0; else goto L_02860278;
|
|
L_02860278: ; // 0x2860278
|
|
/* 02860278 */ _t153 = cpu->r[8] + 0x00000000u;
|
|
/* 02860278 */ cpu->r[4] = rbrew_read32(cpu->mem, _t153);
|
|
/* 0286027C */ cpu->r[9] = 0x10130000u;
|
|
/* 02860280 */ _t154 = cpu->r[9] + 0x00005078u;
|
|
/* 02860280 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t154);
|
|
/* 02860284 */ cpu->r[29] = 0x43300000u;
|
|
/* 02860288 */ _t155 = cpu->r[1] + 0x00000008u;
|
|
/* 02860288 */ rbrew_write32(cpu->mem, _t155, cpu->r[29]);
|
|
/* 0286028C */ _t156 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286028C */ rbrew_write32(cpu->mem, _t156, cpu->r[4]);
|
|
/* 02860290 */ _t157 = cpu->r[1] + 0x00000008u;
|
|
/* 02860290 */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t157);
|
|
/* 02860294 */ cpu->f[9] = cpu->f[6] - cpu->f[8];
|
|
/* 02860298 */ cpu->f[13] = (double)(float)cpu->f[9];
|
|
/* 0286029C */ cpu->f[31] = cpu->f[13] / cpu->f[11];
|
|
/* 028602A0 */ cpu->f[1] = cpu->f[7] * cpu->f[31];
|
|
/* 028602A4 */ Gambit_fn_02C898C4(cpu);
|
|
/* 028602A8 */ _t158 = cpu->r[1] + 0x00000008u;
|
|
/* 028602A8 */ rbrew_write32(cpu->mem, _t158, cpu->r[29]);
|
|
/* 028602AC */ cpu->r[5] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 028602B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 028602B4 */ cpu->r[7] = 0x10130000u;
|
|
/* 028602B8 */ _t159 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028602B8 */ rbrew_write32(cpu->mem, _t159, cpu->r[5]);
|
|
/* 028602BC */ _t160 = cpu->r[1] + 0x00000008u;
|
|
/* 028602BC */ cpu->f[6] = rbrew_read_f64(cpu->mem, _t160);
|
|
/* 028602C0 */ cpu->f[1] = cpu->f[24] * cpu->f[31];
|
|
/* 028602C4 */ _t161 = cpu->r[7] + 0x00005078u;
|
|
/* 028602C4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t161);
|
|
/* 028602C8 */ cpu->r[6] = cpu->r[27] + cpu->r[0];
|
|
/* 028602CC */ cpu->f[7] = cpu->f[6] - cpu->f[9];
|
|
/* 028602D0 */ _t162 = cpu->r[6] + 0x00000008u;
|
|
/* 028602D0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t162);
|
|
/* 028602D4 */ cpu->f[8] = (double)(float)cpu->f[7];
|
|
/* 028602D8 */ _t163 = cpu->r[6] + 0x0000000Cu;
|
|
/* 028602D8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t163);
|
|
/* 028602DC */ cpu->f[7] = cpu->f[8] * cpu->f[30];
|
|
/* 028602E0 */ _t164 = cpu->r[6] + 0x00000004u;
|
|
/* 028602E0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t164);
|
|
/* 028602E4 */ _t165 = cpu->r[6] + 0x00000000u;
|
|
/* 028602E4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t165);
|
|
/* 028602E8 */ cpu->f[24] = fma(cpu->f[10], cpu->f[7], cpu->f[11]);
|
|
/* 028602EC */ cpu->f[23] = fma(cpu->f[8], cpu->f[7], cpu->f[9]);
|
|
/* 028602F0 */ Gambit_fn_02C898C4(cpu);
|
|
/* 028602F4 */ cpu->r[5] = 0x10130000u;
|
|
/* 028602F8 */ _t166 = cpu->r[28] + 0x00000030u;
|
|
/* 028602F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t166);
|
|
/* 028602FC */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02860300 */ _t167 = cpu->r[5] + 0x00005078u;
|
|
/* 02860300 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t167);
|
|
/* 02860304 */ cpu->f[1] = cpu->f[0] * cpu->f[31];
|
|
/* 02860308 */ _t168 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02860308 */ rbrew_write32(cpu->mem, _t168, cpu->r[12]);
|
|
/* 0286030C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02860310 */ _t169 = cpu->r[1] + 0x00000008u;
|
|
/* 02860310 */ rbrew_write32(cpu->mem, _t169, cpu->r[29]);
|
|
/* 02860314 */ _t170 = cpu->r[1] + 0x00000008u;
|
|
/* 02860314 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t170);
|
|
/* 02860318 */ cpu->r[10] = cpu->r[27] + cpu->r[0];
|
|
/* 0286031C */ cpu->f[0] = cpu->f[13] - cpu->f[12];
|
|
/* 02860320 */ _t171 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02860320 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t171);
|
|
/* 02860324 */ _t172 = cpu->r[10] + 0x00000000u;
|
|
/* 02860324 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t172);
|
|
/* 02860328 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 0286032C */ _t173 = cpu->r[10] + 0x00000004u;
|
|
/* 0286032C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t173);
|
|
/* 02860330 */ cpu->f[0] = cpu->f[12] * cpu->f[30];
|
|
/* 02860334 */ _t174 = cpu->r[10] + 0x00000008u;
|
|
/* 02860334 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t174);
|
|
/* 02860338 */ cpu->f[22] = fma(cpu->f[6], cpu->f[0], cpu->f[7]);
|
|
/* 0286033C */ cpu->f[31] = fma(cpu->f[8], cpu->f[0], cpu->f[9]);
|
|
/* 02860340 */ Gambit_fn_02C898C4(cpu);
|
|
/* 02860344 */ _t175 = cpu->r[1] + 0x00000008u;
|
|
/* 02860344 */ rbrew_write32(cpu->mem, _t175, cpu->r[29]);
|
|
/* 02860348 */ cpu->r[12] = 0x10130000u;
|
|
/* 0286034C */ cpu->f[4] = cpu->f[23] * cpu->f[22];
|
|
/* 02860350 */ _t176 = cpu->r[12] + 0x00005078u;
|
|
/* 02860350 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t176);
|
|
/* 02860354 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02860358 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 0286035C */ cpu->f[0] = cpu->f[26] * cpu->f[22];
|
|
/* 02860360 */ _t177 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02860360 */ rbrew_write32(cpu->mem, _t177, cpu->r[12]);
|
|
/* 02860364 */ _t178 = cpu->r[1] + 0x00000008u;
|
|
/* 02860364 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t178);
|
|
/* 02860368 */ cpu->r[7] = cpu->r[27] + cpu->r[0];
|
|
/* 0286036C */ cpu->f[12] = cpu->f[11] - cpu->f[7];
|
|
/* 02860370 */ _t179 = cpu->r[7] + 0x00000000u;
|
|
/* 02860370 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t179);
|
|
/* 02860374 */ cpu->f[10] = (double)(float)cpu->f[12];
|
|
/* 02860378 */ _t180 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02860378 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t180);
|
|
/* 0286037C */ cpu->f[12] = cpu->f[10] * cpu->f[30];
|
|
/* 02860380 */ _t181 = cpu->r[7] + 0x00000004u;
|
|
/* 02860380 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t181);
|
|
/* 02860384 */ cpu->f[6] = -cpu->f[0];
|
|
/* 02860388 */ _t182 = cpu->r[7] + 0x00000008u;
|
|
/* 02860388 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t182);
|
|
/* 0286038C */ cpu->f[13] = fma(cpu->f[13], cpu->f[12], cpu->f[7]);
|
|
/* 02860390 */ cpu->f[3] = fma(cpu->f[8], cpu->f[12], cpu->f[9]);
|
|
/* 02860394 */ cpu->f[5] = cpu->f[24] * cpu->f[13];
|
|
/* 02860398 */ cpu->f[10] = cpu->f[31] * cpu->f[3];
|
|
/* 0286039C */ cpu->f[8] = cpu->f[31] * cpu->f[13];
|
|
/* 028603A0 */ cpu->f[11] = cpu->f[26] * cpu->f[10];
|
|
/* 028603A4 */ cpu->f[9] = cpu->f[24] * cpu->f[3];
|
|
/* 028603A8 */ cpu->f[12] = fma(cpu->f[4], cpu->f[3], -(cpu->f[5]));
|
|
/* 028603AC */ cpu->f[10] = fma(cpu->f[4], cpu->f[13], cpu->f[9]);
|
|
/* 028603B0 */ cpu->f[0] = cpu->f[23] * cpu->f[13];
|
|
/* 028603B4 */ cpu->f[13] = cpu->f[25] * cpu->f[12];
|
|
/* 028603B8 */ _t183 = cpu->r[1] + 0x00000010u;
|
|
/* 028603B8 */ rbrew_write_f32(cpu->mem, _t183, cpu->f[11]);
|
|
/* 028603BC */ cpu->f[7] = fma(cpu->f[9], cpu->f[22], cpu->f[0]);
|
|
/* 028603C0 */ _t184 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028603C0 */ rbrew_write_f32(cpu->mem, _t184, cpu->f[29]);
|
|
/* 028603C4 */ cpu->f[12] = cpu->f[23] * cpu->f[3];
|
|
/* 028603C8 */ _t185 = cpu->r[1] + 0x00000018u;
|
|
/* 028603C8 */ rbrew_write_f32(cpu->mem, _t185, cpu->f[7]);
|
|
/* 028603CC */ _t186 = cpu->r[1] + 0x00000014u;
|
|
/* 028603CC */ rbrew_write_f32(cpu->mem, _t186, cpu->f[13]);
|
|
/* 028603D0 */ cpu->f[9] = cpu->f[26] * cpu->f[8];
|
|
/* 028603D4 */ _t187 = cpu->r[1] + 0x00000030u;
|
|
/* 028603D4 */ rbrew_write_f32(cpu->mem, _t187, cpu->f[6]);
|
|
/* 028603D8 */ cpu->f[11] = cpu->f[25] * cpu->f[10];
|
|
/* 028603DC */ _t188 = cpu->r[1] + 0x00000020u;
|
|
/* 028603DC */ rbrew_write_f32(cpu->mem, _t188, cpu->f[9]);
|
|
/* 028603E0 */ cpu->f[7] = cpu->f[23] * cpu->f[31];
|
|
/* 028603E4 */ _t189 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028603E4 */ rbrew_write_f32(cpu->mem, _t189, cpu->f[27]);
|
|
/* 028603E8 */ cpu->f[13] = fma(cpu->f[5], cpu->f[22], -(cpu->f[12]));
|
|
/* 028603EC */ /* nop */
|
|
/* 028603F0 */ cpu->f[8] = cpu->f[25] * cpu->f[7];
|
|
/* 028603F4 */ _t190 = cpu->r[1] + 0x00000024u;
|
|
/* 028603F4 */ rbrew_write_f32(cpu->mem, _t190, cpu->f[11]);
|
|
/* 028603F8 */ _t191 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028603F8 */ rbrew_write_f32(cpu->mem, _t191, cpu->f[28]);
|
|
/* 028603FC */ cpu->f[10] = cpu->f[24] * cpu->f[31];
|
|
/* 02860400 */ _t192 = cpu->r[1] + 0x00000034u;
|
|
/* 02860400 */ rbrew_write_f32(cpu->mem, _t192, cpu->f[8]);
|
|
/* 02860404 */ _t193 = cpu->r[1] + 0x00000038u;
|
|
/* 02860404 */ rbrew_write_f32(cpu->mem, _t193, cpu->f[10]);
|
|
/* 02860408 */ cpu->r[12] = cpu->r[1] + 0x00000010u;
|
|
/* 0286040C */ _t194 = cpu->r[1] + 0x00000028u;
|
|
/* 0286040C */ rbrew_write_f32(cpu->mem, _t194, cpu->f[13]);
|
|
/* 02860410 */ /* nop */
|
|
/* 02860414 */ /* nop */
|
|
/* 02860418 */ /* nop */
|
|
/* 0286041C */ /* nop */
|
|
/* 02860420 */ /* nop */
|
|
/* 02860424 */ /* nop */
|
|
/* 02860428 */ /* nop */
|
|
/* 0286042C */ /* nop */
|
|
/* 02860430 */ /* nop */
|
|
/* 02860434 */ /* nop */
|
|
/* 02860438 */ /* nop */
|
|
/* 0286043C */ /* nop */
|
|
/* 02860440 */ /* nop */
|
|
/* 02860444 */ /* nop */
|
|
/* 02860448 */ cpu->r[8] = cpu->r[28] + 0x00000048u;
|
|
/* 0286044C */ /* nop */
|
|
/* 02860450 */ /* nop */
|
|
/* 02860454 */ /* nop */
|
|
/* 02860458 */ /* nop */
|
|
/* 0286045C */ /* nop */
|
|
/* 02860460 */ /* nop */
|
|
/* 02860464 */ /* nop */
|
|
/* 02860468 */ /* nop */
|
|
/* 0286046C */ /* nop */
|
|
/* 02860470 */ /* nop */
|
|
/* 02860474 */ /* nop */
|
|
/* 02860478 */ /* nop */
|
|
/* 0286047C */ /* nop */
|
|
/* 02860480 */ /* nop */
|
|
/* 02860484 */ /* nop */
|
|
/* 02860488 */ /* nop */
|
|
/* 0286048C */ /* nop */
|
|
/* 02860490 */ /* nop */
|
|
/* 02860494 */ /* nop */
|
|
/* 02860498 */ /* nop */
|
|
/* 0286049C */ /* nop */
|
|
/* 028604A0 */ /* nop */
|
|
/* 028604A4 */ /* nop */
|
|
/* 028604A8 */ /* nop */
|
|
/* 028604AC */ /* nop */
|
|
/* 028604B0 */ _t195 = cpu->r[28] + 0x00000044u;
|
|
/* 028604B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t195);
|
|
/* 028604B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 028604B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028604B8 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028604B8 */ _t197 = _t196 & 0x00000001u;
|
|
/* 028604B8 */ if (_t197) goto L_0286080C; else goto L_028604BC;
|
|
L_028604BC: ; // 0x28604bc
|
|
/* 028604BC */ goto L_028606F8;
|
|
L_028604C0: ; // 0x28604c0
|
|
/* 028604C0 */ _t198 = cpu->r[28] + 0x00000030u;
|
|
/* 028604C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t198);
|
|
/* 028604C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 028604C8 */ _t199 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028604C8 */ _t200 = _t199 & 0x00000001u;
|
|
/* 028604C8 */ if (_t200) goto L_02860644; else goto L_028604CC;
|
|
L_028604CC: ; // 0x28604cc
|
|
/* 028604CC */ _t201 = cpu->r[8] + 0x00000000u;
|
|
/* 028604CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t201);
|
|
/* 028604D0 */ cpu->r[11] = 0x10130000u;
|
|
/* 028604D4 */ _t202 = cpu->r[11] + 0x00005078u;
|
|
/* 028604D4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t202);
|
|
/* 028604D8 */ cpu->r[29] = 0x43300000u;
|
|
/* 028604DC */ _t203 = cpu->r[1] + 0x00000008u;
|
|
/* 028604DC */ rbrew_write32(cpu->mem, _t203, cpu->r[29]);
|
|
/* 028604E0 */ _t204 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028604E0 */ rbrew_write32(cpu->mem, _t204, cpu->r[10]);
|
|
/* 028604E4 */ _t205 = cpu->r[1] + 0x00000008u;
|
|
/* 028604E4 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t205);
|
|
/* 028604E8 */ cpu->f[10] = cpu->f[9] - cpu->f[13];
|
|
/* 028604EC */ cpu->f[7] = (double)(float)cpu->f[10];
|
|
/* 028604F0 */ cpu->f[11] = cpu->f[7] / cpu->f[11];
|
|
/* 028604F4 */ cpu->f[1] = cpu->f[12] * cpu->f[11];
|
|
/* 028604F8 */ Gambit_fn_02C898C4(cpu);
|
|
/* 028604FC */ _t206 = cpu->r[1] + 0x00000008u;
|
|
/* 028604FC */ rbrew_write32(cpu->mem, _t206, cpu->r[29]);
|
|
/* 02860500 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 02860504 */ cpu->r[10] = 0x10130000u;
|
|
/* 02860508 */ _t207 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02860508 */ rbrew_write32(cpu->mem, _t207, cpu->r[8]);
|
|
/* 0286050C */ _t208 = cpu->r[1] + 0x00000008u;
|
|
/* 0286050C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t208);
|
|
/* 02860510 */ _t209 = cpu->r[10] + 0x00005078u;
|
|
/* 02860510 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t209);
|
|
/* 02860514 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 02860518 */ _t210 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02860518 */ rbrew_write_f32(cpu->mem, _t210, cpu->f[28]);
|
|
/* 0286051C */ cpu->f[12] = cpu->f[11] - cpu->f[10];
|
|
/* 02860520 */ _t211 = cpu->r[27] + cpu->r[4];
|
|
/* 02860520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t211);
|
|
/* 02860524 */ _t212 = cpu->r[1] + 0x00000018u;
|
|
/* 02860524 */ rbrew_write_f32(cpu->mem, _t212, cpu->f[31]);
|
|
/* 02860528 */ cpu->r[9] = cpu->r[27] + cpu->r[4];
|
|
/* 0286052C */ cpu->f[6] = (double)(float)cpu->f[12];
|
|
/* 02860530 */ _t213 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02860530 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t213);
|
|
/* 02860534 */ _t214 = cpu->r[9] + 0x00000004u;
|
|
/* 02860534 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t214);
|
|
/* 02860538 */ cpu->f[6] = cpu->f[6] * cpu->f[30];
|
|
/* 0286053C */ _t215 = cpu->r[9] + 0x00000008u;
|
|
/* 0286053C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t215);
|
|
/* 02860540 */ _t216 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02860540 */ rbrew_write_f32(cpu->mem, _t216, cpu->f[29]);
|
|
/* 02860544 */ cpu->r[9] = 0x10130000u;
|
|
/* 02860548 */ cpu->f[12] = fma(cpu->f[13], cpu->f[6], cpu->f[0]);
|
|
/* 0286054C */ _t217 = cpu->r[9] + 0x00005068u;
|
|
/* 0286054C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t217);
|
|
/* 02860550 */ cpu->f[0] = fma(cpu->f[7], cpu->f[6], cpu->f[8]);
|
|
/* 02860554 */ cpu->f[6] = cpu->f[26] * cpu->f[12];
|
|
/* 02860558 */ _t218 = cpu->r[1] + 0x00000028u;
|
|
/* 02860558 */ rbrew_write_f32(cpu->mem, _t218, cpu->f[31]);
|
|
/* 0286055C */ _t219 = cpu->r[1] + 0x00000030u;
|
|
/* 0286055C */ rbrew_write_f32(cpu->mem, _t219, cpu->f[31]);
|
|
/* 02860560 */ cpu->f[9] = cpu->f[26] * cpu->f[0];
|
|
/* 02860564 */ _t220 = cpu->r[1] + 0x00000034u;
|
|
/* 02860564 */ rbrew_write_f32(cpu->mem, _t220, cpu->f[31]);
|
|
/* 02860568 */ cpu->f[10] = cpu->f[25] * cpu->f[12];
|
|
/* 0286056C */ _t221 = cpu->r[1] + 0x00000038u;
|
|
/* 0286056C */ rbrew_write_f32(cpu->mem, _t221, cpu->f[13]);
|
|
/* 02860570 */ _t222 = cpu->r[1] + 0x00000020u;
|
|
/* 02860570 */ rbrew_write_f32(cpu->mem, _t222, cpu->f[6]);
|
|
/* 02860574 */ cpu->f[11] = -cpu->f[10];
|
|
/* 02860578 */ _t223 = cpu->r[1] + 0x00000010u;
|
|
/* 02860578 */ rbrew_write_f32(cpu->mem, _t223, cpu->f[9]);
|
|
/* 0286057C */ cpu->f[8] = cpu->f[25] * cpu->f[0];
|
|
/* 02860580 */ _t224 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02860580 */ rbrew_write_f32(cpu->mem, _t224, cpu->f[27]);
|
|
/* 02860584 */ _t225 = cpu->r[1] + 0x00000014u;
|
|
/* 02860584 */ rbrew_write_f32(cpu->mem, _t225, cpu->f[11]);
|
|
/* 02860588 */ cpu->r[7] = cpu->r[1] + 0x00000010u;
|
|
/* 0286058C */ _t226 = cpu->r[1] + 0x00000024u;
|
|
/* 0286058C */ rbrew_write_f32(cpu->mem, _t226, cpu->f[8]);
|
|
/* 02860590 */ /* nop */
|
|
/* 02860594 */ /* nop */
|
|
/* 02860598 */ /* nop */
|
|
/* 0286059C */ cpu->r[8] = cpu->r[28] + 0x00000048u;
|
|
/* 028605A0 */ /* nop */
|
|
/* 028605A4 */ /* nop */
|
|
/* 028605A8 */ /* nop */
|
|
/* 028605AC */ /* nop */
|
|
/* 028605B0 */ /* nop */
|
|
/* 028605B4 */ /* nop */
|
|
/* 028605B8 */ /* nop */
|
|
/* 028605BC */ /* nop */
|
|
/* 028605C0 */ /* nop */
|
|
/* 028605C4 */ /* nop */
|
|
/* 028605C8 */ /* nop */
|
|
/* 028605CC */ /* nop */
|
|
/* 028605D0 */ /* nop */
|
|
/* 028605D4 */ /* nop */
|
|
/* 028605D8 */ /* nop */
|
|
/* 028605DC */ /* nop */
|
|
/* 028605E0 */ /* nop */
|
|
/* 028605E4 */ /* nop */
|
|
/* 028605E8 */ /* nop */
|
|
/* 028605EC */ /* nop */
|
|
/* 028605F0 */ /* nop */
|
|
/* 028605F4 */ /* nop */
|
|
/* 028605F8 */ /* nop */
|
|
/* 028605FC */ /* nop */
|
|
/* 02860600 */ /* nop */
|
|
/* 02860604 */ /* nop */
|
|
/* 02860608 */ /* nop */
|
|
/* 0286060C */ /* nop */
|
|
/* 02860610 */ /* nop */
|
|
/* 02860614 */ /* nop */
|
|
/* 02860618 */ /* nop */
|
|
/* 0286061C */ /* nop */
|
|
/* 02860620 */ /* nop */
|
|
/* 02860624 */ /* nop */
|
|
/* 02860628 */ /* nop */
|
|
/* 0286062C */ /* nop */
|
|
/* 02860630 */ /* nop */
|
|
/* 02860634 */ _t227 = cpu->r[28] + 0x00000044u;
|
|
/* 02860634 */ cpu->r[0] = rbrew_read8(cpu->mem, _t227);
|
|
/* 02860638 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02860638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0286063C */ _t228 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286063C */ _t229 = _t228 & 0x00000001u;
|
|
/* 0286063C */ if (_t229) goto L_0286080C; else goto L_02860640;
|
|
L_02860640: ; // 0x2860640
|
|
/* 02860640 */ goto L_028606F8;
|
|
L_02860644: ; // 0x2860644
|
|
/* 02860644 */ _t230 = cpu->r[25] + 0x00000000u;
|
|
/* 02860644 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t230);
|
|
/* 02860648 */ _t231 = cpu->r[25] + 0x00000014u;
|
|
/* 02860648 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t231);
|
|
/* 0286064C */ cpu->f[24] = cpu->f[4] * cpu->f[26];
|
|
/* 02860650 */ _t232 = cpu->r[25] + 0x00000018u;
|
|
/* 02860650 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t232);
|
|
/* 02860654 */ cpu->f[13] = cpu->f[10] * cpu->f[27];
|
|
/* 02860658 */ _t233 = cpu->r[25] + 0x00000004u;
|
|
/* 02860658 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t233);
|
|
/* 0286065C */ _t234 = cpu->r[25] + 0x00000008u;
|
|
/* 0286065C */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t234);
|
|
/* 02860660 */ cpu->f[2] = fma(cpu->f[11], cpu->f[28], cpu->f[13]);
|
|
/* 02860664 */ _t235 = cpu->r[25] + 0x00000028u;
|
|
/* 02860664 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t235);
|
|
/* 02860668 */ cpu->f[0] = cpu->f[7] * cpu->f[27];
|
|
/* 0286066C */ _t236 = cpu->r[25] + 0x00000024u;
|
|
/* 0286066C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t236);
|
|
/* 02860670 */ cpu->f[31] = fma(cpu->f[5], cpu->f[28], cpu->f[0]);
|
|
/* 02860674 */ _t237 = cpu->r[25] + 0x0000001Cu;
|
|
/* 02860674 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t237);
|
|
/* 02860678 */ cpu->f[0] = cpu->f[12] * cpu->f[27];
|
|
/* 0286067C */ _t238 = cpu->r[25] + 0x00000010u;
|
|
/* 0286067C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t238);
|
|
/* 02860680 */ cpu->f[31] = fma(cpu->f[4], cpu->f[29], cpu->f[31]);
|
|
/* 02860684 */ cpu->f[30] = cpu->f[7] * cpu->f[25];
|
|
/* 02860688 */ _t239 = cpu->r[25] + 0x00000020u;
|
|
/* 02860688 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t239);
|
|
/* 0286068C */ cpu->f[3] = fma(cpu->f[13], cpu->f[28], cpu->f[0]);
|
|
/* 02860690 */ _t240 = cpu->r[25] + 0x0000000Cu;
|
|
/* 02860690 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t240);
|
|
/* 02860694 */ cpu->f[1] = cpu->f[9] * cpu->f[26];
|
|
/* 02860698 */ _t241 = cpu->r[28] + 0x00000044u;
|
|
/* 02860698 */ cpu->r[0] = rbrew_read8(cpu->mem, _t241);
|
|
/* 0286069C */ cpu->f[4] = fma(cpu->f[7], cpu->f[29], cpu->f[3]);
|
|
/* 028606A0 */ _t242 = cpu->r[25] + 0x0000002Cu;
|
|
/* 028606A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t242);
|
|
/* 028606A4 */ cpu->f[3] = cpu->f[31] + cpu->f[8];
|
|
/* 028606A8 */ _t243 = cpu->r[28] + 0x0000004Cu;
|
|
/* 028606A8 */ rbrew_write_f32(cpu->mem, _t243, cpu->f[30]);
|
|
/* 028606AC */ cpu->f[8] = fma(cpu->f[9], cpu->f[29], cpu->f[2]);
|
|
/* 028606B0 */ _t244 = cpu->r[28] + 0x00000050u;
|
|
/* 028606B0 */ rbrew_write_f32(cpu->mem, _t244, cpu->f[5]);
|
|
/* 028606B4 */ cpu->f[10] = cpu->f[10] * cpu->f[25];
|
|
/* 028606B8 */ _t245 = cpu->r[28] + 0x00000054u;
|
|
/* 028606B8 */ rbrew_write_f32(cpu->mem, _t245, cpu->f[3]);
|
|
/* 028606BC */ _t246 = cpu->r[28] + 0x00000058u;
|
|
/* 028606BC */ rbrew_write_f32(cpu->mem, _t246, cpu->f[1]);
|
|
/* 028606C0 */ cpu->f[9] = cpu->f[8] + cpu->f[6];
|
|
/* 028606C4 */ _t247 = cpu->r[28] + 0x00000048u;
|
|
/* 028606C4 */ rbrew_write_f32(cpu->mem, _t247, cpu->f[24]);
|
|
/* 028606C8 */ _t248 = cpu->r[28] + 0x0000005Cu;
|
|
/* 028606C8 */ rbrew_write_f32(cpu->mem, _t248, cpu->f[10]);
|
|
/* 028606CC */ cpu->f[10] = cpu->f[7] * cpu->f[26];
|
|
/* 028606D0 */ _t249 = cpu->r[28] + 0x00000060u;
|
|
/* 028606D0 */ rbrew_write_f32(cpu->mem, _t249, cpu->f[11]);
|
|
/* 028606D4 */ _t250 = cpu->r[28] + 0x00000064u;
|
|
/* 028606D4 */ rbrew_write_f32(cpu->mem, _t250, cpu->f[9]);
|
|
/* 028606D8 */ cpu->f[12] = cpu->f[12] * cpu->f[25];
|
|
/* 028606DC */ _t251 = cpu->r[28] + 0x00000068u;
|
|
/* 028606DC */ rbrew_write_f32(cpu->mem, _t251, cpu->f[10]);
|
|
/* 028606E0 */ cpu->f[6] = cpu->f[4] + cpu->f[0];
|
|
/* 028606E4 */ _t252 = cpu->r[28] + 0x0000006Cu;
|
|
/* 028606E4 */ rbrew_write_f32(cpu->mem, _t252, cpu->f[12]);
|
|
/* 028606E8 */ _t253 = cpu->r[28] + 0x00000070u;
|
|
/* 028606E8 */ rbrew_write_f32(cpu->mem, _t253, cpu->f[13]);
|
|
/* 028606EC */ _t254 = cpu->r[28] + 0x00000074u;
|
|
/* 028606EC */ rbrew_write_f32(cpu->mem, _t254, cpu->f[6]);
|
|
L_028606F0: ; // 0x28606f0
|
|
/* 028606F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 028606F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028606F4 */ _t255 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028606F4 */ _t256 = _t255 & 0x00000001u;
|
|
/* 028606F4 */ if (_t256) goto L_0286080C; else goto L_028606F8;
|
|
L_028606F8: ; // 0x28606f8
|
|
/* 028606F8 */ _t257 = cpu->r[28] + 0x00000045u;
|
|
/* 028606F8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t257);
|
|
/* 028606FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FFu);
|
|
/* 02860700 */ _t258 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860700 */ _t259 = _t258 & 0x00000001u;
|
|
/* 02860700 */ if (_t259) goto L_0286080C; else goto L_02860704;
|
|
L_02860704: ; // 0x2860704
|
|
/* 02860704 */ _t260 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02860704 */ rbrew_write32(cpu->mem, _t260, cpu->r[10]);
|
|
/* 02860708 */ cpu->r[5] = 0x43300000u;
|
|
/* 0286070C */ cpu->r[8] = 0x10130000u;
|
|
/* 02860710 */ _t261 = cpu->r[1] + 0x00000008u;
|
|
/* 02860710 */ rbrew_write32(cpu->mem, _t261, cpu->r[5]);
|
|
/* 02860714 */ _t262 = cpu->r[1] + 0x00000008u;
|
|
/* 02860714 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t262);
|
|
/* 02860718 */ _t263 = cpu->r[8] + 0x00005078u;
|
|
/* 02860718 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t263);
|
|
/* 0286071C */ cpu->r[7] = 0x10130000u;
|
|
/* 02860720 */ cpu->f[9] = cpu->f[8] - cpu->f[0];
|
|
/* 02860724 */ _t264 = cpu->r[7] + 0x00005088u;
|
|
/* 02860724 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t264);
|
|
/* 02860728 */ cpu->f[7] = (double)(float)cpu->f[9];
|
|
/* 0286072C */ _t265 = cpu->r[30] + 0x00000010u;
|
|
/* 0286072C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t265);
|
|
/* 02860730 */ cpu->f[10] = cpu->f[31] * cpu->f[7];
|
|
/* 02860734 */ _t266 = cpu->r[30] + 0x00000017u;
|
|
/* 02860734 */ cpu->r[27] = rbrew_read8(cpu->mem, _t266);
|
|
/* 02860738 */ cpu->r[11] = 0x00000001u;
|
|
/* 0286073C */ cpu->f[11] = cpu->f[10] * cpu->f[0];
|
|
/* 02860740 */ _t267 = cpu->r[30] + 0x00000017u;
|
|
/* 02860740 */ rbrew_write8(cpu->mem, _t267, (uint8_t)cpu->r[11]);
|
|
/* 02860744 */ _t268 = cpu->r[30] + 0x00000010u;
|
|
/* 02860744 */ rbrew_write_f32(cpu->mem, _t268, cpu->f[11]);
|
|
/* 02860748 */ _t269 = cpu->r[28] + 0x00000014u;
|
|
/* 02860748 */ cpu->r[29] = rbrew_read32(cpu->mem, _t269);
|
|
/* 02860748 */ cpu->r[28] = _t269;
|
|
/* 0286074C */ cpu->r[0] = cpu->r[29] ^ cpu->r[28];
|
|
/* 02860750 */ cpu->r[4] = rbrew_clz32(cpu->r[0]);
|
|
/* 02860754 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02860758 */ cpu->r[11] = cpu->r[12] ^ 0x00000001u;
|
|
/* 0286075C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0286075C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02860760 */ _t270 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860760 */ _t271 = _t270 & 0x00000001u;
|
|
/* 02860760 */ if (_t271) goto L_0286079C; else goto L_02860764;
|
|
L_02860764: ; // 0x2860764
|
|
/* 02860764 */ _t272 = cpu->r[29] + 0x00000008u;
|
|
/* 02860764 */ cpu->r[6] = rbrew_read32(cpu->mem, _t272);
|
|
/* 02860768 */ _t273 = cpu->r[6] + 0x00000084u;
|
|
/* 02860768 */ cpu->r[10] = rbrew_read32(cpu->mem, _t273);
|
|
/* 0286076C */ cpu->ctr = cpu->r[10];
|
|
/* 02860770 */ cpu->r[3] = cpu->r[29];
|
|
/* 02860774 */ cpu->r[4] = cpu->r[30];
|
|
/* 02860778 */ cpu->r[5] = cpu->r[31];
|
|
/* 0286077C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02860780 */ _t274 = cpu->r[29] + 0x00000000u;
|
|
/* 02860780 */ cpu->r[29] = rbrew_read32(cpu->mem, _t274);
|
|
/* 02860784 */ cpu->r[12] = cpu->r[29] ^ cpu->r[28];
|
|
/* 02860788 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 0286078C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02860790 */ cpu->r[4] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02860794 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02860798 */ _t275 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860798 */ _t276 = _t275 & 0x00000001u;
|
|
/* 02860798 */ if (_t276) goto L_0286079C; else goto L_02860764;
|
|
L_0286079C: ; // 0x286079c
|
|
/* 0286079C */ _t277 = cpu->r[30] + 0x00000017u;
|
|
/* 0286079C */ rbrew_write8(cpu->mem, _t277, (uint8_t)cpu->r[27]);
|
|
/* 028607A0 */ _t278 = cpu->r[30] + 0x00000010u;
|
|
/* 028607A0 */ rbrew_write_f32(cpu->mem, _t278, cpu->f[31]);
|
|
/* 028607A4 */ /* nop */
|
|
/* 028607A8 */ _t279 = cpu->r[1] + 0x000000A8u;
|
|
/* 028607A8 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t279);
|
|
/* 028607AC */ _t280 = cpu->r[1] + 0x00000088u;
|
|
/* 028607AC */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t280);
|
|
/* 028607B0 */ _t281 = cpu->r[1] + 0x000000A0u;
|
|
/* 028607B0 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t281);
|
|
/* 028607B4 */ _t282 = cpu->r[1] + 0x00000080u;
|
|
/* 028607B4 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t282);
|
|
/* 028607B8 */ _t283 = cpu->r[1] + 0x000000C8u;
|
|
/* 028607B8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t283);
|
|
/* 028607BC */ _t284 = cpu->r[1] + 0x00000098u;
|
|
/* 028607BC */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t284);
|
|
/* 028607C0 */ _t285 = cpu->r[1] + 0x000000C0u;
|
|
/* 028607C0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t285);
|
|
/* 028607C4 */ _t286 = cpu->r[1] + 0x00000090u;
|
|
/* 028607C4 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t286);
|
|
/* 028607C8 */ _t287 = cpu->r[1] + 0x000000E8u;
|
|
/* 028607C8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t287);
|
|
/* 028607CC */ _t288 = cpu->r[1] + 0x000000B8u;
|
|
/* 028607CC */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t288);
|
|
/* 028607D0 */ _t289 = cpu->r[1] + 0x000000E0u;
|
|
/* 028607D0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t289);
|
|
/* 028607D4 */ _t290 = cpu->r[1] + 0x000000B0u;
|
|
/* 028607D4 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t290);
|
|
/* 028607D8 */ _t291 = cpu->r[1] + 0x00000078u;
|
|
/* 028607D8 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t291);
|
|
/* 028607DC */ _t292 = cpu->r[1] + 0x000000D8u;
|
|
/* 028607DC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t292);
|
|
/* 028607E0 */ _t293 = cpu->r[1] + 0x00000070u;
|
|
/* 028607E0 */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t293);
|
|
/* 028607E4 */ _t294 = cpu->r[1] + 0x000000D0u;
|
|
/* 028607E4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t294);
|
|
/* 028607E8 */ _t295 = cpu->r[1] + 0x00000068u;
|
|
/* 028607E8 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t295);
|
|
/* 028607EC */ _t296 = cpu->r[1] + 0x000000F8u;
|
|
/* 028607EC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t296);
|
|
/* 028607F0 */ _t297 = cpu->r[1] + 0x00000060u;
|
|
/* 028607F0 */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t297);
|
|
/* 028607F4 */ _t298 = cpu->r[1] + 0x000000F0u;
|
|
/* 028607F4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t298);
|
|
/* 028607F8 */ _t299 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028607F8 */ _t300 = _t299 & 0x00000001u;
|
|
/* 028607F8 */ if (_t300) goto L_028607FC; // else: addr-0 trap, fall-through
|
|
L_028607FC: ; // 0x28607fc
|
|
/* 028607FC */ _t301 = cpu->r[1] + 0x00000104u;
|
|
/* 028607FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t301);
|
|
/* 02860800 */ cpu->lr = cpu->r[0];
|
|
/* 02860804 */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 02860808 */ return;
|
|
L_0286080C: ; // 0x286080c
|
|
/* 0286080C */ _t302 = cpu->r[28] + 0x00000014u;
|
|
/* 0286080C */ cpu->r[29] = rbrew_read32(cpu->mem, _t302);
|
|
/* 0286080C */ cpu->r[28] = _t302;
|
|
/* 02860810 */ cpu->r[9] = cpu->r[29] ^ cpu->r[28];
|
|
/* 02860814 */ cpu->r[0] = rbrew_clz32(cpu->r[9]);
|
|
/* 02860818 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0286081C */ cpu->r[12] = cpu->r[7] ^ 0x00000001u;
|
|
/* 02860820 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02860824 */ _t303 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860824 */ _t304 = _t303 & 0x00000001u;
|
|
/* 02860824 */ if (_t304) goto L_02860860; else goto L_02860828;
|
|
L_02860828: ; // 0x2860828
|
|
/* 02860828 */ _t305 = cpu->r[29] + 0x00000008u;
|
|
/* 02860828 */ cpu->r[5] = rbrew_read32(cpu->mem, _t305);
|
|
/* 0286082C */ _t306 = cpu->r[5] + 0x00000084u;
|
|
/* 0286082C */ cpu->r[6] = rbrew_read32(cpu->mem, _t306);
|
|
/* 02860830 */ cpu->ctr = cpu->r[6];
|
|
/* 02860834 */ cpu->r[5] = cpu->r[31];
|
|
/* 02860838 */ cpu->r[3] = cpu->r[29];
|
|
/* 0286083C */ cpu->r[4] = cpu->r[30];
|
|
/* 02860840 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02860844 */ _t307 = cpu->r[29] + 0x00000000u;
|
|
/* 02860844 */ cpu->r[29] = rbrew_read32(cpu->mem, _t307);
|
|
/* 02860848 */ cpu->r[4] = cpu->r[29] ^ cpu->r[28];
|
|
/* 0286084C */ cpu->r[5] = rbrew_clz32(cpu->r[4]);
|
|
/* 02860850 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02860854 */ cpu->r[6] = cpu->r[8] ^ 0x00000001u;
|
|
/* 02860858 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0286085C */ _t308 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286085C */ _t309 = _t308 & 0x00000001u;
|
|
/* 0286085C */ if (_t309) goto L_02860860; else goto L_02860828;
|
|
L_02860860: ; // 0x2860860
|
|
/* 02860860 */ /* nop */
|
|
/* 02860864 */ _t310 = cpu->r[1] + 0x000000A8u;
|
|
/* 02860864 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t310);
|
|
/* 02860868 */ _t311 = cpu->r[1] + 0x00000088u;
|
|
/* 02860868 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t311);
|
|
/* 0286086C */ _t312 = cpu->r[1] + 0x000000A0u;
|
|
/* 0286086C */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t312);
|
|
/* 02860870 */ _t313 = cpu->r[1] + 0x00000080u;
|
|
/* 02860870 */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t313);
|
|
/* 02860874 */ _t314 = cpu->r[1] + 0x000000C8u;
|
|
/* 02860874 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t314);
|
|
/* 02860878 */ _t315 = cpu->r[1] + 0x00000098u;
|
|
/* 02860878 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t315);
|
|
/* 0286087C */ _t316 = cpu->r[1] + 0x000000C0u;
|
|
/* 0286087C */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t316);
|
|
/* 02860880 */ _t317 = cpu->r[1] + 0x00000090u;
|
|
/* 02860880 */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t317);
|
|
/* 02860884 */ _t318 = cpu->r[1] + 0x000000E8u;
|
|
/* 02860884 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t318);
|
|
/* 02860888 */ _t319 = cpu->r[1] + 0x000000B8u;
|
|
/* 02860888 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t319);
|
|
/* 0286088C */ _t320 = cpu->r[1] + 0x000000E0u;
|
|
/* 0286088C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t320);
|
|
/* 02860890 */ _t321 = cpu->r[1] + 0x000000B0u;
|
|
/* 02860890 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t321);
|
|
/* 02860894 */ _t322 = cpu->r[1] + 0x00000078u;
|
|
/* 02860894 */ cpu->f[23] = rbrew_read_f32(cpu->mem, _t322);
|
|
/* 02860898 */ _t323 = cpu->r[1] + 0x000000D8u;
|
|
/* 02860898 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t323);
|
|
/* 0286089C */ _t324 = cpu->r[1] + 0x00000070u;
|
|
/* 0286089C */ cpu->f[23] = rbrew_read_f64(cpu->mem, _t324);
|
|
/* 028608A0 */ _t325 = cpu->r[1] + 0x000000D0u;
|
|
/* 028608A0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t325);
|
|
/* 028608A4 */ _t326 = cpu->r[1] + 0x00000068u;
|
|
/* 028608A4 */ cpu->f[22] = rbrew_read_f32(cpu->mem, _t326);
|
|
/* 028608A8 */ _t327 = cpu->r[1] + 0x000000F8u;
|
|
/* 028608A8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t327);
|
|
/* 028608AC */ _t328 = cpu->r[1] + 0x00000060u;
|
|
/* 028608AC */ cpu->f[22] = rbrew_read_f64(cpu->mem, _t328);
|
|
/* 028608B0 */ _t329 = cpu->r[1] + 0x000000F0u;
|
|
/* 028608B0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t329);
|
|
/* 028608B4 */ _t330 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028608B4 */ _t331 = _t330 & 0x00000001u;
|
|
/* 028608B4 */ if (_t331) goto L_028608B8; // else: addr-0 trap, fall-through
|
|
L_028608B8: ; // 0x28608b8
|
|
/* 028608B8 */ _t332 = cpu->r[1] + 0x00000104u;
|
|
/* 028608B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t332);
|
|
/* 028608BC */ cpu->lr = cpu->r[0];
|
|
/* 028608C0 */ cpu->r[1] = cpu->r[1] + 0x00000100u;
|
|
/* 028608C4 */ return;
|
|
}
|
|
|
|
// fn_028608C8 @ 0x28608c8
|
|
void Gambit_fn_028608C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028608C8: ; // 0x28608c8
|
|
/* 028608C8 */ cpu->r[0] = cpu->lr;
|
|
/* 028608CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028608CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028608CC */ cpu->r[1] = _t0;
|
|
/* 028608D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028608D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028608D4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028608D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028608D8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028608D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028608DC */ cpu->r[30] = cpu->r[3];
|
|
/* 028608E0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028608E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028608E4 */ _t5 = cpu->r[30] + 0x00000044u;
|
|
/* 028608E4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 028608E8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028608E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028608EC */ cpu->r[31] = cpu->r[4];
|
|
/* 028608F0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028608F0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028608F0 */ if (_t7) goto L_02860980; else goto L_028608F4;
|
|
L_028608F4: ; // 0x28608f4
|
|
/* 028608F4 */ _t8 = cpu->r[30] + 0x00000046u;
|
|
/* 028608F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 028608F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028608FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028608FC */ _t10 = _t9 & 0x00000001u;
|
|
/* 028608FC */ if (_t10) goto L_0286091C; else goto L_02860900;
|
|
L_02860900: ; // 0x2860900
|
|
/* 02860900 */ _t11 = cpu->r[30] + 0x00000008u;
|
|
/* 02860900 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02860904 */ _t12 = cpu->r[6] + 0x00000094u;
|
|
/* 02860904 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02860908 */ cpu->ctr = cpu->r[7];
|
|
/* 0286090C */ cpu->r[3] = cpu->r[30];
|
|
/* 02860910 */ cpu->r[4] = cpu->r[31];
|
|
/* 02860914 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02860918 */ _t13 = cpu->r[30] + 0x00000044u;
|
|
/* 02860918 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
L_0286091C: ; // 0x286091c
|
|
/* 0286091C */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0286091C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02860920 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860920 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02860920 */ if (_t15) goto L_02860930; else goto L_02860924;
|
|
L_02860924: ; // 0x2860924
|
|
/* 02860924 */ _t16 = cpu->r[30] + 0x00000045u;
|
|
/* 02860924 */ cpu->r[9] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02860928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0286092C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286092C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0286092C */ if (_t18) goto L_02860980; else goto L_02860930;
|
|
L_02860930: ; // 0x2860930
|
|
/* 02860930 */ _t19 = cpu->r[30] + 0x00000014u;
|
|
/* 02860930 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02860930 */ cpu->r[30] = _t19;
|
|
/* 02860934 */ cpu->r[11] = cpu->r[29] ^ cpu->r[30];
|
|
/* 02860938 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 0286093C */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02860940 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02860944 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02860948 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860948 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02860948 */ if (_t21) goto L_02860980; else goto L_0286094C;
|
|
L_0286094C: ; // 0x286094c
|
|
/* 0286094C */ _t22 = cpu->r[29] + 0x00000008u;
|
|
/* 0286094C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02860950 */ _t23 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02860950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02860954 */ cpu->ctr = cpu->r[0];
|
|
/* 02860958 */ cpu->r[3] = cpu->r[29];
|
|
/* 0286095C */ cpu->r[4] = cpu->r[31];
|
|
/* 02860960 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02860964 */ _t24 = cpu->r[29] + 0x00000000u;
|
|
/* 02860964 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02860968 */ cpu->r[7] = cpu->r[29] ^ cpu->r[30];
|
|
/* 0286096C */ cpu->r[8] = rbrew_clz32(cpu->r[7]);
|
|
/* 02860970 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02860974 */ cpu->r[9] = cpu->r[6] ^ 0x00000001u;
|
|
/* 02860978 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0286097C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286097C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0286097C */ if (_t26) goto L_02860980; else goto L_0286094C;
|
|
L_02860980: ; // 0x2860980
|
|
/* 02860980 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02860980 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02860984 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02860984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02860988 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02860988 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0286098C */ cpu->lr = cpu->r[0];
|
|
/* 02860990 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02860990 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02860994 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02860998 */ return;
|
|
}
|
|
|
|
// fn_028608CC @ 0x28608cc
|
|
void Gambit_fn_028608CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_028608CC: ; // 0x28608cc
|
|
/* 028608CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028608CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028608CC */ cpu->r[1] = _t0;
|
|
/* 028608D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028608D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028608D4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028608D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028608D8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028608D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028608DC */ cpu->r[30] = cpu->r[3];
|
|
/* 028608E0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028608E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028608E4 */ _t5 = cpu->r[30] + 0x00000044u;
|
|
/* 028608E4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 028608E8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028608E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028608EC */ cpu->r[31] = cpu->r[4];
|
|
/* 028608F0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028608F0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028608F0 */ if (_t7) goto L_02860980; else goto L_028608F4;
|
|
L_028608F4: ; // 0x28608f4
|
|
/* 028608F4 */ _t8 = cpu->r[30] + 0x00000046u;
|
|
/* 028608F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 028608F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028608FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028608FC */ _t10 = _t9 & 0x00000001u;
|
|
/* 028608FC */ if (_t10) goto L_0286091C; else goto L_02860900;
|
|
L_02860900: ; // 0x2860900
|
|
/* 02860900 */ _t11 = cpu->r[30] + 0x00000008u;
|
|
/* 02860900 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02860904 */ _t12 = cpu->r[6] + 0x00000094u;
|
|
/* 02860904 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02860908 */ cpu->ctr = cpu->r[7];
|
|
/* 0286090C */ cpu->r[3] = cpu->r[30];
|
|
/* 02860910 */ cpu->r[4] = cpu->r[31];
|
|
/* 02860914 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02860918 */ _t13 = cpu->r[30] + 0x00000044u;
|
|
/* 02860918 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
L_0286091C: ; // 0x286091c
|
|
/* 0286091C */ cpu->r[8] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 0286091C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02860920 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860920 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02860920 */ if (_t15) goto L_02860930; else goto L_02860924;
|
|
L_02860924: ; // 0x2860924
|
|
/* 02860924 */ _t16 = cpu->r[30] + 0x00000045u;
|
|
/* 02860924 */ cpu->r[9] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02860928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0286092C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286092C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0286092C */ if (_t18) goto L_02860980; else goto L_02860930;
|
|
L_02860930: ; // 0x2860930
|
|
/* 02860930 */ _t19 = cpu->r[30] + 0x00000014u;
|
|
/* 02860930 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02860930 */ cpu->r[30] = _t19;
|
|
/* 02860934 */ cpu->r[11] = cpu->r[29] ^ cpu->r[30];
|
|
/* 02860938 */ cpu->r[12] = rbrew_clz32(cpu->r[11]);
|
|
/* 0286093C */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02860940 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02860944 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02860948 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860948 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02860948 */ if (_t21) goto L_02860980; else goto L_0286094C;
|
|
L_0286094C: ; // 0x286094c
|
|
/* 0286094C */ _t22 = cpu->r[29] + 0x00000008u;
|
|
/* 0286094C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02860950 */ _t23 = cpu->r[12] + 0x0000008Cu;
|
|
/* 02860950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02860954 */ cpu->ctr = cpu->r[0];
|
|
/* 02860958 */ cpu->r[3] = cpu->r[29];
|
|
/* 0286095C */ cpu->r[4] = cpu->r[31];
|
|
/* 02860960 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02860964 */ _t24 = cpu->r[29] + 0x00000000u;
|
|
/* 02860964 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02860968 */ cpu->r[7] = cpu->r[29] ^ cpu->r[30];
|
|
/* 0286096C */ cpu->r[8] = rbrew_clz32(cpu->r[7]);
|
|
/* 02860970 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02860974 */ cpu->r[9] = cpu->r[6] ^ 0x00000001u;
|
|
/* 02860978 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0286097C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286097C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0286097C */ if (_t26) goto L_02860980; else goto L_0286094C;
|
|
L_02860980: ; // 0x2860980
|
|
/* 02860980 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02860980 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02860984 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02860984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02860988 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02860988 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0286098C */ cpu->lr = cpu->r[0];
|
|
/* 02860990 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02860990 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02860994 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02860998 */ return;
|
|
}
|
|
|
|
// fn_0286099C @ 0x286099c
|
|
void Gambit_fn_0286099C(CPUState* cpu) {
|
|
L_0286099C: ; // 0x286099c
|
|
/* 0286099C */ return;
|
|
}
|
|
|
|
// fn_028609A0 @ 0x28609a0
|
|
void Gambit_fn_028609A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_028609A0: ; // 0x28609a0
|
|
/* 028609A0 */ cpu->r[0] = 0x00000003u;
|
|
/* 028609A4 */ cpu->r[9] = cpu->r[3] + 0x00000044u;
|
|
/* 028609A8 */ cpu->ctr = cpu->r[0];
|
|
/* 028609AC */ cpu->r[11] = cpu->r[4] + 0x0000006Cu;
|
|
L_028609B0: ; // 0x28609b0
|
|
/* 028609B0 */ _t0 = cpu->r[9] + 0x00000004u;
|
|
/* 028609B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028609B4 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 028609B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 028609B8 */ _t2 = cpu->r[9] + 0x00000008u;
|
|
/* 028609B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028609BC */ _t3 = cpu->r[11] + 0x00000008u;
|
|
/* 028609BC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 028609C0 */ _t4 = cpu->r[9] + 0x0000000Cu;
|
|
/* 028609C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028609C4 */ _t5 = cpu->r[11] + 0x0000000Cu;
|
|
/* 028609C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028609C8 */ _t6 = cpu->r[9] + 0x00000010u;
|
|
/* 028609C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028609C8 */ cpu->r[9] = _t6;
|
|
/* 028609CC */ _t7 = cpu->r[11] + 0x00000010u;
|
|
/* 028609CC */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 028609CC */ cpu->r[11] = _t7;
|
|
/* 028609D0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028609D0 */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028609D0 */ _t9 = _t8 >> (0x00000002u & 31u);
|
|
/* 028609D0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028609D0 */ if (_t10) goto L_028609B0; else goto L_028609D4;
|
|
L_028609D4: ; // 0x28609d4
|
|
/* 028609D4 */ cpu->r[12] = 0x00000000u;
|
|
/* 028609D8 */ _t11 = cpu->r[4] + 0x000000B6u;
|
|
/* 028609D8 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 028609DC */ return;
|
|
}
|
|
|
|
// fn_028609E0 @ 0x28609e0
|
|
void Gambit_fn_028609E0(CPUState* cpu) {
|
|
uint32_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_028609E0: ; // 0x28609e0
|
|
/* 028609E0 */ cpu->r[0] = cpu->lr;
|
|
/* 028609E4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028609E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028609E4 */ cpu->r[1] = _t0;
|
|
/* 028609E8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028609E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028609EC */ cpu->r[31] = cpu->r[3];
|
|
/* 028609F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028609F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 028609F4 */ cpu->r[3] = cpu->r[31] + 0x00000080u;
|
|
/* 028609F8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 028609F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 028609FC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 028609FC */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 02860A00 */ cpu->r[30] = cpu->r[4];
|
|
/* 02860A04 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02860A04 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02860A08 */ Gambit_fn_0285B800(cpu);
|
|
/* 02860A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02860A10 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860A10 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02860A10 */ if (_t7) goto L_02860A14; else goto L_02860A74;
|
|
L_02860A14: ; // 0x2860a14
|
|
/* 02860A14 */ _t8 = cpu->r[31] + 0x00000014u;
|
|
/* 02860A14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02860A18 */ cpu->r[28] = cpu->r[31] + 0x00000014u;
|
|
/* 02860A1C */ cpu->r[10] = cpu->r[29] ^ cpu->r[28];
|
|
/* 02860A20 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 02860A24 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02860A28 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02860A2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02860A30 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860A30 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02860A30 */ if (_t10) goto L_02860A70; else goto L_02860A34;
|
|
L_02860A34: ; // 0x2860a34
|
|
/* 02860A34 */ _t11 = cpu->r[29] + 0x00000008u;
|
|
/* 02860A34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02860A38 */ _t12 = cpu->r[12] + 0x000000A4u;
|
|
/* 02860A38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02860A3C */ cpu->ctr = cpu->r[10];
|
|
/* 02860A40 */ cpu->r[3] = cpu->r[29];
|
|
/* 02860A44 */ cpu->r[4] = cpu->r[30];
|
|
/* 02860A48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02860A4C */ cpu->r[31] = cpu->r[3];
|
|
/* 02860A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02860A50 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860A50 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02860A50 */ if (_t14) goto L_02860A54; else goto L_02860A74;
|
|
L_02860A54: ; // 0x2860a54
|
|
/* 02860A54 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 02860A54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02860A58 */ cpu->r[12] = cpu->r[29] ^ cpu->r[28];
|
|
/* 02860A5C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02860A60 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02860A64 */ cpu->r[10] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02860A68 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02860A6C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860A6C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02860A6C */ if (_t17) goto L_02860A70; else goto L_02860A34;
|
|
L_02860A70: ; // 0x2860a70
|
|
/* 02860A70 */ cpu->r[31] = 0x00000000u;
|
|
L_02860A74: ; // 0x2860a74
|
|
/* 02860A74 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02860A74 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02860A78 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02860A78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02860A7C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02860A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02860A80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02860A84 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02860A84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02860A88 */ cpu->lr = cpu->r[0];
|
|
/* 02860A8C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02860A8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02860A90 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02860A94 */ return;
|
|
}
|
|
|
|
// fn_028609E4 @ 0x28609e4
|
|
void Gambit_fn_028609E4(CPUState* cpu) {
|
|
uint32_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_028609E4: ; // 0x28609e4
|
|
/* 028609E4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028609E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028609E4 */ cpu->r[1] = _t0;
|
|
/* 028609E8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028609E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028609EC */ cpu->r[31] = cpu->r[3];
|
|
/* 028609F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028609F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 028609F4 */ cpu->r[3] = cpu->r[31] + 0x00000080u;
|
|
/* 028609F8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 028609F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 028609FC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 028609FC */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 02860A00 */ cpu->r[30] = cpu->r[4];
|
|
/* 02860A04 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02860A04 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02860A08 */ Gambit_fn_0285B800(cpu);
|
|
/* 02860A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02860A10 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860A10 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02860A10 */ if (_t7) goto L_02860A14; else goto L_02860A74;
|
|
L_02860A14: ; // 0x2860a14
|
|
/* 02860A14 */ _t8 = cpu->r[31] + 0x00000014u;
|
|
/* 02860A14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02860A18 */ cpu->r[28] = cpu->r[31] + 0x00000014u;
|
|
/* 02860A1C */ cpu->r[10] = cpu->r[29] ^ cpu->r[28];
|
|
/* 02860A20 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 02860A24 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02860A28 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02860A2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02860A30 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860A30 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02860A30 */ if (_t10) goto L_02860A70; else goto L_02860A34;
|
|
L_02860A34: ; // 0x2860a34
|
|
/* 02860A34 */ _t11 = cpu->r[29] + 0x00000008u;
|
|
/* 02860A34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02860A38 */ _t12 = cpu->r[12] + 0x000000A4u;
|
|
/* 02860A38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02860A3C */ cpu->ctr = cpu->r[10];
|
|
/* 02860A40 */ cpu->r[3] = cpu->r[29];
|
|
/* 02860A44 */ cpu->r[4] = cpu->r[30];
|
|
/* 02860A48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02860A4C */ cpu->r[31] = cpu->r[3];
|
|
/* 02860A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02860A50 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860A50 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02860A50 */ if (_t14) goto L_02860A54; else goto L_02860A74;
|
|
L_02860A54: ; // 0x2860a54
|
|
/* 02860A54 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 02860A54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02860A58 */ cpu->r[12] = cpu->r[29] ^ cpu->r[28];
|
|
/* 02860A5C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02860A60 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02860A64 */ cpu->r[10] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02860A68 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02860A6C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860A6C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02860A6C */ if (_t17) goto L_02860A70; else goto L_02860A34;
|
|
L_02860A70: ; // 0x2860a70
|
|
/* 02860A70 */ cpu->r[31] = 0x00000000u;
|
|
L_02860A74: ; // 0x2860a74
|
|
/* 02860A74 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02860A74 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02860A78 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02860A78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02860A7C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02860A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02860A80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02860A84 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02860A84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02860A88 */ cpu->lr = cpu->r[0];
|
|
/* 02860A8C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02860A8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02860A90 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02860A94 */ return;
|
|
}
|
|
|
|
// fn_02860A98 @ 0x2860a98
|
|
void Gambit_fn_02860A98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02860A98: ; // 0x2860a98
|
|
/* 02860A98 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02860A98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02860A98 */ cpu->r[1] = _t0;
|
|
/* 02860A9C */ /* nop */
|
|
/* 02860AA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02860AA4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02860AA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02860AA8 */ _t2 = cpu->r[3] + 0x00000008u;
|
|
/* 02860AA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02860AAC */ _t3 = cpu->r[7] + 0x00000054u;
|
|
/* 02860AAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02860AB0 */ cpu->ctr = cpu->r[8];
|
|
/* 02860AB4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02860AB8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02860ABC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02860AC0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02860AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02860AC4 */ cpu->r[27] = 0x00000000u;
|
|
/* 02860AC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860AC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02860AC8 */ if (_t5) goto L_02860B0C; else goto L_02860ACC;
|
|
L_02860ACC: ; // 0x2860acc
|
|
/* 02860ACC */ _t6 = cpu->r[29] + 0x00000008u;
|
|
/* 02860ACC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02860AD0 */ _t7 = cpu->r[9] + 0x0000004Cu;
|
|
/* 02860AD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02860AD4 */ cpu->ctr = cpu->r[10];
|
|
/* 02860AD8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02860ADC */ cpu->r[4] = cpu->r[27];
|
|
/* 02860AE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02860AE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02860AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02860AE8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860AE8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02860AE8 */ if (_t9) goto L_02860B00; else goto L_02860AEC;
|
|
L_02860AEC: ; // 0x2860aec
|
|
/* 02860AEC */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02860AEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02860AF0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02860AF4 */ Gambit_fn_0285B83C(cpu);
|
|
/* 02860AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02860AFC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860AFC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02860AFC */ if (_t12) goto L_02860B00; else goto L_02860B68;
|
|
L_02860B00: ; // 0x2860b00
|
|
/* 02860B00 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02860B00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02860B04 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02860B08 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860B08 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02860B08 */ if (_t14) goto L_02860B0C; else goto L_02860ACC;
|
|
L_02860B0C: ; // 0x2860b0c
|
|
/* 02860B0C */ _t15 = cpu->r[29] + 0x00000014u;
|
|
/* 02860B0C */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02860B0C */ cpu->r[29] = _t15;
|
|
/* 02860B10 */ cpu->r[0] = cpu->r[28] ^ cpu->r[29];
|
|
/* 02860B14 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02860B18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02860B1C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02860B20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02860B24 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860B24 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02860B24 */ if (_t17) goto L_02860B64; else goto L_02860B28;
|
|
L_02860B28: ; // 0x2860b28
|
|
/* 02860B28 */ _t18 = cpu->r[28] + 0x00000008u;
|
|
/* 02860B28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02860B2C */ _t19 = cpu->r[7] + 0x000000ACu;
|
|
/* 02860B2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02860B30 */ cpu->ctr = cpu->r[8];
|
|
/* 02860B34 */ cpu->r[3] = cpu->r[28];
|
|
/* 02860B38 */ cpu->r[4] = cpu->r[30];
|
|
/* 02860B3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02860B40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02860B40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02860B44 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860B44 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02860B44 */ if (_t21) goto L_02860B48; else goto L_02860B68;
|
|
L_02860B48: ; // 0x2860b48
|
|
/* 02860B48 */ _t22 = cpu->r[28] + 0x00000000u;
|
|
/* 02860B48 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02860B4C */ cpu->r[10] = cpu->r[28] ^ cpu->r[29];
|
|
/* 02860B50 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 02860B54 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02860B58 */ cpu->r[12] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02860B5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02860B60 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860B60 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02860B60 */ if (_t24) goto L_02860B64; else goto L_02860B28;
|
|
L_02860B64: ; // 0x2860b64
|
|
/* 02860B64 */ cpu->r[31] = 0x00000000u;
|
|
L_02860B68: ; // 0x2860b68
|
|
/* 02860B68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02860B6C */ /* nop */
|
|
/* 02860B70 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 02860B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02860B74 */ cpu->lr = cpu->r[0];
|
|
/* 02860B78 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02860B7C */ return;
|
|
}
|
|
|
|
// fn_02860B80 @ 0x2860b80
|
|
void Gambit_fn_02860B80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02860B80: ; // 0x2860b80
|
|
/* 02860B80 */ cpu->r[0] = cpu->lr;
|
|
/* 02860B84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02860B84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02860B84 */ cpu->r[1] = _t0;
|
|
/* 02860B88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02860B88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02860B8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02860B8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02860B90 */ cpu->r[31] = cpu->r[5];
|
|
/* 02860B94 */ cpu->r[30] = cpu->r[4];
|
|
/* 02860B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02860B9C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02860B9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02860BA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860BA0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02860BA0 */ if (_t5) goto L_02860BA4; else goto L_02860BB4;
|
|
L_02860BA4: ; // 0x2860ba4
|
|
/* 02860BA4 */ cpu->r[3] = 0x0000001Cu;
|
|
/* 02860BA8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02860BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02860BB0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860BB0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02860BB0 */ if (_t7) goto L_02860C14; else goto L_02860BB4;
|
|
L_02860BB4: ; // 0x2860bb4
|
|
/* 02860BB4 */ _t8 = cpu->r[30] + 0x000000A8u;
|
|
/* 02860BB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02860BB8 */ cpu->r[9] = cpu->r[30] + 0x00000040u;
|
|
/* 02860BBC */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02860BBC */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02860BC0 */ cpu->r[0] = cpu->r[12] + 0x00000008u;
|
|
/* 02860BC4 */ cpu->r[10] = 0x10130000u;
|
|
/* 02860BC8 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02860BC8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02860BCC */ _t11 = cpu->r[30] + 0x000000A0u;
|
|
/* 02860BCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02860BD0 */ _t12 = cpu->r[10] + 0x00005068u;
|
|
/* 02860BD0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02860BD4 */ _t13 = cpu->r[3] + 0x00000008u;
|
|
/* 02860BD4 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02860BD8 */ _t14 = cpu->r[30] + 0x000000A4u;
|
|
/* 02860BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02860BDC */ _t15 = cpu->r[3] + 0x00000010u;
|
|
/* 02860BDC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02860BE0 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02860BE0 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02860BE4 */ _t17 = cpu->r[30] + 0x000000C0u;
|
|
/* 02860BE4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02860BE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000019u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860BEC */ _t18 = cpu->r[3] + 0x00000014u;
|
|
/* 02860BEC */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 02860BF0 */ _t19 = cpu->r[30] + 0x000000C0u;
|
|
/* 02860BF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02860BF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860BF8 */ _t20 = cpu->r[3] + 0x00000015u;
|
|
/* 02860BF8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 02860BFC */ _t21 = cpu->r[30] + 0x000000C0u;
|
|
/* 02860BFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02860C00 */ cpu->r[11] = 0x00000000u;
|
|
/* 02860C04 */ _t22 = cpu->r[3] + 0x00000018u;
|
|
/* 02860C04 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
|
|
/* 02860C08 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860C0C */ _t23 = cpu->r[3] + 0x00000017u;
|
|
/* 02860C0C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]);
|
|
/* 02860C10 */ _t24 = cpu->r[3] + 0x00000016u;
|
|
/* 02860C10 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]);
|
|
L_02860C14: ; // 0x2860c14
|
|
/* 02860C14 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02860C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02860C18 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02860C18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02860C1C */ cpu->lr = cpu->r[0];
|
|
/* 02860C20 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02860C20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02860C24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02860C28 */ return;
|
|
}
|
|
|
|
// fn_02860B84 @ 0x2860b84
|
|
void Gambit_fn_02860B84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02860B84: ; // 0x2860b84
|
|
/* 02860B84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02860B84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02860B84 */ cpu->r[1] = _t0;
|
|
/* 02860B88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02860B88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02860B8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02860B8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02860B90 */ cpu->r[31] = cpu->r[5];
|
|
/* 02860B94 */ cpu->r[30] = cpu->r[4];
|
|
/* 02860B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02860B9C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02860B9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02860BA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860BA0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02860BA0 */ if (_t5) goto L_02860BA4; else goto L_02860BB4;
|
|
L_02860BA4: ; // 0x2860ba4
|
|
/* 02860BA4 */ cpu->r[3] = 0x0000001Cu;
|
|
/* 02860BA8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02860BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02860BB0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860BB0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02860BB0 */ if (_t7) goto L_02860C14; else goto L_02860BB4;
|
|
L_02860BB4: ; // 0x2860bb4
|
|
/* 02860BB4 */ _t8 = cpu->r[30] + 0x000000A8u;
|
|
/* 02860BB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02860BB8 */ cpu->r[9] = cpu->r[30] + 0x00000040u;
|
|
/* 02860BBC */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02860BBC */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02860BC0 */ cpu->r[0] = cpu->r[12] + 0x00000008u;
|
|
/* 02860BC4 */ cpu->r[10] = 0x10130000u;
|
|
/* 02860BC8 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02860BC8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02860BCC */ _t11 = cpu->r[30] + 0x000000A0u;
|
|
/* 02860BCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02860BD0 */ _t12 = cpu->r[10] + 0x00005068u;
|
|
/* 02860BD0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02860BD4 */ _t13 = cpu->r[3] + 0x00000008u;
|
|
/* 02860BD4 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02860BD8 */ _t14 = cpu->r[30] + 0x000000A4u;
|
|
/* 02860BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02860BDC */ _t15 = cpu->r[3] + 0x00000010u;
|
|
/* 02860BDC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02860BE0 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02860BE0 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02860BE4 */ _t17 = cpu->r[30] + 0x000000C0u;
|
|
/* 02860BE4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02860BE8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000019u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860BEC */ _t18 = cpu->r[3] + 0x00000014u;
|
|
/* 02860BEC */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 02860BF0 */ _t19 = cpu->r[30] + 0x000000C0u;
|
|
/* 02860BF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02860BF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860BF8 */ _t20 = cpu->r[3] + 0x00000015u;
|
|
/* 02860BF8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 02860BFC */ _t21 = cpu->r[30] + 0x000000C0u;
|
|
/* 02860BFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02860C00 */ cpu->r[11] = 0x00000000u;
|
|
/* 02860C04 */ _t22 = cpu->r[3] + 0x00000018u;
|
|
/* 02860C04 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
|
|
/* 02860C08 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860C0C */ _t23 = cpu->r[3] + 0x00000017u;
|
|
/* 02860C0C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[11]);
|
|
/* 02860C10 */ _t24 = cpu->r[3] + 0x00000016u;
|
|
/* 02860C10 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]);
|
|
L_02860C14: ; // 0x2860c14
|
|
/* 02860C14 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02860C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02860C18 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02860C18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02860C1C */ cpu->lr = cpu->r[0];
|
|
/* 02860C20 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02860C20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02860C24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02860C28 */ return;
|
|
}
|
|
|
|
// fn_02860C2C @ 0x2860c2c
|
|
void Gambit_fn_02860C2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02860C2C: ; // 0x2860c2c
|
|
/* 02860C2C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02860C30 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02860C34 */ _t0 = cpu->r[10] + 0xFFFFD7ECu;
|
|
/* 02860C34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02860C34 */ cpu->r[10] = _t0;
|
|
/* 02860C38 */ cpu->r[3] = cpu->r[3] + 0x00000F38u;
|
|
/* 02860C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02860C40 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860C40 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02860C40 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02860C40 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02860C40 */ goto L_02860C44;
|
|
L_02860C44: ; // 0x2860c44
|
|
/* 02860C44 */ cpu->r[11] = 0x00000001u;
|
|
/* 02860C48 */ cpu->r[0] = 0x00000000u;
|
|
/* 02860C4C */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02860C4C */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02860C50 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02860C50 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02860C54 */ return;
|
|
}
|
|
|
|
// fn_02860C58 @ 0x2860c58
|
|
void Gambit_fn_02860C58(CPUState* cpu) {
|
|
L_02860C58: ; // 0x2860c58
|
|
/* 02860C58 */ cpu->r[3] = 0x00000000u;
|
|
/* 02860C5C */ return;
|
|
}
|
|
|
|
// fn_02860C60 @ 0x2860c60
|
|
void Gambit_fn_02860C60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02860C60: ; // 0x2860c60
|
|
/* 02860C60 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02860C60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02860C60 */ cpu->r[1] = _t0;
|
|
/* 02860C64 */ cpu->r[0] = cpu->lr;
|
|
/* 02860C68 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02860C68 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02860C6C */ /* nop */
|
|
/* 02860C70 */ cpu->r[9] = 0x10130000u;
|
|
/* 02860C74 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02860C74 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02860C78 */ _t3 = cpu->r[9] + 0x00005150u;
|
|
/* 02860C78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02860C7C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02860C7C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02860C80 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02860C80 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02860C84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02860C88 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02860C88 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02860C8C */ cpu->r[30] = 0x00000000u;
|
|
/* 02860C90 */ _t7 = cpu->r[31] + 0x000000BCu;
|
|
/* 02860C90 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 02860C94 */ _t8 = cpu->r[31] + 0x000000CCu;
|
|
/* 02860C94 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[30]);
|
|
/* 02860C98 */ _t9 = cpu->r[31] + 0x000000B4u;
|
|
/* 02860C98 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02860C9C */ _t10 = cpu->r[31] + 0x000000CEu;
|
|
/* 02860C9C */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[30]);
|
|
/* 02860CA0 */ cpu->r[5] = 0x00000001u;
|
|
/* 02860CA4 */ _t11 = cpu->r[31] + 0x000000A8u;
|
|
/* 02860CA4 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02860CA8 */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 02860CAC */ _t12 = cpu->r[31] + 0x000000B8u;
|
|
/* 02860CAC */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
|
|
/* 02860CB0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02860CB4 */ _t13 = cpu->r[31] + 0x000000A4u;
|
|
/* 02860CB4 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02860CB8 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02860CBC */ _t14 = cpu->r[31] + 0x000000D1u;
|
|
/* 02860CBC */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[30]);
|
|
/* 02860CC0 */ cpu->r[10] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02860CC4 */ _t15 = cpu->r[31] + 0x000000D0u;
|
|
/* 02860CC4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02860CC8 */ cpu->r[10] = ~cpu->r[10];
|
|
/* 02860CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02860CCC */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860CD0 */ cpu->r[11] = cpu->r[11] | cpu->r[10];
|
|
/* 02860CD4 */ _t16 = rbrew_rlwinm(cpu->r[11], 0x00000005u, 0x0000001Au, 0x0000001Au);
|
|
/* 02860CD4 */ _t17 = cpu->r[12] & 0xFFFFFFDFu;
|
|
/* 02860CD4 */ cpu->r[12] = _t17 | _t16;
|
|
/* 02860CD8 */ _t18 = cpu->r[31] + 0x000000D0u;
|
|
/* 02860CD8 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
/* 02860CDC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860CDC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02860CDC */ if (_t20) goto L_02860CEC; else goto L_02860CE0;
|
|
L_02860CE0: ; // 0x2860ce0
|
|
/* 02860CE0 */ _t21 = cpu->r[31] + 0x000000D1u;
|
|
/* 02860CE0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02860CE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Bu);
|
|
/* 02860CE8 */ _t22 = cpu->r[31] + 0x000000D1u;
|
|
/* 02860CE8 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[0]);
|
|
L_02860CEC: ; // 0x2860cec
|
|
/* 02860CEC */ _t23 = cpu->r[31] + 0x000000D8u;
|
|
/* 02860CEC */ rbrew_write_f32(cpu->mem, _t23, cpu->f[31]);
|
|
/* 02860CF0 */ cpu->r[12] = 0x10130000u;
|
|
/* 02860CF4 */ _t24 = cpu->r[31] + 0x000000EEu;
|
|
/* 02860CF4 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]);
|
|
/* 02860CF8 */ _t25 = cpu->r[12] + 0x00005154u;
|
|
/* 02860CF8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02860CFC */ _t26 = cpu->r[31] + 0x000000EAu;
|
|
/* 02860CFC */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
|
|
/* 02860D00 */ _t27 = cpu->r[31] + 0x000000E0u;
|
|
/* 02860D00 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02860D04 */ _t28 = cpu->r[31] + 0x000000E4u;
|
|
/* 02860D04 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02860D08 */ _t29 = cpu->r[31] + 0x000000DCu;
|
|
/* 02860D08 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]);
|
|
/* 02860D0C */ _t30 = cpu->r[31] + 0x000000E9u;
|
|
/* 02860D0C */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[30]);
|
|
/* 02860D10 */ _t31 = cpu->r[31] + 0x000000E8u;
|
|
/* 02860D10 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[30]);
|
|
/* 02860D14 */ _t32 = cpu->r[31] + 0x000000EDu;
|
|
/* 02860D14 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[30]);
|
|
/* 02860D18 */ _t33 = cpu->r[31] + 0x000000D4u;
|
|
/* 02860D18 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[31]);
|
|
/* 02860D1C */ _t34 = cpu->r[31] + 0x000000F0u;
|
|
/* 02860D1C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[31]);
|
|
/* 02860D20 */ _t35 = cpu->r[31] + 0x000000ECu;
|
|
/* 02860D20 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]);
|
|
/* 02860D24 */ cpu->r[9] = 0x000000FFu;
|
|
/* 02860D28 */ _t36 = cpu->r[31] + 0x000000C8u;
|
|
/* 02860D28 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
|
|
/* 02860D2C */ _t37 = cpu->r[31] + 0x000000EBu;
|
|
/* 02860D2C */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[9]);
|
|
/* 02860D30 */ _t38 = cpu->r[31] + 0x000000F8u;
|
|
/* 02860D30 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
/* 02860D34 */ _t39 = cpu->r[31] + 0x000000EFu;
|
|
/* 02860D34 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[9]);
|
|
/* 02860D38 */ _t40 = cpu->r[31] + 0x000000C4u;
|
|
/* 02860D38 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[31]);
|
|
/* 02860D3C */ _t41 = cpu->r[31] + 0x000000FCu;
|
|
/* 02860D3C */ rbrew_write32(cpu->mem, _t41, cpu->r[30]);
|
|
/* 02860D40 */ _t42 = cpu->r[31] + 0x000000C0u;
|
|
/* 02860D40 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[31]);
|
|
/* 02860D44 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02860D44 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02860D48 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02860D48 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02860D4C */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 02860D4C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t45);
|
|
/* 02860D50 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02860D50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02860D54 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02860D54 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02860D54 */ if (_t48) goto L_02860D58; // else: addr-0 trap, fall-through
|
|
L_02860D58: ; // 0x2860d58
|
|
/* 02860D58 */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 02860D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02860D5C */ cpu->lr = cpu->r[0];
|
|
/* 02860D60 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02860D64 */ return;
|
|
}
|
|
|
|
// fn_02860D68 @ 0x2860d68
|
|
void Gambit_fn_02860D68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02860D68: ; // 0x2860d68
|
|
/* 02860D68 */ _t0 = cpu->r[4] + 0x00000004u;
|
|
/* 02860D68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02860D6C */ cpu->r[12] = 0x00000000u;
|
|
/* 02860D70 */ cpu->r[11] = cpu->r[4] + 0x00000008u;
|
|
/* 02860D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02860D78 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02860D78 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02860D78 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02860D78 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02860D78 */ goto L_02860D7C;
|
|
L_02860D7C: ; // 0x2860d7c
|
|
/* 02860D7C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02860D80 */ cpu->r[10] = 0x00000000u;
|
|
L_02860D84: ; // 0x2860d84
|
|
/* 02860D84 */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 02860D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02860D84 */ cpu->r[11] = _t4;
|
|
/* 02860D88 */ _t5 = cpu->r[3] + 0x000000FCu;
|
|
/* 02860D88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02860D8C */ cpu->r[6] = cpu->r[4] + cpu->r[0];
|
|
/* 02860D90 */ cpu->r[8] = cpu->r[9] + cpu->r[10];
|
|
/* 02860D94 */ _t6 = cpu->r[8] + 0x00000010u;
|
|
/* 02860D94 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 02860D98 */ _t7 = cpu->r[3] + 0x000000FCu;
|
|
/* 02860D98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02860D9C */ _t8 = cpu->r[6] + 0x00000001u;
|
|
/* 02860D9C */ cpu->r[8] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02860DA0 */ cpu->r[6] = cpu->r[7] + cpu->r[10];
|
|
/* 02860DA4 */ _t9 = cpu->r[6] + 0x00000014u;
|
|
/* 02860DA4 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 02860DA8 */ _t10 = cpu->r[4] + 0x00000004u;
|
|
/* 02860DA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02860DAC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02860DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02860DB4 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 02860DB8 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02860DB8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02860DB8 */ if (_t12) goto L_02860D84; else goto L_02860DBC;
|
|
L_02860DBC: ; // 0x2860dbc
|
|
/* 02860DBC */ return;
|
|
}
|
|
|
|
// fn_02860DC0 @ 0x2860dc0
|
|
void Gambit_fn_02860DC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
|
|
L_02860DC0: ; // 0x2860dc0
|
|
/* 02860DC0 */ cpu->r[0] = cpu->lr;
|
|
/* 02860DC4 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02860DC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02860DC4 */ cpu->r[1] = _t0;
|
|
/* 02860DC8 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02860DC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02860DCC */ /* nop */
|
|
/* 02860DD0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02860DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02860DD4 */ cpu->r[22] = cpu->r[4];
|
|
/* 02860DD8 */ cpu->r[23] = cpu->r[5];
|
|
/* 02860DDC */ cpu->r[30] = cpu->r[6];
|
|
/* 02860DE0 */ cpu->r[31] = cpu->r[7];
|
|
/* 02860DE4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860DE4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02860DE4 */ if (_t3) goto L_02860DE8; else goto L_02860DF8;
|
|
L_02860DE8: ; // 0x2860de8
|
|
/* 02860DE8 */ cpu->r[3] = 0x00000100u;
|
|
/* 02860DEC */ Gambit_fn_02801A78(cpu);
|
|
/* 02860DF0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02860DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02860DF4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860DF4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02860DF4 */ if (_t5) goto L_02861268; else goto L_02860DF8;
|
|
L_02860DF8: ; // 0x2860df8
|
|
/* 02860DF8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02860DFC */ cpu->r[4] = cpu->r[22];
|
|
/* 02860E00 */ cpu->r[5] = cpu->r[30];
|
|
/* 02860E04 */ Gambit_fn_0285F268(cpu);
|
|
/* 02860E08 */ cpu->r[0] = 0x10130000u;
|
|
/* 02860E0C */ cpu->r[20] = cpu->r[29] + 0x000000ACu;
|
|
/* 02860E10 */ cpu->r[5] = 0x00000004u;
|
|
/* 02860E14 */ cpu->r[0] = cpu->r[0] + 0x0000517Cu;
|
|
/* 02860E18 */ cpu->r[6] = 0x02860000u;
|
|
/* 02860E1C */ cpu->r[4] = 0x00000002u;
|
|
/* 02860E20 */ cpu->r[3] = cpu->r[20];
|
|
/* 02860E24 */ cpu->r[6] = cpu->r[6] + 0x00002EC0u;
|
|
/* 02860E28 */ _t6 = cpu->r[29] + 0x00000008u;
|
|
/* 02860E28 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02860E2C */ Gambit_fn_02C82E00(cpu);
|
|
/* 02860E30 */ cpu->r[7] = 0x10130000u;
|
|
/* 02860E34 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02860E38 */ _t7 = cpu->r[7] + 0x00005150u;
|
|
/* 02860E38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02860E3C */ _t8 = cpu->r[29] + 0x000000ECu;
|
|
/* 02860E3C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02860E40 */ _t9 = cpu->r[29] + 0x000000BCu;
|
|
/* 02860E40 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02860E44 */ _t10 = cpu->r[29] + 0x000000E8u;
|
|
/* 02860E44 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02860E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02860E4C */ _t11 = cpu->r[29] + 0x000000B8u;
|
|
/* 02860E4C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02860E50 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860E50 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02860E50 */ if (_t13) goto L_02860F08; else goto L_02860E54;
|
|
L_02860E54: ; // 0x2860e54
|
|
/* 02860E54 */ _t14 = cpu->r[30] + 0x00000028u;
|
|
/* 02860E54 */ cpu->r[9] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02860E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02860E5C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860E5C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02860E5C */ if (_t16) goto L_02860E60; else goto L_02860EA0;
|
|
L_02860E60: ; // 0x2860e60
|
|
/* 02860E60 */ _t17 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02860E60 */ cpu->r[11] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02860E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02860E68 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860E68 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02860E68 */ if (_t19) goto L_02860E6C; else goto L_02860EA0;
|
|
L_02860E6C: ; // 0x2860e6c
|
|
/* 02860E6C */ _t20 = cpu->r[30] + 0x00000024u;
|
|
/* 02860E6C */ cpu->r[21] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02860E70 */ cpu->r[25] = cpu->r[23];
|
|
/* 02860E74 */ cpu->r[24] = cpu->r[23];
|
|
/* 02860E78 */ cpu->r[3] = cpu->r[29];
|
|
/* 02860E7C */ cpu->r[26] = cpu->r[21];
|
|
/* 02860E80 */ Gambit_fn_02860C60(cpu);
|
|
/* 02860E84 */ _t21 = cpu->r[24] + 0x0000005Eu;
|
|
/* 02860E84 */ cpu->r[5] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02860E88 */ _t22 = cpu->r[24] + 0x00000054u;
|
|
/* 02860E88 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22);
|
|
/* 02860E8C */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860E90 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02860E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02860E94 */ _t23 = cpu->r[25] + 0x00000056u;
|
|
/* 02860E94 */ cpu->r[0] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02860E98 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860E98 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02860E98 */ if (_t25) goto L_02860F3C; else goto L_02860E9C;
|
|
L_02860E9C: ; // 0x2860e9c
|
|
/* 02860E9C */ goto L_02860F38;
|
|
L_02860EA0: ; // 0x2860ea0
|
|
/* 02860EA0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02860EA4 */ cpu->r[24] = cpu->r[22];
|
|
/* 02860EA8 */ _t26 = cpu->r[30] + 0x00000020u;
|
|
/* 02860EA8 */ cpu->r[21] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02860EAC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860EAC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02860EAC */ if (_t28) goto L_02860EDC; else goto L_02860EB0;
|
|
L_02860EB0: ; // 0x2860eb0
|
|
/* 02860EB0 */ _t29 = cpu->r[30] + 0x00000024u;
|
|
/* 02860EB0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02860EB4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02860EB8 */ cpu->r[25] = cpu->r[23];
|
|
/* 02860EBC */ Gambit_fn_02860C60(cpu);
|
|
/* 02860EC0 */ _t30 = cpu->r[24] + 0x0000005Eu;
|
|
/* 02860EC0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02860EC4 */ _t31 = cpu->r[24] + 0x00000054u;
|
|
/* 02860EC4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02860EC8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860ECC */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02860ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02860ED0 */ _t32 = cpu->r[25] + 0x00000056u;
|
|
/* 02860ED0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t32);
|
|
/* 02860ED4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860ED4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02860ED4 */ if (_t34) goto L_02860F3C; else goto L_02860ED8;
|
|
L_02860ED8: ; // 0x2860ed8
|
|
/* 02860ED8 */ goto L_02860F38;
|
|
L_02860EDC: ; // 0x2860edc
|
|
/* 02860EDC */ cpu->r[3] = cpu->r[29];
|
|
/* 02860EE0 */ cpu->r[26] = cpu->r[21];
|
|
/* 02860EE4 */ cpu->r[25] = cpu->r[22];
|
|
/* 02860EE8 */ Gambit_fn_02860C60(cpu);
|
|
/* 02860EEC */ _t35 = cpu->r[24] + 0x0000005Eu;
|
|
/* 02860EEC */ cpu->r[5] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02860EF0 */ _t36 = cpu->r[24] + 0x00000054u;
|
|
/* 02860EF0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t36);
|
|
/* 02860EF4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860EF8 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02860EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02860EFC */ _t37 = cpu->r[25] + 0x00000056u;
|
|
/* 02860EFC */ cpu->r[0] = rbrew_read16(cpu->mem, _t37);
|
|
/* 02860F00 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860F00 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02860F00 */ if (_t39) goto L_02860F3C; else goto L_02860F04;
|
|
L_02860F04: ; // 0x2860f04
|
|
/* 02860F04 */ goto L_02860F38;
|
|
L_02860F08: ; // 0x2860f08
|
|
/* 02860F08 */ _t40 = cpu->r[30] + 0x00000020u;
|
|
/* 02860F08 */ cpu->r[21] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02860F0C */ cpu->r[25] = cpu->r[22];
|
|
/* 02860F10 */ cpu->r[24] = cpu->r[22];
|
|
/* 02860F14 */ cpu->r[3] = cpu->r[29];
|
|
/* 02860F18 */ cpu->r[26] = cpu->r[21];
|
|
/* 02860F1C */ Gambit_fn_02860C60(cpu);
|
|
/* 02860F20 */ _t41 = cpu->r[24] + 0x0000005Eu;
|
|
/* 02860F20 */ cpu->r[5] = rbrew_read8(cpu->mem, _t41);
|
|
/* 02860F24 */ _t42 = cpu->r[24] + 0x00000054u;
|
|
/* 02860F24 */ cpu->r[0] = rbrew_read16(cpu->mem, _t42);
|
|
/* 02860F28 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860F2C */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02860F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02860F30 */ _t43 = cpu->r[25] + 0x00000056u;
|
|
/* 02860F30 */ cpu->r[0] = rbrew_read16(cpu->mem, _t43);
|
|
/* 02860F34 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860F34 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02860F34 */ if (_t45) goto L_02860F3C; else goto L_02860F38;
|
|
L_02860F38: ; // 0x2860f38
|
|
/* 02860F38 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
L_02860F3C: ; // 0x2860f3c
|
|
/* 02860F3C */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02860F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02860F40 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860F40 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02860F40 */ if (_t47) goto L_02860F48; else goto L_02860F44;
|
|
L_02860F44: ; // 0x2860f44
|
|
/* 02860F44 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
L_02860F48: ; // 0x2860f48
|
|
/* 02860F48 */ cpu->r[0] = 0x00000002u;
|
|
/* 02860F4C */ cpu->r[4] = 0x00000000u;
|
|
/* 02860F50 */ cpu->ctr = cpu->r[0];
|
|
/* 02860F54 */ cpu->r[5] = cpu->r[24] + 0x00000068u;
|
|
L_02860F58: ; // 0x2860f58
|
|
/* 02860F58 */ cpu->r[6] = cpu->r[5] + cpu->r[4];
|
|
/* 02860F5C */ _t48 = cpu->r[6] + 0x00000002u;
|
|
/* 02860F5C */ cpu->r[12] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02860F60 */ _t49 = cpu->r[6] + 0x00000003u;
|
|
/* 02860F60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02860F64 */ _t50 = cpu->r[6] + 0x00000000u;
|
|
/* 02860F64 */ cpu->r[10] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02860F68 */ _t51 = cpu->r[6] + 0x00000001u;
|
|
/* 02860F68 */ cpu->r[11] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02860F6C */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02860F6C */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[10]);
|
|
/* 02860F70 */ _t53 = cpu->r[1] + 0x0000000Au;
|
|
/* 02860F70 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[12]);
|
|
/* 02860F74 */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
/* 02860F78 */ _t54 = cpu->r[1] + 0x00000009u;
|
|
/* 02860F78 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[11]);
|
|
/* 02860F7C */ cpu->r[9] = cpu->r[20] + cpu->r[4];
|
|
/* 02860F80 */ _t55 = cpu->r[1] + 0x0000000Bu;
|
|
/* 02860F80 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[0]);
|
|
/* 02860F84 */ /* nop */
|
|
/* 02860F88 */ cpu->r[4] = cpu->r[4] + 0x00000004u;
|
|
/* 02860F8C */ /* nop */
|
|
/* 02860F90 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02860F90 */ _t56 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02860F90 */ _t57 = _t56 >> (0x00000002u & 31u);
|
|
/* 02860F90 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02860F90 */ if (_t58) goto L_02860F58; else goto L_02860F94;
|
|
L_02860F94: ; // 0x2860f94
|
|
/* 02860F94 */ _t59 = cpu->r[24] + 0x00000070u;
|
|
/* 02860F94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02860F98 */ _t60 = cpu->r[29] + 0x000000B8u;
|
|
/* 02860F98 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[0]);
|
|
/* 02860F9C */ _t61 = cpu->r[24] + 0x00000074u;
|
|
/* 02860F9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02860FA0 */ _t62 = cpu->r[29] + 0x000000BCu;
|
|
/* 02860FA0 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
|
|
/* 02860FA4 */ _t63 = cpu->r[24] + 0x0000005Cu;
|
|
/* 02860FA4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t63);
|
|
/* 02860FA8 */ _t64 = cpu->r[29] + 0x000000D0u;
|
|
/* 02860FA8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02860FAC */ _t65 = cpu->r[29] + 0x000000D1u;
|
|
/* 02860FAC */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[6]);
|
|
/* 02860FB0 */ _t66 = cpu->r[24] + 0x0000005Du;
|
|
/* 02860FB0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t66);
|
|
/* 02860FB4 */ _t67 = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000018u, 0x00000019u);
|
|
/* 02860FB4 */ _t68 = cpu->r[5] & 0xFFFFFF3Fu;
|
|
/* 02860FB4 */ cpu->r[5] = _t68 | _t67;
|
|
/* 02860FB8 */ _t69 = cpu->r[29] + 0x000000D0u;
|
|
/* 02860FB8 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[5]);
|
|
/* 02860FBC */ _t70 = cpu->r[24] + 0x00000078u;
|
|
/* 02860FBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 02860FC0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860FC4 */ _t71 = cpu->r[29] + 0x000000C4u;
|
|
/* 02860FC4 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[0]);
|
|
/* 02860FC8 */ _t72 = cpu->r[24] + 0x0000007Cu;
|
|
/* 02860FC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 02860FCC */ _t73 = rbrew_rlwinm(cpu->r[7], 0x00000004u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02860FCC */ _t74 = cpu->r[5] & 0xFFFFFFEFu;
|
|
/* 02860FCC */ cpu->r[5] = _t74 | _t73;
|
|
/* 02860FD0 */ _t75 = cpu->r[29] + 0x000000C0u;
|
|
/* 02860FD0 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[0]);
|
|
/* 02860FD4 */ _t76 = cpu->r[24] + 0x00000060u;
|
|
/* 02860FD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02860FD8 */ _t77 = cpu->r[29] + 0x000000D0u;
|
|
/* 02860FD8 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[5]);
|
|
/* 02860FDC */ _t78 = cpu->r[29] + 0x000000D4u;
|
|
/* 02860FDC */ rbrew_write_f32(cpu->mem, _t78, cpu->f[0]);
|
|
/* 02860FE0 */ _t79 = cpu->r[24] + 0x00000084u;
|
|
/* 02860FE0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02860FE4 */ _t80 = cpu->r[24] + 0x00000088u;
|
|
/* 02860FE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02860FE8 */ _t81 = cpu->r[29] + 0x000000D8u;
|
|
/* 02860FE8 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[13]);
|
|
/* 02860FEC */ _t82 = cpu->r[29] + 0x000000DCu;
|
|
/* 02860FEC */ rbrew_write_f32(cpu->mem, _t82, cpu->f[0]);
|
|
/* 02860FF0 */ _t83 = cpu->r[24] + 0x0000008Cu;
|
|
/* 02860FF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02860FF4 */ _t84 = cpu->r[24] + 0x00000090u;
|
|
/* 02860FF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 02860FF8 */ _t85 = cpu->r[29] + 0x000000E0u;
|
|
/* 02860FF8 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[13]);
|
|
/* 02860FFC */ _t86 = cpu->r[29] + 0x000000E4u;
|
|
/* 02860FFC */ rbrew_write_f32(cpu->mem, _t86, cpu->f[0]);
|
|
/* 02861000 */ _t87 = cpu->r[24] + 0x00000097u;
|
|
/* 02861000 */ cpu->r[0] = rbrew_read8(cpu->mem, _t87);
|
|
/* 02861004 */ _t88 = cpu->r[24] + 0x00000095u;
|
|
/* 02861004 */ cpu->r[7] = rbrew_read8(cpu->mem, _t88);
|
|
/* 02861008 */ _t89 = cpu->r[24] + 0x00000094u;
|
|
/* 02861008 */ cpu->r[6] = rbrew_read8(cpu->mem, _t89);
|
|
/* 0286100C */ _t90 = cpu->r[24] + 0x00000096u;
|
|
/* 0286100C */ cpu->r[8] = rbrew_read8(cpu->mem, _t90);
|
|
/* 02861010 */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861010 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[6]);
|
|
/* 02861014 */ _t92 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02861014 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[8]);
|
|
/* 02861018 */ _t93 = cpu->r[1] + 0x0000000Du;
|
|
/* 02861018 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[7]);
|
|
/* 0286101C */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861020 */ _t94 = cpu->r[1] + 0x0000000Fu;
|
|
/* 02861020 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[0]);
|
|
/* 02861024 */ /* nop */
|
|
/* 02861028 */ cpu->r[9] = cpu->r[29] + 0x000000E8u;
|
|
/* 0286102C */ /* nop */
|
|
/* 02861030 */ _t95 = cpu->r[24] + 0x00000098u;
|
|
/* 02861030 */ cpu->r[10] = rbrew_read8(cpu->mem, _t95);
|
|
/* 02861034 */ _t96 = cpu->r[24] + 0x0000009Bu;
|
|
/* 02861034 */ cpu->r[0] = rbrew_read8(cpu->mem, _t96);
|
|
/* 02861038 */ _t97 = cpu->r[24] + 0x00000099u;
|
|
/* 02861038 */ cpu->r[11] = rbrew_read8(cpu->mem, _t97);
|
|
/* 0286103C */ _t98 = cpu->r[24] + 0x0000009Au;
|
|
/* 0286103C */ cpu->r[12] = rbrew_read8(cpu->mem, _t98);
|
|
/* 02861040 */ _t99 = cpu->r[1] + 0x00000011u;
|
|
/* 02861040 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[11]);
|
|
/* 02861044 */ _t100 = cpu->r[1] + 0x00000012u;
|
|
/* 02861044 */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[12]);
|
|
/* 02861048 */ _t101 = cpu->r[1] + 0x00000010u;
|
|
/* 02861048 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[10]);
|
|
/* 0286104C */ cpu->r[12] = cpu->r[1] + 0x00000010u;
|
|
/* 02861050 */ _t102 = cpu->r[1] + 0x00000013u;
|
|
/* 02861050 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[0]);
|
|
/* 02861054 */ /* nop */
|
|
/* 02861058 */ cpu->r[8] = cpu->r[29] + 0x000000ECu;
|
|
/* 0286105C */ /* nop */
|
|
/* 02861060 */ _t103 = cpu->r[24] + 0x0000009Cu;
|
|
/* 02861060 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02861064 */ _t104 = cpu->r[29] + 0x000000F0u;
|
|
/* 02861064 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[0]);
|
|
/* 02861068 */ _t105 = cpu->r[24] + 0x0000005Eu;
|
|
/* 02861068 */ cpu->r[5] = rbrew_read8(cpu->mem, _t105);
|
|
/* 0286106C */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02861070 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02861074 */ cpu->r[9] = cpu->r[7] | 0x00000002u;
|
|
/* 02861078 */ _t106 = rbrew_rlwinm(cpu->r[5], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02861078 */ _t107 = cpu->r[6] & 0xFFFFFFFEu;
|
|
/* 02861078 */ cpu->r[6] = _t107 | _t106;
|
|
/* 0286107C */ _t108 = cpu->r[29] + 0x000000D0u;
|
|
/* 0286107C */ cpu->r[10] = rbrew_read8(cpu->mem, _t108);
|
|
/* 02861080 */ _t109 = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02861080 */ _t110 = cpu->r[9] & 0x00000003u;
|
|
/* 02861080 */ cpu->r[9] = _t110 | _t109;
|
|
/* 02861084 */ _t111 = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02861084 */ _t112 = cpu->r[10] & 0xFFFFFFF0u;
|
|
/* 02861084 */ cpu->r[10] = _t112 | _t111;
|
|
/* 02861088 */ cpu->r[18] = 0x00000000u;
|
|
/* 0286108C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0286108C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02861090 */ _t113 = cpu->r[29] + 0x000000D0u;
|
|
/* 02861090 */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[10]);
|
|
/* 02861094 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861094 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02861094 */ if (_t115) goto L_0286118C; else goto L_02861098;
|
|
L_02861098: ; // 0x2861098
|
|
/* 02861098 */ _t116 = cpu->r[24] + 0x000000A0u;
|
|
/* 02861098 */ cpu->r[10] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0286109C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 028610A0 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028610A0 */ _t118 = _t117 & 0x00000001u;
|
|
/* 028610A0 */ if (_t118) goto L_0286118C; else goto L_028610A4;
|
|
L_028610A4: ; // 0x28610a4
|
|
/* 028610A4 */ cpu->r[19] = cpu->r[24] + cpu->r[10];
|
|
/* 028610A8 */ _t119 = cpu->r[19] + 0x0000000Au;
|
|
/* 028610A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t119);
|
|
/* 028610AC */ cpu->r[20] = 0x00000000u;
|
|
/* 028610B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028610B4 */ cpu->r[3] = 0x00000018u;
|
|
/* 028610B8 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028610B8 */ _t121 = _t120 & 0x00000001u;
|
|
/* 028610B8 */ if (_t121) goto L_028610D8; else goto L_028610BC;
|
|
L_028610BC: ; // 0x28610bc
|
|
/* 028610BC */ _t122 = cpu->r[19] + 0x00000010u;
|
|
/* 028610BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t122);
|
|
/* 028610C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028610C4 */ cpu->r[20] = cpu->r[19] + 0x0000000Cu;
|
|
/* 028610C8 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028610C8 */ _t124 = _t123 & 0x00000001u;
|
|
/* 028610C8 */ if (_t124) goto L_028610D8; else goto L_028610CC;
|
|
L_028610CC: ; // 0x28610cc
|
|
/* 028610CC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 028610D0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 028610D4 */ cpu->r[3] = cpu->r[5] + 0x00000018u;
|
|
L_028610D8: ; // 0x28610d8
|
|
/* 028610D8 */ cpu->r[4] = 0x00000004u;
|
|
/* 028610DC */ Gambit_fn_02869E8C(cpu);
|
|
/* 028610E0 */ _t125 = cpu->r[29] + 0x000000FCu;
|
|
/* 028610E0 */ rbrew_write32(cpu->mem, _t125, cpu->r[3]);
|
|
/* 028610E4 */ _t126 = cpu->r[19] + 0x00000000u;
|
|
/* 028610E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 028610E8 */ _t127 = cpu->r[3] + 0x00000000u;
|
|
/* 028610E8 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[0]);
|
|
/* 028610EC */ _t128 = cpu->r[29] + 0x000000FCu;
|
|
/* 028610EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t128);
|
|
/* 028610F0 */ _t129 = cpu->r[19] + 0x00000004u;
|
|
/* 028610F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 028610F4 */ _t130 = cpu->r[11] + 0x00000004u;
|
|
/* 028610F4 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[0]);
|
|
/* 028610F8 */ _t131 = cpu->r[29] + 0x000000FCu;
|
|
/* 028610F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t131);
|
|
/* 028610FC */ _t132 = cpu->r[12] + 0x00000008u;
|
|
/* 028610FC */ rbrew_write32(cpu->mem, _t132, cpu->r[18]);
|
|
/* 02861100 */ _t133 = cpu->r[29] + 0x000000FCu;
|
|
/* 02861100 */ cpu->r[5] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02861104 */ _t134 = cpu->r[19] + 0x00000008u;
|
|
/* 02861104 */ cpu->r[0] = rbrew_read8(cpu->mem, _t134);
|
|
/* 02861108 */ _t135 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02861108 */ rbrew_write8(cpu->mem, _t135, (uint8_t)cpu->r[0]);
|
|
/* 0286110C */ _t136 = cpu->r[29] + 0x000000FCu;
|
|
/* 0286110C */ cpu->r[7] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02861110 */ _t137 = cpu->r[19] + 0x00000009u;
|
|
/* 02861110 */ cpu->r[8] = rbrew_read8(cpu->mem, _t137);
|
|
/* 02861114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02861118 */ _t138 = cpu->r[7] + 0x0000000Du;
|
|
/* 02861118 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[8]);
|
|
/* 0286111C */ _t139 = cpu->r[29] + 0x000000FCu;
|
|
/* 0286111C */ cpu->r[11] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02861120 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861120 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02861120 */ if (_t141) goto L_02861188; else goto L_02861124;
|
|
L_02861124: ; // 0x2861124
|
|
/* 02861124 */ _t142 = cpu->r[20] + 0x00000004u;
|
|
/* 02861124 */ cpu->r[9] = rbrew_read8(cpu->mem, _t142);
|
|
/* 02861128 */ cpu->r[4] = cpu->r[20];
|
|
/* 0286112C */ cpu->r[3] = cpu->r[29];
|
|
/* 02861130 */ _t143 = cpu->r[11] + 0x0000000Eu;
|
|
/* 02861130 */ rbrew_write8(cpu->mem, _t143, (uint8_t)cpu->r[9]);
|
|
/* 02861134 */ Gambit_fn_02860D68(cpu);
|
|
/* 02861138 */ _t144 = cpu->r[24] + 0x0000005Au;
|
|
/* 02861138 */ cpu->r[6] = rbrew_read16(cpu->mem, _t144);
|
|
/* 0286113C */ _t145 = cpu->r[21] + 0x0000000Cu;
|
|
/* 0286113C */ cpu->r[3] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02861140 */ _t146 = cpu->r[21] + 0x00000004u;
|
|
/* 02861140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02861144 */ _t147 = cpu->r[3] + 0x00000000u;
|
|
/* 02861144 */ cpu->r[9] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02861148 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0286114C */ cpu->r[8] = cpu->r[12] + 0x0000000Cu;
|
|
/* 02861150 */ _t148 = cpu->r[9] + 0x00000024u;
|
|
/* 02861150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02861154 */ _t149 = cpu->r[5] + cpu->r[8];
|
|
/* 02861154 */ cpu->r[7] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02861158 */ cpu->ctr = cpu->r[0];
|
|
/* 0286115C */ cpu->r[4] = cpu->r[8] + cpu->r[7];
|
|
/* 02861160 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02861164 */ _t150 = cpu->r[29] + 0x000000B4u;
|
|
/* 02861164 */ rbrew_write32(cpu->mem, _t150, cpu->r[3]);
|
|
/* 02861168 */ _t151 = cpu->r[30] + 0x00000020u;
|
|
/* 02861168 */ cpu->r[3] = rbrew_read32(cpu->mem, _t151);
|
|
/* 0286116C */ _t152 = cpu->r[22] + 0x00000058u;
|
|
/* 0286116C */ cpu->r[4] = rbrew_read16(cpu->mem, _t152);
|
|
/* 02861170 */ Gambit_fn_0286BA10(cpu);
|
|
/* 02861174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02861178 */ cpu->r[22] = 0x00000000u;
|
|
/* 0286117C */ cpu->r[21] = cpu->r[3];
|
|
/* 02861180 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861180 */ _t154 = _t153 & 0x00000001u;
|
|
/* 02861180 */ if (_t154) goto L_028611E8; else goto L_02861184;
|
|
L_02861184: ; // 0x2861184
|
|
/* 02861184 */ goto L_028611D8;
|
|
L_02861188: ; // 0x2861188
|
|
/* 02861188 */ _t155 = cpu->r[11] + 0x0000000Eu;
|
|
/* 02861188 */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[18]);
|
|
L_0286118C: ; // 0x286118c
|
|
/* 0286118C */ _t156 = cpu->r[21] + 0x00000004u;
|
|
/* 0286118C */ cpu->r[12] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02861190 */ _t157 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02861190 */ cpu->r[3] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02861194 */ _t158 = cpu->r[24] + 0x0000005Au;
|
|
/* 02861194 */ cpu->r[6] = rbrew_read16(cpu->mem, _t158);
|
|
/* 02861198 */ _t159 = cpu->r[3] + 0x00000000u;
|
|
/* 02861198 */ cpu->r[9] = rbrew_read32(cpu->mem, _t159);
|
|
/* 0286119C */ cpu->r[8] = cpu->r[12] + 0x0000000Cu;
|
|
/* 028611A0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028611A4 */ _t160 = cpu->r[9] + 0x00000024u;
|
|
/* 028611A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t160);
|
|
/* 028611A8 */ _t161 = cpu->r[5] + cpu->r[8];
|
|
/* 028611A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t161);
|
|
/* 028611AC */ cpu->ctr = cpu->r[0];
|
|
/* 028611B0 */ cpu->r[4] = cpu->r[8] + cpu->r[7];
|
|
/* 028611B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028611B8 */ _t162 = cpu->r[29] + 0x000000B4u;
|
|
/* 028611B8 */ rbrew_write32(cpu->mem, _t162, cpu->r[3]);
|
|
/* 028611BC */ _t163 = cpu->r[30] + 0x00000020u;
|
|
/* 028611BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t163);
|
|
/* 028611C0 */ _t164 = cpu->r[22] + 0x00000058u;
|
|
/* 028611C0 */ cpu->r[4] = rbrew_read16(cpu->mem, _t164);
|
|
/* 028611C4 */ Gambit_fn_0286BA10(cpu);
|
|
/* 028611C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 028611CC */ cpu->r[22] = 0x00000000u;
|
|
/* 028611D0 */ cpu->r[21] = cpu->r[3];
|
|
/* 028611D4 */ _t165 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028611D4 */ _t166 = _t165 & 0x00000001u;
|
|
/* 028611D4 */ if (_t166) goto L_028611E8; else goto L_028611D8;
|
|
L_028611D8: ; // 0x28611d8
|
|
/* 028611D8 */ _t167 = cpu->r[30] + 0x00000024u;
|
|
/* 028611D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t167);
|
|
/* 028611DC */ _t168 = cpu->r[23] + 0x00000058u;
|
|
/* 028611DC */ cpu->r[4] = rbrew_read16(cpu->mem, _t168);
|
|
/* 028611E0 */ Gambit_fn_0286BA10(cpu);
|
|
/* 028611E4 */ cpu->r[22] = cpu->r[3];
|
|
L_028611E8: ; // 0x28611e8
|
|
/* 028611E8 */ cpu->r[3] = 0x00000020u;
|
|
/* 028611EC */ cpu->r[4] = 0x00000004u;
|
|
/* 028611F0 */ Gambit_fn_02869E8C(cpu);
|
|
/* 028611F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028611F8 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028611F8 */ _t170 = _t169 & 0x00000001u;
|
|
/* 028611F8 */ if (_t170) goto L_02861228; else goto L_028611FC;
|
|
L_028611FC: ; // 0x28611fc
|
|
/* 028611FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861200 */ _t171 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861200 */ _t172 = _t171 & 0x00000001u;
|
|
/* 02861200 */ if (_t172) goto L_02861228; else goto L_02861204;
|
|
L_02861204: ; // 0x2861204
|
|
/* 02861204 */ cpu->r[6] = cpu->r[30];
|
|
/* 02861208 */ cpu->r[5] = cpu->r[22];
|
|
/* 0286120C */ cpu->r[4] = cpu->r[21];
|
|
/* 02861210 */ Gambit_fn_0286C334(cpu);
|
|
/* 02861214 */ _t173 = cpu->r[29] + 0x000000F4u;
|
|
/* 02861214 */ rbrew_write32(cpu->mem, _t173, cpu->r[3]);
|
|
/* 02861218 */ _t174 = cpu->r[25] + 0x00000080u;
|
|
/* 02861218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t174);
|
|
/* 0286121C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861220 */ _t175 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861220 */ _t176 = _t175 & 0x00000001u;
|
|
/* 02861220 */ if (_t176) goto L_02861244; else goto L_02861224;
|
|
L_02861224: ; // 0x2861224
|
|
/* 02861224 */ goto L_0286123C;
|
|
L_02861228: ; // 0x2861228
|
|
/* 02861228 */ cpu->r[3] = 0x00000000u;
|
|
/* 0286122C */ _t177 = cpu->r[29] + 0x000000F4u;
|
|
/* 0286122C */ rbrew_write32(cpu->mem, _t177, cpu->r[3]);
|
|
/* 02861230 */ _t178 = cpu->r[25] + 0x00000080u;
|
|
/* 02861230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02861234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861238 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861238 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02861238 */ if (_t180) goto L_02861244; else goto L_0286123C;
|
|
L_0286123C: ; // 0x286123c
|
|
/* 0286123C */ cpu->r[12] = cpu->r[25] + cpu->r[0];
|
|
/* 02861240 */ _t181 = cpu->r[29] + 0x000000A8u;
|
|
/* 02861240 */ rbrew_write32(cpu->mem, _t181, cpu->r[12]);
|
|
L_02861244: ; // 0x2861244
|
|
/* 02861244 */ _t182 = cpu->r[24] + 0x0000005Eu;
|
|
/* 02861244 */ cpu->r[0] = rbrew_read8(cpu->mem, _t182);
|
|
/* 02861248 */ _t183 = cpu->r[31] + 0x00000000u;
|
|
/* 02861248 */ rbrew_write8(cpu->mem, _t183, (uint8_t)cpu->r[0]);
|
|
/* 0286124C */ _t184 = cpu->r[26] + 0x00000010u;
|
|
/* 0286124C */ cpu->r[5] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02861250 */ _t185 = cpu->r[31] + 0x00000004u;
|
|
/* 02861250 */ rbrew_write32(cpu->mem, _t185, cpu->r[5]);
|
|
/* 02861254 */ _t186 = cpu->r[25] + 0x00000064u;
|
|
/* 02861254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t186);
|
|
/* 02861258 */ _t187 = cpu->r[31] + 0x00000010u;
|
|
/* 02861258 */ rbrew_write32(cpu->mem, _t187, cpu->r[28]);
|
|
/* 0286125C */ cpu->r[7] = cpu->r[25] + cpu->r[0];
|
|
/* 02861260 */ _t188 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02861260 */ rbrew_write32(cpu->mem, _t188, cpu->r[27]);
|
|
/* 02861264 */ _t189 = cpu->r[31] + 0x00000008u;
|
|
/* 02861264 */ rbrew_write32(cpu->mem, _t189, cpu->r[7]);
|
|
L_02861268: ; // 0x2861268
|
|
/* 02861268 */ cpu->r[3] = cpu->r[29];
|
|
/* 0286126C */ /* nop */
|
|
/* 02861270 */ _t190 = cpu->r[1] + 0x00000054u;
|
|
/* 02861270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02861274 */ cpu->lr = cpu->r[0];
|
|
/* 02861278 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0286127C */ return;
|
|
}
|
|
|
|
// fn_02860DC4 @ 0x2860dc4
|
|
void Gambit_fn_02860DC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
|
|
L_02860DC4: ; // 0x2860dc4
|
|
/* 02860DC4 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02860DC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02860DC4 */ cpu->r[1] = _t0;
|
|
/* 02860DC8 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02860DC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02860DCC */ /* nop */
|
|
/* 02860DD0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02860DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02860DD4 */ cpu->r[22] = cpu->r[4];
|
|
/* 02860DD8 */ cpu->r[23] = cpu->r[5];
|
|
/* 02860DDC */ cpu->r[30] = cpu->r[6];
|
|
/* 02860DE0 */ cpu->r[31] = cpu->r[7];
|
|
/* 02860DE4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860DE4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02860DE4 */ if (_t3) goto L_02860DE8; else goto L_02860DF8;
|
|
L_02860DE8: ; // 0x2860de8
|
|
/* 02860DE8 */ cpu->r[3] = 0x00000100u;
|
|
/* 02860DEC */ Gambit_fn_02801A78(cpu);
|
|
/* 02860DF0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02860DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02860DF4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860DF4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02860DF4 */ if (_t5) goto L_02861268; else goto L_02860DF8;
|
|
L_02860DF8: ; // 0x2860df8
|
|
/* 02860DF8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02860DFC */ cpu->r[4] = cpu->r[22];
|
|
/* 02860E00 */ cpu->r[5] = cpu->r[30];
|
|
/* 02860E04 */ Gambit_fn_0285F268(cpu);
|
|
/* 02860E08 */ cpu->r[0] = 0x10130000u;
|
|
/* 02860E0C */ cpu->r[20] = cpu->r[29] + 0x000000ACu;
|
|
/* 02860E10 */ cpu->r[5] = 0x00000004u;
|
|
/* 02860E14 */ cpu->r[0] = cpu->r[0] + 0x0000517Cu;
|
|
/* 02860E18 */ cpu->r[6] = 0x02860000u;
|
|
/* 02860E1C */ cpu->r[4] = 0x00000002u;
|
|
/* 02860E20 */ cpu->r[3] = cpu->r[20];
|
|
/* 02860E24 */ cpu->r[6] = cpu->r[6] + 0x00002EC0u;
|
|
/* 02860E28 */ _t6 = cpu->r[29] + 0x00000008u;
|
|
/* 02860E28 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02860E2C */ Gambit_fn_02C82E00(cpu);
|
|
/* 02860E30 */ cpu->r[7] = 0x10130000u;
|
|
/* 02860E34 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02860E38 */ _t7 = cpu->r[7] + 0x00005150u;
|
|
/* 02860E38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02860E3C */ _t8 = cpu->r[29] + 0x000000ECu;
|
|
/* 02860E3C */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02860E40 */ _t9 = cpu->r[29] + 0x000000BCu;
|
|
/* 02860E40 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02860E44 */ _t10 = cpu->r[29] + 0x000000E8u;
|
|
/* 02860E44 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02860E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02860E4C */ _t11 = cpu->r[29] + 0x000000B8u;
|
|
/* 02860E4C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02860E50 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860E50 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02860E50 */ if (_t13) goto L_02860F08; else goto L_02860E54;
|
|
L_02860E54: ; // 0x2860e54
|
|
/* 02860E54 */ _t14 = cpu->r[30] + 0x00000028u;
|
|
/* 02860E54 */ cpu->r[9] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02860E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02860E5C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860E5C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02860E5C */ if (_t16) goto L_02860E60; else goto L_02860EA0;
|
|
L_02860E60: ; // 0x2860e60
|
|
/* 02860E60 */ _t17 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02860E60 */ cpu->r[11] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02860E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02860E68 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860E68 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02860E68 */ if (_t19) goto L_02860E6C; else goto L_02860EA0;
|
|
L_02860E6C: ; // 0x2860e6c
|
|
/* 02860E6C */ _t20 = cpu->r[30] + 0x00000024u;
|
|
/* 02860E6C */ cpu->r[21] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02860E70 */ cpu->r[25] = cpu->r[23];
|
|
/* 02860E74 */ cpu->r[24] = cpu->r[23];
|
|
/* 02860E78 */ cpu->r[3] = cpu->r[29];
|
|
/* 02860E7C */ cpu->r[26] = cpu->r[21];
|
|
/* 02860E80 */ Gambit_fn_02860C60(cpu);
|
|
/* 02860E84 */ _t21 = cpu->r[24] + 0x0000005Eu;
|
|
/* 02860E84 */ cpu->r[5] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02860E88 */ _t22 = cpu->r[24] + 0x00000054u;
|
|
/* 02860E88 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22);
|
|
/* 02860E8C */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860E90 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02860E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02860E94 */ _t23 = cpu->r[25] + 0x00000056u;
|
|
/* 02860E94 */ cpu->r[0] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02860E98 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860E98 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02860E98 */ if (_t25) goto L_02860F3C; else goto L_02860E9C;
|
|
L_02860E9C: ; // 0x2860e9c
|
|
/* 02860E9C */ goto L_02860F38;
|
|
L_02860EA0: ; // 0x2860ea0
|
|
/* 02860EA0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02860EA4 */ cpu->r[24] = cpu->r[22];
|
|
/* 02860EA8 */ _t26 = cpu->r[30] + 0x00000020u;
|
|
/* 02860EA8 */ cpu->r[21] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02860EAC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860EAC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02860EAC */ if (_t28) goto L_02860EDC; else goto L_02860EB0;
|
|
L_02860EB0: ; // 0x2860eb0
|
|
/* 02860EB0 */ _t29 = cpu->r[30] + 0x00000024u;
|
|
/* 02860EB0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02860EB4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02860EB8 */ cpu->r[25] = cpu->r[23];
|
|
/* 02860EBC */ Gambit_fn_02860C60(cpu);
|
|
/* 02860EC0 */ _t30 = cpu->r[24] + 0x0000005Eu;
|
|
/* 02860EC0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02860EC4 */ _t31 = cpu->r[24] + 0x00000054u;
|
|
/* 02860EC4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02860EC8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860ECC */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02860ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02860ED0 */ _t32 = cpu->r[25] + 0x00000056u;
|
|
/* 02860ED0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t32);
|
|
/* 02860ED4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860ED4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02860ED4 */ if (_t34) goto L_02860F3C; else goto L_02860ED8;
|
|
L_02860ED8: ; // 0x2860ed8
|
|
/* 02860ED8 */ goto L_02860F38;
|
|
L_02860EDC: ; // 0x2860edc
|
|
/* 02860EDC */ cpu->r[3] = cpu->r[29];
|
|
/* 02860EE0 */ cpu->r[26] = cpu->r[21];
|
|
/* 02860EE4 */ cpu->r[25] = cpu->r[22];
|
|
/* 02860EE8 */ Gambit_fn_02860C60(cpu);
|
|
/* 02860EEC */ _t35 = cpu->r[24] + 0x0000005Eu;
|
|
/* 02860EEC */ cpu->r[5] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02860EF0 */ _t36 = cpu->r[24] + 0x00000054u;
|
|
/* 02860EF0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t36);
|
|
/* 02860EF4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860EF8 */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02860EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02860EFC */ _t37 = cpu->r[25] + 0x00000056u;
|
|
/* 02860EFC */ cpu->r[0] = rbrew_read16(cpu->mem, _t37);
|
|
/* 02860F00 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860F00 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02860F00 */ if (_t39) goto L_02860F3C; else goto L_02860F04;
|
|
L_02860F04: ; // 0x2860f04
|
|
/* 02860F04 */ goto L_02860F38;
|
|
L_02860F08: ; // 0x2860f08
|
|
/* 02860F08 */ _t40 = cpu->r[30] + 0x00000020u;
|
|
/* 02860F08 */ cpu->r[21] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02860F0C */ cpu->r[25] = cpu->r[22];
|
|
/* 02860F10 */ cpu->r[24] = cpu->r[22];
|
|
/* 02860F14 */ cpu->r[3] = cpu->r[29];
|
|
/* 02860F18 */ cpu->r[26] = cpu->r[21];
|
|
/* 02860F1C */ Gambit_fn_02860C60(cpu);
|
|
/* 02860F20 */ _t41 = cpu->r[24] + 0x0000005Eu;
|
|
/* 02860F20 */ cpu->r[5] = rbrew_read8(cpu->mem, _t41);
|
|
/* 02860F24 */ _t42 = cpu->r[24] + 0x00000054u;
|
|
/* 02860F24 */ cpu->r[0] = rbrew_read16(cpu->mem, _t42);
|
|
/* 02860F28 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02860F2C */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02860F2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02860F30 */ _t43 = cpu->r[25] + 0x00000056u;
|
|
/* 02860F30 */ cpu->r[0] = rbrew_read16(cpu->mem, _t43);
|
|
/* 02860F34 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860F34 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02860F34 */ if (_t45) goto L_02860F3C; else goto L_02860F38;
|
|
L_02860F38: ; // 0x2860f38
|
|
/* 02860F38 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
L_02860F3C: ; // 0x2860f3c
|
|
/* 02860F3C */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02860F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02860F40 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02860F40 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02860F40 */ if (_t47) goto L_02860F48; else goto L_02860F44;
|
|
L_02860F44: ; // 0x2860f44
|
|
/* 02860F44 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
L_02860F48: ; // 0x2860f48
|
|
/* 02860F48 */ cpu->r[0] = 0x00000002u;
|
|
/* 02860F4C */ cpu->r[4] = 0x00000000u;
|
|
/* 02860F50 */ cpu->ctr = cpu->r[0];
|
|
/* 02860F54 */ cpu->r[5] = cpu->r[24] + 0x00000068u;
|
|
L_02860F58: ; // 0x2860f58
|
|
/* 02860F58 */ cpu->r[6] = cpu->r[5] + cpu->r[4];
|
|
/* 02860F5C */ _t48 = cpu->r[6] + 0x00000002u;
|
|
/* 02860F5C */ cpu->r[12] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02860F60 */ _t49 = cpu->r[6] + 0x00000003u;
|
|
/* 02860F60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02860F64 */ _t50 = cpu->r[6] + 0x00000000u;
|
|
/* 02860F64 */ cpu->r[10] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02860F68 */ _t51 = cpu->r[6] + 0x00000001u;
|
|
/* 02860F68 */ cpu->r[11] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02860F6C */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02860F6C */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[10]);
|
|
/* 02860F70 */ _t53 = cpu->r[1] + 0x0000000Au;
|
|
/* 02860F70 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[12]);
|
|
/* 02860F74 */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
/* 02860F78 */ _t54 = cpu->r[1] + 0x00000009u;
|
|
/* 02860F78 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[11]);
|
|
/* 02860F7C */ cpu->r[9] = cpu->r[20] + cpu->r[4];
|
|
/* 02860F80 */ _t55 = cpu->r[1] + 0x0000000Bu;
|
|
/* 02860F80 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[0]);
|
|
/* 02860F84 */ /* nop */
|
|
/* 02860F88 */ cpu->r[4] = cpu->r[4] + 0x00000004u;
|
|
/* 02860F8C */ /* nop */
|
|
/* 02860F90 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02860F90 */ _t56 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02860F90 */ _t57 = _t56 >> (0x00000002u & 31u);
|
|
/* 02860F90 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02860F90 */ if (_t58) goto L_02860F58; else goto L_02860F94;
|
|
L_02860F94: ; // 0x2860f94
|
|
/* 02860F94 */ _t59 = cpu->r[24] + 0x00000070u;
|
|
/* 02860F94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02860F98 */ _t60 = cpu->r[29] + 0x000000B8u;
|
|
/* 02860F98 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[0]);
|
|
/* 02860F9C */ _t61 = cpu->r[24] + 0x00000074u;
|
|
/* 02860F9C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02860FA0 */ _t62 = cpu->r[29] + 0x000000BCu;
|
|
/* 02860FA0 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
|
|
/* 02860FA4 */ _t63 = cpu->r[24] + 0x0000005Cu;
|
|
/* 02860FA4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t63);
|
|
/* 02860FA8 */ _t64 = cpu->r[29] + 0x000000D0u;
|
|
/* 02860FA8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02860FAC */ _t65 = cpu->r[29] + 0x000000D1u;
|
|
/* 02860FAC */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[6]);
|
|
/* 02860FB0 */ _t66 = cpu->r[24] + 0x0000005Du;
|
|
/* 02860FB0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t66);
|
|
/* 02860FB4 */ _t67 = rbrew_rlwinm(cpu->r[8], 0x00000006u, 0x00000018u, 0x00000019u);
|
|
/* 02860FB4 */ _t68 = cpu->r[5] & 0xFFFFFF3Fu;
|
|
/* 02860FB4 */ cpu->r[5] = _t68 | _t67;
|
|
/* 02860FB8 */ _t69 = cpu->r[29] + 0x000000D0u;
|
|
/* 02860FB8 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[5]);
|
|
/* 02860FBC */ _t70 = cpu->r[24] + 0x00000078u;
|
|
/* 02860FBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 02860FC0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02860FC4 */ _t71 = cpu->r[29] + 0x000000C4u;
|
|
/* 02860FC4 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[0]);
|
|
/* 02860FC8 */ _t72 = cpu->r[24] + 0x0000007Cu;
|
|
/* 02860FC8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 02860FCC */ _t73 = rbrew_rlwinm(cpu->r[7], 0x00000004u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02860FCC */ _t74 = cpu->r[5] & 0xFFFFFFEFu;
|
|
/* 02860FCC */ cpu->r[5] = _t74 | _t73;
|
|
/* 02860FD0 */ _t75 = cpu->r[29] + 0x000000C0u;
|
|
/* 02860FD0 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[0]);
|
|
/* 02860FD4 */ _t76 = cpu->r[24] + 0x00000060u;
|
|
/* 02860FD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02860FD8 */ _t77 = cpu->r[29] + 0x000000D0u;
|
|
/* 02860FD8 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[5]);
|
|
/* 02860FDC */ _t78 = cpu->r[29] + 0x000000D4u;
|
|
/* 02860FDC */ rbrew_write_f32(cpu->mem, _t78, cpu->f[0]);
|
|
/* 02860FE0 */ _t79 = cpu->r[24] + 0x00000084u;
|
|
/* 02860FE0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02860FE4 */ _t80 = cpu->r[24] + 0x00000088u;
|
|
/* 02860FE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02860FE8 */ _t81 = cpu->r[29] + 0x000000D8u;
|
|
/* 02860FE8 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[13]);
|
|
/* 02860FEC */ _t82 = cpu->r[29] + 0x000000DCu;
|
|
/* 02860FEC */ rbrew_write_f32(cpu->mem, _t82, cpu->f[0]);
|
|
/* 02860FF0 */ _t83 = cpu->r[24] + 0x0000008Cu;
|
|
/* 02860FF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02860FF4 */ _t84 = cpu->r[24] + 0x00000090u;
|
|
/* 02860FF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 02860FF8 */ _t85 = cpu->r[29] + 0x000000E0u;
|
|
/* 02860FF8 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[13]);
|
|
/* 02860FFC */ _t86 = cpu->r[29] + 0x000000E4u;
|
|
/* 02860FFC */ rbrew_write_f32(cpu->mem, _t86, cpu->f[0]);
|
|
/* 02861000 */ _t87 = cpu->r[24] + 0x00000097u;
|
|
/* 02861000 */ cpu->r[0] = rbrew_read8(cpu->mem, _t87);
|
|
/* 02861004 */ _t88 = cpu->r[24] + 0x00000095u;
|
|
/* 02861004 */ cpu->r[7] = rbrew_read8(cpu->mem, _t88);
|
|
/* 02861008 */ _t89 = cpu->r[24] + 0x00000094u;
|
|
/* 02861008 */ cpu->r[6] = rbrew_read8(cpu->mem, _t89);
|
|
/* 0286100C */ _t90 = cpu->r[24] + 0x00000096u;
|
|
/* 0286100C */ cpu->r[8] = rbrew_read8(cpu->mem, _t90);
|
|
/* 02861010 */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861010 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[6]);
|
|
/* 02861014 */ _t92 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02861014 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[8]);
|
|
/* 02861018 */ _t93 = cpu->r[1] + 0x0000000Du;
|
|
/* 02861018 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[7]);
|
|
/* 0286101C */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861020 */ _t94 = cpu->r[1] + 0x0000000Fu;
|
|
/* 02861020 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[0]);
|
|
/* 02861024 */ /* nop */
|
|
/* 02861028 */ cpu->r[9] = cpu->r[29] + 0x000000E8u;
|
|
/* 0286102C */ /* nop */
|
|
/* 02861030 */ _t95 = cpu->r[24] + 0x00000098u;
|
|
/* 02861030 */ cpu->r[10] = rbrew_read8(cpu->mem, _t95);
|
|
/* 02861034 */ _t96 = cpu->r[24] + 0x0000009Bu;
|
|
/* 02861034 */ cpu->r[0] = rbrew_read8(cpu->mem, _t96);
|
|
/* 02861038 */ _t97 = cpu->r[24] + 0x00000099u;
|
|
/* 02861038 */ cpu->r[11] = rbrew_read8(cpu->mem, _t97);
|
|
/* 0286103C */ _t98 = cpu->r[24] + 0x0000009Au;
|
|
/* 0286103C */ cpu->r[12] = rbrew_read8(cpu->mem, _t98);
|
|
/* 02861040 */ _t99 = cpu->r[1] + 0x00000011u;
|
|
/* 02861040 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[11]);
|
|
/* 02861044 */ _t100 = cpu->r[1] + 0x00000012u;
|
|
/* 02861044 */ rbrew_write8(cpu->mem, _t100, (uint8_t)cpu->r[12]);
|
|
/* 02861048 */ _t101 = cpu->r[1] + 0x00000010u;
|
|
/* 02861048 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[10]);
|
|
/* 0286104C */ cpu->r[12] = cpu->r[1] + 0x00000010u;
|
|
/* 02861050 */ _t102 = cpu->r[1] + 0x00000013u;
|
|
/* 02861050 */ rbrew_write8(cpu->mem, _t102, (uint8_t)cpu->r[0]);
|
|
/* 02861054 */ /* nop */
|
|
/* 02861058 */ cpu->r[8] = cpu->r[29] + 0x000000ECu;
|
|
/* 0286105C */ /* nop */
|
|
/* 02861060 */ _t103 = cpu->r[24] + 0x0000009Cu;
|
|
/* 02861060 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02861064 */ _t104 = cpu->r[29] + 0x000000F0u;
|
|
/* 02861064 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[0]);
|
|
/* 02861068 */ _t105 = cpu->r[24] + 0x0000005Eu;
|
|
/* 02861068 */ cpu->r[5] = rbrew_read8(cpu->mem, _t105);
|
|
/* 0286106C */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02861070 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x0000001Fu, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02861074 */ cpu->r[9] = cpu->r[7] | 0x00000002u;
|
|
/* 02861078 */ _t106 = rbrew_rlwinm(cpu->r[5], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02861078 */ _t107 = cpu->r[6] & 0xFFFFFFFEu;
|
|
/* 02861078 */ cpu->r[6] = _t107 | _t106;
|
|
/* 0286107C */ _t108 = cpu->r[29] + 0x000000D0u;
|
|
/* 0286107C */ cpu->r[10] = rbrew_read8(cpu->mem, _t108);
|
|
/* 02861080 */ _t109 = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02861080 */ _t110 = cpu->r[9] & 0x00000003u;
|
|
/* 02861080 */ cpu->r[9] = _t110 | _t109;
|
|
/* 02861084 */ _t111 = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02861084 */ _t112 = cpu->r[10] & 0xFFFFFFF0u;
|
|
/* 02861084 */ cpu->r[10] = _t112 | _t111;
|
|
/* 02861088 */ cpu->r[18] = 0x00000000u;
|
|
/* 0286108C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0286108C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02861090 */ _t113 = cpu->r[29] + 0x000000D0u;
|
|
/* 02861090 */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[10]);
|
|
/* 02861094 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861094 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02861094 */ if (_t115) goto L_0286118C; else goto L_02861098;
|
|
L_02861098: ; // 0x2861098
|
|
/* 02861098 */ _t116 = cpu->r[24] + 0x000000A0u;
|
|
/* 02861098 */ cpu->r[10] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0286109C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 028610A0 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028610A0 */ _t118 = _t117 & 0x00000001u;
|
|
/* 028610A0 */ if (_t118) goto L_0286118C; else goto L_028610A4;
|
|
L_028610A4: ; // 0x28610a4
|
|
/* 028610A4 */ cpu->r[19] = cpu->r[24] + cpu->r[10];
|
|
/* 028610A8 */ _t119 = cpu->r[19] + 0x0000000Au;
|
|
/* 028610A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t119);
|
|
/* 028610AC */ cpu->r[20] = 0x00000000u;
|
|
/* 028610B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028610B4 */ cpu->r[3] = 0x00000018u;
|
|
/* 028610B8 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028610B8 */ _t121 = _t120 & 0x00000001u;
|
|
/* 028610B8 */ if (_t121) goto L_028610D8; else goto L_028610BC;
|
|
L_028610BC: ; // 0x28610bc
|
|
/* 028610BC */ _t122 = cpu->r[19] + 0x00000010u;
|
|
/* 028610BC */ cpu->r[12] = rbrew_read8(cpu->mem, _t122);
|
|
/* 028610C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028610C4 */ cpu->r[20] = cpu->r[19] + 0x0000000Cu;
|
|
/* 028610C8 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028610C8 */ _t124 = _t123 & 0x00000001u;
|
|
/* 028610C8 */ if (_t124) goto L_028610D8; else goto L_028610CC;
|
|
L_028610CC: ; // 0x28610cc
|
|
/* 028610CC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 028610D0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 028610D4 */ cpu->r[3] = cpu->r[5] + 0x00000018u;
|
|
L_028610D8: ; // 0x28610d8
|
|
/* 028610D8 */ cpu->r[4] = 0x00000004u;
|
|
/* 028610DC */ Gambit_fn_02869E8C(cpu);
|
|
/* 028610E0 */ _t125 = cpu->r[29] + 0x000000FCu;
|
|
/* 028610E0 */ rbrew_write32(cpu->mem, _t125, cpu->r[3]);
|
|
/* 028610E4 */ _t126 = cpu->r[19] + 0x00000000u;
|
|
/* 028610E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t126);
|
|
/* 028610E8 */ _t127 = cpu->r[3] + 0x00000000u;
|
|
/* 028610E8 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[0]);
|
|
/* 028610EC */ _t128 = cpu->r[29] + 0x000000FCu;
|
|
/* 028610EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t128);
|
|
/* 028610F0 */ _t129 = cpu->r[19] + 0x00000004u;
|
|
/* 028610F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 028610F4 */ _t130 = cpu->r[11] + 0x00000004u;
|
|
/* 028610F4 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[0]);
|
|
/* 028610F8 */ _t131 = cpu->r[29] + 0x000000FCu;
|
|
/* 028610F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t131);
|
|
/* 028610FC */ _t132 = cpu->r[12] + 0x00000008u;
|
|
/* 028610FC */ rbrew_write32(cpu->mem, _t132, cpu->r[18]);
|
|
/* 02861100 */ _t133 = cpu->r[29] + 0x000000FCu;
|
|
/* 02861100 */ cpu->r[5] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02861104 */ _t134 = cpu->r[19] + 0x00000008u;
|
|
/* 02861104 */ cpu->r[0] = rbrew_read8(cpu->mem, _t134);
|
|
/* 02861108 */ _t135 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02861108 */ rbrew_write8(cpu->mem, _t135, (uint8_t)cpu->r[0]);
|
|
/* 0286110C */ _t136 = cpu->r[29] + 0x000000FCu;
|
|
/* 0286110C */ cpu->r[7] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02861110 */ _t137 = cpu->r[19] + 0x00000009u;
|
|
/* 02861110 */ cpu->r[8] = rbrew_read8(cpu->mem, _t137);
|
|
/* 02861114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02861118 */ _t138 = cpu->r[7] + 0x0000000Du;
|
|
/* 02861118 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[8]);
|
|
/* 0286111C */ _t139 = cpu->r[29] + 0x000000FCu;
|
|
/* 0286111C */ cpu->r[11] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02861120 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861120 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02861120 */ if (_t141) goto L_02861188; else goto L_02861124;
|
|
L_02861124: ; // 0x2861124
|
|
/* 02861124 */ _t142 = cpu->r[20] + 0x00000004u;
|
|
/* 02861124 */ cpu->r[9] = rbrew_read8(cpu->mem, _t142);
|
|
/* 02861128 */ cpu->r[4] = cpu->r[20];
|
|
/* 0286112C */ cpu->r[3] = cpu->r[29];
|
|
/* 02861130 */ _t143 = cpu->r[11] + 0x0000000Eu;
|
|
/* 02861130 */ rbrew_write8(cpu->mem, _t143, (uint8_t)cpu->r[9]);
|
|
/* 02861134 */ Gambit_fn_02860D68(cpu);
|
|
/* 02861138 */ _t144 = cpu->r[24] + 0x0000005Au;
|
|
/* 02861138 */ cpu->r[6] = rbrew_read16(cpu->mem, _t144);
|
|
/* 0286113C */ _t145 = cpu->r[21] + 0x0000000Cu;
|
|
/* 0286113C */ cpu->r[3] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02861140 */ _t146 = cpu->r[21] + 0x00000004u;
|
|
/* 02861140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02861144 */ _t147 = cpu->r[3] + 0x00000000u;
|
|
/* 02861144 */ cpu->r[9] = rbrew_read32(cpu->mem, _t147);
|
|
/* 02861148 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0286114C */ cpu->r[8] = cpu->r[12] + 0x0000000Cu;
|
|
/* 02861150 */ _t148 = cpu->r[9] + 0x00000024u;
|
|
/* 02861150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02861154 */ _t149 = cpu->r[5] + cpu->r[8];
|
|
/* 02861154 */ cpu->r[7] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02861158 */ cpu->ctr = cpu->r[0];
|
|
/* 0286115C */ cpu->r[4] = cpu->r[8] + cpu->r[7];
|
|
/* 02861160 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02861164 */ _t150 = cpu->r[29] + 0x000000B4u;
|
|
/* 02861164 */ rbrew_write32(cpu->mem, _t150, cpu->r[3]);
|
|
/* 02861168 */ _t151 = cpu->r[30] + 0x00000020u;
|
|
/* 02861168 */ cpu->r[3] = rbrew_read32(cpu->mem, _t151);
|
|
/* 0286116C */ _t152 = cpu->r[22] + 0x00000058u;
|
|
/* 0286116C */ cpu->r[4] = rbrew_read16(cpu->mem, _t152);
|
|
/* 02861170 */ Gambit_fn_0286BA10(cpu);
|
|
/* 02861174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02861178 */ cpu->r[22] = 0x00000000u;
|
|
/* 0286117C */ cpu->r[21] = cpu->r[3];
|
|
/* 02861180 */ _t153 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861180 */ _t154 = _t153 & 0x00000001u;
|
|
/* 02861180 */ if (_t154) goto L_028611E8; else goto L_02861184;
|
|
L_02861184: ; // 0x2861184
|
|
/* 02861184 */ goto L_028611D8;
|
|
L_02861188: ; // 0x2861188
|
|
/* 02861188 */ _t155 = cpu->r[11] + 0x0000000Eu;
|
|
/* 02861188 */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[18]);
|
|
L_0286118C: ; // 0x286118c
|
|
/* 0286118C */ _t156 = cpu->r[21] + 0x00000004u;
|
|
/* 0286118C */ cpu->r[12] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02861190 */ _t157 = cpu->r[21] + 0x0000000Cu;
|
|
/* 02861190 */ cpu->r[3] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02861194 */ _t158 = cpu->r[24] + 0x0000005Au;
|
|
/* 02861194 */ cpu->r[6] = rbrew_read16(cpu->mem, _t158);
|
|
/* 02861198 */ _t159 = cpu->r[3] + 0x00000000u;
|
|
/* 02861198 */ cpu->r[9] = rbrew_read32(cpu->mem, _t159);
|
|
/* 0286119C */ cpu->r[8] = cpu->r[12] + 0x0000000Cu;
|
|
/* 028611A0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028611A4 */ _t160 = cpu->r[9] + 0x00000024u;
|
|
/* 028611A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t160);
|
|
/* 028611A8 */ _t161 = cpu->r[5] + cpu->r[8];
|
|
/* 028611A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t161);
|
|
/* 028611AC */ cpu->ctr = cpu->r[0];
|
|
/* 028611B0 */ cpu->r[4] = cpu->r[8] + cpu->r[7];
|
|
/* 028611B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028611B8 */ _t162 = cpu->r[29] + 0x000000B4u;
|
|
/* 028611B8 */ rbrew_write32(cpu->mem, _t162, cpu->r[3]);
|
|
/* 028611BC */ _t163 = cpu->r[30] + 0x00000020u;
|
|
/* 028611BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t163);
|
|
/* 028611C0 */ _t164 = cpu->r[22] + 0x00000058u;
|
|
/* 028611C0 */ cpu->r[4] = rbrew_read16(cpu->mem, _t164);
|
|
/* 028611C4 */ Gambit_fn_0286BA10(cpu);
|
|
/* 028611C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 028611CC */ cpu->r[22] = 0x00000000u;
|
|
/* 028611D0 */ cpu->r[21] = cpu->r[3];
|
|
/* 028611D4 */ _t165 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028611D4 */ _t166 = _t165 & 0x00000001u;
|
|
/* 028611D4 */ if (_t166) goto L_028611E8; else goto L_028611D8;
|
|
L_028611D8: ; // 0x28611d8
|
|
/* 028611D8 */ _t167 = cpu->r[30] + 0x00000024u;
|
|
/* 028611D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t167);
|
|
/* 028611DC */ _t168 = cpu->r[23] + 0x00000058u;
|
|
/* 028611DC */ cpu->r[4] = rbrew_read16(cpu->mem, _t168);
|
|
/* 028611E0 */ Gambit_fn_0286BA10(cpu);
|
|
/* 028611E4 */ cpu->r[22] = cpu->r[3];
|
|
L_028611E8: ; // 0x28611e8
|
|
/* 028611E8 */ cpu->r[3] = 0x00000020u;
|
|
/* 028611EC */ cpu->r[4] = 0x00000004u;
|
|
/* 028611F0 */ Gambit_fn_02869E8C(cpu);
|
|
/* 028611F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028611F8 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028611F8 */ _t170 = _t169 & 0x00000001u;
|
|
/* 028611F8 */ if (_t170) goto L_02861228; else goto L_028611FC;
|
|
L_028611FC: ; // 0x28611fc
|
|
/* 028611FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861200 */ _t171 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861200 */ _t172 = _t171 & 0x00000001u;
|
|
/* 02861200 */ if (_t172) goto L_02861228; else goto L_02861204;
|
|
L_02861204: ; // 0x2861204
|
|
/* 02861204 */ cpu->r[6] = cpu->r[30];
|
|
/* 02861208 */ cpu->r[5] = cpu->r[22];
|
|
/* 0286120C */ cpu->r[4] = cpu->r[21];
|
|
/* 02861210 */ Gambit_fn_0286C334(cpu);
|
|
/* 02861214 */ _t173 = cpu->r[29] + 0x000000F4u;
|
|
/* 02861214 */ rbrew_write32(cpu->mem, _t173, cpu->r[3]);
|
|
/* 02861218 */ _t174 = cpu->r[25] + 0x00000080u;
|
|
/* 02861218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t174);
|
|
/* 0286121C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861220 */ _t175 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861220 */ _t176 = _t175 & 0x00000001u;
|
|
/* 02861220 */ if (_t176) goto L_02861244; else goto L_02861224;
|
|
L_02861224: ; // 0x2861224
|
|
/* 02861224 */ goto L_0286123C;
|
|
L_02861228: ; // 0x2861228
|
|
/* 02861228 */ cpu->r[3] = 0x00000000u;
|
|
/* 0286122C */ _t177 = cpu->r[29] + 0x000000F4u;
|
|
/* 0286122C */ rbrew_write32(cpu->mem, _t177, cpu->r[3]);
|
|
/* 02861230 */ _t178 = cpu->r[25] + 0x00000080u;
|
|
/* 02861230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02861234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861238 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861238 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02861238 */ if (_t180) goto L_02861244; else goto L_0286123C;
|
|
L_0286123C: ; // 0x286123c
|
|
/* 0286123C */ cpu->r[12] = cpu->r[25] + cpu->r[0];
|
|
/* 02861240 */ _t181 = cpu->r[29] + 0x000000A8u;
|
|
/* 02861240 */ rbrew_write32(cpu->mem, _t181, cpu->r[12]);
|
|
L_02861244: ; // 0x2861244
|
|
/* 02861244 */ _t182 = cpu->r[24] + 0x0000005Eu;
|
|
/* 02861244 */ cpu->r[0] = rbrew_read8(cpu->mem, _t182);
|
|
/* 02861248 */ _t183 = cpu->r[31] + 0x00000000u;
|
|
/* 02861248 */ rbrew_write8(cpu->mem, _t183, (uint8_t)cpu->r[0]);
|
|
/* 0286124C */ _t184 = cpu->r[26] + 0x00000010u;
|
|
/* 0286124C */ cpu->r[5] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02861250 */ _t185 = cpu->r[31] + 0x00000004u;
|
|
/* 02861250 */ rbrew_write32(cpu->mem, _t185, cpu->r[5]);
|
|
/* 02861254 */ _t186 = cpu->r[25] + 0x00000064u;
|
|
/* 02861254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t186);
|
|
/* 02861258 */ _t187 = cpu->r[31] + 0x00000010u;
|
|
/* 02861258 */ rbrew_write32(cpu->mem, _t187, cpu->r[28]);
|
|
/* 0286125C */ cpu->r[7] = cpu->r[25] + cpu->r[0];
|
|
/* 02861260 */ _t188 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02861260 */ rbrew_write32(cpu->mem, _t188, cpu->r[27]);
|
|
/* 02861264 */ _t189 = cpu->r[31] + 0x00000008u;
|
|
/* 02861264 */ rbrew_write32(cpu->mem, _t189, cpu->r[7]);
|
|
L_02861268: ; // 0x2861268
|
|
/* 02861268 */ cpu->r[3] = cpu->r[29];
|
|
/* 0286126C */ /* nop */
|
|
/* 02861270 */ _t190 = cpu->r[1] + 0x00000054u;
|
|
/* 02861270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02861274 */ cpu->lr = cpu->r[0];
|
|
/* 02861278 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0286127C */ return;
|
|
}
|
|
|
|
// fn_02861280 @ 0x2861280
|
|
void Gambit_fn_02861280(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02861280: ; // 0x2861280
|
|
/* 02861280 */ cpu->r[0] = cpu->lr;
|
|
/* 02861284 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02861284 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02861284 */ cpu->r[1] = _t0;
|
|
/* 02861288 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02861288 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0286128C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286128C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02861290 */ cpu->r[31] = cpu->r[4];
|
|
/* 02861294 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02861294 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02861298 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02861298 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0286129C */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0286129C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028612A0 */ cpu->r[29] = cpu->r[5];
|
|
/* 028612A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028612A8 */ _t6 = cpu->r[31] + 0x00000014u;
|
|
/* 028612A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028612AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028612B0 */ cpu->r[28] = 0x00000000u;
|
|
/* 028612B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028612B4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028612B4 */ if (_t8) goto L_02861378; else goto L_028612B8;
|
|
L_028612B8: ; // 0x28612b8
|
|
/* 028612B8 */ cpu->r[6] = 0x00000000u;
|
|
/* 028612BC */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 028612BC */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 028612C0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 028612C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 028612C4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 028612C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 028612C8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 028612C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 028612CC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 028612D0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028612D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
/* 028612D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028612D4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028612D4 */ if (_t14) goto L_028612D8; else goto L_02861328;
|
|
L_028612D8: ; // 0x28612d8
|
|
/* 028612D8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 028612D8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 028612DC */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 028612DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028612E0 */ _t17 = cpu->r[12] + 0x00000014u;
|
|
/* 028612E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028612E4 */ _t18 = cpu->r[31] + 0x00000018u;
|
|
/* 028612E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028612E8 */ cpu->ctr = cpu->r[0];
|
|
/* 028612EC */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 028612EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028612F0 */ cpu->r[7] = cpu->r[30];
|
|
/* 028612F4 */ _t20 = cpu->r[30] + 0x000000A8u;
|
|
/* 028612F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028612F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028612FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02861300 */ _t21 = cpu->r[30] + 0x00000008u;
|
|
/* 02861300 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02861304 */ _t22 = cpu->r[6] + 0x000000ECu;
|
|
/* 02861304 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02861308 */ cpu->ctr = cpu->r[7];
|
|
/* 0286130C */ cpu->r[3] = cpu->r[30];
|
|
/* 02861310 */ cpu->r[4] = cpu->r[31];
|
|
/* 02861314 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02861318 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0286131C */ cpu->r[28] = cpu->r[3];
|
|
/* 0286131C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02861320 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861320 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02861320 */ if (_t24) goto L_02861378; else goto L_02861324;
|
|
L_02861324: ; // 0x2861324
|
|
/* 02861324 */ goto L_028613A8;
|
|
L_02861328: ; // 0x2861328
|
|
/* 02861328 */ _t25 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02861328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0286132C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0286132C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02861330 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 02861330 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02861334 */ _t28 = cpu->r[12] + 0x00000014u;
|
|
/* 02861334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02861338 */ _t29 = cpu->r[31] + 0x00000018u;
|
|
/* 02861338 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0286133C */ cpu->ctr = cpu->r[0];
|
|
/* 02861340 */ _t30 = cpu->r[29] + 0x00000004u;
|
|
/* 02861340 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02861344 */ cpu->r[7] = cpu->r[30];
|
|
/* 02861348 */ _t31 = cpu->r[30] + 0x000000A8u;
|
|
/* 02861348 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0286134C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02861350 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02861354 */ _t32 = cpu->r[30] + 0x00000008u;
|
|
/* 02861354 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02861358 */ _t33 = cpu->r[6] + 0x000000ECu;
|
|
/* 02861358 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0286135C */ cpu->ctr = cpu->r[7];
|
|
/* 02861360 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861364 */ cpu->r[4] = cpu->r[31];
|
|
/* 02861368 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0286136C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02861370 */ cpu->r[28] = cpu->r[3];
|
|
/* 02861370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02861374 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861374 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02861374 */ if (_t35) goto L_02861378; else goto L_028613A8;
|
|
L_02861378: ; // 0x2861378
|
|
/* 02861378 */ _t36 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02861378 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0286137C */ _t37 = cpu->r[29] + 0x00000010u;
|
|
/* 0286137C */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02861380 */ _t38 = cpu->r[30] + 0x00000008u;
|
|
/* 02861380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02861384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]);
|
|
/* 02861388 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02861388 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02861388 */ if (_t40) goto L_0286138C; else goto L_02861390;
|
|
L_0286138C: ; // 0x286138c
|
|
/* 0286138C */ cpu->r[4] = cpu->r[12];
|
|
L_02861390: ; // 0x2861390
|
|
/* 02861390 */ _t41 = cpu->r[10] + 0x000000BCu;
|
|
/* 02861390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02861394 */ cpu->ctr = cpu->r[11];
|
|
/* 02861398 */ _t42 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02861398 */ cpu->r[5] = rbrew_read8(cpu->mem, _t42);
|
|
/* 0286139C */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 028613A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028613A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028613A8: ; // 0x28613a8
|
|
/* 028613A8 */ _t43 = cpu->r[31] + 0x0000003Cu;
|
|
/* 028613A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t43);
|
|
/* 028613AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028613B0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028613B0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 028613B0 */ if (_t45) goto L_028613DC; else goto L_028613B4;
|
|
L_028613B4: ; // 0x28613b4
|
|
/* 028613B4 */ _t46 = cpu->r[30] + 0x000000F8u;
|
|
/* 028613B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 028613B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 028613BC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028613BC */ _t48 = _t47 & 0x00000001u;
|
|
/* 028613BC */ if (_t48) goto L_028613DC; else goto L_028613C0;
|
|
L_028613C0: ; // 0x28613c0
|
|
/* 028613C0 */ _t49 = cpu->r[31] + 0x0000001Cu;
|
|
/* 028613C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 028613C4 */ _t50 = cpu->r[8] + 0x00000000u;
|
|
/* 028613C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 028613C8 */ _t51 = cpu->r[9] + 0x00000030u;
|
|
/* 028613C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 028613CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 028613D0 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028613D0 */ _t53 = _t52 & 0x00000001u;
|
|
/* 028613D0 */ if (_t53) goto L_028613D4; else goto L_028613DC;
|
|
L_028613D4: ; // 0x28613d4
|
|
/* 028613D4 */ _t54 = cpu->r[8] + 0x00000000u;
|
|
/* 028613D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 028613D8 */ _t55 = cpu->r[9] + 0x00000030u;
|
|
/* 028613D8 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
L_028613DC: ; // 0x28613dc
|
|
/* 028613DC */ _t56 = cpu->r[29] + 0x00000010u;
|
|
/* 028613DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 028613E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028613E4 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028613E4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 028613E4 */ if (_t58) goto L_0286141C; else goto L_028613E8;
|
|
L_028613E8: ; // 0x28613e8
|
|
/* 028613E8 */ _t59 = cpu->r[30] + 0x000000A4u;
|
|
/* 028613E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 028613EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 028613F0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028613F0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 028613F0 */ if (_t61) goto L_0286141C; else goto L_028613F4;
|
|
L_028613F4: ; // 0x28613f4
|
|
/* 028613F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 028613F8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028613F8 */ _t63 = _t62 & 0x00000001u;
|
|
/* 028613F8 */ if (_t63) goto L_028613FC; else goto L_0286141C;
|
|
L_028613FC: ; // 0x28613fc
|
|
/* 028613FC */ _t64 = cpu->r[30] + 0x00000008u;
|
|
/* 028613FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02861400 */ _t65 = cpu->r[12] + 0x000000DCu;
|
|
/* 02861400 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02861404 */ cpu->ctr = cpu->r[10];
|
|
/* 02861408 */ _t66 = cpu->r[29] + 0x00000008u;
|
|
/* 02861408 */ cpu->r[4] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0286140C */ cpu->r[5] = 0x00000000u;
|
|
/* 02861410 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02861414 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861418 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0286141C: ; // 0x286141c
|
|
/* 0286141C */ _t67 = cpu->r[1] + 0x00000018u;
|
|
/* 0286141C */ cpu->r[28] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02861420 */ _t68 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02861420 */ cpu->r[29] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02861424 */ _t69 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02861424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02861428 */ _t70 = cpu->r[1] + 0x00000020u;
|
|
/* 02861428 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0286142C */ cpu->lr = cpu->r[0];
|
|
/* 02861430 */ _t71 = cpu->r[1] + 0x00000024u;
|
|
/* 02861430 */ cpu->r[31] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02861434 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02861438 */ return;
|
|
}
|
|
|
|
// fn_02861284 @ 0x2861284
|
|
void Gambit_fn_02861284(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02861284: ; // 0x2861284
|
|
/* 02861284 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02861284 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02861284 */ cpu->r[1] = _t0;
|
|
/* 02861288 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02861288 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0286128C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286128C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02861290 */ cpu->r[31] = cpu->r[4];
|
|
/* 02861294 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02861294 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02861298 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02861298 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 0286129C */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0286129C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028612A0 */ cpu->r[29] = cpu->r[5];
|
|
/* 028612A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028612A8 */ _t6 = cpu->r[31] + 0x00000014u;
|
|
/* 028612A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028612AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028612B0 */ cpu->r[28] = 0x00000000u;
|
|
/* 028612B4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028612B4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028612B4 */ if (_t8) goto L_02861378; else goto L_028612B8;
|
|
L_028612B8: ; // 0x28612b8
|
|
/* 028612B8 */ cpu->r[6] = 0x00000000u;
|
|
/* 028612BC */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 028612BC */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 028612C0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 028612C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 028612C4 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 028612C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 028612C8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 028612C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 028612CC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 028612D0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028612D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[6]);
|
|
/* 028612D4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028612D4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028612D4 */ if (_t14) goto L_028612D8; else goto L_02861328;
|
|
L_028612D8: ; // 0x28612d8
|
|
/* 028612D8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 028612D8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 028612DC */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 028612DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028612E0 */ _t17 = cpu->r[12] + 0x00000014u;
|
|
/* 028612E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028612E4 */ _t18 = cpu->r[31] + 0x00000018u;
|
|
/* 028612E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028612E8 */ cpu->ctr = cpu->r[0];
|
|
/* 028612EC */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 028612EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028612F0 */ cpu->r[7] = cpu->r[30];
|
|
/* 028612F4 */ _t20 = cpu->r[30] + 0x000000A8u;
|
|
/* 028612F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028612F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028612FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02861300 */ _t21 = cpu->r[30] + 0x00000008u;
|
|
/* 02861300 */ cpu->r[6] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02861304 */ _t22 = cpu->r[6] + 0x000000ECu;
|
|
/* 02861304 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02861308 */ cpu->ctr = cpu->r[7];
|
|
/* 0286130C */ cpu->r[3] = cpu->r[30];
|
|
/* 02861310 */ cpu->r[4] = cpu->r[31];
|
|
/* 02861314 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02861318 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0286131C */ cpu->r[28] = cpu->r[3];
|
|
/* 0286131C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02861320 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861320 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02861320 */ if (_t24) goto L_02861378; else goto L_02861324;
|
|
L_02861324: ; // 0x2861324
|
|
/* 02861324 */ goto L_028613A8;
|
|
L_02861328: ; // 0x2861328
|
|
/* 02861328 */ _t25 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02861328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0286132C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0286132C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02861330 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 02861330 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02861334 */ _t28 = cpu->r[12] + 0x00000014u;
|
|
/* 02861334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02861338 */ _t29 = cpu->r[31] + 0x00000018u;
|
|
/* 02861338 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0286133C */ cpu->ctr = cpu->r[0];
|
|
/* 02861340 */ _t30 = cpu->r[29] + 0x00000004u;
|
|
/* 02861340 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02861344 */ cpu->r[7] = cpu->r[30];
|
|
/* 02861348 */ _t31 = cpu->r[30] + 0x000000A8u;
|
|
/* 02861348 */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0286134C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02861350 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02861354 */ _t32 = cpu->r[30] + 0x00000008u;
|
|
/* 02861354 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02861358 */ _t33 = cpu->r[6] + 0x000000ECu;
|
|
/* 02861358 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0286135C */ cpu->ctr = cpu->r[7];
|
|
/* 02861360 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861364 */ cpu->r[4] = cpu->r[31];
|
|
/* 02861368 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 0286136C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02861370 */ cpu->r[28] = cpu->r[3];
|
|
/* 02861370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02861374 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861374 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02861374 */ if (_t35) goto L_02861378; else goto L_028613A8;
|
|
L_02861378: ; // 0x2861378
|
|
/* 02861378 */ _t36 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02861378 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0286137C */ _t37 = cpu->r[29] + 0x00000010u;
|
|
/* 0286137C */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02861380 */ _t38 = cpu->r[30] + 0x00000008u;
|
|
/* 02861380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02861384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]);
|
|
/* 02861388 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02861388 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02861388 */ if (_t40) goto L_0286138C; else goto L_02861390;
|
|
L_0286138C: ; // 0x286138c
|
|
/* 0286138C */ cpu->r[4] = cpu->r[12];
|
|
L_02861390: ; // 0x2861390
|
|
/* 02861390 */ _t41 = cpu->r[10] + 0x000000BCu;
|
|
/* 02861390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02861394 */ cpu->ctr = cpu->r[11];
|
|
/* 02861398 */ _t42 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02861398 */ cpu->r[5] = rbrew_read8(cpu->mem, _t42);
|
|
/* 0286139C */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 028613A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028613A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028613A8: ; // 0x28613a8
|
|
/* 028613A8 */ _t43 = cpu->r[31] + 0x0000003Cu;
|
|
/* 028613A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t43);
|
|
/* 028613AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028613B0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028613B0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 028613B0 */ if (_t45) goto L_028613DC; else goto L_028613B4;
|
|
L_028613B4: ; // 0x28613b4
|
|
/* 028613B4 */ _t46 = cpu->r[30] + 0x000000F8u;
|
|
/* 028613B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 028613B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 028613BC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028613BC */ _t48 = _t47 & 0x00000001u;
|
|
/* 028613BC */ if (_t48) goto L_028613DC; else goto L_028613C0;
|
|
L_028613C0: ; // 0x28613c0
|
|
/* 028613C0 */ _t49 = cpu->r[31] + 0x0000001Cu;
|
|
/* 028613C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 028613C4 */ _t50 = cpu->r[8] + 0x00000000u;
|
|
/* 028613C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 028613C8 */ _t51 = cpu->r[9] + 0x00000030u;
|
|
/* 028613C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 028613CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 028613D0 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028613D0 */ _t53 = _t52 & 0x00000001u;
|
|
/* 028613D0 */ if (_t53) goto L_028613D4; else goto L_028613DC;
|
|
L_028613D4: ; // 0x28613d4
|
|
/* 028613D4 */ _t54 = cpu->r[8] + 0x00000000u;
|
|
/* 028613D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 028613D8 */ _t55 = cpu->r[9] + 0x00000030u;
|
|
/* 028613D8 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
L_028613DC: ; // 0x28613dc
|
|
/* 028613DC */ _t56 = cpu->r[29] + 0x00000010u;
|
|
/* 028613DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 028613E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028613E4 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028613E4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 028613E4 */ if (_t58) goto L_0286141C; else goto L_028613E8;
|
|
L_028613E8: ; // 0x28613e8
|
|
/* 028613E8 */ _t59 = cpu->r[30] + 0x000000A4u;
|
|
/* 028613E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 028613EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 028613F0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028613F0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 028613F0 */ if (_t61) goto L_0286141C; else goto L_028613F4;
|
|
L_028613F4: ; // 0x28613f4
|
|
/* 028613F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 028613F8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028613F8 */ _t63 = _t62 & 0x00000001u;
|
|
/* 028613F8 */ if (_t63) goto L_028613FC; else goto L_0286141C;
|
|
L_028613FC: ; // 0x28613fc
|
|
/* 028613FC */ _t64 = cpu->r[30] + 0x00000008u;
|
|
/* 028613FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02861400 */ _t65 = cpu->r[12] + 0x000000DCu;
|
|
/* 02861400 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02861404 */ cpu->ctr = cpu->r[10];
|
|
/* 02861408 */ _t66 = cpu->r[29] + 0x00000008u;
|
|
/* 02861408 */ cpu->r[4] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0286140C */ cpu->r[5] = 0x00000000u;
|
|
/* 02861410 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02861414 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861418 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0286141C: ; // 0x286141c
|
|
/* 0286141C */ _t67 = cpu->r[1] + 0x00000018u;
|
|
/* 0286141C */ cpu->r[28] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02861420 */ _t68 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02861420 */ cpu->r[29] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02861424 */ _t69 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02861424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02861428 */ _t70 = cpu->r[1] + 0x00000020u;
|
|
/* 02861428 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0286142C */ cpu->lr = cpu->r[0];
|
|
/* 02861430 */ _t71 = cpu->r[1] + 0x00000024u;
|
|
/* 02861430 */ cpu->r[31] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02861434 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02861438 */ return;
|
|
}
|
|
|
|
// fn_0286143C @ 0x286143c
|
|
void Gambit_fn_0286143C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_0286143C: ; // 0x286143c
|
|
/* 0286143C */ _t0 = cpu->r[3] + 0x000000CCu;
|
|
/* 0286143C */ cpu->r[12] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02861440 */ cpu->r[3] = 0x00000000u;
|
|
/* 02861444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02861448 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861448 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02861448 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02861448 */ goto L_0286144C;
|
|
L_0286144C: ; // 0x286144c
|
|
/* 0286144C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02861450 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02861454 */ return;
|
|
}
|
|
|
|
// fn_02861458 @ 0x2861458
|
|
void Gambit_fn_02861458(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98;
|
|
|
|
L_02861458: ; // 0x2861458
|
|
/* 02861458 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02861458 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02861458 */ cpu->r[1] = _t0;
|
|
/* 0286145C */ cpu->r[0] = cpu->lr;
|
|
/* 02861460 */ /* nop */
|
|
/* 02861464 */ cpu->r[27] = cpu->r[3];
|
|
/* 02861468 */ cpu->r[30] = cpu->r[4];
|
|
/* 02861468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0286146C */ cpu->r[31] = cpu->r[5];
|
|
/* 02861470 */ cpu->r[28] = cpu->r[6];
|
|
/* 02861474 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02861474 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02861478 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861478 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02861478 */ if (_t3) goto L_0286174C; else goto L_0286147C;
|
|
L_0286147C: ; // 0x286147c
|
|
/* 0286147C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02861480 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861480 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02861480 */ if (_t5) goto L_0286174C; else goto L_02861484;
|
|
L_02861484: ; // 0x2861484
|
|
/* 02861484 */ _t6 = cpu->r[27] + 0x000000D0u;
|
|
/* 02861484 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02861488 */ cpu->r[26] = cpu->r[31];
|
|
/* 0286148C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 0286148C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861490 */ cpu->r[29] = cpu->r[31];
|
|
/* 02861494 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861494 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02861494 */ if (_t8) goto L_0286149C; else goto L_02861498;
|
|
L_02861498: ; // 0x2861498
|
|
/* 02861498 */ cpu->r[29] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
L_0286149C: ; // 0x286149c
|
|
/* 0286149C */ _t9 = cpu->r[27] + 0x000000CCu;
|
|
/* 0286149C */ cpu->r[4] = rbrew_read16(cpu->mem, _t9);
|
|
/* 028614A0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028614A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[4]);
|
|
/* 028614A8 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028614A8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 028614A8 */ if (_t11) goto L_028614C4; else goto L_028614AC;
|
|
L_028614AC: ; // 0x28614ac
|
|
/* 028614AC */ _t12 = cpu->r[27] + 0x000000F8u;
|
|
/* 028614AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028614B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 028614B4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028614B4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028614B4 */ if (_t14) goto L_028614C4; else goto L_028614B8;
|
|
L_028614B8: ; // 0x28614b8
|
|
/* 028614B8 */ _t15 = cpu->r[6] + 0x00000000u;
|
|
/* 028614B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028614BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[5]);
|
|
/* 028614C0 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028614C0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028614C0 */ if (_t17) goto L_028614C4; else goto L_0286174C;
|
|
L_028614C4: ; // 0x28614c4
|
|
/* 028614C4 */ _t18 = cpu->r[27] + 0x00000008u;
|
|
/* 028614C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028614C8 */ _t19 = cpu->r[6] + 0x000000CCu;
|
|
/* 028614C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028614CC */ cpu->ctr = cpu->r[0];
|
|
/* 028614D0 */ cpu->r[3] = cpu->r[27];
|
|
/* 028614D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028614D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 028614DC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028614DC */ _t21 = _t20 & 0x00000001u;
|
|
/* 028614DC */ if (_t21) goto L_0286150C; else goto L_028614E0;
|
|
L_028614E0: ; // 0x28614e0
|
|
/* 028614E0 */ Gambit_fn_02854C30(cpu);
|
|
/* 028614E4 */ cpu->r[24] = cpu->r[3];
|
|
/* 028614E8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028614EC */ Gambit_fn_02854B48(cpu);
|
|
/* 028614F0 */ cpu->r[25] = cpu->r[3];
|
|
/* 028614F4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 028614F8 */ cpu->r[4] = 0x00000004u;
|
|
/* 028614FC */ Gambit_fn_02869E8C(cpu);
|
|
/* 02861500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861504 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861504 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02861504 */ if (_t23) goto L_02861508; else goto L_0286156C;
|
|
L_02861508: ; // 0x2861508
|
|
/* 02861508 */ goto L_02861538;
|
|
L_0286150C: ; // 0x286150c
|
|
/* 0286150C */ cpu->r[3] = cpu->r[26];
|
|
/* 02861510 */ Gambit_fn_02854B3C(cpu);
|
|
/* 02861514 */ cpu->r[24] = cpu->r[3];
|
|
/* 02861518 */ cpu->r[3] = cpu->r[29];
|
|
/* 0286151C */ Gambit_fn_02854B48(cpu);
|
|
/* 02861520 */ cpu->r[25] = cpu->r[3];
|
|
/* 02861524 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02861528 */ cpu->r[4] = 0x00000004u;
|
|
/* 0286152C */ Gambit_fn_02869E8C(cpu);
|
|
/* 02861530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861534 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861534 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02861534 */ if (_t25) goto L_02861538; else goto L_0286156C;
|
|
L_02861538: ; // 0x2861538
|
|
/* 02861538 */ cpu->r[3] = cpu->r[24];
|
|
/* 0286153C */ cpu->r[4] = 0x00000004u;
|
|
/* 02861540 */ cpu->r[29] = 0x00000000u;
|
|
/* 02861544 */ Gambit_fn_02869E8C(cpu);
|
|
/* 02861548 */ cpu->r[24] = cpu->r[3];
|
|
/* 0286154C */ cpu->r[3] = cpu->r[25];
|
|
/* 02861550 */ cpu->r[4] = 0x00000040u;
|
|
/* 02861554 */ Gambit_fn_02869E8C(cpu);
|
|
/* 02861558 */ _t26 = cpu->r[27] + 0x000000FCu;
|
|
/* 02861558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0286155C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861560 */ cpu->r[25] = cpu->r[3];
|
|
/* 02861564 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861564 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02861564 */ if (_t28) goto L_02861670; else goto L_02861568;
|
|
L_02861568: ; // 0x2861568
|
|
/* 02861568 */ goto L_028615C4;
|
|
L_0286156C: ; // 0x286156c
|
|
/* 0286156C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02861570 */ cpu->r[29] = cpu->r[3];
|
|
/* 02861574 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861574 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02861574 */ if (_t30) goto L_02861598; else goto L_02861578;
|
|
L_02861578: ; // 0x2861578
|
|
/* 02861578 */ cpu->ctr = cpu->r[30];
|
|
/* 0286157C */ cpu->r[10] = cpu->r[29];
|
|
/* 02861580 */ cpu->r[0] = 0x00000000u;
|
|
L_02861584: ; // 0x2861584
|
|
/* 02861584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02861588 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861588 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02861588 */ if (_t32) goto L_02861590; else goto L_0286158C;
|
|
L_0286158C: ; // 0x286158c
|
|
/* 0286158C */ _t33 = cpu->r[10] + 0x00000000u;
|
|
/* 0286158C */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[0]);
|
|
L_02861590: ; // 0x2861590
|
|
/* 02861590 */ cpu->r[10] = cpu->r[10] + 0x00000002u;
|
|
/* 02861594 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02861594 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02861594 */ _t35 = _t34 >> (0x00000002u & 31u);
|
|
/* 02861594 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02861594 */ if (_t36) goto L_02861584; else goto L_02861598;
|
|
L_02861598: ; // 0x2861598
|
|
/* 02861598 */ cpu->r[3] = cpu->r[24];
|
|
/* 0286159C */ cpu->r[4] = 0x00000004u;
|
|
/* 028615A0 */ Gambit_fn_02869E8C(cpu);
|
|
/* 028615A4 */ cpu->r[24] = cpu->r[3];
|
|
/* 028615A8 */ cpu->r[3] = cpu->r[25];
|
|
/* 028615AC */ cpu->r[4] = 0x00000040u;
|
|
/* 028615B0 */ Gambit_fn_02869E8C(cpu);
|
|
/* 028615B4 */ _t37 = cpu->r[27] + 0x000000FCu;
|
|
/* 028615B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028615B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028615BC */ cpu->r[25] = cpu->r[3];
|
|
/* 028615C0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028615C0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 028615C0 */ if (_t39) goto L_02861670; else goto L_028615C4;
|
|
L_028615C4: ; // 0x28615c4
|
|
/* 028615C4 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x0000002Cu);
|
|
/* 028615C8 */ cpu->r[4] = 0x00000004u;
|
|
/* 028615CC */ Gambit_fn_02869E8C(cpu);
|
|
/* 028615D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028615D4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028615D4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 028615D4 */ if (_t41) goto L_028615D8; else goto L_028615E8;
|
|
L_028615D8: ; // 0x28615d8
|
|
/* 028615D8 */ _t42 = cpu->r[27] + 0x000000FCu;
|
|
/* 028615D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 028615DC */ cpu->r[3] = 0x00000000u;
|
|
/* 028615E0 */ _t43 = cpu->r[12] + 0x00000008u;
|
|
/* 028615E0 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 028615E4 */ goto L_02861670;
|
|
L_028615E8: ; // 0x28615e8
|
|
/* 028615E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028615EC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028615EC */ _t45 = _t44 & 0x00000001u;
|
|
/* 028615EC */ if (_t45) goto L_02861668; else goto L_028615F0;
|
|
L_028615F0: ; // 0x28615f0
|
|
/* 028615F0 */ cpu->r[12] = 0x10130000u;
|
|
/* 028615F4 */ cpu->r[11] = 0x10130000u;
|
|
/* 028615F8 */ _t46 = cpu->r[12] + 0x00005154u;
|
|
/* 028615F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 028615FC */ _t47 = cpu->r[11] + 0x00005150u;
|
|
/* 028615FC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02861600 */ cpu->r[11] = cpu->r[3];
|
|
L_02861604: ; // 0x2861604
|
|
/* 02861604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02861608 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861608 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02861608 */ if (_t49) goto L_0286165C; else goto L_0286160C;
|
|
L_0286160C: ; // 0x286160c
|
|
/* 0286160C */ cpu->f[12] = cpu->f[13];
|
|
/* 02861610 */ cpu->r[9] = 0x00000003u;
|
|
/* 02861614 */ cpu->r[12] = cpu->r[11];
|
|
/* 02861618 */ cpu->f[11] = cpu->f[0];
|
|
/* 0286161C */ cpu->ctr = cpu->r[9];
|
|
/* 02861620 */ cpu->r[10] = cpu->r[12] + 0xFFFFFFFCu;
|
|
L_02861624: ; // 0x2861624
|
|
/* 02861624 */ _t50 = cpu->r[10] + 0x00000004u;
|
|
/* 02861624 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[11]);
|
|
/* 02861624 */ cpu->r[10] = _t50;
|
|
/* 02861628 */ _t51 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02861628 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[12]);
|
|
/* 0286162C */ _t52 = cpu->r[10] + 0x00000018u;
|
|
/* 0286162C */ rbrew_write_f32(cpu->mem, _t52, cpu->f[12]);
|
|
/* 02861630 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02861630 */ _t53 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02861630 */ _t54 = _t53 >> (0x00000002u & 31u);
|
|
/* 02861630 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02861630 */ if (_t55) goto L_02861624; else goto L_02861634;
|
|
L_02861634: ; // 0x2861634
|
|
/* 02861634 */ cpu->r[0] = 0x00000004u;
|
|
/* 02861638 */ cpu->r[9] = cpu->r[12] + 0x00000024u;
|
|
/* 0286163C */ cpu->r[7] = cpu->r[12] + 0x00000028u;
|
|
/* 02861640 */ cpu->ctr = cpu->r[0];
|
|
/* 02861644 */ cpu->r[6] = 0x000000FFu;
|
|
/* 02861648 */ cpu->r[8] = 0x00000000u;
|
|
L_0286164C: ; // 0x286164c
|
|
/* 0286164C */ _t56 = cpu->r[9] + cpu->r[8];
|
|
/* 0286164C */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[6]);
|
|
/* 02861650 */ _t57 = cpu->r[7] + cpu->r[8];
|
|
/* 02861650 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[6]);
|
|
/* 02861654 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02861658 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02861658 */ _t58 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02861658 */ _t59 = _t58 >> (0x00000002u & 31u);
|
|
/* 02861658 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02861658 */ if (_t60) goto L_0286164C; else goto L_0286165C;
|
|
L_0286165C: ; // 0x286165c
|
|
/* 0286165C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0286165C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02861660 */ cpu->r[11] = cpu->r[11] + 0x0000002Cu;
|
|
/* 02861664 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861664 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02861664 */ if (_t62) goto L_02861668; else goto L_02861604;
|
|
L_02861668: ; // 0x2861668
|
|
/* 02861668 */ _t63 = cpu->r[27] + 0x000000FCu;
|
|
/* 02861668 */ cpu->r[12] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0286166C */ _t64 = cpu->r[12] + 0x00000008u;
|
|
/* 0286166C */ rbrew_write32(cpu->mem, _t64, cpu->r[3]);
|
|
L_02861670: ; // 0x2861670
|
|
/* 02861670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02861674 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861674 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02861674 */ if (_t66) goto L_028616A8; else goto L_02861678;
|
|
L_02861678: ; // 0x2861678
|
|
/* 02861678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0286167C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286167C */ _t68 = _t67 & 0x00000001u;
|
|
/* 0286167C */ if (_t68) goto L_028616A0; else goto L_02861680;
|
|
L_02861680: ; // 0x2861680
|
|
/* 02861680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02861684 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861684 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02861684 */ if (_t70) goto L_028616A0; else goto L_02861688;
|
|
L_02861688: ; // 0x2861688
|
|
/* 02861688 */ _t71 = cpu->r[27] + 0x000000FCu;
|
|
/* 02861688 */ cpu->r[4] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0286168C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02861690 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861690 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02861690 */ if (_t73) goto L_02861704; else goto L_02861694;
|
|
L_02861694: ; // 0x2861694
|
|
/* 02861694 */ _t74 = cpu->r[4] + 0x00000008u;
|
|
/* 02861694 */ cpu->r[4] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02861698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0286169C */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286169C */ _t76 = _t75 & 0x00000001u;
|
|
/* 0286169C */ if (_t76) goto L_028616A0; else goto L_02861704;
|
|
L_028616A0: ; // 0x28616a0
|
|
/* 028616A0 */ cpu->r[3] = cpu->r[29];
|
|
/* 028616A4 */ Gambit_fn_02869EAC(cpu);
|
|
L_028616A8: ; // 0x28616a8
|
|
/* 028616A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 028616AC */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028616AC */ _t78 = _t77 & 0x00000001u;
|
|
/* 028616AC */ if (_t78) goto L_028616B8; else goto L_028616B0;
|
|
L_028616B0: ; // 0x28616b0
|
|
/* 028616B0 */ cpu->r[3] = cpu->r[24];
|
|
/* 028616B4 */ Gambit_fn_02869EAC(cpu);
|
|
L_028616B8: ; // 0x28616b8
|
|
/* 028616B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 028616BC */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028616BC */ _t80 = _t79 & 0x00000001u;
|
|
/* 028616BC */ if (_t80) goto L_028616C8; else goto L_028616C0;
|
|
L_028616C0: ; // 0x28616c0
|
|
/* 028616C0 */ cpu->r[3] = cpu->r[25];
|
|
/* 028616C4 */ Gambit_fn_02869EAC(cpu);
|
|
L_028616C8: ; // 0x28616c8
|
|
/* 028616C8 */ _t81 = cpu->r[27] + 0x000000FCu;
|
|
/* 028616C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t81);
|
|
/* 028616CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 028616D0 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028616D0 */ _t83 = _t82 & 0x00000001u;
|
|
/* 028616D0 */ if (_t83) goto L_0286174C; else goto L_028616D4;
|
|
L_028616D4: ; // 0x28616d4
|
|
/* 028616D4 */ _t84 = cpu->r[4] + 0x00000008u;
|
|
/* 028616D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t84);
|
|
/* 028616D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028616DC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028616DC */ _t86 = _t85 & 0x00000001u;
|
|
/* 028616DC */ if (_t86) goto L_0286174C; else goto L_028616E0;
|
|
L_028616E0: ; // 0x28616e0
|
|
/* 028616E0 */ Gambit_fn_02869EAC(cpu);
|
|
/* 028616E4 */ _t87 = cpu->r[27] + 0x000000FCu;
|
|
/* 028616E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t87);
|
|
/* 028616E8 */ cpu->r[9] = 0x00000000u;
|
|
/* 028616EC */ _t88 = cpu->r[5] + 0x00000008u;
|
|
/* 028616EC */ rbrew_write32(cpu->mem, _t88, cpu->r[9]);
|
|
/* 028616F0 */ /* nop */
|
|
/* 028616F4 */ _t89 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028616F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 028616F8 */ cpu->lr = cpu->r[0];
|
|
/* 028616FC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02861700 */ return;
|
|
L_02861704: ; // 0x2861704
|
|
/* 02861704 */ _t90 = cpu->r[27] + 0x000000A4u;
|
|
/* 02861704 */ rbrew_write32(cpu->mem, _t90, cpu->r[29]);
|
|
/* 02861708 */ cpu->r[3] = cpu->r[24];
|
|
/* 0286170C */ cpu->r[5] = cpu->r[26];
|
|
/* 02861710 */ _t91 = cpu->r[27] + 0x000000D0u;
|
|
/* 02861710 */ cpu->r[0] = rbrew_read8(cpu->mem, _t91);
|
|
/* 02861714 */ cpu->r[4] = cpu->r[25];
|
|
/* 02861718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0286171C */ _t92 = cpu->r[27] + 0x000000CCu;
|
|
/* 0286171C */ rbrew_write16(cpu->mem, _t92, (uint16_t)cpu->r[30]);
|
|
/* 02861720 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02861724 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861724 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02861724 */ if (_t94) goto L_02861744; else goto L_02861728;
|
|
L_02861728: ; // 0x2861728
|
|
/* 02861728 */ Gambit_fn_02854B9C(cpu);
|
|
/* 0286172C */ _t95 = cpu->r[27] + 0x000000F8u;
|
|
/* 0286172C */ rbrew_write32(cpu->mem, _t95, cpu->r[3]);
|
|
/* 02861730 */ /* nop */
|
|
/* 02861734 */ _t96 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02861734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02861738 */ cpu->lr = cpu->r[0];
|
|
/* 0286173C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02861740 */ return;
|
|
L_02861744: ; // 0x2861744
|
|
/* 02861744 */ Gambit_fn_02854B50(cpu);
|
|
/* 02861748 */ _t97 = cpu->r[27] + 0x000000F8u;
|
|
/* 02861748 */ rbrew_write32(cpu->mem, _t97, cpu->r[3]);
|
|
L_0286174C: ; // 0x286174c
|
|
/* 0286174C */ /* nop */
|
|
/* 02861750 */ _t98 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02861750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02861754 */ cpu->lr = cpu->r[0];
|
|
/* 02861758 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0286175C */ return;
|
|
}
|
|
|
|
// fn_02861760 @ 0x2861760
|
|
void Gambit_fn_02861760(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02861760: ; // 0x2861760
|
|
/* 02861760 */ _t0 = cpu->r[3] + 0x000000F8u;
|
|
/* 02861760 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02861764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02861768 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861768 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02861768 */ if (_t2) goto L_02861774; else goto L_0286176C;
|
|
L_0286176C: ; // 0x286176c
|
|
/* 0286176C */ _t3 = cpu->r[12] + 0x00000002u;
|
|
/* 0286176C */ cpu->r[3] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02861770 */ return;
|
|
L_02861774: ; // 0x2861774
|
|
/* 02861774 */ cpu->r[3] = 0x00000000u;
|
|
/* 02861778 */ return;
|
|
}
|
|
|
|
// fn_0286177C @ 0x286177c
|
|
void Gambit_fn_0286177C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0286177C: ; // 0x286177c
|
|
/* 0286177C */ _t0 = cpu->r[3] + 0x000000F8u;
|
|
/* 0286177C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02861780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02861784 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861784 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02861784 */ if (_t2) goto L_02861790; else goto L_02861788;
|
|
L_02861788: ; // 0x2861788
|
|
/* 02861788 */ _t3 = cpu->r[12] + 0x00000010u;
|
|
/* 02861788 */ cpu->r[3] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0286178C */ return;
|
|
L_02861790: ; // 0x2861790
|
|
/* 02861790 */ cpu->r[3] = 0x00000000u;
|
|
/* 02861794 */ return;
|
|
}
|
|
|
|
// fn_0286179C @ 0x286179c
|
|
void Gambit_fn_0286179C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_0286179C: ; // 0x286179c
|
|
/* 0286179C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0286179C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0286179C */ cpu->r[1] = _t0;
|
|
/* 028617A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028617A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028617A4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028617A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028617A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028617A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028617AC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028617AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028617B0 */ cpu->r[29] = cpu->r[3];
|
|
/* 028617B4 */ _t5 = cpu->r[29] + 0x000000B4u;
|
|
/* 028617B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028617B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028617BC */ cpu->r[30] = cpu->r[5];
|
|
/* 028617C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028617C0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028617C0 */ if (_t7) goto L_028617E0; else goto L_028617C4;
|
|
L_028617C4: ; // 0x28617c4
|
|
/* 028617C4 */ _t8 = cpu->r[29] + 0x000000A4u;
|
|
/* 028617C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028617C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 028617CC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028617CC */ _t10 = _t9 & 0x00000001u;
|
|
/* 028617CC */ if (_t10) goto L_028617E0; else goto L_028617D0;
|
|
L_028617D0: ; // 0x28617d0
|
|
/* 028617D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 028617D4 */ Gambit_fn_0286143C(cpu);
|
|
/* 028617D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
|
|
/* 028617DC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028617DC */ _t12 = _t11 & 0x00000001u;
|
|
/* 028617DC */ if (_t12) goto L_02861800; else goto L_028617E0;
|
|
L_028617E0: ; // 0x28617e0
|
|
/* 028617E0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028617E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028617E4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028617E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028617E8 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 028617E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028617EC */ cpu->lr = cpu->r[0];
|
|
/* 028617F0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 028617F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028617F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028617F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 028617FC */ return;
|
|
L_02861800: ; // 0x2861800
|
|
/* 02861800 */ cpu->r[31] = cpu->r[3] - cpu->r[30];
|
|
/* 02861804 */ cpu->r[9] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02861808 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0286180C */ cpu->r[3] = cpu->r[11] + cpu->r[9];
|
|
/* 02861810 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02861810 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02861810 */ if (_t18) goto L_02861814; else goto L_02861818;
|
|
L_02861814: ; // 0x2861814
|
|
/* 02861814 */ cpu->r[31] = cpu->r[6];
|
|
L_02861818: ; // 0x2861818
|
|
/* 02861818 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0286181C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02861820 */ _t19 = cpu->r[29] + 0x000000A4u;
|
|
/* 02861820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02861824 */ _t20 = cpu->r[12] + 0x00000000u;
|
|
/* 02861824 */ cpu->r[9] = rbrew_read16(cpu->mem, _t20);
|
|
/* 02861828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0286182C */ cpu->r[0] = cpu->r[12];
|
|
/* 02861830 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861830 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02861830 */ if (_t22) goto L_0286183C; else goto L_02861834;
|
|
L_02861834: ; // 0x2861834
|
|
/* 02861834 */ cpu->r[9] = cpu->r[30] + cpu->r[31];
|
|
/* 02861838 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
L_0286183C: ; // 0x286183c
|
|
/* 0286183C */ _t23 = cpu->r[29] + 0x000000CEu;
|
|
/* 0286183C */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[9]);
|
|
/* 02861840 */ cpu->r[8] = 0x00000000u;
|
|
/* 02861844 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02861848 */ _t24 = cpu->r[10] + cpu->r[0];
|
|
/* 02861848 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[8]);
|
|
/* 0286184C */ _t25 = cpu->r[29] + 0x000000D0u;
|
|
/* 0286184C */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02861850 */ cpu->r[0] = cpu->r[0] | 0x00000020u;
|
|
/* 02861854 */ _t26 = cpu->r[29] + 0x000000D0u;
|
|
/* 02861854 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
|
|
/* 02861858 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0286185C */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286185C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02861860 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02861864 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02861864 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02861868 */ cpu->lr = cpu->r[0];
|
|
/* 0286186C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0286186C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02861870 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02861874 */ return;
|
|
}
|
|
|
|
// fn_02861878 @ 0x2861878
|
|
void Gambit_fn_02861878(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02861798: ; // 0x2861798
|
|
/* 02861798 */ cpu->r[0] = cpu->lr;
|
|
/* 0286179C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0286179C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0286179C */ cpu->r[1] = _t0;
|
|
/* 028617A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028617A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028617A4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028617A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028617A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028617A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028617AC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028617AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028617B0 */ cpu->r[29] = cpu->r[3];
|
|
/* 028617B4 */ _t5 = cpu->r[29] + 0x000000B4u;
|
|
/* 028617B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028617B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028617BC */ cpu->r[30] = cpu->r[5];
|
|
/* 028617C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028617C0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028617C0 */ if (_t7) goto L_028617E0; else goto L_028617C4;
|
|
L_028617C4: ; // 0x28617c4
|
|
/* 028617C4 */ _t8 = cpu->r[29] + 0x000000A4u;
|
|
/* 028617C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028617C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 028617CC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028617CC */ _t10 = _t9 & 0x00000001u;
|
|
/* 028617CC */ if (_t10) goto L_028617E0; else goto L_028617D0;
|
|
L_028617D0: ; // 0x28617d0
|
|
/* 028617D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 028617D4 */ Gambit_fn_0286143C(cpu);
|
|
/* 028617D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
|
|
/* 028617DC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028617DC */ _t12 = _t11 & 0x00000001u;
|
|
/* 028617DC */ if (_t12) goto L_02861800; else goto L_028617E0;
|
|
L_028617E0: ; // 0x28617e0
|
|
/* 028617E0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028617E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028617E4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028617E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028617E8 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 028617E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028617EC */ cpu->lr = cpu->r[0];
|
|
/* 028617F0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 028617F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028617F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028617F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 028617FC */ return;
|
|
L_02861800: ; // 0x2861800
|
|
/* 02861800 */ cpu->r[31] = cpu->r[3] - cpu->r[30];
|
|
/* 02861804 */ cpu->r[9] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02861808 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0286180C */ cpu->r[3] = cpu->r[11] + cpu->r[9];
|
|
/* 02861810 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02861810 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02861810 */ if (_t18) goto L_02861814; else goto L_02861818;
|
|
L_02861814: ; // 0x2861814
|
|
/* 02861814 */ cpu->r[31] = cpu->r[6];
|
|
L_02861818: ; // 0x2861818
|
|
/* 02861818 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0286181C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02861820 */ _t19 = cpu->r[29] + 0x000000A4u;
|
|
/* 02861820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02861824 */ _t20 = cpu->r[12] + 0x00000000u;
|
|
/* 02861824 */ cpu->r[9] = rbrew_read16(cpu->mem, _t20);
|
|
/* 02861828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0286182C */ cpu->r[0] = cpu->r[12];
|
|
/* 02861830 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861830 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02861830 */ if (_t22) goto L_0286183C; else goto L_02861834;
|
|
L_02861834: ; // 0x2861834
|
|
/* 02861834 */ cpu->r[9] = cpu->r[30] + cpu->r[31];
|
|
/* 02861838 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
L_0286183C: ; // 0x286183c
|
|
/* 0286183C */ _t23 = cpu->r[29] + 0x000000CEu;
|
|
/* 0286183C */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[9]);
|
|
/* 02861840 */ cpu->r[8] = 0x00000000u;
|
|
/* 02861844 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02861848 */ _t24 = cpu->r[10] + cpu->r[0];
|
|
/* 02861848 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[8]);
|
|
/* 0286184C */ _t25 = cpu->r[29] + 0x000000D0u;
|
|
/* 0286184C */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02861850 */ cpu->r[0] = cpu->r[0] | 0x00000020u;
|
|
/* 02861854 */ _t26 = cpu->r[29] + 0x000000D0u;
|
|
/* 02861854 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
|
|
/* 02861858 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0286185C */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286185C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02861860 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02861864 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02861864 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02861868 */ cpu->lr = cpu->r[0];
|
|
/* 0286186C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0286186C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02861870 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02861874 */ return;
|
|
L_02861878: ; // 0x2861878
|
|
/* 02861878 */ goto L_02861798;
|
|
}
|
|
|
|
// fn_0286187C @ 0x286187c
|
|
void Gambit_fn_0286187C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88;
|
|
|
|
L_0286187C: ; // 0x286187c
|
|
/* 0286187C */ cpu->r[0] = cpu->lr;
|
|
/* 02861880 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02861880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02861880 */ cpu->r[1] = _t0;
|
|
/* 02861884 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02861884 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02861888 */ cpu->r[30] = cpu->r[4];
|
|
/* 0286188C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0286188C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02861890 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02861890 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02861894 */ cpu->r[31] = cpu->r[3];
|
|
/* 02861894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02861898 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861898 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0286189C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286189C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028618A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028618A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028618A0 */ if (_t7) goto L_028618A4; else goto L_028618B4;
|
|
L_028618A4: ; // 0x28618a4
|
|
/* 028618A4 */ cpu->r[3] = 0x00000100u;
|
|
/* 028618A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028618AC */ cpu->r[31] = cpu->r[3];
|
|
/* 028618AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028618B0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028618B0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028618B0 */ if (_t9) goto L_02861AB0; else goto L_028618B4;
|
|
L_028618B4: ; // 0x28618b4
|
|
/* 028618B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028618B8 */ cpu->r[4] = cpu->r[30];
|
|
/* 028618BC */ Gambit_fn_0285F5C4(cpu);
|
|
/* 028618C0 */ cpu->r[11] = 0x10130000u;
|
|
/* 028618C4 */ cpu->r[29] = 0x00000000u;
|
|
/* 028618C8 */ cpu->r[6] = 0x02860000u;
|
|
/* 028618CC */ cpu->r[11] = cpu->r[11] + 0x0000517Cu;
|
|
/* 028618D0 */ _t10 = cpu->r[31] + 0x000000A4u;
|
|
/* 028618D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 028618D4 */ cpu->r[28] = cpu->r[31] + 0x000000ACu;
|
|
/* 028618D8 */ cpu->r[6] = cpu->r[6] + 0x00002EC0u;
|
|
/* 028618DC */ _t11 = cpu->r[31] + 0x00000008u;
|
|
/* 028618DC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 028618E0 */ _t12 = cpu->r[30] + 0x000000A8u;
|
|
/* 028618E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028618E4 */ cpu->r[3] = cpu->r[28];
|
|
/* 028618E8 */ cpu->r[4] = 0x00000002u;
|
|
/* 028618EC */ cpu->r[5] = 0x00000004u;
|
|
/* 028618F0 */ _t13 = cpu->r[31] + 0x000000A8u;
|
|
/* 028618F0 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 028618F4 */ Gambit_fn_02C82E00(cpu);
|
|
/* 028618F8 */ _t14 = cpu->r[30] + 0x000000B4u;
|
|
/* 028618F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028618FC */ cpu->r[3] = cpu->r[31] + 0x000000B8u;
|
|
/* 028618FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861900 */ _t15 = cpu->r[31] + 0x000000B4u;
|
|
/* 02861900 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 02861904 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861904 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02861904 */ if (_t17) goto L_02861908; else goto L_02861918;
|
|
L_02861908: ; // 0x2861908
|
|
/* 02861908 */ cpu->r[3] = 0x00000008u;
|
|
/* 0286190C */ Gambit_fn_02801A78(cpu);
|
|
/* 02861910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861914 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861914 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02861914 */ if (_t19) goto L_02861928; else goto L_02861918;
|
|
L_02861918: ; // 0x2861918
|
|
/* 02861918 */ _t20 = cpu->r[30] + 0x000000B8u;
|
|
/* 02861918 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0286191C */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 0286191C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 02861920 */ _t22 = cpu->r[30] + 0x000000BCu;
|
|
/* 02861920 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02861924 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 02861924 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
L_02861928: ; // 0x2861928
|
|
/* 02861928 */ _t24 = cpu->r[30] + 0x000000C0u;
|
|
/* 02861928 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0286192C */ _t25 = cpu->r[31] + 0x000000C0u;
|
|
/* 0286192C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 02861930 */ _t26 = cpu->r[30] + 0x000000C4u;
|
|
/* 02861930 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02861934 */ _t27 = cpu->r[31] + 0x000000C4u;
|
|
/* 02861934 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02861938 */ _t28 = cpu->r[30] + 0x000000C8u;
|
|
/* 02861938 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0286193C */ _t29 = cpu->r[31] + 0x000000CCu;
|
|
/* 0286193C */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[29]);
|
|
/* 02861940 */ _t30 = cpu->r[31] + 0x000000C8u;
|
|
/* 02861940 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 02861944 */ _t31 = cpu->r[31] + 0x000000CEu;
|
|
/* 02861944 */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[29]);
|
|
/* 02861948 */ _t32 = cpu->r[30] + 0x000000D0u;
|
|
/* 02861948 */ cpu->r[5] = rbrew_read8(cpu->mem, _t32);
|
|
/* 0286194C */ _t33 = cpu->r[31] + 0x000000D0u;
|
|
/* 0286194C */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[5]);
|
|
/* 02861950 */ _t34 = cpu->r[30] + 0x000000D1u;
|
|
/* 02861950 */ cpu->r[7] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02861954 */ _t35 = cpu->r[31] + 0x000000D1u;
|
|
/* 02861954 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[7]);
|
|
/* 02861958 */ _t36 = cpu->r[30] + 0x000000D4u;
|
|
/* 02861958 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 0286195C */ _t37 = cpu->r[31] + 0x000000D4u;
|
|
/* 0286195C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 02861960 */ _t38 = cpu->r[30] + 0x000000D8u;
|
|
/* 02861960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02861964 */ _t39 = cpu->r[31] + 0x000000D8u;
|
|
/* 02861964 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02861968 */ _t40 = cpu->r[30] + 0x000000DCu;
|
|
/* 02861968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0286196C */ _t41 = cpu->r[31] + 0x000000DCu;
|
|
/* 0286196C */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02861970 */ _t42 = cpu->r[30] + 0x000000E0u;
|
|
/* 02861970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02861974 */ _t43 = cpu->r[31] + 0x000000E0u;
|
|
/* 02861974 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02861978 */ _t44 = cpu->r[30] + 0x000000E4u;
|
|
/* 02861978 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0286197C */ cpu->r[12] = cpu->r[31] + 0x000000E8u;
|
|
/* 02861980 */ cpu->r[11] = cpu->r[30] + 0x000000E8u;
|
|
/* 02861984 */ _t45 = cpu->r[31] + 0x000000E4u;
|
|
/* 02861984 */ rbrew_write32(cpu->mem, _t45, cpu->r[10]);
|
|
/* 02861988 */ /* nop */
|
|
/* 0286198C */ cpu->r[9] = cpu->r[30] + 0x000000ECu;
|
|
/* 02861990 */ /* nop */
|
|
/* 02861994 */ /* nop */
|
|
/* 02861998 */ cpu->r[10] = cpu->r[31] + 0x000000ECu;
|
|
/* 0286199C */ /* nop */
|
|
/* 028619A0 */ _t46 = cpu->r[30] + 0x000000F0u;
|
|
/* 028619A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 028619A4 */ cpu->r[8] = cpu->r[30] + 0x000000ACu;
|
|
/* 028619A8 */ _t47 = cpu->r[31] + 0x000000FCu;
|
|
/* 028619A8 */ rbrew_write32(cpu->mem, _t47, cpu->r[29]);
|
|
/* 028619AC */ cpu->r[12] = 0x00000000u;
|
|
/* 028619B0 */ _t48 = cpu->r[31] + 0x000000F0u;
|
|
/* 028619B0 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]);
|
|
/* 028619B4 */ cpu->r[10] = 0x00000002u;
|
|
/* 028619B8 */ _t49 = cpu->r[31] + 0x000000F8u;
|
|
/* 028619B8 */ rbrew_write32(cpu->mem, _t49, cpu->r[29]);
|
|
/* 028619BC */ cpu->ctr = cpu->r[10];
|
|
/* 028619C0 */ _t50 = cpu->r[31] + 0x000000F4u;
|
|
/* 028619C0 */ rbrew_write32(cpu->mem, _t50, cpu->r[29]);
|
|
L_028619C4: ; // 0x28619c4
|
|
/* 028619C4 */ cpu->r[5] = cpu->r[8] + cpu->r[12];
|
|
/* 028619C8 */ cpu->r[6] = cpu->r[28] + cpu->r[12];
|
|
/* 028619CC */ /* nop */
|
|
/* 028619D0 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 028619D4 */ /* nop */
|
|
/* 028619D8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028619D8 */ _t51 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028619D8 */ _t52 = _t51 >> (0x00000002u & 31u);
|
|
/* 028619D8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 028619D8 */ if (_t53) goto L_028619C4; else goto L_028619DC;
|
|
L_028619DC: ; // 0x28619dc
|
|
/* 028619DC */ _t54 = cpu->r[30] + 0x000000FCu;
|
|
/* 028619DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 028619E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 028619E4 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028619E4 */ _t56 = _t55 & 0x00000001u;
|
|
/* 028619E4 */ if (_t56) goto L_02861A34; else goto L_028619E8;
|
|
L_028619E8: ; // 0x28619e8
|
|
/* 028619E8 */ cpu->r[3] = 0x00000018u;
|
|
/* 028619EC */ cpu->r[4] = 0x00000004u;
|
|
/* 028619F0 */ Gambit_fn_02869E8C(cpu);
|
|
/* 028619F4 */ _t57 = cpu->r[31] + 0x000000FCu;
|
|
/* 028619F4 */ rbrew_write32(cpu->mem, _t57, cpu->r[3]);
|
|
/* 028619F8 */ _t58 = cpu->r[30] + 0x000000FCu;
|
|
/* 028619F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
|
|
/* 028619FC */ _t59 = cpu->r[10] + 0x00000000u;
|
|
/* 028619FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02861A00 */ _t60 = cpu->r[3] + 0x00000000u;
|
|
/* 02861A00 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 02861A04 */ _t61 = cpu->r[10] + 0x00000004u;
|
|
/* 02861A04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02861A08 */ _t62 = cpu->r[3] + 0x00000004u;
|
|
/* 02861A08 */ rbrew_write32(cpu->mem, _t62, cpu->r[6]);
|
|
/* 02861A0C */ _t63 = cpu->r[10] + 0x00000008u;
|
|
/* 02861A0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02861A10 */ _t64 = cpu->r[3] + 0x00000008u;
|
|
/* 02861A10 */ rbrew_write32(cpu->mem, _t64, cpu->r[8]);
|
|
/* 02861A14 */ _t65 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02861A14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02861A18 */ _t66 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02861A18 */ rbrew_write32(cpu->mem, _t66, cpu->r[9]);
|
|
/* 02861A1C */ _t67 = cpu->r[10] + 0x00000010u;
|
|
/* 02861A1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02861A20 */ _t68 = cpu->r[3] + 0x00000010u;
|
|
/* 02861A20 */ rbrew_write32(cpu->mem, _t68, cpu->r[11]);
|
|
/* 02861A24 */ _t69 = cpu->r[10] + 0x00000014u;
|
|
/* 02861A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02861A28 */ _t70 = cpu->r[3] + 0x00000014u;
|
|
/* 02861A28 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 02861A2C */ _t71 = cpu->r[31] + 0x000000FCu;
|
|
/* 02861A2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02861A30 */ _t72 = cpu->r[5] + 0x00000008u;
|
|
/* 02861A30 */ rbrew_write32(cpu->mem, _t72, cpu->r[29]);
|
|
L_02861A34: ; // 0x2861a34
|
|
/* 02861A34 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861A38 */ Gambit_fn_0286143C(cpu);
|
|
/* 02861A3C */ cpu->r[4] = cpu->r[3];
|
|
/* 02861A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02861A40 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861A40 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02861A40 */ if (_t74) goto L_02861A78; else goto L_02861A44;
|
|
L_02861A44: ; // 0x2861a44
|
|
/* 02861A44 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861A48 */ Gambit_fn_02861760(cpu);
|
|
/* 02861A4C */ cpu->r[5] = cpu->r[3];
|
|
/* 02861A50 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861A54 */ Gambit_fn_0286177C(cpu);
|
|
/* 02861A58 */ cpu->r[6] = cpu->r[3];
|
|
/* 02861A5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02861A60 */ Gambit_fn_02861458(cpu);
|
|
/* 02861A64 */ _t75 = cpu->r[30] + 0x000000A4u;
|
|
/* 02861A64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02861A68 */ cpu->r[5] = 0x00000000u;
|
|
/* 02861A6C */ _t76 = cpu->r[30] + 0x000000CEu;
|
|
/* 02861A6C */ cpu->r[6] = rbrew_read16(cpu->mem, _t76);
|
|
/* 02861A70 */ cpu->r[3] = cpu->r[31];
|
|
/* 02861A74 */ Gambit_fn_02861878(cpu);
|
|
L_02861A78: ; // 0x2861a78
|
|
/* 02861A78 */ cpu->r[4] = 0x00000004u;
|
|
/* 02861A7C */ cpu->r[3] = 0x00000020u;
|
|
/* 02861A80 */ _t77 = cpu->r[30] + 0x000000F4u;
|
|
/* 02861A80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02861A84 */ Gambit_fn_02869E8C(cpu);
|
|
/* 02861A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861A8C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861A8C */ _t79 = _t78 & 0x00000001u;
|
|
/* 02861A8C */ if (_t79) goto L_02861AA8; else goto L_02861A90;
|
|
L_02861A90: ; // 0x2861a90
|
|
/* 02861A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861A94 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861A94 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02861A94 */ if (_t81) goto L_02861AA8; else goto L_02861A98;
|
|
L_02861A98: ; // 0x2861a98
|
|
/* 02861A98 */ cpu->r[4] = cpu->r[30];
|
|
/* 02861A9C */ Gambit_fn_0286D20C(cpu);
|
|
/* 02861AA0 */ _t82 = cpu->r[31] + 0x000000F4u;
|
|
/* 02861AA0 */ rbrew_write32(cpu->mem, _t82, cpu->r[3]);
|
|
/* 02861AA4 */ goto L_02861AB0;
|
|
L_02861AA8: ; // 0x2861aa8
|
|
/* 02861AA8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02861AAC */ _t83 = cpu->r[31] + 0x000000F4u;
|
|
/* 02861AAC */ rbrew_write32(cpu->mem, _t83, cpu->r[3]);
|
|
L_02861AB0: ; // 0x2861ab0
|
|
/* 02861AB0 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 02861AB0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02861AB4 */ _t85 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861AB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02861AB8 */ _t86 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02861AB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02861ABC */ cpu->r[3] = cpu->r[31];
|
|
/* 02861AC0 */ _t87 = cpu->r[1] + 0x00000010u;
|
|
/* 02861AC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02861AC4 */ cpu->lr = cpu->r[0];
|
|
/* 02861AC8 */ _t88 = cpu->r[1] + 0x00000014u;
|
|
/* 02861AC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02861ACC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02861AD0 */ return;
|
|
}
|
|
|
|
// fn_02861880 @ 0x2861880
|
|
void Gambit_fn_02861880(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88;
|
|
|
|
L_02861880: ; // 0x2861880
|
|
/* 02861880 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02861880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02861880 */ cpu->r[1] = _t0;
|
|
/* 02861884 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02861884 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02861888 */ cpu->r[30] = cpu->r[4];
|
|
/* 0286188C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0286188C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02861890 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02861890 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02861894 */ cpu->r[31] = cpu->r[3];
|
|
/* 02861894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02861898 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861898 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0286189C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286189C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028618A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028618A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028618A0 */ if (_t7) goto L_028618A4; else goto L_028618B4;
|
|
L_028618A4: ; // 0x28618a4
|
|
/* 028618A4 */ cpu->r[3] = 0x00000100u;
|
|
/* 028618A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028618AC */ cpu->r[31] = cpu->r[3];
|
|
/* 028618AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028618B0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028618B0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028618B0 */ if (_t9) goto L_02861AB0; else goto L_028618B4;
|
|
L_028618B4: ; // 0x28618b4
|
|
/* 028618B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028618B8 */ cpu->r[4] = cpu->r[30];
|
|
/* 028618BC */ Gambit_fn_0285F5C4(cpu);
|
|
/* 028618C0 */ cpu->r[11] = 0x10130000u;
|
|
/* 028618C4 */ cpu->r[29] = 0x00000000u;
|
|
/* 028618C8 */ cpu->r[6] = 0x02860000u;
|
|
/* 028618CC */ cpu->r[11] = cpu->r[11] + 0x0000517Cu;
|
|
/* 028618D0 */ _t10 = cpu->r[31] + 0x000000A4u;
|
|
/* 028618D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 028618D4 */ cpu->r[28] = cpu->r[31] + 0x000000ACu;
|
|
/* 028618D8 */ cpu->r[6] = cpu->r[6] + 0x00002EC0u;
|
|
/* 028618DC */ _t11 = cpu->r[31] + 0x00000008u;
|
|
/* 028618DC */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 028618E0 */ _t12 = cpu->r[30] + 0x000000A8u;
|
|
/* 028618E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028618E4 */ cpu->r[3] = cpu->r[28];
|
|
/* 028618E8 */ cpu->r[4] = 0x00000002u;
|
|
/* 028618EC */ cpu->r[5] = 0x00000004u;
|
|
/* 028618F0 */ _t13 = cpu->r[31] + 0x000000A8u;
|
|
/* 028618F0 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 028618F4 */ Gambit_fn_02C82E00(cpu);
|
|
/* 028618F8 */ _t14 = cpu->r[30] + 0x000000B4u;
|
|
/* 028618F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028618FC */ cpu->r[3] = cpu->r[31] + 0x000000B8u;
|
|
/* 028618FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861900 */ _t15 = cpu->r[31] + 0x000000B4u;
|
|
/* 02861900 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 02861904 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861904 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02861904 */ if (_t17) goto L_02861908; else goto L_02861918;
|
|
L_02861908: ; // 0x2861908
|
|
/* 02861908 */ cpu->r[3] = 0x00000008u;
|
|
/* 0286190C */ Gambit_fn_02801A78(cpu);
|
|
/* 02861910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861914 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861914 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02861914 */ if (_t19) goto L_02861928; else goto L_02861918;
|
|
L_02861918: ; // 0x2861918
|
|
/* 02861918 */ _t20 = cpu->r[30] + 0x000000B8u;
|
|
/* 02861918 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0286191C */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 0286191C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
/* 02861920 */ _t22 = cpu->r[30] + 0x000000BCu;
|
|
/* 02861920 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02861924 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 02861924 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
L_02861928: ; // 0x2861928
|
|
/* 02861928 */ _t24 = cpu->r[30] + 0x000000C0u;
|
|
/* 02861928 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0286192C */ _t25 = cpu->r[31] + 0x000000C0u;
|
|
/* 0286192C */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 02861930 */ _t26 = cpu->r[30] + 0x000000C4u;
|
|
/* 02861930 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02861934 */ _t27 = cpu->r[31] + 0x000000C4u;
|
|
/* 02861934 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02861938 */ _t28 = cpu->r[30] + 0x000000C8u;
|
|
/* 02861938 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0286193C */ _t29 = cpu->r[31] + 0x000000CCu;
|
|
/* 0286193C */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[29]);
|
|
/* 02861940 */ _t30 = cpu->r[31] + 0x000000C8u;
|
|
/* 02861940 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 02861944 */ _t31 = cpu->r[31] + 0x000000CEu;
|
|
/* 02861944 */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[29]);
|
|
/* 02861948 */ _t32 = cpu->r[30] + 0x000000D0u;
|
|
/* 02861948 */ cpu->r[5] = rbrew_read8(cpu->mem, _t32);
|
|
/* 0286194C */ _t33 = cpu->r[31] + 0x000000D0u;
|
|
/* 0286194C */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[5]);
|
|
/* 02861950 */ _t34 = cpu->r[30] + 0x000000D1u;
|
|
/* 02861950 */ cpu->r[7] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02861954 */ _t35 = cpu->r[31] + 0x000000D1u;
|
|
/* 02861954 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[7]);
|
|
/* 02861958 */ _t36 = cpu->r[30] + 0x000000D4u;
|
|
/* 02861958 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 0286195C */ _t37 = cpu->r[31] + 0x000000D4u;
|
|
/* 0286195C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[0]);
|
|
/* 02861960 */ _t38 = cpu->r[30] + 0x000000D8u;
|
|
/* 02861960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02861964 */ _t39 = cpu->r[31] + 0x000000D8u;
|
|
/* 02861964 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02861968 */ _t40 = cpu->r[30] + 0x000000DCu;
|
|
/* 02861968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0286196C */ _t41 = cpu->r[31] + 0x000000DCu;
|
|
/* 0286196C */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02861970 */ _t42 = cpu->r[30] + 0x000000E0u;
|
|
/* 02861970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02861974 */ _t43 = cpu->r[31] + 0x000000E0u;
|
|
/* 02861974 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02861978 */ _t44 = cpu->r[30] + 0x000000E4u;
|
|
/* 02861978 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0286197C */ cpu->r[12] = cpu->r[31] + 0x000000E8u;
|
|
/* 02861980 */ cpu->r[11] = cpu->r[30] + 0x000000E8u;
|
|
/* 02861984 */ _t45 = cpu->r[31] + 0x000000E4u;
|
|
/* 02861984 */ rbrew_write32(cpu->mem, _t45, cpu->r[10]);
|
|
/* 02861988 */ /* nop */
|
|
/* 0286198C */ cpu->r[9] = cpu->r[30] + 0x000000ECu;
|
|
/* 02861990 */ /* nop */
|
|
/* 02861994 */ /* nop */
|
|
/* 02861998 */ cpu->r[10] = cpu->r[31] + 0x000000ECu;
|
|
/* 0286199C */ /* nop */
|
|
/* 028619A0 */ _t46 = cpu->r[30] + 0x000000F0u;
|
|
/* 028619A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 028619A4 */ cpu->r[8] = cpu->r[30] + 0x000000ACu;
|
|
/* 028619A8 */ _t47 = cpu->r[31] + 0x000000FCu;
|
|
/* 028619A8 */ rbrew_write32(cpu->mem, _t47, cpu->r[29]);
|
|
/* 028619AC */ cpu->r[12] = 0x00000000u;
|
|
/* 028619B0 */ _t48 = cpu->r[31] + 0x000000F0u;
|
|
/* 028619B0 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[0]);
|
|
/* 028619B4 */ cpu->r[10] = 0x00000002u;
|
|
/* 028619B8 */ _t49 = cpu->r[31] + 0x000000F8u;
|
|
/* 028619B8 */ rbrew_write32(cpu->mem, _t49, cpu->r[29]);
|
|
/* 028619BC */ cpu->ctr = cpu->r[10];
|
|
/* 028619C0 */ _t50 = cpu->r[31] + 0x000000F4u;
|
|
/* 028619C0 */ rbrew_write32(cpu->mem, _t50, cpu->r[29]);
|
|
L_028619C4: ; // 0x28619c4
|
|
/* 028619C4 */ cpu->r[5] = cpu->r[8] + cpu->r[12];
|
|
/* 028619C8 */ cpu->r[6] = cpu->r[28] + cpu->r[12];
|
|
/* 028619CC */ /* nop */
|
|
/* 028619D0 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 028619D4 */ /* nop */
|
|
/* 028619D8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028619D8 */ _t51 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028619D8 */ _t52 = _t51 >> (0x00000002u & 31u);
|
|
/* 028619D8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 028619D8 */ if (_t53) goto L_028619C4; else goto L_028619DC;
|
|
L_028619DC: ; // 0x28619dc
|
|
/* 028619DC */ _t54 = cpu->r[30] + 0x000000FCu;
|
|
/* 028619DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 028619E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 028619E4 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028619E4 */ _t56 = _t55 & 0x00000001u;
|
|
/* 028619E4 */ if (_t56) goto L_02861A34; else goto L_028619E8;
|
|
L_028619E8: ; // 0x28619e8
|
|
/* 028619E8 */ cpu->r[3] = 0x00000018u;
|
|
/* 028619EC */ cpu->r[4] = 0x00000004u;
|
|
/* 028619F0 */ Gambit_fn_02869E8C(cpu);
|
|
/* 028619F4 */ _t57 = cpu->r[31] + 0x000000FCu;
|
|
/* 028619F4 */ rbrew_write32(cpu->mem, _t57, cpu->r[3]);
|
|
/* 028619F8 */ _t58 = cpu->r[30] + 0x000000FCu;
|
|
/* 028619F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
|
|
/* 028619FC */ _t59 = cpu->r[10] + 0x00000000u;
|
|
/* 028619FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02861A00 */ _t60 = cpu->r[3] + 0x00000000u;
|
|
/* 02861A00 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 02861A04 */ _t61 = cpu->r[10] + 0x00000004u;
|
|
/* 02861A04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02861A08 */ _t62 = cpu->r[3] + 0x00000004u;
|
|
/* 02861A08 */ rbrew_write32(cpu->mem, _t62, cpu->r[6]);
|
|
/* 02861A0C */ _t63 = cpu->r[10] + 0x00000008u;
|
|
/* 02861A0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02861A10 */ _t64 = cpu->r[3] + 0x00000008u;
|
|
/* 02861A10 */ rbrew_write32(cpu->mem, _t64, cpu->r[8]);
|
|
/* 02861A14 */ _t65 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02861A14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02861A18 */ _t66 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02861A18 */ rbrew_write32(cpu->mem, _t66, cpu->r[9]);
|
|
/* 02861A1C */ _t67 = cpu->r[10] + 0x00000010u;
|
|
/* 02861A1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02861A20 */ _t68 = cpu->r[3] + 0x00000010u;
|
|
/* 02861A20 */ rbrew_write32(cpu->mem, _t68, cpu->r[11]);
|
|
/* 02861A24 */ _t69 = cpu->r[10] + 0x00000014u;
|
|
/* 02861A24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02861A28 */ _t70 = cpu->r[3] + 0x00000014u;
|
|
/* 02861A28 */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 02861A2C */ _t71 = cpu->r[31] + 0x000000FCu;
|
|
/* 02861A2C */ cpu->r[5] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02861A30 */ _t72 = cpu->r[5] + 0x00000008u;
|
|
/* 02861A30 */ rbrew_write32(cpu->mem, _t72, cpu->r[29]);
|
|
L_02861A34: ; // 0x2861a34
|
|
/* 02861A34 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861A38 */ Gambit_fn_0286143C(cpu);
|
|
/* 02861A3C */ cpu->r[4] = cpu->r[3];
|
|
/* 02861A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02861A40 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861A40 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02861A40 */ if (_t74) goto L_02861A78; else goto L_02861A44;
|
|
L_02861A44: ; // 0x2861a44
|
|
/* 02861A44 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861A48 */ Gambit_fn_02861760(cpu);
|
|
/* 02861A4C */ cpu->r[5] = cpu->r[3];
|
|
/* 02861A50 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861A54 */ Gambit_fn_0286177C(cpu);
|
|
/* 02861A58 */ cpu->r[6] = cpu->r[3];
|
|
/* 02861A5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02861A60 */ Gambit_fn_02861458(cpu);
|
|
/* 02861A64 */ _t75 = cpu->r[30] + 0x000000A4u;
|
|
/* 02861A64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02861A68 */ cpu->r[5] = 0x00000000u;
|
|
/* 02861A6C */ _t76 = cpu->r[30] + 0x000000CEu;
|
|
/* 02861A6C */ cpu->r[6] = rbrew_read16(cpu->mem, _t76);
|
|
/* 02861A70 */ cpu->r[3] = cpu->r[31];
|
|
/* 02861A74 */ Gambit_fn_02861878(cpu);
|
|
L_02861A78: ; // 0x2861a78
|
|
/* 02861A78 */ cpu->r[4] = 0x00000004u;
|
|
/* 02861A7C */ cpu->r[3] = 0x00000020u;
|
|
/* 02861A80 */ _t77 = cpu->r[30] + 0x000000F4u;
|
|
/* 02861A80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02861A84 */ Gambit_fn_02869E8C(cpu);
|
|
/* 02861A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861A8C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861A8C */ _t79 = _t78 & 0x00000001u;
|
|
/* 02861A8C */ if (_t79) goto L_02861AA8; else goto L_02861A90;
|
|
L_02861A90: ; // 0x2861a90
|
|
/* 02861A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861A94 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861A94 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02861A94 */ if (_t81) goto L_02861AA8; else goto L_02861A98;
|
|
L_02861A98: ; // 0x2861a98
|
|
/* 02861A98 */ cpu->r[4] = cpu->r[30];
|
|
/* 02861A9C */ Gambit_fn_0286D20C(cpu);
|
|
/* 02861AA0 */ _t82 = cpu->r[31] + 0x000000F4u;
|
|
/* 02861AA0 */ rbrew_write32(cpu->mem, _t82, cpu->r[3]);
|
|
/* 02861AA4 */ goto L_02861AB0;
|
|
L_02861AA8: ; // 0x2861aa8
|
|
/* 02861AA8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02861AAC */ _t83 = cpu->r[31] + 0x000000F4u;
|
|
/* 02861AAC */ rbrew_write32(cpu->mem, _t83, cpu->r[3]);
|
|
L_02861AB0: ; // 0x2861ab0
|
|
/* 02861AB0 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 02861AB0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02861AB4 */ _t85 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861AB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02861AB8 */ _t86 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02861AB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02861ABC */ cpu->r[3] = cpu->r[31];
|
|
/* 02861AC0 */ _t87 = cpu->r[1] + 0x00000010u;
|
|
/* 02861AC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02861AC4 */ cpu->lr = cpu->r[0];
|
|
/* 02861AC8 */ _t88 = cpu->r[1] + 0x00000014u;
|
|
/* 02861AC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02861ACC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02861AD0 */ return;
|
|
}
|
|
|
|
// fn_02861AD4 @ 0x2861ad4
|
|
void Gambit_fn_02861AD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02861AD4: ; // 0x2861ad4
|
|
/* 02861AD4 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02861AD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02861AD8 */ _t1 = cpu->r[12] + 0x000000C4u;
|
|
/* 02861AD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02861ADC */ cpu->r[6] = cpu->r[5];
|
|
/* 02861AE0 */ cpu->ctr = cpu->r[0];
|
|
/* 02861AE4 */ cpu->r[5] = cpu->r[4];
|
|
/* 02861AE8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02861AEC @ 0x2861aec
|
|
void Gambit_fn_02861AEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02861AEC: ; // 0x2861aec
|
|
/* 02861AEC */ cpu->r[0] = cpu->lr;
|
|
/* 02861AF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02861AF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02861AF0 */ cpu->r[1] = _t0;
|
|
/* 02861AF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861AF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02861AF8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02861AF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02861AFC */ cpu->r[31] = cpu->r[3];
|
|
/* 02861B00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02861B00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02861B04 */ _t4 = cpu->r[31] + 0x000000A4u;
|
|
/* 02861B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02861B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861B0C */ cpu->r[30] = 0x00000000u;
|
|
/* 02861B10 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861B10 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02861B10 */ if (_t6) goto L_02861B48; else goto L_02861B14;
|
|
L_02861B14: ; // 0x2861b14
|
|
/* 02861B14 */ _t7 = cpu->r[31] + 0x000000F8u;
|
|
/* 02861B14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02861B18 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02861B18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02861B1C */ Gambit_fn_02869EAC(cpu);
|
|
/* 02861B20 */ _t9 = cpu->r[31] + 0x000000F8u;
|
|
/* 02861B20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02861B24 */ Gambit_fn_02869EAC(cpu);
|
|
/* 02861B28 */ _t10 = cpu->r[31] + 0x000000A4u;
|
|
/* 02861B28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02861B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861B30 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861B30 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02861B30 */ if (_t12) goto L_02861B38; else goto L_02861B34;
|
|
L_02861B34: ; // 0x2861b34
|
|
/* 02861B34 */ Gambit_fn_02869EAC(cpu);
|
|
L_02861B38: ; // 0x2861b38
|
|
/* 02861B38 */ _t13 = cpu->r[31] + 0x000000A4u;
|
|
/* 02861B38 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02861B3C */ _t14 = cpu->r[31] + 0x000000CCu;
|
|
/* 02861B3C */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[30]);
|
|
/* 02861B40 */ _t15 = cpu->r[31] + 0x000000F8u;
|
|
/* 02861B40 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02861B44 */ _t16 = cpu->r[31] + 0x000000CEu;
|
|
/* 02861B44 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[30]);
|
|
L_02861B48: ; // 0x2861b48
|
|
/* 02861B48 */ _t17 = cpu->r[31] + 0x000000FCu;
|
|
/* 02861B48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02861B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02861B50 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861B50 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02861B50 */ if (_t19) goto L_02861B6C; else goto L_02861B54;
|
|
L_02861B54: ; // 0x2861b54
|
|
/* 02861B54 */ _t20 = cpu->r[12] + 0x00000008u;
|
|
/* 02861B54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02861B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861B5C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861B5C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02861B5C */ if (_t22) goto L_02861B6C; else goto L_02861B60;
|
|
L_02861B60: ; // 0x2861b60
|
|
/* 02861B60 */ Gambit_fn_02869EAC(cpu);
|
|
/* 02861B64 */ _t23 = cpu->r[31] + 0x000000FCu;
|
|
/* 02861B64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02861B68 */ _t24 = cpu->r[10] + 0x00000008u;
|
|
/* 02861B68 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
L_02861B6C: ; // 0x2861b6c
|
|
/* 02861B6C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02861B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02861B70 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02861B70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02861B74 */ cpu->lr = cpu->r[0];
|
|
/* 02861B78 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861B78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02861B7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02861B80 */ return;
|
|
}
|
|
|
|
// fn_02861AF0 @ 0x2861af0
|
|
void Gambit_fn_02861AF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02861AF0: ; // 0x2861af0
|
|
/* 02861AF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02861AF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02861AF0 */ cpu->r[1] = _t0;
|
|
/* 02861AF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861AF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02861AF8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02861AF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02861AFC */ cpu->r[31] = cpu->r[3];
|
|
/* 02861B00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02861B00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02861B04 */ _t4 = cpu->r[31] + 0x000000A4u;
|
|
/* 02861B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02861B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861B0C */ cpu->r[30] = 0x00000000u;
|
|
/* 02861B10 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861B10 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02861B10 */ if (_t6) goto L_02861B48; else goto L_02861B14;
|
|
L_02861B14: ; // 0x2861b14
|
|
/* 02861B14 */ _t7 = cpu->r[31] + 0x000000F8u;
|
|
/* 02861B14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02861B18 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 02861B18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02861B1C */ Gambit_fn_02869EAC(cpu);
|
|
/* 02861B20 */ _t9 = cpu->r[31] + 0x000000F8u;
|
|
/* 02861B20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02861B24 */ Gambit_fn_02869EAC(cpu);
|
|
/* 02861B28 */ _t10 = cpu->r[31] + 0x000000A4u;
|
|
/* 02861B28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02861B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861B30 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861B30 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02861B30 */ if (_t12) goto L_02861B38; else goto L_02861B34;
|
|
L_02861B34: ; // 0x2861b34
|
|
/* 02861B34 */ Gambit_fn_02869EAC(cpu);
|
|
L_02861B38: ; // 0x2861b38
|
|
/* 02861B38 */ _t13 = cpu->r[31] + 0x000000A4u;
|
|
/* 02861B38 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02861B3C */ _t14 = cpu->r[31] + 0x000000CCu;
|
|
/* 02861B3C */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[30]);
|
|
/* 02861B40 */ _t15 = cpu->r[31] + 0x000000F8u;
|
|
/* 02861B40 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02861B44 */ _t16 = cpu->r[31] + 0x000000CEu;
|
|
/* 02861B44 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[30]);
|
|
L_02861B48: ; // 0x2861b48
|
|
/* 02861B48 */ _t17 = cpu->r[31] + 0x000000FCu;
|
|
/* 02861B48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02861B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02861B50 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861B50 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02861B50 */ if (_t19) goto L_02861B6C; else goto L_02861B54;
|
|
L_02861B54: ; // 0x2861b54
|
|
/* 02861B54 */ _t20 = cpu->r[12] + 0x00000008u;
|
|
/* 02861B54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02861B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861B5C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861B5C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02861B5C */ if (_t22) goto L_02861B6C; else goto L_02861B60;
|
|
L_02861B60: ; // 0x2861b60
|
|
/* 02861B60 */ Gambit_fn_02869EAC(cpu);
|
|
/* 02861B64 */ _t23 = cpu->r[31] + 0x000000FCu;
|
|
/* 02861B64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02861B68 */ _t24 = cpu->r[10] + 0x00000008u;
|
|
/* 02861B68 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
L_02861B6C: ; // 0x2861b6c
|
|
/* 02861B6C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02861B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02861B70 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02861B70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02861B74 */ cpu->lr = cpu->r[0];
|
|
/* 02861B78 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861B78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02861B7C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02861B80 */ return;
|
|
}
|
|
|
|
// fn_02861B84 @ 0x2861b84
|
|
void Gambit_fn_02861B84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02861B84: ; // 0x2861b84
|
|
/* 02861B84 */ cpu->r[0] = cpu->lr;
|
|
/* 02861B88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02861B88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02861B88 */ cpu->r[1] = _t0;
|
|
/* 02861B8C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02861B8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02861B90 */ cpu->r[31] = cpu->r[4];
|
|
/* 02861B94 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02861B94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02861B98 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02861B98 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02861B9C */ cpu->r[30] = cpu->r[3];
|
|
/* 02861B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02861BA0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861BA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02861BA4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02861BA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02861BA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861BA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02861BA8 */ if (_t7) goto L_02861C30; else goto L_02861BAC;
|
|
L_02861BAC: ; // 0x2861bac
|
|
/* 02861BAC */ cpu->r[9] = 0x10130000u;
|
|
/* 02861BB0 */ _t8 = cpu->r[30] + 0x000000F4u;
|
|
/* 02861BB0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02861BB4 */ cpu->r[9] = cpu->r[9] + 0x0000517Cu;
|
|
/* 02861BB8 */ cpu->r[29] = 0x00000000u;
|
|
/* 02861BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02861BC0 */ _t9 = cpu->r[30] + 0x00000008u;
|
|
/* 02861BC0 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02861BC4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861BC4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02861BC4 */ if (_t11) goto L_02861BF8; else goto L_02861BC8;
|
|
L_02861BC8: ; // 0x2861bc8
|
|
/* 02861BC8 */ _t12 = cpu->r[28] + 0x00000015u;
|
|
/* 02861BC8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02861BCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02861BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861BD0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861BD0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02861BD0 */ if (_t14) goto L_02861BD4; else goto L_02861BF8;
|
|
L_02861BD4: ; // 0x2861bd4
|
|
/* 02861BD4 */ _t15 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02861BD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02861BD8 */ _t16 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02861BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02861BDC */ cpu->ctr = cpu->r[0];
|
|
/* 02861BE0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02861BE4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02861BE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02861BEC */ cpu->r[3] = cpu->r[28];
|
|
/* 02861BF0 */ Gambit_fn_02869EAC(cpu);
|
|
/* 02861BF4 */ _t17 = cpu->r[30] + 0x000000F4u;
|
|
/* 02861BF4 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
L_02861BF8: ; // 0x2861bf8
|
|
/* 02861BF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861BFC */ Gambit_fn_02861AEC(cpu);
|
|
/* 02861C00 */ _t18 = cpu->r[30] + 0x000000FCu;
|
|
/* 02861C00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02861C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861C08 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861C08 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02861C08 */ if (_t20) goto L_02861C14; else goto L_02861C0C;
|
|
L_02861C0C: ; // 0x2861c0c
|
|
/* 02861C0C */ Gambit_fn_02869EAC(cpu);
|
|
/* 02861C10 */ _t21 = cpu->r[30] + 0x000000FCu;
|
|
/* 02861C10 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
L_02861C14: ; // 0x2861c14
|
|
/* 02861C14 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861C18 */ cpu->r[4] = 0x00000000u;
|
|
/* 02861C1C */ Gambit_fn_0285F770(cpu);
|
|
/* 02861C20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02861C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861C24 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861C24 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02861C24 */ if (_t23) goto L_02861C30; else goto L_02861C28;
|
|
L_02861C28: ; // 0x2861c28
|
|
/* 02861C28 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861C2C */ Gambit_fn_02801BB0(cpu);
|
|
L_02861C30: ; // 0x2861c30
|
|
/* 02861C30 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02861C30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02861C34 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861C34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02861C38 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02861C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02861C3C */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02861C3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02861C40 */ cpu->lr = cpu->r[0];
|
|
/* 02861C44 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02861C44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02861C48 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02861C4C */ return;
|
|
}
|
|
|
|
// fn_02861B88 @ 0x2861b88
|
|
void Gambit_fn_02861B88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02861B88: ; // 0x2861b88
|
|
/* 02861B88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02861B88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02861B88 */ cpu->r[1] = _t0;
|
|
/* 02861B8C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02861B8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02861B90 */ cpu->r[31] = cpu->r[4];
|
|
/* 02861B94 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02861B94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02861B98 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02861B98 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02861B9C */ cpu->r[30] = cpu->r[3];
|
|
/* 02861B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02861BA0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861BA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02861BA4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02861BA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02861BA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861BA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02861BA8 */ if (_t7) goto L_02861C30; else goto L_02861BAC;
|
|
L_02861BAC: ; // 0x2861bac
|
|
/* 02861BAC */ cpu->r[9] = 0x10130000u;
|
|
/* 02861BB0 */ _t8 = cpu->r[30] + 0x000000F4u;
|
|
/* 02861BB0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02861BB4 */ cpu->r[9] = cpu->r[9] + 0x0000517Cu;
|
|
/* 02861BB8 */ cpu->r[29] = 0x00000000u;
|
|
/* 02861BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02861BC0 */ _t9 = cpu->r[30] + 0x00000008u;
|
|
/* 02861BC0 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02861BC4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861BC4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02861BC4 */ if (_t11) goto L_02861BF8; else goto L_02861BC8;
|
|
L_02861BC8: ; // 0x2861bc8
|
|
/* 02861BC8 */ _t12 = cpu->r[28] + 0x00000015u;
|
|
/* 02861BC8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02861BCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02861BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861BD0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861BD0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02861BD0 */ if (_t14) goto L_02861BD4; else goto L_02861BF8;
|
|
L_02861BD4: ; // 0x2861bd4
|
|
/* 02861BD4 */ _t15 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02861BD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02861BD8 */ _t16 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02861BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02861BDC */ cpu->ctr = cpu->r[0];
|
|
/* 02861BE0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02861BE4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02861BE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02861BEC */ cpu->r[3] = cpu->r[28];
|
|
/* 02861BF0 */ Gambit_fn_02869EAC(cpu);
|
|
/* 02861BF4 */ _t17 = cpu->r[30] + 0x000000F4u;
|
|
/* 02861BF4 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
L_02861BF8: ; // 0x2861bf8
|
|
/* 02861BF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861BFC */ Gambit_fn_02861AEC(cpu);
|
|
/* 02861C00 */ _t18 = cpu->r[30] + 0x000000FCu;
|
|
/* 02861C00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02861C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02861C08 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861C08 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02861C08 */ if (_t20) goto L_02861C14; else goto L_02861C0C;
|
|
L_02861C0C: ; // 0x2861c0c
|
|
/* 02861C0C */ Gambit_fn_02869EAC(cpu);
|
|
/* 02861C10 */ _t21 = cpu->r[30] + 0x000000FCu;
|
|
/* 02861C10 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
L_02861C14: ; // 0x2861c14
|
|
/* 02861C14 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861C18 */ cpu->r[4] = 0x00000000u;
|
|
/* 02861C1C */ Gambit_fn_0285F770(cpu);
|
|
/* 02861C20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02861C20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861C24 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861C24 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02861C24 */ if (_t23) goto L_02861C30; else goto L_02861C28;
|
|
L_02861C28: ; // 0x2861c28
|
|
/* 02861C28 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861C2C */ Gambit_fn_02801BB0(cpu);
|
|
L_02861C30: ; // 0x2861c30
|
|
/* 02861C30 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02861C30 */ cpu->r[28] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02861C34 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861C34 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02861C38 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02861C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02861C3C */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02861C3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02861C40 */ cpu->lr = cpu->r[0];
|
|
/* 02861C44 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02861C44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02861C48 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02861C4C */ return;
|
|
}
|
|
|
|
// fn_02861C50 @ 0x2861c50
|
|
void Gambit_fn_02861C50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02861798: ; // 0x2861798
|
|
/* 02861798 */ cpu->r[0] = cpu->lr;
|
|
/* 0286179C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0286179C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0286179C */ cpu->r[1] = _t0;
|
|
/* 028617A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028617A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028617A4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028617A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028617A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028617A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028617AC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028617AC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028617B0 */ cpu->r[29] = cpu->r[3];
|
|
/* 028617B4 */ _t5 = cpu->r[29] + 0x000000B4u;
|
|
/* 028617B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028617B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028617BC */ cpu->r[30] = cpu->r[5];
|
|
/* 028617C0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028617C0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028617C0 */ if (_t7) goto L_028617E0; else goto L_028617C4;
|
|
L_028617C4: ; // 0x28617c4
|
|
/* 028617C4 */ _t8 = cpu->r[29] + 0x000000A4u;
|
|
/* 028617C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028617C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 028617CC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028617CC */ _t10 = _t9 & 0x00000001u;
|
|
/* 028617CC */ if (_t10) goto L_028617E0; else goto L_028617D0;
|
|
L_028617D0: ; // 0x28617d0
|
|
/* 028617D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 028617D4 */ Gambit_fn_0286143C(cpu);
|
|
/* 028617D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
|
|
/* 028617DC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028617DC */ _t12 = _t11 & 0x00000001u;
|
|
/* 028617DC */ if (_t12) goto L_02861800; else goto L_028617E0;
|
|
L_028617E0: ; // 0x28617e0
|
|
/* 028617E0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028617E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028617E4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028617E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028617E8 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 028617E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028617EC */ cpu->lr = cpu->r[0];
|
|
/* 028617F0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 028617F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028617F4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028617F8 */ cpu->r[3] = 0x00000000u;
|
|
/* 028617FC */ return;
|
|
L_02861800: ; // 0x2861800
|
|
/* 02861800 */ cpu->r[31] = cpu->r[3] - cpu->r[30];
|
|
/* 02861804 */ cpu->r[9] = rbrew_rlwinm(cpu->r[30], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02861808 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0286180C */ cpu->r[3] = cpu->r[11] + cpu->r[9];
|
|
/* 02861810 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02861810 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02861810 */ if (_t18) goto L_02861814; else goto L_02861818;
|
|
L_02861814: ; // 0x2861814
|
|
/* 02861814 */ cpu->r[31] = cpu->r[6];
|
|
L_02861818: ; // 0x2861818
|
|
/* 02861818 */ cpu->r[5] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 0286181C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02861820 */ _t19 = cpu->r[29] + 0x000000A4u;
|
|
/* 02861820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02861824 */ _t20 = cpu->r[12] + 0x00000000u;
|
|
/* 02861824 */ cpu->r[9] = rbrew_read16(cpu->mem, _t20);
|
|
/* 02861828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0286182C */ cpu->r[0] = cpu->r[12];
|
|
/* 02861830 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861830 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02861830 */ if (_t22) goto L_0286183C; else goto L_02861834;
|
|
L_02861834: ; // 0x2861834
|
|
/* 02861834 */ cpu->r[9] = cpu->r[30] + cpu->r[31];
|
|
/* 02861838 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
L_0286183C: ; // 0x286183c
|
|
/* 0286183C */ _t23 = cpu->r[29] + 0x000000CEu;
|
|
/* 0286183C */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[9]);
|
|
/* 02861840 */ cpu->r[8] = 0x00000000u;
|
|
/* 02861844 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02861848 */ _t24 = cpu->r[10] + cpu->r[0];
|
|
/* 02861848 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[8]);
|
|
/* 0286184C */ _t25 = cpu->r[29] + 0x000000D0u;
|
|
/* 0286184C */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02861850 */ cpu->r[0] = cpu->r[0] | 0x00000020u;
|
|
/* 02861854 */ _t26 = cpu->r[29] + 0x000000D0u;
|
|
/* 02861854 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
|
|
/* 02861858 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0286185C */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286185C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02861860 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02861864 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02861864 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02861868 */ cpu->lr = cpu->r[0];
|
|
/* 0286186C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0286186C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02861870 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02861874 */ return;
|
|
L_02861C50: ; // 0x2861c50
|
|
/* 02861C50 */ cpu->r[11] = cpu->r[4];
|
|
/* 02861C54 */ _t31 = cpu->r[11] + 0x00000000u;
|
|
/* 02861C54 */ cpu->r[0] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02861C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861C5C */ cpu->r[6] = 0x00000000u;
|
|
/* 02861C60 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861C60 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02861C60 */ if (_t33) goto L_02861C74; else goto L_02861C64;
|
|
L_02861C64: ; // 0x2861c64
|
|
/* 02861C64 */ _t34 = cpu->r[11] + 0x00000002u;
|
|
/* 02861C64 */ cpu->r[12] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02861C64 */ cpu->r[11] = _t34;
|
|
/* 02861C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02861C6C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02861C70 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861C70 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02861C70 */ if (_t36) goto L_02861C74; else goto L_02861C64;
|
|
L_02861C74: ; // 0x2861c74
|
|
/* 02861C74 */ goto L_02861798;
|
|
}
|
|
|
|
// fn_02861C78 @ 0x2861c78
|
|
void Gambit_fn_02861C78(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02861C78: ; // 0x2861c78
|
|
/* 02861C78 */ _t0 = cpu->r[3] + 0x000000B4u;
|
|
/* 02861C78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02861C7C */ return;
|
|
}
|
|
|
|
// fn_02861C80 @ 0x2861c80
|
|
void Gambit_fn_02861C80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02861C80: ; // 0x2861c80
|
|
/* 02861C80 */ cpu->r[10] = cpu->r[3] + 0x000000ACu;
|
|
/* 02861C84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000001Fu, 0x00000001u, 0x0000001Du);
|
|
/* 02861C88 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02861C8C */ cpu->r[7] = cpu->r[10] + cpu->r[0];
|
|
/* 02861C90 */ _t0 = cpu->r[7] + cpu->r[8];
|
|
/* 02861C90 */ cpu->r[9] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02861C94 */ cpu->r[10] = cpu->r[9] ^ cpu->r[5];
|
|
/* 02861C98 */ cpu->r[11] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02861C9C */ _t1 = cpu->r[3] + 0x000000D0u;
|
|
/* 02861C9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02861CA0 */ cpu->r[11] = cpu->r[10] - cpu->r[11];
|
|
/* 02861CA4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02861CA8 */ cpu->r[12] = cpu->r[12] | cpu->r[11];
|
|
/* 02861CAC */ _t2 = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x0000001Au, 0x0000001Au);
|
|
/* 02861CAC */ _t3 = cpu->r[0] & 0xFFFFFFDFu;
|
|
/* 02861CAC */ cpu->r[0] = _t3 | _t2;
|
|
/* 02861CB0 */ _t4 = cpu->r[3] + 0x000000D0u;
|
|
/* 02861CB0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[0]);
|
|
/* 02861CB4 */ _t5 = cpu->r[7] + cpu->r[8];
|
|
/* 02861CB4 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[5]);
|
|
/* 02861CB8 */ return;
|
|
}
|
|
|
|
// fn_02861CBC @ 0x2861cbc
|
|
void Gambit_fn_02861CBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02861CBC: ; // 0x2861cbc
|
|
/* 02861CBC */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02861CBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02861CBC */ cpu->r[1] = _t0;
|
|
/* 02861CC0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02861CC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02861CC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02861CC8 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02861CC8 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 02861CCC */ /* nop */
|
|
/* 02861CD0 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02861CD0 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02861CD4 */ /* nop */
|
|
/* 02861CD8 */ _t4 = cpu->r[1] + 0x00000040u;
|
|
/* 02861CD8 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02861CDC */ _t5 = cpu->r[1] + 0x00000028u;
|
|
/* 02861CDC */ rbrew_write_f32(cpu->mem, _t5, cpu->f[29]);
|
|
/* 02861CE0 */ /* nop */
|
|
/* 02861CE4 */ _t6 = cpu->r[1] + 0x00000038u;
|
|
/* 02861CE4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 02861CE8 */ _t7 = cpu->r[1] + 0x00000048u;
|
|
/* 02861CE8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 02861CEC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02861CEC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02861CF0 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02861CF0 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02861CF4 */ _t10 = cpu->r[1] + 0x00000054u;
|
|
/* 02861CF4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02861CF8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02861CFC */ cpu->r[12] = 0x10130000u;
|
|
/* 02861D00 */ _t11 = cpu->r[29] + 0x000000D1u;
|
|
/* 02861D00 */ cpu->r[8] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02861D04 */ cpu->r[31] = cpu->r[5];
|
|
/* 02861D08 */ cpu->r[11] = 0x10130000u;
|
|
/* 02861D0C */ _t12 = cpu->r[12] + 0x00005158u;
|
|
/* 02861D0C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02861D10 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02861D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02861D14 */ _t13 = cpu->r[11] + 0x00005150u;
|
|
/* 02861D14 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02861D18 */ cpu->r[30] = cpu->r[4];
|
|
/* 02861D1C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861D1C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02861D1C */ if (_t15) goto L_02861D38; else goto L_02861D20;
|
|
L_02861D20: ; // 0x2861d20
|
|
/* 02861D20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02861D24 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861D24 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02861D24 */ if (_t17) goto L_02861D60; else goto L_02861D28;
|
|
L_02861D28: ; // 0x2861d28
|
|
/* 02861D28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02861D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861D2C */ cpu->f[29] = cpu->f[31];
|
|
/* 02861D30 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861D30 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02861D30 */ if (_t19) goto L_02861D80; else goto L_02861D34;
|
|
L_02861D34: ; // 0x2861d34
|
|
/* 02861D34 */ goto L_02861D6C;
|
|
L_02861D38: ; // 0x2861d38
|
|
/* 02861D38 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 02861D38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02861D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02861D40 */ cpu->f[1] = cpu->f[0] * cpu->f[30];
|
|
/* 02861D44 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861D44 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02861D44 */ if (_t22) goto L_02861D50; else goto L_02861D48;
|
|
L_02861D48: ; // 0x2861d48
|
|
/* 02861D48 */ Gambit_fn_02C88498(cpu);
|
|
/* 02861D4C */ _t23 = cpu->r[29] + 0x000000D1u;
|
|
/* 02861D4C */ cpu->r[8] = rbrew_read8(cpu->mem, _t23);
|
|
L_02861D50: ; // 0x2861d50
|
|
/* 02861D50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02861D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861D54 */ cpu->f[29] = cpu->f[1];
|
|
/* 02861D58 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861D58 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02861D58 */ if (_t25) goto L_02861D80; else goto L_02861D5C;
|
|
L_02861D5C: ; // 0x2861d5c
|
|
/* 02861D5C */ goto L_02861D6C;
|
|
L_02861D60: ; // 0x2861d60
|
|
/* 02861D60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02861D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861D64 */ _t26 = cpu->r[30] + 0x00000000u;
|
|
/* 02861D64 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02861D68 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861D68 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02861D68 */ if (_t28) goto L_02861D80; else goto L_02861D6C;
|
|
L_02861D6C: ; // 0x2861d6c
|
|
/* 02861D6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02861D70 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861D70 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02861D70 */ if (_t30) goto L_02861DA0; else goto L_02861D74;
|
|
L_02861D74: ; // 0x2861d74
|
|
/* 02861D74 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02861D74 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[29]);
|
|
/* 02861D78 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861D78 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
|
|
/* 02861D7C */ goto L_02861DAC;
|
|
L_02861D80: ; // 0x2861d80
|
|
/* 02861D80 */ _t33 = cpu->r[30] + 0x00000004u;
|
|
/* 02861D80 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02861D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02861D88 */ cpu->f[1] = cpu->f[13] * cpu->f[30];
|
|
/* 02861D8C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861D8C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02861D8C */ if (_t35) goto L_02861D94; else goto L_02861D90;
|
|
L_02861D90: ; // 0x2861d90
|
|
/* 02861D90 */ Gambit_fn_02C88498(cpu);
|
|
L_02861D94: ; // 0x2861d94
|
|
/* 02861D94 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02861D94 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[29]);
|
|
/* 02861D98 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861D98 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[1]);
|
|
/* 02861D9C */ goto L_02861DAC;
|
|
L_02861DA0: ; // 0x2861da0
|
|
/* 02861DA0 */ _t38 = cpu->r[30] + 0x00000004u;
|
|
/* 02861DA0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02861DA4 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02861DA4 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[29]);
|
|
/* 02861DA8 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861DA8 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[31]);
|
|
L_02861DAC: ; // 0x2861dac
|
|
/* 02861DAC */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02861DAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02861DB0 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861DB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02861DB4 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02861DB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02861DB8 */ _t44 = cpu->r[1] + 0x00000048u;
|
|
/* 02861DB8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02861DBC */ _t45 = cpu->r[1] + 0x00000028u;
|
|
/* 02861DBC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02861DC0 */ _t46 = cpu->r[1] + 0x00000040u;
|
|
/* 02861DC0 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 02861DC4 */ _t47 = cpu->r[1] + 0x00000038u;
|
|
/* 02861DC4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02861DC8 */ _t48 = cpu->r[1] + 0x00000020u;
|
|
/* 02861DC8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t48);
|
|
/* 02861DCC */ _t49 = cpu->r[1] + 0x00000030u;
|
|
/* 02861DCC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t49);
|
|
/* 02861DD0 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02861DD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02861DD4 */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02861DD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02861DD8 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02861DD8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02861DD8 */ if (_t53) goto L_02861DDC; // else: addr-0 trap, fall-through
|
|
L_02861DDC: ; // 0x2861ddc
|
|
/* 02861DDC */ _t54 = cpu->r[1] + 0x00000054u;
|
|
/* 02861DDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02861DE0 */ cpu->lr = cpu->r[0];
|
|
/* 02861DE4 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02861DE8 */ return;
|
|
}
|
|
|
|
// fn_02861DEC @ 0x2861dec
|
|
void Gambit_fn_02861DEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02861DEC: ; // 0x2861dec
|
|
/* 02861DEC */ cpu->r[0] = cpu->lr;
|
|
/* 02861DF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02861DF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02861DF0 */ cpu->r[1] = _t0;
|
|
/* 02861DF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861DF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02861DF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02861DFC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02861DFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02861E00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02861E00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02861E04 */ _t4 = cpu->r[31] + 0x000000B4u;
|
|
/* 02861E04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02861E08 */ cpu->r[30] = cpu->r[4];
|
|
/* 02861E0C */ _t5 = cpu->r[30] + 0x00000028u;
|
|
/* 02861E0C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02861E10 */ _t6 = cpu->r[31] + 0x000000B4u;
|
|
/* 02861E10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02861E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02861E18 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861E18 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02861E18 */ if (_t8) goto L_02861E60; else goto L_02861E1C;
|
|
L_02861E1C: ; // 0x2861e1c
|
|
/* 02861E1C */ _t9 = cpu->r[31] + 0x000000BCu;
|
|
/* 02861E1C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02861E20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861E24 */ _t10 = cpu->r[31] + 0x000000B8u;
|
|
/* 02861E24 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02861E28 */ Gambit_fn_028543D0(cpu);
|
|
/* 02861E2C */ _t11 = cpu->r[31] + 0x000000C0u;
|
|
/* 02861E2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02861E30 */ _t12 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02861E30 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 02861E34 */ _t13 = cpu->r[31] + 0x000000C4u;
|
|
/* 02861E34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02861E38 */ _t14 = cpu->r[30] + 0x00000038u;
|
|
/* 02861E38 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02861E3C */ _t15 = cpu->r[31] + 0x000000D0u;
|
|
/* 02861E3C */ cpu->r[10] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02861E40 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02861E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02861E44 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861E44 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02861E44 */ if (_t17) goto L_02861E54; else goto L_02861E48;
|
|
L_02861E48: ; // 0x2861e48
|
|
/* 02861E48 */ _t18 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02861E48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02861E4C */ _t19 = cpu->r[30] + 0x00000034u;
|
|
/* 02861E4C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02861E50 */ goto L_02861E60;
|
|
L_02861E54: ; // 0x2861e54
|
|
/* 02861E54 */ cpu->r[9] = 0x10130000u;
|
|
/* 02861E58 */ _t20 = cpu->r[9] + 0x0000515Cu;
|
|
/* 02861E58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02861E5C */ _t21 = cpu->r[30] + 0x00000034u;
|
|
/* 02861E5C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
L_02861E60: ; // 0x2861e60
|
|
/* 02861E60 */ _t22 = cpu->r[31] + 0x000000C8u;
|
|
/* 02861E60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02861E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861E68 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861E68 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02861E68 */ if (_t24) goto L_02861E70; else goto L_02861E6C;
|
|
L_02861E6C: ; // 0x2861e6c
|
|
/* 02861E6C */ _t25 = cpu->r[30] + 0x00000048u;
|
|
/* 02861E6C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02861E70: ; // 0x2861e70
|
|
/* 02861E70 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02861E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02861E74 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02861E74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02861E78 */ cpu->lr = cpu->r[0];
|
|
/* 02861E7C */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861E7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02861E80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02861E84 */ return;
|
|
}
|
|
|
|
// fn_02861DF0 @ 0x2861df0
|
|
void Gambit_fn_02861DF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02861DF0: ; // 0x2861df0
|
|
/* 02861DF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02861DF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02861DF0 */ cpu->r[1] = _t0;
|
|
/* 02861DF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861DF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02861DF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02861DFC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02861DFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02861E00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02861E00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02861E04 */ _t4 = cpu->r[31] + 0x000000B4u;
|
|
/* 02861E04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02861E08 */ cpu->r[30] = cpu->r[4];
|
|
/* 02861E0C */ _t5 = cpu->r[30] + 0x00000028u;
|
|
/* 02861E0C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02861E10 */ _t6 = cpu->r[31] + 0x000000B4u;
|
|
/* 02861E10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02861E14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02861E18 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861E18 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02861E18 */ if (_t8) goto L_02861E60; else goto L_02861E1C;
|
|
L_02861E1C: ; // 0x2861e1c
|
|
/* 02861E1C */ _t9 = cpu->r[31] + 0x000000BCu;
|
|
/* 02861E1C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02861E20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861E24 */ _t10 = cpu->r[31] + 0x000000B8u;
|
|
/* 02861E24 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02861E28 */ Gambit_fn_028543D0(cpu);
|
|
/* 02861E2C */ _t11 = cpu->r[31] + 0x000000C0u;
|
|
/* 02861E2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02861E30 */ _t12 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02861E30 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 02861E34 */ _t13 = cpu->r[31] + 0x000000C4u;
|
|
/* 02861E34 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02861E38 */ _t14 = cpu->r[30] + 0x00000038u;
|
|
/* 02861E38 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02861E3C */ _t15 = cpu->r[31] + 0x000000D0u;
|
|
/* 02861E3C */ cpu->r[10] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02861E40 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02861E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02861E44 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861E44 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02861E44 */ if (_t17) goto L_02861E54; else goto L_02861E48;
|
|
L_02861E48: ; // 0x2861e48
|
|
/* 02861E48 */ _t18 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02861E48 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02861E4C */ _t19 = cpu->r[30] + 0x00000034u;
|
|
/* 02861E4C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02861E50 */ goto L_02861E60;
|
|
L_02861E54: ; // 0x2861e54
|
|
/* 02861E54 */ cpu->r[9] = 0x10130000u;
|
|
/* 02861E58 */ _t20 = cpu->r[9] + 0x0000515Cu;
|
|
/* 02861E58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02861E5C */ _t21 = cpu->r[30] + 0x00000034u;
|
|
/* 02861E5C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[0]);
|
|
L_02861E60: ; // 0x2861e60
|
|
/* 02861E60 */ _t22 = cpu->r[31] + 0x000000C8u;
|
|
/* 02861E60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02861E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861E68 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861E68 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02861E68 */ if (_t24) goto L_02861E70; else goto L_02861E6C;
|
|
L_02861E6C: ; // 0x2861e6c
|
|
/* 02861E6C */ _t25 = cpu->r[30] + 0x00000048u;
|
|
/* 02861E6C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02861E70: ; // 0x2861e70
|
|
/* 02861E70 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02861E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02861E74 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02861E74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02861E78 */ cpu->lr = cpu->r[0];
|
|
/* 02861E7C */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861E7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02861E80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02861E84 */ return;
|
|
}
|
|
|
|
// fn_02861E88 @ 0x2861e88
|
|
void Gambit_fn_02861E88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
|
|
|
|
L_02861E88: ; // 0x2861e88
|
|
/* 02861E88 */ cpu->r[0] = cpu->lr;
|
|
/* 02861E8C */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 02861E8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02861E8C */ cpu->r[1] = _t0;
|
|
/* 02861E90 */ _t1 = cpu->r[1] + 0x00000090u;
|
|
/* 02861E90 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02861E94 */ _t2 = cpu->r[1] + 0x00000088u;
|
|
/* 02861E94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02861E98 */ cpu->r[30] = cpu->r[3];
|
|
/* 02861E9C */ /* nop */
|
|
/* 02861EA0 */ _t3 = cpu->r[1] + 0x00000098u;
|
|
/* 02861EA0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02861EA4 */ _t4 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02861EA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02861EA8 */ _t5 = cpu->r[1] + 0x000000A4u;
|
|
/* 02861EA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02861EAC */ _t6 = cpu->r[30] + 0x000000B4u;
|
|
/* 02861EAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02861EB0 */ cpu->r[12] = 0x10130000u;
|
|
/* 02861EB4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02861EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861EBC */ _t7 = cpu->r[12] + 0x00005150u;
|
|
/* 02861EBC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02861EC0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861EC0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02861EC0 */ if (_t9) goto L_02861EC4; else goto L_02861F10;
|
|
L_02861EC4: ; // 0x2861ec4
|
|
/* 02861EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02861EC8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861EC8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02861EC8 */ if (_t11) goto L_02861ECC; else goto L_02861EDC;
|
|
L_02861ECC: ; // 0x2861ecc
|
|
/* 02861ECC */ cpu->r[3] = 0x00000010u;
|
|
/* 02861ED0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02861ED4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02861ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02861ED8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861ED8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02861ED8 */ if (_t13) goto L_0286203C; else goto L_02861EDC;
|
|
L_02861EDC: ; // 0x2861edc
|
|
/* 02861EDC */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02861EDC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]);
|
|
/* 02861EE0 */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 02861EE0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]);
|
|
/* 02861EE4 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02861EE4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[31]);
|
|
/* 02861EE8 */ _t17 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02861EE8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
|
|
/* 02861EEC */ _t18 = cpu->r[1] + 0x00000098u;
|
|
/* 02861EEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02861EF0 */ _t19 = cpu->r[1] + 0x00000088u;
|
|
/* 02861EF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02861EF4 */ _t20 = cpu->r[1] + 0x00000090u;
|
|
/* 02861EF4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 02861EF8 */ _t21 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02861EF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02861EFC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02861EFC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02861EFC */ if (_t23) goto L_02861F00; // else: addr-0 trap, fall-through
|
|
L_02861F00: ; // 0x2861f00
|
|
/* 02861F00 */ _t24 = cpu->r[1] + 0x000000A4u;
|
|
/* 02861F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02861F04 */ cpu->lr = cpu->r[0];
|
|
/* 02861F08 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02861F0C */ return;
|
|
L_02861F10: ; // 0x2861f10
|
|
/* 02861F10 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02861F14 */ Gambit_fn_028586D8(cpu);
|
|
/* 02861F18 */ _t25 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02861F18 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[31]);
|
|
/* 02861F1C */ cpu->r[3] = cpu->r[30];
|
|
/* 02861F20 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02861F24 */ _t26 = cpu->r[1] + 0x00000050u;
|
|
/* 02861F24 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[31]);
|
|
/* 02861F28 */ Gambit_fn_02861DEC(cpu);
|
|
/* 02861F2C */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02861F2C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[31]);
|
|
/* 02861F30 */ _t28 = cpu->r[30] + 0x000000A4u;
|
|
/* 02861F30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02861F34 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02861F34 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]);
|
|
/* 02861F38 */ _t30 = cpu->r[30] + 0x000000CEu;
|
|
/* 02861F38 */ cpu->r[6] = rbrew_read16(cpu->mem, _t30);
|
|
/* 02861F3C */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02861F40 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861F40 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]);
|
|
/* 02861F44 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02861F48 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02861F48 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
|
|
/* 02861F4C */ Gambit_fn_02858F0C(cpu);
|
|
/* 02861F50 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02861F50 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02861F54 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02861F54 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02861F58 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861F58 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02861F5C */ cpu->f[12] = cpu->f[11] - cpu->f[12];
|
|
/* 02861F60 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02861F60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02861F64 */ cpu->f[13] = cpu->f[0] - cpu->f[10];
|
|
/* 02861F68 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02861F68 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
|
|
/* 02861F6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02861F70 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02861F70 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 02861F74 */ Gambit_fn_0285F928(cpu);
|
|
/* 02861F78 */ cpu->r[5] = 0x00000000u;
|
|
/* 02861F7C */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 02861F7C */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
/* 02861F80 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861F84 */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 02861F84 */ rbrew_write32(cpu->mem, _t40, cpu->r[4]);
|
|
/* 02861F88 */ cpu->r[4] = cpu->r[30] + 0x0000003Cu;
|
|
/* 02861F8C */ Gambit_fn_02861CBC(cpu);
|
|
/* 02861F90 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 02861F90 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]);
|
|
/* 02861F94 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02861F94 */ rbrew_write32(cpu->mem, _t42, cpu->r[4]);
|
|
/* 02861F98 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861F9C */ cpu->r[5] = 0x00000001u;
|
|
/* 02861FA0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02861FA4 */ Gambit_fn_02861CBC(cpu);
|
|
/* 02861FA8 */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 02861FA8 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 02861FAC */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 02861FAC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02861FB0 */ _t45 = cpu->r[1] + 0x00000028u;
|
|
/* 02861FB0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02861FB4 */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 02861FB4 */ rbrew_write32(cpu->mem, _t46, cpu->r[4]);
|
|
/* 02861FB8 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 02861FB8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02861FBC */ cpu->f[9] = cpu->f[11] - cpu->f[13];
|
|
/* 02861FC0 */ _t48 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02861FC0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02861FC4 */ _t49 = cpu->r[1] + 0x00000020u;
|
|
/* 02861FC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02861FC8 */ cpu->f[10] = cpu->f[11] - cpu->f[12];
|
|
/* 02861FCC */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02861FCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02861FD0 */ cpu->f[0] = cpu->f[0] + cpu->f[9];
|
|
/* 02861FD4 */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02861FD4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02861FD8 */ cpu->f[9] = cpu->f[13] - cpu->f[10];
|
|
/* 02861FDC */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02861FDC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02861FE0 */ cpu->f[10] = cpu->f[0] + cpu->f[11];
|
|
/* 02861FE4 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02861FE4 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[0]);
|
|
/* 02861FE8 */ cpu->f[12] = cpu->f[9] - cpu->f[13];
|
|
/* 02861FEC */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861FEC */ rbrew_write_f32(cpu->mem, _t54, cpu->f[9]);
|
|
/* 02861FF0 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 02861FF0 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[10]);
|
|
/* 02861FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02861FF8 */ _t56 = cpu->r[1] + 0x00000014u;
|
|
/* 02861FF8 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[12]);
|
|
/* 02861FFC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861FFC */ _t58 = _t57 & 0x00000001u;
|
|
/* 02861FFC */ if (_t58) goto L_02862000; else goto L_02862014;
|
|
L_02862000: ; // 0x2862000
|
|
/* 02862000 */ cpu->r[3] = 0x00000010u;
|
|
/* 02862004 */ Gambit_fn_02801A78(cpu);
|
|
/* 02862008 */ cpu->r[31] = cpu->r[3];
|
|
/* 02862008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0286200C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286200C */ _t60 = _t59 & 0x00000001u;
|
|
/* 0286200C */ if (_t60) goto L_02862030; else goto L_02862010;
|
|
L_02862010: ; // 0x2862010
|
|
/* 02862010 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 02862010 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t61);
|
|
L_02862014: ; // 0x2862014
|
|
/* 02862014 */ _t62 = cpu->r[31] + 0x00000000u;
|
|
/* 02862014 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
|
|
/* 02862018 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862018 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0286201C */ _t64 = cpu->r[31] + 0x00000004u;
|
|
/* 0286201C */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
/* 02862020 */ _t65 = cpu->r[1] + 0x00000010u;
|
|
/* 02862020 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02862024 */ _t66 = cpu->r[31] + 0x00000008u;
|
|
/* 02862024 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[10]);
|
|
/* 02862028 */ _t67 = cpu->r[1] + 0x00000014u;
|
|
/* 02862028 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 0286202C */ _t68 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0286202C */ rbrew_write_f32(cpu->mem, _t68, cpu->f[11]);
|
|
L_02862030: ; // 0x2862030
|
|
/* 02862030 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02862034 */ cpu->r[4] = 0x00000002u;
|
|
/* 02862038 */ Gambit_fn_02858758(cpu);
|
|
L_0286203C: ; // 0x286203c
|
|
/* 0286203C */ _t69 = cpu->r[1] + 0x00000098u;
|
|
/* 0286203C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02862040 */ _t70 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02862040 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02862044 */ _t71 = cpu->r[1] + 0x00000090u;
|
|
/* 02862044 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t71);
|
|
/* 02862048 */ _t72 = cpu->r[1] + 0x00000088u;
|
|
/* 02862048 */ cpu->r[30] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0286204C */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0286204C */ _t74 = _t73 & 0x00000001u;
|
|
/* 0286204C */ if (_t74) goto L_02862050; // else: addr-0 trap, fall-through
|
|
L_02862050: ; // 0x2862050
|
|
/* 02862050 */ _t75 = cpu->r[1] + 0x000000A4u;
|
|
/* 02862050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02862054 */ cpu->lr = cpu->r[0];
|
|
/* 02862058 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 0286205C */ return;
|
|
}
|
|
|
|
// fn_02861E8C @ 0x2861e8c
|
|
void Gambit_fn_02861E8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
|
|
|
|
L_02861E8C: ; // 0x2861e8c
|
|
/* 02861E8C */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 02861E8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02861E8C */ cpu->r[1] = _t0;
|
|
/* 02861E90 */ _t1 = cpu->r[1] + 0x00000090u;
|
|
/* 02861E90 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02861E94 */ _t2 = cpu->r[1] + 0x00000088u;
|
|
/* 02861E94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02861E98 */ cpu->r[30] = cpu->r[3];
|
|
/* 02861E9C */ /* nop */
|
|
/* 02861EA0 */ _t3 = cpu->r[1] + 0x00000098u;
|
|
/* 02861EA0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02861EA4 */ _t4 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02861EA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02861EA8 */ _t5 = cpu->r[1] + 0x000000A4u;
|
|
/* 02861EA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02861EAC */ _t6 = cpu->r[30] + 0x000000B4u;
|
|
/* 02861EAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02861EB0 */ cpu->r[12] = 0x10130000u;
|
|
/* 02861EB4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02861EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02861EBC */ _t7 = cpu->r[12] + 0x00005150u;
|
|
/* 02861EBC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02861EC0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861EC0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02861EC0 */ if (_t9) goto L_02861EC4; else goto L_02861F10;
|
|
L_02861EC4: ; // 0x2861ec4
|
|
/* 02861EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02861EC8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861EC8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02861EC8 */ if (_t11) goto L_02861ECC; else goto L_02861EDC;
|
|
L_02861ECC: ; // 0x2861ecc
|
|
/* 02861ECC */ cpu->r[3] = 0x00000010u;
|
|
/* 02861ED0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02861ED4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02861ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02861ED8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861ED8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02861ED8 */ if (_t13) goto L_0286203C; else goto L_02861EDC;
|
|
L_02861EDC: ; // 0x2861edc
|
|
/* 02861EDC */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 02861EDC */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]);
|
|
/* 02861EE0 */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 02861EE0 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[31]);
|
|
/* 02861EE4 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02861EE4 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[31]);
|
|
/* 02861EE8 */ _t17 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02861EE8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[31]);
|
|
/* 02861EEC */ _t18 = cpu->r[1] + 0x00000098u;
|
|
/* 02861EEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02861EF0 */ _t19 = cpu->r[1] + 0x00000088u;
|
|
/* 02861EF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02861EF4 */ _t20 = cpu->r[1] + 0x00000090u;
|
|
/* 02861EF4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 02861EF8 */ _t21 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02861EF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02861EFC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02861EFC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02861EFC */ if (_t23) goto L_02861F00; // else: addr-0 trap, fall-through
|
|
L_02861F00: ; // 0x2861f00
|
|
/* 02861F00 */ _t24 = cpu->r[1] + 0x000000A4u;
|
|
/* 02861F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02861F04 */ cpu->lr = cpu->r[0];
|
|
/* 02861F08 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02861F0C */ return;
|
|
L_02861F10: ; // 0x2861f10
|
|
/* 02861F10 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02861F14 */ Gambit_fn_028586D8(cpu);
|
|
/* 02861F18 */ _t25 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02861F18 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[31]);
|
|
/* 02861F1C */ cpu->r[3] = cpu->r[30];
|
|
/* 02861F20 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02861F24 */ _t26 = cpu->r[1] + 0x00000050u;
|
|
/* 02861F24 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[31]);
|
|
/* 02861F28 */ Gambit_fn_02861DEC(cpu);
|
|
/* 02861F2C */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02861F2C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[31]);
|
|
/* 02861F30 */ _t28 = cpu->r[30] + 0x000000A4u;
|
|
/* 02861F30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02861F34 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02861F34 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]);
|
|
/* 02861F38 */ _t30 = cpu->r[30] + 0x000000CEu;
|
|
/* 02861F38 */ cpu->r[6] = rbrew_read16(cpu->mem, _t30);
|
|
/* 02861F3C */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02861F40 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861F40 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[31]);
|
|
/* 02861F44 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02861F48 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02861F48 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
|
|
/* 02861F4C */ Gambit_fn_02858F0C(cpu);
|
|
/* 02861F50 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02861F50 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02861F54 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02861F54 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02861F58 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861F58 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02861F5C */ cpu->f[12] = cpu->f[11] - cpu->f[12];
|
|
/* 02861F60 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02861F60 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02861F64 */ cpu->f[13] = cpu->f[0] - cpu->f[10];
|
|
/* 02861F68 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02861F68 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
|
|
/* 02861F6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02861F70 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02861F70 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 02861F74 */ Gambit_fn_0285F928(cpu);
|
|
/* 02861F78 */ cpu->r[5] = 0x00000000u;
|
|
/* 02861F7C */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 02861F7C */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
/* 02861F80 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861F84 */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 02861F84 */ rbrew_write32(cpu->mem, _t40, cpu->r[4]);
|
|
/* 02861F88 */ cpu->r[4] = cpu->r[30] + 0x0000003Cu;
|
|
/* 02861F8C */ Gambit_fn_02861CBC(cpu);
|
|
/* 02861F90 */ _t41 = cpu->r[1] + 0x00000028u;
|
|
/* 02861F90 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]);
|
|
/* 02861F94 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02861F94 */ rbrew_write32(cpu->mem, _t42, cpu->r[4]);
|
|
/* 02861F98 */ cpu->r[3] = cpu->r[30];
|
|
/* 02861F9C */ cpu->r[5] = 0x00000001u;
|
|
/* 02861FA0 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02861FA4 */ Gambit_fn_02861CBC(cpu);
|
|
/* 02861FA8 */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 02861FA8 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 02861FAC */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 02861FAC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02861FB0 */ _t45 = cpu->r[1] + 0x00000028u;
|
|
/* 02861FB0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02861FB4 */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 02861FB4 */ rbrew_write32(cpu->mem, _t46, cpu->r[4]);
|
|
/* 02861FB8 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 02861FB8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02861FBC */ cpu->f[9] = cpu->f[11] - cpu->f[13];
|
|
/* 02861FC0 */ _t48 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02861FC0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02861FC4 */ _t49 = cpu->r[1] + 0x00000020u;
|
|
/* 02861FC4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02861FC8 */ cpu->f[10] = cpu->f[11] - cpu->f[12];
|
|
/* 02861FCC */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02861FCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02861FD0 */ cpu->f[0] = cpu->f[0] + cpu->f[9];
|
|
/* 02861FD4 */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02861FD4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02861FD8 */ cpu->f[9] = cpu->f[13] - cpu->f[10];
|
|
/* 02861FDC */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02861FDC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02861FE0 */ cpu->f[10] = cpu->f[0] + cpu->f[11];
|
|
/* 02861FE4 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02861FE4 */ rbrew_write_f32(cpu->mem, _t53, cpu->f[0]);
|
|
/* 02861FE8 */ cpu->f[12] = cpu->f[9] - cpu->f[13];
|
|
/* 02861FEC */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02861FEC */ rbrew_write_f32(cpu->mem, _t54, cpu->f[9]);
|
|
/* 02861FF0 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 02861FF0 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[10]);
|
|
/* 02861FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02861FF8 */ _t56 = cpu->r[1] + 0x00000014u;
|
|
/* 02861FF8 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[12]);
|
|
/* 02861FFC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02861FFC */ _t58 = _t57 & 0x00000001u;
|
|
/* 02861FFC */ if (_t58) goto L_02862000; else goto L_02862014;
|
|
L_02862000: ; // 0x2862000
|
|
/* 02862000 */ cpu->r[3] = 0x00000010u;
|
|
/* 02862004 */ Gambit_fn_02801A78(cpu);
|
|
/* 02862008 */ cpu->r[31] = cpu->r[3];
|
|
/* 02862008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0286200C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286200C */ _t60 = _t59 & 0x00000001u;
|
|
/* 0286200C */ if (_t60) goto L_02862030; else goto L_02862010;
|
|
L_02862010: ; // 0x2862010
|
|
/* 02862010 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 02862010 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t61);
|
|
L_02862014: ; // 0x2862014
|
|
/* 02862014 */ _t62 = cpu->r[31] + 0x00000000u;
|
|
/* 02862014 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
|
|
/* 02862018 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862018 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 0286201C */ _t64 = cpu->r[31] + 0x00000004u;
|
|
/* 0286201C */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
/* 02862020 */ _t65 = cpu->r[1] + 0x00000010u;
|
|
/* 02862020 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02862024 */ _t66 = cpu->r[31] + 0x00000008u;
|
|
/* 02862024 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[10]);
|
|
/* 02862028 */ _t67 = cpu->r[1] + 0x00000014u;
|
|
/* 02862028 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 0286202C */ _t68 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0286202C */ rbrew_write_f32(cpu->mem, _t68, cpu->f[11]);
|
|
L_02862030: ; // 0x2862030
|
|
/* 02862030 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02862034 */ cpu->r[4] = 0x00000002u;
|
|
/* 02862038 */ Gambit_fn_02858758(cpu);
|
|
L_0286203C: ; // 0x286203c
|
|
/* 0286203C */ _t69 = cpu->r[1] + 0x00000098u;
|
|
/* 0286203C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02862040 */ _t70 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02862040 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02862044 */ _t71 = cpu->r[1] + 0x00000090u;
|
|
/* 02862044 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t71);
|
|
/* 02862048 */ _t72 = cpu->r[1] + 0x00000088u;
|
|
/* 02862048 */ cpu->r[30] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0286204C */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0286204C */ _t74 = _t73 & 0x00000001u;
|
|
/* 0286204C */ if (_t74) goto L_02862050; // else: addr-0 trap, fall-through
|
|
L_02862050: ; // 0x2862050
|
|
/* 02862050 */ _t75 = cpu->r[1] + 0x000000A4u;
|
|
/* 02862050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02862054 */ cpu->lr = cpu->r[0];
|
|
/* 02862058 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 0286205C */ return;
|
|
}
|
|
|
|
// fn_02862060 @ 0x2862060
|
|
void Gambit_fn_02862060(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02862060: ; // 0x2862060
|
|
/* 02862060 */ _t0 = cpu->r[3] + 0x000000F4u;
|
|
/* 02862060 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02862064 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02862068 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0286206C */ return;
|
|
}
|
|
|
|
// fn_02862070 @ 0x2862070
|
|
void Gambit_fn_02862070(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02862070: ; // 0x2862070
|
|
/* 02862070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02862074 */ cpu->r[12] = cpu->r[3];
|
|
/* 02862078 */ cpu->r[3] = 0x00000000u;
|
|
/* 0286207C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286207C */ _t1 = _t0 & 0x00000001u;
|
|
/* 0286207C */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 0286207C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0286207C */ goto L_02862080;
|
|
L_02862080: ; // 0x2862080
|
|
/* 02862080 */ _t3 = cpu->r[12] + 0x000000F4u;
|
|
/* 02862080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02862084 */ return;
|
|
}
|
|
|
|
// fn_02862088 @ 0x2862088
|
|
void Gambit_fn_02862088(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02862088: ; // 0x2862088
|
|
/* 02862088 */ _t0 = cpu->r[3] + 0x000000D0u;
|
|
/* 02862088 */ cpu->r[9] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0286208C */ _t1 = cpu->r[3] + 0x000000D1u;
|
|
/* 0286208C */ cpu->r[11] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02862090 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Au, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02862094 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02862098 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 0286209C */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0286209C */ _t3 = _t2 & 0x00000001u;
|
|
/* 0286209C */ if (_t3) goto L_028620A8; else goto L_028620A0;
|
|
L_028620A0: ; // 0x28620a0
|
|
/* 028620A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 028620A4 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028620A4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028620A4 */ if (_t5) goto L_028620A8; else goto L_028620DC;
|
|
L_028620A8: ; // 0x28620a8
|
|
/* 028620A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u);
|
|
/* 028620AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028620AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 028620AC */ if (_t7) goto L_028620F4; else goto L_028620B0;
|
|
L_028620B0: ; // 0x28620b0
|
|
/* 028620B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 028620B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028620B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028620B4 */ if (_t9) goto L_02862104; else goto L_028620B8;
|
|
L_028620B8: ; // 0x28620b8
|
|
/* 028620B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u);
|
|
/* 028620BC */ cpu->r[8] = 0x00000000u;
|
|
/* 028620C0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028620C0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 028620C0 */ if (_t11) goto L_028620C4; else goto L_02862110;
|
|
L_028620C4: ; // 0x28620c4
|
|
/* 028620C4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 028620C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 028620C8 */ cpu->r[8] = cpu->r[8] | 0x00000010u;
|
|
/* 028620CC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028620CC */ _t13 = _t12 & 0x00000001u;
|
|
/* 028620CC */ if (_t13) goto L_028620D0; else goto L_02862130;
|
|
L_028620D0: ; // 0x28620d0
|
|
/* 028620D0 */ cpu->r[8] = cpu->r[8] | 0x00000100u;
|
|
/* 028620D4 */ _t14 = cpu->r[4] + 0x00000044u;
|
|
/* 028620D4 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 028620D8 */ return;
|
|
L_028620DC: ; // 0x28620dc
|
|
/* 028620DC */ cpu->r[7] = 0x10130000u;
|
|
/* 028620E0 */ cpu->r[7] = cpu->r[7] + 0x0000515Fu;
|
|
/* 028620E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u);
|
|
/* 028620E8 */ _t15 = cpu->r[7] + cpu->r[0];
|
|
/* 028620E8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t15);
|
|
/* 028620EC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028620EC */ _t17 = _t16 & 0x00000001u;
|
|
/* 028620EC */ if (_t17) goto L_028620C4; else goto L_028620F0;
|
|
L_028620F0: ; // 0x28620f0
|
|
/* 028620F0 */ goto L_02862110;
|
|
L_028620F4: ; // 0x28620f4
|
|
/* 028620F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u);
|
|
/* 028620F8 */ cpu->r[8] = 0x00000001u;
|
|
/* 028620FC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028620FC */ _t19 = _t18 & 0x00000001u;
|
|
/* 028620FC */ if (_t19) goto L_028620C4; else goto L_02862100;
|
|
L_02862100: ; // 0x2862100
|
|
/* 02862100 */ goto L_02862110;
|
|
L_02862104: ; // 0x2862104
|
|
/* 02862104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u);
|
|
/* 02862108 */ cpu->r[8] = 0x00000002u;
|
|
/* 0286210C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286210C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0286210C */ if (_t21) goto L_028620C4; else goto L_02862110;
|
|
L_02862110: ; // 0x2862110
|
|
/* 02862110 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02862114 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862114 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02862114 */ if (_t23) goto L_02862124; else goto L_02862118;
|
|
L_02862118: ; // 0x2862118
|
|
/* 02862118 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02862118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0286211C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286211C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0286211C */ if (_t25) goto L_028620D0; else goto L_02862120;
|
|
L_02862120: ; // 0x2862120
|
|
/* 02862120 */ goto L_02862130;
|
|
L_02862124: ; // 0x2862124
|
|
/* 02862124 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02862124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02862128 */ cpu->r[8] = cpu->r[8] | 0x00000020u;
|
|
/* 0286212C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286212C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0286212C */ if (_t27) goto L_028620D0; else goto L_02862130;
|
|
L_02862130: ; // 0x2862130
|
|
/* 02862130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000002u);
|
|
/* 02862134 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862134 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02862134 */ if (_t29) goto L_02862140; else goto L_02862138;
|
|
L_02862138: ; // 0x2862138
|
|
/* 02862138 */ _t30 = cpu->r[4] + 0x00000044u;
|
|
/* 02862138 */ rbrew_write32(cpu->mem, _t30, cpu->r[8]);
|
|
/* 0286213C */ return;
|
|
L_02862140: ; // 0x2862140
|
|
/* 02862140 */ cpu->r[8] = cpu->r[8] | 0x00000200u;
|
|
/* 02862144 */ _t31 = cpu->r[4] + 0x00000044u;
|
|
/* 02862144 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 02862148 */ return;
|
|
}
|
|
|
|
// fn_0286214C @ 0x286214c
|
|
void Gambit_fn_0286214C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0286214C: ; // 0x286214c
|
|
/* 0286214C */ cpu->r[0] = cpu->lr;
|
|
/* 02862150 */ cpu->r[5] = 0x10130000u;
|
|
/* 02862154 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02862154 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02862154 */ cpu->r[1] = _t0;
|
|
/* 02862158 */ _t1 = cpu->r[5] + 0x00005150u;
|
|
/* 02862158 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0286215C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 0286215C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02862160 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862160 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02862164 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02862164 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02862168 */ cpu->r[31] = cpu->r[4];
|
|
/* 0286216C */ _t5 = cpu->r[4] + 0x00000014u;
|
|
/* 0286216C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02862170 */ cpu->r[30] = cpu->r[3];
|
|
/* 02862174 */ _t6 = cpu->r[4] + 0x00000018u;
|
|
/* 02862174 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 02862178 */ Gambit_fn_02861DEC(cpu);
|
|
/* 0286217C */ cpu->r[3] = cpu->r[30];
|
|
/* 02862180 */ cpu->r[4] = cpu->r[31];
|
|
/* 02862184 */ Gambit_fn_02862088(cpu);
|
|
/* 02862188 */ cpu->r[7] = cpu->r[30] + 0x000000ACu;
|
|
/* 0286218C */ /* nop */
|
|
/* 02862190 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02862194 */ cpu->r[12] = cpu->r[30] + 0x000000B0u;
|
|
/* 02862198 */ /* nop */
|
|
/* 0286219C */ /* nop */
|
|
/* 028621A0 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 028621A4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 028621A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028621A8 */ /* nop */
|
|
/* 028621AC */ cpu->r[12] = cpu->r[1] + 0x00000010u;
|
|
/* 028621B0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 028621B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 028621B4 */ /* nop */
|
|
/* 028621B8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028621B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028621BC */ /* nop */
|
|
/* 028621C0 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 028621C4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 028621C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 028621C8 */ /* nop */
|
|
/* 028621CC */ cpu->r[8] = cpu->r[31] + 0x00000004u;
|
|
/* 028621D0 */ /* nop */
|
|
/* 028621D4 */ _t11 = cpu->r[30] + 0x000000D4u;
|
|
/* 028621D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 028621D8 */ _t12 = cpu->r[31] + 0x00000024u;
|
|
/* 028621D8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 028621DC */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 028621DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028621E0 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 028621E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028621E4 */ cpu->lr = cpu->r[0];
|
|
/* 028621E8 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028621E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028621EC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028621F0 */ return;
|
|
}
|
|
|
|
// fn_02862154 @ 0x2862154
|
|
void Gambit_fn_02862154(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02862154: ; // 0x2862154
|
|
/* 02862154 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02862154 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02862154 */ cpu->r[1] = _t0;
|
|
/* 02862158 */ _t1 = cpu->r[5] + 0x00005150u;
|
|
/* 02862158 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 0286215C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 0286215C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02862160 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862160 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02862164 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02862164 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02862168 */ cpu->r[31] = cpu->r[4];
|
|
/* 0286216C */ _t5 = cpu->r[4] + 0x00000014u;
|
|
/* 0286216C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02862170 */ cpu->r[30] = cpu->r[3];
|
|
/* 02862174 */ _t6 = cpu->r[4] + 0x00000018u;
|
|
/* 02862174 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 02862178 */ Gambit_fn_02861DEC(cpu);
|
|
/* 0286217C */ cpu->r[3] = cpu->r[30];
|
|
/* 02862180 */ cpu->r[4] = cpu->r[31];
|
|
/* 02862184 */ Gambit_fn_02862088(cpu);
|
|
/* 02862188 */ cpu->r[7] = cpu->r[30] + 0x000000ACu;
|
|
/* 0286218C */ /* nop */
|
|
/* 02862190 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 02862194 */ cpu->r[12] = cpu->r[30] + 0x000000B0u;
|
|
/* 02862198 */ /* nop */
|
|
/* 0286219C */ /* nop */
|
|
/* 028621A0 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 028621A4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 028621A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028621A8 */ /* nop */
|
|
/* 028621AC */ cpu->r[12] = cpu->r[1] + 0x00000010u;
|
|
/* 028621B0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 028621B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 028621B4 */ /* nop */
|
|
/* 028621B8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028621B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028621BC */ /* nop */
|
|
/* 028621C0 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 028621C4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 028621C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 028621C8 */ /* nop */
|
|
/* 028621CC */ cpu->r[8] = cpu->r[31] + 0x00000004u;
|
|
/* 028621D0 */ /* nop */
|
|
/* 028621D4 */ _t11 = cpu->r[30] + 0x000000D4u;
|
|
/* 028621D4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 028621D8 */ _t12 = cpu->r[31] + 0x00000024u;
|
|
/* 028621D8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 028621DC */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 028621DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028621E0 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 028621E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028621E4 */ cpu->lr = cpu->r[0];
|
|
/* 028621E8 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028621E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028621EC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028621F0 */ return;
|
|
}
|
|
|
|
// fn_028621F4 @ 0x28621f4
|
|
void Gambit_fn_028621F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_028621F4: ; // 0x28621f4
|
|
/* 028621F4 */ cpu->r[0] = cpu->lr;
|
|
/* 028621F8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028621F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028621F8 */ cpu->r[1] = _t0;
|
|
/* 028621FC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028621FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02862200 */ cpu->r[31] = cpu->r[3];
|
|
/* 02862204 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02862204 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02862208 */ cpu->r[30] = cpu->r[4];
|
|
/* 0286220C */ cpu->r[6] = cpu->r[31] + 0x00000048u;
|
|
/* 02862210 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
|
|
/* 02862214 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02862214 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02862218 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862218 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02862218 */ if (_t5) goto L_02862250; else goto L_0286221C;
|
|
L_0286221C: ; // 0x286221c
|
|
/* 0286221C */ cpu->r[9] = 0x00000003u;
|
|
/* 02862220 */ cpu->r[7] = cpu->r[31] + 0x00000044u;
|
|
/* 02862224 */ cpu->ctr = cpu->r[9];
|
|
/* 02862228 */ cpu->r[8] = cpu->r[30] + 0xFFFFFFFCu;
|
|
L_0286222C: ; // 0x286222c
|
|
/* 0286222C */ _t6 = cpu->r[7] + 0x00000004u;
|
|
/* 0286222C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02862230 */ _t7 = cpu->r[8] + 0x00000004u;
|
|
/* 02862230 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02862234 */ _t8 = cpu->r[7] + 0x00000008u;
|
|
/* 02862234 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02862238 */ _t9 = cpu->r[8] + 0x00000008u;
|
|
/* 02862238 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 0286223C */ _t10 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0286223C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02862240 */ _t11 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02862240 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02862244 */ _t12 = cpu->r[7] + 0x00000010u;
|
|
/* 02862244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02862244 */ cpu->r[7] = _t12;
|
|
/* 02862248 */ _t13 = cpu->r[8] + 0x00000010u;
|
|
/* 02862248 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02862248 */ cpu->r[8] = _t13;
|
|
/* 0286224C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0286224C */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0286224C */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 0286224C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0286224C */ if (_t16) goto L_0286222C; else goto L_02862250;
|
|
L_02862250: ; // 0x2862250
|
|
/* 02862250 */ cpu->r[3] = cpu->r[31];
|
|
/* 02862254 */ Gambit_fn_0285F928(cpu);
|
|
/* 02862258 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02862258 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0286225C */ cpu->r[3] = cpu->r[31];
|
|
/* 02862260 */ cpu->r[5] = 0x00000000u;
|
|
/* 02862264 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862264 */ rbrew_write32(cpu->mem, _t18, cpu->r[4]);
|
|
/* 02862268 */ cpu->r[4] = cpu->r[31] + 0x0000003Cu;
|
|
/* 0286226C */ Gambit_fn_02861CBC(cpu);
|
|
/* 02862270 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02862270 */ rbrew_write32(cpu->mem, _t19, cpu->r[4]);
|
|
/* 02862274 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02862274 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02862278 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862278 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0286227C */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0286227C */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02862280 */ _t23 = cpu->r[30] + 0x00000014u;
|
|
/* 02862280 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02862284 */ cpu->f[11] = cpu->f[0] - cpu->f[7];
|
|
/* 02862288 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02862288 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0286228C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 0286228C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02862290 */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 02862290 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02862294 */ cpu->f[12] = cpu->f[12] + cpu->f[13];
|
|
/* 02862298 */ cpu->f[0] = cpu->f[4] * cpu->f[11];
|
|
/* 0286229C */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 0286229C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 028622A0 */ cpu->f[10] = cpu->f[6] * cpu->f[11];
|
|
/* 028622A4 */ _t28 = cpu->r[30] + 0x00000010u;
|
|
/* 028622A4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 028622A8 */ cpu->f[7] = fma(cpu->f[8], cpu->f[12], cpu->f[0]);
|
|
/* 028622AC */ _t29 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028622AC */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 028622B0 */ cpu->f[13] = fma(cpu->f[9], cpu->f[12], cpu->f[10]);
|
|
/* 028622B4 */ _t30 = cpu->r[30] + 0x00000024u;
|
|
/* 028622B4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 028622B8 */ cpu->f[5] = cpu->f[5] + cpu->f[7];
|
|
/* 028622BC */ _t31 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028622BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 028622C0 */ cpu->f[8] = cpu->f[9] * cpu->f[11];
|
|
/* 028622C4 */ _t32 = cpu->r[30] + 0x00000020u;
|
|
/* 028622C4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 028622C8 */ cpu->f[0] = cpu->f[0] + cpu->f[13];
|
|
/* 028622CC */ cpu->f[10] = fma(cpu->f[7], cpu->f[12], cpu->f[8]);
|
|
/* 028622D0 */ _t33 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028622D0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[5]);
|
|
/* 028622D4 */ cpu->f[13] = -cpu->f[6];
|
|
/* 028622D8 */ _t34 = cpu->r[30] + 0x0000002Cu;
|
|
/* 028622D8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 028622DC */ cpu->f[12] = -cpu->f[4];
|
|
/* 028622E0 */ cpu->f[11] = cpu->f[11] + cpu->f[10];
|
|
/* 028622E4 */ _t35 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028622E4 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 028622E8 */ _t36 = cpu->r[30] + 0x00000004u;
|
|
/* 028622E8 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]);
|
|
/* 028622EC */ cpu->f[0] = -cpu->f[9];
|
|
/* 028622F0 */ _t37 = cpu->r[30] + 0x0000002Cu;
|
|
/* 028622F0 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[11]);
|
|
/* 028622F4 */ _t38 = cpu->r[30] + 0x00000014u;
|
|
/* 028622F4 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 028622F8 */ _t39 = cpu->r[30] + 0x00000024u;
|
|
/* 028622F8 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
|
|
/* 028622FC */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 028622FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02862300 */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 02862300 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02862304 */ cpu->lr = cpu->r[0];
|
|
/* 02862308 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862308 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0286230C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02862310 */ return;
|
|
}
|
|
|
|
// fn_028621F8 @ 0x28621f8
|
|
void Gambit_fn_028621F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_028621F8: ; // 0x28621f8
|
|
/* 028621F8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028621F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028621F8 */ cpu->r[1] = _t0;
|
|
/* 028621FC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028621FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02862200 */ cpu->r[31] = cpu->r[3];
|
|
/* 02862204 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02862204 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02862208 */ cpu->r[30] = cpu->r[4];
|
|
/* 0286220C */ cpu->r[6] = cpu->r[31] + 0x00000048u;
|
|
/* 02862210 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
|
|
/* 02862214 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02862214 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02862218 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862218 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02862218 */ if (_t5) goto L_02862250; else goto L_0286221C;
|
|
L_0286221C: ; // 0x286221c
|
|
/* 0286221C */ cpu->r[9] = 0x00000003u;
|
|
/* 02862220 */ cpu->r[7] = cpu->r[31] + 0x00000044u;
|
|
/* 02862224 */ cpu->ctr = cpu->r[9];
|
|
/* 02862228 */ cpu->r[8] = cpu->r[30] + 0xFFFFFFFCu;
|
|
L_0286222C: ; // 0x286222c
|
|
/* 0286222C */ _t6 = cpu->r[7] + 0x00000004u;
|
|
/* 0286222C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02862230 */ _t7 = cpu->r[8] + 0x00000004u;
|
|
/* 02862230 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02862234 */ _t8 = cpu->r[7] + 0x00000008u;
|
|
/* 02862234 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02862238 */ _t9 = cpu->r[8] + 0x00000008u;
|
|
/* 02862238 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 0286223C */ _t10 = cpu->r[7] + 0x0000000Cu;
|
|
/* 0286223C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02862240 */ _t11 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02862240 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02862244 */ _t12 = cpu->r[7] + 0x00000010u;
|
|
/* 02862244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02862244 */ cpu->r[7] = _t12;
|
|
/* 02862248 */ _t13 = cpu->r[8] + 0x00000010u;
|
|
/* 02862248 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02862248 */ cpu->r[8] = _t13;
|
|
/* 0286224C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0286224C */ _t14 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0286224C */ _t15 = _t14 >> (0x00000002u & 31u);
|
|
/* 0286224C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0286224C */ if (_t16) goto L_0286222C; else goto L_02862250;
|
|
L_02862250: ; // 0x2862250
|
|
/* 02862250 */ cpu->r[3] = cpu->r[31];
|
|
/* 02862254 */ Gambit_fn_0285F928(cpu);
|
|
/* 02862258 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02862258 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0286225C */ cpu->r[3] = cpu->r[31];
|
|
/* 02862260 */ cpu->r[5] = 0x00000000u;
|
|
/* 02862264 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862264 */ rbrew_write32(cpu->mem, _t18, cpu->r[4]);
|
|
/* 02862268 */ cpu->r[4] = cpu->r[31] + 0x0000003Cu;
|
|
/* 0286226C */ Gambit_fn_02861CBC(cpu);
|
|
/* 02862270 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02862270 */ rbrew_write32(cpu->mem, _t19, cpu->r[4]);
|
|
/* 02862274 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02862274 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02862278 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862278 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0286227C */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0286227C */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02862280 */ _t23 = cpu->r[30] + 0x00000014u;
|
|
/* 02862280 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02862284 */ cpu->f[11] = cpu->f[0] - cpu->f[7];
|
|
/* 02862288 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02862288 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0286228C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 0286228C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02862290 */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 02862290 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02862294 */ cpu->f[12] = cpu->f[12] + cpu->f[13];
|
|
/* 02862298 */ cpu->f[0] = cpu->f[4] * cpu->f[11];
|
|
/* 0286229C */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 0286229C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 028622A0 */ cpu->f[10] = cpu->f[6] * cpu->f[11];
|
|
/* 028622A4 */ _t28 = cpu->r[30] + 0x00000010u;
|
|
/* 028622A4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 028622A8 */ cpu->f[7] = fma(cpu->f[8], cpu->f[12], cpu->f[0]);
|
|
/* 028622AC */ _t29 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028622AC */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 028622B0 */ cpu->f[13] = fma(cpu->f[9], cpu->f[12], cpu->f[10]);
|
|
/* 028622B4 */ _t30 = cpu->r[30] + 0x00000024u;
|
|
/* 028622B4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 028622B8 */ cpu->f[5] = cpu->f[5] + cpu->f[7];
|
|
/* 028622BC */ _t31 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028622BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 028622C0 */ cpu->f[8] = cpu->f[9] * cpu->f[11];
|
|
/* 028622C4 */ _t32 = cpu->r[30] + 0x00000020u;
|
|
/* 028622C4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 028622C8 */ cpu->f[0] = cpu->f[0] + cpu->f[13];
|
|
/* 028622CC */ cpu->f[10] = fma(cpu->f[7], cpu->f[12], cpu->f[8]);
|
|
/* 028622D0 */ _t33 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028622D0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[5]);
|
|
/* 028622D4 */ cpu->f[13] = -cpu->f[6];
|
|
/* 028622D8 */ _t34 = cpu->r[30] + 0x0000002Cu;
|
|
/* 028622D8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 028622DC */ cpu->f[12] = -cpu->f[4];
|
|
/* 028622E0 */ cpu->f[11] = cpu->f[11] + cpu->f[10];
|
|
/* 028622E4 */ _t35 = cpu->r[30] + 0x0000001Cu;
|
|
/* 028622E4 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 028622E8 */ _t36 = cpu->r[30] + 0x00000004u;
|
|
/* 028622E8 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]);
|
|
/* 028622EC */ cpu->f[0] = -cpu->f[9];
|
|
/* 028622F0 */ _t37 = cpu->r[30] + 0x0000002Cu;
|
|
/* 028622F0 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[11]);
|
|
/* 028622F4 */ _t38 = cpu->r[30] + 0x00000014u;
|
|
/* 028622F4 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 028622F8 */ _t39 = cpu->r[30] + 0x00000024u;
|
|
/* 028622F8 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[0]);
|
|
/* 028622FC */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 028622FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02862300 */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 02862300 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02862304 */ cpu->lr = cpu->r[0];
|
|
/* 02862308 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862308 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0286230C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02862310 */ return;
|
|
}
|
|
|
|
// fn_02862314 @ 0x2862314
|
|
void Gambit_fn_02862314(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119;
|
|
|
|
L_02862314: ; // 0x2862314
|
|
/* 02862314 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 02862314 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02862314 */ cpu->r[1] = _t0;
|
|
/* 02862318 */ /* nop */
|
|
/* 0286231C */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 0286231C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[26]);
|
|
/* 02862320 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 02862320 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[27]);
|
|
/* 02862324 */ _t3 = cpu->r[1] + 0x00000060u;
|
|
/* 02862324 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[28]);
|
|
/* 02862328 */ _t4 = cpu->r[1] + 0x00000070u;
|
|
/* 02862328 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[29]);
|
|
/* 0286232C */ _t5 = cpu->r[1] + 0x00000080u;
|
|
/* 0286232C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[30]);
|
|
/* 02862330 */ _t6 = cpu->r[1] + 0x00000090u;
|
|
/* 02862330 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[31]);
|
|
/* 02862334 */ /* nop */
|
|
/* 02862338 */ /* nop */
|
|
/* 0286233C */ /* nop */
|
|
/* 02862340 */ _t7 = cpu->r[1] + 0x00000048u;
|
|
/* 02862340 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[26]);
|
|
/* 02862344 */ cpu->r[0] = cpu->lr;
|
|
/* 02862348 */ /* nop */
|
|
/* 0286234C */ _t8 = cpu->r[1] + 0x00000058u;
|
|
/* 0286234C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[27]);
|
|
/* 02862350 */ /* nop */
|
|
/* 02862354 */ _t9 = cpu->r[1] + 0x00000068u;
|
|
/* 02862354 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[28]);
|
|
/* 02862358 */ /* nop */
|
|
/* 0286235C */ _t10 = cpu->r[1] + 0x00000078u;
|
|
/* 0286235C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[29]);
|
|
/* 02862360 */ _t11 = cpu->r[1] + 0x00000088u;
|
|
/* 02862360 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[30]);
|
|
/* 02862364 */ _t12 = cpu->r[1] + 0x00000098u;
|
|
/* 02862364 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[31]);
|
|
/* 02862368 */ cpu->r[28] = cpu->r[3];
|
|
/* 0286236C */ _t13 = cpu->r[1] + 0x000000A4u;
|
|
/* 0286236C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02862370 */ _t14 = cpu->r[28] + 0x000000F8u;
|
|
/* 02862370 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02862374 */ _t15 = cpu->r[6] + 0x00000004u;
|
|
/* 02862374 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02862378 */ _t16 = cpu->r[28] + 0x000000FCu;
|
|
/* 02862378 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0286237C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02862380 */ _t17 = cpu->r[9] + 0x0000000Eu;
|
|
/* 02862380 */ cpu->r[24] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02862384 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862384 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02862384 */ if (_t19) goto L_028623A4; else goto L_02862388;
|
|
L_02862388: ; // 0x2862388
|
|
/* 02862388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 0286238C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286238C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0286238C */ if (_t21) goto L_02862390; else goto L_028623EC;
|
|
L_02862390: ; // 0x2862390
|
|
/* 02862390 */ cpu->r[8] = 0x10130000u;
|
|
/* 02862394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02862398 */ cpu->r[23] = 0x00000000u;
|
|
/* 0286239C */ _t22 = cpu->r[8] + 0x00005150u;
|
|
/* 0286239C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 028623A0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028623A0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 028623A0 */ if (_t24) goto L_028623A4; else goto L_02862424;
|
|
L_028623A4: ; // 0x28623a4
|
|
/* 028623A4 */ /* nop */
|
|
/* 028623A8 */ _t25 = cpu->r[1] + 0x00000088u;
|
|
/* 028623A8 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 028623AC */ _t26 = cpu->r[1] + 0x00000068u;
|
|
/* 028623AC */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 028623B0 */ _t27 = cpu->r[1] + 0x00000080u;
|
|
/* 028623B0 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 028623B4 */ _t28 = cpu->r[1] + 0x00000060u;
|
|
/* 028623B4 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t28);
|
|
/* 028623B8 */ _t29 = cpu->r[1] + 0x00000058u;
|
|
/* 028623B8 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 028623BC */ _t30 = cpu->r[1] + 0x00000078u;
|
|
/* 028623BC */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 028623C0 */ _t31 = cpu->r[1] + 0x00000050u;
|
|
/* 028623C0 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t31);
|
|
/* 028623C4 */ _t32 = cpu->r[1] + 0x00000070u;
|
|
/* 028623C4 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 028623C8 */ _t33 = cpu->r[1] + 0x00000048u;
|
|
/* 028623C8 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 028623CC */ _t34 = cpu->r[1] + 0x00000098u;
|
|
/* 028623CC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 028623D0 */ _t35 = cpu->r[1] + 0x00000040u;
|
|
/* 028623D0 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t35);
|
|
/* 028623D4 */ _t36 = cpu->r[1] + 0x00000090u;
|
|
/* 028623D4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t36);
|
|
/* 028623D8 */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028623D8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 028623D8 */ if (_t38) goto L_028623DC; // else: addr-0 trap, fall-through
|
|
L_028623DC: ; // 0x28623dc
|
|
/* 028623DC */ _t39 = cpu->r[1] + 0x000000A4u;
|
|
/* 028623DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 028623E0 */ cpu->lr = cpu->r[0];
|
|
/* 028623E4 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 028623E8 */ return;
|
|
L_028623EC: ; // 0x28623ec
|
|
/* 028623EC */ cpu->r[6] = 0x10130000u;
|
|
/* 028623F0 */ cpu->r[7] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 028623F4 */ _t40 = cpu->r[6] + 0x00005168u;
|
|
/* 028623F4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t40);
|
|
/* 028623F8 */ cpu->r[10] = 0x43300000u;
|
|
/* 028623FC */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028623FC */ rbrew_write32(cpu->mem, _t41, cpu->r[7]);
|
|
/* 02862400 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02862400 */ rbrew_write32(cpu->mem, _t42, cpu->r[10]);
|
|
/* 02862404 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02862404 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 02862408 */ cpu->f[9] = cpu->f[8] - cpu->f[0];
|
|
/* 0286240C */ cpu->f[11] = (double)(float)cpu->f[9];
|
|
/* 02862410 */ _t44 = cpu->r[9] + 0x00000004u;
|
|
/* 02862410 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02862414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02862418 */ cpu->r[23] = 0x00000000u;
|
|
/* 0286241C */ cpu->f[30] = cpu->f[12] / cpu->f[11];
|
|
/* 02862420 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862420 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02862420 */ if (_t46) goto L_028623A4; else goto L_02862424;
|
|
L_02862424: ; // 0x2862424
|
|
/* 02862424 */ cpu->r[12] = 0x10130000u;
|
|
/* 02862428 */ cpu->r[30] = 0x10130000u;
|
|
/* 0286242C */ cpu->r[27] = 0x00000000u;
|
|
/* 02862430 */ _t47 = cpu->r[12] + 0x00005170u;
|
|
/* 02862430 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02862434 */ cpu->r[30] = cpu->r[30] + 0x0000080Cu;
|
|
L_02862438: ; // 0x2862438
|
|
/* 02862438 */ cpu->r[8] = 0x10130000u;
|
|
/* 0286243C */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286243C */ rbrew_write32(cpu->mem, _t48, cpu->r[23]);
|
|
/* 02862440 */ cpu->r[11] = 0x43300000u;
|
|
/* 02862444 */ _t49 = cpu->r[8] + 0x00005168u;
|
|
/* 02862444 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t49);
|
|
/* 02862448 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02862448 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 0286244C */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 0286244C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t51);
|
|
/* 02862450 */ _t52 = cpu->r[9] + 0x00000000u;
|
|
/* 02862450 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02862454 */ cpu->f[10] = cpu->f[9] - cpu->f[13];
|
|
/* 02862458 */ _t53 = cpu->r[9] + 0x00000008u;
|
|
/* 02862458 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 0286245C */ cpu->f[8] = (double)(float)cpu->f[10];
|
|
/* 02862460 */ cpu->r[22] = cpu->r[10] + cpu->r[27];
|
|
/* 02862464 */ cpu->r[25] = cpu->r[24];
|
|
/* 02862464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02862468 */ cpu->f[28] = fma(cpu->f[30], cpu->f[8], cpu->f[12]);
|
|
/* 0286246C */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286246C */ _t55 = _t54 & 0x00000001u;
|
|
/* 0286246C */ if (_t55) goto L_02862668; else goto L_02862470;
|
|
L_02862470: ; // 0x2862470
|
|
/* 02862470 */ cpu->f[29] = cpu->f[31];
|
|
/* 02862474 */ cpu->r[26] = 0x00000000u;
|
|
L_02862478: ; // 0x2862478
|
|
/* 02862478 */ cpu->r[11] = cpu->r[9] + 0x00000010u;
|
|
/* 0286247C */ _t56 = cpu->r[11] + cpu->r[26];
|
|
/* 0286247C */ cpu->r[21] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02862480 */ cpu->r[12] = cpu->r[11] + cpu->r[26];
|
|
/* 02862484 */ _t57 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02862484 */ cpu->r[4] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02862488 */ _t58 = cpu->r[21] + 0x00000008u;
|
|
/* 02862488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0286248C */ _t59 = cpu->r[12] + 0x00000004u;
|
|
/* 0286248C */ cpu->r[29] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02862490 */ cpu->r[20] = cpu->r[21] + cpu->r[0];
|
|
/* 02862494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u);
|
|
/* 02862498 */ _t60 = cpu->r[21] + 0x00000004u;
|
|
/* 02862498 */ cpu->r[4] = rbrew_read16(cpu->mem, _t60);
|
|
/* 0286249C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286249C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0286249C */ if (_t62) goto L_028624A8; else goto L_028624A0;
|
|
L_028624A0: ; // 0x28624a0
|
|
/* 028624A0 */ cpu->f[1] = cpu->f[28];
|
|
/* 028624A4 */ goto L_02862524;
|
|
L_028624A8: ; // 0x28624a8
|
|
/* 028624A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000001u);
|
|
/* 028624AC */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028624AC */ _t64 = _t63 & 0x00000001u;
|
|
/* 028624AC */ if (_t64) goto L_028624B0; else goto L_02862520;
|
|
L_028624B0: ; // 0x28624b0
|
|
/* 028624B0 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x0000000Cu);
|
|
/* 028624B4 */ cpu->r[7] = cpu->r[20] + cpu->r[5];
|
|
/* 028624B8 */ _t65 = cpu->r[7] + 0xFFFFFFF4u;
|
|
/* 028624B8 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 028624BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[28], cpu->f[27]);
|
|
/* 028624C0 */ _t66 = cpu->r[20] + 0x00000000u;
|
|
/* 028624C0 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 028624C4 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028624C4 */ _t68 = _t67 & 0x00000001u;
|
|
/* 028624C4 */ if (_t68) goto L_028624C8; else goto L_028624F0;
|
|
L_028624C8: ; // 0x28624c8
|
|
/* 028624C8 */ cpu->f[1] = cpu->f[28] - cpu->f[26];
|
|
/* 028624CC */ cpu->f[2] = cpu->f[27] - cpu->f[26];
|
|
/* 028624D0 */ Gambit_fn_02C8831C(cpu);
|
|
/* 028624D4 */ cpu->f[1] = cpu->f[1] + cpu->f[26];
|
|
/* 028624D8 */ _t69 = cpu->r[21] + 0x00000004u;
|
|
/* 028624D8 */ cpu->r[4] = rbrew_read16(cpu->mem, _t69);
|
|
/* 028624DC */ cpu->r[3] = cpu->r[20];
|
|
/* 028624E0 */ Gambit_fn_02869D1C(cpu);
|
|
/* 028624E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000002u);
|
|
/* 028624E8 */ _t70 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028624E8 */ _t71 = _t70 & 0x00000001u;
|
|
/* 028624E8 */ if (_t71) goto L_0286255C; else goto L_028624EC;
|
|
L_028624EC: ; // 0x28624ec
|
|
/* 028624EC */ goto L_02862534;
|
|
L_028624F0: ; // 0x28624f0
|
|
/* 028624F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[28], cpu->f[26]);
|
|
/* 028624F4 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028624F4 */ _t73 = _t72 & 0x00000001u;
|
|
/* 028624F4 */ if (_t73) goto L_028624F8; else goto L_02862520;
|
|
L_028624F8: ; // 0x28624f8
|
|
/* 028624F8 */ cpu->f[1] = cpu->f[26] - cpu->f[28];
|
|
/* 028624FC */ cpu->f[2] = cpu->f[27] - cpu->f[26];
|
|
/* 02862500 */ Gambit_fn_02C8831C(cpu);
|
|
/* 02862504 */ cpu->f[1] = cpu->f[27] - cpu->f[1];
|
|
/* 02862508 */ _t74 = cpu->r[21] + 0x00000004u;
|
|
/* 02862508 */ cpu->r[4] = rbrew_read16(cpu->mem, _t74);
|
|
/* 0286250C */ cpu->r[3] = cpu->r[20];
|
|
/* 02862510 */ Gambit_fn_02869D1C(cpu);
|
|
/* 02862514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000002u);
|
|
/* 02862518 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02862518 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02862518 */ if (_t76) goto L_0286255C; else goto L_0286251C;
|
|
L_0286251C: ; // 0x286251c
|
|
/* 0286251C */ goto L_02862534;
|
|
L_02862520: ; // 0x2862520
|
|
/* 02862520 */ cpu->f[1] = cpu->f[28];
|
|
L_02862524: ; // 0x2862524
|
|
/* 02862524 */ cpu->r[3] = cpu->r[20];
|
|
/* 02862528 */ Gambit_fn_02869D1C(cpu);
|
|
/* 0286252C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000002u);
|
|
/* 02862530 */ _t77 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02862530 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02862530 */ if (_t78) goto L_0286255C; else goto L_02862534;
|
|
L_02862534: ; // 0x2862534
|
|
/* 02862534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 02862538 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862538 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02862538 */ if (_t80) goto L_0286253C; else goto L_02862540;
|
|
L_0286253C: ; // 0x286253c
|
|
/* 0286253C */ cpu->f[1] = -cpu->f[1];
|
|
L_02862540: ; // 0x2862540
|
|
/* 02862540 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02862544 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02862544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02862548 */ cpu->r[11] = cpu->r[22] + cpu->r[0];
|
|
/* 0286254C */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 02862550 */ _t81 = cpu->r[11] + 0x00000018u;
|
|
/* 02862550 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[1]);
|
|
/* 02862554 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862554 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02862554 */ if (_t83) goto L_02862558; else goto L_02862660;
|
|
L_02862558: ; // 0x2862558
|
|
/* 02862558 */ goto L_02862668;
|
|
L_0286255C: ; // 0x286255c
|
|
/* 0286255C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000005u);
|
|
/* 02862560 */ _t84 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02862560 */ _t85 = _t84 & 0x00000001u;
|
|
/* 02862560 */ if (_t85) goto L_0286261C; else goto L_02862564;
|
|
L_02862564: ; // 0x2862564
|
|
/* 02862564 */ cpu->r[0] = cpu->r[29] + 0xFFFFFFFDu;
|
|
/* 02862568 */ cpu->r[12] = cpu->r[22] + 0x0000000Cu;
|
|
/* 0286256C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02862570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000004u);
|
|
/* 02862574 */ cpu->r[20] = cpu->r[22] + cpu->r[0];
|
|
/* 02862578 */ cpu->r[21] = cpu->r[12] + cpu->r[0];
|
|
/* 0286257C */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286257C */ _t87 = _t86 & 0x00000001u;
|
|
/* 0286257C */ if (_t87) goto L_02862584; else goto L_02862580;
|
|
L_02862580: ; // 0x2862580
|
|
/* 02862580 */ cpu->f[1] = -cpu->f[1];
|
|
L_02862584: ; // 0x2862584
|
|
/* 02862584 */ cpu->r[5] = 0x10130000u;
|
|
/* 02862588 */ cpu->r[4] = 0x10130000u;
|
|
/* 0286258C */ _t88 = cpu->r[5] + 0x00005168u;
|
|
/* 0286258C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t88);
|
|
/* 02862590 */ cpu->r[29] = 0x43300000u;
|
|
/* 02862594 */ _t89 = cpu->r[4] + 0x00000800u;
|
|
/* 02862594 */ cpu->r[4] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02862598 */ _t90 = cpu->r[1] + 0x00000008u;
|
|
/* 02862598 */ rbrew_write32(cpu->mem, _t90, cpu->r[29]);
|
|
/* 0286259C */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286259C */ rbrew_write32(cpu->mem, _t91, cpu->r[4]);
|
|
/* 028625A0 */ _t92 = cpu->r[1] + 0x00000008u;
|
|
/* 028625A0 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t92);
|
|
/* 028625A4 */ cpu->f[13] = cpu->f[11] - cpu->f[12];
|
|
/* 028625A8 */ cpu->r[12] = 0x10130000u;
|
|
/* 028625AC */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 028625B0 */ _t93 = cpu->r[12] + 0x00005174u;
|
|
/* 028625B0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 028625B4 */ cpu->f[0] = cpu->f[0] / cpu->f[7];
|
|
/* 028625B8 */ cpu->f[1] = cpu->f[1] * cpu->f[0];
|
|
/* 028625BC */ Gambit_fn_02C898C4(cpu);
|
|
/* 028625C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000008u, 0x0000001Fu);
|
|
/* 028625C4 */ _t94 = cpu->r[1] + 0x00000008u;
|
|
/* 028625C4 */ rbrew_write32(cpu->mem, _t94, cpu->r[29]);
|
|
/* 028625C8 */ _t95 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028625C8 */ rbrew_write32(cpu->mem, _t95, cpu->r[0]);
|
|
/* 028625CC */ cpu->r[6] = 0x10130000u;
|
|
/* 028625D0 */ _t96 = cpu->r[1] + 0x00000008u;
|
|
/* 028625D0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 028625D4 */ _t97 = cpu->r[6] + 0x00005168u;
|
|
/* 028625D4 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t97);
|
|
/* 028625D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x0000000Cu, 0x00000014u, 0x0000001Bu);
|
|
/* 028625DC */ cpu->f[6] = cpu->f[0] - cpu->f[11];
|
|
/* 028625E0 */ cpu->r[9] = cpu->r[30] + cpu->r[10];
|
|
/* 028625E4 */ cpu->f[11] = (double)(float)cpu->f[6];
|
|
/* 028625E8 */ _t98 = cpu->r[9] + 0x00000004u;
|
|
/* 028625E8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 028625EC */ cpu->f[9] = cpu->f[11] * cpu->f[29];
|
|
/* 028625F0 */ _t99 = cpu->r[9] + 0x00000000u;
|
|
/* 028625F0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 028625F4 */ cpu->f[10] = fma(cpu->f[8], cpu->f[9], cpu->f[7]);
|
|
/* 028625F8 */ _t100 = cpu->r[21] + 0x00000000u;
|
|
/* 028625F8 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[10]);
|
|
/* 028625FC */ _t101 = cpu->r[9] + 0x0000000Cu;
|
|
/* 028625FC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 02862600 */ _t102 = cpu->r[9] + 0x00000008u;
|
|
/* 02862600 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 02862604 */ cpu->f[12] = fma(cpu->f[8], cpu->f[9], cpu->f[13]);
|
|
/* 02862608 */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 0286260C */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 0286260C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02862610 */ _t103 = cpu->r[20] + 0x00000000u;
|
|
/* 02862610 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[12]);
|
|
/* 02862614 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862614 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02862614 */ if (_t105) goto L_02862618; else goto L_02862660;
|
|
L_02862618: ; // 0x2862618
|
|
/* 02862618 */ goto L_02862668;
|
|
L_0286261C: ; // 0x286261c
|
|
/* 0286261C */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[1];
|
|
/* 02862620 */ cpu->r[4] = cpu->r[22] + cpu->r[29];
|
|
/* 02862624 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02862628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000009u);
|
|
/* 0286262C */ /* nop */
|
|
/* 02862630 */ _t106 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02862630 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02862630 */ if (_t107) goto L_0286264C; else goto L_02862634;
|
|
L_02862634: ; // 0x2862634
|
|
/* 02862634 */ _t108 = cpu->r[1] + 0x0000000Bu;
|
|
/* 02862634 */ cpu->r[0] = rbrew_read8(cpu->mem, _t108);
|
|
/* 02862638 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02862638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0286263C */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 02862640 */ _t109 = cpu->r[4] + 0x0000001Eu;
|
|
/* 02862640 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[0]);
|
|
/* 02862644 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862644 */ _t111 = _t110 & 0x00000001u;
|
|
/* 02862644 */ if (_t111) goto L_02862648; else goto L_02862660;
|
|
L_02862648: ; // 0x2862648
|
|
/* 02862648 */ goto L_02862668;
|
|
L_0286264C: ; // 0x286264c
|
|
/* 0286264C */ _t112 = cpu->r[1] + 0x0000000Bu;
|
|
/* 0286264C */ cpu->r[0] = rbrew_read8(cpu->mem, _t112);
|
|
/* 02862650 */ cpu->r[25] = cpu->r[25] + 0xFFFFFFFFu;
|
|
/* 02862650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02862654 */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 02862658 */ _t113 = cpu->r[4] + 0x0000001Eu;
|
|
/* 02862658 */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[0]);
|
|
/* 0286265C */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286265C */ _t115 = _t114 & 0x00000001u;
|
|
/* 0286265C */ if (_t115) goto L_02862668; else goto L_02862660;
|
|
L_02862660: ; // 0x2862660
|
|
/* 02862660 */ _t116 = cpu->r[28] + 0x000000FCu;
|
|
/* 02862660 */ cpu->r[9] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02862664 */ goto L_02862478;
|
|
L_02862668: ; // 0x2862668
|
|
/* 02862668 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02862668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0286266C */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02862670 */ cpu->r[27] = cpu->r[27] + 0x0000002Cu;
|
|
/* 02862674 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862674 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02862674 */ if (_t118) goto L_028623A4; else goto L_02862678;
|
|
L_02862678: ; // 0x2862678
|
|
/* 02862678 */ _t119 = cpu->r[28] + 0x000000FCu;
|
|
/* 02862678 */ cpu->r[9] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0286267C */ goto L_02862438;
|
|
}
|
|
|
|
// fn_02862680 @ 0x2862680
|
|
void Gambit_fn_02862680(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73;
|
|
|
|
L_02862680: ; // 0x2862680
|
|
/* 02862680 */ cpu->r[0] = cpu->lr;
|
|
/* 02862684 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02862684 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02862684 */ cpu->r[1] = _t0;
|
|
/* 02862688 */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02862688 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0286268C */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 0286268C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02862690 */ cpu->r[31] = cpu->r[4];
|
|
/* 02862694 */ cpu->r[30] = cpu->r[3];
|
|
/* 02862698 */ _t3 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02862698 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0286269C */ Gambit_fn_0285FE58(cpu);
|
|
/* 028626A0 */ _t4 = cpu->r[30] + 0x000000CEu;
|
|
/* 028626A0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t4);
|
|
/* 028626A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 028626A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028626A8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028626A8 */ if (_t6) goto L_02862848; else goto L_028626AC;
|
|
L_028626AC: ; // 0x28626ac
|
|
/* 028626AC */ _t7 = cpu->r[30] + 0x000000B4u;
|
|
/* 028626AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028626B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 028626B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028626B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028626B4 */ if (_t9) goto L_02862848; else goto L_028626B8;
|
|
L_028626B8: ; // 0x28626b8
|
|
/* 028626B8 */ _t10 = cpu->r[30] + 0x000000F4u;
|
|
/* 028626B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028626BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028626C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028626C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028626C0 */ if (_t12) goto L_02862848; else goto L_028626C4;
|
|
L_028626C4: ; // 0x28626c4
|
|
/* 028626C4 */ _t13 = cpu->r[30] + 0x000000D0u;
|
|
/* 028626C4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
/* 028626C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 028626C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 028626CC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028626CC */ _t15 = _t14 & 0x00000001u;
|
|
/* 028626CC */ if (_t15) goto L_028626E8; else goto L_028626D0;
|
|
L_028626D0: ; // 0x28626d0
|
|
/* 028626D0 */ _t16 = cpu->r[30] + 0x000000F8u;
|
|
/* 028626D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028626D4 */ cpu->r[12] = 0x00000000u;
|
|
/* 028626D8 */ _t17 = cpu->r[11] + 0x00000011u;
|
|
/* 028626D8 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[12]);
|
|
/* 028626DC */ _t18 = cpu->r[30] + 0x000000D0u;
|
|
/* 028626DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 028626E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x00000019u);
|
|
/* 028626E4 */ _t19 = cpu->r[30] + 0x000000D0u;
|
|
/* 028626E4 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
L_028626E8: ; // 0x28626e8
|
|
/* 028626E8 */ _t20 = cpu->r[30] + 0x000000F8u;
|
|
/* 028626E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028626EC */ _t21 = cpu->r[12] + 0x00000011u;
|
|
/* 028626EC */ cpu->r[5] = rbrew_read8(cpu->mem, _t21);
|
|
/* 028626F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 028626F4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028626F4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028626F4 */ if (_t23) goto L_028626F8; else goto L_02862848;
|
|
L_028626F8: ; // 0x28626f8
|
|
/* 028626F8 */ _t24 = cpu->r[12] + 0x00000010u;
|
|
/* 028626F8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t24);
|
|
/* 028626FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02862700 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862700 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02862700 */ if (_t26) goto L_02862720; else goto L_02862704;
|
|
L_02862704: ; // 0x2862704
|
|
/* 02862704 */ _t27 = cpu->r[31] + 0x00000018u;
|
|
/* 02862704 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02862708 */ _t28 = cpu->r[12] + 0x00000000u;
|
|
/* 02862708 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0286270C */ _t29 = cpu->r[5] + 0x00000030u;
|
|
/* 0286270C */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02862710 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02862714 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02862714 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02862714 */ if (_t31) goto L_02862848; else goto L_02862718;
|
|
L_02862718: ; // 0x2862718
|
|
/* 02862718 */ _t32 = cpu->r[5] + 0x00000034u;
|
|
/* 02862718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0286271C */ _t33 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0286271C */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
L_02862720: ; // 0x2862720
|
|
/* 02862720 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02862724 */ Gambit_fn_028586D8(cpu);
|
|
/* 02862728 */ _t34 = cpu->r[30] + 0x00000008u;
|
|
/* 02862728 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0286272C */ _t35 = cpu->r[9] + 0x000000E4u;
|
|
/* 0286272C */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02862730 */ cpu->ctr = cpu->r[10];
|
|
/* 02862734 */ cpu->r[3] = cpu->r[30];
|
|
/* 02862738 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 0286273C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02862740 */ _t36 = cpu->r[30] + 0x000000F8u;
|
|
/* 02862740 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02862744 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02862748 */ _t37 = cpu->r[1] + 0x00000050u;
|
|
/* 02862748 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 0286274C */ Gambit_fn_02854BD8(cpu);
|
|
/* 02862750 */ _t38 = cpu->r[30] + 0x000000CEu;
|
|
/* 02862750 */ cpu->r[5] = rbrew_read16(cpu->mem, _t38);
|
|
/* 02862754 */ _t39 = cpu->r[30] + 0x000000A4u;
|
|
/* 02862754 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02862758 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0286275C */ Gambit_fn_02859A44(cpu);
|
|
/* 02862760 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02862764 */ Gambit_fn_02854BF0(cpu);
|
|
/* 02862768 */ _t40 = cpu->r[30] + 0x000000D0u;
|
|
/* 02862768 */ cpu->r[12] = rbrew_read8(cpu->mem, _t40);
|
|
/* 0286276C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0286276C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862770 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862770 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02862770 */ if (_t42) goto L_02862784; else goto L_02862774;
|
|
L_02862774: ; // 0x2862774
|
|
/* 02862774 */ cpu->r[3] = cpu->r[30];
|
|
/* 02862778 */ Gambit_fn_02862314(cpu);
|
|
/* 0286277C */ _t43 = cpu->r[30] + 0x000000D0u;
|
|
/* 0286277C */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02862780 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
L_02862784: ; // 0x2862784
|
|
/* 02862784 */ _t44 = cpu->r[30] + 0x000000D0u;
|
|
/* 02862784 */ cpu->r[9] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02862788 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02862788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0286278C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286278C */ _t46 = _t45 & 0x00000001u;
|
|
/* 0286278C */ if (_t46) goto L_02862818; else goto L_02862790;
|
|
L_02862790: ; // 0x2862790
|
|
/* 02862790 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02862794 */ cpu->r[6] = cpu->r[30] + 0x000000E8u;
|
|
/* 02862798 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862798 */ rbrew_write32(cpu->mem, _t47, cpu->r[10]);
|
|
/* 0286279C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 028627A0 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 028627A0 */ rbrew_write32(cpu->mem, _t48, cpu->r[10]);
|
|
/* 028627A4 */ /* nop */
|
|
/* 028627A8 */ cpu->r[9] = cpu->r[30] + 0x000000ECu;
|
|
/* 028627AC */ /* nop */
|
|
/* 028627B0 */ /* nop */
|
|
/* 028627B4 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu;
|
|
/* 028627B8 */ /* nop */
|
|
/* 028627BC */ _t49 = cpu->r[30] + 0x000000D8u;
|
|
/* 028627BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 028627C0 */ _t50 = cpu->r[30] + 0x000000B8u;
|
|
/* 028627C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 028627C4 */ _t51 = cpu->r[30] + 0x000000E0u;
|
|
/* 028627C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
|
|
/* 028627C8 */ _t52 = cpu->r[30] + 0x000000F0u;
|
|
/* 028627C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 028627CC */ _t53 = cpu->r[30] + 0x000000E4u;
|
|
/* 028627CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 028627D0 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 028627D0 */ rbrew_write32(cpu->mem, _t54, cpu->r[6]);
|
|
/* 028627D4 */ cpu->f[0] = cpu->f[13] * cpu->f[0];
|
|
/* 028627D8 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028627D8 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]);
|
|
/* 028627DC */ _t56 = cpu->r[30] + 0x000000DCu;
|
|
/* 028627DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 028627E0 */ _t57 = cpu->r[1] + 0x00000020u;
|
|
/* 028627E0 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[0]);
|
|
/* 028627E4 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 028627E4 */ rbrew_write32(cpu->mem, _t58, cpu->r[7]);
|
|
/* 028627E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028627EC */ _t59 = cpu->r[1] + 0x00000018u;
|
|
/* 028627EC */ rbrew_write32(cpu->mem, _t59, cpu->r[9]);
|
|
/* 028627F0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028627F0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 028627F0 */ if (_t61) goto L_028627F4; else goto L_02862824;
|
|
L_028627F4: ; // 0x28627f4
|
|
/* 028627F4 */ cpu->r[6] = 0x00000000u;
|
|
/* 028627F8 */ _t62 = cpu->r[31] + 0x00000000u;
|
|
/* 028627F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t62);
|
|
/* 028627FC */ cpu->r[7] = cpu->r[6];
|
|
/* 02862800 */ _t63 = cpu->r[30] + 0x000000F8u;
|
|
/* 02862800 */ cpu->r[4] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02862804 */ Gambit_fn_02855EB0(cpu);
|
|
/* 02862808 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0286280C */ cpu->r[4] = 0x00000002u;
|
|
/* 02862810 */ Gambit_fn_02858758(cpu);
|
|
/* 02862814 */ goto L_02862848;
|
|
L_02862818: ; // 0x2862818
|
|
/* 02862818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0286281C */ cpu->r[5] = 0x00000000u;
|
|
/* 02862820 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862820 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02862820 */ if (_t65) goto L_028627F4; else goto L_02862824;
|
|
L_02862824: ; // 0x2862824
|
|
/* 02862824 */ _t66 = cpu->r[30] + 0x000000FCu;
|
|
/* 02862824 */ cpu->r[6] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02862828 */ _t67 = cpu->r[31] + 0x00000000u;
|
|
/* 02862828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0286282C */ _t68 = cpu->r[6] + 0x0000000Du;
|
|
/* 0286282C */ cpu->r[7] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02862830 */ _t69 = cpu->r[30] + 0x000000F8u;
|
|
/* 02862830 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02862834 */ _t70 = cpu->r[6] + 0x00000008u;
|
|
/* 02862834 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02862838 */ Gambit_fn_02855EB0(cpu);
|
|
/* 0286283C */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02862840 */ cpu->r[4] = 0x00000002u;
|
|
/* 02862844 */ Gambit_fn_02858758(cpu);
|
|
L_02862848: ; // 0x2862848
|
|
/* 02862848 */ _t71 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02862848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0286284C */ _t72 = cpu->r[1] + 0x00000070u;
|
|
/* 0286284C */ cpu->r[30] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02862850 */ cpu->lr = cpu->r[0];
|
|
/* 02862854 */ _t73 = cpu->r[1] + 0x00000074u;
|
|
/* 02862854 */ cpu->r[31] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02862858 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 0286285C */ return;
|
|
}
|
|
|
|
// fn_02862684 @ 0x2862684
|
|
void Gambit_fn_02862684(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73;
|
|
|
|
L_02862684: ; // 0x2862684
|
|
/* 02862684 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02862684 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02862684 */ cpu->r[1] = _t0;
|
|
/* 02862688 */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02862688 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0286268C */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 0286268C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02862690 */ cpu->r[31] = cpu->r[4];
|
|
/* 02862694 */ cpu->r[30] = cpu->r[3];
|
|
/* 02862698 */ _t3 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02862698 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0286269C */ Gambit_fn_0285FE58(cpu);
|
|
/* 028626A0 */ _t4 = cpu->r[30] + 0x000000CEu;
|
|
/* 028626A0 */ cpu->r[8] = rbrew_read16(cpu->mem, _t4);
|
|
/* 028626A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 028626A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028626A8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028626A8 */ if (_t6) goto L_02862848; else goto L_028626AC;
|
|
L_028626AC: ; // 0x28626ac
|
|
/* 028626AC */ _t7 = cpu->r[30] + 0x000000B4u;
|
|
/* 028626AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028626B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 028626B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028626B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028626B4 */ if (_t9) goto L_02862848; else goto L_028626B8;
|
|
L_028626B8: ; // 0x28626b8
|
|
/* 028626B8 */ _t10 = cpu->r[30] + 0x000000F4u;
|
|
/* 028626B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028626BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028626C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028626C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028626C0 */ if (_t12) goto L_02862848; else goto L_028626C4;
|
|
L_028626C4: ; // 0x28626c4
|
|
/* 028626C4 */ _t13 = cpu->r[30] + 0x000000D0u;
|
|
/* 028626C4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t13);
|
|
/* 028626C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Au, 0x0000001Au);
|
|
/* 028626C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 028626CC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028626CC */ _t15 = _t14 & 0x00000001u;
|
|
/* 028626CC */ if (_t15) goto L_028626E8; else goto L_028626D0;
|
|
L_028626D0: ; // 0x28626d0
|
|
/* 028626D0 */ _t16 = cpu->r[30] + 0x000000F8u;
|
|
/* 028626D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028626D4 */ cpu->r[12] = 0x00000000u;
|
|
/* 028626D8 */ _t17 = cpu->r[11] + 0x00000011u;
|
|
/* 028626D8 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[12]);
|
|
/* 028626DC */ _t18 = cpu->r[30] + 0x000000D0u;
|
|
/* 028626DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 028626E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Bu, 0x00000019u);
|
|
/* 028626E4 */ _t19 = cpu->r[30] + 0x000000D0u;
|
|
/* 028626E4 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
L_028626E8: ; // 0x28626e8
|
|
/* 028626E8 */ _t20 = cpu->r[30] + 0x000000F8u;
|
|
/* 028626E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028626EC */ _t21 = cpu->r[12] + 0x00000011u;
|
|
/* 028626EC */ cpu->r[5] = rbrew_read8(cpu->mem, _t21);
|
|
/* 028626F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 028626F4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028626F4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028626F4 */ if (_t23) goto L_028626F8; else goto L_02862848;
|
|
L_028626F8: ; // 0x28626f8
|
|
/* 028626F8 */ _t24 = cpu->r[12] + 0x00000010u;
|
|
/* 028626F8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t24);
|
|
/* 028626FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02862700 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862700 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02862700 */ if (_t26) goto L_02862720; else goto L_02862704;
|
|
L_02862704: ; // 0x2862704
|
|
/* 02862704 */ _t27 = cpu->r[31] + 0x00000018u;
|
|
/* 02862704 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02862708 */ _t28 = cpu->r[12] + 0x00000000u;
|
|
/* 02862708 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0286270C */ _t29 = cpu->r[5] + 0x00000030u;
|
|
/* 0286270C */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02862710 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02862714 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02862714 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02862714 */ if (_t31) goto L_02862848; else goto L_02862718;
|
|
L_02862718: ; // 0x2862718
|
|
/* 02862718 */ _t32 = cpu->r[5] + 0x00000034u;
|
|
/* 02862718 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0286271C */ _t33 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0286271C */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
L_02862720: ; // 0x2862720
|
|
/* 02862720 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02862724 */ Gambit_fn_028586D8(cpu);
|
|
/* 02862728 */ _t34 = cpu->r[30] + 0x00000008u;
|
|
/* 02862728 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0286272C */ _t35 = cpu->r[9] + 0x000000E4u;
|
|
/* 0286272C */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02862730 */ cpu->ctr = cpu->r[10];
|
|
/* 02862734 */ cpu->r[3] = cpu->r[30];
|
|
/* 02862738 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 0286273C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02862740 */ _t36 = cpu->r[30] + 0x000000F8u;
|
|
/* 02862740 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02862744 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02862748 */ _t37 = cpu->r[1] + 0x00000050u;
|
|
/* 02862748 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 0286274C */ Gambit_fn_02854BD8(cpu);
|
|
/* 02862750 */ _t38 = cpu->r[30] + 0x000000CEu;
|
|
/* 02862750 */ cpu->r[5] = rbrew_read16(cpu->mem, _t38);
|
|
/* 02862754 */ _t39 = cpu->r[30] + 0x000000A4u;
|
|
/* 02862754 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02862758 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0286275C */ Gambit_fn_02859A44(cpu);
|
|
/* 02862760 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02862764 */ Gambit_fn_02854BF0(cpu);
|
|
/* 02862768 */ _t40 = cpu->r[30] + 0x000000D0u;
|
|
/* 02862768 */ cpu->r[12] = rbrew_read8(cpu->mem, _t40);
|
|
/* 0286276C */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0286276C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862770 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862770 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02862770 */ if (_t42) goto L_02862784; else goto L_02862774;
|
|
L_02862774: ; // 0x2862774
|
|
/* 02862774 */ cpu->r[3] = cpu->r[30];
|
|
/* 02862778 */ Gambit_fn_02862314(cpu);
|
|
/* 0286277C */ _t43 = cpu->r[30] + 0x000000D0u;
|
|
/* 0286277C */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02862780 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
L_02862784: ; // 0x2862784
|
|
/* 02862784 */ _t44 = cpu->r[30] + 0x000000D0u;
|
|
/* 02862784 */ cpu->r[9] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02862788 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02862788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0286278C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286278C */ _t46 = _t45 & 0x00000001u;
|
|
/* 0286278C */ if (_t46) goto L_02862818; else goto L_02862790;
|
|
L_02862790: ; // 0x2862790
|
|
/* 02862790 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02862794 */ cpu->r[6] = cpu->r[30] + 0x000000E8u;
|
|
/* 02862798 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862798 */ rbrew_write32(cpu->mem, _t47, cpu->r[10]);
|
|
/* 0286279C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 028627A0 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 028627A0 */ rbrew_write32(cpu->mem, _t48, cpu->r[10]);
|
|
/* 028627A4 */ /* nop */
|
|
/* 028627A8 */ cpu->r[9] = cpu->r[30] + 0x000000ECu;
|
|
/* 028627AC */ /* nop */
|
|
/* 028627B0 */ /* nop */
|
|
/* 028627B4 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu;
|
|
/* 028627B8 */ /* nop */
|
|
/* 028627BC */ _t49 = cpu->r[30] + 0x000000D8u;
|
|
/* 028627BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 028627C0 */ _t50 = cpu->r[30] + 0x000000B8u;
|
|
/* 028627C0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 028627C4 */ _t51 = cpu->r[30] + 0x000000E0u;
|
|
/* 028627C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
|
|
/* 028627C8 */ _t52 = cpu->r[30] + 0x000000F0u;
|
|
/* 028627C8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 028627CC */ _t53 = cpu->r[30] + 0x000000E4u;
|
|
/* 028627CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 028627D0 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 028627D0 */ rbrew_write32(cpu->mem, _t54, cpu->r[6]);
|
|
/* 028627D4 */ cpu->f[0] = cpu->f[13] * cpu->f[0];
|
|
/* 028627D8 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028627D8 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]);
|
|
/* 028627DC */ _t56 = cpu->r[30] + 0x000000DCu;
|
|
/* 028627DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 028627E0 */ _t57 = cpu->r[1] + 0x00000020u;
|
|
/* 028627E0 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[0]);
|
|
/* 028627E4 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 028627E4 */ rbrew_write32(cpu->mem, _t58, cpu->r[7]);
|
|
/* 028627E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028627EC */ _t59 = cpu->r[1] + 0x00000018u;
|
|
/* 028627EC */ rbrew_write32(cpu->mem, _t59, cpu->r[9]);
|
|
/* 028627F0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028627F0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 028627F0 */ if (_t61) goto L_028627F4; else goto L_02862824;
|
|
L_028627F4: ; // 0x28627f4
|
|
/* 028627F4 */ cpu->r[6] = 0x00000000u;
|
|
/* 028627F8 */ _t62 = cpu->r[31] + 0x00000000u;
|
|
/* 028627F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t62);
|
|
/* 028627FC */ cpu->r[7] = cpu->r[6];
|
|
/* 02862800 */ _t63 = cpu->r[30] + 0x000000F8u;
|
|
/* 02862800 */ cpu->r[4] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02862804 */ Gambit_fn_02855EB0(cpu);
|
|
/* 02862808 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0286280C */ cpu->r[4] = 0x00000002u;
|
|
/* 02862810 */ Gambit_fn_02858758(cpu);
|
|
/* 02862814 */ goto L_02862848;
|
|
L_02862818: ; // 0x2862818
|
|
/* 02862818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0286281C */ cpu->r[5] = 0x00000000u;
|
|
/* 02862820 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862820 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02862820 */ if (_t65) goto L_028627F4; else goto L_02862824;
|
|
L_02862824: ; // 0x2862824
|
|
/* 02862824 */ _t66 = cpu->r[30] + 0x000000FCu;
|
|
/* 02862824 */ cpu->r[6] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02862828 */ _t67 = cpu->r[31] + 0x00000000u;
|
|
/* 02862828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0286282C */ _t68 = cpu->r[6] + 0x0000000Du;
|
|
/* 0286282C */ cpu->r[7] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02862830 */ _t69 = cpu->r[30] + 0x000000F8u;
|
|
/* 02862830 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02862834 */ _t70 = cpu->r[6] + 0x00000008u;
|
|
/* 02862834 */ cpu->r[6] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02862838 */ Gambit_fn_02855EB0(cpu);
|
|
/* 0286283C */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02862840 */ cpu->r[4] = 0x00000002u;
|
|
/* 02862844 */ Gambit_fn_02858758(cpu);
|
|
L_02862848: ; // 0x2862848
|
|
/* 02862848 */ _t71 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02862848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0286284C */ _t72 = cpu->r[1] + 0x00000070u;
|
|
/* 0286284C */ cpu->r[30] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02862850 */ cpu->lr = cpu->r[0];
|
|
/* 02862854 */ _t73 = cpu->r[1] + 0x00000074u;
|
|
/* 02862854 */ cpu->r[31] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02862858 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 0286285C */ return;
|
|
}
|
|
|
|
// fn_02862860 @ 0x2862860
|
|
void Gambit_fn_02862860(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_02862860: ; // 0x2862860
|
|
/* 02862860 */ cpu->r[0] = cpu->lr;
|
|
/* 02862864 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02862864 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02862868 */ _t1 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02862868 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02862868 */ cpu->r[1] = _t1;
|
|
/* 0286286C */ _t2 = cpu->r[5] + 0x00000010u;
|
|
/* 0286286C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02862870 */ _t3 = cpu->r[5] + 0x00000004u;
|
|
/* 02862870 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02862874 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02862874 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[0]);
|
|
/* 02862878 */ _t5 = cpu->r[5] + 0x00000000u;
|
|
/* 02862878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0286287C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286287C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02862880 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02862880 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02862884 */ _t8 = cpu->r[5] + 0x00000018u;
|
|
/* 02862884 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02862888 */ _t9 = cpu->r[5] + 0x00000008u;
|
|
/* 02862888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0286288C */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 0286288C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[12]);
|
|
/* 02862890 */ _t11 = cpu->r[5] + 0x0000001Cu;
|
|
/* 02862890 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02862894 */ _t12 = cpu->r[5] + 0x00000014u;
|
|
/* 02862894 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02862898 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02862898 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[8]);
|
|
/* 0286289C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286289C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 028628A0 */ _t15 = cpu->r[5] + 0x0000002Cu;
|
|
/* 028628A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 028628A4 */ _t16 = cpu->r[5] + 0x00000030u;
|
|
/* 028628A4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 028628A8 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 028628A8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[10]);
|
|
/* 028628AC */ _t18 = cpu->r[1] + 0x00000030u;
|
|
/* 028628AC */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
/* 028628B0 */ _t19 = cpu->r[5] + 0x00000034u;
|
|
/* 028628B0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 028628B4 */ _t20 = cpu->r[1] + 0x00000038u;
|
|
/* 028628B4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[11]);
|
|
/* 028628B8 */ _t21 = cpu->r[1] + 0x0000004Cu;
|
|
/* 028628B8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[10]);
|
|
/* 028628BC */ _t22 = cpu->r[5] + 0x0000004Cu;
|
|
/* 028628BC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 028628C0 */ _t23 = cpu->r[5] + 0x0000003Cu;
|
|
/* 028628C0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 028628C4 */ _t24 = cpu->r[1] + 0x00000054u;
|
|
/* 028628C4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[9]);
|
|
/* 028628C8 */ _t25 = cpu->r[1] + 0x00000044u;
|
|
/* 028628C8 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[7]);
|
|
/* 028628CC */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 028628CC */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 028628D0 */ _t27 = cpu->r[5] + 0x00000038u;
|
|
/* 028628D0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 028628D4 */ _t28 = cpu->r[1] + 0x00000048u;
|
|
/* 028628D4 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[11]);
|
|
/* 028628D8 */ _t29 = cpu->r[1] + 0x00000040u;
|
|
/* 028628D8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[8]);
|
|
/* 028628DC */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 028628DC */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 028628E0 */ _t31 = cpu->r[5] + 0x00000050u;
|
|
/* 028628E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028628E4 */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028628E4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[13]);
|
|
/* 028628E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 028628EC */ _t33 = cpu->r[5] + 0x0000000Cu;
|
|
/* 028628EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028628F0 */ _t34 = cpu->r[1] + 0x00000058u;
|
|
/* 028628F0 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
|
|
/* 028628F4 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 028628F4 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 028628F8 */ cpu->r[3] = cpu->r[4];
|
|
/* 028628FC */ _t36 = cpu->r[1] + 0x00000050u;
|
|
/* 028628FC */ rbrew_write_f32(cpu->mem, _t36, cpu->f[8]);
|
|
/* 02862900 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02862904 */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02862904 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[10]);
|
|
/* 02862908 */ Gambit_fn_02856FCC(cpu);
|
|
/* 0286290C */ _t38 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0286290C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02862910 */ cpu->lr = cpu->r[0];
|
|
/* 02862914 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02862918 */ return;
|
|
}
|
|
|
|
// fn_02862868 @ 0x2862868
|
|
void Gambit_fn_02862868(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02862868: ; // 0x2862868
|
|
/* 02862868 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02862868 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02862868 */ cpu->r[1] = _t0;
|
|
/* 0286286C */ _t1 = cpu->r[5] + 0x00000010u;
|
|
/* 0286286C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02862870 */ _t2 = cpu->r[5] + 0x00000004u;
|
|
/* 02862870 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02862874 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02862874 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 02862878 */ _t4 = cpu->r[5] + 0x00000000u;
|
|
/* 02862878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0286287C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286287C */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02862880 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02862880 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02862884 */ _t7 = cpu->r[5] + 0x00000018u;
|
|
/* 02862884 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02862888 */ _t8 = cpu->r[5] + 0x00000008u;
|
|
/* 02862888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0286288C */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 0286288C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
|
|
/* 02862890 */ _t10 = cpu->r[5] + 0x0000001Cu;
|
|
/* 02862890 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02862894 */ _t11 = cpu->r[5] + 0x00000014u;
|
|
/* 02862894 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02862898 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02862898 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[8]);
|
|
/* 0286289C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286289C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 028628A0 */ _t14 = cpu->r[5] + 0x0000002Cu;
|
|
/* 028628A0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 028628A4 */ _t15 = cpu->r[5] + 0x00000030u;
|
|
/* 028628A4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 028628A8 */ _t16 = cpu->r[1] + 0x00000034u;
|
|
/* 028628A8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[10]);
|
|
/* 028628AC */ _t17 = cpu->r[1] + 0x00000030u;
|
|
/* 028628AC */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 028628B0 */ _t18 = cpu->r[5] + 0x00000034u;
|
|
/* 028628B0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 028628B4 */ _t19 = cpu->r[1] + 0x00000038u;
|
|
/* 028628B4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[11]);
|
|
/* 028628B8 */ _t20 = cpu->r[1] + 0x0000004Cu;
|
|
/* 028628B8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[10]);
|
|
/* 028628BC */ _t21 = cpu->r[5] + 0x0000004Cu;
|
|
/* 028628BC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 028628C0 */ _t22 = cpu->r[5] + 0x0000003Cu;
|
|
/* 028628C0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 028628C4 */ _t23 = cpu->r[1] + 0x00000054u;
|
|
/* 028628C4 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[9]);
|
|
/* 028628C8 */ _t24 = cpu->r[1] + 0x00000044u;
|
|
/* 028628C8 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[7]);
|
|
/* 028628CC */ _t25 = cpu->r[1] + 0x00000028u;
|
|
/* 028628CC */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 028628D0 */ _t26 = cpu->r[5] + 0x00000038u;
|
|
/* 028628D0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 028628D4 */ _t27 = cpu->r[1] + 0x00000048u;
|
|
/* 028628D4 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[11]);
|
|
/* 028628D8 */ _t28 = cpu->r[1] + 0x00000040u;
|
|
/* 028628D8 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[8]);
|
|
/* 028628DC */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 028628DC */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 028628E0 */ _t30 = cpu->r[5] + 0x00000050u;
|
|
/* 028628E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028628E4 */ _t31 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028628E4 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[13]);
|
|
/* 028628E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 028628EC */ _t32 = cpu->r[5] + 0x0000000Cu;
|
|
/* 028628EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028628F0 */ _t33 = cpu->r[1] + 0x00000058u;
|
|
/* 028628F0 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 028628F4 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 028628F4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 028628F8 */ cpu->r[3] = cpu->r[4];
|
|
/* 028628FC */ _t35 = cpu->r[1] + 0x00000050u;
|
|
/* 028628FC */ rbrew_write_f32(cpu->mem, _t35, cpu->f[8]);
|
|
/* 02862900 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02862904 */ _t36 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02862904 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[10]);
|
|
/* 02862908 */ Gambit_fn_02856FCC(cpu);
|
|
/* 0286290C */ _t37 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0286290C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02862910 */ cpu->lr = cpu->r[0];
|
|
/* 02862914 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02862918 */ return;
|
|
}
|
|
|
|
// fn_0286291C @ 0x286291c
|
|
void Gambit_fn_0286291C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
|
|
L_0286291C: ; // 0x286291c
|
|
/* 0286291C */ cpu->r[0] = cpu->lr;
|
|
/* 02862920 */ _t0 = cpu->r[1] + 0xFFFFFF58u;
|
|
/* 02862920 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02862920 */ cpu->r[1] = _t0;
|
|
/* 02862924 */ _t1 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02862924 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02862928 */ _t2 = cpu->r[1] + 0x000000A0u;
|
|
/* 02862928 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0286292C */ _t3 = cpu->r[1] + 0x000000A4u;
|
|
/* 0286292C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02862930 */ cpu->r[30] = cpu->r[3];
|
|
/* 02862934 */ _t4 = cpu->r[1] + 0x000000ACu;
|
|
/* 02862934 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02862938 */ _t5 = cpu->r[30] + 0x000000CEu;
|
|
/* 02862938 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5);
|
|
/* 0286293C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862940 */ cpu->r[31] = cpu->r[4];
|
|
/* 02862944 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862944 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02862944 */ if (_t7) goto L_02862D98; else goto L_02862948;
|
|
L_02862948: ; // 0x2862948
|
|
/* 02862948 */ _t8 = cpu->r[30] + 0x000000B4u;
|
|
/* 02862948 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0286294C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02862950 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862950 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02862950 */ if (_t10) goto L_02862D98; else goto L_02862954;
|
|
L_02862954: ; // 0x2862954
|
|
/* 02862954 */ _t11 = cpu->r[30] + 0x000000F4u;
|
|
/* 02862954 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02862958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0286295C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286295C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0286295C */ if (_t13) goto L_02862D98; else goto L_02862960;
|
|
L_02862960: ; // 0x2862960
|
|
/* 02862960 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02862964 */ cpu->r[3] = cpu->r[30];
|
|
/* 02862968 */ Gambit_fn_028621F4(cpu);
|
|
/* 0286296C */ _t14 = cpu->r[30] + 0x000000F8u;
|
|
/* 0286296C */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02862970 */ cpu->r[8] = 0x10130000u;
|
|
/* 02862974 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02862974 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 02862978 */ cpu->r[9] = 0x10130000u;
|
|
/* 0286297C */ _t16 = cpu->r[8] + 0x00005154u;
|
|
/* 0286297C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02862980 */ _t17 = cpu->r[9] + 0x00005150u;
|
|
/* 02862980 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02862984 */ _t18 = cpu->r[1] + 0x00000058u;
|
|
/* 02862984 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
/* 02862988 */ _t19 = cpu->r[1] + 0x00000044u;
|
|
/* 02862988 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[10]);
|
|
/* 0286298C */ _t20 = cpu->r[1] + 0x00000020u;
|
|
/* 0286298C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[10]);
|
|
/* 02862990 */ _t21 = cpu->r[1] + 0x00000048u;
|
|
/* 02862990 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[10]);
|
|
/* 02862994 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02862994 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[10]);
|
|
/* 02862998 */ _t23 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02862998 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[10]);
|
|
/* 0286299C */ _t24 = cpu->r[1] + 0x00000028u;
|
|
/* 0286299C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[10]);
|
|
/* 028629A0 */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028629A0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[10]);
|
|
/* 028629A4 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 028629A4 */ rbrew_write32(cpu->mem, _t26, cpu->r[5]);
|
|
/* 028629A8 */ cpu->r[5] = 0x101D0000u;
|
|
/* 028629AC */ _t27 = cpu->r[1] + 0x0000005Cu;
|
|
/* 028629AC */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]);
|
|
/* 028629B0 */ cpu->r[7] = cpu->r[1] + 0x0000006Cu;
|
|
/* 028629B4 */ _t28 = cpu->r[5] + 0xFFFFD554u;
|
|
/* 028629B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028629B4 */ cpu->r[5] = _t28;
|
|
/* 028629B8 */ _t29 = cpu->r[1] + 0x00000054u;
|
|
/* 028629B8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[12]);
|
|
/* 028629BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 028629C0 */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 028629C0 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[12]);
|
|
/* 028629C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 028629C8 */ _t31 = cpu->r[1] + 0x00000038u;
|
|
/* 028629C8 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]);
|
|
/* 028629CC */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 028629CC */ rbrew_write32(cpu->mem, _t32, cpu->r[7]);
|
|
/* 028629D0 */ _t33 = cpu->r[1] + 0x00000040u;
|
|
/* 028629D0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[10]);
|
|
/* 028629D4 */ _t34 = cpu->r[1] + 0x00000030u;
|
|
/* 028629D4 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]);
|
|
/* 028629D8 */ cpu->r[6] = 0x101D0000u;
|
|
/* 028629DC */ _t35 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028629DC */ rbrew_write_f32(cpu->mem, _t35, cpu->f[12]);
|
|
/* 028629E0 */ cpu->r[6] = cpu->r[6] + 0x00000EE4u;
|
|
/* 028629E4 */ _t36 = cpu->r[1] + 0x00000050u;
|
|
/* 028629E4 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]);
|
|
/* 028629E8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028629E8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 028629E8 */ if (_t38) goto L_028629EC; else goto L_02862A24;
|
|
L_028629EC: ; // 0x28629ec
|
|
/* 028629EC */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 028629EC */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 028629F0 */ cpu->r[10] = 0x00000001u;
|
|
/* 028629F4 */ _t40 = cpu->r[6] + 0x00000004u;
|
|
/* 028629F4 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[10]);
|
|
/* 028629F8 */ _t41 = cpu->r[5] + 0x00000000u;
|
|
/* 028629F8 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 028629FC */ _t42 = cpu->r[6] + 0x00000008u;
|
|
/* 028629FC */ rbrew_write_f32(cpu->mem, _t42, cpu->f[10]);
|
|
/* 02862A00 */ _t43 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02862A00 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]);
|
|
/* 02862A04 */ _t44 = cpu->r[6] + 0x00000010u;
|
|
/* 02862A04 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[10]);
|
|
/* 02862A08 */ _t45 = cpu->r[6] + 0x00000014u;
|
|
/* 02862A08 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]);
|
|
/* 02862A0C */ _t46 = cpu->r[6] + 0x00000018u;
|
|
/* 02862A0C */ rbrew_write_f32(cpu->mem, _t46, cpu->f[10]);
|
|
/* 02862A10 */ _t47 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02862A10 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[10]);
|
|
/* 02862A14 */ _t48 = cpu->r[6] + 0x00000020u;
|
|
/* 02862A14 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[10]);
|
|
/* 02862A18 */ _t49 = cpu->r[6] + 0x00000024u;
|
|
/* 02862A18 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[10]);
|
|
/* 02862A1C */ _t50 = cpu->r[6] + 0x00000028u;
|
|
/* 02862A1C */ rbrew_write_f32(cpu->mem, _t50, cpu->f[12]);
|
|
/* 02862A20 */ _t51 = cpu->r[6] + 0x0000002Cu;
|
|
/* 02862A20 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[10]);
|
|
L_02862A24: ; // 0x2862a24
|
|
/* 02862A24 */ _t52 = cpu->r[30] + 0x000000D0u;
|
|
/* 02862A24 */ cpu->r[12] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02862A28 */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862A28 */ rbrew_write32(cpu->mem, _t53, cpu->r[6]);
|
|
/* 02862A2C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02862A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02862A30 */ _t54 = cpu->r[30] + 0x000000F4u;
|
|
/* 02862A30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02862A34 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862A34 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02862A34 */ if (_t56) goto L_02862A38; else goto L_02862A40;
|
|
L_02862A38: ; // 0x2862a38
|
|
/* 02862A38 */ _t57 = cpu->r[1] + 0x00000060u;
|
|
/* 02862A38 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 02862A3C */ goto L_02862A48;
|
|
L_02862A40: ; // 0x2862a40
|
|
/* 02862A40 */ cpu->r[0] = 0x00000001u;
|
|
/* 02862A44 */ _t58 = cpu->r[1] + 0x00000060u;
|
|
/* 02862A44 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
L_02862A48: ; // 0x2862a48
|
|
/* 02862A48 */ cpu->r[5] = 0x10130000u;
|
|
/* 02862A4C */ /* nop */
|
|
/* 02862A50 */ cpu->r[6] = cpu->r[1] + 0x00000064u;
|
|
/* 02862A54 */ _t59 = cpu->r[5] + 0x00005168u;
|
|
/* 02862A54 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t59);
|
|
/* 02862A58 */ /* nop */
|
|
/* 02862A5C */ cpu->r[0] = 0x43300000u;
|
|
/* 02862A60 */ _t60 = cpu->r[3] + 0x00000000u;
|
|
/* 02862A60 */ cpu->r[12] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02862A64 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 02862A64 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 02862A68 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862A68 */ rbrew_write32(cpu->mem, _t62, cpu->r[12]);
|
|
/* 02862A6C */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 02862A6C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t63);
|
|
/* 02862A70 */ _t64 = cpu->r[1] + 0x00000064u;
|
|
/* 02862A70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02862A74 */ cpu->f[0] = cpu->f[13] - cpu->f[9];
|
|
/* 02862A78 */ cpu->r[12] = 0x10130000u;
|
|
/* 02862A7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02862A80 */ _t65 = cpu->r[12] + 0x00005178u;
|
|
/* 02862A80 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02862A84 */ cpu->f[8] = (double)(float)cpu->f[0];
|
|
/* 02862A88 */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862A88 */ rbrew_write32(cpu->mem, _t66, cpu->r[0]);
|
|
/* 02862A8C */ _t67 = cpu->r[1] + 0x00000008u;
|
|
/* 02862A8C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t67);
|
|
/* 02862A90 */ cpu->f[7] = cpu->f[13] - cpu->f[9];
|
|
/* 02862A94 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02862A98 */ cpu->f[5] = cpu->f[8] / cpu->f[11];
|
|
/* 02862A9C */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862A9C */ rbrew_write32(cpu->mem, _t68, cpu->r[6]);
|
|
/* 02862AA0 */ _t69 = cpu->r[1] + 0x00000008u;
|
|
/* 02862AA0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 02862AA4 */ _t70 = cpu->r[30] + 0x00000046u;
|
|
/* 02862AA4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02862AA8 */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862AA8 */ rbrew_write32(cpu->mem, _t71, cpu->r[4]);
|
|
/* 02862AAC */ _t72 = cpu->r[1] + 0x00000008u;
|
|
/* 02862AAC */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 02862AB0 */ cpu->f[13] = cpu->f[8] - cpu->f[9];
|
|
/* 02862AB4 */ cpu->f[8] = cpu->f[0] - cpu->f[9];
|
|
/* 02862AB8 */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 02862ABC */ cpu->f[8] = (double)(float)cpu->f[8];
|
|
/* 02862AC0 */ cpu->f[6] = (double)(float)cpu->f[7];
|
|
/* 02862AC4 */ cpu->f[8] = cpu->f[8] / cpu->f[11];
|
|
/* 02862AC8 */ cpu->f[13] = cpu->f[6] / cpu->f[11];
|
|
/* 02862ACC */ _t73 = cpu->r[1] + 0x00000028u;
|
|
/* 02862ACC */ rbrew_write_f32(cpu->mem, _t73, cpu->f[8]);
|
|
/* 02862AD0 */ cpu->f[7] = cpu->f[0] / cpu->f[11];
|
|
/* 02862AD4 */ _t74 = cpu->r[1] + 0x00000020u;
|
|
/* 02862AD4 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[5]);
|
|
/* 02862AD8 */ cpu->r[11] = cpu->r[3] + 0x00000004u;
|
|
/* 02862ADC */ _t75 = cpu->r[1] + 0x00000024u;
|
|
/* 02862ADC */ rbrew_write_f32(cpu->mem, _t75, cpu->f[13]);
|
|
/* 02862AE0 */ _t76 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02862AE0 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[7]);
|
|
/* 02862AE4 */ /* nop */
|
|
/* 02862AE8 */ cpu->r[7] = cpu->r[1] + 0x00000068u;
|
|
/* 02862AEC */ /* nop */
|
|
/* 02862AF0 */ _t77 = cpu->r[3] + 0x00000004u;
|
|
/* 02862AF0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t77);
|
|
/* 02862AF4 */ _t78 = cpu->r[1] + 0x00000068u;
|
|
/* 02862AF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02862AF8 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862AF8 */ rbrew_write32(cpu->mem, _t79, cpu->r[7]);
|
|
/* 02862AFC */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 02862AFC */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t80);
|
|
/* 02862B00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02862B04 */ cpu->f[8] = cpu->f[7] - cpu->f[9];
|
|
/* 02862B08 */ _t81 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862B08 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 02862B0C */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02862B10 */ _t82 = cpu->r[1] + 0x00000008u;
|
|
/* 02862B10 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t82);
|
|
/* 02862B14 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02862B18 */ cpu->f[13] = (double)(float)cpu->f[8];
|
|
/* 02862B1C */ cpu->f[13] = cpu->f[13] / cpu->f[11];
|
|
/* 02862B20 */ _t83 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862B20 */ rbrew_write32(cpu->mem, _t83, cpu->r[8]);
|
|
/* 02862B24 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 02862B24 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t84);
|
|
/* 02862B28 */ _t85 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862B28 */ rbrew_write32(cpu->mem, _t85, cpu->r[5]);
|
|
/* 02862B2C */ cpu->f[7] = cpu->f[0] - cpu->f[9];
|
|
/* 02862B30 */ _t86 = cpu->r[1] + 0x00000008u;
|
|
/* 02862B30 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t86);
|
|
/* 02862B34 */ cpu->f[5] = cpu->f[8] - cpu->f[9];
|
|
/* 02862B38 */ _t87 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862B38 */ rbrew_write32(cpu->mem, _t87, cpu->r[4]);
|
|
/* 02862B3C */ cpu->f[6] = cpu->f[0] - cpu->f[9];
|
|
/* 02862B40 */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 02862B40 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t88);
|
|
/* 02862B44 */ cpu->f[8] = cpu->f[0] - cpu->f[9];
|
|
/* 02862B48 */ cpu->f[0] = (double)(float)cpu->f[5];
|
|
/* 02862B4C */ cpu->f[9] = (double)(float)cpu->f[7];
|
|
/* 02862B50 */ cpu->f[6] = (double)(float)cpu->f[6];
|
|
/* 02862B54 */ cpu->f[7] = cpu->f[0] / cpu->f[11];
|
|
/* 02862B58 */ cpu->f[9] = cpu->f[9] / cpu->f[11];
|
|
/* 02862B5C */ _t89 = cpu->r[1] + 0x00000030u;
|
|
/* 02862B5C */ rbrew_write_f32(cpu->mem, _t89, cpu->f[13]);
|
|
/* 02862B60 */ cpu->f[13] = (double)(float)cpu->f[8];
|
|
/* 02862B64 */ cpu->f[8] = cpu->f[6] / cpu->f[11];
|
|
/* 02862B68 */ _t90 = cpu->r[1] + 0x00000034u;
|
|
/* 02862B68 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[9]);
|
|
/* 02862B6C */ cpu->f[9] = cpu->f[13] / cpu->f[11];
|
|
/* 02862B70 */ cpu->f[13] = cpu->f[8] * cpu->f[9];
|
|
/* 02862B74 */ _t91 = cpu->r[1] + 0x00000038u;
|
|
/* 02862B74 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[7]);
|
|
/* 02862B78 */ _t92 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02862B78 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[13]);
|
|
/* 02862B7C */ _t93 = cpu->r[3] + 0x00000008u;
|
|
/* 02862B7C */ cpu->r[0] = rbrew_read16(cpu->mem, _t93);
|
|
/* 02862B80 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02862B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862B84 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862B84 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02862B84 */ if (_t95) goto L_02862D0C; else goto L_02862B88;
|
|
L_02862B88: ; // 0x2862b88
|
|
/* 02862B88 */ cpu->r[9] = 0x10130000u;
|
|
/* 02862B8C */ _t96 = cpu->r[9] + 0x00005168u;
|
|
/* 02862B8C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 02862B90 */ _t97 = cpu->r[3] + 0x00000008u;
|
|
/* 02862B90 */ cpu->r[29] = rbrew_read16(cpu->mem, _t97);
|
|
/* 02862B94 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000012u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02862B98 */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000016u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02862B9C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000001Cu);
|
|
/* 02862BA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02862BA4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[29], 0x00000014u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02862BA8 */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
/* 02862BAC */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02862BB0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000014u);
|
|
/* 02862BB4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02862BB8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02862BBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000019u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02862BC0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02862BC4 */ cpu->r[8] = cpu->r[8] + cpu->r[12];
|
|
/* 02862BC8 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x0000000Cu);
|
|
/* 02862BCC */ cpu->r[11] = cpu->r[6] + cpu->r[8];
|
|
/* 02862BD0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x0000001Fu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02862BD4 */ cpu->r[11] = cpu->r[11] + cpu->r[9];
|
|
/* 02862BD8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02862BDC */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000014u);
|
|
/* 02862BE0 */ cpu->r[5] = cpu->r[11] + cpu->r[12];
|
|
/* 02862BE4 */ cpu->r[12] = cpu->r[5] + cpu->r[10];
|
|
/* 02862BE8 */ _t98 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02862BE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02862BEC */ cpu->r[7] = 0x43300000u;
|
|
/* 02862BF0 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02862BF4 */ _t99 = cpu->r[1] + 0x00000008u;
|
|
/* 02862BF4 */ rbrew_write32(cpu->mem, _t99, cpu->r[7]);
|
|
/* 02862BF8 */ cpu->r[5] = cpu->r[11] + cpu->r[9];
|
|
/* 02862BFC */ _t100 = cpu->r[11] + cpu->r[9];
|
|
/* 02862BFC */ cpu->r[7] = rbrew_read8(cpu->mem, _t100);
|
|
/* 02862C00 */ _t101 = cpu->r[5] + 0x00000001u;
|
|
/* 02862C00 */ cpu->r[8] = rbrew_read8(cpu->mem, _t101);
|
|
/* 02862C04 */ _t102 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862C04 */ rbrew_write32(cpu->mem, _t102, cpu->r[7]);
|
|
/* 02862C08 */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 02862C08 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t103);
|
|
/* 02862C0C */ _t104 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862C0C */ rbrew_write32(cpu->mem, _t104, cpu->r[8]);
|
|
/* 02862C10 */ cpu->f[0] = cpu->f[12] - cpu->f[13];
|
|
/* 02862C14 */ _t105 = cpu->r[1] + 0x00000008u;
|
|
/* 02862C14 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t105);
|
|
/* 02862C18 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02862C1C */ cpu->f[8] = cpu->f[7] - cpu->f[13];
|
|
/* 02862C20 */ _t106 = cpu->r[5] + 0x00000002u;
|
|
/* 02862C20 */ cpu->r[9] = rbrew_read8(cpu->mem, _t106);
|
|
/* 02862C24 */ cpu->f[7] = cpu->f[0] / cpu->f[11];
|
|
/* 02862C28 */ _t107 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862C28 */ rbrew_write32(cpu->mem, _t107, cpu->r[9]);
|
|
/* 02862C2C */ _t108 = cpu->r[1] + 0x00000008u;
|
|
/* 02862C2C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t108);
|
|
/* 02862C30 */ _t109 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862C30 */ rbrew_write32(cpu->mem, _t109, cpu->r[4]);
|
|
/* 02862C34 */ _t110 = cpu->r[1] + 0x00000008u;
|
|
/* 02862C34 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t110);
|
|
/* 02862C38 */ cpu->f[12] = cpu->f[10] - cpu->f[13];
|
|
/* 02862C3C */ cpu->f[10] = cpu->f[0] - cpu->f[13];
|
|
/* 02862C40 */ cpu->f[9] = (double)(float)cpu->f[8];
|
|
/* 02862C44 */ _t111 = cpu->r[1] + 0x00000040u;
|
|
/* 02862C44 */ rbrew_write_f32(cpu->mem, _t111, cpu->f[7]);
|
|
/* 02862C48 */ cpu->f[7] = (double)(float)cpu->f[12];
|
|
/* 02862C4C */ cpu->f[9] = cpu->f[9] / cpu->f[11];
|
|
/* 02862C50 */ cpu->f[10] = (double)(float)cpu->f[10];
|
|
/* 02862C54 */ cpu->f[7] = cpu->f[7] / cpu->f[11];
|
|
/* 02862C58 */ cpu->f[0] = cpu->f[10] / cpu->f[11];
|
|
/* 02862C5C */ _t112 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02862C5C */ rbrew_write_f32(cpu->mem, _t112, cpu->f[7]);
|
|
/* 02862C60 */ _t113 = cpu->r[1] + 0x00000044u;
|
|
/* 02862C60 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[9]);
|
|
/* 02862C64 */ _t114 = cpu->r[1] + 0x00000048u;
|
|
/* 02862C64 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[0]);
|
|
/* 02862C68 */ _t115 = cpu->r[5] + 0x00000003u;
|
|
/* 02862C68 */ cpu->r[10] = rbrew_read8(cpu->mem, _t115);
|
|
/* 02862C6C */ _t116 = cpu->r[5] + 0x00000004u;
|
|
/* 02862C6C */ cpu->r[11] = rbrew_read8(cpu->mem, _t116);
|
|
/* 02862C70 */ _t117 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862C70 */ rbrew_write32(cpu->mem, _t117, cpu->r[10]);
|
|
/* 02862C74 */ _t118 = cpu->r[1] + 0x00000008u;
|
|
/* 02862C74 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t118);
|
|
/* 02862C78 */ _t119 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862C78 */ rbrew_write32(cpu->mem, _t119, cpu->r[11]);
|
|
/* 02862C7C */ _t120 = cpu->r[5] + 0x00000005u;
|
|
/* 02862C7C */ cpu->r[12] = rbrew_read8(cpu->mem, _t120);
|
|
/* 02862C80 */ cpu->f[8] = cpu->f[0] - cpu->f[13];
|
|
/* 02862C84 */ _t121 = cpu->r[1] + 0x00000008u;
|
|
/* 02862C84 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t121);
|
|
/* 02862C88 */ cpu->f[7] = (double)(float)cpu->f[8];
|
|
/* 02862C8C */ _t122 = cpu->r[5] + 0x00000006u;
|
|
/* 02862C8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t122);
|
|
/* 02862C90 */ cpu->f[12] = cpu->f[10] - cpu->f[13];
|
|
/* 02862C94 */ _t123 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862C94 */ rbrew_write32(cpu->mem, _t123, cpu->r[12]);
|
|
/* 02862C98 */ cpu->f[6] = cpu->f[7] / cpu->f[11];
|
|
/* 02862C9C */ _t124 = cpu->r[1] + 0x00000008u;
|
|
/* 02862C9C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t124);
|
|
/* 02862CA0 */ _t125 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862CA0 */ rbrew_write32(cpu->mem, _t125, cpu->r[0]);
|
|
/* 02862CA4 */ _t126 = cpu->r[1] + 0x00000008u;
|
|
/* 02862CA4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t126);
|
|
/* 02862CA8 */ cpu->f[7] = cpu->f[0] - cpu->f[13];
|
|
/* 02862CAC */ cpu->f[10] = cpu->f[8] - cpu->f[13];
|
|
/* 02862CB0 */ _t127 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862CB0 */ rbrew_write32(cpu->mem, _t127, cpu->r[4]);
|
|
/* 02862CB4 */ cpu->f[0] = (double)(float)cpu->f[7];
|
|
/* 02862CB8 */ _t128 = cpu->r[1] + 0x00000008u;
|
|
/* 02862CB8 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t128);
|
|
/* 02862CBC */ cpu->f[9] = (double)(float)cpu->f[12];
|
|
/* 02862CC0 */ cpu->f[12] = (double)(float)cpu->f[10];
|
|
/* 02862CC4 */ cpu->f[8] = cpu->f[7] - cpu->f[13];
|
|
/* 02862CC8 */ cpu->f[13] = cpu->f[9] / cpu->f[11];
|
|
/* 02862CCC */ cpu->f[12] = cpu->f[12] / cpu->f[11];
|
|
/* 02862CD0 */ _t129 = cpu->r[1] + 0x00000054u;
|
|
/* 02862CD0 */ rbrew_write_f32(cpu->mem, _t129, cpu->f[13]);
|
|
/* 02862CD4 */ cpu->f[13] = (double)(float)cpu->f[8];
|
|
/* 02862CD8 */ cpu->f[10] = cpu->f[0] / cpu->f[11];
|
|
/* 02862CDC */ cpu->f[0] = cpu->f[13] / cpu->f[11];
|
|
/* 02862CE0 */ _t130 = cpu->r[1] + 0x00000050u;
|
|
/* 02862CE0 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[6]);
|
|
/* 02862CE4 */ cpu->f[13] = cpu->f[12] * cpu->f[0];
|
|
/* 02862CE8 */ _t131 = cpu->r[1] + 0x00000058u;
|
|
/* 02862CE8 */ rbrew_write_f32(cpu->mem, _t131, cpu->f[10]);
|
|
/* 02862CEC */ _t132 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02862CEC */ rbrew_write_f32(cpu->mem, _t132, cpu->f[13]);
|
|
/* 02862CF0 */ Gambit_fn_0286E94C(cpu);
|
|
/* 02862CF4 */ _t133 = cpu->r[30] + 0x000000D0u;
|
|
/* 02862CF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t133);
|
|
/* 02862CF8 */ _t134 = cpu->r[31] + 0x000000A8u;
|
|
/* 02862CF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02862CFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 02862CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862D00 */ cpu->r[29] = cpu->r[7] + 0x00000008u;
|
|
/* 02862D04 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862D04 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02862D04 */ if (_t136) goto L_02862D84; else goto L_02862D08;
|
|
L_02862D08: ; // 0x2862d08
|
|
/* 02862D08 */ goto L_02862D68;
|
|
L_02862D0C: ; // 0x2862d0c
|
|
/* 02862D0C */ _t137 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862D0C */ rbrew_write32(cpu->mem, _t137, cpu->r[4]);
|
|
/* 02862D10 */ cpu->r[6] = 0x43300000u;
|
|
/* 02862D14 */ cpu->r[10] = 0x10130000u;
|
|
/* 02862D18 */ _t138 = cpu->r[1] + 0x00000008u;
|
|
/* 02862D18 */ rbrew_write32(cpu->mem, _t138, cpu->r[6]);
|
|
/* 02862D1C */ _t139 = cpu->r[1] + 0x00000008u;
|
|
/* 02862D1C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t139);
|
|
/* 02862D20 */ _t140 = cpu->r[10] + 0x00005168u;
|
|
/* 02862D20 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t140);
|
|
/* 02862D24 */ _t141 = cpu->r[1] + 0x00000054u;
|
|
/* 02862D24 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[12]);
|
|
/* 02862D28 */ cpu->f[13] = cpu->f[9] - cpu->f[0];
|
|
/* 02862D2C */ _t142 = cpu->r[1] + 0x00000050u;
|
|
/* 02862D2C */ rbrew_write_f32(cpu->mem, _t142, cpu->f[12]);
|
|
/* 02862D30 */ cpu->f[8] = (double)(float)cpu->f[13];
|
|
/* 02862D34 */ cpu->f[13] = cpu->f[8] / cpu->f[11];
|
|
/* 02862D38 */ _t143 = cpu->r[1] + 0x00000040u;
|
|
/* 02862D38 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[10]);
|
|
/* 02862D3C */ _t144 = cpu->r[1] + 0x00000044u;
|
|
/* 02862D3C */ rbrew_write_f32(cpu->mem, _t144, cpu->f[10]);
|
|
/* 02862D40 */ _t145 = cpu->r[1] + 0x00000058u;
|
|
/* 02862D40 */ rbrew_write_f32(cpu->mem, _t145, cpu->f[12]);
|
|
/* 02862D44 */ _t146 = cpu->r[1] + 0x00000048u;
|
|
/* 02862D44 */ rbrew_write_f32(cpu->mem, _t146, cpu->f[10]);
|
|
/* 02862D48 */ _t147 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02862D48 */ rbrew_write_f32(cpu->mem, _t147, cpu->f[13]);
|
|
/* 02862D4C */ _t148 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02862D4C */ rbrew_write_f32(cpu->mem, _t148, cpu->f[13]);
|
|
/* 02862D50 */ Gambit_fn_0286E94C(cpu);
|
|
/* 02862D54 */ _t149 = cpu->r[30] + 0x000000D0u;
|
|
/* 02862D54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t149);
|
|
/* 02862D58 */ _t150 = cpu->r[31] + 0x000000A8u;
|
|
/* 02862D58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02862D5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 02862D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862D60 */ cpu->r[29] = cpu->r[7] + 0x00000008u;
|
|
/* 02862D64 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862D64 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02862D64 */ if (_t152) goto L_02862D84; else goto L_02862D68;
|
|
L_02862D68: ; // 0x2862d68
|
|
/* 02862D68 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02862D6C */ cpu->r[4] = cpu->r[29];
|
|
/* 02862D70 */ cpu->r[3] = cpu->r[30];
|
|
/* 02862D74 */ Gambit_fn_02862860(cpu);
|
|
/* 02862D78 */ _t153 = cpu->r[1] + 0x00000060u;
|
|
/* 02862D78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02862D7C */ cpu->r[7] = cpu->r[7] | 0x00000001u;
|
|
/* 02862D80 */ _t154 = cpu->r[1] + 0x00000060u;
|
|
/* 02862D80 */ rbrew_write32(cpu->mem, _t154, cpu->r[7]);
|
|
L_02862D84: ; // 0x2862d84
|
|
/* 02862D84 */ cpu->r[3] = cpu->r[29];
|
|
/* 02862D88 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02862D8C */ Gambit_fn_02856FCC(cpu);
|
|
/* 02862D90 */ cpu->r[10] = 0x00000001u;
|
|
/* 02862D94 */ _t155 = cpu->r[31] + 0x000000B7u;
|
|
/* 02862D94 */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[10]);
|
|
L_02862D98: ; // 0x2862d98
|
|
/* 02862D98 */ _t156 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02862D98 */ cpu->r[29] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02862D9C */ _t157 = cpu->r[1] + 0x000000ACu;
|
|
/* 02862D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02862DA0 */ _t158 = cpu->r[1] + 0x000000A0u;
|
|
/* 02862DA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02862DA4 */ cpu->lr = cpu->r[0];
|
|
/* 02862DA8 */ _t159 = cpu->r[1] + 0x000000A4u;
|
|
/* 02862DA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02862DAC */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 02862DB0 */ return;
|
|
}
|
|
|
|
// fn_02862920 @ 0x2862920
|
|
void Gambit_fn_02862920(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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;
|
|
|
|
L_02862920: ; // 0x2862920
|
|
/* 02862920 */ _t0 = cpu->r[1] + 0xFFFFFF58u;
|
|
/* 02862920 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02862920 */ cpu->r[1] = _t0;
|
|
/* 02862924 */ _t1 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02862924 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02862928 */ _t2 = cpu->r[1] + 0x000000A0u;
|
|
/* 02862928 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0286292C */ _t3 = cpu->r[1] + 0x000000A4u;
|
|
/* 0286292C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02862930 */ cpu->r[30] = cpu->r[3];
|
|
/* 02862934 */ _t4 = cpu->r[1] + 0x000000ACu;
|
|
/* 02862934 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02862938 */ _t5 = cpu->r[30] + 0x000000CEu;
|
|
/* 02862938 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5);
|
|
/* 0286293C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862940 */ cpu->r[31] = cpu->r[4];
|
|
/* 02862944 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862944 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02862944 */ if (_t7) goto L_02862D98; else goto L_02862948;
|
|
L_02862948: ; // 0x2862948
|
|
/* 02862948 */ _t8 = cpu->r[30] + 0x000000B4u;
|
|
/* 02862948 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0286294C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02862950 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862950 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02862950 */ if (_t10) goto L_02862D98; else goto L_02862954;
|
|
L_02862954: ; // 0x2862954
|
|
/* 02862954 */ _t11 = cpu->r[30] + 0x000000F4u;
|
|
/* 02862954 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02862958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0286295C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286295C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0286295C */ if (_t13) goto L_02862D98; else goto L_02862960;
|
|
L_02862960: ; // 0x2862960
|
|
/* 02862960 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02862964 */ cpu->r[3] = cpu->r[30];
|
|
/* 02862968 */ Gambit_fn_028621F4(cpu);
|
|
/* 0286296C */ _t14 = cpu->r[30] + 0x000000F8u;
|
|
/* 0286296C */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02862970 */ cpu->r[8] = 0x10130000u;
|
|
/* 02862974 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02862974 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 02862978 */ cpu->r[9] = 0x10130000u;
|
|
/* 0286297C */ _t16 = cpu->r[8] + 0x00005154u;
|
|
/* 0286297C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02862980 */ _t17 = cpu->r[9] + 0x00005150u;
|
|
/* 02862980 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02862984 */ _t18 = cpu->r[1] + 0x00000058u;
|
|
/* 02862984 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
/* 02862988 */ _t19 = cpu->r[1] + 0x00000044u;
|
|
/* 02862988 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[10]);
|
|
/* 0286298C */ _t20 = cpu->r[1] + 0x00000020u;
|
|
/* 0286298C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[10]);
|
|
/* 02862990 */ _t21 = cpu->r[1] + 0x00000048u;
|
|
/* 02862990 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[10]);
|
|
/* 02862994 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02862994 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[10]);
|
|
/* 02862998 */ _t23 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02862998 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[10]);
|
|
/* 0286299C */ _t24 = cpu->r[1] + 0x00000028u;
|
|
/* 0286299C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[10]);
|
|
/* 028629A0 */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028629A0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[10]);
|
|
/* 028629A4 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 028629A4 */ rbrew_write32(cpu->mem, _t26, cpu->r[5]);
|
|
/* 028629A8 */ cpu->r[5] = 0x101D0000u;
|
|
/* 028629AC */ _t27 = cpu->r[1] + 0x0000005Cu;
|
|
/* 028629AC */ rbrew_write_f32(cpu->mem, _t27, cpu->f[12]);
|
|
/* 028629B0 */ cpu->r[7] = cpu->r[1] + 0x0000006Cu;
|
|
/* 028629B4 */ _t28 = cpu->r[5] + 0xFFFFD554u;
|
|
/* 028629B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028629B4 */ cpu->r[5] = _t28;
|
|
/* 028629B8 */ _t29 = cpu->r[1] + 0x00000054u;
|
|
/* 028629B8 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[12]);
|
|
/* 028629BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 028629C0 */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 028629C0 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[12]);
|
|
/* 028629C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 028629C8 */ _t31 = cpu->r[1] + 0x00000038u;
|
|
/* 028629C8 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]);
|
|
/* 028629CC */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 028629CC */ rbrew_write32(cpu->mem, _t32, cpu->r[7]);
|
|
/* 028629D0 */ _t33 = cpu->r[1] + 0x00000040u;
|
|
/* 028629D0 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[10]);
|
|
/* 028629D4 */ _t34 = cpu->r[1] + 0x00000030u;
|
|
/* 028629D4 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]);
|
|
/* 028629D8 */ cpu->r[6] = 0x101D0000u;
|
|
/* 028629DC */ _t35 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028629DC */ rbrew_write_f32(cpu->mem, _t35, cpu->f[12]);
|
|
/* 028629E0 */ cpu->r[6] = cpu->r[6] + 0x00000EE4u;
|
|
/* 028629E4 */ _t36 = cpu->r[1] + 0x00000050u;
|
|
/* 028629E4 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]);
|
|
/* 028629E8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028629E8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 028629E8 */ if (_t38) goto L_028629EC; else goto L_02862A24;
|
|
L_028629EC: ; // 0x28629ec
|
|
/* 028629EC */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 028629EC */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 028629F0 */ cpu->r[10] = 0x00000001u;
|
|
/* 028629F4 */ _t40 = cpu->r[6] + 0x00000004u;
|
|
/* 028629F4 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[10]);
|
|
/* 028629F8 */ _t41 = cpu->r[5] + 0x00000000u;
|
|
/* 028629F8 */ rbrew_write32(cpu->mem, _t41, cpu->r[10]);
|
|
/* 028629FC */ _t42 = cpu->r[6] + 0x00000008u;
|
|
/* 028629FC */ rbrew_write_f32(cpu->mem, _t42, cpu->f[10]);
|
|
/* 02862A00 */ _t43 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02862A00 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[10]);
|
|
/* 02862A04 */ _t44 = cpu->r[6] + 0x00000010u;
|
|
/* 02862A04 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[10]);
|
|
/* 02862A08 */ _t45 = cpu->r[6] + 0x00000014u;
|
|
/* 02862A08 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]);
|
|
/* 02862A0C */ _t46 = cpu->r[6] + 0x00000018u;
|
|
/* 02862A0C */ rbrew_write_f32(cpu->mem, _t46, cpu->f[10]);
|
|
/* 02862A10 */ _t47 = cpu->r[6] + 0x0000001Cu;
|
|
/* 02862A10 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[10]);
|
|
/* 02862A14 */ _t48 = cpu->r[6] + 0x00000020u;
|
|
/* 02862A14 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[10]);
|
|
/* 02862A18 */ _t49 = cpu->r[6] + 0x00000024u;
|
|
/* 02862A18 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[10]);
|
|
/* 02862A1C */ _t50 = cpu->r[6] + 0x00000028u;
|
|
/* 02862A1C */ rbrew_write_f32(cpu->mem, _t50, cpu->f[12]);
|
|
/* 02862A20 */ _t51 = cpu->r[6] + 0x0000002Cu;
|
|
/* 02862A20 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[10]);
|
|
L_02862A24: ; // 0x2862a24
|
|
/* 02862A24 */ _t52 = cpu->r[30] + 0x000000D0u;
|
|
/* 02862A24 */ cpu->r[12] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02862A28 */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862A28 */ rbrew_write32(cpu->mem, _t53, cpu->r[6]);
|
|
/* 02862A2C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02862A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02862A30 */ _t54 = cpu->r[30] + 0x000000F4u;
|
|
/* 02862A30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02862A34 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862A34 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02862A34 */ if (_t56) goto L_02862A38; else goto L_02862A40;
|
|
L_02862A38: ; // 0x2862a38
|
|
/* 02862A38 */ _t57 = cpu->r[1] + 0x00000060u;
|
|
/* 02862A38 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 02862A3C */ goto L_02862A48;
|
|
L_02862A40: ; // 0x2862a40
|
|
/* 02862A40 */ cpu->r[0] = 0x00000001u;
|
|
/* 02862A44 */ _t58 = cpu->r[1] + 0x00000060u;
|
|
/* 02862A44 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
L_02862A48: ; // 0x2862a48
|
|
/* 02862A48 */ cpu->r[5] = 0x10130000u;
|
|
/* 02862A4C */ /* nop */
|
|
/* 02862A50 */ cpu->r[6] = cpu->r[1] + 0x00000064u;
|
|
/* 02862A54 */ _t59 = cpu->r[5] + 0x00005168u;
|
|
/* 02862A54 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t59);
|
|
/* 02862A58 */ /* nop */
|
|
/* 02862A5C */ cpu->r[0] = 0x43300000u;
|
|
/* 02862A60 */ _t60 = cpu->r[3] + 0x00000000u;
|
|
/* 02862A60 */ cpu->r[12] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02862A64 */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 02862A64 */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 02862A68 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862A68 */ rbrew_write32(cpu->mem, _t62, cpu->r[12]);
|
|
/* 02862A6C */ _t63 = cpu->r[1] + 0x00000008u;
|
|
/* 02862A6C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t63);
|
|
/* 02862A70 */ _t64 = cpu->r[1] + 0x00000064u;
|
|
/* 02862A70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02862A74 */ cpu->f[0] = cpu->f[13] - cpu->f[9];
|
|
/* 02862A78 */ cpu->r[12] = 0x10130000u;
|
|
/* 02862A7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02862A80 */ _t65 = cpu->r[12] + 0x00005178u;
|
|
/* 02862A80 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02862A84 */ cpu->f[8] = (double)(float)cpu->f[0];
|
|
/* 02862A88 */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862A88 */ rbrew_write32(cpu->mem, _t66, cpu->r[0]);
|
|
/* 02862A8C */ _t67 = cpu->r[1] + 0x00000008u;
|
|
/* 02862A8C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t67);
|
|
/* 02862A90 */ cpu->f[7] = cpu->f[13] - cpu->f[9];
|
|
/* 02862A94 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02862A98 */ cpu->f[5] = cpu->f[8] / cpu->f[11];
|
|
/* 02862A9C */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862A9C */ rbrew_write32(cpu->mem, _t68, cpu->r[6]);
|
|
/* 02862AA0 */ _t69 = cpu->r[1] + 0x00000008u;
|
|
/* 02862AA0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t69);
|
|
/* 02862AA4 */ _t70 = cpu->r[30] + 0x00000046u;
|
|
/* 02862AA4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02862AA8 */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862AA8 */ rbrew_write32(cpu->mem, _t71, cpu->r[4]);
|
|
/* 02862AAC */ _t72 = cpu->r[1] + 0x00000008u;
|
|
/* 02862AAC */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t72);
|
|
/* 02862AB0 */ cpu->f[13] = cpu->f[8] - cpu->f[9];
|
|
/* 02862AB4 */ cpu->f[8] = cpu->f[0] - cpu->f[9];
|
|
/* 02862AB8 */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 02862ABC */ cpu->f[8] = (double)(float)cpu->f[8];
|
|
/* 02862AC0 */ cpu->f[6] = (double)(float)cpu->f[7];
|
|
/* 02862AC4 */ cpu->f[8] = cpu->f[8] / cpu->f[11];
|
|
/* 02862AC8 */ cpu->f[13] = cpu->f[6] / cpu->f[11];
|
|
/* 02862ACC */ _t73 = cpu->r[1] + 0x00000028u;
|
|
/* 02862ACC */ rbrew_write_f32(cpu->mem, _t73, cpu->f[8]);
|
|
/* 02862AD0 */ cpu->f[7] = cpu->f[0] / cpu->f[11];
|
|
/* 02862AD4 */ _t74 = cpu->r[1] + 0x00000020u;
|
|
/* 02862AD4 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[5]);
|
|
/* 02862AD8 */ cpu->r[11] = cpu->r[3] + 0x00000004u;
|
|
/* 02862ADC */ _t75 = cpu->r[1] + 0x00000024u;
|
|
/* 02862ADC */ rbrew_write_f32(cpu->mem, _t75, cpu->f[13]);
|
|
/* 02862AE0 */ _t76 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02862AE0 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[7]);
|
|
/* 02862AE4 */ /* nop */
|
|
/* 02862AE8 */ cpu->r[7] = cpu->r[1] + 0x00000068u;
|
|
/* 02862AEC */ /* nop */
|
|
/* 02862AF0 */ _t77 = cpu->r[3] + 0x00000004u;
|
|
/* 02862AF0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t77);
|
|
/* 02862AF4 */ _t78 = cpu->r[1] + 0x00000068u;
|
|
/* 02862AF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02862AF8 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862AF8 */ rbrew_write32(cpu->mem, _t79, cpu->r[7]);
|
|
/* 02862AFC */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 02862AFC */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t80);
|
|
/* 02862B00 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02862B04 */ cpu->f[8] = cpu->f[7] - cpu->f[9];
|
|
/* 02862B08 */ _t81 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862B08 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 02862B0C */ cpu->r[5] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02862B10 */ _t82 = cpu->r[1] + 0x00000008u;
|
|
/* 02862B10 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t82);
|
|
/* 02862B14 */ cpu->r[8] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02862B18 */ cpu->f[13] = (double)(float)cpu->f[8];
|
|
/* 02862B1C */ cpu->f[13] = cpu->f[13] / cpu->f[11];
|
|
/* 02862B20 */ _t83 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862B20 */ rbrew_write32(cpu->mem, _t83, cpu->r[8]);
|
|
/* 02862B24 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 02862B24 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t84);
|
|
/* 02862B28 */ _t85 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862B28 */ rbrew_write32(cpu->mem, _t85, cpu->r[5]);
|
|
/* 02862B2C */ cpu->f[7] = cpu->f[0] - cpu->f[9];
|
|
/* 02862B30 */ _t86 = cpu->r[1] + 0x00000008u;
|
|
/* 02862B30 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t86);
|
|
/* 02862B34 */ cpu->f[5] = cpu->f[8] - cpu->f[9];
|
|
/* 02862B38 */ _t87 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862B38 */ rbrew_write32(cpu->mem, _t87, cpu->r[4]);
|
|
/* 02862B3C */ cpu->f[6] = cpu->f[0] - cpu->f[9];
|
|
/* 02862B40 */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 02862B40 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t88);
|
|
/* 02862B44 */ cpu->f[8] = cpu->f[0] - cpu->f[9];
|
|
/* 02862B48 */ cpu->f[0] = (double)(float)cpu->f[5];
|
|
/* 02862B4C */ cpu->f[9] = (double)(float)cpu->f[7];
|
|
/* 02862B50 */ cpu->f[6] = (double)(float)cpu->f[6];
|
|
/* 02862B54 */ cpu->f[7] = cpu->f[0] / cpu->f[11];
|
|
/* 02862B58 */ cpu->f[9] = cpu->f[9] / cpu->f[11];
|
|
/* 02862B5C */ _t89 = cpu->r[1] + 0x00000030u;
|
|
/* 02862B5C */ rbrew_write_f32(cpu->mem, _t89, cpu->f[13]);
|
|
/* 02862B60 */ cpu->f[13] = (double)(float)cpu->f[8];
|
|
/* 02862B64 */ cpu->f[8] = cpu->f[6] / cpu->f[11];
|
|
/* 02862B68 */ _t90 = cpu->r[1] + 0x00000034u;
|
|
/* 02862B68 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[9]);
|
|
/* 02862B6C */ cpu->f[9] = cpu->f[13] / cpu->f[11];
|
|
/* 02862B70 */ cpu->f[13] = cpu->f[8] * cpu->f[9];
|
|
/* 02862B74 */ _t91 = cpu->r[1] + 0x00000038u;
|
|
/* 02862B74 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[7]);
|
|
/* 02862B78 */ _t92 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02862B78 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[13]);
|
|
/* 02862B7C */ _t93 = cpu->r[3] + 0x00000008u;
|
|
/* 02862B7C */ cpu->r[0] = rbrew_read16(cpu->mem, _t93);
|
|
/* 02862B80 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02862B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862B84 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862B84 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02862B84 */ if (_t95) goto L_02862D0C; else goto L_02862B88;
|
|
L_02862B88: ; // 0x2862b88
|
|
/* 02862B88 */ cpu->r[9] = 0x10130000u;
|
|
/* 02862B8C */ _t96 = cpu->r[9] + 0x00005168u;
|
|
/* 02862B8C */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 02862B90 */ _t97 = cpu->r[3] + 0x00000008u;
|
|
/* 02862B90 */ cpu->r[29] = rbrew_read16(cpu->mem, _t97);
|
|
/* 02862B94 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000012u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02862B98 */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000016u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02862B9C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000001Cu);
|
|
/* 02862BA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02862BA4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[29], 0x00000014u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02862BA8 */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
/* 02862BAC */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x0000001Cu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02862BB0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000014u);
|
|
/* 02862BB4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02862BB8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[29], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02862BBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000019u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02862BC0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02862BC4 */ cpu->r[8] = cpu->r[8] + cpu->r[12];
|
|
/* 02862BC8 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x0000000Cu);
|
|
/* 02862BCC */ cpu->r[11] = cpu->r[6] + cpu->r[8];
|
|
/* 02862BD0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x0000001Fu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02862BD4 */ cpu->r[11] = cpu->r[11] + cpu->r[9];
|
|
/* 02862BD8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02862BDC */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000014u);
|
|
/* 02862BE0 */ cpu->r[5] = cpu->r[11] + cpu->r[12];
|
|
/* 02862BE4 */ cpu->r[12] = cpu->r[5] + cpu->r[10];
|
|
/* 02862BE8 */ _t98 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02862BE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02862BEC */ cpu->r[7] = 0x43300000u;
|
|
/* 02862BF0 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 02862BF4 */ _t99 = cpu->r[1] + 0x00000008u;
|
|
/* 02862BF4 */ rbrew_write32(cpu->mem, _t99, cpu->r[7]);
|
|
/* 02862BF8 */ cpu->r[5] = cpu->r[11] + cpu->r[9];
|
|
/* 02862BFC */ _t100 = cpu->r[11] + cpu->r[9];
|
|
/* 02862BFC */ cpu->r[7] = rbrew_read8(cpu->mem, _t100);
|
|
/* 02862C00 */ _t101 = cpu->r[5] + 0x00000001u;
|
|
/* 02862C00 */ cpu->r[8] = rbrew_read8(cpu->mem, _t101);
|
|
/* 02862C04 */ _t102 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862C04 */ rbrew_write32(cpu->mem, _t102, cpu->r[7]);
|
|
/* 02862C08 */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 02862C08 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t103);
|
|
/* 02862C0C */ _t104 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862C0C */ rbrew_write32(cpu->mem, _t104, cpu->r[8]);
|
|
/* 02862C10 */ cpu->f[0] = cpu->f[12] - cpu->f[13];
|
|
/* 02862C14 */ _t105 = cpu->r[1] + 0x00000008u;
|
|
/* 02862C14 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t105);
|
|
/* 02862C18 */ cpu->f[0] = (double)(float)cpu->f[0];
|
|
/* 02862C1C */ cpu->f[8] = cpu->f[7] - cpu->f[13];
|
|
/* 02862C20 */ _t106 = cpu->r[5] + 0x00000002u;
|
|
/* 02862C20 */ cpu->r[9] = rbrew_read8(cpu->mem, _t106);
|
|
/* 02862C24 */ cpu->f[7] = cpu->f[0] / cpu->f[11];
|
|
/* 02862C28 */ _t107 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862C28 */ rbrew_write32(cpu->mem, _t107, cpu->r[9]);
|
|
/* 02862C2C */ _t108 = cpu->r[1] + 0x00000008u;
|
|
/* 02862C2C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t108);
|
|
/* 02862C30 */ _t109 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862C30 */ rbrew_write32(cpu->mem, _t109, cpu->r[4]);
|
|
/* 02862C34 */ _t110 = cpu->r[1] + 0x00000008u;
|
|
/* 02862C34 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t110);
|
|
/* 02862C38 */ cpu->f[12] = cpu->f[10] - cpu->f[13];
|
|
/* 02862C3C */ cpu->f[10] = cpu->f[0] - cpu->f[13];
|
|
/* 02862C40 */ cpu->f[9] = (double)(float)cpu->f[8];
|
|
/* 02862C44 */ _t111 = cpu->r[1] + 0x00000040u;
|
|
/* 02862C44 */ rbrew_write_f32(cpu->mem, _t111, cpu->f[7]);
|
|
/* 02862C48 */ cpu->f[7] = (double)(float)cpu->f[12];
|
|
/* 02862C4C */ cpu->f[9] = cpu->f[9] / cpu->f[11];
|
|
/* 02862C50 */ cpu->f[10] = (double)(float)cpu->f[10];
|
|
/* 02862C54 */ cpu->f[7] = cpu->f[7] / cpu->f[11];
|
|
/* 02862C58 */ cpu->f[0] = cpu->f[10] / cpu->f[11];
|
|
/* 02862C5C */ _t112 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02862C5C */ rbrew_write_f32(cpu->mem, _t112, cpu->f[7]);
|
|
/* 02862C60 */ _t113 = cpu->r[1] + 0x00000044u;
|
|
/* 02862C60 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[9]);
|
|
/* 02862C64 */ _t114 = cpu->r[1] + 0x00000048u;
|
|
/* 02862C64 */ rbrew_write_f32(cpu->mem, _t114, cpu->f[0]);
|
|
/* 02862C68 */ _t115 = cpu->r[5] + 0x00000003u;
|
|
/* 02862C68 */ cpu->r[10] = rbrew_read8(cpu->mem, _t115);
|
|
/* 02862C6C */ _t116 = cpu->r[5] + 0x00000004u;
|
|
/* 02862C6C */ cpu->r[11] = rbrew_read8(cpu->mem, _t116);
|
|
/* 02862C70 */ _t117 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862C70 */ rbrew_write32(cpu->mem, _t117, cpu->r[10]);
|
|
/* 02862C74 */ _t118 = cpu->r[1] + 0x00000008u;
|
|
/* 02862C74 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t118);
|
|
/* 02862C78 */ _t119 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862C78 */ rbrew_write32(cpu->mem, _t119, cpu->r[11]);
|
|
/* 02862C7C */ _t120 = cpu->r[5] + 0x00000005u;
|
|
/* 02862C7C */ cpu->r[12] = rbrew_read8(cpu->mem, _t120);
|
|
/* 02862C80 */ cpu->f[8] = cpu->f[0] - cpu->f[13];
|
|
/* 02862C84 */ _t121 = cpu->r[1] + 0x00000008u;
|
|
/* 02862C84 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t121);
|
|
/* 02862C88 */ cpu->f[7] = (double)(float)cpu->f[8];
|
|
/* 02862C8C */ _t122 = cpu->r[5] + 0x00000006u;
|
|
/* 02862C8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t122);
|
|
/* 02862C90 */ cpu->f[12] = cpu->f[10] - cpu->f[13];
|
|
/* 02862C94 */ _t123 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862C94 */ rbrew_write32(cpu->mem, _t123, cpu->r[12]);
|
|
/* 02862C98 */ cpu->f[6] = cpu->f[7] / cpu->f[11];
|
|
/* 02862C9C */ _t124 = cpu->r[1] + 0x00000008u;
|
|
/* 02862C9C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t124);
|
|
/* 02862CA0 */ _t125 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862CA0 */ rbrew_write32(cpu->mem, _t125, cpu->r[0]);
|
|
/* 02862CA4 */ _t126 = cpu->r[1] + 0x00000008u;
|
|
/* 02862CA4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t126);
|
|
/* 02862CA8 */ cpu->f[7] = cpu->f[0] - cpu->f[13];
|
|
/* 02862CAC */ cpu->f[10] = cpu->f[8] - cpu->f[13];
|
|
/* 02862CB0 */ _t127 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862CB0 */ rbrew_write32(cpu->mem, _t127, cpu->r[4]);
|
|
/* 02862CB4 */ cpu->f[0] = (double)(float)cpu->f[7];
|
|
/* 02862CB8 */ _t128 = cpu->r[1] + 0x00000008u;
|
|
/* 02862CB8 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t128);
|
|
/* 02862CBC */ cpu->f[9] = (double)(float)cpu->f[12];
|
|
/* 02862CC0 */ cpu->f[12] = (double)(float)cpu->f[10];
|
|
/* 02862CC4 */ cpu->f[8] = cpu->f[7] - cpu->f[13];
|
|
/* 02862CC8 */ cpu->f[13] = cpu->f[9] / cpu->f[11];
|
|
/* 02862CCC */ cpu->f[12] = cpu->f[12] / cpu->f[11];
|
|
/* 02862CD0 */ _t129 = cpu->r[1] + 0x00000054u;
|
|
/* 02862CD0 */ rbrew_write_f32(cpu->mem, _t129, cpu->f[13]);
|
|
/* 02862CD4 */ cpu->f[13] = (double)(float)cpu->f[8];
|
|
/* 02862CD8 */ cpu->f[10] = cpu->f[0] / cpu->f[11];
|
|
/* 02862CDC */ cpu->f[0] = cpu->f[13] / cpu->f[11];
|
|
/* 02862CE0 */ _t130 = cpu->r[1] + 0x00000050u;
|
|
/* 02862CE0 */ rbrew_write_f32(cpu->mem, _t130, cpu->f[6]);
|
|
/* 02862CE4 */ cpu->f[13] = cpu->f[12] * cpu->f[0];
|
|
/* 02862CE8 */ _t131 = cpu->r[1] + 0x00000058u;
|
|
/* 02862CE8 */ rbrew_write_f32(cpu->mem, _t131, cpu->f[10]);
|
|
/* 02862CEC */ _t132 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02862CEC */ rbrew_write_f32(cpu->mem, _t132, cpu->f[13]);
|
|
/* 02862CF0 */ Gambit_fn_0286E94C(cpu);
|
|
/* 02862CF4 */ _t133 = cpu->r[30] + 0x000000D0u;
|
|
/* 02862CF4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t133);
|
|
/* 02862CF8 */ _t134 = cpu->r[31] + 0x000000A8u;
|
|
/* 02862CF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02862CFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 02862CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862D00 */ cpu->r[29] = cpu->r[7] + 0x00000008u;
|
|
/* 02862D04 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862D04 */ _t136 = _t135 & 0x00000001u;
|
|
/* 02862D04 */ if (_t136) goto L_02862D84; else goto L_02862D08;
|
|
L_02862D08: ; // 0x2862d08
|
|
/* 02862D08 */ goto L_02862D68;
|
|
L_02862D0C: ; // 0x2862d0c
|
|
/* 02862D0C */ _t137 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862D0C */ rbrew_write32(cpu->mem, _t137, cpu->r[4]);
|
|
/* 02862D10 */ cpu->r[6] = 0x43300000u;
|
|
/* 02862D14 */ cpu->r[10] = 0x10130000u;
|
|
/* 02862D18 */ _t138 = cpu->r[1] + 0x00000008u;
|
|
/* 02862D18 */ rbrew_write32(cpu->mem, _t138, cpu->r[6]);
|
|
/* 02862D1C */ _t139 = cpu->r[1] + 0x00000008u;
|
|
/* 02862D1C */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t139);
|
|
/* 02862D20 */ _t140 = cpu->r[10] + 0x00005168u;
|
|
/* 02862D20 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t140);
|
|
/* 02862D24 */ _t141 = cpu->r[1] + 0x00000054u;
|
|
/* 02862D24 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[12]);
|
|
/* 02862D28 */ cpu->f[13] = cpu->f[9] - cpu->f[0];
|
|
/* 02862D2C */ _t142 = cpu->r[1] + 0x00000050u;
|
|
/* 02862D2C */ rbrew_write_f32(cpu->mem, _t142, cpu->f[12]);
|
|
/* 02862D30 */ cpu->f[8] = (double)(float)cpu->f[13];
|
|
/* 02862D34 */ cpu->f[13] = cpu->f[8] / cpu->f[11];
|
|
/* 02862D38 */ _t143 = cpu->r[1] + 0x00000040u;
|
|
/* 02862D38 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[10]);
|
|
/* 02862D3C */ _t144 = cpu->r[1] + 0x00000044u;
|
|
/* 02862D3C */ rbrew_write_f32(cpu->mem, _t144, cpu->f[10]);
|
|
/* 02862D40 */ _t145 = cpu->r[1] + 0x00000058u;
|
|
/* 02862D40 */ rbrew_write_f32(cpu->mem, _t145, cpu->f[12]);
|
|
/* 02862D44 */ _t146 = cpu->r[1] + 0x00000048u;
|
|
/* 02862D44 */ rbrew_write_f32(cpu->mem, _t146, cpu->f[10]);
|
|
/* 02862D48 */ _t147 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02862D48 */ rbrew_write_f32(cpu->mem, _t147, cpu->f[13]);
|
|
/* 02862D4C */ _t148 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02862D4C */ rbrew_write_f32(cpu->mem, _t148, cpu->f[13]);
|
|
/* 02862D50 */ Gambit_fn_0286E94C(cpu);
|
|
/* 02862D54 */ _t149 = cpu->r[30] + 0x000000D0u;
|
|
/* 02862D54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t149);
|
|
/* 02862D58 */ _t150 = cpu->r[31] + 0x000000A8u;
|
|
/* 02862D58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02862D5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 02862D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862D60 */ cpu->r[29] = cpu->r[7] + 0x00000008u;
|
|
/* 02862D64 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862D64 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02862D64 */ if (_t152) goto L_02862D84; else goto L_02862D68;
|
|
L_02862D68: ; // 0x2862d68
|
|
/* 02862D68 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02862D6C */ cpu->r[4] = cpu->r[29];
|
|
/* 02862D70 */ cpu->r[3] = cpu->r[30];
|
|
/* 02862D74 */ Gambit_fn_02862860(cpu);
|
|
/* 02862D78 */ _t153 = cpu->r[1] + 0x00000060u;
|
|
/* 02862D78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02862D7C */ cpu->r[7] = cpu->r[7] | 0x00000001u;
|
|
/* 02862D80 */ _t154 = cpu->r[1] + 0x00000060u;
|
|
/* 02862D80 */ rbrew_write32(cpu->mem, _t154, cpu->r[7]);
|
|
L_02862D84: ; // 0x2862d84
|
|
/* 02862D84 */ cpu->r[3] = cpu->r[29];
|
|
/* 02862D88 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02862D8C */ Gambit_fn_02856FCC(cpu);
|
|
/* 02862D90 */ cpu->r[10] = 0x00000001u;
|
|
/* 02862D94 */ _t155 = cpu->r[31] + 0x000000B7u;
|
|
/* 02862D94 */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[10]);
|
|
L_02862D98: ; // 0x2862d98
|
|
/* 02862D98 */ _t156 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02862D98 */ cpu->r[29] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02862D9C */ _t157 = cpu->r[1] + 0x000000ACu;
|
|
/* 02862D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02862DA0 */ _t158 = cpu->r[1] + 0x000000A0u;
|
|
/* 02862DA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t158);
|
|
/* 02862DA4 */ cpu->lr = cpu->r[0];
|
|
/* 02862DA8 */ _t159 = cpu->r[1] + 0x000000A4u;
|
|
/* 02862DA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02862DAC */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 02862DB0 */ return;
|
|
}
|
|
|
|
// fn_02862DB4 @ 0x2862db4
|
|
void Gambit_fn_02862DB4(CPUState* cpu) {
|
|
L_02862DB4: ; // 0x2862db4
|
|
/* 02862DB4 */ return;
|
|
}
|
|
|
|
// fn_02862DB8 @ 0x2862db8
|
|
void Gambit_fn_02862DB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_02862DB8: ; // 0x2862db8
|
|
/* 02862DB8 */ cpu->r[0] = cpu->lr;
|
|
/* 02862DBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02862DBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02862DBC */ cpu->r[1] = _t0;
|
|
/* 02862DC0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02862DC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02862DC4 */ cpu->r[30] = cpu->r[5];
|
|
/* 02862DC8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862DC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02862DCC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02862DCC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02862DD0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862DD0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02862DD4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02862DD8 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02862DD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02862DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02862DE0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862DE0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02862DE0 */ if (_t7) goto L_02862EA0; else goto L_02862DE4;
|
|
L_02862DE4: ; // 0x2862de4
|
|
/* 02862DE4 */ _t8 = cpu->r[30] + 0x00000006u;
|
|
/* 02862DE4 */ cpu->r[31] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02862DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02862DEC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862DEC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02862DEC */ if (_t10) goto L_02862DF0; else goto L_02862E14;
|
|
L_02862DF0: ; // 0x2862df0
|
|
/* 02862DF0 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02862DF0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02862DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02862DF8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02862DFC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862DFC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02862DFC */ if (_t13) goto L_02862E10; else goto L_02862E00;
|
|
L_02862E00: ; // 0x2862e00
|
|
/* 02862E00 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02862E00 */ cpu->r[10] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02862E00 */ cpu->r[12] = _t14;
|
|
/* 02862E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02862E08 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02862E0C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862E0C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02862E0C */ if (_t16) goto L_02862E10; else goto L_02862E00;
|
|
L_02862E10: ; // 0x2862e10
|
|
/* 02862E10 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
L_02862E14: ; // 0x2862e14
|
|
/* 02862E14 */ _t17 = cpu->r[30] + 0x00000008u;
|
|
/* 02862E14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02862E18 */ _t18 = cpu->r[29] + 0x00000008u;
|
|
/* 02862E18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02862E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862E20 */ _t19 = cpu->r[11] + 0x000000BCu;
|
|
/* 02862E20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02862E24 */ cpu->r[3] = cpu->r[29];
|
|
/* 02862E28 */ _t20 = cpu->r[4] + 0x0000003Cu;
|
|
/* 02862E28 */ cpu->r[5] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02862E2C */ cpu->ctr = cpu->r[10];
|
|
/* 02862E30 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862E30 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02862E30 */ if (_t22) goto L_02862E34; else goto L_02862E4C;
|
|
L_02862E34: ; // 0x2862e34
|
|
/* 02862E34 */ cpu->r[4] = cpu->r[31];
|
|
/* 02862E38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02862E3C */ _t23 = cpu->r[29] + 0x000000A4u;
|
|
/* 02862E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02862E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862E44 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862E44 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02862E44 */ if (_t25) goto L_02862E80; else goto L_02862E48;
|
|
L_02862E48: ; // 0x2862e48
|
|
/* 02862E48 */ goto L_02862E60;
|
|
L_02862E4C: ; // 0x2862e4c
|
|
/* 02862E4C */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02862E50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02862E54 */ _t26 = cpu->r[29] + 0x000000A4u;
|
|
/* 02862E54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02862E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862E5C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862E5C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02862E5C */ if (_t28) goto L_02862E80; else goto L_02862E60;
|
|
L_02862E60: ; // 0x2862e60
|
|
/* 02862E60 */ _t29 = cpu->r[29] + 0x00000008u;
|
|
/* 02862E60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02862E64 */ _t30 = cpu->r[12] + 0x000000DCu;
|
|
/* 02862E64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02862E68 */ cpu->ctr = cpu->r[0];
|
|
/* 02862E6C */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 02862E6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02862E70 */ cpu->r[3] = cpu->r[29];
|
|
/* 02862E74 */ cpu->r[5] = 0x00000000u;
|
|
/* 02862E78 */ cpu->r[6] = cpu->r[31];
|
|
/* 02862E7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02862E80: ; // 0x2862e80
|
|
/* 02862E80 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862E80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02862E84 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02862E88 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02862E88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02862E8C */ cpu->lr = cpu->r[0];
|
|
/* 02862E90 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02862E90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02862E94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02862E98 */ cpu->r[3] = 0x00000001u;
|
|
/* 02862E9C */ return;
|
|
L_02862EA0: ; // 0x2862ea0
|
|
/* 02862EA0 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862EA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02862EA4 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02862EA8 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 02862EA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02862EAC */ cpu->lr = cpu->r[0];
|
|
/* 02862EB0 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02862EB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02862EB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02862EB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02862EBC */ return;
|
|
}
|
|
|
|
// fn_02862DBC @ 0x2862dbc
|
|
void Gambit_fn_02862DBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39;
|
|
|
|
L_02862DBC: ; // 0x2862dbc
|
|
/* 02862DBC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02862DBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02862DBC */ cpu->r[1] = _t0;
|
|
/* 02862DC0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02862DC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02862DC4 */ cpu->r[30] = cpu->r[5];
|
|
/* 02862DC8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862DC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02862DCC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02862DCC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02862DD0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862DD0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02862DD4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02862DD8 */ _t5 = cpu->r[30] + 0x00000000u;
|
|
/* 02862DD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02862DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02862DE0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862DE0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02862DE0 */ if (_t7) goto L_02862EA0; else goto L_02862DE4;
|
|
L_02862DE4: ; // 0x2862de4
|
|
/* 02862DE4 */ _t8 = cpu->r[30] + 0x00000006u;
|
|
/* 02862DE4 */ cpu->r[31] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02862DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02862DEC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862DEC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02862DEC */ if (_t10) goto L_02862DF0; else goto L_02862E14;
|
|
L_02862DF0: ; // 0x2862df0
|
|
/* 02862DF0 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02862DF0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02862DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02862DF8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02862DFC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862DFC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02862DFC */ if (_t13) goto L_02862E10; else goto L_02862E00;
|
|
L_02862E00: ; // 0x2862e00
|
|
/* 02862E00 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 02862E00 */ cpu->r[10] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02862E00 */ cpu->r[12] = _t14;
|
|
/* 02862E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02862E08 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02862E0C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862E0C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02862E0C */ if (_t16) goto L_02862E10; else goto L_02862E00;
|
|
L_02862E10: ; // 0x2862e10
|
|
/* 02862E10 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
L_02862E14: ; // 0x2862e14
|
|
/* 02862E14 */ _t17 = cpu->r[30] + 0x00000008u;
|
|
/* 02862E14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02862E18 */ _t18 = cpu->r[29] + 0x00000008u;
|
|
/* 02862E18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02862E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862E20 */ _t19 = cpu->r[11] + 0x000000BCu;
|
|
/* 02862E20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02862E24 */ cpu->r[3] = cpu->r[29];
|
|
/* 02862E28 */ _t20 = cpu->r[4] + 0x0000003Cu;
|
|
/* 02862E28 */ cpu->r[5] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02862E2C */ cpu->ctr = cpu->r[10];
|
|
/* 02862E30 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862E30 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02862E30 */ if (_t22) goto L_02862E34; else goto L_02862E4C;
|
|
L_02862E34: ; // 0x2862e34
|
|
/* 02862E34 */ cpu->r[4] = cpu->r[31];
|
|
/* 02862E38 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02862E3C */ _t23 = cpu->r[29] + 0x000000A4u;
|
|
/* 02862E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02862E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862E44 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862E44 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02862E44 */ if (_t25) goto L_02862E80; else goto L_02862E48;
|
|
L_02862E48: ; // 0x2862e48
|
|
/* 02862E48 */ goto L_02862E60;
|
|
L_02862E4C: ; // 0x2862e4c
|
|
/* 02862E4C */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02862E50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02862E54 */ _t26 = cpu->r[29] + 0x000000A4u;
|
|
/* 02862E54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02862E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02862E5C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862E5C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02862E5C */ if (_t28) goto L_02862E80; else goto L_02862E60;
|
|
L_02862E60: ; // 0x2862e60
|
|
/* 02862E60 */ _t29 = cpu->r[29] + 0x00000008u;
|
|
/* 02862E60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02862E64 */ _t30 = cpu->r[12] + 0x000000DCu;
|
|
/* 02862E64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02862E68 */ cpu->ctr = cpu->r[0];
|
|
/* 02862E6C */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 02862E6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02862E70 */ cpu->r[3] = cpu->r[29];
|
|
/* 02862E74 */ cpu->r[5] = 0x00000000u;
|
|
/* 02862E78 */ cpu->r[6] = cpu->r[31];
|
|
/* 02862E7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02862E80: ; // 0x2862e80
|
|
/* 02862E80 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862E80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02862E84 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02862E88 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02862E88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02862E8C */ cpu->lr = cpu->r[0];
|
|
/* 02862E90 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02862E90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02862E94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02862E98 */ cpu->r[3] = 0x00000001u;
|
|
/* 02862E9C */ return;
|
|
L_02862EA0: ; // 0x2862ea0
|
|
/* 02862EA0 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862EA0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02862EA4 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862EA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02862EA8 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 02862EA8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02862EAC */ cpu->lr = cpu->r[0];
|
|
/* 02862EB0 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02862EB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02862EB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02862EB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02862EBC */ return;
|
|
}
|
|
|
|
// fn_02862ECC @ 0x2862ecc
|
|
void Gambit_fn_02862ECC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02862ECC: ; // 0x2862ecc
|
|
/* 02862ECC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02862ECC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02862ECC */ cpu->r[1] = _t0;
|
|
/* 02862ED0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862ED0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02862ED0 */ if (_t2) goto L_02862ED4; else goto L_02862EE4;
|
|
L_02862ED4: ; // 0x2862ed4
|
|
/* 02862ED4 */ cpu->r[3] = 0x00000004u;
|
|
/* 02862ED8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02862EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02862EE0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862EE0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02862EE0 */ if (_t4) goto L_02862EEC; else goto L_02862EE4;
|
|
L_02862EE4: ; // 0x2862ee4
|
|
/* 02862EE4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02862EE8 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02862EE8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_02862EEC: ; // 0x2862eec
|
|
/* 02862EEC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862EEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02862EF0 */ cpu->lr = cpu->r[0];
|
|
/* 02862EF4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02862EF8 */ return;
|
|
}
|
|
|
|
// fn_02862EFC @ 0x2862efc
|
|
void Gambit_fn_02862EFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02862EFC: ; // 0x2862efc
|
|
/* 02862EFC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02862F00 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02862F04 */ _t0 = cpu->r[11] + 0xFFFFD800u;
|
|
/* 02862F04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02862F04 */ cpu->r[11] = _t0;
|
|
/* 02862F08 */ cpu->r[3] = cpu->r[3] + 0x00000F44u;
|
|
/* 02862F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02862F10 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862F10 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02862F10 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02862F10 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02862F10 */ goto L_02862F14;
|
|
L_02862F14: ; // 0x2862f14
|
|
/* 02862F14 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02862F18 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02862F1C */ _t4 = cpu->r[10] + 0xFFFFD7ECu;
|
|
/* 02862F1C */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02862F1C */ cpu->r[10] = _t4;
|
|
/* 02862F20 */ cpu->r[0] = 0x00000001u;
|
|
/* 02862F24 */ cpu->r[12] = cpu->r[12] + 0x00000F38u;
|
|
/* 02862F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02862F2C */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 02862F2C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02862F30 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862F30 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02862F30 */ if (_t7) goto L_02862F34; else goto L_02862F44;
|
|
L_02862F34: ; // 0x2862f34
|
|
/* 02862F34 */ cpu->r[7] = 0x00000001u;
|
|
/* 02862F38 */ cpu->r[8] = 0x00000000u;
|
|
/* 02862F3C */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 02862F3C */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 02862F40 */ _t9 = cpu->r[12] + 0x00000000u;
|
|
/* 02862F40 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
L_02862F44: ; // 0x2862f44
|
|
/* 02862F44 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02862F44 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02862F48 */ return;
|
|
}
|
|
|
|
// fn_02862F4C @ 0x2862f4c
|
|
void Gambit_fn_02862F4C(CPUState* cpu) {
|
|
uint32_t _t0, _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_02862F4C: ; // 0x2862f4c
|
|
/* 02862F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02862F50 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862F50 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02862F50 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02862F50 */ goto L_02862F54;
|
|
L_02862F54: ; // 0x2862f54
|
|
/* 02862F54 */ cpu->r[3] = cpu->r[3] + 0x000000C4u;
|
|
/* 02862F58 */ goto L_0286B804;
|
|
L_0286B804: ; // 0x286b804
|
|
/* 0286B804 */ cpu->r[0] = cpu->lr;
|
|
/* 0286B808 */ _t2 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0286B808 */ rbrew_write32(cpu->mem, _t2, cpu->r[1]);
|
|
/* 0286B808 */ cpu->r[1] = _t2;
|
|
/* 0286B80C */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 0286B80C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 0286B810 */ cpu->r[30] = cpu->r[3];
|
|
/* 0286B814 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286B814 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0286B818 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0286B818 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 0286B81C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286B81C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0286B820 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 0286B820 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0286B824 */ cpu->r[31] = cpu->r[4];
|
|
/* 0286B828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0286B82C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0286B82C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0286B82C */ if (_t9) goto L_0286B830; else goto L_0286B888;
|
|
L_0286B830: ; // 0x286b830
|
|
/* 0286B830 */ cpu->r[3] = cpu->r[30];
|
|
/* 0286B834 */ Gambit_fn_0286B7AC(cpu);
|
|
/* 0286B838 */ cpu->r[29] = cpu->r[31];
|
|
/* 0286B83C */ cpu->r[4] = 0x00000004u;
|
|
/* 0286B840 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 0286B844 */ Gambit_fn_02869E8C(cpu);
|
|
/* 0286B848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0286B84C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286B84C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0286B84C */ if (_t11) goto L_0286B850; else goto L_0286B874;
|
|
L_0286B850: ; // 0x286b850
|
|
/* 0286B850 */ cpu->r[3] = 0x00000000u;
|
|
/* 0286B854 */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 0286B854 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 0286B858 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286B858 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0286B85C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286B85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0286B860 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0286B860 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0286B864 */ cpu->lr = cpu->r[0];
|
|
/* 0286B868 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 0286B868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0286B86C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0286B870 */ return;
|
|
L_0286B874: ; // 0x286b874
|
|
/* 0286B874 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0286B874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0286B878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0286B87C */ _t17 = cpu->r[30] + 0x00000004u;
|
|
/* 0286B87C */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 0286B880 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286B880 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0286B880 */ if (_t19) goto L_0286B888; else goto L_0286B884;
|
|
L_0286B884: ; // 0x286b884
|
|
/* 0286B884 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 0286B884 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[31]);
|
|
L_0286B888: ; // 0x286b888
|
|
/* 0286B888 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286B888 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0286B88C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0286B88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0286B890 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0286B890 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0286B894 */ cpu->lr = cpu->r[0];
|
|
/* 0286B898 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0286B898 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0286B89C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0286B8A0 */ return;
|
|
}
|
|
|
|
// fn_02862F5C @ 0x2862f5c
|
|
void Gambit_fn_02862F5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02862F5C: ; // 0x2862f5c
|
|
/* 02862F5C */ cpu->r[0] = cpu->lr;
|
|
/* 02862F60 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02862F60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02862F60 */ cpu->r[1] = _t0;
|
|
/* 02862F64 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02862F64 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02862F68 */ cpu->r[30] = cpu->r[4];
|
|
/* 02862F6C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02862F6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02862F70 */ cpu->r[31] = cpu->r[30];
|
|
/* 02862F74 */ cpu->r[4] = 0x00000004u;
|
|
/* 02862F78 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862F78 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02862F7C */ cpu->r[10] = 0x00000000u;
|
|
/* 02862F80 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862F80 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02862F84 */ cpu->r[29] = cpu->r[3];
|
|
/* 02862F88 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02862F8C */ _t5 = cpu->r[29] + 0x000000CDu;
|
|
/* 02862F8C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[10]);
|
|
/* 02862F90 */ Gambit_fn_02869E8C(cpu);
|
|
/* 02862F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02862F98 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862F98 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02862F98 */ if (_t7) goto L_02862F9C; else goto L_02862FC0;
|
|
L_02862F9C: ; // 0x2862f9c
|
|
/* 02862F9C */ cpu->r[3] = 0x00000000u;
|
|
/* 02862FA0 */ _t8 = cpu->r[29] + 0x000000D0u;
|
|
/* 02862FA0 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02862FA4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862FA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02862FA8 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02862FAC */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02862FAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02862FB0 */ cpu->lr = cpu->r[0];
|
|
/* 02862FB4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02862FB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02862FB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02862FBC */ return;
|
|
L_02862FC0: ; // 0x2862fc0
|
|
/* 02862FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02862FC4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862FC4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02862FC4 */ if (_t14) goto L_02862FEC; else goto L_02862FC8;
|
|
L_02862FC8: ; // 0x2862fc8
|
|
/* 02862FC8 */ cpu->ctr = cpu->r[31];
|
|
/* 02862FCC */ cpu->r[12] = cpu->r[3];
|
|
/* 02862FD0 */ cpu->r[0] = 0x00000000u;
|
|
L_02862FD4: ; // 0x2862fd4
|
|
/* 02862FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02862FD8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862FD8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02862FD8 */ if (_t16) goto L_02862FE4; else goto L_02862FDC;
|
|
L_02862FDC: ; // 0x2862fdc
|
|
/* 02862FDC */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 02862FDC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02862FE0 */ _t18 = cpu->r[12] + 0x00000000u;
|
|
/* 02862FE0 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
L_02862FE4: ; // 0x2862fe4
|
|
/* 02862FE4 */ cpu->r[12] = cpu->r[12] + 0x00000008u;
|
|
/* 02862FE8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02862FE8 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02862FE8 */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 02862FE8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02862FE8 */ if (_t21) goto L_02862FD4; else goto L_02862FEC;
|
|
L_02862FEC: ; // 0x2862fec
|
|
/* 02862FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02862FF0 */ _t22 = cpu->r[29] + 0x000000D0u;
|
|
/* 02862FF0 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02862FF4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862FF4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02862FF4 */ if (_t24) goto L_02862FFC; else goto L_02862FF8;
|
|
L_02862FF8: ; // 0x2862ff8
|
|
/* 02862FF8 */ _t25 = cpu->r[29] + 0x000000CDu;
|
|
/* 02862FF8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[30]);
|
|
L_02862FFC: ; // 0x2862ffc
|
|
/* 02862FFC */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862FFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02863000 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02863000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02863004 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02863004 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02863008 */ cpu->lr = cpu->r[0];
|
|
/* 0286300C */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0286300C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02863010 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02863014 */ return;
|
|
}
|
|
|
|
// fn_02862F60 @ 0x2862f60
|
|
void Gambit_fn_02862F60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02862F60: ; // 0x2862f60
|
|
/* 02862F60 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02862F60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02862F60 */ cpu->r[1] = _t0;
|
|
/* 02862F64 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02862F64 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02862F68 */ cpu->r[30] = cpu->r[4];
|
|
/* 02862F6C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02862F6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02862F70 */ cpu->r[31] = cpu->r[30];
|
|
/* 02862F74 */ cpu->r[4] = 0x00000004u;
|
|
/* 02862F78 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862F78 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02862F7C */ cpu->r[10] = 0x00000000u;
|
|
/* 02862F80 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862F80 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02862F84 */ cpu->r[29] = cpu->r[3];
|
|
/* 02862F88 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02862F8C */ _t5 = cpu->r[29] + 0x000000CDu;
|
|
/* 02862F8C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[10]);
|
|
/* 02862F90 */ Gambit_fn_02869E8C(cpu);
|
|
/* 02862F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02862F98 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862F98 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02862F98 */ if (_t7) goto L_02862F9C; else goto L_02862FC0;
|
|
L_02862F9C: ; // 0x2862f9c
|
|
/* 02862F9C */ cpu->r[3] = 0x00000000u;
|
|
/* 02862FA0 */ _t8 = cpu->r[29] + 0x000000D0u;
|
|
/* 02862FA0 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02862FA4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862FA4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02862FA8 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02862FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02862FAC */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02862FAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02862FB0 */ cpu->lr = cpu->r[0];
|
|
/* 02862FB4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02862FB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02862FB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02862FBC */ return;
|
|
L_02862FC0: ; // 0x2862fc0
|
|
/* 02862FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02862FC4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862FC4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02862FC4 */ if (_t14) goto L_02862FEC; else goto L_02862FC8;
|
|
L_02862FC8: ; // 0x2862fc8
|
|
/* 02862FC8 */ cpu->ctr = cpu->r[31];
|
|
/* 02862FCC */ cpu->r[12] = cpu->r[3];
|
|
/* 02862FD0 */ cpu->r[0] = 0x00000000u;
|
|
L_02862FD4: ; // 0x2862fd4
|
|
/* 02862FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02862FD8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862FD8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02862FD8 */ if (_t16) goto L_02862FE4; else goto L_02862FDC;
|
|
L_02862FDC: ; // 0x2862fdc
|
|
/* 02862FDC */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 02862FDC */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02862FE0 */ _t18 = cpu->r[12] + 0x00000000u;
|
|
/* 02862FE0 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
L_02862FE4: ; // 0x2862fe4
|
|
/* 02862FE4 */ cpu->r[12] = cpu->r[12] + 0x00000008u;
|
|
/* 02862FE8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02862FE8 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02862FE8 */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 02862FE8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02862FE8 */ if (_t21) goto L_02862FD4; else goto L_02862FEC;
|
|
L_02862FEC: ; // 0x2862fec
|
|
/* 02862FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02862FF0 */ _t22 = cpu->r[29] + 0x000000D0u;
|
|
/* 02862FF0 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02862FF4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02862FF4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02862FF4 */ if (_t24) goto L_02862FFC; else goto L_02862FF8;
|
|
L_02862FF8: ; // 0x2862ff8
|
|
/* 02862FF8 */ _t25 = cpu->r[29] + 0x000000CDu;
|
|
/* 02862FF8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[30]);
|
|
L_02862FFC: ; // 0x2862ffc
|
|
/* 02862FFC */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02862FFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02863000 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02863000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02863004 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02863004 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02863008 */ cpu->lr = cpu->r[0];
|
|
/* 0286300C */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 0286300C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02863010 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02863014 */ return;
|
|
}
|
|
|
|
// fn_02863018 @ 0x2863018
|
|
void Gambit_fn_02863018(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178;
|
|
|
|
L_02863018: ; // 0x2863018
|
|
/* 02863018 */ cpu->r[0] = cpu->lr;
|
|
/* 0286301C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0286301C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0286301C */ cpu->r[1] = _t0;
|
|
/* 02863020 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02863020 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02863024 */ /* nop */
|
|
/* 02863028 */ cpu->r[31] = cpu->r[3];
|
|
/* 02863028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0286302C */ cpu->r[28] = cpu->r[4];
|
|
/* 02863030 */ cpu->r[29] = cpu->r[5];
|
|
/* 02863034 */ cpu->r[30] = cpu->r[6];
|
|
/* 02863038 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863038 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02863038 */ if (_t3) goto L_0286303C; else goto L_0286304C;
|
|
L_0286303C: ; // 0x286303c
|
|
/* 0286303C */ cpu->r[3] = 0x000000D8u;
|
|
/* 02863040 */ Gambit_fn_02801A78(cpu);
|
|
/* 02863044 */ cpu->r[31] = cpu->r[3];
|
|
/* 02863044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02863048 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863048 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02863048 */ if (_t5) goto L_028634B0; else goto L_0286304C;
|
|
L_0286304C: ; // 0x286304c
|
|
/* 0286304C */ cpu->r[3] = cpu->r[31];
|
|
/* 02863050 */ cpu->r[4] = cpu->r[28];
|
|
/* 02863054 */ cpu->r[5] = cpu->r[30];
|
|
/* 02863058 */ Gambit_fn_0285F268(cpu);
|
|
/* 0286305C */ cpu->r[12] = 0x10130000u;
|
|
/* 02863060 */ cpu->r[4] = 0x00000004u;
|
|
/* 02863064 */ cpu->r[25] = cpu->r[31] + 0x000000B4u;
|
|
/* 02863068 */ cpu->r[12] = cpu->r[12] + 0x00005354u;
|
|
/* 0286306C */ cpu->r[6] = 0x02860000u;
|
|
/* 02863070 */ cpu->r[3] = cpu->r[25];
|
|
/* 02863074 */ cpu->r[5] = cpu->r[4];
|
|
/* 02863078 */ cpu->r[6] = cpu->r[6] + 0x000075BCu;
|
|
/* 0286307C */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 0286307C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02863080 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02863084 */ cpu->r[3] = cpu->r[25] + 0x00000010u;
|
|
/* 02863088 */ Gambit_fn_0286B768(cpu);
|
|
/* 0286308C */ cpu->r[26] = 0x00000000u;
|
|
/* 02863090 */ _t7 = cpu->r[31] + 0x000000CCu;
|
|
/* 02863090 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[26]);
|
|
/* 02863094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02863098 */ _t8 = cpu->r[31] + 0x000000CEu;
|
|
/* 02863098 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[26]);
|
|
/* 0286309C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286309C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0286309C */ if (_t10) goto L_028630CC; else goto L_028630A0;
|
|
L_028630A0: ; // 0x28630a0
|
|
/* 028630A0 */ _t11 = cpu->r[30] + 0x0000002Cu;
|
|
/* 028630A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t11);
|
|
/* 028630A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028630A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028630A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028630A8 */ if (_t13) goto L_028630AC; else goto L_028630CC;
|
|
L_028630AC: ; // 0x28630ac
|
|
/* 028630AC */ cpu->r[27] = cpu->r[29];
|
|
/* 028630B0 */ _t14 = cpu->r[27] + 0x00000065u;
|
|
/* 028630B0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t14);
|
|
/* 028630B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 028630B8 */ _t15 = cpu->r[31] + 0x000000CCu;
|
|
/* 028630B8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 028630BC */ _t16 = cpu->r[27] + 0x00000065u;
|
|
/* 028630BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t16);
|
|
/* 028630C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 028630C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028630C4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028630C4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028630C4 */ if (_t18) goto L_028630F8; else goto L_028630C8;
|
|
L_028630C8: ; // 0x28630c8
|
|
/* 028630C8 */ goto L_028630E8;
|
|
L_028630CC: ; // 0x28630cc
|
|
/* 028630CC */ cpu->r[27] = cpu->r[28];
|
|
/* 028630D0 */ _t19 = cpu->r[27] + 0x00000065u;
|
|
/* 028630D0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t19);
|
|
/* 028630D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 028630D8 */ _t20 = cpu->r[31] + 0x000000CCu;
|
|
/* 028630D8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 028630DC */ _t21 = cpu->r[27] + 0x00000065u;
|
|
/* 028630DC */ cpu->r[11] = rbrew_read8(cpu->mem, _t21);
|
|
/* 028630E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 028630E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028630E4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028630E4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028630E4 */ if (_t23) goto L_028630F8; else goto L_028630E8;
|
|
L_028630E8: ; // 0x28630e8
|
|
/* 028630E8 */ _t24 = cpu->r[31] + 0x000000CEu;
|
|
/* 028630E8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t24);
|
|
/* 028630EC */ cpu->r[8] = cpu->r[8] | 0x00000001u;
|
|
/* 028630F0 */ _t25 = cpu->r[31] + 0x000000CEu;
|
|
/* 028630F0 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[8]);
|
|
/* 028630F4 */ _t26 = cpu->r[27] + 0x00000065u;
|
|
/* 028630F4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t26);
|
|
L_028630F8: ; // 0x28630f8
|
|
/* 028630F8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028630F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 028630FC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028630FC */ _t28 = _t27 & 0x00000001u;
|
|
/* 028630FC */ if (_t28) goto L_02863110; else goto L_02863100;
|
|
L_02863100: ; // 0x2863100
|
|
/* 02863100 */ _t29 = cpu->r[31] + 0x000000CEu;
|
|
/* 02863100 */ cpu->r[12] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02863104 */ cpu->r[12] = cpu->r[12] | 0x00000002u;
|
|
/* 02863108 */ _t30 = cpu->r[31] + 0x000000CEu;
|
|
/* 02863108 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[12]);
|
|
/* 0286310C */ _t31 = cpu->r[27] + 0x00000065u;
|
|
/* 0286310C */ cpu->r[11] = rbrew_read8(cpu->mem, _t31);
|
|
L_02863110: ; // 0x2863110
|
|
/* 02863110 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02863110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02863114 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863114 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02863114 */ if (_t33) goto L_02863124; else goto L_02863118;
|
|
L_02863118: ; // 0x2863118
|
|
/* 02863118 */ _t34 = cpu->r[31] + 0x000000CEu;
|
|
/* 02863118 */ cpu->r[4] = rbrew_read8(cpu->mem, _t34);
|
|
/* 0286311C */ cpu->r[4] = cpu->r[4] | 0x00000004u;
|
|
/* 02863120 */ _t35 = cpu->r[31] + 0x000000CEu;
|
|
/* 02863120 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[4]);
|
|
L_02863124: ; // 0x2863124
|
|
/* 02863124 */ _t36 = cpu->r[27] + 0x00000068u;
|
|
/* 02863124 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02863128 */ cpu->r[24] = cpu->r[27] + cpu->r[5];
|
|
/* 0286312C */ _t37 = cpu->r[24] + 0x00000012u;
|
|
/* 0286312C */ cpu->r[0] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02863130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02863134 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02863134 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02863134 */ if (_t39) goto L_02863138; else goto L_0286313C;
|
|
L_02863138: ; // 0x2863138
|
|
/* 02863138 */ cpu->r[0] = 0x00000003u;
|
|
L_0286313C: ; // 0x286313c
|
|
/* 0286313C */ cpu->r[23] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02863140 */ cpu->r[3] = cpu->r[31];
|
|
/* 02863144 */ cpu->r[4] = cpu->r[23];
|
|
/* 02863148 */ Gambit_fn_02862F4C(cpu);
|
|
/* 0286314C */ _t40 = cpu->r[27] + 0x00000054u;
|
|
/* 0286314C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t40);
|
|
/* 02863150 */ _t41 = cpu->r[31] + 0x000000A4u;
|
|
/* 02863150 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[0]);
|
|
/* 02863154 */ _t42 = cpu->r[27] + 0x00000056u;
|
|
/* 02863154 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t42);
|
|
/* 02863158 */ _t43 = cpu->r[31] + 0x000000A6u;
|
|
/* 02863158 */ rbrew_write16(cpu->mem, _t43, (uint16_t)cpu->r[9]);
|
|
/* 0286315C */ _t44 = cpu->r[27] + 0x00000058u;
|
|
/* 0286315C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t44);
|
|
/* 02863160 */ _t45 = cpu->r[31] + 0x000000A8u;
|
|
/* 02863160 */ rbrew_write16(cpu->mem, _t45, (uint16_t)cpu->r[11]);
|
|
/* 02863164 */ _t46 = cpu->r[27] + 0x0000005Au;
|
|
/* 02863164 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t46);
|
|
/* 02863168 */ /* nop */
|
|
/* 0286316C */ _t47 = cpu->r[31] + 0x000000AAu;
|
|
/* 0286316C */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[4]);
|
|
/* 02863170 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863170 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02863170 */ if (_t49) goto L_02863174; else goto L_02863194;
|
|
L_02863174: ; // 0x2863174
|
|
/* 02863174 */ _t50 = cpu->r[31] + 0x000000A6u;
|
|
/* 02863174 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t50);
|
|
/* 02863178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0286317C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286317C */ _t52 = _t51 & 0x00000001u;
|
|
/* 0286317C */ if (_t52) goto L_02863180; else goto L_02863194;
|
|
L_02863180: ; // 0x2863180
|
|
/* 02863180 */ _t53 = cpu->r[31] + 0x000000A8u;
|
|
/* 02863180 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t53);
|
|
/* 02863184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02863188 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863188 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02863188 */ if (_t55) goto L_0286318C; else goto L_02863194;
|
|
L_0286318C: ; // 0x286318c
|
|
/* 0286318C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02863190 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863190 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02863190 */ if (_t57) goto L_028631A0; else goto L_02863194;
|
|
L_02863194: ; // 0x2863194
|
|
/* 02863194 */ _t58 = cpu->r[31] + 0x000000CEu;
|
|
/* 02863194 */ cpu->r[7] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02863198 */ cpu->r[7] = cpu->r[7] | 0x00000008u;
|
|
/* 0286319C */ _t59 = cpu->r[31] + 0x000000CEu;
|
|
/* 0286319C */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[7]);
|
|
L_028631A0: ; // 0x28631a0
|
|
/* 028631A0 */ _t60 = cpu->r[31] + 0x000000CCu;
|
|
/* 028631A0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t60);
|
|
/* 028631A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000001u);
|
|
/* 028631A8 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028631A8 */ _t62 = _t61 & 0x00000001u;
|
|
/* 028631A8 */ if (_t62) goto L_028631D8; else goto L_028631AC;
|
|
L_028631AC: ; // 0x28631ac
|
|
/* 028631AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u);
|
|
/* 028631B0 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028631B0 */ _t64 = _t63 & 0x00000001u;
|
|
/* 028631B0 */ if (_t64) goto L_02863234; else goto L_028631B4;
|
|
L_028631B4: ; // 0x28631b4
|
|
/* 028631B4 */ _t65 = cpu->r[27] + 0x0000005Cu;
|
|
/* 028631B4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t65);
|
|
/* 028631B8 */ _t66 = cpu->r[31] + 0x000000ACu;
|
|
/* 028631B8 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[12]);
|
|
/* 028631BC */ _t67 = cpu->r[27] + 0x0000005Eu;
|
|
/* 028631BC */ cpu->r[0] = rbrew_read16(cpu->mem, _t67);
|
|
/* 028631C0 */ _t68 = cpu->r[31] + 0x000000AEu;
|
|
/* 028631C0 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[0]);
|
|
/* 028631C4 */ _t69 = cpu->r[27] + 0x00000060u;
|
|
/* 028631C4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t69);
|
|
/* 028631C8 */ _t70 = cpu->r[31] + 0x000000B0u;
|
|
/* 028631C8 */ rbrew_write16(cpu->mem, _t70, (uint16_t)cpu->r[4]);
|
|
/* 028631CC */ _t71 = cpu->r[27] + 0x00000062u;
|
|
/* 028631CC */ cpu->r[5] = rbrew_read16(cpu->mem, _t71);
|
|
/* 028631D0 */ _t72 = cpu->r[31] + 0x000000B2u;
|
|
/* 028631D0 */ rbrew_write16(cpu->mem, _t72, (uint16_t)cpu->r[5]);
|
|
/* 028631D4 */ goto L_0286329C;
|
|
L_028631D8: ; // 0x28631d8
|
|
/* 028631D8 */ _t73 = cpu->r[27] + 0x0000005Cu;
|
|
/* 028631D8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t73);
|
|
/* 028631DC */ cpu->r[6] = 0x10130000u;
|
|
/* 028631E0 */ _t74 = cpu->r[31] + 0x000000ACu;
|
|
/* 028631E0 */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[9]);
|
|
/* 028631E4 */ _t75 = cpu->r[27] + 0x0000005Eu;
|
|
/* 028631E4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t75);
|
|
/* 028631E8 */ _t76 = cpu->r[6] + 0x00005338u;
|
|
/* 028631E8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t76);
|
|
/* 028631EC */ _t77 = cpu->r[31] + 0x000000AEu;
|
|
/* 028631EC */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[10]);
|
|
/* 028631F0 */ _t78 = cpu->r[31] + 0x000000B0u;
|
|
/* 028631F0 */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[26]);
|
|
/* 028631F4 */ cpu->r[12] = 0x43300000u;
|
|
/* 028631F8 */ _t79 = cpu->r[31] + 0x000000B2u;
|
|
/* 028631F8 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[26]);
|
|
/* 028631FC */ _t80 = cpu->r[27] + 0x00000060u;
|
|
/* 028631FC */ cpu->r[11] = rbrew_read16(cpu->mem, _t80);
|
|
/* 02863200 */ _t81 = cpu->r[1] + 0x00000010u;
|
|
/* 02863200 */ rbrew_write32(cpu->mem, _t81, cpu->r[12]);
|
|
/* 02863204 */ _t82 = cpu->r[1] + 0x00000014u;
|
|
/* 02863204 */ rbrew_write32(cpu->mem, _t82, cpu->r[11]);
|
|
/* 02863208 */ _t83 = cpu->r[1] + 0x00000010u;
|
|
/* 02863208 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t83);
|
|
/* 0286320C */ _t84 = cpu->r[31] + 0x00000044u;
|
|
/* 0286320C */ cpu->r[4] = rbrew_read8(cpu->mem, _t84);
|
|
/* 02863210 */ cpu->f[6] = cpu->f[11] - cpu->f[0];
|
|
/* 02863214 */ cpu->r[12] = cpu->r[4] | 0x00000010u;
|
|
/* 02863218 */ cpu->r[0] = 0x00000004u;
|
|
/* 0286321C */ cpu->f[0] = (double)(float)cpu->f[6];
|
|
/* 02863220 */ _t85 = cpu->r[31] + 0x00000044u;
|
|
/* 02863220 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[12]);
|
|
/* 02863224 */ cpu->ctr = cpu->r[0];
|
|
/* 02863228 */ cpu->r[5] = 0x00000000u;
|
|
/* 0286322C */ _t86 = cpu->r[31] + 0x00000040u;
|
|
/* 0286322C */ rbrew_write_f32(cpu->mem, _t86, cpu->f[0]);
|
|
/* 02863230 */ goto L_028632A8;
|
|
L_02863234: ; // 0x2863234
|
|
/* 02863234 */ _t87 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02863234 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02863238 */ cpu->r[10] = 0x10130000u;
|
|
/* 0286323C */ _t88 = cpu->r[27] + 0x0000005Eu;
|
|
/* 0286323C */ cpu->r[6] = rbrew_read16(cpu->mem, _t88);
|
|
/* 02863240 */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[9];
|
|
/* 02863244 */ _t89 = cpu->r[10] + 0x00005338u;
|
|
/* 02863244 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t89);
|
|
/* 02863248 */ cpu->r[0] = cpu->r[1] + 0x00000010u;
|
|
/* 0286324C */ _t90 = cpu->r[31] + 0x00000044u;
|
|
/* 0286324C */ cpu->r[10] = rbrew_read8(cpu->mem, _t90);
|
|
/* 02863250 */ cpu->r[9] = 0x43300000u;
|
|
/* 02863254 */ /* nop */
|
|
/* 02863258 */ _t91 = cpu->r[1] + 0x00000012u;
|
|
/* 02863258 */ cpu->r[0] = rbrew_read16(cpu->mem, _t91);
|
|
/* 0286325C */ _t92 = cpu->r[1] + 0x00000010u;
|
|
/* 0286325C */ rbrew_write32(cpu->mem, _t92, cpu->r[9]);
|
|
/* 02863260 */ cpu->r[5] = cpu->r[0] - cpu->r[6];
|
|
/* 02863264 */ _t93 = cpu->r[31] + 0x000000ACu;
|
|
/* 02863264 */ rbrew_write16(cpu->mem, _t93, (uint16_t)cpu->r[5]);
|
|
/* 02863268 */ _t94 = cpu->r[27] + 0x0000005Eu;
|
|
/* 02863268 */ cpu->r[7] = rbrew_read16(cpu->mem, _t94);
|
|
/* 0286326C */ _t95 = cpu->r[31] + 0x000000AEu;
|
|
/* 0286326C */ rbrew_write16(cpu->mem, _t95, (uint16_t)cpu->r[7]);
|
|
/* 02863270 */ _t96 = cpu->r[31] + 0x000000B0u;
|
|
/* 02863270 */ rbrew_write16(cpu->mem, _t96, (uint16_t)cpu->r[26]);
|
|
/* 02863274 */ _t97 = cpu->r[31] + 0x000000B2u;
|
|
/* 02863274 */ rbrew_write16(cpu->mem, _t97, (uint16_t)cpu->r[26]);
|
|
/* 02863278 */ _t98 = cpu->r[27] + 0x00000060u;
|
|
/* 02863278 */ cpu->r[8] = rbrew_read16(cpu->mem, _t98);
|
|
/* 0286327C */ _t99 = cpu->r[1] + 0x00000014u;
|
|
/* 0286327C */ rbrew_write32(cpu->mem, _t99, cpu->r[8]);
|
|
/* 02863280 */ _t100 = cpu->r[1] + 0x00000010u;
|
|
/* 02863280 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t100);
|
|
/* 02863284 */ cpu->r[11] = cpu->r[10] | 0x00000010u;
|
|
/* 02863288 */ cpu->f[8] = cpu->f[7] - cpu->f[13];
|
|
/* 0286328C */ _t101 = cpu->r[31] + 0x00000044u;
|
|
/* 0286328C */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[11]);
|
|
/* 02863290 */ cpu->f[10] = (double)(float)cpu->f[8];
|
|
/* 02863294 */ _t102 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02863294 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[9]);
|
|
/* 02863298 */ _t103 = cpu->r[31] + 0x00000040u;
|
|
/* 02863298 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[10]);
|
|
L_0286329C: ; // 0x286329c
|
|
/* 0286329C */ cpu->r[0] = 0x00000004u;
|
|
/* 028632A0 */ cpu->ctr = cpu->r[0];
|
|
/* 028632A4 */ cpu->r[5] = 0x00000000u;
|
|
L_028632A8: ; // 0x28632a8
|
|
/* 028632A8 */ cpu->r[11] = cpu->r[24] + cpu->r[5];
|
|
/* 028632AC */ _t104 = cpu->r[11] + 0x00000002u;
|
|
/* 028632AC */ cpu->r[8] = rbrew_read8(cpu->mem, _t104);
|
|
/* 028632B0 */ _t105 = cpu->r[11] + 0x00000003u;
|
|
/* 028632B0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t105);
|
|
/* 028632B4 */ _t106 = cpu->r[11] + 0x00000000u;
|
|
/* 028632B4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t106);
|
|
/* 028632B8 */ _t107 = cpu->r[11] + 0x00000001u;
|
|
/* 028632B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t107);
|
|
/* 028632BC */ _t108 = cpu->r[1] + 0x00000008u;
|
|
/* 028632BC */ rbrew_write8(cpu->mem, _t108, (uint8_t)cpu->r[10]);
|
|
/* 028632C0 */ _t109 = cpu->r[1] + 0x0000000Au;
|
|
/* 028632C0 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[8]);
|
|
/* 028632C4 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 028632C8 */ _t110 = cpu->r[1] + 0x00000009u;
|
|
/* 028632C8 */ rbrew_write8(cpu->mem, _t110, (uint8_t)cpu->r[0]);
|
|
/* 028632CC */ cpu->r[9] = cpu->r[25] + cpu->r[5];
|
|
/* 028632D0 */ _t111 = cpu->r[1] + 0x0000000Bu;
|
|
/* 028632D0 */ rbrew_write8(cpu->mem, _t111, (uint8_t)cpu->r[7]);
|
|
/* 028632D4 */ /* nop */
|
|
/* 028632D8 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 028632DC */ /* nop */
|
|
/* 028632E0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028632E0 */ _t112 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028632E0 */ _t113 = _t112 >> (0x00000002u & 31u);
|
|
/* 028632E0 */ _t114 = _t113 & 0x00000001u;
|
|
/* 028632E0 */ if (_t114) goto L_028632A8; else goto L_028632E4;
|
|
L_028632E4: ; // 0x28632e4
|
|
/* 028632E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 028632E8 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028632E8 */ _t116 = _t115 & 0x00000001u;
|
|
/* 028632E8 */ if (_t116) goto L_02863308; else goto L_028632EC;
|
|
L_028632EC: ; // 0x28632ec
|
|
/* 028632EC */ _t117 = cpu->r[25] + 0x00000010u;
|
|
/* 028632EC */ cpu->r[12] = rbrew_read8(cpu->mem, _t117);
|
|
/* 028632F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028632F4 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028632F4 */ _t119 = _t118 & 0x00000001u;
|
|
/* 028632F4 */ if (_t119) goto L_02863308; else goto L_028632F8;
|
|
L_028632F8: ; // 0x28632f8
|
|
/* 028632F8 */ cpu->r[5] = cpu->r[23];
|
|
/* 028632FC */ cpu->r[4] = cpu->r[24] + 0x00000014u;
|
|
/* 02863300 */ cpu->r[3] = cpu->r[25] + 0x00000010u;
|
|
/* 02863304 */ Gambit_fn_0286B9A4(cpu);
|
|
L_02863308: ; // 0x2863308
|
|
/* 02863308 */ _t120 = cpu->r[28] + 0x00000068u;
|
|
/* 02863308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0286330C */ _t121 = cpu->r[30] + 0x00000020u;
|
|
/* 0286330C */ cpu->r[3] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02863310 */ cpu->r[5] = cpu->r[28] + cpu->r[0];
|
|
/* 02863314 */ _t122 = cpu->r[5] + 0x00000010u;
|
|
/* 02863314 */ cpu->r[4] = rbrew_read16(cpu->mem, _t122);
|
|
/* 02863318 */ Gambit_fn_0286BA10(cpu);
|
|
/* 0286331C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02863320 */ cpu->r[25] = 0x00000000u;
|
|
/* 02863324 */ cpu->r[24] = cpu->r[3];
|
|
/* 02863328 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863328 */ _t124 = _t123 & 0x00000001u;
|
|
/* 02863328 */ if (_t124) goto L_02863344; else goto L_0286332C;
|
|
L_0286332C: ; // 0x286332c
|
|
/* 0286332C */ _t125 = cpu->r[29] + 0x00000068u;
|
|
/* 0286332C */ cpu->r[4] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02863330 */ _t126 = cpu->r[30] + 0x00000024u;
|
|
/* 02863330 */ cpu->r[3] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02863334 */ cpu->r[9] = cpu->r[29] + cpu->r[4];
|
|
/* 02863338 */ _t127 = cpu->r[9] + 0x00000010u;
|
|
/* 02863338 */ cpu->r[4] = rbrew_read16(cpu->mem, _t127);
|
|
/* 0286333C */ Gambit_fn_0286BA10(cpu);
|
|
/* 02863340 */ cpu->r[25] = cpu->r[3];
|
|
L_02863344: ; // 0x2863344
|
|
/* 02863344 */ cpu->r[3] = 0x00000020u;
|
|
/* 02863348 */ cpu->r[4] = 0x00000004u;
|
|
/* 0286334C */ Gambit_fn_02869E8C(cpu);
|
|
/* 02863350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02863354 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863354 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02863354 */ if (_t129) goto L_0286338C; else goto L_02863358;
|
|
L_02863358: ; // 0x2863358
|
|
/* 02863358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0286335C */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286335C */ _t131 = _t130 & 0x00000001u;
|
|
/* 0286335C */ if (_t131) goto L_0286338C; else goto L_02863360;
|
|
L_02863360: ; // 0x2863360
|
|
/* 02863360 */ cpu->r[6] = cpu->r[30];
|
|
/* 02863364 */ cpu->r[5] = cpu->r[25];
|
|
/* 02863368 */ cpu->r[4] = cpu->r[24];
|
|
/* 0286336C */ Gambit_fn_0286C334(cpu);
|
|
/* 02863370 */ _t132 = cpu->r[31] + 0x000000D4u;
|
|
/* 02863370 */ rbrew_write32(cpu->mem, _t132, cpu->r[3]);
|
|
/* 02863374 */ _t133 = cpu->r[31] + 0x000000D0u;
|
|
/* 02863374 */ rbrew_write32(cpu->mem, _t133, cpu->r[26]);
|
|
/* 02863378 */ _t134 = cpu->r[31] + 0x000000CDu;
|
|
/* 02863378 */ rbrew_write8(cpu->mem, _t134, (uint8_t)cpu->r[26]);
|
|
/* 0286337C */ _t135 = cpu->r[27] + 0x00000064u;
|
|
/* 0286337C */ cpu->r[4] = rbrew_read8(cpu->mem, _t135);
|
|
/* 02863380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02863384 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863384 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02863384 */ if (_t137) goto L_028634B0; else goto L_02863388;
|
|
L_02863388: ; // 0x2863388
|
|
/* 02863388 */ goto L_028633A8;
|
|
L_0286338C: ; // 0x286338c
|
|
/* 0286338C */ cpu->r[3] = 0x00000000u;
|
|
/* 02863390 */ _t138 = cpu->r[31] + 0x000000CDu;
|
|
/* 02863390 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[26]);
|
|
/* 02863394 */ _t139 = cpu->r[31] + 0x000000D4u;
|
|
/* 02863394 */ rbrew_write32(cpu->mem, _t139, cpu->r[3]);
|
|
/* 02863398 */ _t140 = cpu->r[31] + 0x000000D0u;
|
|
/* 02863398 */ rbrew_write32(cpu->mem, _t140, cpu->r[26]);
|
|
/* 0286339C */ _t141 = cpu->r[27] + 0x00000064u;
|
|
/* 0286339C */ cpu->r[4] = rbrew_read8(cpu->mem, _t141);
|
|
/* 028633A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 028633A4 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028633A4 */ _t143 = _t142 & 0x00000001u;
|
|
/* 028633A4 */ if (_t143) goto L_028634B0; else goto L_028633A8;
|
|
L_028633A8: ; // 0x28633a8
|
|
/* 028633A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028633AC */ Gambit_fn_02862F5C(cpu);
|
|
/* 028633B0 */ _t144 = cpu->r[27] + 0x0000006Cu;
|
|
/* 028633B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t144);
|
|
/* 028633B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028633B8 */ _t145 = cpu->r[28] + 0x0000006Cu;
|
|
/* 028633B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t145);
|
|
/* 028633BC */ cpu->r[23] = 0x00000000u;
|
|
/* 028633C0 */ cpu->r[21] = cpu->r[27] + cpu->r[5];
|
|
/* 028633C4 */ _t146 = cpu->r[31] + 0x000000CDu;
|
|
/* 028633C4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t146);
|
|
/* 028633C8 */ cpu->r[22] = cpu->r[28] + cpu->r[6];
|
|
/* 028633CC */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028633CC */ _t148 = _t147 & 0x00000001u;
|
|
/* 028633CC */ if (_t148) goto L_028633D8; else goto L_028633D0;
|
|
L_028633D0: ; // 0x28633d0
|
|
/* 028633D0 */ _t149 = cpu->r[29] + 0x0000006Cu;
|
|
/* 028633D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t149);
|
|
/* 028633D4 */ cpu->r[23] = cpu->r[29] + cpu->r[7];
|
|
L_028633D8: ; // 0x28633d8
|
|
/* 028633D8 */ cpu->r[24] = 0x00000000u;
|
|
/* 028633DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[8]);
|
|
/* 028633E0 */ _t150 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028633E0 */ _t151 = _t150 & 0x00000001u;
|
|
/* 028633E0 */ if (_t151) goto L_028633E4; else goto L_028634B0;
|
|
L_028633E4: ; // 0x28633e4
|
|
/* 028633E4 */ cpu->r[25] = 0x00000000u;
|
|
/* 028633E8 */ cpu->r[26] = cpu->r[25];
|
|
L_028633EC: ; // 0x28633ec
|
|
/* 028633EC */ _t152 = cpu->r[21] + cpu->r[25];
|
|
/* 028633EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t152);
|
|
/* 028633F0 */ _t153 = cpu->r[31] + 0x000000D0u;
|
|
/* 028633F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t153);
|
|
/* 028633F4 */ cpu->r[7] = cpu->r[27] + cpu->r[9];
|
|
/* 028633F8 */ _t154 = cpu->r[7] + 0x00000002u;
|
|
/* 028633F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t154);
|
|
/* 028633FC */ _t155 = cpu->r[10] + cpu->r[26];
|
|
/* 028633FC */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[0]);
|
|
/* 02863400 */ _t156 = cpu->r[22] + cpu->r[25];
|
|
/* 02863400 */ cpu->r[12] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02863404 */ _t157 = cpu->r[30] + 0x00000020u;
|
|
/* 02863404 */ cpu->r[3] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02863408 */ _t158 = cpu->r[28] + cpu->r[12];
|
|
/* 02863408 */ cpu->r[4] = rbrew_read16(cpu->mem, _t158);
|
|
/* 0286340C */ Gambit_fn_0286BA10(cpu);
|
|
/* 02863410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02863414 */ cpu->r[20] = 0x00000000u;
|
|
/* 02863418 */ cpu->r[19] = cpu->r[3];
|
|
/* 0286341C */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286341C */ _t160 = _t159 & 0x00000001u;
|
|
/* 0286341C */ if (_t160) goto L_02863434; else goto L_02863420;
|
|
L_02863420: ; // 0x2863420
|
|
/* 02863420 */ _t161 = cpu->r[23] + cpu->r[25];
|
|
/* 02863420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02863424 */ _t162 = cpu->r[30] + 0x00000024u;
|
|
/* 02863424 */ cpu->r[3] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02863428 */ _t163 = cpu->r[29] + cpu->r[0];
|
|
/* 02863428 */ cpu->r[4] = rbrew_read16(cpu->mem, _t163);
|
|
/* 0286342C */ Gambit_fn_0286BA10(cpu);
|
|
/* 02863430 */ cpu->r[20] = cpu->r[3];
|
|
L_02863434: ; // 0x2863434
|
|
/* 02863434 */ cpu->r[3] = 0x00000020u;
|
|
/* 02863438 */ cpu->r[4] = 0x00000004u;
|
|
/* 0286343C */ Gambit_fn_02869E8C(cpu);
|
|
/* 02863440 */ cpu->r[11] = cpu->r[3];
|
|
/* 02863440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02863444 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863444 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02863444 */ if (_t165) goto L_02863488; else goto L_02863448;
|
|
L_02863448: ; // 0x2863448
|
|
/* 02863448 */ cpu->r[3] = cpu->r[11];
|
|
/* 02863448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0286344C */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286344C */ _t167 = _t166 & 0x00000001u;
|
|
/* 0286344C */ if (_t167) goto L_02863488; else goto L_02863450;
|
|
L_02863450: ; // 0x2863450
|
|
/* 02863450 */ cpu->r[4] = cpu->r[19];
|
|
/* 02863454 */ cpu->r[5] = cpu->r[20];
|
|
/* 02863458 */ cpu->r[6] = cpu->r[30];
|
|
/* 0286345C */ Gambit_fn_0286C334(cpu);
|
|
/* 02863460 */ _t168 = cpu->r[31] + 0x000000D0u;
|
|
/* 02863460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02863464 */ cpu->r[4] = cpu->r[5] + cpu->r[26];
|
|
/* 02863468 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 0286346C */ _t169 = cpu->r[4] + 0x00000004u;
|
|
/* 0286346C */ rbrew_write32(cpu->mem, _t169, cpu->r[3]);
|
|
/* 02863470 */ _t170 = cpu->r[31] + 0x000000CDu;
|
|
/* 02863470 */ cpu->r[0] = rbrew_read8(cpu->mem, _t170);
|
|
/* 02863474 */ cpu->r[25] = cpu->r[25] + 0x00000004u;
|
|
/* 02863478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]);
|
|
/* 0286347C */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 02863480 */ _t171 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02863480 */ _t172 = _t171 & 0x00000001u;
|
|
/* 02863480 */ if (_t172) goto L_028633EC; else goto L_02863484;
|
|
L_02863484: ; // 0x2863484
|
|
/* 02863484 */ goto L_028634B0;
|
|
L_02863488: ; // 0x2863488
|
|
/* 02863488 */ _t173 = cpu->r[31] + 0x000000D0u;
|
|
/* 02863488 */ cpu->r[5] = rbrew_read32(cpu->mem, _t173);
|
|
/* 0286348C */ cpu->r[0] = 0x00000000u;
|
|
/* 02863490 */ cpu->r[4] = cpu->r[5] + cpu->r[26];
|
|
/* 02863494 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02863498 */ _t174 = cpu->r[4] + 0x00000004u;
|
|
/* 02863498 */ rbrew_write32(cpu->mem, _t174, cpu->r[0]);
|
|
/* 0286349C */ _t175 = cpu->r[31] + 0x000000CDu;
|
|
/* 0286349C */ cpu->r[0] = rbrew_read8(cpu->mem, _t175);
|
|
/* 028634A0 */ cpu->r[25] = cpu->r[25] + 0x00000004u;
|
|
/* 028634A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]);
|
|
/* 028634A8 */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 028634AC */ _t176 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028634AC */ _t177 = _t176 & 0x00000001u;
|
|
/* 028634AC */ if (_t177) goto L_028633EC; else goto L_028634B0;
|
|
L_028634B0: ; // 0x28634b0
|
|
/* 028634B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028634B4 */ /* nop */
|
|
/* 028634B8 */ _t178 = cpu->r[1] + 0x00000054u;
|
|
/* 028634B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t178);
|
|
/* 028634BC */ cpu->lr = cpu->r[0];
|
|
/* 028634C0 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 028634C4 */ return;
|
|
}
|
|
|
|
// fn_0286301C @ 0x286301c
|
|
void Gambit_fn_0286301C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178;
|
|
|
|
L_0286301C: ; // 0x286301c
|
|
/* 0286301C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0286301C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0286301C */ cpu->r[1] = _t0;
|
|
/* 02863020 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02863020 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02863024 */ /* nop */
|
|
/* 02863028 */ cpu->r[31] = cpu->r[3];
|
|
/* 02863028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0286302C */ cpu->r[28] = cpu->r[4];
|
|
/* 02863030 */ cpu->r[29] = cpu->r[5];
|
|
/* 02863034 */ cpu->r[30] = cpu->r[6];
|
|
/* 02863038 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863038 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02863038 */ if (_t3) goto L_0286303C; else goto L_0286304C;
|
|
L_0286303C: ; // 0x286303c
|
|
/* 0286303C */ cpu->r[3] = 0x000000D8u;
|
|
/* 02863040 */ Gambit_fn_02801A78(cpu);
|
|
/* 02863044 */ cpu->r[31] = cpu->r[3];
|
|
/* 02863044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02863048 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863048 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02863048 */ if (_t5) goto L_028634B0; else goto L_0286304C;
|
|
L_0286304C: ; // 0x286304c
|
|
/* 0286304C */ cpu->r[3] = cpu->r[31];
|
|
/* 02863050 */ cpu->r[4] = cpu->r[28];
|
|
/* 02863054 */ cpu->r[5] = cpu->r[30];
|
|
/* 02863058 */ Gambit_fn_0285F268(cpu);
|
|
/* 0286305C */ cpu->r[12] = 0x10130000u;
|
|
/* 02863060 */ cpu->r[4] = 0x00000004u;
|
|
/* 02863064 */ cpu->r[25] = cpu->r[31] + 0x000000B4u;
|
|
/* 02863068 */ cpu->r[12] = cpu->r[12] + 0x00005354u;
|
|
/* 0286306C */ cpu->r[6] = 0x02860000u;
|
|
/* 02863070 */ cpu->r[3] = cpu->r[25];
|
|
/* 02863074 */ cpu->r[5] = cpu->r[4];
|
|
/* 02863078 */ cpu->r[6] = cpu->r[6] + 0x000075BCu;
|
|
/* 0286307C */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 0286307C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02863080 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02863084 */ cpu->r[3] = cpu->r[25] + 0x00000010u;
|
|
/* 02863088 */ Gambit_fn_0286B768(cpu);
|
|
/* 0286308C */ cpu->r[26] = 0x00000000u;
|
|
/* 02863090 */ _t7 = cpu->r[31] + 0x000000CCu;
|
|
/* 02863090 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[26]);
|
|
/* 02863094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02863098 */ _t8 = cpu->r[31] + 0x000000CEu;
|
|
/* 02863098 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[26]);
|
|
/* 0286309C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286309C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0286309C */ if (_t10) goto L_028630CC; else goto L_028630A0;
|
|
L_028630A0: ; // 0x28630a0
|
|
/* 028630A0 */ _t11 = cpu->r[30] + 0x0000002Cu;
|
|
/* 028630A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t11);
|
|
/* 028630A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028630A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028630A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028630A8 */ if (_t13) goto L_028630AC; else goto L_028630CC;
|
|
L_028630AC: ; // 0x28630ac
|
|
/* 028630AC */ cpu->r[27] = cpu->r[29];
|
|
/* 028630B0 */ _t14 = cpu->r[27] + 0x00000065u;
|
|
/* 028630B0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t14);
|
|
/* 028630B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 028630B8 */ _t15 = cpu->r[31] + 0x000000CCu;
|
|
/* 028630B8 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[0]);
|
|
/* 028630BC */ _t16 = cpu->r[27] + 0x00000065u;
|
|
/* 028630BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t16);
|
|
/* 028630C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 028630C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028630C4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028630C4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028630C4 */ if (_t18) goto L_028630F8; else goto L_028630C8;
|
|
L_028630C8: ; // 0x28630c8
|
|
/* 028630C8 */ goto L_028630E8;
|
|
L_028630CC: ; // 0x28630cc
|
|
/* 028630CC */ cpu->r[27] = cpu->r[28];
|
|
/* 028630D0 */ _t19 = cpu->r[27] + 0x00000065u;
|
|
/* 028630D0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t19);
|
|
/* 028630D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x0000001Eu, 0x0000001Eu, 0x0000001Fu);
|
|
/* 028630D8 */ _t20 = cpu->r[31] + 0x000000CCu;
|
|
/* 028630D8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[0]);
|
|
/* 028630DC */ _t21 = cpu->r[27] + 0x00000065u;
|
|
/* 028630DC */ cpu->r[11] = rbrew_read8(cpu->mem, _t21);
|
|
/* 028630E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 028630E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028630E4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028630E4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028630E4 */ if (_t23) goto L_028630F8; else goto L_028630E8;
|
|
L_028630E8: ; // 0x28630e8
|
|
/* 028630E8 */ _t24 = cpu->r[31] + 0x000000CEu;
|
|
/* 028630E8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t24);
|
|
/* 028630EC */ cpu->r[8] = cpu->r[8] | 0x00000001u;
|
|
/* 028630F0 */ _t25 = cpu->r[31] + 0x000000CEu;
|
|
/* 028630F0 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[8]);
|
|
/* 028630F4 */ _t26 = cpu->r[27] + 0x00000065u;
|
|
/* 028630F4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t26);
|
|
L_028630F8: ; // 0x28630f8
|
|
/* 028630F8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028630F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 028630FC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028630FC */ _t28 = _t27 & 0x00000001u;
|
|
/* 028630FC */ if (_t28) goto L_02863110; else goto L_02863100;
|
|
L_02863100: ; // 0x2863100
|
|
/* 02863100 */ _t29 = cpu->r[31] + 0x000000CEu;
|
|
/* 02863100 */ cpu->r[12] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02863104 */ cpu->r[12] = cpu->r[12] | 0x00000002u;
|
|
/* 02863108 */ _t30 = cpu->r[31] + 0x000000CEu;
|
|
/* 02863108 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[12]);
|
|
/* 0286310C */ _t31 = cpu->r[27] + 0x00000065u;
|
|
/* 0286310C */ cpu->r[11] = rbrew_read8(cpu->mem, _t31);
|
|
L_02863110: ; // 0x2863110
|
|
/* 02863110 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02863110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02863114 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863114 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02863114 */ if (_t33) goto L_02863124; else goto L_02863118;
|
|
L_02863118: ; // 0x2863118
|
|
/* 02863118 */ _t34 = cpu->r[31] + 0x000000CEu;
|
|
/* 02863118 */ cpu->r[4] = rbrew_read8(cpu->mem, _t34);
|
|
/* 0286311C */ cpu->r[4] = cpu->r[4] | 0x00000004u;
|
|
/* 02863120 */ _t35 = cpu->r[31] + 0x000000CEu;
|
|
/* 02863120 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[4]);
|
|
L_02863124: ; // 0x2863124
|
|
/* 02863124 */ _t36 = cpu->r[27] + 0x00000068u;
|
|
/* 02863124 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02863128 */ cpu->r[24] = cpu->r[27] + cpu->r[5];
|
|
/* 0286312C */ _t37 = cpu->r[24] + 0x00000012u;
|
|
/* 0286312C */ cpu->r[0] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02863130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02863134 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02863134 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02863134 */ if (_t39) goto L_02863138; else goto L_0286313C;
|
|
L_02863138: ; // 0x2863138
|
|
/* 02863138 */ cpu->r[0] = 0x00000003u;
|
|
L_0286313C: ; // 0x286313c
|
|
/* 0286313C */ cpu->r[23] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02863140 */ cpu->r[3] = cpu->r[31];
|
|
/* 02863144 */ cpu->r[4] = cpu->r[23];
|
|
/* 02863148 */ Gambit_fn_02862F4C(cpu);
|
|
/* 0286314C */ _t40 = cpu->r[27] + 0x00000054u;
|
|
/* 0286314C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t40);
|
|
/* 02863150 */ _t41 = cpu->r[31] + 0x000000A4u;
|
|
/* 02863150 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[0]);
|
|
/* 02863154 */ _t42 = cpu->r[27] + 0x00000056u;
|
|
/* 02863154 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t42);
|
|
/* 02863158 */ _t43 = cpu->r[31] + 0x000000A6u;
|
|
/* 02863158 */ rbrew_write16(cpu->mem, _t43, (uint16_t)cpu->r[9]);
|
|
/* 0286315C */ _t44 = cpu->r[27] + 0x00000058u;
|
|
/* 0286315C */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t44);
|
|
/* 02863160 */ _t45 = cpu->r[31] + 0x000000A8u;
|
|
/* 02863160 */ rbrew_write16(cpu->mem, _t45, (uint16_t)cpu->r[11]);
|
|
/* 02863164 */ _t46 = cpu->r[27] + 0x0000005Au;
|
|
/* 02863164 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t46);
|
|
/* 02863168 */ /* nop */
|
|
/* 0286316C */ _t47 = cpu->r[31] + 0x000000AAu;
|
|
/* 0286316C */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[4]);
|
|
/* 02863170 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863170 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02863170 */ if (_t49) goto L_02863174; else goto L_02863194;
|
|
L_02863174: ; // 0x2863174
|
|
/* 02863174 */ _t50 = cpu->r[31] + 0x000000A6u;
|
|
/* 02863174 */ cpu->r[12] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t50);
|
|
/* 02863178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0286317C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286317C */ _t52 = _t51 & 0x00000001u;
|
|
/* 0286317C */ if (_t52) goto L_02863180; else goto L_02863194;
|
|
L_02863180: ; // 0x2863180
|
|
/* 02863180 */ _t53 = cpu->r[31] + 0x000000A8u;
|
|
/* 02863180 */ cpu->r[6] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t53);
|
|
/* 02863184 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02863188 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863188 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02863188 */ if (_t55) goto L_0286318C; else goto L_02863194;
|
|
L_0286318C: ; // 0x286318c
|
|
/* 0286318C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02863190 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863190 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02863190 */ if (_t57) goto L_028631A0; else goto L_02863194;
|
|
L_02863194: ; // 0x2863194
|
|
/* 02863194 */ _t58 = cpu->r[31] + 0x000000CEu;
|
|
/* 02863194 */ cpu->r[7] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02863198 */ cpu->r[7] = cpu->r[7] | 0x00000008u;
|
|
/* 0286319C */ _t59 = cpu->r[31] + 0x000000CEu;
|
|
/* 0286319C */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[7]);
|
|
L_028631A0: ; // 0x28631a0
|
|
/* 028631A0 */ _t60 = cpu->r[31] + 0x000000CCu;
|
|
/* 028631A0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t60);
|
|
/* 028631A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000001u);
|
|
/* 028631A8 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028631A8 */ _t62 = _t61 & 0x00000001u;
|
|
/* 028631A8 */ if (_t62) goto L_028631D8; else goto L_028631AC;
|
|
L_028631AC: ; // 0x28631ac
|
|
/* 028631AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u);
|
|
/* 028631B0 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028631B0 */ _t64 = _t63 & 0x00000001u;
|
|
/* 028631B0 */ if (_t64) goto L_02863234; else goto L_028631B4;
|
|
L_028631B4: ; // 0x28631b4
|
|
/* 028631B4 */ _t65 = cpu->r[27] + 0x0000005Cu;
|
|
/* 028631B4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t65);
|
|
/* 028631B8 */ _t66 = cpu->r[31] + 0x000000ACu;
|
|
/* 028631B8 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[12]);
|
|
/* 028631BC */ _t67 = cpu->r[27] + 0x0000005Eu;
|
|
/* 028631BC */ cpu->r[0] = rbrew_read16(cpu->mem, _t67);
|
|
/* 028631C0 */ _t68 = cpu->r[31] + 0x000000AEu;
|
|
/* 028631C0 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[0]);
|
|
/* 028631C4 */ _t69 = cpu->r[27] + 0x00000060u;
|
|
/* 028631C4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t69);
|
|
/* 028631C8 */ _t70 = cpu->r[31] + 0x000000B0u;
|
|
/* 028631C8 */ rbrew_write16(cpu->mem, _t70, (uint16_t)cpu->r[4]);
|
|
/* 028631CC */ _t71 = cpu->r[27] + 0x00000062u;
|
|
/* 028631CC */ cpu->r[5] = rbrew_read16(cpu->mem, _t71);
|
|
/* 028631D0 */ _t72 = cpu->r[31] + 0x000000B2u;
|
|
/* 028631D0 */ rbrew_write16(cpu->mem, _t72, (uint16_t)cpu->r[5]);
|
|
/* 028631D4 */ goto L_0286329C;
|
|
L_028631D8: ; // 0x28631d8
|
|
/* 028631D8 */ _t73 = cpu->r[27] + 0x0000005Cu;
|
|
/* 028631D8 */ cpu->r[9] = rbrew_read16(cpu->mem, _t73);
|
|
/* 028631DC */ cpu->r[6] = 0x10130000u;
|
|
/* 028631E0 */ _t74 = cpu->r[31] + 0x000000ACu;
|
|
/* 028631E0 */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[9]);
|
|
/* 028631E4 */ _t75 = cpu->r[27] + 0x0000005Eu;
|
|
/* 028631E4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t75);
|
|
/* 028631E8 */ _t76 = cpu->r[6] + 0x00005338u;
|
|
/* 028631E8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t76);
|
|
/* 028631EC */ _t77 = cpu->r[31] + 0x000000AEu;
|
|
/* 028631EC */ rbrew_write16(cpu->mem, _t77, (uint16_t)cpu->r[10]);
|
|
/* 028631F0 */ _t78 = cpu->r[31] + 0x000000B0u;
|
|
/* 028631F0 */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[26]);
|
|
/* 028631F4 */ cpu->r[12] = 0x43300000u;
|
|
/* 028631F8 */ _t79 = cpu->r[31] + 0x000000B2u;
|
|
/* 028631F8 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[26]);
|
|
/* 028631FC */ _t80 = cpu->r[27] + 0x00000060u;
|
|
/* 028631FC */ cpu->r[11] = rbrew_read16(cpu->mem, _t80);
|
|
/* 02863200 */ _t81 = cpu->r[1] + 0x00000010u;
|
|
/* 02863200 */ rbrew_write32(cpu->mem, _t81, cpu->r[12]);
|
|
/* 02863204 */ _t82 = cpu->r[1] + 0x00000014u;
|
|
/* 02863204 */ rbrew_write32(cpu->mem, _t82, cpu->r[11]);
|
|
/* 02863208 */ _t83 = cpu->r[1] + 0x00000010u;
|
|
/* 02863208 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t83);
|
|
/* 0286320C */ _t84 = cpu->r[31] + 0x00000044u;
|
|
/* 0286320C */ cpu->r[4] = rbrew_read8(cpu->mem, _t84);
|
|
/* 02863210 */ cpu->f[6] = cpu->f[11] - cpu->f[0];
|
|
/* 02863214 */ cpu->r[12] = cpu->r[4] | 0x00000010u;
|
|
/* 02863218 */ cpu->r[0] = 0x00000004u;
|
|
/* 0286321C */ cpu->f[0] = (double)(float)cpu->f[6];
|
|
/* 02863220 */ _t85 = cpu->r[31] + 0x00000044u;
|
|
/* 02863220 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[12]);
|
|
/* 02863224 */ cpu->ctr = cpu->r[0];
|
|
/* 02863228 */ cpu->r[5] = 0x00000000u;
|
|
/* 0286322C */ _t86 = cpu->r[31] + 0x00000040u;
|
|
/* 0286322C */ rbrew_write_f32(cpu->mem, _t86, cpu->f[0]);
|
|
/* 02863230 */ goto L_028632A8;
|
|
L_02863234: ; // 0x2863234
|
|
/* 02863234 */ _t87 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02863234 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t87);
|
|
/* 02863238 */ cpu->r[10] = 0x10130000u;
|
|
/* 0286323C */ _t88 = cpu->r[27] + 0x0000005Eu;
|
|
/* 0286323C */ cpu->r[6] = rbrew_read16(cpu->mem, _t88);
|
|
/* 02863240 */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[9];
|
|
/* 02863244 */ _t89 = cpu->r[10] + 0x00005338u;
|
|
/* 02863244 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t89);
|
|
/* 02863248 */ cpu->r[0] = cpu->r[1] + 0x00000010u;
|
|
/* 0286324C */ _t90 = cpu->r[31] + 0x00000044u;
|
|
/* 0286324C */ cpu->r[10] = rbrew_read8(cpu->mem, _t90);
|
|
/* 02863250 */ cpu->r[9] = 0x43300000u;
|
|
/* 02863254 */ /* nop */
|
|
/* 02863258 */ _t91 = cpu->r[1] + 0x00000012u;
|
|
/* 02863258 */ cpu->r[0] = rbrew_read16(cpu->mem, _t91);
|
|
/* 0286325C */ _t92 = cpu->r[1] + 0x00000010u;
|
|
/* 0286325C */ rbrew_write32(cpu->mem, _t92, cpu->r[9]);
|
|
/* 02863260 */ cpu->r[5] = cpu->r[0] - cpu->r[6];
|
|
/* 02863264 */ _t93 = cpu->r[31] + 0x000000ACu;
|
|
/* 02863264 */ rbrew_write16(cpu->mem, _t93, (uint16_t)cpu->r[5]);
|
|
/* 02863268 */ _t94 = cpu->r[27] + 0x0000005Eu;
|
|
/* 02863268 */ cpu->r[7] = rbrew_read16(cpu->mem, _t94);
|
|
/* 0286326C */ _t95 = cpu->r[31] + 0x000000AEu;
|
|
/* 0286326C */ rbrew_write16(cpu->mem, _t95, (uint16_t)cpu->r[7]);
|
|
/* 02863270 */ _t96 = cpu->r[31] + 0x000000B0u;
|
|
/* 02863270 */ rbrew_write16(cpu->mem, _t96, (uint16_t)cpu->r[26]);
|
|
/* 02863274 */ _t97 = cpu->r[31] + 0x000000B2u;
|
|
/* 02863274 */ rbrew_write16(cpu->mem, _t97, (uint16_t)cpu->r[26]);
|
|
/* 02863278 */ _t98 = cpu->r[27] + 0x00000060u;
|
|
/* 02863278 */ cpu->r[8] = rbrew_read16(cpu->mem, _t98);
|
|
/* 0286327C */ _t99 = cpu->r[1] + 0x00000014u;
|
|
/* 0286327C */ rbrew_write32(cpu->mem, _t99, cpu->r[8]);
|
|
/* 02863280 */ _t100 = cpu->r[1] + 0x00000010u;
|
|
/* 02863280 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t100);
|
|
/* 02863284 */ cpu->r[11] = cpu->r[10] | 0x00000010u;
|
|
/* 02863288 */ cpu->f[8] = cpu->f[7] - cpu->f[13];
|
|
/* 0286328C */ _t101 = cpu->r[31] + 0x00000044u;
|
|
/* 0286328C */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[11]);
|
|
/* 02863290 */ cpu->f[10] = (double)(float)cpu->f[8];
|
|
/* 02863294 */ _t102 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02863294 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[9]);
|
|
/* 02863298 */ _t103 = cpu->r[31] + 0x00000040u;
|
|
/* 02863298 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[10]);
|
|
L_0286329C: ; // 0x286329c
|
|
/* 0286329C */ cpu->r[0] = 0x00000004u;
|
|
/* 028632A0 */ cpu->ctr = cpu->r[0];
|
|
/* 028632A4 */ cpu->r[5] = 0x00000000u;
|
|
L_028632A8: ; // 0x28632a8
|
|
/* 028632A8 */ cpu->r[11] = cpu->r[24] + cpu->r[5];
|
|
/* 028632AC */ _t104 = cpu->r[11] + 0x00000002u;
|
|
/* 028632AC */ cpu->r[8] = rbrew_read8(cpu->mem, _t104);
|
|
/* 028632B0 */ _t105 = cpu->r[11] + 0x00000003u;
|
|
/* 028632B0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t105);
|
|
/* 028632B4 */ _t106 = cpu->r[11] + 0x00000000u;
|
|
/* 028632B4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t106);
|
|
/* 028632B8 */ _t107 = cpu->r[11] + 0x00000001u;
|
|
/* 028632B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t107);
|
|
/* 028632BC */ _t108 = cpu->r[1] + 0x00000008u;
|
|
/* 028632BC */ rbrew_write8(cpu->mem, _t108, (uint8_t)cpu->r[10]);
|
|
/* 028632C0 */ _t109 = cpu->r[1] + 0x0000000Au;
|
|
/* 028632C0 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[8]);
|
|
/* 028632C4 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 028632C8 */ _t110 = cpu->r[1] + 0x00000009u;
|
|
/* 028632C8 */ rbrew_write8(cpu->mem, _t110, (uint8_t)cpu->r[0]);
|
|
/* 028632CC */ cpu->r[9] = cpu->r[25] + cpu->r[5];
|
|
/* 028632D0 */ _t111 = cpu->r[1] + 0x0000000Bu;
|
|
/* 028632D0 */ rbrew_write8(cpu->mem, _t111, (uint8_t)cpu->r[7]);
|
|
/* 028632D4 */ /* nop */
|
|
/* 028632D8 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 028632DC */ /* nop */
|
|
/* 028632E0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028632E0 */ _t112 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028632E0 */ _t113 = _t112 >> (0x00000002u & 31u);
|
|
/* 028632E0 */ _t114 = _t113 & 0x00000001u;
|
|
/* 028632E0 */ if (_t114) goto L_028632A8; else goto L_028632E4;
|
|
L_028632E4: ; // 0x28632e4
|
|
/* 028632E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 028632E8 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028632E8 */ _t116 = _t115 & 0x00000001u;
|
|
/* 028632E8 */ if (_t116) goto L_02863308; else goto L_028632EC;
|
|
L_028632EC: ; // 0x28632ec
|
|
/* 028632EC */ _t117 = cpu->r[25] + 0x00000010u;
|
|
/* 028632EC */ cpu->r[12] = rbrew_read8(cpu->mem, _t117);
|
|
/* 028632F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028632F4 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028632F4 */ _t119 = _t118 & 0x00000001u;
|
|
/* 028632F4 */ if (_t119) goto L_02863308; else goto L_028632F8;
|
|
L_028632F8: ; // 0x28632f8
|
|
/* 028632F8 */ cpu->r[5] = cpu->r[23];
|
|
/* 028632FC */ cpu->r[4] = cpu->r[24] + 0x00000014u;
|
|
/* 02863300 */ cpu->r[3] = cpu->r[25] + 0x00000010u;
|
|
/* 02863304 */ Gambit_fn_0286B9A4(cpu);
|
|
L_02863308: ; // 0x2863308
|
|
/* 02863308 */ _t120 = cpu->r[28] + 0x00000068u;
|
|
/* 02863308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0286330C */ _t121 = cpu->r[30] + 0x00000020u;
|
|
/* 0286330C */ cpu->r[3] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02863310 */ cpu->r[5] = cpu->r[28] + cpu->r[0];
|
|
/* 02863314 */ _t122 = cpu->r[5] + 0x00000010u;
|
|
/* 02863314 */ cpu->r[4] = rbrew_read16(cpu->mem, _t122);
|
|
/* 02863318 */ Gambit_fn_0286BA10(cpu);
|
|
/* 0286331C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02863320 */ cpu->r[25] = 0x00000000u;
|
|
/* 02863324 */ cpu->r[24] = cpu->r[3];
|
|
/* 02863328 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863328 */ _t124 = _t123 & 0x00000001u;
|
|
/* 02863328 */ if (_t124) goto L_02863344; else goto L_0286332C;
|
|
L_0286332C: ; // 0x286332c
|
|
/* 0286332C */ _t125 = cpu->r[29] + 0x00000068u;
|
|
/* 0286332C */ cpu->r[4] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02863330 */ _t126 = cpu->r[30] + 0x00000024u;
|
|
/* 02863330 */ cpu->r[3] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02863334 */ cpu->r[9] = cpu->r[29] + cpu->r[4];
|
|
/* 02863338 */ _t127 = cpu->r[9] + 0x00000010u;
|
|
/* 02863338 */ cpu->r[4] = rbrew_read16(cpu->mem, _t127);
|
|
/* 0286333C */ Gambit_fn_0286BA10(cpu);
|
|
/* 02863340 */ cpu->r[25] = cpu->r[3];
|
|
L_02863344: ; // 0x2863344
|
|
/* 02863344 */ cpu->r[3] = 0x00000020u;
|
|
/* 02863348 */ cpu->r[4] = 0x00000004u;
|
|
/* 0286334C */ Gambit_fn_02869E8C(cpu);
|
|
/* 02863350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02863354 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863354 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02863354 */ if (_t129) goto L_0286338C; else goto L_02863358;
|
|
L_02863358: ; // 0x2863358
|
|
/* 02863358 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0286335C */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286335C */ _t131 = _t130 & 0x00000001u;
|
|
/* 0286335C */ if (_t131) goto L_0286338C; else goto L_02863360;
|
|
L_02863360: ; // 0x2863360
|
|
/* 02863360 */ cpu->r[6] = cpu->r[30];
|
|
/* 02863364 */ cpu->r[5] = cpu->r[25];
|
|
/* 02863368 */ cpu->r[4] = cpu->r[24];
|
|
/* 0286336C */ Gambit_fn_0286C334(cpu);
|
|
/* 02863370 */ _t132 = cpu->r[31] + 0x000000D4u;
|
|
/* 02863370 */ rbrew_write32(cpu->mem, _t132, cpu->r[3]);
|
|
/* 02863374 */ _t133 = cpu->r[31] + 0x000000D0u;
|
|
/* 02863374 */ rbrew_write32(cpu->mem, _t133, cpu->r[26]);
|
|
/* 02863378 */ _t134 = cpu->r[31] + 0x000000CDu;
|
|
/* 02863378 */ rbrew_write8(cpu->mem, _t134, (uint8_t)cpu->r[26]);
|
|
/* 0286337C */ _t135 = cpu->r[27] + 0x00000064u;
|
|
/* 0286337C */ cpu->r[4] = rbrew_read8(cpu->mem, _t135);
|
|
/* 02863380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02863384 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863384 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02863384 */ if (_t137) goto L_028634B0; else goto L_02863388;
|
|
L_02863388: ; // 0x2863388
|
|
/* 02863388 */ goto L_028633A8;
|
|
L_0286338C: ; // 0x286338c
|
|
/* 0286338C */ cpu->r[3] = 0x00000000u;
|
|
/* 02863390 */ _t138 = cpu->r[31] + 0x000000CDu;
|
|
/* 02863390 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[26]);
|
|
/* 02863394 */ _t139 = cpu->r[31] + 0x000000D4u;
|
|
/* 02863394 */ rbrew_write32(cpu->mem, _t139, cpu->r[3]);
|
|
/* 02863398 */ _t140 = cpu->r[31] + 0x000000D0u;
|
|
/* 02863398 */ rbrew_write32(cpu->mem, _t140, cpu->r[26]);
|
|
/* 0286339C */ _t141 = cpu->r[27] + 0x00000064u;
|
|
/* 0286339C */ cpu->r[4] = rbrew_read8(cpu->mem, _t141);
|
|
/* 028633A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 028633A4 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028633A4 */ _t143 = _t142 & 0x00000001u;
|
|
/* 028633A4 */ if (_t143) goto L_028634B0; else goto L_028633A8;
|
|
L_028633A8: ; // 0x28633a8
|
|
/* 028633A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028633AC */ Gambit_fn_02862F5C(cpu);
|
|
/* 028633B0 */ _t144 = cpu->r[27] + 0x0000006Cu;
|
|
/* 028633B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t144);
|
|
/* 028633B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028633B8 */ _t145 = cpu->r[28] + 0x0000006Cu;
|
|
/* 028633B8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t145);
|
|
/* 028633BC */ cpu->r[23] = 0x00000000u;
|
|
/* 028633C0 */ cpu->r[21] = cpu->r[27] + cpu->r[5];
|
|
/* 028633C4 */ _t146 = cpu->r[31] + 0x000000CDu;
|
|
/* 028633C4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t146);
|
|
/* 028633C8 */ cpu->r[22] = cpu->r[28] + cpu->r[6];
|
|
/* 028633CC */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028633CC */ _t148 = _t147 & 0x00000001u;
|
|
/* 028633CC */ if (_t148) goto L_028633D8; else goto L_028633D0;
|
|
L_028633D0: ; // 0x28633d0
|
|
/* 028633D0 */ _t149 = cpu->r[29] + 0x0000006Cu;
|
|
/* 028633D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t149);
|
|
/* 028633D4 */ cpu->r[23] = cpu->r[29] + cpu->r[7];
|
|
L_028633D8: ; // 0x28633d8
|
|
/* 028633D8 */ cpu->r[24] = 0x00000000u;
|
|
/* 028633DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[8]);
|
|
/* 028633E0 */ _t150 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028633E0 */ _t151 = _t150 & 0x00000001u;
|
|
/* 028633E0 */ if (_t151) goto L_028633E4; else goto L_028634B0;
|
|
L_028633E4: ; // 0x28633e4
|
|
/* 028633E4 */ cpu->r[25] = 0x00000000u;
|
|
/* 028633E8 */ cpu->r[26] = cpu->r[25];
|
|
L_028633EC: ; // 0x28633ec
|
|
/* 028633EC */ _t152 = cpu->r[21] + cpu->r[25];
|
|
/* 028633EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t152);
|
|
/* 028633F0 */ _t153 = cpu->r[31] + 0x000000D0u;
|
|
/* 028633F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t153);
|
|
/* 028633F4 */ cpu->r[7] = cpu->r[27] + cpu->r[9];
|
|
/* 028633F8 */ _t154 = cpu->r[7] + 0x00000002u;
|
|
/* 028633F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t154);
|
|
/* 028633FC */ _t155 = cpu->r[10] + cpu->r[26];
|
|
/* 028633FC */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[0]);
|
|
/* 02863400 */ _t156 = cpu->r[22] + cpu->r[25];
|
|
/* 02863400 */ cpu->r[12] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02863404 */ _t157 = cpu->r[30] + 0x00000020u;
|
|
/* 02863404 */ cpu->r[3] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02863408 */ _t158 = cpu->r[28] + cpu->r[12];
|
|
/* 02863408 */ cpu->r[4] = rbrew_read16(cpu->mem, _t158);
|
|
/* 0286340C */ Gambit_fn_0286BA10(cpu);
|
|
/* 02863410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02863414 */ cpu->r[20] = 0x00000000u;
|
|
/* 02863418 */ cpu->r[19] = cpu->r[3];
|
|
/* 0286341C */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286341C */ _t160 = _t159 & 0x00000001u;
|
|
/* 0286341C */ if (_t160) goto L_02863434; else goto L_02863420;
|
|
L_02863420: ; // 0x2863420
|
|
/* 02863420 */ _t161 = cpu->r[23] + cpu->r[25];
|
|
/* 02863420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02863424 */ _t162 = cpu->r[30] + 0x00000024u;
|
|
/* 02863424 */ cpu->r[3] = rbrew_read32(cpu->mem, _t162);
|
|
/* 02863428 */ _t163 = cpu->r[29] + cpu->r[0];
|
|
/* 02863428 */ cpu->r[4] = rbrew_read16(cpu->mem, _t163);
|
|
/* 0286342C */ Gambit_fn_0286BA10(cpu);
|
|
/* 02863430 */ cpu->r[20] = cpu->r[3];
|
|
L_02863434: ; // 0x2863434
|
|
/* 02863434 */ cpu->r[3] = 0x00000020u;
|
|
/* 02863438 */ cpu->r[4] = 0x00000004u;
|
|
/* 0286343C */ Gambit_fn_02869E8C(cpu);
|
|
/* 02863440 */ cpu->r[11] = cpu->r[3];
|
|
/* 02863440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02863444 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863444 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02863444 */ if (_t165) goto L_02863488; else goto L_02863448;
|
|
L_02863448: ; // 0x2863448
|
|
/* 02863448 */ cpu->r[3] = cpu->r[11];
|
|
/* 02863448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0286344C */ _t166 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286344C */ _t167 = _t166 & 0x00000001u;
|
|
/* 0286344C */ if (_t167) goto L_02863488; else goto L_02863450;
|
|
L_02863450: ; // 0x2863450
|
|
/* 02863450 */ cpu->r[4] = cpu->r[19];
|
|
/* 02863454 */ cpu->r[5] = cpu->r[20];
|
|
/* 02863458 */ cpu->r[6] = cpu->r[30];
|
|
/* 0286345C */ Gambit_fn_0286C334(cpu);
|
|
/* 02863460 */ _t168 = cpu->r[31] + 0x000000D0u;
|
|
/* 02863460 */ cpu->r[5] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02863464 */ cpu->r[4] = cpu->r[5] + cpu->r[26];
|
|
/* 02863468 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 0286346C */ _t169 = cpu->r[4] + 0x00000004u;
|
|
/* 0286346C */ rbrew_write32(cpu->mem, _t169, cpu->r[3]);
|
|
/* 02863470 */ _t170 = cpu->r[31] + 0x000000CDu;
|
|
/* 02863470 */ cpu->r[0] = rbrew_read8(cpu->mem, _t170);
|
|
/* 02863474 */ cpu->r[25] = cpu->r[25] + 0x00000004u;
|
|
/* 02863478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]);
|
|
/* 0286347C */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 02863480 */ _t171 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02863480 */ _t172 = _t171 & 0x00000001u;
|
|
/* 02863480 */ if (_t172) goto L_028633EC; else goto L_02863484;
|
|
L_02863484: ; // 0x2863484
|
|
/* 02863484 */ goto L_028634B0;
|
|
L_02863488: ; // 0x2863488
|
|
/* 02863488 */ _t173 = cpu->r[31] + 0x000000D0u;
|
|
/* 02863488 */ cpu->r[5] = rbrew_read32(cpu->mem, _t173);
|
|
/* 0286348C */ cpu->r[0] = 0x00000000u;
|
|
/* 02863490 */ cpu->r[4] = cpu->r[5] + cpu->r[26];
|
|
/* 02863494 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02863498 */ _t174 = cpu->r[4] + 0x00000004u;
|
|
/* 02863498 */ rbrew_write32(cpu->mem, _t174, cpu->r[0]);
|
|
/* 0286349C */ _t175 = cpu->r[31] + 0x000000CDu;
|
|
/* 0286349C */ cpu->r[0] = rbrew_read8(cpu->mem, _t175);
|
|
/* 028634A0 */ cpu->r[25] = cpu->r[25] + 0x00000004u;
|
|
/* 028634A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]);
|
|
/* 028634A8 */ cpu->r[26] = cpu->r[26] + 0x00000008u;
|
|
/* 028634AC */ _t176 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028634AC */ _t177 = _t176 & 0x00000001u;
|
|
/* 028634AC */ if (_t177) goto L_028633EC; else goto L_028634B0;
|
|
L_028634B0: ; // 0x28634b0
|
|
/* 028634B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028634B4 */ /* nop */
|
|
/* 028634B8 */ _t178 = cpu->r[1] + 0x00000054u;
|
|
/* 028634B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t178);
|
|
/* 028634BC */ cpu->lr = cpu->r[0];
|
|
/* 028634C0 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 028634C4 */ return;
|
|
}
|
|
|
|
// fn_028634C8 @ 0x28634c8
|
|
void Gambit_fn_028634C8(CPUState* cpu) {
|
|
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_028634C8: ; // 0x28634c8
|
|
/* 028634C8 */ cpu->r[0] = cpu->lr;
|
|
/* 028634CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028634CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028634CC */ cpu->r[1] = _t0;
|
|
/* 028634D0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028634D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028634D4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028634D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028634D8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028634D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028634DC */ cpu->r[31] = cpu->r[4];
|
|
/* 028634E0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028634E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028634E4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028634E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028634E8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028634E8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028634E8 */ if (_t6) goto L_0286353C; else goto L_028634EC;
|
|
L_028634EC: ; // 0x28634ec
|
|
/* 028634EC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 028634EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028634F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028634F4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028634F4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028634F4 */ if (_t9) goto L_02863524; else goto L_028634F8;
|
|
L_028634F8: ; // 0x28634f8
|
|
/* 028634F8 */ _t10 = cpu->r[29] + 0x00000015u;
|
|
/* 028634F8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t10);
|
|
/* 028634FC */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028634FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02863500 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863500 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02863500 */ if (_t12) goto L_02863504; else goto L_02863524;
|
|
L_02863504: ; // 0x2863504
|
|
/* 02863504 */ _t13 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02863504 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02863508 */ _t14 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02863508 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0286350C */ cpu->ctr = cpu->r[11];
|
|
/* 02863510 */ cpu->r[3] = cpu->r[29];
|
|
/* 02863514 */ cpu->r[4] = 0x00000002u;
|
|
/* 02863518 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0286351C */ cpu->r[3] = cpu->r[29];
|
|
/* 02863520 */ Gambit_fn_02869EAC(cpu);
|
|
L_02863524: ; // 0x2863524
|
|
/* 02863524 */ cpu->r[12] = 0x00000000u;
|
|
/* 02863528 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02863528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0286352C */ _t15 = cpu->r[30] + 0x00000004u;
|
|
/* 0286352C */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02863530 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863530 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02863530 */ if (_t17) goto L_0286353C; else goto L_02863534;
|
|
L_02863534: ; // 0x2863534
|
|
/* 02863534 */ cpu->r[3] = cpu->r[30];
|
|
/* 02863538 */ Gambit_fn_02801BB0(cpu);
|
|
L_0286353C: ; // 0x286353c
|
|
/* 0286353C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286353C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02863540 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02863540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02863544 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02863544 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02863548 */ cpu->lr = cpu->r[0];
|
|
/* 0286354C */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0286354C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02863550 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02863554 */ return;
|
|
}
|
|
|
|
// fn_028634CC @ 0x28634cc
|
|
void Gambit_fn_028634CC(CPUState* cpu) {
|
|
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_028634CC: ; // 0x28634cc
|
|
/* 028634CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028634CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028634CC */ cpu->r[1] = _t0;
|
|
/* 028634D0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028634D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028634D4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028634D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028634D8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028634D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028634DC */ cpu->r[31] = cpu->r[4];
|
|
/* 028634E0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028634E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028634E4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028634E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028634E8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028634E8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028634E8 */ if (_t6) goto L_0286353C; else goto L_028634EC;
|
|
L_028634EC: ; // 0x28634ec
|
|
/* 028634EC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 028634EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028634F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028634F4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028634F4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028634F4 */ if (_t9) goto L_02863524; else goto L_028634F8;
|
|
L_028634F8: ; // 0x28634f8
|
|
/* 028634F8 */ _t10 = cpu->r[29] + 0x00000015u;
|
|
/* 028634F8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t10);
|
|
/* 028634FC */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028634FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02863500 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863500 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02863500 */ if (_t12) goto L_02863504; else goto L_02863524;
|
|
L_02863504: ; // 0x2863504
|
|
/* 02863504 */ _t13 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02863504 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02863508 */ _t14 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02863508 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0286350C */ cpu->ctr = cpu->r[11];
|
|
/* 02863510 */ cpu->r[3] = cpu->r[29];
|
|
/* 02863514 */ cpu->r[4] = 0x00000002u;
|
|
/* 02863518 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0286351C */ cpu->r[3] = cpu->r[29];
|
|
/* 02863520 */ Gambit_fn_02869EAC(cpu);
|
|
L_02863524: ; // 0x2863524
|
|
/* 02863524 */ cpu->r[12] = 0x00000000u;
|
|
/* 02863528 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02863528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0286352C */ _t15 = cpu->r[30] + 0x00000004u;
|
|
/* 0286352C */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02863530 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863530 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02863530 */ if (_t17) goto L_0286353C; else goto L_02863534;
|
|
L_02863534: ; // 0x2863534
|
|
/* 02863534 */ cpu->r[3] = cpu->r[30];
|
|
/* 02863538 */ Gambit_fn_02801BB0(cpu);
|
|
L_0286353C: ; // 0x286353c
|
|
/* 0286353C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0286353C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02863540 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02863540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02863544 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02863544 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02863548 */ cpu->lr = cpu->r[0];
|
|
/* 0286354C */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0286354C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02863550 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02863554 */ return;
|
|
}
|
|
|
|
// fn_02863558 @ 0x2863558
|
|
void Gambit_fn_02863558(CPUState* cpu) {
|
|
uint32_t _t0, _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_02863558: ; // 0x2863558
|
|
/* 02863558 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02863558 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02863558 */ cpu->r[1] = _t0;
|
|
/* 0286355C */ cpu->r[0] = cpu->lr;
|
|
/* 02863560 */ /* nop */
|
|
/* 02863564 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02863564 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02863568 */ cpu->r[29] = cpu->r[3];
|
|
/* 02863568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0286356C */ cpu->r[30] = cpu->r[4];
|
|
/* 02863570 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863570 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02863570 */ if (_t3) goto L_02863620; else goto L_02863574;
|
|
L_02863574: ; // 0x2863574
|
|
/* 02863574 */ cpu->r[0] = 0x10130000u;
|
|
/* 02863578 */ _t4 = cpu->r[29] + 0x000000D0u;
|
|
/* 02863578 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0286357C */ cpu->r[0] = cpu->r[0] + 0x00005354u;
|
|
/* 02863580 */ _t5 = cpu->r[29] + 0x00000008u;
|
|
/* 02863580 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02863584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02863588 */ _t6 = cpu->r[29] + 0x000000CDu;
|
|
/* 02863588 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0286358C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0286358C */ _t8 = _t7 & 0x00000001u;
|
|
/* 0286358C */ if (_t8) goto L_028635BC; else goto L_02863590;
|
|
L_02863590: ; // 0x2863590
|
|
/* 02863590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02863594 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863594 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02863594 */ if (_t10) goto L_028635B4; else goto L_02863598;
|
|
L_02863598: ; // 0x2863598
|
|
/* 02863598 */ cpu->r[28] = cpu->r[27];
|
|
L_0286359C: ; // 0x286359c
|
|
/* 0286359C */ cpu->r[3] = cpu->r[28];
|
|
/* 028635A0 */ cpu->r[4] = 0x00000002u;
|
|
/* 028635A4 */ Gambit_fn_028634C8(cpu);
|
|
/* 028635A8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 028635A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028635AC */ cpu->r[28] = cpu->r[28] + 0x00000008u;
|
|
/* 028635B0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028635B0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028635B0 */ if (_t12) goto L_028635B4; else goto L_0286359C;
|
|
L_028635B4: ; // 0x28635b4
|
|
/* 028635B4 */ cpu->r[3] = cpu->r[27];
|
|
/* 028635B8 */ Gambit_fn_02869EAC(cpu);
|
|
L_028635BC: ; // 0x28635bc
|
|
/* 028635BC */ _t13 = cpu->r[29] + 0x000000D4u;
|
|
/* 028635BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028635C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028635C4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028635C4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 028635C4 */ if (_t15) goto L_028635FC; else goto L_028635C8;
|
|
L_028635C8: ; // 0x28635c8
|
|
/* 028635C8 */ _t16 = cpu->r[31] + 0x00000015u;
|
|
/* 028635C8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t16);
|
|
/* 028635CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028635CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028635D0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028635D0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028635D0 */ if (_t18) goto L_028635D4; else goto L_028635FC;
|
|
L_028635D4: ; // 0x28635d4
|
|
/* 028635D4 */ _t19 = cpu->r[31] + 0x0000001Cu;
|
|
/* 028635D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028635D8 */ _t20 = cpu->r[9] + 0x0000000Cu;
|
|
/* 028635D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028635DC */ cpu->ctr = cpu->r[10];
|
|
/* 028635E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028635E4 */ cpu->r[4] = 0x00000002u;
|
|
/* 028635E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028635EC */ cpu->r[3] = cpu->r[31];
|
|
/* 028635F0 */ Gambit_fn_02869EAC(cpu);
|
|
/* 028635F4 */ cpu->r[0] = 0x00000000u;
|
|
/* 028635F8 */ _t21 = cpu->r[29] + 0x000000D4u;
|
|
/* 028635F8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_028635FC: ; // 0x28635fc
|
|
/* 028635FC */ cpu->r[3] = cpu->r[29] + 0x000000C4u;
|
|
/* 02863600 */ Gambit_fn_0286B7AC(cpu);
|
|
/* 02863604 */ cpu->r[3] = cpu->r[29];
|
|
/* 02863608 */ cpu->r[4] = 0x00000000u;
|
|
/* 0286360C */ Gambit_fn_0285F770(cpu);
|
|
/* 02863610 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02863610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02863614 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863614 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02863614 */ if (_t23) goto L_02863620; else goto L_02863618;
|
|
L_02863618: ; // 0x2863618
|
|
/* 02863618 */ cpu->r[3] = cpu->r[29];
|
|
/* 0286361C */ Gambit_fn_02801BB0(cpu);
|
|
L_02863620: ; // 0x2863620
|
|
/* 02863620 */ /* nop */
|
|
/* 02863624 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02863624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02863628 */ cpu->lr = cpu->r[0];
|
|
/* 0286362C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02863630 */ return;
|
|
}
|
|
|
|
// fn_02863634 @ 0x2863634
|
|
void Gambit_fn_02863634(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02863634: ; // 0x2863634
|
|
/* 02863634 */ cpu->r[12] = cpu->r[3] + 0x000000B4u;
|
|
/* 02863638 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000000u, 0x0000001Du);
|
|
/* 0286363C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02863640 */ cpu->r[11] = cpu->r[12] + cpu->r[10];
|
|
/* 02863644 */ _t0 = cpu->r[11] + cpu->r[0];
|
|
/* 02863644 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[5]);
|
|
/* 02863648 */ return;
|
|
}
|
|
|
|
// fn_0286364C @ 0x286364c
|
|
void Gambit_fn_0286364C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0286364C: ; // 0x286364c
|
|
/* 0286364C */ _t0 = cpu->r[3] + 0x000000CDu;
|
|
/* 0286364C */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02863650 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 02863654 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02863658 */ return;
|
|
}
|
|
|
|
// fn_0286365C @ 0x286365c
|
|
void Gambit_fn_0286365C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0286365C: ; // 0x286365c
|
|
/* 0286365C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02863660 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02863660 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02863660 */ if (_t1) goto L_02863664; else goto L_0286366C;
|
|
L_02863664: ; // 0x2863664
|
|
/* 02863664 */ _t2 = cpu->r[3] + 0x000000D4u;
|
|
/* 02863664 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02863668 */ return;
|
|
L_0286366C: ; // 0x286366c
|
|
/* 0286366C */ _t3 = cpu->r[3] + 0x000000CDu;
|
|
/* 0286366C */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02863670 */ cpu->r[10] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02863674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[12]);
|
|
/* 02863678 */ cpu->r[0] = 0x00000000u;
|
|
/* 0286367C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0286367C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0286367C */ if (_t5) goto L_02863680; else goto L_02863690;
|
|
L_02863680: ; // 0x2863680
|
|
/* 02863680 */ _t6 = cpu->r[3] + 0x000000D0u;
|
|
/* 02863680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02863684 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02863688 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 0286368C */ _t7 = cpu->r[11] + 0x00000004u;
|
|
/* 0286368C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
L_02863690: ; // 0x2863690
|
|
/* 02863690 */ cpu->r[3] = cpu->r[0];
|
|
/* 02863694 */ return;
|
|
}
|
|
|